@expcat/tigercat-core 2.1.2 → 2.1.4

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 (77) hide show
  1. package/README.md +10 -0
  2. package/dist/{data-export-CLWdsrRn.d.ts → data-export-D01yjggE.d.ts} +18 -7
  3. package/dist/datepicker-locales/ar-SA.d.ts +2 -1
  4. package/dist/datepicker-locales/ar-SA.js +8 -1
  5. package/dist/datepicker-locales/de-DE.d.ts +2 -1
  6. package/dist/datepicker-locales/de-DE.js +8 -1
  7. package/dist/datepicker-locales/en-US.d.ts +2 -1
  8. package/dist/datepicker-locales/en-US.js +3 -1
  9. package/dist/datepicker-locales/es-ES.d.ts +2 -1
  10. package/dist/datepicker-locales/es-ES.js +8 -1
  11. package/dist/datepicker-locales/fr-FR.d.ts +2 -1
  12. package/dist/datepicker-locales/fr-FR.js +8 -1
  13. package/dist/datepicker-locales/id-ID.d.ts +2 -1
  14. package/dist/datepicker-locales/id-ID.js +8 -1
  15. package/dist/datepicker-locales/ja-JP.d.ts +2 -1
  16. package/dist/datepicker-locales/ja-JP.js +8 -1
  17. package/dist/datepicker-locales/ko-KR.d.ts +2 -1
  18. package/dist/datepicker-locales/ko-KR.js +8 -1
  19. package/dist/datepicker-locales/pt-BR.d.ts +2 -1
  20. package/dist/datepicker-locales/pt-BR.js +8 -1
  21. package/dist/datepicker-locales/registry.d.ts +2 -1
  22. package/dist/datepicker-locales/registry.js +94 -13
  23. package/dist/datepicker-locales/th-TH.d.ts +2 -1
  24. package/dist/datepicker-locales/th-TH.js +8 -1
  25. package/dist/datepicker-locales/vi-VN.d.ts +2 -1
  26. package/dist/datepicker-locales/vi-VN.js +8 -1
  27. package/dist/datepicker-locales/zh-CN.d.ts +2 -1
  28. package/dist/datepicker-locales/zh-CN.js +3 -1
  29. package/dist/datepicker-locales/zh-TW.d.ts +2 -1
  30. package/dist/datepicker-locales/zh-TW.js +8 -1
  31. package/dist/icons/common.d.ts +2 -2
  32. package/dist/icons/common.js +14 -8
  33. package/dist/index.d.ts +10303 -5381
  34. package/dist/index.js +30994 -16436
  35. package/dist/locale-qoiGEqe_.d.ts +1507 -0
  36. package/dist/locales/ar-SA.d.ts +2 -2
  37. package/dist/locales/ar-SA.js +448 -442
  38. package/dist/locales/de-DE.d.ts +2 -2
  39. package/dist/locales/de-DE.js +456 -450
  40. package/dist/locales/en-US.d.ts +2 -2
  41. package/dist/locales/en-US.js +259 -62
  42. package/dist/locales/es-ES.d.ts +2 -2
  43. package/dist/locales/es-ES.js +450 -444
  44. package/dist/locales/fr-FR.d.ts +2 -2
  45. package/dist/locales/fr-FR.js +453 -447
  46. package/dist/locales/id-ID.d.ts +3 -3
  47. package/dist/locales/id-ID.js +471 -448
  48. package/dist/locales/ja-JP.d.ts +3 -3
  49. package/dist/locales/ja-JP.js +465 -442
  50. package/dist/locales/ko-KR.d.ts +3 -3
  51. package/dist/locales/ko-KR.js +465 -442
  52. package/dist/locales/pt-BR.d.ts +2 -2
  53. package/dist/locales/pt-BR.js +452 -446
  54. package/dist/locales/th-TH.d.ts +3 -3
  55. package/dist/locales/th-TH.js +467 -444
  56. package/dist/locales/vi-VN.d.ts +3 -3
  57. package/dist/locales/vi-VN.js +467 -444
  58. package/dist/locales/zh-CN.d.ts +2 -2
  59. package/dist/locales/zh-CN.js +257 -60
  60. package/dist/locales/zh-TW.d.ts +3 -3
  61. package/dist/locales/zh-TW.js +467 -444
  62. package/dist/{table-CHeBgM_2.d.ts → table-R9Yp1aVa.d.ts} +77 -54
  63. package/dist/tailwind/modern.js +1364 -150
  64. package/dist/{tailwind-entry-nnuviNxx.d.ts → tailwind-entry-C26Y3TZG.d.ts} +13 -10
  65. package/dist/tailwind.d.ts +1 -1
  66. package/dist/tailwind.js +1406 -136
  67. package/dist/utils/data-export.d.ts +19 -5
  68. package/dist/utils/data-export.js +138 -13
  69. package/dist/utils/table-export.d.ts +21 -12
  70. package/dist/utils/table-export.js +75 -46
  71. package/package.json +1 -1
  72. package/tokens/figma-variables.json +223 -147
  73. package/tokens/tokens.css +224 -57
  74. package/tokens/tokens.json +205 -31
  75. package/dist/datepicker-Digy7Stt.d.ts +0 -201
  76. package/dist/locale-KMGxL6bT.d.ts +0 -625
  77. package/tokens/tailwind-tokens.js +0 -145
