UNPKG

baseframe-js

Version:

A suite of useful Javascript plugins and functions to help with Front-end Development on websites

45 lines (44 loc) 1.53 kB
import type { Cash } from "cash-dom"; import type { LocationHashTracking, PrimaryClickElems, StringPluginArgChoices } from './types'; type tabDefaultContent = string; export interface ITabsDefaults extends LocationHashTracking { tabsEvent: string; cssPrefix: string; addIDtoPanel: boolean; ariaLabel: boolean; defaultContent: number; tabChange(tabId: string, prevTabId: string, tabsList: Cash, tabsBody: Cash): void; onInit(tabsList: Cash, tabsBody: Cash): void; } export interface ITabsOptions extends Partial<ITabsDefaults> { } export default class Tabs { #private; $element: Cash; params: ITabsDefaults; $tabsNav: Cash; $tabsNavClickElems: Cash; tabsNavClickElems: PrimaryClickElems[]; $tabsBody: Cash; $tabsBodyPanels: Cash; prevTabId: string; initTabId: string; initDefaultContent: tabDefaultContent; static defaults: ITabsDefaults; static version: string; static pluginName: string; constructor(element: HTMLElement, options: ITabsOptions | StringPluginArgChoices); loadDefaultContent(): void; loadFromUrl(): void; getClickElemFromTabId(tabId: string): PrimaryClickElems | null; setAriaAttrs(): void; handleEvents(): void; changeTabElements(clickElem: PrimaryClickElems, tabId: string, updateUrl?: boolean): void; static remove(element: Cash, plugin?: Tabs): void; } declare module 'cash-dom' { interface Cash { tabs(options?: ITabsOptions | StringPluginArgChoices): Cash; } } export {};