@js-components/accordion
Version:
Lightweight and accessible Accordion
61 lines (60 loc) • 2.11 kB
TypeScript
export interface AccordionArgs {
container: string | HTMLElement | Element;
/** @deprecated use `wrapper` */
accordionElWrapper?: string;
wrapper?: string;
/** @deprecated use `accordion` */
accordionEl?: string;
accordion?: string;
/** @deprecated use `firstElExpand` */
firstElExpend?: boolean;
firstElExpand?: boolean;
/** @deprecated use `trigger` */
button?: string;
trigger?: string;
toggleType?: 'accordion' | 'toggle';
/** @deprecated use `toggleType` */
type?: AccordionArgs['toggleType'];
duration?: number;
}
export interface AccordionInterface {
container: HTMLElement;
wrapperSelector?: string;
accordionSelector?: string;
firstElExpand?: boolean;
triggerSelector?: string;
duration?: number;
initiated: boolean;
expand: (pos: number) => boolean;
collapse: (pos: number) => boolean;
toggle: (pos: number) => boolean;
}
export default class JscAccordion implements AccordionInterface {
container: HTMLElement;
wrapperSelector: string | undefined;
accordionSelector: string | undefined;
firstElExpand: boolean;
triggerSelector: string | undefined;
duration: number | undefined;
initiated: boolean;
constructor(args: AccordionArgs);
_init(): void;
/**
* @param accordionPosition position number of the accordion from top
* @returns boolean whether if succeed or not
* @description expand/open accordion
*/
expand(accordionPosition: number): boolean;
/**
* @param accordionPosition position number of the accordion from top
* @returns boolean whether if succeed or not
* @description collapse/close accordion
*/
collapse(accordionPosition: number): boolean;
/**
* @param accordionPosition position number of the accordion from top
* @returns boolean whether if succeed or not
* @description collapse/close or expand/open, depending on the current state of accordion
*/
toggle(accordionPosition: number): boolean;
}