@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
TypeScript
/** 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;