handy-collapse
Version:
A pure Javascript module for accordion/collapse UI without jQuery
69 lines (66 loc) • 1.56 kB
TypeScript
// Generated by dts-bundle-generator v7.0.0
/**
* handyCollapse
* https://github.com/sk-rt/handy-collapse
* Copyright (c) 2019 Ryuta Sakai
* Licensed under the MIT license.
*/
export interface Options {
nameSpace: string;
toggleButtonAttr: string;
toggleContentAttr: string;
activeClass: string;
isAnimation: boolean;
closeOthers: boolean;
animationSpeed: number;
cssEasing: string;
onSlideStart: (isOpen: boolean, id: string) => void;
onSlideEnd: (isOpen: boolean, id: string) => void;
}
export interface ItemState {
[key: string]: {
isOpen: boolean;
isAnimating: boolean;
};
}
export default class HandyCollapse {
toggleContentEls: HTMLElement[];
toggleButtonEls: HTMLElement[];
itemsState: ItemState;
options: Options;
constructor(_options?: Partial<Options>);
/**
* init Param & show/hide items
*/
private initContentsState;
/**
* Add toggleButton Listners
*/
handleButtonsEvent(buttonElement: HTMLElement[]): void;
/**
* Set state
*/
private setItemState;
/**
* button click listner
* @param id - accordion ID
*/
toggleSlide(id: string, isRunCallback?: boolean): void;
/**
* Open accordion
* @param id - accordion ID
*/
open(id: string, isRunCallback?: boolean, isAnimation?: boolean): void;
/**
* Close accordion
* @param id - accordion ID
*/
close(id: string, isRunCallback?: boolean, isAnimation?: boolean): void;
/**
* Get Elemet Height
* @param targetEl - target Element
* @return Height(px)
*/
getTargetHeight(targetEl: HTMLElement): number | void;
}
export {};