UNPKG

@jirkasa/code-box

Version:

Showcase code samples on the web with a container that lets users select and display different samples.

46 lines (45 loc) 1.71 kB
/** Manages opening/closing of project code box panel. */ declare class PanelToggle { /** Panel element. */ private panelElement; /** Open/Close button. */ private buttonElement; /** Panel content container element. */ private panelContentContainerElement; /** Function that is called when panel is opened/closed. */ private onToggle; /** Indicates whether panel is currently opened. */ private opened; /** Text for button aria-label attribute when panel is closed. */ private readonly openPanelAriaLabel; /** Text for button aria-label attribute when panel is opened. */ private readonly closePanelAriaLabel; /** * Creates new panel toggle. * @param panelElement Panel element. * @param buttonElement Open/close button. * @param panelContentContainerElement Panel content container element. * @param openPanelAriaLabel Text for open/close button aria-label attribute when panel is closed. * @param closePanelAriaLabel Text for open/close button aria-label attribute when panel is opened. * @param onToggle Function to be called when panel is opened/closed. */ constructor(panelElement: HTMLElement, buttonElement: HTMLButtonElement, panelContentContainerElement: HTMLElement, openPanelAriaLabel: string, closePanelAriaLabel: string, onToggle: () => void); /** * Opens panel. */ open(): void; /** * Closes panel. */ close(): void; /** * Checks whether panel is opened. * @returns Indicates whether panel is opened. */ isOpened(): boolean; /** * Called when button is clicked. */ private onButtonClick; } export default PanelToggle;