@dimasbaguspm/versaur 0.0.15 → 0.0.17

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 (59) hide show
  1. package/dist/js/bottom-sheet-CHRSxXRE.js +501 -0
  2. package/dist/js/{switch-input-Bx6_2zG9.js → email-input-CVyrFzqL.js} +592 -807
  3. package/dist/js/enforce-subpath-import.js +5 -2
  4. package/dist/js/feedbacks/index.js +1 -1
  5. package/dist/js/{form-layout-4ASWdXn8.js → form-layout-Dhlv-FZL.js} +1 -1
  6. package/dist/js/forms/index.js +17 -14
  7. package/dist/js/{index-DOdDlCoL.js → index-C1uJQB34.js} +2 -2
  8. package/dist/js/index.js +40 -37
  9. package/dist/js/layouts/index.js +1 -1
  10. package/dist/js/modal-FqewbVts.js +150 -0
  11. package/dist/js/navigation/index.js +1 -1
  12. package/dist/js/overlays/index.js +4 -4
  13. package/dist/js/primitive/index.js +11 -11
  14. package/dist/js/{skeleton-BNZyaRjo.js → skeleton-QEyPZAuF.js} +1 -1
  15. package/dist/js/{tabs-BbOkYchB.js → tabs-DYcTvVao.js} +1 -1
  16. package/dist/js/tile-B9bt2AY6.js +1776 -0
  17. package/dist/types/forms/chip-multiple-input/chip-multiple-input.atoms.d.ts +10 -0
  18. package/dist/types/forms/chip-multiple-input/chip-multiple-input.d.ts +5 -0
  19. package/dist/types/forms/chip-multiple-input/index.d.ts +2 -0
  20. package/dist/types/forms/{chip-input → chip-multiple-input}/types.d.ts +16 -4
  21. package/dist/types/forms/chip-single-input/chip-single-input.atoms.d.ts +10 -0
  22. package/dist/types/forms/chip-single-input/chip-single-input.d.ts +5 -0
  23. package/dist/types/forms/chip-single-input/index.d.ts +1 -0
  24. package/dist/types/forms/chip-single-input/types.d.ts +67 -0
  25. package/dist/types/forms/date-single-picker-input/date-single-picker-input.d.ts +1 -8
  26. package/dist/types/forms/date-single-picker-input/index.d.ts +1 -1
  27. package/dist/types/forms/date-single-picker-input/types.d.ts +12 -66
  28. package/dist/types/forms/email-input/email-input.d.ts +8 -0
  29. package/dist/types/forms/email-input/index.d.ts +2 -0
  30. package/dist/types/forms/email-input/types.d.ts +6 -0
  31. package/dist/types/forms/index.d.ts +5 -1
  32. package/dist/types/forms/price-input/index.d.ts +2 -0
  33. package/dist/types/forms/price-input/price-input.d.ts +6 -0
  34. package/dist/types/forms/price-input/types.d.ts +15 -0
  35. package/dist/types/forms/price-input/use-price-input.d.ts +6 -0
  36. package/dist/types/forms/search-input/index.d.ts +2 -0
  37. package/dist/types/forms/search-input/search-input.d.ts +8 -0
  38. package/dist/types/forms/search-input/types.d.ts +35 -0
  39. package/dist/types/forms/segment-multiple-input/types.d.ts +1 -5
  40. package/dist/types/forms/segment-single-input/types.d.ts +1 -5
  41. package/dist/types/overlays/modal/types.d.ts +1 -1
  42. package/dist/types/primitive/anchor/types.d.ts +8 -2
  43. package/dist/types/primitive/index.d.ts +1 -0
  44. package/package.json +1 -1
  45. package/dist/js/bottom-sheet-Difan0U1.js +0 -340
  46. package/dist/js/calendar-CUjVZ7Ap.js +0 -811
  47. package/dist/js/menu-Bm-yPIMN.js +0 -310
  48. package/dist/js/tile-DLmZbkgG.js +0 -891
  49. package/dist/types/forms/chip-input/chip-input.atoms.d.ts +0 -10
  50. package/dist/types/forms/chip-input/chip-input.d.ts +0 -5
  51. package/dist/types/forms/chip-input/index.d.ts +0 -2
  52. package/dist/types/forms/date-range-picker-input/date-range-picker-input.d.ts +0 -10
  53. package/dist/types/forms/date-range-picker-input/index.d.ts +0 -2
  54. package/dist/types/forms/date-range-picker-input/types.d.ts +0 -64
  55. package/dist/types/forms/date-range-picker-input/use-date-range-picker.d.ts +0 -13
  56. package/dist/types/forms/date-single-picker-input/date-single-picker-input.atoms.d.ts +0 -13
  57. package/dist/types/forms/date-single-picker-input/date-single-picker-input.docked.d.ts +0 -14
  58. package/dist/types/forms/date-single-picker-input/date-single-picker-input.modal.d.ts +0 -15
  59. package/dist/types/forms/date-single-picker-input/use-date-single-picker.d.ts +0 -10
@@ -1,8 +1,8 @@
1
- import { c as cva, j as jsxRuntimeExports, a as cn } from "./index-DOdDlCoL.js";
2
- import React__default, { useState, useRef, createContext, useContext, useEffect, useId, useCallback } from "react";
3
- import { I as Icon, C as Calculator, B as Button, b as Calendar, T as Text } from "./calendar-CUjVZ7Ap.js";
4
- import { a as Modal, M as Menu } from "./menu-Bm-yPIMN.js";
5
- import { CalculatorIcon, Check, Clock } from "lucide-react";
1
+ import { a as cva, j as jsxRuntimeExports, c as cn } from "./index-C1uJQB34.js";
2
+ import React__default, { useState, useRef, createContext, useContext, forwardRef, useId, useEffect } from "react";
3
+ import { I as Icon, C as Calculator, d as Button, h as Text } from "./tile-B9bt2AY6.js";
4
+ import { M as Modal } from "./modal-FqewbVts.js";
5
+ import { CalculatorIcon, Check, Calendar, SearchIcon, Clock, Banknote, MailIcon } from "lucide-react";
6
6
  const textInputVariants = cva(
7
7
  "block w-full rounded-md border bg-white transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none disabled:bg-gray-50",
8
8
  {
@@ -39,64 +39,64 @@ const textInputVariants = cva(
39
39
  ({
40
40
  variant: e = "primary",
41
41
  label: t,
42
- leftContent: n,
43
- rightContent: o,
44
- helperText: s,
45
- error: c,
42
+ leftContent: i,
43
+ rightContent: s,
44
+ helperText: n,
45
+ error: l,
46
46
  className: u,
47
- disabled: a,
47
+ disabled: o,
48
48
  id: r,
49
- ...i
49
+ ...d
50
50
  }, x) => {
51
- const l = React__default.useId(), g = r || l, d = !!c;
51
+ const c = React__default.useId(), a = r || c, g = !!l;
52
52
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
53
53
  t && /* @__PURE__ */ jsxRuntimeExports.jsx(
54
54
  "label",
55
55
  {
56
- htmlFor: g,
56
+ htmlFor: a,
57
57
  className: "block text-sm font-medium text-foreground mb-2",
58
58
  children: t
59
59
  }
60
60
  ),
61
61
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("relative w-full", u), children: [
62
- n && /* @__PURE__ */ jsxRuntimeExports.jsx(
62
+ i && /* @__PURE__ */ jsxRuntimeExports.jsx(
63
63
  "span",
64
64
  {
65
65
  className: "absolute left-2.5 top-0 bottom-0 pointer-events-none text-gray-500 flex items-center justify-center w-5",
66
66
  "data-testid": "left-content",
67
- children: n
67
+ children: i
68
68
  }
69
69
  ),
70
70
  /* @__PURE__ */ jsxRuntimeExports.jsx(
71
71
  "input",
72
72
  {
73
73
  ref: x,
74
- id: g,
75
- "aria-invalid": d,
76
- "aria-disabled": a,
77
- disabled: a,
74
+ id: a,
75
+ "aria-invalid": g,
76
+ "aria-disabled": o,
77
+ disabled: o,
78
78
  className: cn(
79
79
  textInputVariants({
80
- variant: d ? "danger" : e
80
+ variant: g ? "danger" : e
81
81
  }),
82
- n ? "pl-9" : "pl-3",
83
- o ? "pr-9" : "pr-3",
82
+ i ? "pl-9" : "pl-3",
83
+ s ? "pr-9" : "pr-3",
84
84
  "h-10"
85
85
  ),
86
- ...i
86
+ ...d
87
87
  }
88
88
  ),
89
- o && /* @__PURE__ */ jsxRuntimeExports.jsx(
89
+ s && /* @__PURE__ */ jsxRuntimeExports.jsx(
90
90
  "span",
91
91
  {
92
92
  className: "absolute right-2.5 top-0 bottom-0 pointer-events-none text-gray-500 flex items-center justify-center w-5",
93
93
  "data-testid": "right-content",
94
- children: o
94
+ children: s
95
95
  }
96
96
  )
97
97
  ] }),
98
- d && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: c }),
99
- !d && s && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-gray-600", children: s })
98
+ g && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: l }),
99
+ !g && n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-gray-600", children: n })
100
100
  ] });
101
101
  }
102
102
  );
