/** * Enhanced Picker Component (Phase 6.4.3) * * SwiftUI-inspired Picker component with dropdown, wheel, and segmented * variants for selecting from a list of options. */ import type { ModifiableComponentWithModifiers } from '@tachui/core'; import type { Signal } from '@tachui/core'; import type { ComponentInstance, ComponentProps } from '@tachui/core'; /** * Picker option structure */ export interface PickerOption { value: T; label: string; disabled?: boolean; icon?: string; description?: string; } /** * Picker component properties */ export interface PickerProps extends ComponentProps { selection: T | Signal; options: PickerOption[] | Signal[]>; onSelectionChange?: (value: T) => void; variant?: 'dropdown' | 'wheel' | 'segmented' | 'menu'; title?: string | (() => string) | Signal; placeholder?: string; multiple?: boolean; searchable?: boolean; clearable?: boolean; disabled?: boolean | Signal; size?: 'small' | 'medium' | 'large'; tint?: string; accessibilityLabel?: string; accessibilityHint?: string; } /** * Enhanced Picker component class */ export declare class EnhancedPicker implements ComponentInstance> { props: PickerProps; readonly type: "component"; readonly id: string; mounted: boolean; cleanup: (() => void)[]; private isOpen; private setIsOpen; private searchTerm; private setSearchTerm; constructor(props: PickerProps); /** * Get current selection value */ private getSelection; /** * Get current options */ private getOptions; /** * Filter options based on search term */ private getFilteredOptions; /** * Check if picker is disabled */ private isDisabled; /** * Get selected option */ private getSelectedOption; /** * Handle option selection */ private handleSelection; /** * Toggle picker open state */ private toggleOpen; /** * Get picker size styles */ private getSizeStyles; /** * Render dropdown variant */ private renderDropdown; /** * Render segmented variant */ private renderSegmented; /** * Render wheel variant (simplified) */ private renderWheel; render(): import("@tachui/core").DOMNode; } /** * Picker component function */ export declare function Picker(selection: T | Signal, options: PickerOption[] | Signal[]>, props?: Omit, 'selection' | 'options'>): ModifiableComponentWithModifiers>; /** * Picker style variants */ export declare const PickerStyles: { /** * Dropdown picker (default) */ Dropdown(selection: T | Signal, options: PickerOption[] | Signal[]>, props?: Omit, "selection" | "options" | "variant">): ModifiableComponentWithModifiers>; /** * Segmented picker */ Segmented(selection: T | Signal, options: PickerOption[] | Signal[]>, props?: Omit, "selection" | "options" | "variant">): ModifiableComponentWithModifiers>; /** * Wheel picker (native select) */ Wheel(selection: T | Signal, options: PickerOption[] | Signal[]>, props?: Omit, "selection" | "options" | "variant">): ModifiableComponentWithModifiers>; /** * Menu picker */ Menu(selection: T | Signal, options: PickerOption[] | Signal[]>, props?: Omit, "selection" | "options" | "variant">): ModifiableComponentWithModifiers>; }; /** * Picker utilities */ export declare const PickerUtils: { /** * Create options from simple array */ fromArray(items: T[], labelKey?: keyof T): PickerOption[]; /** * Create options from enum */ fromEnum(enumObject: Record): PickerOption[]; /** * Group options by category */ grouped(options: (PickerOption & { category?: string; })[]): Record[]>; }; //# sourceMappingURL=Picker.d.ts.map