A tiny JavaScript library to easily toggle the state of any HTML element in any contexts, and create UI components in no time.

Overview

Easy Toggle State

A tiny JavaScript library to easily toggle the state of any HTML element in any contexts, and create UI components in no time.

Dropdown, navigation button, tooltip, collapsible panel, lightbox, tabs, switches… UI components made in minutes without worried about JavaScript. Only set a few HTML attributes, and code the rest with your CSS skills.

See some examples in the documentation.

Status

GitHub release (latest by date) npm Cdnjs npm bundle size npm bundle size

David David

Why?

A front-end developer often has to code scripts for interface components. Components such as drop-downs, navigation buttons, tooltips, expandable panels, lightboxes, tabs, etc.

The thing is… Most of these components expose a recurrent behavior: a trigger element toggles the state of one or more target elements. So why not code this behavior once and for all?

So here is a solution: a simple script to toggle the state of a trigger element with a CSS class. You can then associate this element with one or more others: let's call them targets. By adding the right HTML attributes, it can adapt to any contexts and behave like a chosen component.

Only focus on adjusting the rest with your CSS creativity.

Quick start

Several quick start options are available:

Documentation

Easy Toggle State's full documentation is hosted on GitHub Pages at twikito.github.io/easy-toggle-state/.

Contribution

License

MIT. Copyright (c) Matthieu Bué