@@ -281,42 +281,42 @@ const DEFAULT_HEADER = "Enter Amount", CalculatorInput = ({
281
281
  if (!e)
282
282
  throw new Error("CheckboxOption must be used within CheckboxInput");
283
283
  return e;
284
- }, CheckboxOption = React__default.forwardRef(({ children: e, description: t, className: n, disabled: o, id: s, ...c }, u) => {
285
- const a = useCheckboxContext(), r = React__default.useId(), i = s || r, x = o || a.disabled, l = a.error ? "danger" : a.variant || "primary";
284
+ }, CheckboxOption = React__default.forwardRef(({ children: e, description: t, className: i, disabled: s, id: n, ...l }, u) => {
285
+ const o = useCheckboxContext(), r = React__default.useId(), d = n || r, x = s || o.disabled, c = o.error ? "danger" : o.variant || "primary";
286
286
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
287
287
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative flex items-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
288
288
  "input",
289
289
  {
290
290
  ref: u,
291
291
  type: "checkbox",
292
- id: i,
292
+ id: d,
293
293
  disabled: x,
294
294
  className: cn(
295
295
  checkboxVariants({
296
- variant: l,
297
- size: a.size
296
+ variant: c,
297
+ size: o.size
298
298
  }),
299
299
  // Custom checkmark styling using ::after - centered positioning with size variants
300
300
  'after:content-[""] after:absolute after:left-1/2 after:top-[45%] after:-translate-x-1/2 after:-translate-y-1/2 after:border-b-2 after:border-r-2 after:border-white after:rotate-45 after:opacity-0 after:transition-opacity after:duration-200',
301
301
  // Size-specific checkmark dimensions
302
- a.size === "sm" && "after:w-[3px] after:h-[6px]",
303
- a.size === "md" && "after:w-[4px] after:h-[8px]",
304
- a.size === "lg" && "after:w-[6px] after:h-[10px]",
302
+ o.size === "sm" && "after:w-[3px] after:h-[6px]",
303
+ o.size === "md" && "after:w-[4px] after:h-[8px]",
304
+ o.size === "lg" && "after:w-[6px] after:h-[10px]",
305
305
  "checked:after:opacity-100",
306
306
  // Outline variants use colored checkmark
307
- l?.includes("outline") && "checked:after:border-current",
308
- n
307
+ c?.includes("outline") && "checked:after:border-current",
308
+ i
309
309
  ),
310
- ...c
310
+ ...l
311
311
  }
312
312
  ) }),
313
313
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1", children: [
314
314
  /* @__PURE__ */ jsxRuntimeExports.jsx(
315
315
  "label",
316
316
  {
317
- htmlFor: i,
317
+ htmlFor: d,
318
318
  className: checkboxLabelVariants({
319
- size: a.size,
319
+ size: o.size,
320
320
  disabled: x
321
321
  }),
322
322
  children: e
@@ -327,9 +327,9 @@ const DEFAULT_HEADER = "Enter Amount", CalculatorInput = ({
327
327
  {
328
328
  className: cn(
329
329
  "text-gray-600 mt-1",
330
- a.size === "sm" && "text-xs",
331
- a.size === "md" && "text-xs",
332
- a.size === "lg" && "text-sm",
330
+ o.size === "sm" && "text-xs",
331
+ o.size === "md" && "text-xs",
332
+ o.size === "lg" && "text-sm",
333
333
  x && "opacity-50"
334
334
  ),
335
335
  children: t
@@ -343,43 +343,41 @@ const CheckboxInputRoot = React__default.forwardRef(
343
343
  ({
344
344
  variant: e = "primary",
345
345
  size: t = "md",
346
- label: n,
347
- helperText: o,
348
- error: s,
349
- direction: c = "vertical",
346
+ label: i,
347
+ helperText: s,
348
+ error: n,
349
+ direction: l = "vertical",
350
350
  className: u,
351
- disabled: a,
351
+ disabled: o,
352
352
  children: r,
353
- ...i
353
+ ...d
354
354
  }, x) => {
355
- const l = !!s, g = {
355
+ const c = !!n, a = {
356
356
  variant: e,
357
357
  size: t,
358
- disabled: a,
359
- error: l
358
+ disabled: o,
359
+ error: c
360
360
  };
361
- return /* @__PURE__ */ jsxRuntimeExports.jsx(CheckboxContext.Provider, { value: g, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: x, className: cn("w-full", u), ...i, children: [
362
- n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: n }),
363
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: checkboxGroupVariants({ direction: c }), children: r }),
364
- l && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: s }),
365
- !l && o && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: o })
361
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(CheckboxContext.Provider, { value: a, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: x, className: cn("w-full", u), ...d, children: [
362
+ i && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: i }),
363
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: checkboxGroupVariants({ direction: l }), children: r }),
364
+ c && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
365
+ !c && s && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
366
366
  ] }) });
367
367
  }
368
368
  );
369
369
  CheckboxInputRoot.displayName = "CheckboxInput";
370
370
  const CheckboxInput = Object.assign(CheckboxInputRoot, {
371
371
  Option: CheckboxOption
372
- }), ChipInputContext = createContext(
373
- null
374
- ), useChipInputContext = () => {
375
- const e = useContext(ChipInputContext);
372
+ }), ChipMultipleInputContext = createContext(null), useChipMultipleInputContext = () => {
373
+ const e = useContext(ChipMultipleInputContext);
376
374
  if (!e)
377
- throw new Error("useChipInputContext must be used within ChipInputContext");
375
+ throw new Error(
376
+ "useChipMultipleInputContext must be used within ChipMultipleInputContext"
377
+ );
378
378
  return e;
379
379
  }, chipOptionVariants = cva(
380
- [
381
- "inline-flex items-center bg-white font-regular transition-colors duration-200 cursor-pointer border border-border"
382
- ].join(" "),
380
+ "inline-flex items-center bg-white font-regular transition-colors duration-200 cursor-pointer border border-border",
383
381
  {
384
382
  variants: {
385
383
  variant: {
@@ -456,83 +454,77 @@ const CheckboxInput = Object.assign(CheckboxInputRoot, {
456
454
  rounded: "rounded-lg"
457
455
  },
458
456
  size: {
459
- sm: "px-2 py-1 text-xs gap-1",
460
- md: "px-3 py-1.5 text-sm gap-1.5",
461
- lg: "px-4 py-2 text-base gap-2"
457
+ sm: "px-3 py-1 text-xs min-h-[32px]",
458
+ md: "px-4 py-2 text-sm min-h-[40px]",
459
+ lg: "px-5 py-2.5 text-base min-h-[48px]"
462
460
  }
463
- },
464
- defaultVariants: {
465
- variant: "primary",
466
- selected: !1,
467
- shape: "circle",
468
- size: "sm"
469
461
  }
470
462
  }
471
- ), ChipOption = React__default.forwardRef(
463
+ ), ChipMultipleOption = React__default.forwardRef(
472
464
  ({
473
465
  children: e,
474
466
  className: t,
475
- disabled: n,
476
- id: o,
477
- value: s,
478
- check: c,
467
+ disabled: i,
468
+ id: s,
469
+ value: n,
470
+ check: l,
479
471
  defaultCheck: u = !1,
480
- ...a
472
+ ...o
481
473
  }, r) => {
482
- const i = useChipInputContext(), x = React__default.useId(), l = o || x, g = n || i.disabled, d = i.error ? "danger" : i.variant || "primary", m = i.shape || "circle", f = i.size || "sm", h = i.value?.includes(s) ?? !1, w = (j) => {
483
- if (!g) {
484
- const b = i.value || [];
474
+ const d = useChipMultipleInputContext(), x = React__default.useId(), c = s || x, a = i || d.disabled, g = d.error ? "danger" : d.variant || "primary", h = d.shape || "circle", b = d.size || "sm", f = d.value?.includes(n) ?? !1, y = (w) => {
475
+ if (!a) {
476
+ const R = d.value || [];
485
477
  let C;
486
- h ? C = b.filter((I) => I !== s) : C = [...b, s], i.onChange?.(C);
478
+ f ? C = R.filter((k) => k !== n) : C = [...R, n], d.onChange?.(C);
487
479
  }
488
- a.onChange?.(j);
489
- }, y = f === "lg" ? 20 : f === "md" ? 18 : 16;
480
+ o.onChange?.(w);
481
+ }, m = b === "lg" ? 20 : b === "md" ? 18 : 16;
490
482
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
491
483
  /* @__PURE__ */ jsxRuntimeExports.jsx(
492
484
  "input",
493
485
  {
494
486
  ref: r,
495
487
  type: "checkbox",
496
- id: l,
497
- name: `${i.name}[]`,
498
- value: s,
499
- checked: h,
500
- disabled: g,
501
- onChange: w,
488
+ id: c,
489
+ name: `${d.name}[]`,
490
+ value: n,
491
+ checked: f,
492
+ disabled: a,
493
+ onChange: y,
502
494
  className: "sr-only",
503
- ...a
495
+ ...o
504
496
  }
505
497
  ),
506
498
  /* @__PURE__ */ jsxRuntimeExports.jsx(
507
499
  "label",
508
500
  {
509
- htmlFor: l,
510
- "data-selected": h,
501
+ htmlFor: c,
502
+ "data-selected": f,
511
503
  className: cn(
512
504
  chipOptionVariants({
513
- variant: d,
514
- selected: h,
515
- shape: m,
516
- size: f
505
+ variant: g,
506
+ selected: f,
507
+ shape: h,
508
+ size: b
517
509
  }),
518
- g && "opacity-50 cursor-not-allowed pointer-events-none",
510
+ a && "opacity-50 cursor-not-allowed pointer-events-none",
519
511
  t
520
512
  ),
521
513
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex items-center", children: [
522
- (c || u) && /* @__PURE__ */ jsxRuntimeExports.jsx(
514
+ (l || u) && /* @__PURE__ */ jsxRuntimeExports.jsx(
523
515
  "span",
524
516
  {
525
517
  className: cn(
526
518
  "flex items-center",
527
519
  "transition-transform transition-opacity duration-200",
528
- h ? "opacity-100 scale-100 mr-1" : "opacity-0 scale-75"
520
+ f ? "opacity-100 scale-100 mr-1" : "opacity-0 scale-75"
529
521
  ),
530
522
  "aria-hidden": "true",
531
- children: h && (c || /* @__PURE__ */ jsxRuntimeExports.jsx(
523
+ children: f && (l || /* @__PURE__ */ jsxRuntimeExports.jsx(
532
524
  Check,
533
525
  {
534
- size: y,
535
- className: d === "primary" ? "text-primary" : d === "secondary" ? "text-secondary" : d === "tertiary" ? "text-tertiary" : d === "ghost" ? "text-ghost" : d === "success" ? "text-success" : d === "info" ? "text-info" : d === "warning" ? "text-warning" : d === "danger" ? "text-danger" : "text-primary"
526
+ size: m,
527
+ className: g === "primary" ? "text-primary" : g === "secondary" ? "text-secondary" : g === "tertiary" ? "text-tertiary" : g === "ghost" ? "text-ghost" : g === "success" ? "text-success" : g === "info" ? "text-info" : g === "warning" ? "text-warning" : g === "danger" ? "text-danger" : "text-primary"
536
528
  }
537
529
  ))
538
530
  }
@@ -544,299 +536,96 @@ const CheckboxInput = Object.assign(CheckboxInputRoot, {
544
536
  ] });
545
537
  }
546
538
  );
547
- ChipOption.displayName = "ChipOption";
548
- const ChipInputRoot = React__default.forwardRef(
539
+ ChipMultipleOption.displayName = "ChipMultipleOption";
540
+ const ChipMultipleInputRoot = React__default.forwardRef(
549
541
  ({
550
542
  variant: e = "primary",
551
543
  shape: t = "circle",
552
- size: n = "sm",
553
- label: o,
554
- helperText: s,
555
- error: c,
544
+ size: i = "sm",
545
+ label: s,
546
+ helperText: n,
547
+ error: l,
556
548
  className: u,
557
- disabled: a,
549
+ disabled: o,
558
550
  name: r,
559
- value: i = [],
551
+ value: d = [],
560
552
  onChange: x,
561
- children: l,
562
- ...g
563
- }, d) => {
564
- const m = !!c, f = {
553
+ children: c,
554
+ ...a
555
+ }, g) => {
556
+ const h = !!l, b = {
565
557
  variant: e,
566
558
  shape: t,
567
- size: n,
568
- disabled: a,
569
- error: m,
559
+ size: i,
560
+ disabled: o,
561
+ error: h,
570
562
  name: r,
571
- value: i,
563
+ value: d,
572
564
  onChange: x
573
565
  };
574
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ChipInputContext.Provider, { value: f, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: d, className: cn("w-full", u), ...g, children: [
575
- o && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: o }),
576
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-2", children: l }),
577
- m && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: c }),
578
- !m && s && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
566
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ChipMultipleInputContext.Provider, { value: b, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: g, className: cn("w-full", u), ...a, children: [
567
+ s && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: s }),
568
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-2", children: c }),
569
+ h && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: l }),
570
+ !h && n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: n })
579
571
  ] }) });
