UNPKG

@lion/ui

Version:

A package of extendable web components

111 lines 2.76 kB
/** * LionTabs: A tabbed interface component * * @slot tab - The tab elements for the tabs * @slot panel - The panel elements for the tabs * * @customElement lion-tabs */ export class LionTabs extends LitElement { static get properties(): { selectedIndex: { type: NumberConstructor; attribute: string; reflect: boolean; }; }; static get styles(): import("lit").CSSResult[]; /** * // TODO: check if this is a false positive or if we can improve * @configure ReactiveElement */ static enabledWarnings: import("lit").WarningKind[]; render(): import("lit-html").TemplateResult<1>; /** * @param {number} value The new index */ set selectedIndex(arg: number); /** * @return {number} */ get selectedIndex(): number; get tabs(): HTMLButtonElement[]; get panels(): HTMLElement[]; /** @private */ private __setupSlots; /** @private */ private __setupStore; /** @type {StoreEntry[]} */ __store: StoreEntry[] | undefined; /** @private */ private __cleanStore; /** * @param {HTMLButtonElement[]} tabs * @param {HTMLButtonElement} currentTab * @param {'right' | 'left'} dir * @returns {HTMLButtonElement|undefined} * @private */ private __getNextNotDisabledTab; /** * @param {number} newIndex * @param {string} direction * @returns {number} * @private */ private __getNextAvailableIndex; /** * @param {number} index * @returns {(event: Event) => unknown} * @private */ private __createButtonClickHandler; /** * @param {Event} ev * @private */ private __handleButtonKeyup; /** @type {number | undefined} */ __selectedIndex: number | undefined; /** * @param {number} value The new index for focus * @protected */ protected _setSelectedIndexWithFocus(value: number): void; /** @protected */ protected get _pairCount(): number; /** @private */ private __updateSelected; } export type StoreEntry = { /** * Dom Element */ el: HTMLElement; /** * Unique ID for the entry */ uid: string; /** * Button HTMLElement for the entry */ button: HTMLElement; /** * Panel HTMLElement for the entry */ panel: HTMLElement; /** * executed on click event */ clickHandler: (event: Event) => unknown; /** * executed on keydown event */ keydownHandler: (event: Event) => unknown; /** * executed on keyup event */ keyupHandler: (event: Event) => unknown; }; import { LitElement } from "lit"; //# sourceMappingURL=LionTabs.d.ts.map