/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { LitElement, type PropertyValues } from 'lit'; import './color-holder.component.js'; import './default-color-sets.component.js'; import { ColorPickerSize, ColorPickerTrigger, ColorPickerPlacement, ColorPickerAnimation, ColorFormat } from './color-picker.types.js'; import type { ColorPickerHost } from './interfaces/index.js'; declare const ColorPicker_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement; /** * Advanced color picker component with dropdown positioning, validation, and accessibility. * * Supports multiple color formats, default color sets, custom triggers, keyboard navigation, * and various display configurations. * * @example * ```html * * * * * * * * * * * * * * ``` * * @fires hy-color-change - Color value changed * @fires nr-colorpicker-open - Dropdown opened * @fires nr-colorpicker-close - Dropdown closed * @fires color-changed - Legacy event for backwards compatibility * * @slot - Default slot for custom content * * @cssproperty --colorpicker-trigger-size - Size of the color trigger box * @cssproperty --colorpicker-dropdown-width - Width of the dropdown panel * @cssproperty --colorpicker-dropdown-background - Background color of dropdown * @cssproperty --colorpicker-dropdown-shadow - Shadow of dropdown panel * @cssproperty --colorpicker-dropdown-border-radius - Border radius of dropdown */ export declare class ColorPicker extends ColorPicker_base implements ColorPickerHost { static useShadowDom: boolean; static styles: import("lit").CSSResult; requiredComponents: string[]; /** Current color value */ color: string; /** Controls dropdown visibility */ show: boolean; /** Array of preset colors to display */ defaultColorSets: string[]; /** Disables the color picker */ disabled: boolean; /** Color picker size (small, default, large) */ size: ColorPickerSize; /** Trigger mode for opening dropdown */ trigger: ColorPickerTrigger; /** Dropdown placement */ placement: ColorPickerPlacement; /** Animation style for dropdown */ animation: ColorPickerAnimation; /** Close dropdown when a color is selected */ closeOnSelect: boolean; /** Close dropdown on outside click */ closeOnOutsideClick: boolean; /** Close dropdown on escape key */ closeOnEscape: boolean; /** Show color input field */ showInput: boolean; /** Show copy button on input */ showCopyButton: boolean; /** Color format (hex, rgb, rgba, hsl, hsla) */ format: ColorFormat; /** Placeholder text for color input */ inputPlaceholder: string; /** Label text */ label: string; /** Helper text */ helperText: string; /** Validation state for color value */ private isValidColor; /** Manages dropdown visibility and positioning */ private dropdownController; /** Handles all event management */ private eventController; constructor(); /** * Component connected to DOM - initialize base functionality */ connectedCallback(): void; /** * Component disconnected from DOM - cleanup event listeners */ disconnectedCallback(): void; /** * Called after component updates */ updated(changedProperties: PropertyValues): void; /** * Opens the color picker dropdown */ open(): void; /** * Closes the color picker dropdown */ close(): void; /** * Toggles the color picker dropdown */ toggle(): void; /** * Validates the current color value */ validateColor(): boolean; /** * Sets up global event listeners (called by dropdown controller) */ setupEventListeners(): void; /** * Removes global event listeners (called by dropdown controller) */ removeEventListeners(): void; /** * Handles trigger click to toggle dropdown */ private handleTriggerClick; /** * Handles color selection from hex-color-picker or default colors */ private handleColorChanged; /** * Handles input change from text input */ private handleInputChange; /** * Main render method */ render(): import("lit-html").TemplateResult<1>; /** * Renders the label if provided */ private renderLabel; /** * Renders the dropdown panel with color picker */ private renderDropdown; /** * Renders default color sets if provided */ private renderDefaultColorSets; /** * Renders the hex color picker */ private renderColorPicker; /** * Renders the color input field */ private renderColorInput; /** * Renders helper text if provided */ private renderHelperText; } export {}; //# sourceMappingURL=color-picker.component.d.ts.map