580
572
  }
581
- ), ChipInput = Object.assign(ChipInputRoot, {
582
- Option: ChipOption
583
- }), dateSinglePickerInputVariants = textInputVariants, DateSinglePickerTrigger = React__default.forwardRef(
584
- ({
585
- leftContent: e,
586
- rightContent: t,
587
- hasError: n,
588
- variant: o = "primary",
589
- value: s,
590
- placeholder: c = "Select date",
591
- formatDate: u,
592
- className: a,
593
- ...r
594
- }, i) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
595
- "button",
596
- {
597
- ref: i,
598
- type: "button",
599
- "aria-invalid": n,
600
- className: cn(
601
- dateSinglePickerInputVariants({
602
- variant: n ? "danger" : o
603
- }),
604
- e ? "pl-9" : "pl-3",
605
- t ? "pr-9" : "pr-3",
606
- "h-10 flex items-center justify-between cursor-pointer w-full relative",
607
- "text-left",
608
- a
609
- ),
610
- ...r,
611
- children: [
612
- e && /* @__PURE__ */ jsxRuntimeExports.jsx(
613
- "span",
614
- {
615
- className: "absolute left-2.5 top-0 bottom-0 pointer-events-none text-gray-500 flex items-center justify-center w-5",
616
- "data-testid": "left-content",
617
- children: e
618
- }
619
- ),
620
- /* @__PURE__ */ jsxRuntimeExports.jsx(
621
- "span",
622
- {
623
- className: cn(
624
- "flex-1",
625
- e ? "ml-2" : "",
626
- t ? "mr-2" : ""
627
- ),
628
- children: u ? u(s) : c
629
- }
630
- ),
631
- t && /* @__PURE__ */ jsxRuntimeExports.jsx(
632
- "span",
633
- {
634
- className: "absolute right-2.5 top-0 bottom-0 pointer-events-none text-gray-500 flex items-center justify-center w-5",
635
- "data-testid": "right-content",
636
- children: t
637
- }
638
- )
639
- ]
640
- }
641
- )
642
- );
643
- DateSinglePickerTrigger.displayName = "DateSinglePickerTrigger";
644
- const DateSinglePickerDocked = ({
645
- open: e,
646
- value: t,
647
- onChange: n,
648
- handleMenuClose: o
649
- }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Menu, { isOpen: e, onOutsideClick: o, children: [
650
- /* @__PURE__ */ jsxRuntimeExports.jsx(Menu.Trigger, { className: "absolute top-[90%] left-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-hidden": "true" }) }),
651
- /* @__PURE__ */ jsxRuntimeExports.jsx(Menu.Content, { className: "drop-shadow-lg rounded-lg bg-white border border-neutral", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
652
- Calendar,
653
- {
654
- value: t,
655
- onChange: (s) => {
656
- s instanceof Date && n(s);
657
- }
658
- }
659
- ) })
660
- ] }), DateSinglePickerModal = ({
661
- open: e,
662
- setOpen: t,
663
- value: n,
664
- onChange: o,
665
- label: s,
666
- buttonRef: c
667
- }) => {
668
- const [u, a] = useState(
669
- n
670
- );
671
- useEffect(() => {
672
- a(n);
673
- }, [n, e]);
674
- const r = () => {
675
- t(!1), a(n), c.current?.focus();
676
- }, i = () => {
677
- u && (o(u), t(!1), c.current?.focus());
678
- };
679
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
680
- Modal,
681
- {
682
- isOpen: e,
683
- onOpenChange: t,
684
- placement: "top",
685
- size: "md",
686
- "aria-label": s ? String(s) : "Select date",
687
- disableOverlayClose: !1,
688
- disableEscClose: !1,
689
- children: [
690
- /* @__PURE__ */ jsxRuntimeExports.jsx(Modal.Body, { className: "px-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
691
- Calendar,
692
- {
693
- value: u,
694
- onChange: (x) => {
695
- x instanceof Date && a(x);
696
- }
697
- }
698
- ) }),
699
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Modal.Footer, { className: "px-6", children: [
700
- /* @__PURE__ */ jsxRuntimeExports.jsx(
701
- Button,
702
- {
703
- onClick: r,
704
- variant: "ghost",
705
- type: "button",
706
- size: "sm",
707
- children: "Cancel"
708
- }
709
- ),
710
- /* @__PURE__ */ jsxRuntimeExports.jsx(
711
- Button,
712
- {
713
- onClick: i,
714
- variant: "primary",
715
- type: "button",
716
- disabled: !u,
717
- size: "sm",
718
- children: "Confirm"
719
- }
720
- )
721
- ] })
722
- ]
723
- }
724
- );
725
- };
726
- function useDateSinglePicker({ id: e }) {
727
- const [t, n] = useState(!1), o = useId(), s = e || o, c = useRef(null), u = useCallback(
728
- (r) => {
729
- (r.key === "ArrowDown" || r.key === "Enter" || r.key === " ") && n(!0);
730
- },
731
- []
732
- ), a = useCallback(() => {
733
- n(!1), c.current?.focus();
734
- }, []);
735
- return {
736
- open: t,
737
- setOpen: n,
738
- inputId: s,
739
- buttonRef: c,
740
- handleKeyDown: u,
741
- handleMenuClose: a
742
- };
573
+ ), ChipMultipleInput = Object.assign(ChipMultipleInputRoot, {
574
+ Option: ChipMultipleOption
575
+ });
576
+ function defaultDateFormatter(e) {
577
+ if (!e) return "";
578
+ const t = new Date(e);
579
+ return isNaN(t.getTime()) ? e : t.toLocaleDateString(void 0, {
580
+ year: "numeric",
581
+ month: "short",
582
+ day: "numeric"
583
+ });
743
584
  }
744
- const DateSinglePickerInput = React__default.forwardRef(
745
- ({
746
- value: e,
747
- onChange: t,
748
- label: n,
749
- leftContent: o,
750
- rightContent: s,
751
- helperText: c,
752
- error: u,
753
- variant: a = "primary",
754
- disabled: r,
755
- placeholder: i = "Select date",
756
- id: x,
757
- type: l = "docked",
758
- ...g
759
- }, d) => {
760
- if (e === void 0 || typeof t != "function")
761
- throw new Error(
762
- "DateSinglePickerInput is a controlled component: value and onChange are required."
763
- );
764
- const {
765
- open: m,
766
- setOpen: f,
767
- inputId: h,
768
- buttonRef: w,
769
- handleKeyDown: y,
770
- handleMenuClose: j
771
- } = useDateSinglePicker({ id: x }), b = !!u, C = (R) => R ? R.toLocaleDateString(void 0, {
772
- year: "numeric",
773
- month: "short",
774
- day: "numeric"
775
- }) : typeof i == "string" ? i : "Select date", I = (R) => typeof g.formatDate == "function" ? g.formatDate(R) : C(R), k = () => f((R) => !R), p = y, E = (R) => {
776
- t?.(R), w.current?.focus();
777
- };
778
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative w-full", children: [
779
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
780
- n && /* @__PURE__ */ jsxRuntimeExports.jsx(
781
- "label",
782
- {
783
- htmlFor: h,
784
- className: "block text-sm font-medium text-foreground mb-2",
785
- children: n
786
- }
787
- ),
788
- /* @__PURE__ */ jsxRuntimeExports.jsx(
789
- DateSinglePickerTrigger,
790
- {
791
- ref: (R) => {
792
- w.current = R, typeof d == "function" ? d(R) : d && (d.current = R);
793
- },
794
- id: h,
795
- "aria-haspopup": "dialog",
796
- "aria-expanded": m,
797
- "aria-controls": m ? `${h}-calendar` : void 0,
798
- "aria-invalid": b,
799
- "aria-disabled": r,
800
- disabled: r,
801
- leftContent: o,
802
- rightContent: s,
803
- hasError: b,
804
- variant: a,
805
- value: e,
806
- placeholder: typeof i == "string" ? i : "Select date",
807
- formatDate: I,
808
- onClick: k,
809
- onKeyDown: p,
810
- tabIndex: 0,
811
- ...g
812
- }
813
- ),
814
- b && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: u }),
815
- c && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-muted-foreground", children: c })
816
- ] }),
817
- l === "docked" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
818
- DateSinglePickerDocked,
819
- {
820
- open: m,
821
- value: e,
822
- onChange: E,
823
- inputId: h,
824
- handleMenuClose: j
825
- }
826
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx(
827
- DateSinglePickerModal,
828
- {
829
- open: m,
830
- setOpen: f,
831
- value: e,
832
- onChange: E,
833
- label: typeof n == "string" ? n : void 0,
834
- buttonRef: w
835
- }
836
- )
837
- ] });
838
- }
839
- ), radioGroupVariants = cva("space-y-2", {
585
+ const DateSinglePickerInput = React__default.forwardRef(function e({ value: t = "", onChange: i, label: s, formatter: n, ...l }, u) {
586
+ const o = useRef(null), r = (a) => {
587
+ o.current = a, typeof u == "function" ? u(a) : u && typeof u == "object" && (u.current = a);
588
+ }, d = () => {
589
+ o.current && (typeof o.current.showPicker == "function" ? o.current.showPicker() : o.current.focus());
590
+ }, x = (a) => {
591
+ i(a.target.value);
592
+ }, c = (n ?? defaultDateFormatter)(t);
593
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
594
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
595
+ TextInput,
596
+ {
597
+ type: "text",
598
+ value: c,
599
+ label: s,
600
+ readOnly: !0,
601
+ tabIndex: 0,
602
+ "aria-hidden": "true",
603
+ onClick: d,
604
+ leftContent: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: Calendar, color: "inherit", size: "sm" }),
605
+ "data-testid": "date-single-picker-visible-input",
606
+ ...l
607
+ }
608
+ ),
609
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
610
+ "input",
611
+ {
612
+ ref: r,
613
+ type: "date",
614
+ value: t,
615
+ onChange: x,
616
+ style: {
617
+ position: "absolute",
618
+ opacity: 0,
619
+ pointerEvents: "none",
620
+ width: 0,
621
+ height: 0
622
+ },
623
+ tabIndex: -1,
624
+ "aria-label": typeof s == "string" ? s : void 0
625
+ }
626
+ )
627
+ ] });
628
+ }), radioGroupVariants = cva("space-y-2", {
840
629
  variants: {
841
630
  direction: {
842
631
  vertical: "space-y-2 space-x-0",
@@ -913,21 +702,21 @@ const DateSinglePickerInput = React__default.forwardRef(
913
702
  );
914
703
  return e;
915
704
  }, RadioOption = React__default.forwardRef(
916
- ({ children: e, description: t, className: n, disabled: o, id: s, value: c, ...u }, a) => {
917
- const r = useRadioInputContext(), i = React__default.useId(), x = s || i, l = o || r.disabled, g = r.error ? "danger" : r.variant || "primary";
705
+ ({ children: e, description: t, className: i, disabled: s, id: n, value: l, ...u }, o) => {
706
+ const r = useRadioInputContext(), d = React__default.useId(), x = n || d, c = s || r.disabled, a = r.error ? "danger" : r.variant || "primary";
918
707
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
919
708
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative flex items-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
920
709
  "input",
921
710
  {
922
- ref: a,
711
+ ref: o,
923
712
  type: "radio",
924
713
  id: x,
925
714
  name: r.name,
926
- value: c,
927
- disabled: l,
715
+ value: l,
716
+ disabled: c,
928
717
  className: cn(
929
718
  radioOptionVariants({
930
- variant: g,
719
+ variant: a,
931
720
  size: r.size
932
721
  }),
933
722
  // Custom radio dot styling using ::before - centered positioning with size variants
@@ -938,8 +727,8 @@ const DateSinglePickerInput = React__default.forwardRef(
938
727
  r.size === "lg" && "before:w-[10px] before:h-[10px]",
939
728
  "checked:before:opacity-100",
940
729
  // Outline variants use colored radio dot
941
- g?.includes("outline") && "checked:before:bg-current",
942
- n
730
+ a?.includes("outline") && "checked:before:bg-current",
731
+ i
943
732
  ),
944
733
  ...u
945
734
  }
@@ -951,7 +740,7 @@ const DateSinglePickerInput = React__default.forwardRef(
951
740
  htmlFor: x,
952
741
  className: radioLabelVariants({
953
742
  size: r.size,
954
- disabled: l
743
+ disabled: c
955
744
  }),
956
745
  children: e
957
746
  }
@@ -964,7 +753,7 @@ const DateSinglePickerInput = React__default.forwardRef(
964
753
  r.size === "sm" && "text-xs",
965
754
  r.size === "md" && "text-xs",
966
755
  r.size === "lg" && "text-sm",
967
- l && "opacity-50"
756
+ c && "opacity-50"
968
757
  ),
969
758
  children: t
970
759
  }
@@ -976,58 +765,48 @@ const DateSinglePickerInput = React__default.forwardRef(
976
765
  ({
977
766
  variant: e = "primary",
978
767
  size: t = "md",
979
- label: n,
980
- helperText: o,
981
- error: s,
982
- direction: c = "vertical",
768
+ label: i,
769
+ helperText: s,
770
+ error: n,
771
+ direction: l = "vertical",
983
772
  className: u,
984
- disabled: a,
773
+ disabled: o,
985
774
  name: r,
986
- children: i,
775
+ children: d,
987
776
  ...x
988
- }, l) => {
989
- const g = !!s, d = {
777
+ }, c) => {
778
+ const a = !!n, g = {
990
779
  variant: e,
991
780
  size: t,
992
- disabled: a,
993
- error: g,
781
+ disabled: o,
782
+ error: a,
994
783
  name: r
995
784
  };
996
- return /* @__PURE__ */ jsxRuntimeExports.jsx(RadioInputContext.Provider, { value: d, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: l, className: cn("w-full", u), ...x, children: [
997
- n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: n }),
998
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: radioGroupVariants({ direction: c }), children: i }),
999
- g && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: s }),
1000
- !g && o && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: o })
785
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(RadioInputContext.Provider, { value: g, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: c, className: cn("w-full", u), ...x, children: [
786
+ i && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: i }),
787
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: radioGroupVariants({ direction: l }), children: d }),
788
+ a && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
789
+ !a && s && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
1001
790
  ] }) });
