UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

46 lines (45 loc) 1.61 kB
import { Label } from '../components/calcite-label/customElement.js'; export interface LabelableComponent { /** When true, disabled prevents interaction. */ disabled: boolean; /** The host element. */ readonly el: HTMLElement; /** Text label. */ label?: string; /** The label this component is associated with. */ labelEl: HTMLCalciteLabelElement; /** Hook for components to provide custom label click behavior. */ onLabelClick: (event: CustomEvent<any>) => void; } /** * Exported for testing purposes only * * @private */ export declare const labelClickEvent = "calciteInternalLabelClick"; export declare const labelConnectedEvent = "calciteInternalLabelConnected"; export declare const labelDisconnectedEvent = "calciteInternalLabelDisconnected"; /** * Helper to set up label interactions on connectedCallback. * * @param component */ export declare function connectLabel(component: LabelableComponent): void; /** * Helper to tear down label interactions on disconnectedCallback on labelable components. * * @param component */ export declare function disconnectLabel(component: LabelableComponent): void; /** * Helper to get the label text from a component. * * @param component */ export declare function getLabelText(component: LabelableComponent): string; /** * Helper to associate an explicit label (i.e., using `for`) with a labelable component that does not have an associated label. * * @param label - the label element */ export declare function associateExplicitLabelToUnlabeledComponent(label: HTMLCalciteLabelElement): Promise<void>;