Miss any of our Open RFC calls?Watch the recordings here! »


1.1.8 • Public • Published

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.

View demo


  1. Add an "active" class on the target
  2. Support for "toggle" option
  3. Support for activating the target that match the url hash
  4. Support for history
  5. Support different triggers like "click", "mouseover", etc...
  6. Support saving the state between page loads
  7. A nested target will activate automatically his parents when needed
  8. And more...

Table of content

  1. Demo
  2. Install
  3. Get Started
  4. Javascript API
  5. Sugar Web Components Documentation
  6. Browsers support
  7. Contribute
  8. Who are Coffeekraken?
  9. Licence


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
<div id="my-cool-element">
    I will have the class "active" when activated

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.
  • --s-activate-trigger-touch : Specify the trigger to use to activate the component on touch devices. Do not use quotes.
  • --s-activate-unactivate-trigger-touch : Specify the trigger to use to unactivate the component on touch devices. 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
IE / Edge
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.


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:

  1. Share the love ❤️
  2. Declare issues
  3. Fix issues
  4. Add features
  5. 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.

More on who we are


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...


npm i coffeekraken-s-activate-component

DownloadsWeekly Downloads






Unpacked Size

1.09 MB

Total Files


Last publish


  • avatar