1002
791
  }
1003
792
  ), RadioInput = Object.assign(RadioInputRoot, {
1004
793
  Option: RadioOption
1005
794
  }), segmentGroupVariants$1 = cva(
1006
- "inline-flex rounded-lg border overflow-hidden bg-neutral/50 p-1",
795
+ "flex flex-row rounded-full border overflow-hidden p-1 gap-0.25",
1007
796
  {
1008
797
  variants: {
1009
798
  variant: {
1010
799
  // Core variants using Versaur color system
1011
- primary: "border-primary/20",
1012
- secondary: "border-secondary/20",
1013
- tertiary: "border-tertiary/20",
1014
- ghost: "border-ghost/20",
800
+ primary: "border-primary-light",
801
+ secondary: "border-secondary-light",
802
+ tertiary: "border-tertiary-light",
803
+ ghost: "border-ghost-light",
1015
804
  neutral: "border-gray-200",
1016
- // Outline variants
1017
- "primary-outline": "border-primary",
1018
- "secondary-outline": "border-secondary",
1019
- "tertiary-outline": "border-tertiary",
1020
- "ghost-outline": "border-ghost",
1021
- "neutral-outline": "border-gray-400",
1022
805
  // Semantic variants
1023
- success: "border-success/20",
1024
- "success-outline": "border-success",
1025
- info: "border-info/20",
1026
- "info-outline": "border-info",
1027
- warning: "border-warning/20",
1028
- "warning-outline": "border-warning",
1029
- danger: "border-danger/20",
1030
- "danger-outline": "border-danger"
806
+ success: "border-success-light",
807
+ info: "border-info-light",
808
+ warning: "border-warning-light",
809
+ danger: "border-danger-light"
1031
810
  },
1032
811
  size: {
1033
812
  sm: "text-xs",
@@ -1046,7 +825,7 @@ const DateSinglePickerInput = React__default.forwardRef(
1046
825
  }
1047
826
  }
1048
827
  ), segmentOptionVariants$1 = cva(
1049
- "relative flex flex-row items-center px-3 py-2 text-center font-medium transition-all duration-200 cursor-pointer border-0 bg-transparent outline-none focus:ring-2 focus:ring-offset-1",
828
+ "inline relative flex flex-row items-center px-3 py-2 text-center font-medium transition-all duration-200 cursor-pointer border-0 bg-transparent outline-none focus:ring-2 focus:ring-offset-1 flex-1",
1050
829
  {
1051
830
  variants: {
1052
831
  variant: {
@@ -1056,21 +835,11 @@ const DateSinglePickerInput = React__default.forwardRef(
1056
835
  tertiary: "text-ghost hover:text-tertiary focus:ring-tertiary/30",
1057
836
  ghost: "text-ghost hover:text-ghost focus:ring-ghost/30",
1058
837
  neutral: "text-ghost hover:text-gray-700 focus:ring-gray-400/30",
1059
- // Outline variants
1060
- "primary-outline": "text-primary hover:bg-primary/10 focus:ring-primary/30",
1061
- "secondary-outline": "text-secondary hover:bg-secondary/10 focus:ring-secondary/30",
1062
- "tertiary-outline": "text-tertiary hover:bg-tertiary/10 focus:ring-tertiary/30",
1063
- "ghost-outline": "text-ghost hover:bg-ghost/10 focus:ring-ghost/30",
1064
- "neutral-outline": "text-gray-600 hover:bg-gray-100 focus:ring-gray-500/30",
1065
838
  // Semantic variants
1066
839
  success: "text-ghost hover:text-success focus:ring-success/30",
1067
- "success-outline": "text-success hover:bg-success/10 focus:ring-success/30",
1068
840
  info: "text-ghost hover:text-info focus:ring-info/30",
1069
- "info-outline": "text-info hover:bg-info/10 focus:ring-info/30",
1070
841
  warning: "text-ghost hover:text-warning focus:ring-warning/30",
1071
- "warning-outline": "text-warning hover:bg-warning/10 focus:ring-warning/30",
1072
- danger: "text-ghost hover:text-danger focus:ring-danger/30",
1073
- "danger-outline": "text-danger hover:bg-danger/10 focus:ring-danger/30"
842
+ danger: "text-ghost hover:text-danger focus:ring-danger/30"
1074
843
  },
1075
844
  size: {
1076
845
  sm: "px-2 py-1.5 text-xs",
@@ -1078,10 +847,10 @@ const DateSinglePickerInput = React__default.forwardRef(
1078
847
  lg: "px-4 py-2.5 text-base"
1079
848
  },
1080
849
  rounded: {
1081
- first: "rounded-l-md",
850
+ first: "rounded-l-full",
1082
851
  middle: "",
1083
- last: "rounded-r-md",
1084
- single: "rounded-md"
852
+ last: "rounded-r-full",
853
+ single: "rounded-full"
1085
854
  }
1086
855
  },
1087
856
  defaultVariants: {
@@ -1093,26 +862,16 @@ const DateSinglePickerInput = React__default.forwardRef(
1093
862
  ), getSegmentSelectedClasses$1 = (e) => {
1094
863
  const t = {
1095
864
  // Core variants - override hover text color changes
1096
- primary: "bg-primary text-white shadow-sm hover:text-white",
1097
- secondary: "bg-secondary text-white shadow-sm hover:text-white",
1098
- tertiary: "bg-tertiary text-white shadow-sm hover:text-white",
1099
- ghost: "bg-ghost text-white shadow-sm hover:text-white",
1100
- neutral: "bg-gray-500 text-white shadow-sm hover:text-white",
1101
- // Outline variants - override hover text color changes
1102
- "primary-outline": "bg-primary text-white shadow-sm hover:text-white",
1103
- "secondary-outline": "bg-secondary text-white shadow-sm hover:text-white",
1104
- "tertiary-outline": "bg-tertiary text-white shadow-sm hover:text-white",
1105
- "ghost-outline": "bg-ghost text-white shadow-sm hover:text-white",
1106
- "neutral-outline": "bg-gray-500 text-white shadow-sm hover:text-white",
865
+ primary: "bg-primary text-white hover:text-white",
866
+ secondary: "bg-secondary text-white hover:text-white",
867
+ tertiary: "bg-tertiary text-white hover:text-white",
868
+ ghost: "bg-ghost text-white hover:text-white",
869
+ neutral: "bg-gray-500 text-white hover:text-white",
1107
870
  // Semantic variants - override hover text color changes
1108
- success: "bg-success text-white shadow-sm hover:text-white",
1109
- "success-outline": "bg-success text-white shadow-sm hover:text-white",
1110
- info: "bg-info text-white shadow-sm hover:text-white",
1111
- "info-outline": "bg-info text-white shadow-sm hover:text-white",
1112
- warning: "bg-warning text-white shadow-sm hover:text-white",
1113
- "warning-outline": "bg-warning text-white shadow-sm hover:text-white",
1114
- danger: "bg-danger text-white shadow-sm hover:text-white",
1115
- "danger-outline": "bg-danger text-white shadow-sm hover:text-white"
871
+ success: "bg-success text-white hover:text-white",
872
+ info: "bg-info text-white hover:text-white",
873
+ warning: "bg-warning text-white hover:text-white",
874
+ danger: "bg-danger text-white hover:text-white"
1116
875
  };
1117
876
  return t[e || "primary"] || t.primary;
1118
877
  }, SegmentSingleInputContext = createContext(null), useSegmentSingleInputContext = () => {
@@ -1123,26 +882,26 @@ const DateSinglePickerInput = React__default.forwardRef(
1123
882
  );
1124
883
  return e;
1125
884
  }, SegmentOption$1 = React__default.forwardRef(
1126
- ({ children: e, className: t, disabled: n, id: o, value: s, position: c = "middle", ...u }, a) => {
1127
- const r = useSegmentSingleInputContext(), i = React__default.useId(), x = o || i, l = n || r.disabled, g = r.error ? "danger" : r.variant || "primary", d = r.value === s, m = (f) => {
1128
- if (!l) {
1129
- const h = r.value === s ? null : s;
1130
- r.onChange?.(h);
885
+ ({ children: e, className: t, disabled: i, id: s, value: n, position: l = "middle", ...u }, o) => {
886
+ const r = useSegmentSingleInputContext(), d = React__default.useId(), x = s || d, c = i || r.disabled, a = r.error ? "danger" : r.variant || "primary", g = r.value === n, h = (b) => {
887
+ if (!c) {
888
+ const f = r.value === n ? null : n;
889
+ r.onChange?.(f);
1131
890
  }
1132
- u.onChange?.(f);
891
+ u.onChange?.(b);
1133
892
  };
1134
893
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1135
894
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1136
895
  "input",
1137
896
  {
1138
- ref: a,
897
+ ref: o,
1139
898
  type: "radio",
1140
899
  id: x,
1141
900
  name: r.name,
1142
- value: s,
1143
- checked: d,
1144
- disabled: l,
1145
- onChange: m,
901
+ value: n,
902
+ checked: g,
903
+ disabled: c,
904
+ onChange: h,
1146
905
  className: "sr-only",
1147
906
  ...u
1148
907
  }
@@ -1152,17 +911,14 @@ const DateSinglePickerInput = React__default.forwardRef(
1152
911
  {
1153
912
  htmlFor: x,
1154
913
  className: cn(
914
+ "flex flex-row items-center justify-center",
1155
915
  segmentOptionVariants$1({
1156
- variant: g,
916
+ variant: a,
1157
917
  size: r.size,
1158
- rounded: c
918
+ rounded: l
1159
919
  }),
1160
- // Apply selected state styling
1161
- d && getSegmentSelectedClasses$1(g),
1162
- d && "relative z-10",
1163
- // Apply disabled styling directly since labels don't support disabled attribute
1164
- l && "opacity-50 cursor-not-allowed pointer-events-none",
1165
- r.fullWidth && "flex-1 min-w-0",
920
+ g && getSegmentSelectedClasses$1(a),
921
+ c && "opacity-50 cursor-not-allowed pointer-events-none",
1166
922
  t
1167
923
  ),
1168
924
  children: e
@@ -1176,93 +932,71 @@ const SegmentSingleInputRoot = React__default.forwardRef(
1176
932
  ({
1177
933
  variant: e = "primary",
1178
934
  size: t = "md",
1179
- label: n,
1180
- helperText: o,
1181
- error: s,
1182
- className: c,
1183
- disabled: u,
1184
- name: a,
1185
- value: r,
1186
- onChange: i,
1187
- children: x,
1188
- fullWidth: l = !1,
1189
- ...g
1190
- }, d) => {
1191
- const m = !!s, f = {
935
+ label: i,
936
+ helperText: s,
937
+ error: n,
938
+ disabled: l,
939
+ name: u,
940
+ value: o,
941
+ onChange: r,
942
+ children: d,
943
+ ...x
944
+ }, c) => {
945
+ const a = !!n, g = {
1192
946
  variant: e,
1193
947
  size: t,
1194
- disabled: u,
1195
- error: m,
1196
- name: a,
1197
- value: r,
1198
- onChange: i,
1199
- fullWidth: l
1200
- }, h = React__default.Children.toArray(x), w = h.map((y, j) => {
1201
- if (React__default.isValidElement(y)) {
1202
- let b;
1203
- return h.length === 1 ? b = "single" : j === 0 ? b = "first" : j === h.length - 1 ? b = "last" : b = "middle", React__default.cloneElement(
1204
- y,
1205
- { position: b }
948
+ disabled: l,
949
+ error: a,
950
+ name: u,
951
+ value: o,
952
+ onChange: r
953
+ }, h = React__default.Children.toArray(d), b = h.map((f, y) => {
954
+ if (React__default.isValidElement(f)) {
955
+ let m;
956
+ return h.length === 1 ? m = "single" : y === 0 ? m = "first" : y === h.length - 1 ? m = "last" : m = "middle", React__default.cloneElement(
957
+ f,
958
+ { position: m }
1206
959
  );
1207
960
  }
1208
- return y;
961
+ return f;
1209
962
  });
1210
- return /* @__PURE__ */ jsxRuntimeExports.jsx(SegmentSingleInputContext.Provider, { value: f, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1211
- "div",
1212
- {
1213
- ref: d,
1214
- className: cn(l ? "w-full" : "", c),
1215
- ...g,
1216
- children: [
1217
- n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: n }),
1218
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1219
- "div",
1220
- {
1221
- className: cn(
1222
- segmentGroupVariants$1({
1223
- variant: m ? "danger" : e,
1224
- size: t,
1225
- error: m
1226
- }),
1227
- l ? "flex w-full" : ""
1228
- ),
1229
- children: w
1230
- }
963
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SegmentSingleInputContext.Provider, { value: g, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: c, ...x, children: [
964
+ i && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: i }),
965
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
966
+ "div",
967
+ {
968
+ className: cn(
969
+ segmentGroupVariants$1({
970
+ variant: a ? "danger" : e,
971
+ size: t,
972
+ error: a
973
+ })
1231
974
  ),
1232
- m && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: s }),
1233
- !m && o && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: o })
1234
- ]
1235
- }
1236
- ) });
975
+ children: b
976
+ }
977
+ ),
978
+ a && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
979
+ !a && s && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
980
+ ] }) });
1237
981
  }
1238
982
  ), SegmentSingleInput = Object.assign(SegmentSingleInputRoot, {
1239
983
  Option: SegmentOption$1
1240
984
  }), segmentGroupVariants = cva(
1241
- "inline-flex rounded-lg border overflow-hidden bg-neutral/50 p-1",
985
+ "flex flex-row rounded-full border overflow-hidden p-1 gap-0.25",
1242
986
  {
1243
987
  variants: {
1244
988
  variant: {
1245
989
  // Core variants using Versaur color system
1246
- primary: "border-primary/20",
1247
- secondary: "border-secondary/20",
1248
- tertiary: "border-tertiary/20",
1249
- ghost: "border-ghost/20",
990
+ primary: "border-primary-light",
991
+ secondary: "border-secondary-light",
992
+ tertiary: "border-tertiary-light",
993
+ ghost: "border-ghost-light",
1250
994
  neutral: "border-gray-200",
1251
- // Outline variants
1252
- "primary-outline": "border-primary",
1253
- "secondary-outline": "border-secondary",
1254
- "tertiary-outline": "border-tertiary",
1255
- "ghost-outline": "border-ghost",
1256
- "neutral-outline": "border-gray-400",
1257
995
  // Semantic variants
1258
- success: "border-success/20",
1259
- "success-outline": "border-success",
1260
- info: "border-info/20",
1261
- "info-outline": "border-info",
1262
- warning: "border-warning/20",
1263
- "warning-outline": "border-warning",
1264
- danger: "border-danger/20",
1265
- "danger-outline": "border-danger"
996
+ success: "border-success-light",
997
+ info: "border-info-light",
998
+ warning: "border-warning-light",
999
+ danger: "border-danger-light"
1266
1000
  },
1267
1001
  size: {
1268
1002
  sm: "text-xs",
@@ -1281,7 +1015,7 @@ const SegmentSingleInputRoot = React__default.forwardRef(
1281
1015
  }
1282
1016
  }
1283
1017
  ), segmentOptionVariants = cva(
1284
- "relative flex flex-row items-center px-3 py-2 text-center font-medium transition-all duration-200 cursor-pointer border-0 bg-transparent outline-none focus:ring-2 focus:ring-offset-1 flex-1",
1018
+ "inline relative flex flex-row items-center px-3 py-2 text-center font-medium transition-all duration-200 cursor-pointer border-0 bg-transparent outline-none focus:ring-2 focus:ring-offset-1 flex-1",
1285
1019
  {
1286
1020
  variants: {
1287
1021
  variant: {
@@ -1291,21 +1025,11 @@ const SegmentSingleInputRoot = React__default.forwardRef(
1291
1025
  tertiary: "text-ghost hover:text-tertiary focus:ring-tertiary/30",
1292
1026
  ghost: "text-ghost hover:text-ghost focus:ring-ghost/30",
1293
1027
  neutral: "text-ghost hover:text-gray-700 focus:ring-gray-400/30",
1294
- // Outline variants
1295
- "primary-outline": "text-primary hover:bg-primary/10 focus:ring-primary/30",
1296
- "secondary-outline": "text-secondary hover:bg-secondary/10 focus:ring-secondary/30",
1297
- "tertiary-outline": "text-tertiary hover:bg-tertiary/10 focus:ring-tertiary/30",
1298
- "ghost-outline": "text-ghost hover:bg-ghost/10 focus:ring-ghost/30",
1299
- "neutral-outline": "text-gray-600 hover:bg-gray-100 focus:ring-gray-500/30",
1300
1028
  // Semantic variants
1301
1029
  success: "text-ghost hover:text-success focus:ring-success/30",
1302
- "success-outline": "text-success hover:bg-success/10 focus:ring-success/30",
1303
1030
  info: "text-ghost hover:text-info focus:ring-info/30",
1304
- "info-outline": "text-info hover:bg-info/10 focus:ring-info/30",
1305
1031
  warning: "text-ghost hover:text-warning focus:ring-warning/30",
1306
- "warning-outline": "text-warning hover:bg-warning/10 focus:ring-warning/30",
1307
- danger: "text-ghost hover:text-danger focus:ring-danger/30",
1308
- "danger-outline": "text-danger hover:bg-danger/10 focus:ring-danger/30"
1032
+ danger: "text-ghost hover:text-danger focus:ring-danger/30"
1309
1033
  },
1310
1034
  size: {
1311
1035
  sm: "px-2 py-1.5 text-xs",
@@ -1313,10 +1037,10 @@ const SegmentSingleInputRoot = React__default.forwardRef(
1313
1037
  lg: "px-4 py-2.5 text-base"
1314
1038
  },
1315
1039
  rounded: {
1316
- first: "rounded-l-md",
1040
+ first: "rounded-l-full",
1317
1041
  middle: "",
1318
- last: "rounded-r-md",
1319
- single: "rounded-md"
1042
+ last: "rounded-r-full",
1043
+ single: "rounded-full"
1320
1044
  }
1321
1045
  },
1322
1046
  defaultVariants: {
@@ -1328,26 +1052,16 @@ const SegmentSingleInputRoot = React__default.forwardRef(
1328
1052
  ), getSegmentSelectedClasses = (e) => {
1329
1053
  const t = {
1330
1054
  // Core variants - override hover text color changes
1331
- primary: "bg-primary text-white shadow-sm hover:text-white",
1332
- secondary: "bg-secondary text-white shadow-sm hover:text-white",
1333
- tertiary: "bg-tertiary text-white shadow-sm hover:text-white",
1334
- ghost: "bg-ghost text-white shadow-sm hover:text-white",
1335
- neutral: "bg-gray-500 text-white shadow-sm hover:text-white",
1336
- // Outline variants - override hover text color changes
1337
- "primary-outline": "bg-primary text-white shadow-sm hover:text-white",
1338
- "secondary-outline": "bg-secondary text-white shadow-sm hover:text-white",
1339
- "tertiary-outline": "bg-tertiary text-white shadow-sm hover:text-white",
1340
- "ghost-outline": "bg-ghost text-white shadow-sm hover:text-white",
1341
- "neutral-outline": "bg-gray-500 text-white shadow-sm hover:text-white",
1055
+ primary: "bg-primary text-white hover:text-white",
1056
+ secondary: "bg-secondary text-white hover:text-white",
1057
+ tertiary: "bg-tertiary text-white hover:text-white",
1058
+ ghost: "bg-ghost text-white hover:text-white",
1059
+ neutral: "bg-gray-500 text-white hover:text-white",
1342
1060
  // Semantic variants - override hover text color changes
1343
- success: "bg-success text-white shadow-sm hover:text-white",
1344
- "success-outline": "bg-success text-white shadow-sm hover:text-white",
1345
- info: "bg-info text-white shadow-sm hover:text-white",
1346
- "info-outline": "bg-info text-white shadow-sm hover:text-white",
1347
- warning: "bg-warning text-white shadow-sm hover:text-white",
1348
- "warning-outline": "bg-warning text-white shadow-sm hover:text-white",
1349
- danger: "bg-danger text-white shadow-sm hover:text-white",
1350
- "danger-outline": "bg-danger text-white shadow-sm hover:text-white"
1061
+ success: "bg-success text-white hover:text-white",
1062
+ info: "bg-info text-white hover:text-white",
1063
+ warning: "bg-warning text-white hover:text-white",
1064
+ danger: "bg-danger text-white hover:text-white"
1351
1065
  };
1352
1066
  return t[e || "primary"] || t.primary;
1353
1067
  }, SegmentMultipleInputContext = createContext(null), useSegmentMultipleInputContext = () => {
@@ -1358,27 +1072,27 @@ const SegmentSingleInputRoot = React__default.forwardRef(
1358
1072
  );
1359
1073
  return e;
1360
1074
  }, SegmentOption = React__default.forwardRef(
1361
- ({ children: e, className: t, disabled: n, id: o, value: s, position: c = "middle", ...u }, a) => {
1362
- const r = useSegmentMultipleInputContext(), i = React__default.useId(), x = o || i, l = n || r.disabled, g = r.error ? "danger" : r.variant || "primary", d = r.value?.includes(s) ?? !1, m = (f) => {
1363
- if (!l) {
1364
- const h = r.value || [];
1365
- let w;
1366
- d ? w = h.filter((y) => y !== s) : w = [...h, s], r.onChange?.(w);
1075
+ ({ children: e, className: t, disabled: i, id: s, value: n, position: l = "middle", ...u }, o) => {
1076
+ const r = useSegmentMultipleInputContext(), d = React__default.useId(), x = s || d, c = i || r.disabled, a = r.error ? "danger" : r.variant || "primary", g = r.value?.includes(n) ?? !1, h = (b) => {
1077
+ if (!c) {
1078
+ const f = r.value || [];
1079
+ let y;
1080
+ g ? y = f.filter((m) => m !== n) : y = [...f, n], r.onChange?.(y);
1367
1081
  }
1368
- u.onChange?.(f);
1082
+ u.onChange?.(b);
1369
1083
  };
1370
1084
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1371
1085
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1372
1086
  "input",
1373
1087
  {
1374
- ref: a,
1088
+ ref: o,
1375
1089
  type: "checkbox",
1376
1090
  id: x,
1377
1091
  name: `${r.name}[]`,
1378
- value: s,
1379
- checked: d,
1380
- disabled: l,
1381
- onChange: m,
1092
+ value: n,
1093
+ checked: g,
1094
+ disabled: c,
1095
+ onChange: h,
1382
1096
  className: "sr-only",
1383
1097
  ...u
1384
1098
  }
@@ -1388,16 +1102,14 @@ const SegmentSingleInputRoot = React__default.forwardRef(
1388
1102
  {
1389
1103
  htmlFor: x,
1390
1104
  className: cn(
1105
+ "flex flex-row items-center justify-center",
1391
1106
  segmentOptionVariants({
1392
- variant: g,
1107
+ variant: a,
1393
1108
  size: r.size,
1394
- rounded: c
1109
+ rounded: l
1395
1110
  }),
1396
- // Apply selected state styling
1397
- d && getSegmentSelectedClasses(g),
1398
- d && "relative z-10",
1399
- // Apply disabled styling directly since labels don't support disabled attribute
1400
- l && "opacity-50 cursor-not-allowed pointer-events-none",
1111
+ g && getSegmentSelectedClasses(a),
1112
+ c && "opacity-50 cursor-not-allowed pointer-events-none",
1401
1113
  t
1402
1114
  ),
1403
1115
  children: e
@@ -1411,70 +1123,83 @@ const SegmentMultipleInputRoot = React__default.forwardRef(
1411
1123
  ({
1412
1124
  variant: e = "primary",
1413
1125
  size: t = "md",
1414
- label: n,
1415
- helperText: o,
1416
- error: s,
1417
- className: c,
1418
- disabled: u,
1419
- name: a,
1420
- value: r = [],
1421
- onChange: i,
1422
- children: x,
1423
- fullWidth: l = !1,
1424
- ...g
1425
- }, d) => {
1426
- const m = !!s, f = {
1126
+ label: i,
1127
+ helperText: s,
1128
+ error: n,
1129
+ disabled: l,
1130
+ name: u,
1131
+ value: o = [],
1132
+ onChange: r,
1133
+ children: d,
1134
+ ...x
1135
+ }, c) => {
1136
+ const a = !!n, g = {
1427
1137
  variant: e,
1428
1138
  size: t,
1429
- disabled: u,
1430
- error: m,
1431
- name: a,
1432
- value: r,
1433
- onChange: i
1434
- }, h = React__default.Children.toArray(x), w = h.map((y, j) => {
1435
- if (React__default.isValidElement(y)) {
1436
- let b;
1437
- return h.length === 1 ? b = "single" : j === 0 ? b = "first" : j === h.length - 1 ? b = "last" : b = "middle", React__default.cloneElement(
1438
- y,
1439
- { position: b }
1139
+ disabled: l,
1140
+ error: a,
1141
+ name: u,
1142
+ value: o,
1143
+ onChange: r
1144
+ }, h = React__default.Children.toArray(d), b = h.map((f, y) => {
1145
+ if (React__default.isValidElement(f)) {
1146
+ let m;
1147
+ return h.length === 1 ? m = "single" : y === 0 ? m = "first" : y === h.length - 1 ? m = "last" : m = "middle", React__default.cloneElement(
1148
+ f,
1149
+ { position: m }
1440
1150
  );
1441
1151
  }
1442
- return y;
1152
+ return f;
1443
1153
  });
1444
- return /* @__PURE__ */ jsxRuntimeExports.jsx(SegmentMultipleInputContext.Provider, { value: f, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1445
- "div",
1446
- {
1447
- ref: d,
1448
- className: cn(
1449
- l ? "flex w-full flex-col" : "w-full",
1450
- c
1451
- ),
1452
- ...g,
1453
- children: [
1454
- n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: n }),
1455
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1456
- "div",
1457
- {
1458
- className: cn(
1459
- segmentGroupVariants({
1460
- variant: m ? "danger" : e,
1461
- size: t,
1462
- error: m
1463
- }),
1464
- l && "flex w-full"
1465
- ),
1466
- children: w
1467
- }
1154
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SegmentMultipleInputContext.Provider, { value: g, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: c, ...x, children: [
1155
+ i && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: i }),
1156
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1157
+ "div",
1158
+ {
1159
+ className: cn(
1160
+ segmentGroupVariants({
1161
+ variant: a ? "danger" : e,
1162
+ size: t,
1163
+ error: a
1164
+ })
1468
1165
  ),
1469
- m && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: s }),
1470
- !m && o && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: o })
1471
- ]
1472
- }
1473
- ) });
1166
+ children: b
1167
+ }
1168
+ ),
1169
+ a && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
1170
+ !a && s && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
1171
+ ] }) });
1474
1172
  }
1475
1173
  ), SegmentMultipleInput = Object.assign(SegmentMultipleInputRoot, {
1476
1174
  Option: SegmentOption
1477
- }), selectInputVariants = cva(
1175
+ }), SearchInput = forwardRef(
1176
+ ({
1177
+ autoComplete: e = "off",
1178
+ spellCheck: t = !1,
1179
+ inputMode: i = "search",
1180
+ placeholder: s = "Search...",
1181
+ maxLength: n = 256,
1182
+ enterKeyHint: l = "search",
1183
+ "aria-label": u = "Search",
1184
+ // internal default, not in props
1185
+ ...o
1186
+ }, r) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1187
+ TextInput,
1188
+ {
1189
+ ref: r,
1190
+ type: "search",
1191
+ inputMode: i,
1192
+ autoComplete: e,
1193
+ spellCheck: t,
1194
+ placeholder: s,
1195
+ maxLength: n,
1196
+ enterKeyHint: l,
1197
+ "aria-label": u,
1198
+ leftContent: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: SearchIcon, color: "inherit", size: "sm" }),
1199
+ ...o
1200
+ }
1201
+ )
1202
+ ), selectInputVariants = cva(
1478
1203
  "block w-full rounded-md border bg-white transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none disabled:bg-gray-50 appearance-none bg-no-repeat bg-right pr-10",
1479
1204
  {
1480
1205
  variants: {
@@ -1510,43 +1235,43 @@ const SegmentMultipleInputRoot = React__default.forwardRef(
1510
1235
  ({
1511
1236
  variant: e = "primary",
1512
1237
  label: t,
1513
- helperText: n,
1514
- error: o,
1515
- className: s,
1516
- disabled: c,
1238
+ helperText: i,
1239
+ error: s,
1240
+ className: n,
1241
+ disabled: l,
1517
1242
  id: u,
1518
- placeholder: a,
1243
+ placeholder: o,
1519
1244
  children: r,
1520
- ...i
1245
+ ...d
1521
1246
  }, x) => {
1522
- const l = React__default.useId(), g = u || l, d = !!o;
1247
+ const c = React__default.useId(), a = u || c, g = !!s;
1523
1248
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1524
1249
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1525
1250
  "label",
1526
1251
  {
1527
- htmlFor: g,
1252
+ htmlFor: a,
1528
1253
  className: "block text-sm font-medium text-foreground mb-2",
1529
1254
  children: t
1530
1255
  }
1531
1256
  ),
1532
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("relative w-full", s), children: [
1257
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("relative w-full", n), children: [
1533
1258
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
1534
1259
  "select",
1535
1260
  {
1536
1261
  ref: x,
1537
- id: g,
1538
- "aria-invalid": d,
1539
- "aria-disabled": c,
1540
- disabled: c,
1262
+ id: a,
1263
+ "aria-invalid": g,
1264
+ "aria-disabled": l,
1265
+ disabled: l,
1541
1266
  className: cn(
1542
1267
  selectInputVariants({
1543
- variant: d ? "danger" : e
1268
+ variant: g ? "danger" : e
1544
1269
  }),
1545
1270
  "h-10 pl-3"
1546
1271
  ),
1547
- ...i,
1272
+ ...d,
1548
1273
  children: [
1549
- a && /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "", disabled: !0, hidden: !0, children: a }),
1274
+ o && /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "", disabled: !0, hidden: !0, children: o }),
1550
1275
  r
1551
1276
  ]
1552
1277
  }
@@ -1570,8 +1295,8 @@ const SegmentMultipleInputRoot = React__default.forwardRef(
1570
1295
  }
1571
1296
  ) })
1572
1297
  ] }),
