2.0.0 • Published 5 years ago

classico v2.0.0

Weekly downloads
65
License
MIT
Repository
github
Last release
5 years ago

classico Build Status

A tiny (242B) shim for when Element.classList cannot be used~!

This module exposes three module definitions:

  • ES Module: dist/classico.mjs
  • CommonJS: dist/classico.js
  • UMD: dist/classico.min.js

Install

$ npm install --save classico

Usage

import { remove, toggle } from 'classico';

const $ = document.querySelector.bind(document);

const isOpen = 'menu__open';

$('.menu-nav').onclick = () => {
  toggle(document.body, isOpen);
};

$('.menu-overlay').onclick = () => {
  remove(document.body, isOpen);
};

API

has(node, str)

Returns: Boolean

Checks if the Element's className contains the class value – akin to Element.classList.contains().

add(node, ...str)

Returns: undefined

Add the class value(s) to the Element's className – akin to Element.classList.add().

Note: Classico will not append a className if the Element already contains it.

let elem = document.body;

// add one class
classico.add(elem, 'foo');

// add multiple classes
classico.add(elem, 'foo', 'bar', 'baz');
//=> Only 'bar' & 'baz' were added this time!

remove(node, ...str)

Returns: undefined

Remove the class value(s) to the Element's className – akin to Element.classList.remove().

let elem = document.body;

// remove one class
classico.remove(elem, 'foo');

// remove multiple classes
classico.remove(elem, 'bar', 'baz');

toggle(node, str, force)

Returns: Boolean

Toggles the existence of a class for an Element – akin to Element.classList.toggle().

When force is not defined, the str value will be added if not already and removed if it existed.

If force is defined and truthy, the str value will be added. If force is defined and falsey, the str value will be removed.

Returns true if the class was successfully added to the Element. Returns false if the class was removed from the Element's className value.

License

MIT © Luke Edwards

2.0.0

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.0.0

5 years ago