@tachui/primitives 0.8.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE +363 -0
  2. package/README.md +458 -0
  3. package/dist/BasicInput-CWFHw9rL.js +390 -0
  4. package/dist/Divider-DWgDKavU.js +474 -0
  5. package/dist/HTML-aWcvQ0VC.js +321 -0
  6. package/dist/Picker-DrZ7ibdt.js +1675 -0
  7. package/dist/Text-DYyFBJ6i.js +165 -0
  8. package/dist/controls/Button.d.ts +250 -0
  9. package/dist/controls/Button.d.ts.map +1 -0
  10. package/dist/controls/Link.d.ts +365 -0
  11. package/dist/controls/Link.d.ts.map +1 -0
  12. package/dist/controls/Picker.d.ts +153 -0
  13. package/dist/controls/Picker.d.ts.map +1 -0
  14. package/dist/controls/Toggle.d.ts +207 -0
  15. package/dist/controls/Toggle.d.ts.map +1 -0
  16. package/dist/controls/index.d.ts +8 -0
  17. package/dist/controls/index.d.ts.map +1 -0
  18. package/dist/controls/index.js +18 -0
  19. package/dist/display/HTML.d.ts +120 -0
  20. package/dist/display/HTML.d.ts.map +1 -0
  21. package/dist/display/Image.d.ts +192 -0
  22. package/dist/display/Image.d.ts.map +1 -0
  23. package/dist/display/Text.d.ts +269 -0
  24. package/dist/display/Text.d.ts.map +1 -0
  25. package/dist/display/index.d.ts +7 -0
  26. package/dist/display/index.d.ts.map +1 -0
  27. package/dist/display/index.js +21 -0
  28. package/dist/forms/BasicForm.d.ts +141 -0
  29. package/dist/forms/BasicForm.d.ts.map +1 -0
  30. package/dist/forms/BasicInput.d.ts +116 -0
  31. package/dist/forms/BasicInput.d.ts.map +1 -0
  32. package/dist/forms/index.d.ts +6 -0
  33. package/dist/forms/index.d.ts.map +1 -0
  34. package/dist/forms/index.js +10 -0
  35. package/dist/index.d.ts +11 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +485 -0
  38. package/dist/layout/Divider.d.ts +168 -0
  39. package/dist/layout/Divider.d.ts.map +1 -0
  40. package/dist/layout/Spacer.d.ts +35 -0
  41. package/dist/layout/Spacer.d.ts.map +1 -0
  42. package/dist/layout/Stack.d.ts +74 -0
  43. package/dist/layout/Stack.d.ts.map +1 -0
  44. package/dist/layout/index.d.ts +7 -0
  45. package/dist/layout/index.d.ts.map +1 -0
  46. package/dist/layout/index.js +15 -0
  47. package/dist/validation.d.ts +91 -0
  48. package/dist/validation.d.ts.map +1 -0
  49. package/package.json +82 -0