@@ -0,0 +1,1507 @@
1
+ import { MiddlewareData, Middleware } from '@floating-ui/dom';
2
+
3
+ /**
4
+ * Floating UI wrapper utilities for positioning popups, tooltips, and dropdowns.
5
+ * Provides edge-aware positioning with automatic collision detection and flipping.
6
+ */
7
+
8
+ /**
9
+ * Shared stacking scale for overlays.
10
+ * viewport chrome < anchored overlay < modal/drawer/tour < message < loading-bar
11
+ */
12
+ declare const OVERLAY_Z_INDEX: {
13
+ readonly viewport: 200;
14
+ readonly overlay: 1000;
15
+ readonly modal: 1100;
16
+ readonly message: 1200;
17
+ readonly loadingBar: 1300;
18
+ };
19
+ declare const overlayZIndexClass: {
20
+ readonly viewport: "z-[200]";
21
+ readonly overlay: "z-[1000]";
22
+ readonly modal: "z-[1100]";
23
+ readonly message: "z-[1200]";
24
+ readonly loadingBar: "z-[1300]";
25
+ };
26
+ /**
27
+ * Placement options supported by the floating system.
28
+ * These map directly to Floating UI placements.
29
+ */
30
+ type FloatingPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
31
+ /**
32
+ * Options used to build the Floating UI middleware chain.
33
+ */
34
+ interface FloatingMiddlewareOptions {
35
+ /**
36
+ * Distance (in pixels) between reference and floating element.
37
+ * @default 8
38
+ */
39
+ offset?: number;
40
+ /**
41
+ * Whether to flip placement when there's not enough space.
42
+ * @default true
43
+ */
44
+ flip?: boolean;
45
+ /**
46
+ * Whether to shift the floating element to stay within viewport.
47
+ * @default true
48
+ */
49
+ shift?: boolean;
50
+ /**
51
+ * Padding from viewport edges when shifting/flipping.
52
+ * @default 8
53
+ */
54
+ shiftPadding?: number;
55
+ /** Whether to expose the collision-safe available size. @default true */
56
+ size?: boolean;
57
+ /**
58
+ * Arrow element for positioning the arrow indicator.
59
+ */
60
+ arrowElement?: HTMLElement | null;
61
+ /**
62
+ * Arrow padding from edges.
63
+ * @default 8
64
+ */
65
+ arrowPadding?: number;
66
+ }
67
+ /**
68
+ * Options for computing floating element position.
69
+ * Low-level default placement is `bottom`. Popup components default to `top`;
70
+ * pickers and dropdowns default to `bottom-start`.
71
+ */
72
+ interface FloatingOptions extends FloatingMiddlewareOptions {
73
+ /**
74
+ * Preferred placement of the floating element relative to the reference.
75
+ * @default 'bottom'
76
+ */
77
+ placement?: FloatingPlacement;
78
+ }
79
+ /**
80
+ * Get a stable Floating UI middleware chain for matching positioning options.
81
+ * Middleware with arrows is cached per arrow element so component instances do
82
+ * not share DOM-bound arrow middleware.
83
+ */
84
+ declare function getFloatingMiddleware(options?: FloatingMiddlewareOptions): Middleware[];
85
+ /**
86
+ * Result of computing floating position.
87
+ */
88
+ interface FloatingResult {
89
+ /**
90
+ * X coordinate to position the floating element.
91
+ */
92
+ x: number;
93
+ /**
94
+ * Y coordinate to position the floating element.
95
+ */
96
+ y: number;
97
+ /**
98
+ * Final placement after auto-positioning (may differ from requested).
99
+ */
100
+ placement: FloatingPlacement;
101
+ /**
102
+ * Arrow position data (if arrow element was provided).
103
+ */
104
+ arrow?: {
105
+ x?: number;
106
+ y?: number;
107
+ };
108
+ /**
109
+ * Middleware data from Floating UI.
110
+ */
111
+ middlewareData: MiddlewareData;
112
+ }
113
+ /**
114
+ * Compute the position of a floating element relative to a reference element.
115
+ * Uses Floating UI for edge-aware positioning with automatic collision detection.
116
+ *
117
+ * @param reference - The reference element (trigger)
118
+ * @param floating - The floating element (popup/tooltip)
119
+ * @param options - Positioning options
120
+ * @returns Promise resolving to position data
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * const { x, y, placement } = await computeFloatingPosition(
125
+ * triggerEl,
126
+ * tooltipEl,
127
+ * { placement: 'top', offset: 8 }
128
+ * )
129
+ * tooltipEl.style.left = `${x}px`
130
+ * tooltipEl.style.top = `${y}px`
131
+ * ```
132
+ */
133
+ declare function computeFloatingPosition(reference: HTMLElement, floating: HTMLElement, options?: FloatingOptions): Promise<FloatingResult>;
134
+ /**
135
+ * Cleanup function type returned by autoUpdateFloating.
136
+ */
137
+ type FloatingCleanup = () => void;
138
+ /**
139
+ * Set up automatic position updates for a floating element.
140
+ * Updates position when reference/floating elements resize, scroll, or when
141
+ * the reference moves in the viewport.
142
+ *
143
+ * @param reference - The reference element (trigger)
144
+ * @param floating - The floating element (popup/tooltip)
145
+ * @param update - Callback to run when position should be updated
146
+ * @returns Cleanup function to stop auto-updates
147
+ *
148
+ * @example
149
+ * ```ts
150
+ * const cleanup = autoUpdateFloating(triggerEl, tooltipEl, async () => {
151
+ * const { x, y } = await computeFloatingPosition(triggerEl, tooltipEl)
152
+ * tooltipEl.style.left = `${x}px`
153
+ * tooltipEl.style.top = `${y}px`
154
+ * })
155
+ *
156
+ * // Later, when unmounting:
157
+ * cleanup()
158
+ * ```
159
+ */
160
+ declare function autoUpdateFloating(reference: HTMLElement, floating: HTMLElement, update: () => void): FloatingCleanup;
161
+ /**
162
+ * Get CSS transform origin based on placement.
163
+ * Useful for scaling/fading animations that should originate from the reference.
164
+ *
165
+ * @param placement - Current placement of the floating element
166
+ * @returns CSS transform-origin value
167
+ *
168
+ * @example
169
+ * ```ts
170
+ * tooltipEl.style.transformOrigin = getTransformOrigin('top')
171
+ * // Returns 'bottom center'
172
+ * ```
173
+ */
174
+ declare function getTransformOrigin(placement: FloatingPlacement): string;
175
+ /**
176
+ * Get the side of the reference element where the floating element is placed.
177
+ *
178
+ * @param placement - Current placement
179
+ * @returns The side: 'top', 'bottom', 'left', or 'right'
180
+ */
181
+ declare function getPlacementSide(placement: FloatingPlacement): 'top' | 'bottom' | 'left' | 'right';
182
+ /**
183
+ * Get arrow positioning styles based on placement and arrow data.
184
+ *
185
+ * @param placement - Current placement of the floating element
186
+ * @param arrowData - Arrow position data from computeFloatingPosition
187
+ * @returns CSS styles object for the arrow element
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * const arrowStyles = getArrowStyles('top', result.arrow)
192
+ * Object.assign(arrowEl.style, arrowStyles)
193
+ * ```
194
+ */
195
+ declare function getArrowStyles(placement: FloatingPlacement, arrowData?: {
196
+ x?: number;
197
+ y?: number;
198
+ }): Record<string, string>;
199
+
200
+ /**
201
+ * Base shared prop interfaces
202
+ *
203
+ * These provide common prop shapes for interactive, form-control,
204
+ * and layout components. Component-specific Props should extend or
205
+ * pick from these as needed.
206
+ *
207
+ * @example
208
+ * ```ts
209
+ * import type { BaseInteractiveProps } from '@expcat/tigercat-core'
210
+ *
211
+ * export interface MyButtonProps extends BaseInteractiveProps {
212
+ * variant?: 'primary' | 'secondary'
213
+ * }
214
+ * ```
215
+ */
216
+ /**
217
+ * Standard component size values.
218
+ * Individual components may extend this union (e.g. add 'xs' | 'xl').
219
+ */
220
+ type ComponentSize = 'sm' | 'md' | 'lg';
221
+ /**
222
+ * Referrer policy values accepted by HTML `referrerpolicy` / React `referrerPolicy`.
223
+ */
224
+ type ReferrerPolicyAttr = '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
225
+ /**
226
+ * Base props shared by interactive (clickable / focusable) components.
227
+ *
228
+ * Covers: Button, Link, Tag, Badge, etc.
229
+ */
230
+ interface BaseInteractiveProps {
231
+ /** Whether the component is disabled */
232
+ disabled?: boolean;
233
+ /** Component size */
234
+ size?: ComponentSize;
235
+ /** Whether the component shows a loading indicator */
236
+ loading?: boolean;
237
+ }
238
+ /**
239
+ * Base props shared by form-control components.
240
+ *
241
+ * Covers: Input, Select, Checkbox, Radio, Switch, DatePicker, etc.
242
+ *
243
+ * Uses generics so each component can specify its own value type.
244
+ */
245
+ interface BaseFormControlProps<T = unknown> {
246
+ /** Controlled value */
247
+ value?: T;
248
+ /** Default (uncontrolled) value */
249
+ defaultValue?: T;
250
+ /** Form field name attribute */
251
+ name?: string;
252
+ /** Whether the field is required */
253
+ required?: boolean;
254
+ /** Whether the field is disabled */
255
+ disabled?: boolean;
256
+ /** Component size */
257
+ size?: ComponentSize;
258
+ /** Placeholder text */
259
+ placeholder?: string;
260
+ }
261
+ /**
262
+ * Base props shared by layout / spacing components.
263
+ *
264
+ * Covers: Space, Row/Col, Container, etc.
265
+ */
266
+ interface BaseLayoutProps {
267
+ /** Layout direction */
268
+ direction?: 'horizontal' | 'vertical';
269
+ /** Cross-axis alignment */
270
+ align?: 'start' | 'end' | 'center' | 'baseline' | 'stretch';
271
+ /** Main-axis justification */
272
+ justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly';
273
+ /** Whether children should wrap */
274
+ wrap?: boolean;
275
+ }
276
+
277
+ /**
278
+ * Calendar mode
279
+ */
280
+
281
+ type CalendarMode = 'month' | 'year';
282
+ /** First column of the week. 0 = Sunday … 6 = Saturday. */
283
+ type WeekStartsOn = 0 | 1 | 2 | 3 | 4 | 5 | 6;
284
+ /**
285
+ * Shared Calendar props (framework-agnostic single source of truth).
286
+ *
287
+ * React extends this directly (`value` + `onChange`/`onPanelChange` callbacks);
288
+ * Vue binds the selected date with `v-model` (`modelValue`) and the same events
289
+ * as emits, so it reuses everything here except `value`/callbacks.
290
+ */
291
+ interface CalendarProps {
292
+ /** Locale override merged on top of ConfigProvider locale */
293
+ locale?: Partial<TigerLocale>;
294
+ /** Currently selected date (controlled). Invalid Date is treated as empty. */
295
+ value?: Date | string | null;
296
+ /** Initial selected date when `value` is omitted */
297
+ defaultValue?: Date | string | null;
298
+ /**
299
+ * Calendar display mode.
300
+ * @default 'month'
301
+ */
302
+ mode?: CalendarMode;
303
+ /**
304
+ * Initial mode when `mode` is omitted.
305
+ * @default 'month'
306
+ */
307
+ defaultMode?: CalendarMode;
308
+ /** Whether the calendar is full-screen or card-style */
309
+ fullscreen?: boolean;
310
+ /** Function that determines if a date is disabled */
311
+ disabledDate?: (date: Date) => boolean;
312
+ /**
313
+ * First column of the week. Defaults to the locale week start
314
+ * (en-US Sunday, zh/de Monday, ar-SA Saturday).
315
+ */
316
+ weekStartsOn?: WeekStartsOn;
317
+ /**
318
+ * Clock snapshot for “today” and the default panel month.
319
+ * Omit on the client to use the wall clock after mount; omit during SSR
320
+ * so the first HTML does not paint a today highlight.
321
+ */
322
+ now?: Date;
323
+ /**
324
+ * Range highlight used by DatePicker. Calendar still emits one clicked date.
325
+ */
326
+ rangeValue?: [Date | null, Date | null];
327
+ /** Called when a date is selected */
328
+ onChange?: (date: Date) => void;
329
+ /**
330
+ * Called when the visible panel (month/year) changes.
331
+ * The `mode` argument is the mode that will be drawn next.
332
+ */
333
+ onPanelChange?: (date: Date, mode: CalendarMode) => void;
334
+ /** Custom class name */
335
+ className?: string;
336
+ }
337
+
338
+ /**
339
+ * Input component types and interfaces
340
+ */
341
+
342
+ /**
343
+ * Input type attribute
344
+ */
345
+ type InputType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
346
+ /**
347
+ * Input status types
348
+ */
349
+ type InputStatus = 'default' | 'error' | 'success' | 'warning';
350
+ /**
351
+ * Base input props interface
352
+ */
353
+ interface InputProps {
354
+ /**
355
+ * Input size
356
+ * @default 'md'
357
+ */
358
+ size?: ComponentSize;
359
+ /**
360
+ * Validation status
361
+ * @default 'default'
362
+ */
363
+ status?: InputStatus;
364
+ /**
365
+ * Error message to display
366
+ */
367
+ errorMessage?: string;
368
+ /**
369
+ * Input type
370
+ * @default 'text'
371
+ */
372
+ type?: InputType;
373
+ /**
374
+ * Input value (for controlled mode)
375
+ */
376
+ value?: string | number;
377
+ /**
378
+ * Default value (for uncontrolled mode)
379
+ */
380
+ defaultValue?: string | number;
381
+ /**
382
+ * Placeholder text
383
+ */
384
+ placeholder?: string;
385
+ /**
386
+ * Whether the input is disabled
387
+ * @default false
388
+ */
389
+ disabled?: boolean;
390
+ /**
391
+ * Whether the input is readonly
392
+ * @default false
393
+ */
394
+ readonly?: boolean;
395
+ /**
396
+ * Whether the input is required
397
+ * @default false
398
+ */
399
+ required?: boolean;
400
+ /**
401
+ * Maximum length of input
402
+ */
403
+ maxLength?: number;
404
+ /**
405
+ * Minimum length of input
406
+ */
407
+ minLength?: number;
408
+ /**
409
+ * Input name attribute
410
+ */
411
+ name?: string;
412
+ /**
413
+ * Input id attribute
414
+ */
415
+ id?: string;
416
+ /**
417
+ * Input autocomplete attribute
418
+ */
419
+ autoComplete?: string;
420
+ /**
421
+ * Whether to autofocus on mount
422
+ * @default false
423
+ */
424
+ autoFocus?: boolean;
425
+ /**
426
+ * Whether to show a clear button when the input has value
427
+ * @default false
428
+ * @since 0.5.0
429
+ */
430
+ clearable?: boolean;
431
+ /**
432
+ * Whether to show a password toggle button (only works with type='password')
433
+ * @default false
434
+ * @since 0.5.0
435
+ */
436
+ showPassword?: boolean;
437
+ /**
438
+ * Whether to show a character count (requires maxLength to show "current/max")
439
+ * @default false
440
+ * @since 0.5.0
441
+ */
442
+ showCount?: boolean;
443
+ /**
444
+ * Leading affix inside the field chrome.
445
+ * Framework layers type this as a node; core only records the slot.
446
+ */
447
+ prefix?: unknown;
448
+ /**
449
+ * Trailing affix inside the field chrome. Shown beside clear / password
450
+ * actions when those are on; it is not replaced by them.
451
+ */
452
+ suffix?: unknown;
453
+ }
454
+
455
+ /**
456
+ * DatePicker component types and interfaces
457
+ */
458
+
459
+ type DatePickerInputDate = Date | string;
460
+ type DatePickerModelValue = DatePickerInputDate | null | [DatePickerInputDate | null, DatePickerInputDate | null];
461
+ interface DatePickerLabels {
462
+ placeholder: string;
463
+ rangePlaceholder: string;
464
+ today: string;
465
+ ok: string;
466
+ calendar: string;
467
+ toggleCalendar: string;
468
+ clearDate: string;
469
+ previousMonth: string;
470
+ nextMonth: string;
471
+ year: string;
472
+ month: string;
473
+ day: string;
474
+ start: string;
475
+ end: string;
476
+ }
477
+ interface DatePickerLocalePreset {
478
+ locale: string;
479
+ labels: Partial<DatePickerLabels>;
480
+ }
481
+ interface DatePickerLocaleConfig {
482
+ datePicker?: Partial<DatePickerLocalePreset>;
483
+ }
484
+ type DateFormat = 'yyyy-MM-dd' | 'MM/dd/yyyy' | 'dd/MM/yyyy' | 'yyyy/MM/dd';
485
+ interface DatePickerShortcut {
486
+ label: string;
487
+ value: DatePickerModelValue | (() => DatePickerModelValue);
488
+ }
489
+ /**
490
+ * Shared DatePicker props. React adds `value`/`onChange`; Vue binds
491
+ * `modelValue` / `update:modelValue` and `open` / `update:open`.
492
+ *
493
+ * Dates are calendar days (local midnight). A UTC-midnight `Date` such as
494
+ * `new Date('2024-01-15')` is that calendar day in every timezone.
495
+ * `format` is used for both the input display and typed parse.
496
+ * Empty range is `[null, null]`. `name` submits the formatted display string.
497
+ */
498
+ interface DatePickerProps {
499
+ /** Locale object merged on top of ConfigProvider. Do not pass a language id string. */
500
+ locale?: Partial<TigerLocale>;
501
+ labels?: Partial<DatePickerLabels>;
502
+ /**
503
+ * @default 'md'
504
+ */
505
+ size?: ComponentSize;
506
+ value?: DatePickerModelValue | null;
507
+ defaultValue?: DatePickerModelValue | null;
508
+ /**
509
+ * @default false
510
+ */
511
+ range?: boolean;
512
+ /**
513
+ * @default 'yyyy-MM-dd'
514
+ */
515
+ format?: DateFormat;
516
+ placeholder?: string;
517
+ /**
518
+ * @default false
519
+ */
520
+ disabled?: boolean;
521
+ /**
522
+ * When true, the field cannot be typed and the calendar cannot open.
523
+ * @default false
524
+ */
525
+ readonly?: boolean;
526
+ /**
527
+ * @default false
528
+ */
529
+ required?: boolean;
530
+ minDate?: DatePickerInputDate | null;
531
+ maxDate?: DatePickerInputDate | null;
532
+ disabledDate?: (date: Date) => boolean;
533
+ weekStartsOn?: WeekStartsOn;
534
+ now?: Date;
535
+ /**
536
+ * @default true
537
+ */
538
+ clearable?: boolean;
539
+ name?: string;
540
+ id?: string;
541
+ shortcuts?: DatePickerShortcut[];
542
+ open?: boolean;
543
+ /**
544
+ * @default false
545
+ */
546
+ defaultOpen?: boolean;
547
+ status?: InputStatus;
548
+ /**
549
+ * @default 'bottom-start'
550
+ */
551
+ placement?: FloatingPlacement;
552
+ /**
553
+ * @default 4
554
+ */
555
+ offset?: number;
556
+ dropdownClassName?: string;
557
+ getPopupContainer?: () => HTMLElement | null;
558
+ onChange?: (value: Date | null | [Date | null, Date | null]) => void;
559
+ onClear?: () => void;
560
+ onOpenChange?: (open: boolean) => void;
561
+ className?: string;
562
+ }
563
+
564
+ /** TimePicker shared types */
565
+
566
+ type TimeFormat = '12' | '24';
567
+ type TimePickerRangeTuple = [string | null, string | null];
568
+ type TimePickerModelValue = string | null | TimePickerRangeTuple;
569
+ interface TimePickerLabels {
570
+ hour: string;
571
+ minute: string;
572
+ second: string;
573
+ period: string;
574
+ now: string;
575
+ ok: string;
576
+ start: string;
577
+ end: string;
578
+ clear: string;
579
+ toggle: string;
580
+ dialog: string;
581
+ selectTime: string;
582
+ selectTimeRange: string;
583
+ }
584
+ /**
585
+ * Shared TimePicker props. React adds `value`/`onChange`; Vue binds
586
+ * `modelValue` / `update:modelValue` and `open` / `update:open`.
587
+ *
588
+ * The stored value is always 24-hour `'HH:mm'` or `'HH:mm:ss'` (`showSeconds`).
589
+ * `format` is display and typed parse only — it is never written back to `value`.
590
+ * Empty single is `null`. Empty range is `null`. A complete range is `[start, end]`.
591
+ * `name` submits the formatted display string.
592
+ *
593
+ * Column clicks edit a panel draft. Footer OK commits the draft and closes.
594
+ * Escape / outside dismiss drops the draft. `Now` commits the clock time.
595
+ */
596
+ interface TimePickerProps {
597
+ /** Locale object merged on top of ConfigProvider. Do not pass a language id string. */
598
+ locale?: Partial<TigerLocale>;
599
+ labels?: Partial<TimePickerLabels>;
600
+ /**
601
+ * @default 'md'
602
+ */
603
+ size?: ComponentSize;
604
+ value?: TimePickerModelValue | null;
605
+ defaultValue?: TimePickerModelValue | null;
606
+ /**
607
+ * @default false
608
+ */
609
+ range?: boolean;
610
+ /**
611
+ * Display / typed-parse clock. Stored value stays 24-hour.
612
+ * @default '24'
613
+ */
614
+ format?: TimeFormat;
615
+ /**
616
+ * @default false
617
+ */
618
+ showSeconds?: boolean;
619
+ /**
620
+ * @default 1
621
+ */
622
+ hourStep?: number;
623
+ /**
624
+ * @default 1
625
+ */
626
+ minuteStep?: number;
627
+ /**
628
+ * @default 1
629
+ */
630
+ secondStep?: number;
631
+ placeholder?: string;
632
+ /**
633
+ * @default false
634
+ */
635
+ disabled?: boolean;
636
+ /**
637
+ * When true, the field cannot be typed and the panel cannot open.
638
+ * @default false
639
+ */
640
+ readonly?: boolean;
641
+ /**
642
+ * @default false
643
+ */
644
+ required?: boolean;
645
+ minTime?: string | null;
646
+ maxTime?: string | null;
647
+ disabledTime?: (time: string) => boolean;
648
+ now?: Date;
649
+ /**
650
+ * @default true
651
+ */
652
+ clearable?: boolean;
653
+ name?: string;
654
+ id?: string;
655
+ open?: boolean;
656
+ /**
657
+ * @default false
658
+ */
659
+ defaultOpen?: boolean;
660
+ status?: InputStatus;
661
+ /**
662
+ * @default 'bottom-start'
663
+ */
664
+ placement?: FloatingPlacement;
665
+ /**
666
+ * @default 4
667
+ */
668
+ offset?: number;
669
+ dropdownClassName?: string;
670
+ getPopupContainer?: () => HTMLElement | null;
671
+ onChange?: (value: string | null | TimePickerRangeTuple) => void;
672
+ onClear?: () => void;
673
+ onOpenChange?: (open: boolean) => void;
674
+ className?: string;
675
+ }
676
+
677
+ type TigerLocaleDirection = 'ltr' | 'rtl';
678
+ interface TigerLocaleCommon {
679
+ okText?: string;
680
+ cancelText?: string;
681
+ closeText?: string;
682
+ loadingText?: string;
683
+ emptyText?: string;
684
+ /** Default "no more items" text for infinite-scroll end state */
685
+ noMoreText?: string;
686
+ /** Default placeholder for in-component search inputs (Select/Tree/Transfer/Cascader…) */
687
+ searchPlaceholder?: string;
688
+ /** Default label for clear actions */
689
+ clearText?: string;
690
+ /** Imperative Message close-button accessible name */
691
+ closeMessageAriaLabel?: string;
692
+ /** Imperative Notification close-button accessible name */
693
+ closeNotificationAriaLabel?: string;
694
+ /** Default accessible name for Sidebar (`<aside>`) when none is passed */
695
+ sidebarAriaLabel?: string;
696
+ /** Default accessible name for SplitButton chevron / "more" triggers */
697
+ moreOptionsText?: string;
698
+ /** Default Popconfirm title when none is passed */
699
+ confirmTitle?: string;
700
+ }
701
+ interface TigerLocaleEmpty {
702
+ noData?: string;
703
+ noDataAvailable?: string;
704
+ noResults?: string;
705
+ error?: string;
706
+ }
707
+ interface TigerLocaleModal {
708
+ closeAriaLabel?: string;
709
+ okText?: string;
710
+ cancelText?: string;
711
+ /** Accessible name when the dialog has no visible title */
712
+ dialogAriaLabel?: string;
713
+ }
714
+ interface TigerLocaleDrawer {
715
+ closeAriaLabel?: string;
716
+ /** Accessible name when the drawer has no visible title */
717
+ dialogAriaLabel?: string;
718
+ }
719
+ interface TigerLocaleAlert {
720
+ /** Close-button accessible name */
721
+ closeAriaLabel?: string;
722
+ }
723
+ interface TigerLocaleQRCode {
724
+ ariaLabel?: string;
725
+ expiredText?: string;
726
+ refreshText?: string;
727
+ loadingText?: string;
728
+ }
729
+ interface TigerLocaleMarquee {
730
+ /** Accessible name when Marquee is a labeled region */
731
+ ariaLabel?: string;
732
+ }
733
+ interface TigerLocaleImage {
734
+ /** Preview control name. Template: supports {alt} */
735
+ previewAriaLabel?: string;
736
+ /** Substituted for {alt} when the image has no alternative text */
737
+ previewFallbackAlt?: string;
738
+ /** Accessible name for ImageGroup */
739
+ groupAriaLabel?: string;
740
+ }
741
+ interface TigerLocaleImageCompare {
742
+ /** Accessible name for the comparison slider handle */
743
+ ariaLabel?: string;
744
+ }
745
+ interface TigerLocaleDescriptions {
746
+ /** Glyph appended to labels when `colon` is on */
747
+ colon?: string;
748
+ }
749
+ interface TigerLocaleList {
750
+ /** Fallback `alt` when a default item has an image avatar but no title */
751
+ avatarAlt?: string;
752
+ /** Accessible name for the reorder handle */
753
+ dragHandleAriaLabel?: string;
754
+ }
755
+ interface TigerLocaleScrollArea {
756
+ /** Accessible name when the viewport is a tab stop without a user label */
757
+ ariaLabel?: string;
758
+ }
759
+ interface TigerLocalePrintLayout {
760
+ /** On-screen page-break indicator */
761
+ pageBreak?: string;
762
+ }
763
+ interface TigerLocaleTimeline {
764
+ pendingText?: string;
765
+ }
766
+ interface TigerLocaleProgress {
767
+ /** Accessible name for the progress widget (does not include the current value) */
768
+ ariaLabel?: string;
769
+ }
770
+ interface TigerLocaleSplitter {
771
+ /** Accessible name for a gutter. Template: supports {index} (1-based) */
772
+ gutterAriaLabel?: string;
773
+ }
774
+ interface TigerLocaleResizable {
775
+ /** Accessible name for an edge handle. Template: supports {handle} */
776
+ handleAriaLabel?: string;
777
+ }
778
+ interface TigerLocaleUpload {
779
+ /** Drag area aria-label */
780
+ dragAreaAriaLabel?: string;
781
+ /** Upload button aria-label (non-drag mode) */
782
+ buttonAriaLabel?: string;
783
+ /** Main drag-area instruction (emphasized part) */
784
+ clickToUploadText?: string;
785
+ /** Secondary drag-area instruction */
786
+ dragAndDropText?: string;
787
+ /** Template: supports {accept} */
788
+ acceptInfoText?: string;
789
+ /** Template: supports {maxSize} */
790
+ maxSizeInfoText?: string;
791
+ /** Default non-drag button text */
792
+ selectFileText?: string;
793
+ /** File list aria-label */
794
+ uploadedFilesAriaLabel?: string;
795
+ /** Status aria-labels */
796
+ successAriaLabel?: string;
797
+ errorAriaLabel?: string;
798
+ uploadingAriaLabel?: string;
799
+ /** Templates: support {fileName} */
800
+ removeFileAriaLabel?: string;
801
+ previewFileAriaLabel?: string;
802
+ }
803
+ interface TigerLocalePagination {
804
+ /** Total text template: supports {total}, {start}, {end} */
805
+ totalText?: string;
806
+ /** Items per page option suffix */
807
+ itemsPerPageText?: string;
808
+ /** Accessible name for the page-size control */
809
+ pageSizeAriaLabel?: string;
810
+ /** Quick jumper label */
811
+ jumpToText?: string;
812
+ /** Page text (after number) */
813
+ pageText?: string;
814
+ /** Previous page button aria-label */
815
+ prevPageAriaLabel?: string;
816
+ /** Next page button aria-label */
817
+ nextPageAriaLabel?: string;
818
+ /** Page button aria-label template: supports {page} */
819
+ pageAriaLabel?: string;
820
+ /** Simple pagination page indicator template: supports {current}, {total} */
821
+ pageIndicatorText?: string;
822
+ /** Default pagination landmark name */
823
+ paginationAriaLabel?: string;
824
+ }
825
+ interface TigerLocaleTable {
826
+ emptyText?: string;
827
+ loadingText?: string;
828
+ expandText?: string;
829
+ collapseText?: string;
830
+ selectAllText?: string;
831
+ /** Template: supports {row} */
832
+ selectRowAriaLabel?: string;
833
+ /** Template: supports {column} */
834
+ sortByText?: string;
835
+ clearSortText?: string;
836
+ toolbarAriaLabel?: string;
837
+ searchPlaceholder?: string;
838
+ searchButtonText?: string;
839
+ selectedText?: string;
840
+ selectedItemsText?: string;
841
+ /** Column-settings panel title / trigger label */
842
+ columnSettingsText?: string;
843
+ /** Aria label for the column-settings trigger button */
844
+ columnSettingsAriaLabel?: string;
845
+ /** Lock-column button aria-label. Template: supports {column} */
846
+ lockColumnAriaLabel?: string;
847
+ /** Unlock-column button aria-label. Template: supports {column} */
848
+ unlockColumnAriaLabel?: string;
849
+ allText?: string;
850
+ filterPlaceholder?: string;
851
+ exportCsvText?: string;
852
+ exportExcelText?: string;
853
+ exportCsvAriaLabel?: string;
854
+ exportExcelAriaLabel?: string;
855
+ expandRowAriaLabel?: string;
856
+ collapseRowAriaLabel?: string;
857
+ /** Accessible name for the card-layout sort Select */
858
+ sortMenuAriaLabel?: string;
859
+ /** Template: supports {column} */
860
+ filterColumnAriaLabel?: string;
861
+ /** Template: supports {key} and {count} */
862
+ groupHeaderText?: string;
863
+ }
864
+ interface TigerLocaleDataExport {
865
+ /** Trigger button text when multiple formats are offered */
866
+ triggerText?: string;
867
+ /** Aria label for the export trigger when it has no visible text */
868
+ triggerAriaLabel?: string;
869
+ /** Button/menu-item text for xlsx export */
870
+ xlsxText?: string;
871
+ /** Button/menu-item text for markdown export */
872
+ markdownText?: string;
873
+ /** Button/menu-item text for csv export */
874
+ csvText?: string;
875
+ /** Trigger text while an export is running */
876
+ exportingText?: string;
877
+ /** Visible error when serialization or download fails */
878
+ errorText?: string;
879
+ }
880
+ interface TigerLocaleFormWizard {
881
+ prevText?: string;
882
+ nextText?: string;
883
+ finishText?: string;
884
+ /** Accessible name for the wizard group */
885
+ ariaLabel?: string;
886
+ /** Header label for a skipped step */
887
+ skippedText?: string;
888
+ }
889
+ interface TigerLocaleTour {
890
+ prevText?: string;
891
+ nextText?: string;
892
+ finishText?: string;
893
+ closeAriaLabel?: string;
894
+ dialogAriaLabel?: string;
895
+ }
896
+ interface TigerLocaleCalendar {
897
+ previousMonth?: string;
898
+ nextMonth?: string;
899
+ previousYear?: string;
900
+ nextYear?: string;
901
+ }
902
+ interface TigerLocaleFileManager {
903
+ rootText?: string;
904
+ pathAriaLabel?: string;
905
+ listboxAriaLabel?: string;
906
+ searchAriaLabel?: string;
907
+ emptyText?: string;
908
+ }
909
+ interface TigerLocaleImageViewer {
910
+ dialogAriaLabel?: string;
911
+ previewDialogAriaLabel?: string;
912
+ closeAriaLabel?: string;
913
+ closePreviewAriaLabel?: string;
914
+ previousImageAriaLabel?: string;
915
+ nextImageAriaLabel?: string;
916
+ zoomOutAriaLabel?: string;
917
+ resetAriaLabel?: string;
918
+ zoomInAriaLabel?: string;
919
+ rotateLeftAriaLabel?: string;
920
+ rotateRightAriaLabel?: string;
921
+ /** Template for the current bitmap when the item has no `alt`. Uses `{index}` and `{total}`. */
922
+ previewImageAriaLabel?: string;
923
+ }
924
+ interface TigerLocaleImageEditor {
925
+ selectImageText?: string;
926
+ selectImageAriaLabel?: string;
927
+ cropModalTitle?: string;
928
+ cropCancelText?: string;
929
+ cropConfirmText?: string;
930
+ cropperDialogAriaLabel?: string;
931
+ imageToCropAriaLabel?: string;
932
+ moveCropAreaAriaLabel?: string;
933
+ resizeCropAreaAriaLabel?: string;
934
+ resizeHandleNw?: string;
935
+ resizeHandleN?: string;
936
+ resizeHandleNe?: string;
937
+ resizeHandleE?: string;
938
+ resizeHandleSe?: string;
939
+ resizeHandleS?: string;
940
+ resizeHandleSw?: string;
941
+ resizeHandleW?: string;
942
+ loadingCropImageAriaLabel?: string;
943
+ loadErrorAriaLabel?: string;
944
+ /** Template: supports {maxSize} */
945
+ fileTooLargeText?: string;
946
+ fileTypeRejectedText?: string;
947
+ annotationToolbarAriaLabel?: string;
948
+ annotationEditorAriaLabel?: string;
949
+ annotationCanvasAriaLabel?: string;
950
+ loadingAnnotationImageAriaLabel?: string;
951
+ loadAnnotationErrorAriaLabel?: string;
952
+ defaultAnnotationAlt?: string;
953
+ annotationShapeAriaLabel?: string;
954
+ annotationLabeledShapeAriaLabel?: string;
955
+ selectToolText?: string;
956
+ rectangleToolText?: string;
957
+ ellipseToolText?: string;
958
+ polygonToolText?: string;
959
+ freehandToolText?: string;
960
+ deleteText?: string;
961
+ }
962
+ interface TigerLocaleStatus {
963
+ tagCloseAriaLabel?: string;
964
+ badgeLabel?: string;
965
+ badgeCountLabel?: string;
966
+ }
967
+ type TigerLocaleTimePicker = Partial<TimePickerLabels>;
968
+ interface TigerLocaleTaskBoard {
969
+ /** Placeholder shown inside an empty column */
970
+ emptyColumnText?: string;
971
+ /** Label for the add-card button */
972
+ addCardText?: string;
973
+ /** Label for the add-column button */
974
+ addColumnText?: string;
975
+ /** Title used when inserting a default card */
976
+ newCardTitle?: string;
977
+ /** Title used when inserting a default column */
978
+ newColumnTitle?: string;
979
+ /** Label for cards that match no swimlane */
980
+ unassignedSwimlaneText?: string;
981
+ /** Template: supports {limit} */
982
+ wipLimitText?: string;
983
+ /** Aria hint for draggable items */
984
+ dragHintText?: string;
985
+ /** Aria label for the board root region */
986
+ boardAriaLabel?: string;
987
+ }
988
+ interface TigerLocaleChatWindow {
989
+ emptyText?: string;
990
+ sendText?: string;
991
+ placeholder?: string;
992
+ sendingText?: string;
993
+ sentText?: string;
994
+ failedText?: string;
995
+ /** Accessible name for the message log */
996
+ messageListAriaLabel?: string;
997
+ }
998
+ interface TigerLocaleCode {
999
+ copyLabel?: string;
1000
+ copiedLabel?: string;
1001
+ copyFailedLabel?: string;
1002
+ }
1003
+ interface TigerLocaleCommentThread {
1004
+ emptyText?: string;
1005
+ replyPlaceholder?: string;
1006
+ replyButtonText?: string;
1007
+ cancelReplyText?: string;
1008
+ likeText?: string;
1009
+ likedText?: string;
1010
+ replyText?: string;
1011
+ moreText?: string;
1012
+ loadMoreText?: string;
1013
+ collapseRepliesText?: string;
1014
+ /** Template: supports {count} and English {plural} */
1015
+ expandRepliesText?: string;
1016
+ /** Accessible name for the comment feed */
1017
+ listAriaLabel?: string;
1018
+ /** Submit control in the reply composer. Distinct from `replyText`. */
1019
+ replySubmitText?: string;
1020
+ /** Local remaining replies. Template: supports {count} */
1021
+ remainingRepliesText?: string;
1022
+ /** Shown when `maxDepth` has clipped nested replies */
1023
+ maxDepthReachedText?: string;
1024
+ }
1025
+ interface TigerLocaleActivityFeed {
1026
+ emptyText?: string;
1027
+ loadingText?: string;
1028
+ /** Accessible name for the activity feed */
1029
+ listAriaLabel?: string;
1030
+ /** Fallback group title when `groupBy` returns an empty key */
1031
+ otherGroupTitle?: string;
1032
+ }
1033
+ interface TigerLocaleNotificationCenter {
1034
+ title?: string;
1035
+ emptyText?: string;
1036
+ loadingText?: string;
1037
+ allLabel?: string;
1038
+ unreadLabel?: string;
1039
+ readLabel?: string;
1040
+ markAllReadText?: string;
1041
+ markReadText?: string;
1042
+ markUnreadText?: string;
1043
+ /** Fallback tab title when `groupBy` returns an empty key */
1044
+ defaultGroupTitle?: string;
1045
+ /** Unread badge accessible name. Template: supports {count} */
1046
+ unreadCountText?: string;
1047
+ }
1048
+ interface TigerLocaleSelect {
1049
+ /** Mobile dropdown completion action text */
1050
+ doneText?: string;
1051
+ /** Trigger placeholder when no option is selected */
1052
+ placeholder?: string;
1053
+ /** Empty options list / no-match copy */
1054
+ emptyText?: string;
1055
+ /** Search input placeholder */
1056
+ searchPlaceholder?: string;
1057
+ /** Clear-selection control accessible name */
1058
+ clearAriaLabel?: string;
1059
+ /** Creatable row sentence. Template: supports {label} */
1060
+ createOptionLabel?: string;
1061
+ /** Overflow count after maxTagCount. Template: supports {count} */
1062
+ moreCountText?: string;
1063
+ /** Remote-loading copy shown in the panel */
1064
+ loadingText?: string;
1065
+ /** Column accessible name. Template: supports {level} */
1066
+ levelLabel?: string;
1067
+ /** Small-screen drill-down back control */
1068
+ backText?: string;
1069
+ /** Expand-parent control accessible name */
1070
+ expandAriaLabel?: string;
1071
+ /** Collapse-parent control accessible name */
1072
+ collapseAriaLabel?: string;
1073
+ }
1074
+ interface TigerLocaleColorPicker {
1075
+ /** Trigger aria-label / title. Default "Pick color". */
1076
+ trigger?: string;
1077
+ /** Panel heading and dialog accessible name */
1078
+ panelTitle?: string;
1079
+ /** Clear-color action text */
1080
+ clear?: string;
1081
+ /** Hue slider label */
1082
+ hue?: string;
1083
+ /** Saturation / brightness plane */
1084
+ saturation?: string;
1085
+ brightness?: string;
1086
+ /** Alpha slider label */
1087
+ alpha?: string;
1088
+ /** Color value input aria-label */
1089
+ value?: string;
1090
+ /** Preview swatch (decorative; not exposed as a name) */
1091
+ preview?: string;
1092
+ /** Preset swatch aria-label. Template: supports {color} */
1093
+ selectPreset?: string;
1094
+ /** Small-screen Done button */
1095
+ done?: string;
1096
+ formatHex?: string;
1097
+ formatRgb?: string;
1098
+ formatHsl?: string;
1099
+ /** ColorSwatch radiogroup name */
1100
+ swatches?: string;
1101
+ /** Default ColorSwatch group names */
1102
+ primaryGroup?: string;
1103
+ accentGroup?: string;
1104
+ }
1105
+ interface TigerLocaleTabs {
1106
+ addTabAriaLabel?: string;
1107
+ /** Template: supports {label} */
1108
+ closeTabAriaLabel?: string;
1109
+ /** Default tablist accessible name when none is passed */
1110
+ tablistAriaLabel?: string;
1111
+ }
1112
+ interface TigerLocaleBreadcrumb {
1113
+ /** Default breadcrumb landmark name */
1114
+ ariaLabel?: string;
1115
+ /** Ellipsis button that expands collapsed items */
1116
+ expandAriaLabel?: string;
1117
+ }
1118
+ interface TigerLocalePageHeader {
1119
+ /** Default back-control accessible name */
1120
+ backAriaLabel?: string;
1121
+ }
1122
+ interface TigerLocaleBackTop {
1123
+ /** Default BackTop button accessible name when there is no visible text */
1124
+ ariaLabel?: string;
1125
+ }
1126
+ interface TigerLocaleAnchor {
1127
+ /** Default Anchor landmark name */
1128
+ ariaLabel?: string;
1129
+ }
1130
+ interface TigerLocaleFloatButton {
1131
+ /** Default accessible name for an icon-only FloatButton */
1132
+ ariaLabel?: string;
1133
+ }
1134
+ interface TigerLocaleSpotlight {
1135
+ /** Default command-palette dialog title */
1136
+ title?: string;
1137
+ /** Default search-field placeholder */
1138
+ placeholder?: string;
1139
+ }
1140
+ interface TigerLocaleScrollSpy {
1141
+ /** Default ScrollSpy landmark name */
1142
+ ariaLabel?: string;
1143
+ }
1144
+ interface TigerLocaleSteps {
1145
+ /** Default steps list accessible name */
1146
+ ariaLabel?: string;
1147
+ waitStatus?: string;
1148
+ processStatus?: string;
1149
+ finishStatus?: string;
1150
+ errorStatus?: string;
1151
+ }
1152
+ interface TigerLocaleRate {
1153
+ ariaLabel?: string;
1154
+ /** Template: supports {value} */
1155
+ valueText?: string;
1156
+ }
1157
+ interface TigerLocaleAvatarGroup {
1158
+ ariaLabel?: string;
1159
+ /** Template: supports {count} */
1160
+ overflowAriaLabel?: string;
1161
+ }
1162
+ interface TigerLocaleCarousel {
1163
+ /** Used only when the caller names the carousel; omitted name is not a landmark. */
1164
+ ariaLabel?: string;
1165
+ roleDescription?: string;
1166
+ slideRoleDescription?: string;
1167
+ navigationAriaLabel?: string;
1168
+ previousSlideAriaLabel?: string;
1169
+ nextSlideAriaLabel?: string;
1170
+ pauseAriaLabel?: string;
1171
+ playAriaLabel?: string;
1172
+ /** Template: supports {index} */
1173
+ goToSlideAriaLabel?: string;
1174
+ /** Template: supports {index} and {total} */
1175
+ slideAriaLabel?: string;
1176
+ }
1177
+ interface TigerLocaleTransfer {
1178
+ sourceTitle?: string;
1179
+ targetTitle?: string;
1180
+ /** Template: supports {title} */
1181
+ searchAriaLabel?: string;
1182
+ /** Template: supports {title} */
1183
+ itemsAriaLabel?: string;
1184
+ moveToTargetAriaLabel?: string;
1185
+ moveToSourceAriaLabel?: string;
1186
+ /** Template: supports {title} */
1187
+ selectAllAriaLabel?: string;
1188
+ }
1189
+ interface TigerLocaleChart {
1190
+ legendAriaLabel?: string;
1191
+ /** Template: supports {index}, {x}, {y} */
1192
+ pointAriaLabel?: string;
1193
+ /** Template: supports {index} */
1194
+ seriesName?: string;
1195
+ /** Template: supports {index} */
1196
+ sliceName?: string;
1197
+ /** Template: supports {label}, {value}, {percent} */
1198
+ sliceAriaLabel?: string;
1199
+ /** Template: supports {index} */
1200
+ stageName?: string;
1201
+ /** Template: supports {x}, {y}, {value} */
1202
+ heatmapTooltip?: string;
1203
+ /** Template: supports {label}, {value}, {percent} */
1204
+ treemapTooltip?: string;
1205
+ /** Template: supports {label}, {value}, {percent} */
1206
+ sunburstTooltip?: string;
1207
+ orgChartAriaLabel?: string;
1208
+ ganttAriaLabel?: string;
1209
+ /** Template: supports {label}, {start}, {end}, {progress} */
1210
+ ganttTaskAriaLabel?: string;
1211
+ }
1212
+ interface TigerLocaleCodeEditor {
1213
+ editorAriaLabel?: string;
1214
+ }
1215
+ interface TigerLocaleMarkdownEditor {
1216
+ formattingToolbarAriaLabel?: string;
1217
+ modeToolbarAriaLabel?: string;
1218
+ editorAriaLabel?: string;
1219
+ previewAriaLabel?: string;
1220
+ editModeLabel?: string;
1221
+ splitModeLabel?: string;
1222
+ previewModeLabel?: string;
1223
+ bold?: string;
1224
+ italic?: string;
1225
+ strikethrough?: string;
1226
+ heading?: string;
1227
+ blockquote?: string;
1228
+ unorderedList?: string;
1229
+ orderedList?: string;
1230
+ inlineCode?: string;
1231
+ codeBlock?: string;
1232
+ link?: string;
1233
+ image?: string;
1234
+ table?: string;
1235
+ horizontalRule?: string;
1236
+ placeholderStrong?: string;
1237
+ placeholderEmphasis?: string;
1238
+ placeholderDeleted?: string;
1239
+ placeholderCode?: string;
1240
+ placeholderHeading?: string;
1241
+ placeholderQuote?: string;
1242
+ placeholderListItem?: string;
1243
+ placeholderLinkText?: string;
1244
+ placeholderImageAlt?: string;
1245
+ placeholderTable?: string;
1246
+ }
1247
+ interface TigerLocaleRichTextEditor {
1248
+ formattingToolbarAriaLabel?: string;
1249
+ editorAriaLabel?: string;
1250
+ bold?: string;
1251
+ italic?: string;
1252
+ underline?: string;
1253
+ strikethrough?: string;
1254
+ heading1?: string;
1255
+ heading2?: string;
1256
+ heading3?: string;
1257
+ bulletList?: string;
1258
+ orderedList?: string;
1259
+ blockquote?: string;
1260
+ codeBlock?: string;
1261
+ link?: string;
1262
+ image?: string;
1263
+ horizontalRule?: string;
1264
+ undo?: string;
1265
+ redo?: string;
1266
+ clear?: string;
1267
+ linkPrompt?: string;
1268
+ imagePrompt?: string;
1269
+ }
1270
+ interface TigerLocaleCronEditor {
1271
+ ariaLabel?: string;
1272
+ expressionAriaLabel?: string;
1273
+ presetAriaLabel?: string;
1274
+ presetPlaceholder?: string;
1275
+ everyMinutePreset?: string;
1276
+ hourlyPreset?: string;
1277
+ dailyPreset?: string;
1278
+ weeklyPreset?: string;
1279
+ monthlyPreset?: string;
1280
+ minuteLabel?: string;
1281
+ hourLabel?: string;
1282
+ dayOfMonthLabel?: string;
1283
+ monthLabel?: string;
1284
+ dayOfWeekLabel?: string;
1285
+ modeAnyLabel?: string;
1286
+ modeEveryLabel?: string;
1287
+ modeSpecificLabel?: string;
1288
+ modeRangeLabel?: string;
1289
+ modeCustomLabel?: string;
1290
+ modeAriaLabel?: string;
1291
+ stepAriaLabel?: string;
1292
+ valueAriaLabel?: string;
1293
+ rangeStartAriaLabel?: string;
1294
+ rangeEndAriaLabel?: string;
1295
+ customValueAriaLabel?: string;
1296
+ expressionFieldsError?: string;
1297
+ fieldRequiredError?: string;
1298
+ invalidStepError?: string;
1299
+ stepRangeError?: string;
1300
+ fieldRangeError?: string;
1301
+ rangeOrderError?: string;
1302
+ invalidFieldError?: string;
1303
+ }
1304
+ /**
1305
+ * Built-in form-validation messages.
1306
+ *
1307
+ * Used by `validateRule`/`validateField`/`validateForm` to localize the
1308
+ * default error messages. A per-rule `message` always takes precedence over
1309
+ * these. Range messages support `{min}` / `{max}` placeholders.
1310
+ */
1311
+ interface TigerLocaleFormValidation {
1312
+ /** Required-field message */
1313
+ required?: string;
1314
+ /** Type errors */
1315
+ typeString?: string;
1316
+ typeNumber?: string;
1317
+ typeBoolean?: string;
1318
+ typeArray?: string;
1319
+ typeObject?: string;
1320
+ /** Preset type errors */
1321
+ email?: string;
1322
+ phone?: string;
1323
+ url?: string;
1324
+ date?: string;
1325
+ idCard?: string;
1326
+ /** Range errors — template: supports {min} */
1327
+ minLength?: string;
1328
+ /** Template: supports {max} */
1329
+ maxLength?: string;
1330
+ /** Template: supports {min} */
1331
+ minValue?: string;
1332
+ /** Template: supports {max} */
1333
+ maxValue?: string;
1334
+ /** Template: supports {min} */
1335
+ minItems?: string;
1336
+ /** Template: supports {max} */
1337
+ maxItems?: string;
1338
+ /** Pattern mismatch message */
1339
+ patternMismatch?: string;
1340
+ /** Custom validator returned false */
1341
+ validatorFailed?: string;
1342
+ /** Custom validator threw */
1343
+ validatorError?: string;
1344
+ }
1345
+ /**
1346
+ * InputOTP labels.
1347
+ * @since 2.1.0
1348
+ */
1349
+ interface TigerLocaleInputOTP {
1350
+ /** Accessible label for the slot group */
1351
+ groupLabel?: string;
1352
+ /** Per-slot aria-label — template: supports {index} (1-based) and {total} */
1353
+ slotLabel?: string;
1354
+ }
1355
+ /**
1356
+ * TagsInput labels.
1357
+ * @since 2.1.0
1358
+ */
1359
+ interface TigerLocaleTagsInput {
1360
+ /** Remove-tag button aria-label — template: supports {tag} */
1361
+ removeTagLabel?: string;
1362
+ /** Clear-all button aria-label */
1363
+ clearAllLabel?: string;
1364
+ }
1365
+ /** Input trailing-button labels. */
1366
+ interface TigerLocaleInputLabels {
1367
+ clearAriaLabel?: string;
1368
+ showPasswordAriaLabel?: string;
1369
+ hidePasswordAriaLabel?: string;
1370
+ }
1371
+ /** InputNumber spinbutton and step-button labels. */
1372
+ interface TigerLocaleInputNumber {
1373
+ incrementAriaLabel?: string;
1374
+ decrementAriaLabel?: string;
1375
+ /** Spoken value when the field is empty */
1376
+ emptyAriaValueText?: string;
1377
+ }
1378
+ /** Slider thumb names. */
1379
+ interface TigerLocaleSlider {
1380
+ /** Default accessible name when none is passed */
1381
+ ariaLabel?: string;
1382
+ /** Range thumb name for the lower value */
1383
+ minAriaLabel?: string;
1384
+ /** Range thumb name for the upper value */
1385
+ maxAriaLabel?: string;
1386
+ }
1387
+ /** Stepper group / spinbutton / step-button labels. */
1388
+ interface TigerLocaleStepper {
1389
+ /** Accessible name for the control group */
1390
+ ariaLabel?: string;
1391
+ /** Accessible name for the value spinbutton */
1392
+ valueAriaLabel?: string;
1393
+ incrementAriaLabel?: string;
1394
+ decrementAriaLabel?: string;
1395
+ }
1396
+ interface TigerLocaleSignature {
1397
+ /** Accessible name for the signature pad widget */
1398
+ ariaLabel?: string;
1399
+ /** Undo-last-stroke control */
1400
+ undoText?: string;
1401
+ }
1402
+ interface TigerLocaleNumberKeyboard {
1403
+ /** Accessible name for the keypad group / dialog */
1404
+ ariaLabel?: string;
1405
+ deleteText?: string;
1406
+ decimalAriaLabel?: string;
1407
+ idCardXAriaLabel?: string;
1408
+ }
1409
+ interface TigerLocaleTree {
1410
+ /** Default accessible name for the tree widget */
1411
+ ariaLabel?: string;
1412
+ /** Checkbox name. Template: supports {label} */
1413
+ selectNode?: string;
1414
+ /** Expand-control name (hidden; expansion is on the treeitem) */
1415
+ expand?: string;
1416
+ /** Collapse-control name */
1417
+ collapse?: string;
1418
+ }
1419
+ interface TigerLocale {
1420
+ /** BCP 47 locale identifier, for Intl formatting and direction inference. */
1421
+ locale?: string;
1422
+ /** Text/layout direction. RTL locales should set this to `rtl`. */
1423
+ direction?: TigerLocaleDirection;
1424
+ common?: TigerLocaleCommon;
1425
+ empty?: TigerLocaleEmpty;
1426
+ modal?: TigerLocaleModal;
1427
+ drawer?: TigerLocaleDrawer;
1428
+ alert?: TigerLocaleAlert;
1429
+ qrcode?: TigerLocaleQRCode;
1430
+ marquee?: TigerLocaleMarquee;
1431
+ image?: TigerLocaleImage;
1432
+ imageCompare?: TigerLocaleImageCompare;
1433
+ descriptions?: TigerLocaleDescriptions;
1434
+ list?: TigerLocaleList;
1435
+ scrollArea?: TigerLocaleScrollArea;
1436
+ printLayout?: TigerLocalePrintLayout;
1437
+ timeline?: TigerLocaleTimeline;
1438
+ progress?: TigerLocaleProgress;
1439
+ splitter?: TigerLocaleSplitter;
1440
+ resizable?: TigerLocaleResizable;
1441
+ upload?: TigerLocaleUpload;
1442
+ pagination?: TigerLocalePagination;
1443
+ table?: TigerLocaleTable;
1444
+ datePicker?: Partial<DatePickerLocalePreset>;
1445
+ timePicker?: TigerLocaleTimePicker;
1446
+ dataExport?: TigerLocaleDataExport;
1447
+ formWizard?: TigerLocaleFormWizard;
1448
+ tour?: TigerLocaleTour;
1449
+ calendar?: TigerLocaleCalendar;
1450
+ fileManager?: TigerLocaleFileManager;
1451
+ imageViewer?: TigerLocaleImageViewer;
1452
+ imageEditor?: TigerLocaleImageEditor;
1453
+ status?: TigerLocaleStatus;
1454
+ taskBoard?: TigerLocaleTaskBoard;
1455
+ chatWindow?: TigerLocaleChatWindow;
1456
+ code?: TigerLocaleCode;
1457
+ commentThread?: TigerLocaleCommentThread;
1458
+ activityFeed?: TigerLocaleActivityFeed;
1459
+ notificationCenter?: TigerLocaleNotificationCenter;
1460
+ select?: TigerLocaleSelect;
1461
+ colorPicker?: TigerLocaleColorPicker;
1462
+ tabs?: TigerLocaleTabs;
1463
+ breadcrumb?: TigerLocaleBreadcrumb;
1464
+ pageHeader?: TigerLocalePageHeader;
1465
+ backTop?: TigerLocaleBackTop;
1466
+ anchor?: TigerLocaleAnchor;
1467
+ floatButton?: TigerLocaleFloatButton;
1468
+ spotlight?: TigerLocaleSpotlight;
1469
+ scrollSpy?: TigerLocaleScrollSpy;
1470
+ steps?: TigerLocaleSteps;
1471
+ rate?: TigerLocaleRate;
1472
+ avatarGroup?: TigerLocaleAvatarGroup;
1473
+ carousel?: TigerLocaleCarousel;
1474
+ transfer?: TigerLocaleTransfer;
1475
+ chart?: TigerLocaleChart;
1476
+ codeEditor?: TigerLocaleCodeEditor;
1477
+ markdownEditor?: TigerLocaleMarkdownEditor;
1478
+ richTextEditor?: TigerLocaleRichTextEditor;
1479
+ cronEditor?: TigerLocaleCronEditor;
1480
+ formValidation?: TigerLocaleFormValidation;
1481
+ inputOtp?: TigerLocaleInputOTP;
1482
+ tagsInput?: TigerLocaleTagsInput;
1483
+ input?: TigerLocaleInputLabels;
1484
+ inputNumber?: TigerLocaleInputNumber;
1485
+ slider?: TigerLocaleSlider;
1486
+ stepper?: TigerLocaleStepper;
1487
+ signature?: TigerLocaleSignature;
1488
+ numberKeyboard?: TigerLocaleNumberKeyboard;
1489
+ tree?: TigerLocaleTree;
1490
+ }
1491
+ /**
1492
+ * Flat custom-text overlay for single-language projects that do not need i18n.
1493
+ *
1494
+ * Same shape as `TigerLocale` but without the `locale` code / `direction`
1495
+ * fields — it carries only the component text. Pass it to
1496
+ * `<ConfigProvider locale={defineText({...})} />` for app-wide custom text, or
1497
+ * to a component's `labels` prop for a one-off override. No locale data files
1498
+ * are pulled in, so the bundle stays small.
1499
+ */
1500
+ type TigerText = Omit<Partial<TigerLocale>, 'locale' | 'direction'>;
1501
+ type TigerLocaleLazyModule = Partial<TigerLocale> | {
1502
+ default?: Partial<TigerLocale>;
1503
+ } | Record<string, unknown>;
1504
+ type TigerLocaleLoader = () => PromiseLike<TigerLocaleLazyModule>;
1505
+ type TigerLocaleInput = Partial<TigerLocale> | PromiseLike<TigerLocaleLazyModule> | TigerLocaleLoader;
1506
+
1507
+ export { type TigerLocaleScrollSpy as $, type TigerLocaleFloatButton as A, type TigerLocaleFormValidation as B, type TigerLocaleFormWizard as C, type DatePickerLocalePreset as D, type TigerLocaleImageCompare as E, type FloatingPlacement as F, type TigerLocaleImageEditor as G, type TigerLocaleImage as H, type TigerLocaleImageViewer as I, type TigerLocaleInputLabels as J, type TigerLocaleInputNumber as K, type TigerLocaleInputOTP as L, type TigerLocaleList as M, type TigerLocaleDirection as N, type TigerLocaleMarkdownEditor as O, type TigerLocaleMarquee as P, type TigerLocaleModal as Q, type TigerLocaleNotificationCenter as R, type TigerLocalePageHeader as S, type TigerLocale as T, type TigerLocalePrintLayout as U, type TigerLocaleProgress as V, type TigerLocaleQRCode as W, type TigerLocaleRate as X, type TigerLocaleResizable as Y, type TigerLocaleRichTextEditor as Z, type TigerLocaleScrollArea as _, type DatePickerLabels as a, type TigerLocaleSelect as a0, type TigerLocaleSlider as a1, type TigerLocaleSplitter as a2, type TigerLocaleSpotlight as a3, type TigerLocaleStatus as a4, type TigerLocaleStepper as a5, type TigerLocaleSteps as a6, type TigerLocaleTabs as a7, type TigerLocaleTagsInput as a8, type TigerLocaleTaskBoard as a9, type FloatingOptions as aA, type FloatingResult as aB, type InputProps as aC, type InputType as aD, OVERLAY_Z_INDEX as aE, type TigerLocaleCommon as aF, type TigerLocaleTimePicker as aG, type TigerLocaleTimeline as aH, type TigerLocaleUpload as aI, type TimePickerModelValue as aJ, type TimePickerProps as aK, autoUpdateFloating as aL, computeFloatingPosition as aM, getArrowStyles as aN, getFloatingMiddleware as aO, getPlacementSide as aP, getTransformOrigin as aQ, overlayZIndexClass as aR, type TigerLocaleTour as aa, type TigerLocaleTransfer as ab, type TigerLocaleTree as ac, type TigerLocaleLazyModule as ad, type TigerLocaleLoader as ae, type DatePickerLocaleConfig as af, type TimePickerLabels as ag, type InputStatus as ah, type TigerText as ai, type ComponentSize as aj, type DateFormat as ak, type WeekStartsOn as al, type TimeFormat as am, type BaseLayoutProps as an, type ReferrerPolicyAttr as ao, type CalendarMode as ap, type DatePickerShortcut as aq, type TimePickerRangeTuple as ar, type BaseFormControlProps as as, type BaseInteractiveProps as at, type CalendarProps as au, type DatePickerInputDate as av, type DatePickerModelValue as aw, type DatePickerProps as ax, type FloatingCleanup as ay, type FloatingMiddlewareOptions as az, type TigerLocaleInput as b, type TigerLocalePagination as c, type TigerLocaleTable as d, type TigerLocaleNumberKeyboard as e, type TigerLocaleSignature as f, type TigerLocaleActivityFeed as g, type TigerLocaleAlert as h, type TigerLocaleAnchor as i, type TigerLocaleAvatarGroup as j, type TigerLocaleBackTop as k, type TigerLocaleBreadcrumb as l, type TigerLocaleCalendar as m, type TigerLocaleCarousel as n, type TigerLocaleChart as o, type TigerLocaleChatWindow as p, type TigerLocaleCodeEditor as q, type TigerLocaleCode as r, type TigerLocaleColorPicker as s, type TigerLocaleCommentThread as t, type TigerLocaleCronEditor as u, type TigerLocaleDataExport as v, type TigerLocaleDescriptions as w, type TigerLocaleDrawer as x, type TigerLocaleEmpty as y, type TigerLocaleFileManager as z };