1573
- d && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: o }),
1574
- !d && n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-gray-600", children: n })
1298
+ g && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: s }),
1299
+ !g && i && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-gray-600", children: i })
1575
1300
  ] });
1576
1301
  }
1577
1302
  );
@@ -1617,22 +1342,22 @@ const textAreaInputVariants = cva(
1617
1342
  ({
1618
1343
  variant: e = "primary",
1619
1344
  label: t,
1620
- helperText: n,
1621
- error: o,
1622
- className: s,
1623
- disabled: c,
1345
+ helperText: i,
1346
+ error: s,
1347
+ className: n,
1348
+ disabled: l,
1624
1349
  id: u,
1625
- minRows: a = 3,
1350
+ minRows: o = 3,
1626
1351
  maxRows: r,
1627
- fieldSizing: i = "fixed",
1352
+ fieldSizing: d = "fixed",
1628
1353
  style: x,
1629
- rows: l,
1630
- ...g
1631
- }, d) => {
1632
- const m = React__default.useId(), f = u || m, h = !!o, w = l || a, y = i === "content" ? void 0 : r, j = {
1633
- ...i === "content" && { fieldSizing: "content" },
1634
- ...y && {
1635
- maxHeight: `${y * 1.5}rem`
1354
+ rows: c,
1355
+ ...a
1356
+ }, g) => {
1357
+ const h = React__default.useId(), b = u || h, f = !!s, y = c || o, m = d === "content" ? void 0 : r, w = {
1358
+ ...d === "content" && { fieldSizing: "content" },
1359
+ ...m && {
1360
+ maxHeight: `${m * 1.5}rem`
1636
1361
  // Approximate line height
1637
1362
  },
1638
1363
  ...x
@@ -1641,33 +1366,33 @@ const textAreaInputVariants = cva(
1641
1366
  t && /* @__PURE__ */ jsxRuntimeExports.jsx(
1642
1367
  "label",
1643
1368
  {
1644
- htmlFor: f,
1369
+ htmlFor: b,
1645
1370
  className: "block text-sm font-medium text-foreground mb-2",
1646
1371
  children: t
1647
1372
  }
1648
1373
  ),
1649
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("relative w-full", s), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1374
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("relative w-full", n), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1650
1375
  "textarea",
1651
1376
  {
1652
- ref: d,
1653
- id: f,
1654
- rows: w,
1655
- "aria-invalid": h,
1656
- "aria-disabled": c,
1657
- disabled: c,
1658
- style: j,
1377
+ ref: g,
1378
+ id: b,
1379
+ rows: y,
1380
+ "aria-invalid": f,
1381
+ "aria-disabled": l,
1382
+ disabled: l,
1383
+ style: w,
1659
1384
  className: cn(
1660
1385
  textAreaInputVariants({
1661
- variant: h ? "danger" : e,
1662
- fieldSizing: i
1386
+ variant: f ? "danger" : e,
1387
+ fieldSizing: d
1663
1388
  }),
1664
1389
  "px-3 py-2"
1665
1390
  ),
1666
- ...g
1391
+ ...a
1667
1392
  }
1668
1393
  ) }),
1669
- h && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: o }),
1670
- !h && n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-gray-600", children: n })
1394
+ f && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: s }),
1395
+ !f && i && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-sm text-gray-600", children: i })
1671
1396
  ] });
