@y14e/accordion
v2.0.3
Published
WAI-ARIA compliant accordion pattern implementation in TypeScript
Maintainers
Readme
Accordion
WAI-ARIA compliant accordion pattern implementation in TypeScript.
Install
npm i @y14e/accordion// npm
import Accordion from '@y14e/accordion';
// CDNs
import Accordion from 'https://esm.sh/@y14e/[email protected]';
// or
import Accordion from 'https://cdn.jsdelivr.net/npm/@y14e/[email protected]/+esm';
// or
import Accordion from 'https://esm.unpkg.com/@y14e/[email protected]';Usage
new Accordion(root, options);
// => Accordion
//
// root: HTMLElement
// options (optional): AccordionOptions
🪄 Options
interface AccordionOptions {
animation: {
duration: number; // ms (default: 300)
easing: string; // <easing-function> (default: 'ease')
};
collapsible: boolean; // default: true
selector: {
content: string; // default: '[data-accordion-content]'
trigger: string; // default: '[data-accordion-trigger]'
};
}⚙️ Customize defaults
Override the global default settings applied to all accordion instances.
import Accordion from '@y14e/accordion';
Accordion.defaults = {
animation: {
duration: 1000,
},
selector: {
content: '.content',
trigger: '.trigger',
},
};
new Accordion(root);📦 APIs
collapse
accordion.collapse(trigger);
// => void
//
// trigger: HTMLElementdestroy
Destroys the instance and cleans up all event listeners.
accordion.destroy(force);
// => Promise<void>
//
// force (optional): If true, skips waiting for animations to finish.expand
accordion.expand(trigger);
// => void
//
// trigger: HTMLElementDemo
https://y14e.github.io/accordion/
