import Tailwind from '../base/tailwind-base'; import type { PropertyValues } from 'lit'; /** * @tag plus-toggle * @summary Toggle component that provides a switch with various styles and states. * * @slot - The default slot for toggle text content when no text property is specified * * @csspart base - The component's base wrapper * @csspart label - The label element * @csspart control - The control element containing the toggle and text * @csspart switch - The switch element * @csspart dot - The dot element inside the switch * @csspart text - The text element * @csspart icon - The icon element when an icon is used * @csspart caption - The caption element * * @cssproperty --text-color - Controls the text color * @cssproperty --border-color - Controls the border color of the toggle * @cssproperty --switch-bg - Controls the background color of the switch * @cssproperty --switch-bg-hover - Controls the background color when hovered * @cssproperty --switch-bg-active - Controls the background color when pressed * @cssproperty --dot-bg - Controls the background color of the dot * @cssproperty --dot-text - Controls the text color of the icon in the dot * * @event plus-change - Emitted when the toggle state changes * @event plus-input - Emitted when the toggle state changes (for input event compatibility) * @event plus-focus - Emitted when the toggle gains focus * @event plus-blur - Emitted when the toggle loses focus * @event plus-invalid - Emitted when the toggle validation fails * * @example * ```html * Enable dark mode * ``` */ export declare class PlusToggle extends Tailwind { static formAssociated: boolean; private internals; static styles: import("lit").CSSResult[]; input: HTMLInputElement; private hasFocus; private validationMessage; name: string; value: string; checked: boolean; size: 'sm' | 'md' | 'lg'; label?: string; caption?: string; text?: string; textPosition: 'left' | 'right'; toggleIcon?: string; toggleActiveIcon?: string; toggleInActiveIcon?: string; error: boolean; errorMessage: string; disabled: boolean; readonly: boolean; required: boolean; fullWidth: boolean; animation: 'default' | 'bounce' | 'smooth'; customAriaLabel?: string; constructor(); /** * Checks the validity of the toggle input * @returns True if the toggle is valid, false otherwise */ checkValidity(): boolean; /** * Reports the validity of the toggle input * @returns True if the toggle is valid, false otherwise */ reportValidity(): boolean; /** * Sets a custom validity message for the toggle * @param message The custom validity message */ setCustomValidity(message: string): void; private setFormValue; updated(changedProperties: Map | PropertyValues): void; formResetCallback(): void; formDisabledCallback(disabled: boolean): void; private handleBlur; private handleFocus; /** * Gets the validation message for the toggle * @returns {string} The validation message * @private */ private getValidationMessage; /** * Validates the toggle input * @private */ private validate; /** * Called when the input is invalid * @param {Event} event The event object * @private */ private handleInvalid; private handleChange; private handleControlClick; click(): void; focus(options?: FocusOptions): void; blur(): void; getToggleIcon(): import("lit-html").TemplateResult<1> | ""; render(): import("lit-html").TemplateResult<1>; } //# sourceMappingURL=toggle.d.ts.map