1672
1397
  }
1673
1398
  );
@@ -1694,9 +1419,9 @@ const timeSegmentButtonVariants = cva(
1694
1419
  ), TimeField = ({
1695
1420
  value: e,
1696
1421
  onChange: t,
1697
- label: n,
1698
- "aria-label": o,
1699
- disabled: s
1422
+ label: i,
1423
+ "aria-label": s,
1424
+ disabled: n
1700
1425
  }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1701
1426
  "input",
1702
1427
  {
@@ -1705,131 +1430,131 @@ const timeSegmentButtonVariants = cva(
1705
1430
  pattern: "[0-9]*",
1706
1431
  maxLength: 2,
1707
1432
  value: e,
1708
- onChange: (c) => t(c.target.value),
1433
+ onChange: (l) => t(l.target.value),
1709
1434
  className: "w-12 h-12 text-center text-2xl border-b-2 border-primary bg-transparent focus:outline-none focus:border-primary",
1710
- "aria-label": o || n,
1711
- disabled: s,
1435
+ "aria-label": s || i,
1436
+ disabled: n,
1712
1437
  autoComplete: "off"
1713
1438
  }
1714
1439
  ), AmPmSegment = ({
1715
1440
  value: e,
1716
1441
  onChange: t,
1717
- disabled: n
1718
- }) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-1 ml-4", children: ["AM", "PM"].map((o) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1442
+ disabled: i
1443
+ }) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-1 ml-4", children: ["AM", "PM"].map((s) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1719
1444
  "button",
