baseframe-js
Version:
Baseframe JS is a comprehensive suite of modular plugins and utilities designed for front-end development
40 lines (39 loc) • 1.44 kB
TypeScript
import type { LocationTracking, StringPluginArgChoices } from './types';
import { type BaseElem } from "base-elem-js";
export interface ICollapseDefaults extends LocationTracking {
cssPrefix: string;
toggleDuration: number;
toggleGroup: boolean;
moveToTopOnOpen: boolean;
moveToTopOffset: number | (() => number);
moveToTopDuration: number;
afterOpen(btnElems: HTMLElement[], collapsibleItem: HTMLElement[]): void;
afterClose(btnElems: HTMLElement[], collapsibleItem: HTMLElement[]): void;
afterInit(element: HTMLElement): void;
}
export interface ICollapseOptions extends Partial<ICollapseDefaults> {
}
export default class Collapse {
#private;
$element: BaseElem;
element: HTMLElement;
params: ICollapseDefaults;
toggling: boolean;
$btnElems: BaseElem | null;
btnElems: HTMLElement[];
$activeItem: BaseElem | null;
initLoaded: boolean;
static defaults: ICollapseDefaults;
static version: string;
static pluginName: string;
constructor(element: HTMLElement, options: ICollapseOptions | StringPluginArgChoices, index?: number);
static remove(element: BaseElem, plugin?: Collapse): void;
toggle(currElemID: string, allAtOnce?: boolean): void;
}
export interface CollapsePlugin {
collapse(options?: ICollapseOptions | StringPluginArgChoices): this;
}
declare module 'base-elem-js' {
interface BaseElem extends CollapsePlugin {
}
}