Coffeekraken s-activate-component
Simple <a>
webcomponent extension that give the ability to activate a target element by adding/removing a class on it. Useful to create some toggle, tabs, etc... behaviors.
## Features
- Add an "active" class on the target
- Support for "toggle" option
- Support for activating the target that match the url hash
- Support for history
- Support different triggers like "click", "mouseover", etc...
- Support saving the state between page loads
- A nested target will activate automatically his parents when needed
- And more...
Table of content
- Demo
- Install
- Get Started
- Javascript API
- Sugar Web Components Documentation
- Browsers support
- Contribute
- Who are Coffeekraken?
- Licence
Install
npm install coffeekraken-s-activate-component --save
## Get Started
First, import the component into your javascript file like so:
import SActivateComponent from 'coffeekraken-s-activate-component'
Then simply use it inside your html like so:
<a href="#my-cool-element" is="s-activate">
click to activate #my-cool-element
</a>
<div id="my-cool-element">
I will have the class "active" when activated
</div>
CSS Variables
This webcomponent make use of some css variables. Here's the list:
--s-activate-trigger
: Specify the trigger to use to activate the component. Do not use quotes.--s-activate-unactivate-trigger
: Specify the trigger to use to unactivate the component. Do not use quotes.
Here's an example:
.my-cool-activate-button {
--s-activate-trigger: mouseover;
@media (max-width: 600px) {
--s-activate-trigger: click;
}
}
## Browsers support
IE / Edge | Firefox | Chrome | Safari |
---|
IE11+ | last 2 versions | last 2 versions | last 2 versions |
As browsers are automatically updated, we will keep as reference the last two versions of each but this component can work on older ones as well.
The webcomponent API (custom elements, shadowDOM, etc...) is not supported in some older browsers like IE10, etc... In order to make them work, you will need to integrate the corresponding polyfill.
Contribute
This is an open source project and will ever be! You are more that welcomed to contribute to his development and make it more awesome every day.
To do so, you have several possibilities:
- Share the love ❤️
- Declare issues
- Fix issues
- Add features
- Build web component
## Who are Coffeekraken
We try to be some cool guys that build some cool tools to make our (and yours hopefully) every day life better.
License
The code is available under the MIT license. This mean that you can use, modify, or do whatever you want with it. This mean also that it is shipped to you for free, so don't be a hater and if you find some issues, etc... feel free to contribute instead of sharing your frustrations on social networks like an asshole...