1720
1445
  {
1721
1446
  type: "button",
1722
1447
  className: cn(
1723
1448
  timeSegmentButtonVariants({
1724
- active: e === o,
1449
+ active: e === s,
1725
1450
  size: "sm"
1726
1451
  })
1727
1452
  ),
1728
- "aria-pressed": e === o,
1729
- onClick: () => t(o),
1730
- disabled: n,
1731
- children: o
1453
+ "aria-pressed": e === s,
1454
+ onClick: () => t(s),
1455
+ disabled: i,
1456
+ children: s
1732
1457
  },
1733
- o
1458
+ s
1734
1459
  )) }), TimePickerInput = ({
1735
1460
  value: e,
1736
1461
  onChange: t,
1737
- label: n,
1738
- helperText: o,
1739
- disabled: s,
1740
- error: c,
1741
- placement: u,
1742
- "aria-label": a,
1462
+ label: i,
1463
+ helperText: s,
1464
+ disabled: n,
1465
+ error: l,
1466
+ placement: u = "top",
1467
+ "aria-label": o,
1743
1468
  "aria-labelledby": r,
1744
- "aria-describedby": i
1469
+ "aria-describedby": d
1745
1470
  }) => {
1746
- const [x, l] = useState(!1), g = (k) => {
1747
- const p = k.match(/^(\d{1,2}):(\d{2})\s?(AM|PM)$/i);
1471
+ const [x, c] = useState(!1), a = (j) => {
1472
+ const p = j.match(/^(\d{1,2}):(\d{2})\s?(AM|PM)$/i);
1748
1473
  return p ? {
1749
1474
  hour: p[1],
1750
1475
  minute: p[2],
1751
1476
  period: p[3].toUpperCase()
1752
1477
  } : { hour: "", minute: "", period: "AM" };
1753
- }, [{ hour: d, minute: m, period: f }, h] = useState(() => g(e)), w = () => {
1754
- s || (h(g(e)), l(!0));
1755
- }, y = (k) => {
1756
- let p = k.replace(/[^\d]/g, "");
1757
- p.length > 2 && (p = p.slice(0, 2)), Number(p) > 12 && (p = "12"), h((E) => ({ ...E, hour: p }));
1758
- }, j = (k) => {
1759
- let p = k.replace(/[^\d]/g, "");
1760
- p.length > 2 && (p = p.slice(0, 2)), Number(p) > 59 && (p = "59"), h((E) => ({ ...E, minute: p }));
1761
- }, b = (k) => {
1762
- h((p) => ({ ...p, period: k }));
1478
+ }, [{ hour: g, minute: h, period: b }, f] = useState(() => a(e)), y = () => {
1479
+ n || (f(a(e)), c(!0));
1480
+ }, m = (j) => {
1481
+ let p = j.replace(/[^\d]/g, "");
1482
+ p.length > 2 && (p = p.slice(0, 2)), Number(p) > 12 && (p = "12"), f((E) => ({ ...E, hour: p }));
1483
+ }, w = (j) => {
1484
+ let p = j.replace(/[^\d]/g, "");
1485
+ p.length > 2 && (p = p.slice(0, 2)), Number(p) > 59 && (p = "59"), f((E) => ({ ...E, minute: p }));
1486
+ }, R = (j) => {
1487
+ f((p) => ({ ...p, period: j }));
1763
1488
  }, C = () => {
1764
- h(g(e)), l(!1);
1765
- }, I = () => {
1766
- const k = d.padStart(2, "0") || "12", p = m.padStart(2, "0") || "00";
1767
- t(`${k}:${p} ${f}`), l(!1);
1489
+ f(a(e)), c(!1);
1490
+ }, k = () => {
1491
+ const j = g.padStart(2, "0") || "12", p = h.padStart(2, "0") || "00";
1492
+ t(`${j}:${p} ${b}`), c(!1);
1768
1493
  };
1769
1494
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1770
1495
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1771
1496
  TextInput,
1772
1497
  {
1773
- label: n,
1498
+ label: i,
1774
1499
  value: e,
1775
- onClick: w,
1500
+ onClick: y,
1776
1501
  readOnly: !0,
1777
- disabled: s,
1778
- error: c,
1779
- helperText: o,
1780
- "aria-label": a,
1502
+ disabled: n,
1503
+ error: l,
1504
+ helperText: s,
1505
+ "aria-label": o,
1781
1506
  "aria-labelledby": r,
1782
- "aria-describedby": i,
1507
+ "aria-describedby": d,
1783
1508
  className: "cursor-pointer bg-white",
1784
- rightContent: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: Clock, size: "sm", color: "ghost" })
1509
+ leftContent: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: Clock, size: "sm", color: "inherit" })
1785
1510
  }