@@ -0,0 +1,365 @@
1
+ /**
2
+ * Enhanced Link Component
3
+ *
4
+ * A control for navigating to a URL that matches the SwiftUI Link API exactly.
5
+ * iOS 14.0+ equivalent for web applications.
6
+ */
7
+ import type { Signal } from '@tachui/core';
8
+ import type { ComponentInstance, ComponentProps, DOMNode } from '@tachui/core';
9
+ import type { Concatenatable, ComponentSegment } from '@tachui/core';
10
+ import { ConcatenatedComponent } from '@tachui/core';
11
+ /**
12
+ * Link target types for different behaviors
13
+ */
14
+ export type LinkTarget = '_self' | '_blank' | '_parent' | '_top';
15
+ /**
16
+ * Link routing behavior for internal vs external links
17
+ */
18
+ export type LinkRoutingMode = 'auto' | 'external' | 'internal' | 'spa';
19
+ /**
20
+ * Enhanced Link Properties (combines SwiftUI API with web-specific features)
21
+ */
22
+ export interface EnhancedLinkProps extends ComponentProps {
23
+ /** The destination URL - matches SwiftUI's destination parameter */
24
+ destination: string | URL | Signal<string | URL>;
25
+ /** Optional text content for simple links */
26
+ text?: string | Signal<string>;
27
+ /** Label content (for closure-style links) */
28
+ label?: () => ComponentInstance;
29
+ /** Complex children content (for backward compatibility) */
30
+ children?: string | ComponentInstance | (string | ComponentInstance)[];
31
+ /** Environment action override (matches SwiftUI's openURL environment) */
32
+ openURLAction?: (url: string) => 'handled' | 'systemAction';
33
+ /** Target window for navigation */
34
+ target?: LinkTarget | Signal<LinkTarget>;
35
+ /** Routing behavior mode */
36
+ routingMode?: LinkRoutingMode | Signal<LinkRoutingMode>;
37
+ /** Download file functionality */
38
+ download?: boolean | string | Signal<boolean | string>;
39
+ /** Custom rel attributes */
40
+ rel?: string | Signal<string>;
41
+ /** Click event handler */
42
+ onPress?: (event: Event) => void;
43
+ /** Pre-navigation hook with cancellation support */
44
+ onBeforeNavigation?: (url: string) => boolean | Promise<boolean>;
45
+ /** Custom internal routing handler */
46
+ onInternalNavigation?: (path: string) => boolean | Promise<boolean>;
47
+ /** Disabled state */
48
+ disabled?: boolean | Signal<boolean>;
49
+ /** Custom ARIA label */
50
+ accessibilityLabel?: string | Signal<string>;
51
+ /** ARIA description/hint */
52
+ accessibilityHint?: string | Signal<string>;
53
+ /** Custom ARIA role */
54
+ accessibilityRole?: string | Signal<string>;
55
+ }
56
+ /**
57
+ * Enhanced Link Component Implementation
58
+ */
59
+ export declare class EnhancedLinkComponent implements ComponentInstance<EnhancedLinkProps>, Concatenatable<EnhancedLinkProps> {
60
+ readonly type: "component";
61
+ readonly id: string;
62
+ readonly props: EnhancedLinkProps;
63
+ constructor(props: EnhancedLinkProps);
64
+ private resolveValue;
65
+ private getDestination;
66
+ private getTarget;
67
+ private getRoutingMode;
68
+ private getRel;
69
+ private getDownload;
70
+ private isDisabled;
71
+ private getAccessibilityLabel;
72
+ private getAccessibilityHint;
73
+ private getAccessibilityRole;
74
+ private shouldUseInternalRouting;
75
+ private isSpecialScheme;
76
+ private handleClick;
77
+ private handleSPANavigation;
78
+ private isExternalURL;
79
+ private renderContent;
80
+ private renderChildren;
81
+ private renderChild;
82
+ render(): DOMNode;
83
+ concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<EnhancedLinkProps | U>;
84
+ toSegment(): ComponentSegment;
85
+ isConcatenatable(): boolean;
86
+ }
87
+ /**
88
+ * Create enhanced Link component with modifier support
89
+ *
90
+ * Supports both SwiftUI-compatible API and object-based API for backward compatibility:
91
+ * - SwiftUI API: Link("text", "destination")
92
+ * - Object API: Link({ destination: "url", children: "text", ... })
93
+ */
94
+ export declare function Link(textOrProps: string | Signal<string> | EnhancedLinkProps, destination?: string | URL | Signal<string | URL>): any;
95
+ /**
96
+ * Environment-style OpenURL Action (matches SwiftUI pattern)
97
+ */
98
+ export type OpenURLAction = (url: string) => 'handled' | 'systemAction';
99
+ /**
100
+ * Enhanced Link Utilities (comprehensive web link patterns)
101
+ */
102
+ export declare const LinkUtils: {
103
+ /**
104
+ * Create an external link that opens in a new tab
105
+ */
106
+ external(url: string, label: string, options?: Partial<EnhancedLinkProps>): {
107
+ destination: string | URL | Signal<string | URL>;
108
+ text?: (string | Signal<string>) | undefined;
109
+ label?: (() => ComponentInstance) | undefined;
110
+ children: string | ComponentInstance | (string | ComponentInstance)[];
111
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
112
+ target: LinkTarget | Signal<LinkTarget>;
113
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
114
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
115
+ rel: string | Signal<string>;
116
+ onPress?: ((event: Event) => void) | undefined;
117
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
118
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
119
+ disabled?: (boolean | Signal<boolean>) | undefined;
120
+ accessibilityLabel?: (string | Signal<string>) | undefined;
121
+ accessibilityHint: string | Signal<string>;
122
+ accessibilityRole?: (string | Signal<string>) | undefined;
123
+ key?: string | number | undefined;
124
+ ref?: import("@tachui/core").ComponentRef | undefined;
125
+ debugLabel?: string | undefined;
126
+ };
127
+ /**
128
+ * Create an internal link for same-domain navigation
129
+ */
130
+ internal(path: string, label: string, options?: Partial<EnhancedLinkProps>): {
131
+ destination: string | URL | Signal<string | URL>;
132
+ text?: (string | Signal<string>) | undefined;
133
+ label?: (() => ComponentInstance) | undefined;
134
+ children: string | ComponentInstance | (string | ComponentInstance)[];
135
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
136
+ target: LinkTarget | Signal<LinkTarget>;
137
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
138
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
139
+ rel?: (string | Signal<string>) | undefined;
140
+ onPress?: ((event: Event) => void) | undefined;
141
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
142
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
143
+ disabled?: (boolean | Signal<boolean>) | undefined;
144
+ accessibilityLabel?: (string | Signal<string>) | undefined;
145
+ accessibilityHint?: (string | Signal<string>) | undefined;
146
+ accessibilityRole?: (string | Signal<string>) | undefined;
147
+ key?: string | number | undefined;
148
+ ref?: import("@tachui/core").ComponentRef | undefined;
149
+ debugLabel?: string | undefined;
150
+ };
151
+ /**
152
+ * Create a SPA link using History API
153
+ */
154
+ spa(path: string, label: string, options?: Partial<EnhancedLinkProps>): {
155
+ destination: string | URL | Signal<string | URL>;
156
+ text?: (string | Signal<string>) | undefined;
157
+ label?: (() => ComponentInstance) | undefined;
158
+ children: string | ComponentInstance | (string | ComponentInstance)[];
159
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
160
+ target: LinkTarget | Signal<LinkTarget>;
161
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
162
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
163
+ rel?: (string | Signal<string>) | undefined;
164
+ onPress?: ((event: Event) => void) | undefined;
165
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
166
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
167
+ disabled?: (boolean | Signal<boolean>) | undefined;
168
+ accessibilityLabel?: (string | Signal<string>) | undefined;
169
+ accessibilityHint: string | Signal<string>;
170
+ accessibilityRole?: (string | Signal<string>) | undefined;
171
+ key?: string | number | undefined;
172
+ ref?: import("@tachui/core").ComponentRef | undefined;
173
+ debugLabel?: string | undefined;
174
+ };
175
+ /**
176
+ * Create an email link with optional subject and body
177
+ */
178
+ email(address: string, subject?: string, body?: string, label?: string): {
179
+ destination: string;
180
+ children: string;
181
+ accessibilityLabel: string;
182
+ accessibilityHint: string;
183
+ };
184
+ /**
185
+ * Create a phone link with formatted display
186
+ */
187
+ phone(phoneNumber: string, label?: string): {
188
+ destination: string;
189
+ children: string;
190
+ accessibilityLabel: string;
191
+ accessibilityHint: string;
192
+ };
193
+ /**
194
+ * Create a download link
195
+ */
196
+ download(url: string, filename?: string, label?: string): {
197
+ destination: string;
198
+ children: string;
199
+ download: string | boolean;
200
+ accessibilityLabel: string;
201
+ accessibilityHint: string;
202
+ };
203
+ /**
204
+ * Social media link utilities
205
+ */
206
+ social: {
207
+ twitter(username: string, label?: string): {
208
+ destination: string | URL | Signal<string | URL>;
209
+ text?: (string | Signal<string>) | undefined;
210
+ label?: (() => ComponentInstance) | undefined;
211
+ children: string | ComponentInstance | (string | ComponentInstance)[];
212
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
213
+ target: LinkTarget | Signal<LinkTarget>;
214
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
215
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
216
+ rel: string | Signal<string>;
217
+ onPress?: ((event: Event) => void) | undefined;
218
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
219
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
220
+ disabled?: (boolean | Signal<boolean>) | undefined;
221
+ accessibilityLabel?: (string | Signal<string>) | undefined;
222
+ accessibilityHint: string | Signal<string>;
223
+ accessibilityRole?: (string | Signal<string>) | undefined;
224
+ key?: string | number | undefined;
225
+ ref?: import("@tachui/core").ComponentRef | undefined;
226
+ debugLabel?: string | undefined;
227
+ };
228
+ github(username: string, label?: string): {
229
+ destination: string | URL | Signal<string | URL>;
230
+ text?: (string | Signal<string>) | undefined;
231
+ label?: (() => ComponentInstance) | undefined;
232
+ children: string | ComponentInstance | (string | ComponentInstance)[];
233
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
234
+ target: LinkTarget | Signal<LinkTarget>;
235
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
236
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
237
+ rel: string | Signal<string>;
238
+ onPress?: ((event: Event) => void) | undefined;
239
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
240
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
241
+ disabled?: (boolean | Signal<boolean>) | undefined;
242
+ accessibilityLabel?: (string | Signal<string>) | undefined;
243
+ accessibilityHint: string | Signal<string>;
244
+ accessibilityRole?: (string | Signal<string>) | undefined;
245
+ key?: string | number | undefined;
246
+ ref?: import("@tachui/core").ComponentRef | undefined;
247
+ debugLabel?: string | undefined;
248
+ };
249
+ linkedin(profile: string, label?: string): {
250
+ destination: string | URL | Signal<string | URL>;
251
+ text?: (string | Signal<string>) | undefined;
252
+ label?: (() => ComponentInstance) | undefined;
253
+ children: string | ComponentInstance | (string | ComponentInstance)[];
254
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
255
+ target: LinkTarget | Signal<LinkTarget>;
256
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
257
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
258
+ rel: string | Signal<string>;
259
+ onPress?: ((event: Event) => void) | undefined;
260
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
261
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
262
+ disabled?: (boolean | Signal<boolean>) | undefined;
263
+ accessibilityLabel?: (string | Signal<string>) | undefined;
264
+ accessibilityHint: string | Signal<string>;
265
+ accessibilityRole?: (string | Signal<string>) | undefined;
266
+ key?: string | number | undefined;
267
+ ref?: import("@tachui/core").ComponentRef | undefined;
268
+ debugLabel?: string | undefined;
269
+ };
270
+ instagram(username: string, label?: string): {
271
+ destination: string | URL | Signal<string | URL>;
272
+ text?: (string | Signal<string>) | undefined;
273
+ label?: (() => ComponentInstance) | undefined;
274
+ children: string | ComponentInstance | (string | ComponentInstance)[];
275
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
276
+ target: LinkTarget | Signal<LinkTarget>;
277
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
278
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
279
+ rel: string | Signal<string>;
280
+ onPress?: ((event: Event) => void) | undefined;
281
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
282
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
283
+ disabled?: (boolean | Signal<boolean>) | undefined;
284
+ accessibilityLabel?: (string | Signal<string>) | undefined;
285
+ accessibilityHint: string | Signal<string>;
286
+ accessibilityRole?: (string | Signal<string>) | undefined;
287
+ key?: string | number | undefined;
288
+ ref?: import("@tachui/core").ComponentRef | undefined;
289
+ debugLabel?: string | undefined;
290
+ };
291
+ facebook(username: string, label?: string): {
292
+ destination: string | URL | Signal<string | URL>;
293
+ text?: (string | Signal<string>) | undefined;
294
+ label?: (() => ComponentInstance) | undefined;
295
+ children: string | ComponentInstance | (string | ComponentInstance)[];
296
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
297
+ target: LinkTarget | Signal<LinkTarget>;
298
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
299
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
300
+ rel: string | Signal<string>;
301
+ onPress?: ((event: Event) => void) | undefined;
302
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
303
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
304
+ disabled?: (boolean | Signal<boolean>) | undefined;
305
+ accessibilityLabel?: (string | Signal<string>) | undefined;
306
+ accessibilityHint: string | Signal<string>;
307
+ accessibilityRole?: (string | Signal<string>) | undefined;
308
+ key?: string | number | undefined;
309
+ ref?: import("@tachui/core").ComponentRef | undefined;
310
+ debugLabel?: string | undefined;
311
+ };
312
+ };
313
+ /**
314
+ * App store link utilities
315
+ */
316
+ appStore: {
317
+ ios(appId: string, label?: string): {
318
+ destination: string | URL | Signal<string | URL>;
319
+ text?: (string | Signal<string>) | undefined;
320
+ label?: (() => ComponentInstance) | undefined;
321
+ children: string | ComponentInstance | (string | ComponentInstance)[];
322
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
323
+ target: LinkTarget | Signal<LinkTarget>;
324
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
325
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
326
+ rel: string | Signal<string>;
327
+ onPress?: ((event: Event) => void) | undefined;
328
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
329
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
330
+ disabled?: (boolean | Signal<boolean>) | undefined;
331
+ accessibilityLabel?: (string | Signal<string>) | undefined;
332
+ accessibilityHint: string | Signal<string>;
333
+ accessibilityRole?: (string | Signal<string>) | undefined;
334
+ key?: string | number | undefined;
335
+ ref?: import("@tachui/core").ComponentRef | undefined;
336
+ debugLabel?: string | undefined;
337
+ };
338
+ android(packageName: string, label?: string): {
339
+ destination: string | URL | Signal<string | URL>;
340
+ text?: (string | Signal<string>) | undefined;
341
+ label?: (() => ComponentInstance) | undefined;
342
+ children: string | ComponentInstance | (string | ComponentInstance)[];
343
+ openURLAction?: ((url: string) => "handled" | "systemAction") | undefined;
344
+ target: LinkTarget | Signal<LinkTarget>;
345
+ routingMode: LinkRoutingMode | Signal<LinkRoutingMode>;
346
+ download?: (boolean | string | Signal<boolean | string>) | undefined;
347
+ rel: string | Signal<string>;
348
+ onPress?: ((event: Event) => void) | undefined;
349
+ onBeforeNavigation?: ((url: string) => boolean | Promise<boolean>) | undefined;
350
+ onInternalNavigation?: ((path: string) => boolean | Promise<boolean>) | undefined;
351
+ disabled?: (boolean | Signal<boolean>) | undefined;
352
+ accessibilityLabel?: (string | Signal<string>) | undefined;
353
+ accessibilityHint: string | Signal<string>;
354
+ accessibilityRole?: (string | Signal<string>) | undefined;
355
+ key?: string | number | undefined;
356
+ ref?: import("@tachui/core").ComponentRef | undefined;
357
+ debugLabel?: string | undefined;
358
+ };
359
+ };
360
+ /**
361
+ * Create a custom OpenURL action
362
+ */
363
+ openURLAction(handler: (url: string) => boolean): OpenURLAction;
364
+ };
365
+ //# sourceMappingURL=Link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/controls/Link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE9E,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAEjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAGpD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,CAAA;AAEtE;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,oEAAoE;IACpE,WAAW,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IAEhD,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAE9B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,iBAAiB,CAAA;IAE/B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAA;IAEtE,0EAA0E;IAC1E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc,CAAA;IAG3D,mCAAmC;IACnC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAExC,4BAA4B;IAC5B,WAAW,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;IAEvD,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,CAAA;IAEtD,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAG7B,0BAA0B;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAEhC,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEhE,sCAAsC;IACtC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAGnE,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAGpC,wBAAwB;IACxB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAE5C,4BAA4B;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAE3C,uBAAuB;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;CAC5C;AAED;;GAEG;AACH,qBAAa,qBACX,YACE,iBAAiB,CAAC,iBAAiB,CAAC,EACpC,cAAc,CAAC,iBAAiB,CAAC;IAEnC,SAAgB,IAAI,EAAG,WAAW,CAAS;IAC3C,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,KAAK,EAAE,iBAAiB,CAAA;gBAE5B,KAAK,EAAE,iBAAiB;IAKpC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,MAAM;IAgBd,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,eAAe;YAIT,WAAW;IAiFzB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,WAAW;IAWnB,MAAM,IAAI,OAAO;IAmGjB,MAAM,CAAC,CAAC,SAAS,cAAc,CAAC,GAAG,CAAC,EAClC,KAAK,EAAE,CAAC,GACP,qBAAqB,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAa/C,SAAS,IAAI,gBAAgB;IAS7B,gBAAgB,IAAI,OAAO;CAG5B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,EACxD,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAChD,GAAG,CAeL;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;kBAEI,MAAM,SACJ,MAAM,YACJ,OAAO,CAAC,iBAAiB,CAAC;qBArexB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;gBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iBAGtB,MAAM,iBAAiB;kBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;yBAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;gBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;qBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;oBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;aAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;mBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;8BAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;8BAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;2BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;6BAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;IAic3C;;OAEG;mBAEK,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,iBAAiB,CAAC;qBAxfxB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;gBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iBAGtB,MAAM,iBAAiB;kBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;yBAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;gBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;qBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;oBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;eAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;mBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;8BAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;8BAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;6BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;6BAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;IAkd3C;;OAEG;cACO,MAAM,SAAS,MAAM,YAAW,OAAO,CAAC,iBAAiB,CAAC;qBAtgBvD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;gBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iBAGtB,MAAM,iBAAiB;kBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;yBAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;gBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;qBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;oBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;eAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;mBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;8BAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;8BAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;2BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;6BAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;IAge3C;;OAEG;mBACY,MAAM,YAAY,MAAM,SAAS,MAAM,UAAU,MAAM;;;;;;IAmBtE;;OAEG;uBACgB,MAAM,UAAU,MAAM;;;;;;IAYzC;;OAEG;kBACW,MAAM,aAAa,MAAM,UAAU,MAAM;;;;;;;IAUvD;;OAEG;;0BAEiB,MAAM,UAAU,MAAM;yBAvkB7B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;oBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qBAGtB,MAAM,iBAAiB;sBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;6BAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;oBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;yBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;wBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;iBAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;uBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;kCAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;kCAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;+BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iCAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;yBA8hBxB,MAAM,UAAU,MAAM;yBA/kB5B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;oBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qBAGtB,MAAM,iBAAiB;sBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;6BAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;oBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;yBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;wBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;iBAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;uBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;kCAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;kCAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;+BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iCAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;0BAsiBvB,MAAM,UAAU,MAAM;yBAvlB7B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;oBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qBAGtB,MAAM,iBAAiB;sBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;6BAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;oBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;yBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;wBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;iBAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;uBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;kCAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;kCAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;+BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iCAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;4BA8iBrB,MAAM,UAAU,MAAM;yBA/lB/B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;oBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qBAGtB,MAAM,iBAAiB;sBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;6BAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;oBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;yBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;wBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;iBAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;uBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;kCAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;kCAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;+BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iCAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;2BAsjBtB,MAAM,UAAU,MAAM;yBAvmB9B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;oBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qBAGtB,MAAM,iBAAiB;sBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;6BAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;oBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;yBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;wBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;iBAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;uBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;kCAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;kCAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;+BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iCAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;;IA+jB3C;;OAEG;;mBAEU,MAAM,UAAU,MAAM;yBApnBtB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;oBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qBAGtB,MAAM,iBAAiB;sBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;6BAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;oBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;yBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;wBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;iBAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;uBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;kCAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;kCAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;+BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iCAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;6BA8kBpB,MAAM,UAAU,MAAM;yBA/nBhC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;oBAGzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qBAGtB,MAAM,iBAAiB;sBAGpB,MAAM,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE;6BAGtD,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,cAAc;oBAIlD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;yBAG1B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;wBAG5C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;iBAGhD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;uBAInB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;kCAGX,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oCAGzC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAIxD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;kCAIf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;+BAGxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iCAGvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;;IA0lB3C;;OAEG;2BACoB,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,aAAa;CAGhE,CAAA"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Enhanced Picker Component (Phase 6.4.3)
3
+ *
4
+ * SwiftUI-inspired Picker component with dropdown, wheel, and segmented
5
+ * variants for selecting from a list of options.
6
+ */
7
+ import type { ModifiableComponent, ModifierBuilder } from '@tachui/core';
8
+ import type { Signal } from '@tachui/core';
9
+ import type { ComponentInstance, ComponentProps } from '@tachui/core';
10
+ /**
11
+ * Picker option structure
12
+ */
13
+ export interface PickerOption<T = any> {
14
+ value: T;
15
+ label: string;
16
+ disabled?: boolean;
17
+ icon?: string;
18
+ description?: string;
19
+ }
20
+ /**
21
+ * Picker component properties
22
+ */
23
+ export interface PickerProps<T = any> extends ComponentProps {
24
+ selection: T | Signal<T>;
25
+ options: PickerOption<T>[] | Signal<PickerOption<T>[]>;
26
+ onSelectionChange?: (value: T) => void;
27
+ variant?: 'dropdown' | 'wheel' | 'segmented' | 'menu';
28
+ title?: string | (() => string) | Signal<string>;
29
+ placeholder?: string;
30
+ multiple?: boolean;
31
+ searchable?: boolean;
32
+ clearable?: boolean;
33
+ disabled?: boolean | Signal<boolean>;
34
+ size?: 'small' | 'medium' | 'large';
35
+ tint?: string;
36
+ accessibilityLabel?: string;
37
+ accessibilityHint?: string;
38
+ }
39
+ /**
40
+ * Enhanced Picker component class
41
+ */
42
+ export declare class EnhancedPicker<T = any> implements ComponentInstance<PickerProps<T>> {
43
+ props: PickerProps<T>;
44
+ readonly type: "component";
45
+ readonly id: string;
46
+ mounted: boolean;
47
+ cleanup: (() => void)[];
48
+ private isOpen;
49
+ private setIsOpen;
50
+ private searchTerm;
51
+ private setSearchTerm;
52
+ constructor(props: PickerProps<T>);
53
+ /**
54
+ * Get current selection value
55
+ */
56
+ private getSelection;
57
+ /**
58
+ * Get current options
59
+ */
60
+ private getOptions;
61
+ /**
62
+ * Filter options based on search term
63
+ */
64
+ private getFilteredOptions;
65
+ /**
66
+ * Check if picker is disabled
67
+ */
68
+ private isDisabled;
69
+ /**
70
+ * Get selected option
71
+ */
72
+ private getSelectedOption;
73
+ /**
74
+ * Handle option selection
75
+ */
76
+ private handleSelection;
77
+ /**
78
+ * Toggle picker open state
79
+ */
80
+ private toggleOpen;
81
+ /**
82
+ * Get picker size styles
83
+ */
84
+ private getSizeStyles;
85
+ /**
86
+ * Render dropdown variant
87
+ */
88
+ private renderDropdown;
89
+ /**
90
+ * Render segmented variant
91
+ */
92
+ private renderSegmented;
93
+ /**
94
+ * Render wheel variant (simplified)
95
+ */
96
+ private renderWheel;
97
+ render(): import("@tachui/core").DOMNode;
98
+ }
99
+ /**
100
+ * Picker component function
101
+ */
102
+ export declare function Picker<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, 'selection' | 'options'>): ModifiableComponent<PickerProps<T>> & {
103
+ modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
104
+ };
105
+ /**
106
+ * Picker style variants
107
+ */
108
+ export declare const PickerStyles: {
109
+ /**
110
+ * Dropdown picker (default)
111
+ */
112
+ Dropdown<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, "selection" | "options" | "variant">): ModifiableComponent<PickerProps<T>> & {
113
+ modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
114
+ };
115
+ /**
116
+ * Segmented picker
117
+ */
118
+ Segmented<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, "selection" | "options" | "variant">): ModifiableComponent<PickerProps<T>> & {
119
+ modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
120
+ };
121
+ /**
122
+ * Wheel picker (native select)
123
+ */
124
+ Wheel<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, "selection" | "options" | "variant">): ModifiableComponent<PickerProps<T>> & {
125
+ modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
126
+ };
127
+ /**
128
+ * Menu picker
129
+ */
130
+ Menu<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, "selection" | "options" | "variant">): ModifiableComponent<PickerProps<T>> & {
131
+ modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
132
+ };
133
+ };
134
+ /**
135
+ * Picker utilities
136
+ */
137
+ export declare const PickerUtils: {
138
+ /**
139
+ * Create options from simple array
140
+ */
141
+ fromArray<T>(items: T[], labelKey?: keyof T): PickerOption<T>[];
142
+ /**
143
+ * Create options from enum
144
+ */
145
+ fromEnum(enumObject: Record<string, string | number>): PickerOption<string | number>[];
146
+ /**
147
+ * Group options by category
148
+ */
149
+ grouped<T>(options: (PickerOption<T> & {
150
+ category?: string;
151
+ })[]): Record<string, PickerOption<T>[]>;
152
+ };
153
+ //# sourceMappingURL=Picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Picker.d.ts","sourceRoot":"","sources":["../../src/controls/Picker.ts"],"names":[],"mappings":"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"}