Comments
  • Toggling inputs

    Toggling inputs

    Describe the bug When putting data-toggle-class on a radio input or checkbox input it stops the native functionality of the input (i.e. the radio button does not visibly change). Can this be fixed so that both easy toggle state can occur and normal native input functions also work when interacting with input elements?

    There are a few non-native checkbox and radio button demos in the documentation, but I would rather use native elements with the functionality and accessibility benefits and that those have.

    e.g:

      <div class="target1 is-active">On</div>
      <div class="target2">Off</div>
    
      <fieldset>
        <label>
          <input 
            type="radio" 
            name="radios" 
            checked 
            data-toggle-class 
            data-toggle-target="[data-badge='target1']" 
            data-toggle-radio-group="radio" 
            data-toggle-is-active>
          Trigger 1
        </label>
        <label>
          <input 
            type="radio" 
            name="radios" 
            data-toggle-class
            data-toggle-target="[data-badge='target2']"
            data-toggle-radio-group="filter_type">
          Trigger 2
      </label>
      </fieldset>
    
    

    Expected behavior To toggle the above active states on the target, and also allow native radio and checkbox inputs to change visibly.

    Another plugin similar to this, https://abitgone.github.io/jQuery-Plugins/ClassToggle/ which works in this manor.

    opened by aaronstezycki 10
  • Different class on trigger and target?

    Different class on trigger and target?

    Let's say I have the below:

    <div data-toggle-class="active" data-toggle-target="#target">Trigger</div>
    <div id="target">Target</div>
    

    Then active will be added as a class to both the trigger and the target elements.

    I can use data-toggle-target-only which disable the class on the target. However, that is not what I want in this case.

    I would like one toggle class on the trigger element and another on the target.

    Is that possible?

    enhancement 
    opened by jenstornell 10
  • Unbind or destroy an instance?

    Unbind or destroy an instance?

    Is there a way to unbind/destroy and reinit an easy-toggle instance? My scenario is that I want to use easy toggle on an element on mobile, but not on desktop. I was thinking in my JS on screen resize I could destroy or reinit the instance depending on the screen size.

    enhancement 
    opened by dnwhte 9
  • JavaScript Event hooks

    JavaScript Event hooks

    Is there any way to expose before, after, on event hooks? I'm trying to avoid animating max-height and animate an explicit height that is set by JavaScript.

    enhancement question 
    opened by mdmccarley89 7
  • Form inside modal/dialog, cannot tab into?

    Form inside modal/dialog, cannot tab into?

    I have a form within a dialog popup, all tabbing working fine apart from when a form appears within the popup, is this a form issue or something i can tweak with easy-toggle?

    The form tabs fine through the input fields when not in dialog popup.

    bug help wanted 
    opened by jezthomp 6
  • Help: Toggle Class From Another Element?

    Help: Toggle Class From Another Element?

    Is it possible to toggle a class from another element, for example a slide navigation panel controlled via burger button. Once open close from another div.

    Currently i have 2 buttons, the first opens the panel, adding active class, the second appears within that panel to close it, both are below...

    Open Panel... <button type="button" class="site-header__mobile-button lines-nav main-btn " data-toggle-class data-toggle-escape data-toggle-target=" .whole-page, .navigation-panel_holder, .navigation-panel_main, body" title="Navigation">Open Menu</button>

    Once open close panel... <button type="button" class="navigation-panel_main-button main-btn " data-toggle-class data-toggle-escape data-toggle-target=" .whole-page, .navigation-panel_holder, .navigation-panel_main, body" title="Navigation">Close Menu</button>

    Both these work fine, but would it be possible to add another class, i'e an overlay outside of the panel so when you click anywhere else it toggles the above?

    So a div click toggle class the above, the i try and set this up it seems to do funny things.

    help wanted 
    opened by unijez 6
  • Data-Toggle-Trigger-Off Not Working With CSS Selectors

    Data-Toggle-Trigger-Off Not Working With CSS Selectors

    Hello! I absolutely love this library, so thanks for your work on it.

    I'm having an issue using CSS selectors with data-toggle-trigger-off. I've got a dropdown nav that uses easy toggle state, and then two levels of sub-menus that use it as well. I've made a codepen to show the problem in action: https://codepen.io/awinnett/pen/KKMbBMV?editors=1000

    • Dropdown nav
      • Level one trigger
        • Level two trigger
          • Level three trigger

    In this case, I can open the dropdown, use the level one trigger to open the submenu with the level two trigger, and use data-toggle-trigger-off to get back to the menu with the level one trigger. However, if I go down to the level three trigger, I can't go all the way back to level one, because data-toggle-trigger-off stops working at that point at level two after that for some reason.

    Thanks in advance for your help!

    help wanted 
    opened by austin-LL 5
  • Cancel a toggle event

    Cancel a toggle event

    I need to be able to cancel a toggle event. For instance, I am tracking mouse movement to determine if a user is clicking or dragging on a tab slider. In the event they are dragging. I would like to be able to cancel the toggle in the toggleBefore event hook.

    enhancement help wanted wontfix 
    opened by mdmccarley89 5
  • Allowing mutliple classes within toggle-class

    Allowing mutliple classes within toggle-class

    Sorry if I missed this, as its not currently mentioned in the docs.

    I'd like to be able to split class concerns, i.e is-active and is-animating. This allows us to use the toggle in different ways. i .e having normal behaviour on a component with is-active, and then applying is-animated to separate components that need it.

    Something like:

    <button class="c-btn" data-toggle-class="is-active, is-animated" data-toggle-target="[data-component]">Button</button>
    
    <div class="component" data-component>...</div>
    
    enhancement help wanted 
    opened by aaronstezycki 4
  • Can you target multiple elements?

    Can you target multiple elements?

    Is your feature request related to a problem? Please describe. I'd love to be able to target both the <html> and an <div> element, so that I can manipulate both nodes.

    Describe the solution you'd like When I click a trigger, I would like to add a class on the <html> element, and on the <div> element. For eg. modal--is-active class. This means I can trigger overflow hidden on the html to stop the viewport moving, whilst also activating the modal as well.

    Describe alternatives you've considered I don't think this is possible yet.

    opened by aaronstezycki 3
  • Using data-toggle-outside with a trigger containing another tag

    Using data-toggle-outside with a trigger containing another tag

    Hello! First of all, thank you for this amazing library, great job!

    I'm trying to implement a tooltip that would open after clicking a button with an img tag inside of it:

    HTML

    <button data-toggle-class-on-target="hidden" data-toggle-target=".tooltip" data-toggle-event="click" data-toggle-outside>
      <img src="https://secure.gravatar.com/avatar/37640f3902ef08c7fad7d306c912ebf0?d=identicon&s=200">
    </button>
    <span class="tooltip hidden">Awesome tooltip</span>
    

    CSS

    .hidden {
      display: none !important;
    }
    
    .tooltip {
      background-color: #00b074;
      color: white;
    }
    
    button {
      cursor: pointer;
      border: none;
      margin: 0;
      padding: 0;
      width: auto;
      overflow: visible;
      background: transparent;
      color: inherit;
      font: inherit;
      line-height: normal;
      outline: none;
    }
    
    img {
      border-radius: 50%;
      width: 100px;
      height: 100px;
    }
    

    https://codepen.io/lukaszwnek/pen/pobVZQo

    However, clicking the button doesn't seem to show the tooltip. It starts working when I either:

    1. remove the data-toggle-outside attribute from the button (which I don't want to do since I need that to close it).
    2. moving all the data-toggle attributes to the img (but this goes against your own recommendation to use buttons as triggers).

    The issue isn't limited to the img tag, from what I've seen it persists with any tag inside of the button (only plain text works).

    It feels like a bug, but maybe there's something wrong with my setup? I'd really appreciate your opinion @Twikito.

    Thanks!

    bug 
    opened by lukaszwnek 3
  • data-toggle-trigger-off elements do not unbind

    data-toggle-trigger-off elements do not unbind

    Describe the bug Having created a mobile menu toggle with the unbind action being called from mobile to desktop. I noticed that if an element has data-toggle-trigger-off it does not unbind with the rest of the unbound elements

    To Reproduce https://codepen.io/suitemel/pen/xxJEWwK Here is a codepen with the issue reproduced

    Expected behavior I expect the data-toggle-trigger-off elements to be unbound as well

    Desktop (please complete the following information):

    • OS: macOS Big Sur v 11.7.1
    • Browser: Chrome
    • Version 108.0.5359.124
    opened by SuiteMel 0
  • Add a default state attribute for target elements

    Add a default state attribute for target elements

    Is your feature request related to a problem? Please describe. I'm always frustrated when I need to wait the initialization of the triggers to have the default state of the target elements. This behavior creates some glitchs or layout shifting which provides a bad user experience.

    Describe the solution you'd like Can it be possible to have an attribute like data-toggle-is-active (eg: data-toggle-target-is-active) for the target elements to avoid waiting initialization to have the default state for target elements ?

    Describe alternatives you've considered None.

    Additional context None.

    opened by fredmef 2
  • Codepen example for simple tabs doesn't work

    Codepen example for simple tabs doesn't work

    Describe the bug In the documentation, the Codepen example associated to simple tabs doesn't work as expected.

    To Reproduce Steps to reproduce the behavior:

    1. Follow the codepen link in the documentation for simple tabs
    2. See error

    Expected behavior The expected behavior is the one described in documentation.

    Screenshots image image image

    Desktop (please complete the following information):

    • OS: macOS Monterey 12.4
    • Browser: Safari
    • Version: 15.5

    Additional context None.

    bug 
    opened by fredmef 1
  • data-toggle-target-parent=

    data-toggle-target-parent="" doesnt work with data-toggle-group=""?

    I'm trying to setup a menu navigation so each sub nav opens and closes the other however, i also want the parent a tag an active class added as well. <li><a href="#">Button outer</a><button type="button" class="main-btn" data-toggle-class data-toggle-escape data-toggle-target-next=".sub-menu" data-toggle-group="main-nav" title="Sub Navigation">Button for sub</button></li>

    So i set it up like this...

    <li><a href="#">Button outer</a><button type="button" class="main-btn" data-toggle-class data-toggle-escape data-toggle-target-next=".sub-menu" data-toggle-group="main-nav" data-toggle-target-parent="a" title="Sub Navigation">Button for sub</button></li>

    This works by adding the active class to the a above but now ignores the sub menu group.

    Shouldn't these work together?

    opened by unijez 2
  • Programmatic Toggling

    Programmatic Toggling

    Is it possible to trigger a method that toggles an element so I can toggle it via some custom javascript logic?

    Some context: I have a table with a button in a tr element that, when clicked, displays "child" tr elements (from the DOM's perspective, though, these tr elements are sibling elements). each of those child tr elements also has a button that displays their own "child" elements. If I toggle the top-level tr button to hide its children, I want to also hide its grandchildren. Does that make sense?

    opened by markjohnson4 4
  • Bump lint-staged from 10.5.4 to 11.1.1

    Bump lint-staged from 10.5.4 to 11.1.1

    Bumps lint-staged from 10.5.4 to 11.1.1.

    Release notes

    Sourced from lint-staged's releases.

    v11.1.1

    11.1.1 (2021-07-24)

    Bug Fixes

    • the shell option value should be optional instead of required (#996) (f7302f4), closes #994

    v11.1.0

    11.1.0 (2021-07-22)

    Features

    • allow a path to be supplied to the --shell option (#994) (fea8033)

    v11.0.1

    11.0.1 (2021-07-13)

    Bug Fixes

    • do not swallow already detected deprecated usage by last task (#991) (7734156)

    v11.0.0

    11.0.0 (2021-05-07)

    Bug Fixes

    Features

    • bump Node.js version requirement to 12.13.0 (852aa6e)

    BREAKING CHANGES

    • Node.js 12 LTS 'Erbium' is now the minimum required version
    Commits
    • f7302f4 fix: the shell option value should be optional instead of required (#996)
    • fea8033 feat: allow a path to be supplied to the --shell option (#994)
    • 7734156 fix: do not swallow already detected deprecated usage by last task (#991)
    • 4f9a146 docs: Hardcode mrm@2 in the documentation (#976)
    • e5e186d ci: remove Node.js 10 from Appveyor test matrix
    • 852aa6e feat: bump Node.js version requirement to 12.13.0
    • db861ce ci: replace Node.js 15 with 16
    • f8a0261 fix: migrate commander@7
    • 5560d97 fix: migrate husky@6
    • ab7a211 chore(deps): update dependencies
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
Releases(v1.16.0)
  • v1.16.0(Dec 30, 2020)

    ⚠️ BREAKING CHANGE ⚠️

    It's something I should have done a long time ago.

    Javascript ES6 coding has become the standard for a pretty long time now, and ES5 is now used only for compatibility purpose. For this reason, I renamed the dist files to have the ES6 versions to be the default files, and added the 'es5' namespace for the ES5 versions.

    So please don't forget to update your script links.

    Happy togling! 🖖

    Source code(tar.gz)
    Source code(zip)
  • v1.15.1(Nov 16, 2020)

    The basis of the data-toggle-trigger-off feature is that when you click – or another choosen event – on a trigger, while toggling the target, the script looks inside that target for element•s with data-toggle-trigger-off attribute, and if there are any, it sets the trigger as reference, and add an event listener to toggle off that trigger.

    In some rare cases, this reference may override another reference, creating a problem.

    Now, while checking element•s with data-toggle-trigger-off attribute, it will set the reference only if there is no reference already set, and while toggling off, it will remove that reference if it matches the current trigger element.

    Happy toggling 🖖

    Source code(tar.gz)
    Source code(zip)
  • v1.15.0(Nov 5, 2020)

    Change active by default behaviour

    The attribute data-toggle-is-active, used to specify a trigger element and its targets toggled as default, was initialy thought when using only one class to toggle. This in mind, the behaviour was adding the class instead of toggling it on script execution.

    Now that we are able to add as many classes as we want, on trigger, target, or both, this behaviour doesn't make sence anymore, and even brings problems.

    Responding to #91, it is now fix: using this attribute to set a trigger and its targets as active by default will toggle them once on initialization as a consequence.

    data-toggle-trigger-off improvement

    The behaviour of this attribute is simple: when you toggle a trigger and its target, the script check if there are elements with data-toggle-trigger-off attribute inside this target element, and if so, it adds a listener on those to toggle the trigger off on click.

    The problem is that you can have some problems when you have a target element inside another one, both related to different triggers. In this case, it should be better to specify which "trigger-off" elements are related to which target element.

    It is now possible: You can usually leave this attribute without a value, but if you need to specify the related target element, set the value to a CSS selector matching that target element.

    Happy toggling 🖖

    Source code(tar.gz)
    Source code(zip)
  • v1.14.2(Nov 3, 2020)

    • Fix the data-toggle-outside behaviour, especially for trigger that has elements inside of itself, such as image or else.
    • Set the default class is-active in the toggle list only when the dedicated attribute is there.

    Happy toggling 🖖

    Source code(tar.gz)
    Source code(zip)
  • v1.14.0(Oct 5, 2020)

    Easy Toggle State is a library that was thought from the beginning to be used in a quick and easy way. Responding to the requests, it now can be used in ESM projects. 🎉

    Initializing, unbinding a trigger, unbinding all triggers and getting the state of a trigger are now exposed and ready to be used by yourself:

    import initialize, { isActive, unbind, unbindAll } from "easy-toggle-state";
    
    const handler = () => {
    	initialize();
    	document.removeEventListener("DOMContentLoaded", handler);
    };
    document.addEventListener("DOMContentLoaded", handler);
    
    window.easyToggleState = Object.assign(
    	initialize,
    	{
    		isActive,
    		unbind,
    		unbindAll
    	}
    );
    

    Learn more in the new API section in the documentation.

    Happy toggling 🖖

    Source code(tar.gz)
    Source code(zip)
  • v1.13.0(Sep 29, 2020)

    This release add some new features and changes:

    • In respond of request #88, now you can go further into toggling by choosing if some classes must be toggled only on trigger, or only on targets, or on both. And you can combine these options.

      • data-toggle-class will toggle filled class on trigger and target elements
      • data-toggle-class-on-trigger will toggle filled class only on trigger element
      • data-toggle-class-on-target will toggle filled class only on target element•s
    • In respond of request #65, now you can fill these toggling attributes with as many classes as you need. If an attribute is left empty, the default class is-active is used.

    • It might be a breaking change, but as the data-toggle-class-on-target is available, I have removed the data-toggle-target-only attribute.

    These new features make Easy Toggle State compatible with any CSS framwork. Go further into these new features in the documentation.

    Happy toggling! 🖖

    Source code(tar.gz)
    Source code(zip)
  • v1.12.0(Jul 3, 2019)

    data-toggle-modal
    

    Specify that the target is a modal, such as a dialog or a lightbox. This way, when the target is active – open –, the focus is trapped inside this target. This means tabbing will only focus on focusable elements inside this target, letting anything outside be out of scope.

    Be really careful when using this feature. A focus trap can be very annoying – and an accessibility fault – when used in a wrong way, so be sure your target is a modal component.

    Source code(tar.gz)
    Source code(zip)
  • v1.11.0(Jun 28, 2019)

    aria-pressed support

    To improve accessibility, you need to add the aria-pressed attribute on any button which has two distinct states, such as a switch button.

    It has pretty much the same meaning as the aria-checked attribute, but it is meant to be used on a button outside of a form, without any checkbox or radio role.

    So now, if a trigger has the aria-pressed attribute, its value will also change.

    Behaviour improvement

    Now, after clicking on a button with the data-toggle-trigger-off attribute (an element inside a target to toggle the state of this target), the focus is given back to the trigger.

    Documentation

    Updates of examples, tips and explanations.

    Source code(tar.gz)
    Source code(zip)
  • v1.10.0(Jan 24, 2019)

    New feature #23

    data-toggle-outside-event="event"
    

    When using data-toggle-outside attribute, add this attribute to use a specific event for that behavior.

    Note that this attribute only works when used in addition of data-toggle-outside attribute.

    Misc

    • window.initEasyToggleState() fix #24
    • data-toggle-outside behavior fix
    • Dependencies update
    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Sep 9, 2018)

    data-toggle-arrows
    

    Specify that when a grouped trigger is focused, you can navigate between other triggers of the same group with arrows , home and end keys.

    Remember that this attribute must be used with data-toggle-group or data-toggle-radio-group.

    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Aug 18, 2018)

    You can change the prefix toggle in data-toggle-class and every attributes to prevent conflict with another JS library. To do so, add this attribute to your <html> element with your new prefix:

    <html data-easy-toggle-state-custom-prefix="my-prefix">
    

    It will so be set to all attributes like data-my-prefix-class.

    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Jul 14, 2018)

    You can npw add some hooks: each trigger and target element fires a toggleBefore event before and a toggleAfter event after toggling its state, so you can add event listeners on these events, and test the active state with isToggleActive property. For example:

    document.querySelector("#myTrigger").addEventListener("toggleAfter", (event) => {
    	console.log(`Active: ${event.target.isToggleActive}`);
    }, false);
    
    Source code(tar.gz)
    Source code(zip)
  • v1.6.5(Jul 5, 2018)

  • v1.6.4(Jun 29, 2018)

  • v1.6.3(Jun 29, 2018)

  • v1.6.0(Jun 20, 2018)

    data-toggle-radio-group="groupName"
    

    Specify if a trigger is a part of a radio group. Only one trigger of a radio group can be active at a time.

    Unlike a simple group data-toggle-group, as soon as a trigger is activated, a radio group will always keep one trigger active. It will actually behave like radio buttons or tabs component.

    Source code(tar.gz)
    Source code(zip)
  • v1.5.5(Jun 13, 2018)

  • v1.5.2(Jun 6, 2018)

  • v1.5.1(Jun 1, 2018)

  • v1.5.0(May 31, 2018)

  • v1.4.2(May 23, 2018)

  • v1.4.1(May 15, 2018)

  • v1.4.0(May 14, 2018)

  • v1.3.1(May 11, 2018)

  • v1.3(May 10, 2018)

  • v1.2(Apr 9, 2018)

Owner
Matthieu Bué
UI and Web designer, front-end developer, CSS Jedi, UX and a11y spearhead.
Matthieu Bué
Execute obsidian commands with short key sequences. For example, 'tp' for 'Toggle Preview' and 'tb' for 'Toggle Sidebar'. Easier to remember.

Key Sequence Shortcut Key Sequence Shortcut is an obsidian plugin, allow binding key sequences to an obsidian command. For example If we assume "t" st

Yu Wang 26 Dec 26, 2022
🤖 Tailwind CSS assistant helps you to edit classes (includes JIT & ignores purge), toggle breakpoint classes on an element and view current breakpoint

Tailwind CSS Assistant See it in action on this example website ?? ✅ Small JavaScript package that helps you work with Tailwind CSS by... Showing you

Mark Mead 30 Dec 28, 2022
A tiny, reactive JavaScript library for structured state and tabular data.

A JavaScript library for structured state. Using plain old JavaScript objects to manage data gets old very quickly. It's error-prone, tricky to track

tinyplex 1.4k Jan 1, 2023
JavaScript micro-library: pass in an element and a callback and this will trigger when you click anywhere other than the element

Add a click listener to fire a callback for everywhere on the window except your chosen element. Installation run npm install @lukeboyle/when-clicked-

Boyleing Point 5 May 13, 2021
Kuldeep 2 Jun 21, 2022
A simple lightweight file dropzone component based on jQuery. You can easily make any existing element become a dropzone that holds files.

file-dropzone A simple lightweight file dropzone component based on jQuery. You can easily make any existing element become a dropzone that holds file

Anton Bardov 1 May 31, 2021
An Awesome Toggle Menu created with HTML,CSS,JQuery,font-awesome and line by line comment.

Demo : https://blackx-732.github.io/AwesomeMenu/ Under open source license No ©copyright issues Anyone can be modify this code as well Specifically we

BlackX-Lolipop 2 Feb 9, 2021
A package to toggle properties of your HTML tags.

Toggler A package(atleast the code) to toggle properties of tags. I mostly use toggle classes while making a switch theme method, button interaction e

chandra sekhar pilla 6 Jan 9, 2022
A JavaScript library to create html elements with js easily

applecake is a javascript library for making HTML elements with javascript really easy . Why applecake ? Really easy to use It is not heavy It has a s

null 4 Jul 21, 2021
A tiny foundation that providing nested state-based routing for complex web application.

StateMan stateman: A tiny foundation that provides nested state-based routing for complex web applications. stateman is highly inspired by ui-router;

ZhengHaibo 390 Dec 20, 2022
A simple jQuery extension to make any HTML element sticky on scroll.

jquery.sticky.js A simple jQuery extension to make any HTML element sticky on scroll. Installation Just download the script and include it in your HTM

Achal Jain 2 Aug 22, 2022
Little Alpine.js plugin to add a typewriter effect to any HTML element.

⌨️ Alpine Typewriter ⌨️ An Alpine.js plugin to add a typewriter effect to any HTML element. ?? Installation CDN Include the following <script> tag in

Marc Reichel 58 Dec 28, 2022
A utility for creating toggleable items with JavaScript. Inspired by bootstrap's toggle utility. Implemented in vanillaJS in a functional style.

LUX TOGGLE Demo: https://jesschampion.github.io/lux-toggle/ A utility for creating toggleable dom elements with JavaScript. Inspired by bootstrap's to

Jess Champion 2 Oct 3, 2020
📜 A tiny custom element for all your scrollytelling needs!

<scroll-scene> element A tiny custom element for all your scrollytelling needs! The successor to @newswire/scroller. Key features ?? Less than 700 byt

Ryan Murphy 17 Dec 6, 2022
A-Frame Element is a simple library for building fast, lightweight web components for 3D development

aframe-element is a library inspired from the very nice library Polymer lit to map A-Frame AR / VR / 3D elements on typescript classes like Angular/React/Lit.

null 6 May 31, 2022
Example code for MFE routing, shared state, build-time & runtime deploy video

Turborepo starter with pnpm This is an official starter turborepo. What's inside? This turborepo uses pnpm as a packages manager. It includes the foll

Jack Herrington 42 Nov 2, 2022
DoMe is a ToDo App. you can add, delete and reorder elements of the todo list using drag and drop. You can also toggle between dark&light mode

DO ME Todo App Live Preview : DO ME Built With : - ReactJS - TailwindCSS Make sure you have: - Git - Nodejs version 14 or higher (we recommend using

Medjahdi Islem 5 Nov 18, 2022
a VS Code Extension for Easily Localize any blade/php text in any Laravel project.

Laravel Easy Localize a VS Code Extension for Easily Localize any blade/php text in any Laravel project. Features Custom array key for each translatio

Moataz Hajres 6 Oct 31, 2022
Interactive, accessible toggle switches for the web.

On-Off Toggle Switch Interactive, accessible toggle switches for the web Transform checkboxes into toggle switches. Toggle switches made for the web a

Timmy Willison 91 Sep 9, 2022