1786
1511
  ),
1787
1512
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
1788
1513
  Modal,
1789
1514
  {
1790
1515
  isOpen: x,
1791
- onOpenChange: l,
1516
+ onOpenChange: c,
1792
1517
  placement: u,
1793
- size: "sm",
1794
- "aria-label": a,
1518
+ size: "fit-content",
1519
+ "aria-label": o,
1795
1520
  "aria-labelledby": r,
1796
- "aria-describedby": i,
1521
+ "aria-describedby": d,
1797
1522
  children: [
1798
1523
  /* @__PURE__ */ jsxRuntimeExports.jsx(Modal.Header, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "span", fontSize: "lg", fontWeight: "semibold", children: "Select time" }) }),
1799
1524
  /* @__PURE__ */ jsxRuntimeExports.jsx(Modal.Body, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 justify-center py-2", children: [
1800
1525
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1801
1526
  TimeField,
1802
1527
  {
1803
- value: d,
1804
- onChange: y,
1528
+ value: g,
1529
+ onChange: m,
1805
1530
  label: "Hour",
1806
1531
  "aria-label": "Hour",
1807
- disabled: s
1532
+ disabled: n
1808
1533
  }
1809
1534
  ),
1810
1535
  /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "span", fontSize: "2xl", className: "select-none", children: ":" }),
1811
1536
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1812
1537
  TimeField,
1813
1538
  {
1814
- value: m,
1815
- onChange: j,
1539
+ value: h,
1540
+ onChange: w,
1816
1541
  label: "Minute",
1817
1542
  "aria-label": "Minute",
1818
- disabled: s
1543
+ disabled: n
1819
1544
  }
1820
1545
  ),
1821
1546
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1822
1547
  AmPmSegment,
1823
1548
  {
1824
- value: f === "AM" ? "AM" : "PM",
1825
- onChange: b,
1826
- disabled: s
1549
+ value: b === "AM" ? "AM" : "PM",
1550
+ onChange: R,
1551
+ disabled: n
1827
1552
  }
1828
1553
  )
1829
1554
  ] }) }),
1830
1555
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Modal.Footer, { children: [
1831
- /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "ghost", size: "md", onClick: C, children: "Cancel" }),
1832
- /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "primary", size: "md", onClick: I, children: "Confirm" })
1556
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "ghost", size: "sm", onClick: C, children: "Cancel" }),
1557
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "primary-ghost", size: "sm", onClick: k, children: "Confirm" })
1833
1558
  ] })
1834
1559
  ]
1835
1560
  }
@@ -1913,27 +1638,27 @@ const timeSegmentButtonVariants = cva(
1913
1638
  ), SwitchTrack = ({
1914
1639
  color: e = "primary",
1915
1640
  size: t = "md",
1916
- disabled: n = !1,
1917
- className: o,
1918
- checked: s
1641
+ disabled: i = !1,
1642
+ className: s,
1643
+ checked: n
1919
1644
  }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1920
1645
  "span",
1921
1646
  {
1922
1647
  className: cn(
1923
- switchVariants({ color: e, size: t, disabled: n, checked: s }),
1648
+ switchVariants({ color: e, size: t, disabled: i, checked: n }),
1924
1649
  "rounded-full pointer-events-none",
1925
- o
1650
+ s
1926
1651
  ),
1927
1652
  "aria-hidden": "true"
1928
1653
  }
1929
- ), SwitchThumb = ({ size: e = "md", checked: t = !1 }) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: cn(thumbVariants({ size: e, checked: t })), "aria-hidden": "true" }), SwitchLabel = ({ label: e, htmlFor: t, placement: n = "top", disabled: o = !1 }) => e ? /* @__PURE__ */ jsxRuntimeExports.jsx(
1654
+ ), SwitchThumb = ({ size: e = "md", checked: t = !1 }) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: cn(thumbVariants({ size: e, checked: t })), "aria-hidden": "true" }), SwitchLabel = ({ label: e, htmlFor: t, placement: i = "top", disabled: s = !1 }) => e ? /* @__PURE__ */ jsxRuntimeExports.jsx(
1930
1655
  "label",
1931
1656
  {
1932
1657
  htmlFor: t,
1933
1658
  className: cn(
1934
1659
  "text-sm select-none font-medium text-foreground",
1935
- n === "inline" ? "ml-2 mb-0" : "mb-1",
1936
- o && "opacity-50 cursor-not-allowed"
1660
+ i === "inline" ? "ml-2 mb-0" : "mb-1",
1661
+ s && "opacity-50 cursor-not-allowed"
1937
1662
  ),
1938
1663
  children: e
1939
1664
  }
@@ -1941,21 +1666,21 @@ const timeSegmentButtonVariants = cva(
1941
1666
  ({
1942
1667
  checked: e,
1943
1668
  defaultChecked: t,
1944
- onCheckedChange: n,
1945
- color: o = "primary",
1946
- size: s = "md",
1947
- label: c,
1669
+ onCheckedChange: i,
1670
+ color: s = "primary",
1671
+ size: n = "md",
1672
+ label: l,
1948
1673
  labelPlacement: u = "top",
1949
- disabled: a = !1,
1674
+ disabled: o = !1,
1950
1675
  className: r,
1951
- id: i,
1676
+ id: d,
1952
1677
  ariaLabel: x,
1953
- ...l
1954
- }, g) => {
1955
- const [d, m] = useState(
1678
+ ...c
1679
+ }, a) => {
1680
+ const [g, h] = useState(
1956
1681
  t ?? !1
1957
- ), f = useId(), h = i || f, w = typeof e == "boolean", y = w ? e : d, j = (b) => {
1958
- w || m(b.target.checked), n?.(b.target.checked);
1682
+ ), b = useId(), f = d || b, y = typeof e == "boolean", m = y ? e : g, w = (R) => {
1683
+ y || h(R.target.checked), i?.(R.target.checked);
1959
1684
  };
1960
1685
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1961
1686
  "div",
@@ -1969,10 +1694,10 @@ const timeSegmentButtonVariants = cva(
1969
1694
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1970
1695
  SwitchLabel,
1971
1696
  {
1972
- label: c,
1973
- htmlFor: h,
1697
+ label: l,
1698
+ htmlFor: f,
1974
1699
  placement: u,
1975
- disabled: a
1700
+ disabled: o
1976
1701
  }
1977
1702
  ),
1978
1703
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -1986,27 +1711,27 @@ const timeSegmentButtonVariants = cva(
1986
1711
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1987
1712
  "input",
1988
1713
  {
1989
- ref: g,
1714
+ ref: a,
1990
1715
  type: "checkbox",
1991
- id: h,
1992
- "aria-label": x || c,
1993
- checked: y,
1994
- disabled: a,
1995
- onChange: j,
1716
+ id: f,
1717
+ "aria-label": x || l,
1718
+ checked: m,
1719
+ disabled: o,
1720
+ onChange: w,
1996
1721
  className: "absolute inset-0 w-full h-full opacity-0 cursor-pointer z-10",
1997
- ...l
1722
+ ...c
1998
1723
  }
1999
1724
  ),
2000
1725
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2001
1726
  SwitchTrack,
2002
1727
  {
2003
- color: o,
2004
- size: s,
2005
- disabled: a,
2006
- checked: y
1728
+ color: s,
1729
+ size: n,
1730
+ disabled: o,
1731
+ checked: m
2007
1732
  }
2008
1733
  ),
2009
- /* @__PURE__ */ jsxRuntimeExports.jsx(SwitchThumb, { size: s, checked: y })
1734
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SwitchThumb, { size: n, checked: m })
2010
1735
  ]
2011
1736
  }
2012
1737
  )
@@ -2016,20 +1741,80 @@ const timeSegmentButtonVariants = cva(
2016
1741
  }
2017
1742
  );
2018
1743
  SwitchInput.displayName = "SwitchInput";
1744
+ function usePriceInputSync(e, t) {
1745
+ useEffect(() => {
1746
+ typeof e == "number" && !isNaN(e) ? t(`${e}`) : e === "" || e === null || e === void 0 ? t("") : typeof e == "string" && t(e);
1747
+ }, [e, t]);
1748
+ }
1749
+ const PriceInput = ({
1750
+ value: e,
1751
+ onChange: t,
1752
+ allowNegative: i = !1,
1753
+ inputProps: s,
1754
+ label: n,
1755
+ helperText: l,
1756
+ error: u,
1757
+ variant: o,
1758
+ ...r
1759
+ }) => {
1760
+ const d = useRef(null), [x, c] = useState(
1761
+ e === "" ? "" : String(e)
1762
+ );
1763
+ usePriceInputSync(e, c);
1764
+ const a = (g) => {
1765
+ let h = g.target.value.replace(/[^\d.,-]/g, "");
1766
+ i || (h = h.replace(/-/g, "")), c(h), t(h);
1767
+ };
1768
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
1769
+ TextInput,
1770
+ {
1771
+ ref: d,
1772
+ type: "text",
1773
+ label: n,
1774
+ value: x,
1775
+ onChange: a,
1776
+ error: u,
1777
+ helperText: l,
1778
+ placeholder: r.placeholder,
1779
+ leftContent: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: Banknote, color: "inherit", size: "sm" }),
1780
+ variant: o,
1781
+ inputMode: "numeric",
1782
+ autoComplete: "off",
1783
+ pattern: i ? "^-?[\\d,.]*$" : "^[\\d,.]*$",
1784
+ ...s,
1785
+ ...r
1786
+ }
1787
+ );
1788
+ }, EmailInput = forwardRef(
1789
+ (e, t) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1790
+ TextInput,
1791
+ {
1792
+ ...e,
1793
+ ref: t,
1794
+ type: "email",
1795
+ autoComplete: "email",
1796
+ inputMode: "email",
1797
+ leftContent: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: MailIcon, color: "inherit", size: "sm" })
1798
+ }
1799
+ )
1800
+ );
2019
1801
  export {
2020
1802
  CalculatorInput as C,
2021
1803
  DateSinglePickerInput as D,
1804
+ EmailInput as E,
1805
+ PriceInput as P,
2022
1806
  RadioInput as R,
2023
1807
  SegmentSingleInput as S,
2024
1808
  TextInput as T,
2025
1809
  CheckboxInput as a,
2026
- ChipInput as b,
1810
+ ChipMultipleInput as b,
2027
1811
  SegmentMultipleInput as c,
2028
- SelectInput as d,
2029
- TextAreaInput as e,
2030
- TimePickerInput as f,
2031
- SwitchInput as g,
2032
- SwitchTrack as h,
2033
- SwitchThumb as i,
2034
- SwitchLabel as j
1812
+ SearchInput as d,
1813
+ SelectInput as e,
1814
+ TextAreaInput as f,
1815
+ TimePickerInput as g,
1816
+ SwitchInput as h,
1817
+ SwitchTrack as i,
1818
+ SwitchThumb as j,
1819
+ SwitchLabel as k
2035
1820
  };