@dimasbaguspm/versaur 0.0.45 → 0.0.47

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 (39) hide show
  1. package/dist/js/forms/index.js +18 -20
  2. package/dist/js/image-rectangle-B4nXH4Q5.js +2581 -0
  3. package/dist/js/index.js +72 -77
  4. package/dist/js/layouts/index.js +1 -1
  5. package/dist/js/navigation/index.js +1 -1
  6. package/dist/js/overlays/index.js +5 -6
  7. package/dist/js/primitive/index.js +28 -30
  8. package/dist/js/{tabs-D5aWU0pC.js → tabs-BAzThVka.js} +1 -1
  9. package/dist/js/{bottom-sheet-input-CxLwoZLr.js → time-picker-input-JBEgDV2V.js} +875 -800
  10. package/dist/js/tooltip-D6fUigp2.js +691 -0
  11. package/dist/js/{top-bar-vvLnMBwo.js → top-bar-Dx0JVXms.js} +1 -1
  12. package/dist/types/forms/index.d.ts +7 -9
  13. package/dist/types/forms/pin-field/index.d.ts +2 -0
  14. package/dist/types/forms/pin-field/pin-field.d.ts +9 -0
  15. package/dist/types/forms/pin-field/types.d.ts +86 -0
  16. package/dist/types/primitive/index.d.ts +0 -2
  17. package/dist/utils/enforce-subpath-import.js +1 -5
  18. package/package.json +1 -1
  19. package/dist/js/bottom-sheet-QdQ5L8Wo.js +0 -615
  20. package/dist/js/image-rectangle-BijhERaV.js +0 -2884
  21. package/dist/js/tooltip-D80OXyWL.js +0 -81
  22. package/dist/types/forms/bottom-sheet-input/bottom-sheet-input.d.ts +0 -7
  23. package/dist/types/forms/bottom-sheet-input/index.d.ts +0 -2
  24. package/dist/types/forms/bottom-sheet-input/types.d.ts +0 -17
  25. package/dist/types/forms/drawer-input/drawer-input.d.ts +0 -6
  26. package/dist/types/forms/drawer-input/index.d.ts +0 -2
  27. package/dist/types/forms/drawer-input/types.d.ts +0 -18
  28. package/dist/types/forms/modal-input/index.d.ts +0 -2
  29. package/dist/types/forms/modal-input/modal-input.d.ts +0 -6
  30. package/dist/types/forms/modal-input/types.d.ts +0 -18
  31. package/dist/types/primitive/button-float/button-float.d.ts +0 -8
  32. package/dist/types/primitive/button-float/index.d.ts +0 -2
  33. package/dist/types/primitive/button-float/types.d.ts +0 -31
  34. package/dist/types/primitive/button-float/use-floating-position.d.ts +0 -12
  35. package/dist/types/primitive/calculator/calculator.atoms.d.ts +0 -2
  36. package/dist/types/primitive/calculator/calculator.d.ts +0 -2
  37. package/dist/types/primitive/calculator/index.d.ts +0 -2
  38. package/dist/types/primitive/calculator/types.d.ts +0 -29
  39. package/dist/types/primitive/calculator/use-calculator.d.ts +0 -11
@@ -1,10 +1,9 @@
1
- import { c as v, j as e, a as m } from "./index-DOdDlCoL.js";
2
- import x, { createContext as N, useContext as z, useId as F, forwardRef as j, useRef as B, useState as R, useEffect as U, useMemo as E } from "react";
3
- import { I as C } from "./image-rectangle-BijhERaV.js";
4
- import { Calendar as X, SearchIcon as Y, Clock as Z, Banknote as ee, MailIcon as re, Check as P } from "lucide-react";
1
+ import { c as v, j as e, a as p } from "./index-DOdDlCoL.js";
2
+ import m, { createContext as R, useContext as O, useId as E, forwardRef as z, useRef as A, useEffect as ae, useState as L } from "react";
3
+ import { I as S } from "./image-rectangle-B4nXH4Q5.js";
4
+ import { Calendar as ie, MailIcon as ce, Banknote as de, SearchIcon as le, Check as W, Clock as ue } from "lucide-react";
5
5
  import "./snackbar-DH8jCh2V.js";
6
- import { M as O, D as M, B as V } from "./bottom-sheet-QdQ5L8Wo.js";
7
- const te = v("space-y-2", {
6
+ const ge = v("space-y-2", {
8
7
  variants: {
9
8
  direction: {
10
9
  vertical: "space-y-2 space-x-0",
@@ -14,7 +13,7 @@ const te = v("space-y-2", {
14
13
  defaultVariants: {
15
14
  direction: "vertical"
16
15
  }
17
- }), oe = v(
16
+ }), fe = v(
18
17
  "relative h-4 w-4 rounded border cursor-pointer transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed appearance-none bg-white",
19
18
  {
20
19
  variants: {
@@ -52,7 +51,7 @@ const te = v("space-y-2", {
52
51
  size: "md"
53
52
  }
54
53
  }
55
- ), ne = v(
54
+ ), he = v(
56
55
  "text-foreground cursor-pointer select-none",
57
56
  {
58
57
  variants: {
@@ -71,23 +70,23 @@ const te = v("space-y-2", {
71
70
  disabled: !1
72
71
  }
73
72
  }
74
- ), $ = N(null), se = () => {
75
- const r = z($);
73
+ ), G = R(null), be = () => {
74
+ const r = O(G);
76
75
  if (!r)
77
76
  throw new Error("CheckboxOption must be used within CheckboxInput");
78
77
  return r;
79
- }, A = x.forwardRef(({ children: r, description: t, className: o, disabled: a, id: n, ...i }, d) => {
80
- const c = se(), s = x.useId(), g = n || s, u = a || c.disabled, f = c.error ? "danger" : c.variant || "primary";
78
+ }, _ = m.forwardRef(({ children: r, description: t, className: o, disabled: s, id: n, ...i }, l) => {
79
+ const c = be(), a = m.useId(), g = n || a, u = s || c.disabled, f = c.error ? "danger" : c.variant || "primary";
81
80
  return /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
82
81
  /* @__PURE__ */ e.jsx("div", { className: "relative flex items-center", children: /* @__PURE__ */ e.jsx(
83
82
  "input",
84
83
  {
85
- ref: d,
84
+ ref: l,
86
85
  type: "checkbox",
87
86
  id: g,
88
87
  disabled: u,
89
- className: m(
90
- oe({
88
+ className: p(
89
+ fe({
91
90
  variant: f,
92
91
  size: c.size
93
92
  }),
@@ -110,7 +109,7 @@ const te = v("space-y-2", {
110
109
  "label",
111
110
  {
112
111
  htmlFor: g,
113
- className: ne({
112
+ className: he({
114
113
  size: c.size,
115
114
  disabled: u
116
115
  }),
@@ -120,7 +119,7 @@ const te = v("space-y-2", {
120
119
  t && /* @__PURE__ */ e.jsx(
121
120
  "div",
122
121
  {
123
- className: m(
122
+ className: p(
124
123
  "text-gray-600 mt-1",
125
124
  c.size === "sm" && "text-xs",
126
125
  c.size === "md" && "text-xs",
@@ -133,45 +132,45 @@ const te = v("space-y-2", {
133
132
  ] })
134
133
  ] });
135
134
  });
136
- A.displayName = "CheckboxOption";
137
- const H = x.forwardRef(
135
+ _.displayName = "CheckboxOption";
136
+ const K = m.forwardRef(
138
137
  ({
139
138
  variant: r = "primary",
140
139
  size: t = "md",
141
140
  label: o,
142
- helperText: a,
141
+ helperText: s,
143
142
  error: n,
144
143
  direction: i = "vertical",
145
- className: d,
144
+ className: l,
146
145
  disabled: c,
147
- children: s,
146
+ children: a,
148
147
  ...g
149
148
  }, u) => {
150
- const f = !!n, l = {
149
+ const f = !!n, d = {
151
150
  variant: r,
152
151
  size: t,
153
152
  disabled: c,
154
153
  error: f
155
154
  };
156
- return /* @__PURE__ */ e.jsx($.Provider, { value: l, children: /* @__PURE__ */ e.jsxs("div", { ref: u, className: m("w-full", d), ...g, children: [
155
+ return /* @__PURE__ */ e.jsx(G.Provider, { value: d, children: /* @__PURE__ */ e.jsxs("div", { ref: u, className: p("w-full", l), ...g, children: [
157
156
  o && /* @__PURE__ */ e.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: o }),
158
- /* @__PURE__ */ e.jsx("div", { className: te({ direction: i }), children: s }),
157
+ /* @__PURE__ */ e.jsx("div", { className: ge({ direction: i }), children: a }),
159
158
  f && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
160
- !f && a && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: a })
159
+ !f && s && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
161
160
  ] }) });
162
161
  }
163
162
  );
164
- H.displayName = "CheckboxInput";
165
- const nr = Object.assign(H, {
166
- Option: A
167
- }), W = N(null), ae = () => {
168
- const r = z(W);
163
+ K.displayName = "CheckboxInput";
164
+ const fr = Object.assign(K, {
165
+ Option: _
166
+ }), H = R(null), me = () => {
167
+ const r = O(H);
169
168
  if (!r)
170
169
  throw new Error(
171
170
  "useChipSingleInputContext must be used within ChipSingleInputContext"
172
171
  );
173
172
  return r;
174
- }, ie = v(
173
+ }, xe = v(
175
174
  "inline-flex items-center bg-white transition-colors duration-200 cursor-pointer border border-border",
176
175
  {
177
176
  variants: {
@@ -226,27 +225,27 @@ const nr = Object.assign(H, {
226
225
  size: "sm"
227
226
  }
228
227
  }
229
- ), ce = x.forwardRef(({ children: r, className: t, disabled: o, id: a, value: n, ...i }, d) => {
228
+ ), pe = m.forwardRef(({ children: r, className: t, disabled: o, id: s, value: n, ...i }, l) => {
230
229
  const {
231
230
  variant: c = "primary",
232
- shape: s = "circle",
231
+ shape: a = "circle",
233
232
  size: g = "sm",
234
233
  ...u
235
- } = ae(), f = F(), l = a || f, h = o || u.disabled, b = u.value === n, p = (y) => {
236
- h || u.onChange?.(n), i.onChange?.(y);
234
+ } = me(), f = E(), d = s || f, h = o || u.disabled, b = u.value === n, y = (w) => {
235
+ h || u.onChange?.(n), i.onChange?.(w);
237
236
  };
238
237
  return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
239
238
  /* @__PURE__ */ e.jsx(
240
239
  "input",
241
240
  {
242
- ref: d,
241
+ ref: l,
243
242
  type: "radio",
244
- id: l,
243
+ id: d,
245
244
  name: u.name,
246
245
  value: n,
247
246
  checked: b,
248
247
  disabled: h,
249
- onChange: p,
248
+ onChange: y,
250
249
  className: "sr-only",
251
250
  ...i
252
251
  }
@@ -254,12 +253,12 @@ const nr = Object.assign(H, {
254
253
  /* @__PURE__ */ e.jsx(
255
254
  "label",
256
255
  {
257
- htmlFor: l,
256
+ htmlFor: d,
258
257
  "data-selected": b,
259
- className: m(
260
- ie({
258
+ className: p(
259
+ xe({
261
260
  variant: c,
262
- shape: s,
261
+ shape: a,
263
262
  size: g
264
263
  }),
265
264
  h && "opacity-50 cursor-not-allowed pointer-events-none",
@@ -269,49 +268,49 @@ const nr = Object.assign(H, {
269
268
  }
270
269
  )
271
270
  ] });
272
- }), de = j(
271
+ }), ye = z(
273
272
  ({
274
273
  variant: r = "primary",
275
274
  shape: t = "circle",
276
275
  size: o = "sm",
277
- label: a,
276
+ label: s,
278
277
  helperText: n,
279
278
  error: i,
280
- className: d,
279
+ className: l,
281
280
  disabled: c,
282
- name: s,
281
+ name: a,
283
282
  value: g,
284
283
  onChange: u,
285
284
  children: f,
286
- ...l
285
+ ...d
287
286
  }, h) => {
288
- const b = !!i, p = {
287
+ const b = !!i, y = {
289
288
  variant: r,
290
289
  shape: t,
291
290
  size: o,
292
291
  disabled: c,
293
292
  error: b,
294
- name: s,
293
+ name: a,
295
294
  value: g,
296
295
  onChange: u
297
296
  };
298
- return /* @__PURE__ */ e.jsx(W.Provider, { value: p, children: /* @__PURE__ */ e.jsxs("div", { ref: h, className: m("w-full", d), ...l, children: [
299
- a && /* @__PURE__ */ e.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: a }),
297
+ return /* @__PURE__ */ e.jsx(H.Provider, { value: y, children: /* @__PURE__ */ e.jsxs("div", { ref: h, className: p("w-full", l), ...d, children: [
298
+ s && /* @__PURE__ */ e.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: s }),
300
299
  /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: f }),
301
300
  b && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: i }),
302
301
  !b && n && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: n })
303
302
  ] }) });
304
303
  }
305
- ), sr = Object.assign(de, {
306
- Option: ce
307
- }), L = N(null), le = () => {
308
- const r = z(L);
304
+ ), hr = Object.assign(ye, {
305
+ Option: pe
306
+ }), T = R(null), we = () => {
307
+ const r = O(T);
309
308
  if (!r)
310
309
  throw new Error(
311
310
  "useChipMultipleInputContext must be used within ChipMultipleInputContext"
312
311
  );
313
312
  return r;
314
- }, ue = v(
313
+ }, ve = v(
315
314
  "inline-flex items-center bg-white transition-colors duration-200 cursor-pointer border border-border",
316
315
  {
317
316
  variants: {
@@ -365,32 +364,32 @@ const nr = Object.assign(H, {
365
364
  }
366
365
  }
367
366
  }
368
- ), T = j(({ children: r, className: t, disabled: o, id: a, value: n, ...i }, d) => {
367
+ ), q = z(({ children: r, className: t, disabled: o, id: s, value: n, ...i }, l) => {
369
368
  const {
370
369
  variant: c = "primary",
371
- shape: s = "circle",
370
+ shape: a = "circle",
372
371
  size: g = "sm",
373
372
  ...u
374
- } = le(), f = x.useId(), l = a || f, h = o || u.disabled, b = u.value?.includes(n) ?? !1, p = (y) => {
373
+ } = we(), f = m.useId(), d = s || f, h = o || u.disabled, b = u.value?.includes(n) ?? !1, y = (w) => {
375
374
  if (!h) {
376
- const k = u.value || [];
377
- let w;
378
- b ? w = k.filter((S) => S !== n) : w = [...k, n], u.onChange?.(w);
375
+ const j = u.value || [];
376
+ let x;
377
+ b ? x = j.filter((V) => V !== n) : x = [...j, n], u.onChange?.(x);
379
378
  }
380
- i.onChange?.(y);
379
+ i.onChange?.(w);
381
380
  };
382
381
  return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
383
382
  /* @__PURE__ */ e.jsx(
384
383
  "input",
385
384
  {
386
- ref: d,
385
+ ref: l,
387
386
  type: "checkbox",
388
- id: l,
387
+ id: d,
389
388
  name: `${u.name}[]`,
390
389
  value: n,
391
390
  checked: b,
392
391
  disabled: h,
393
- onChange: p,
392
+ onChange: y,
394
393
  className: "sr-only",
395
394
  ...i
396
395
  }
@@ -398,12 +397,12 @@ const nr = Object.assign(H, {
398
397
  /* @__PURE__ */ e.jsx(
399
398
  "label",
400
399
  {
401
- htmlFor: l,
400
+ htmlFor: d,
402
401
  "data-selected": b,
403
- className: m(
404
- ue({
402
+ className: p(
403
+ ve({
405
404
  variant: c,
406
- shape: s,
405
+ shape: a,
407
406
  size: g
408
407
  }),
409
408
  h && "opacity-50 cursor-not-allowed pointer-events-none",
@@ -414,43 +413,43 @@ const nr = Object.assign(H, {
414
413
  )
415
414
  ] });
416
415
  });
417
- T.displayName = "ChipMultipleOption";
418
- const ge = j(
416
+ q.displayName = "ChipMultipleOption";
417
+ const ke = z(
419
418
  ({
420
419
  variant: r = "primary",
421
420
  shape: t = "circle",
422
421
  size: o = "sm",
423
- label: a,
422
+ label: s,
424
423
  helperText: n,
425
424
  error: i,
426
- className: d,
425
+ className: l,
427
426
  disabled: c,
428
- name: s,
427
+ name: a,
429
428
  value: g = [],
430
429
  onChange: u,
431
430
  children: f,
432
- ...l
431
+ ...d
433
432
  }, h) => {
434
- const b = !!i, p = {
433
+ const b = !!i, y = {
435
434
  variant: r,
436
435
  shape: t,
437
436
  size: o,
438
437
  disabled: c,
439
438
  error: b,
440
- name: s,
439
+ name: a,
441
440
  value: g,
442
441
  onChange: u
443
442
  };
444
- return /* @__PURE__ */ e.jsx(L.Provider, { value: p, children: /* @__PURE__ */ e.jsxs("div", { ref: h, className: m("w-full", d), ...l, children: [
445
- a && /* @__PURE__ */ e.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: a }),
443
+ return /* @__PURE__ */ e.jsx(T.Provider, { value: y, children: /* @__PURE__ */ e.jsxs("div", { ref: h, className: p("w-full", l), ...d, children: [
444
+ s && /* @__PURE__ */ e.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: s }),
446
445
  /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: f }),
447
446
  b && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: i }),
448
447
  !b && n && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: n })
449
448
  ] }) });
450
449
  }
451
- ), ar = Object.assign(ge, {
452
- Option: T
453
- }), fe = v(
450
+ ), br = Object.assign(ke, {
451
+ Option: q
452
+ }), je = v(
454
453
  "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",
455
454
  {
456
455
  variants: {
@@ -482,30 +481,30 @@ const ge = j(
482
481
  variant: "primary"
483
482
  }
484
483
  }
485
- ), I = x.forwardRef(
484
+ ), $ = m.forwardRef(
486
485
  ({
487
486
  variant: r = "primary",
488
487
  label: t,
489
488
  leftContent: o,
490
- rightContent: a,
489
+ rightContent: s,
491
490
  helperText: n,
492
491
  error: i,
493
- className: d,
492
+ className: l,
494
493
  disabled: c,
495
- id: s,
494
+ id: a,
496
495
  ...g
497
496
  }, u) => {
498
- const f = x.useId(), l = s || f, h = !!i;
497
+ const f = m.useId(), d = a || f, h = !!i;
499
498
  return /* @__PURE__ */ e.jsxs("div", { children: [
500
499
  t && /* @__PURE__ */ e.jsx(
501
500
  "label",
502
501
  {
503
- htmlFor: l,
502
+ htmlFor: d,
504
503
  className: "block text-sm font-medium text-foreground mb-2",
505
504
  children: t
506
505
  }
507
506
  ),
508
- /* @__PURE__ */ e.jsxs("div", { className: m("relative w-full", d), children: [
507
+ /* @__PURE__ */ e.jsxs("div", { className: p("relative w-full", l), children: [
509
508
  o && /* @__PURE__ */ e.jsx(
510
509
  "span",
511
510
  {
@@ -518,27 +517,27 @@ const ge = j(
518
517
  "input",
519
518
  {
520
519
  ref: u,
521
- id: l,
520
+ id: d,
522
521
  "aria-invalid": h,
523
522
  "aria-disabled": c,
524
523
  disabled: c,
525
- className: m(
526
- fe({
524
+ className: p(
525
+ je({
527
526
  variant: h ? "danger" : r
528
527
  }),
529
528
  o ? "pl-9" : "pl-3",
530
- a ? "pr-9" : "pr-3",
529
+ s ? "pr-9" : "pr-3",
531
530
  "h-9"
532
531
  ),
533
532
  ...g
534
533
  }
535
534
  ),
536
- a && /* @__PURE__ */ e.jsx(
535
+ s && /* @__PURE__ */ e.jsx(
537
536
  "span",
538
537
  {
539
538
  className: "absolute right-2.5 top-0 bottom-0 pointer-events-none text-gray-500 flex items-center justify-center w-5",
540
539
  "data-testid": "right-content",
541
- children: a
540
+ children: s
542
541
  }
543
542
  )
544
543
  ] }),
@@ -547,8 +546,8 @@ const ge = j(
547
546
  ] });
548
547
  }
549
548
  );
550
- I.displayName = "TextInput";
551
- function he(r) {
549
+ $.displayName = "TextInput";
550
+ function Ie(r) {
552
551
  if (!r) return "";
553
552
  const t = new Date(r);
554
553
  return isNaN(t.getTime()) ? r : t.toLocaleDateString(void 0, {
@@ -557,26 +556,26 @@ function he(r) {
557
556
  day: "numeric"
558
557
  });
559
558
  }
560
- const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatter: n, ...i }, d) {
561
- const c = B(null), s = (l) => {
562
- c.current = l, typeof d == "function" ? d(l) : d && typeof d == "object" && (d.current = l);
559
+ const mr = m.forwardRef(function({ value: t = "", onChange: o, label: s, formatter: n, ...i }, l) {
560
+ const c = A(null), a = (d) => {
561
+ c.current = d, typeof l == "function" ? l(d) : l && typeof l == "object" && (l.current = d);
563
562
  }, g = () => {
564
563
  c.current && (typeof c.current.showPicker == "function" ? c.current.showPicker() : c.current.focus());
565
- }, u = (l) => {
566
- o(l.target.value);
567
- }, f = (n ?? he)(t);
564
+ }, u = (d) => {
565
+ o(d.target.value);
566
+ }, f = (n ?? Ie)(t);
568
567
  return /* @__PURE__ */ e.jsxs("div", { className: "relative", children: [
569
568
  /* @__PURE__ */ e.jsx(
570
- I,
569
+ $,
571
570
  {
572
571
  type: "text",
573
572
  value: f,
574
- label: a,
573
+ label: s,
575
574
  readOnly: !0,
576
575
  tabIndex: 0,
577
576
  "aria-hidden": "true",
578
577
  onClick: g,
579
- leftContent: /* @__PURE__ */ e.jsx(C, { as: X, color: "inherit", size: "sm" }),
578
+ leftContent: /* @__PURE__ */ e.jsx(S, { as: ie, color: "inherit", size: "sm" }),
580
579
  "data-testid": "date-single-picker-visible-input",
581
580
  ...i
582
581
  }
@@ -584,17 +583,313 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
584
583
  /* @__PURE__ */ e.jsx(
585
584
  "input",
586
585
  {
587
- ref: s,
586
+ ref: a,
588
587
  type: "date",
589
588
  value: t,
590
589
  onChange: u,
591
590
  className: "sr-only absolute opacity-0 h-0 w-0 pointer-events-none",
592
591
  tabIndex: -1,
593
- "aria-label": typeof a == "string" ? a : void 0
592
+ "aria-label": typeof s == "string" ? s : void 0
594
593
  }
595
594
  )
596
595
  ] });
597
- }), be = v("space-y-2", {
596
+ }), xr = z(
597
+ (r, t) => /* @__PURE__ */ e.jsx(
598
+ $,
599
+ {
600
+ ...r,
601
+ ref: t,
602
+ type: "email",
603
+ autoComplete: "email",
604
+ inputMode: "email",
605
+ leftContent: /* @__PURE__ */ e.jsx(S, { as: ce, color: "inherit", size: "sm" })
606
+ }
607
+ )
608
+ ), Ce = v(
609
+ // align sizing with TextInput which uses h-9; keep width slightly narrower for single-digit input
610
+ "w-9 h-9 text-center border rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none disabled:bg-gray-50 text-sm font-semibold",
611
+ {
612
+ variants: {
613
+ variant: {
614
+ // Core variants using Versaur color system
615
+ primary: "border-primary/30 text-foreground focus:border-primary focus:ring-primary/20",
616
+ secondary: "border-secondary/30 text-foreground focus:border-secondary focus:ring-secondary/20",
617
+ tertiary: "border-tertiary/30 text-foreground focus:border-tertiary focus:ring-tertiary/20",
618
+ ghost: "border-ghost/30 text-foreground focus:border-ghost focus:ring-ghost/20",
619
+ neutral: "border-gray-300 text-foreground focus:border-gray-400 focus:ring-gray-400/20",
620
+ // Outline variants
621
+ "primary-outline": "border-primary text-foreground focus:border-primary focus:ring-primary/20",
622
+ "secondary-outline": "border-secondary text-foreground focus:border-secondary focus:ring-secondary/20",
623
+ "tertiary-outline": "border-tertiary text-foreground focus:border-tertiary focus:ring-tertiary/20",
624
+ "ghost-outline": "border-ghost text-foreground focus:border-ghost focus:ring-ghost/20",
625
+ "neutral-outline": "border-gray-400 text-foreground focus:border-gray-500 focus:ring-gray-500/20",
626
+ // Semantic variants
627
+ success: "border-success/30 text-foreground focus:border-success focus:ring-success/20",
628
+ "success-outline": "border-success text-foreground focus:border-success focus:ring-success/20",
629
+ info: "border-info/30 text-foreground focus:border-info focus:ring-info/20",
630
+ "info-outline": "border-info text-foreground focus:border-info focus:ring-info/20",
631
+ warning: "border-warning/30 text-foreground focus:border-warning focus:ring-warning/20",
632
+ "warning-outline": "border-warning text-foreground focus:border-warning focus:ring-warning/20",
633
+ danger: "border-danger bg-danger/5 text-foreground focus:border-danger focus:ring-danger/20",
634
+ "danger-outline": "border-danger bg-danger/5 text-foreground focus:border-danger focus:ring-danger/20"
635
+ }
636
+ },
637
+ defaultVariants: {
638
+ variant: "primary"
639
+ }
640
+ }
641
+ ), Ne = (r) => /^\d$/.test(r), M = (r) => r.replace(/\D/g, "").slice(0, 6), J = m.forwardRef(
642
+ ({
643
+ value: r,
644
+ onChange: t,
645
+ onKeyDown: o,
646
+ onFocus: s,
647
+ onPaste: n,
648
+ disabled: i,
649
+ error: l,
650
+ variant: c,
651
+ secure: a,
652
+ inputRef: g,
653
+ index: u,
654
+ id: f
655
+ }, d) => /* @__PURE__ */ e.jsx(
656
+ "input",
657
+ {
658
+ ref: g,
659
+ id: f,
660
+ type: a ? "password" : "text",
661
+ inputMode: "numeric",
662
+ maxLength: 1,
663
+ value: a ? r ? "•" : "" : r,
664
+ onChange: (h) => {
665
+ const b = h.target.value;
666
+ (b === "" || Ne(b)) && t(b);
667
+ },
668
+ onKeyDown: o,
669
+ onFocus: s,
670
+ onPaste: n,
671
+ disabled: i,
672
+ "aria-invalid": l,
673
+ "aria-disabled": i,
674
+ className: p(
675
+ Ce({
676
+ variant: l ? "danger" : c
677
+ })
678
+ ),
679
+ autoComplete: "one-time-code",
680
+ "data-testid": `pin-input-${u}`
681
+ }
682
+ )
683
+ );
684
+ J.displayName = "PinInput";
685
+ const Ve = m.forwardRef(
686
+ ({
687
+ variant: r = "primary",
688
+ label: t,
689
+ helperText: o,
690
+ error: s,
691
+ disabled: n,
692
+ value: i,
693
+ defaultValue: l,
694
+ onChange: c,
695
+ onComplete: a,
696
+ autoSubmit: g = !1,
697
+ className: u,
698
+ id: f,
699
+ name: d,
700
+ required: h,
701
+ secure: b = !1,
702
+ ...y
703
+ }, w) => {
704
+ const j = m.useId(), x = f || j, V = !!s, N = m.useRef([]), [re, te] = m.useState(
705
+ () => M(l || "")
706
+ ), F = i !== void 0 ? M(i) : re, P = F.split("").concat(Array(6 - F.length).fill("")), D = m.useCallback(
707
+ (I) => {
708
+ const k = M(I);
709
+ if (i === void 0 && te(k), c?.(k), k.length === 6 && (a?.(k), g)) {
710
+ const C = N.current[0]?.closest("form");
711
+ C && C.requestSubmit();
712
+ }
713
+ },
714
+ [i, c, a, g]
715
+ ), oe = m.useCallback(
716
+ (I, k) => {
717
+ const C = [...P];
718
+ C[I] = k;
719
+ const B = C.join("").replace(/\s+$/, "");
720
+ D(B), k && I < 5 && N.current[I + 1]?.focus();
721
+ },
722
+ [P, D]
723
+ ), ne = m.useCallback(
724
+ (I, k) => {
725
+ k.key === "Backspace" && !P[I] && I > 0 || k.key === "ArrowLeft" && I > 0 ? N.current[I - 1]?.focus() : k.key === "ArrowRight" && I < 5 && N.current[I + 1]?.focus();
726
+ },
727
+ [P]
728
+ ), se = m.useCallback(
729
+ (I) => {
730
+ I.preventDefault();
731
+ const k = I.clipboardData.getData("text"), C = M(k);
732
+ if (C.length > 0) {
733
+ D(C);
734
+ const B = Math.min(C.length, 5);
735
+ N.current[B]?.focus();
736
+ }
737
+ },
738
+ [D]
739
+ );
740
+ return /* @__PURE__ */ e.jsxs("div", { ref: w, className: p("w-full", u), ...y, children: [
741
+ t && /* @__PURE__ */ e.jsxs(
742
+ "label",
743
+ {
744
+ htmlFor: `${x}-0`,
745
+ className: "block text-sm font-medium text-foreground mb-2",
746
+ children: [
747
+ t,
748
+ h && /* @__PURE__ */ e.jsx("span", { className: "text-danger ml-1", children: "*" })
749
+ ]
750
+ }
751
+ ),
752
+ /* @__PURE__ */ e.jsx(
753
+ "div",
754
+ {
755
+ className: "flex gap-2 justify-center",
756
+ role: "group",
757
+ "aria-labelledby": t ? `${x}-label` : void 0,
758
+ "aria-describedby": V ? `${x}-error` : o ? `${x}-helper` : void 0,
759
+ children: P.map((I, k) => /* @__PURE__ */ e.jsx(
760
+ J,
761
+ {
762
+ value: I,
763
+ onChange: (C) => oe(k, C),
764
+ onKeyDown: (C) => ne(k, C),
765
+ onFocus: () => {
766
+ const C = N.current[k];
767
+ C && C.select();
768
+ },
769
+ onPaste: se,
770
+ disabled: n,
771
+ error: V,
772
+ variant: r,
773
+ secure: b,
774
+ inputRef: (C) => {
775
+ N.current[k] = C;
776
+ },
777
+ index: k,
778
+ id: `${x}-${k}`
779
+ },
780
+ k
781
+ ))
782
+ }
783
+ ),
784
+ d && /* @__PURE__ */ e.jsx(
785
+ "input",
786
+ {
787
+ type: "hidden",
788
+ name: d,
789
+ value: F,
790
+ required: h
791
+ }
792
+ ),
793
+ V && /* @__PURE__ */ e.jsx(
794
+ "div",
795
+ {
796
+ id: `${x}-error`,
797
+ className: "mt-2 text-sm text-danger",
798
+ role: "alert",
799
+ children: s
800
+ }
801
+ ),
802
+ !V && o && /* @__PURE__ */ e.jsx("div", { id: `${x}-helper`, className: "mt-2 text-sm text-gray-600", children: o })
803
+ ] });
804
+ }
805
+ );
806
+ Ve.displayName = "PinField";
807
+ function ze(r, t) {
808
+ ae(() => {
809
+ typeof r == "number" && !isNaN(r) ? t(`${r}`) : r === "" || r === null || r === void 0 ? t("") : typeof r == "string" && t(r);
810
+ }, [r, t]);
811
+ }
812
+ function Se(r, t = !1) {
813
+ if (r === "" || r === "-" && t) return !0;
814
+ const o = t && r.startsWith("-") ? r.slice(1) : r;
815
+ if (t && r.startsWith("-") && o === "") return !0;
816
+ if (o.startsWith(".") || o.startsWith(",") || !/^[\d.,]+$/.test(o)) return !1;
817
+ const s = o.split(",");
818
+ if (s.length > 2) return !1;
819
+ const n = s[0], i = s[1];
820
+ return !(n === "" || !Re(n) || i !== void 0 && i !== "" && !Oe(i));
821
+ }
822
+ function Re(r) {
823
+ if (r === "") return !1;
824
+ if (!r.includes("."))
825
+ return /^\d+$/.test(r);
826
+ const t = r.split(".");
827
+ if (t[0] === "" || !/^\d{1,3}$/.test(t[0])) return !1;
828
+ for (let o = 1; o < t.length; o++) {
829
+ const s = t[o];
830
+ if (o === t.length - 1) {
831
+ if (s !== "" && !/^\d{1,3}$/.test(s)) return !1;
832
+ } else if (!/^\d{3}$/.test(s)) return !1;
833
+ }
834
+ return !0;
835
+ }
836
+ function Oe(r) {
837
+ return /^\d{1,2}$/.test(r);
838
+ }
839
+ function Q(r, t = !1) {
840
+ if (r === "") return "";
841
+ const o = r.startsWith("-");
842
+ if (o && !t)
843
+ return Q(r.slice(1), !1);
844
+ if (o && r.length === 1) return "-";
845
+ let n = (o ? r.slice(1) : r).replace(/[^\d.,]/g, "");
846
+ const i = n.lastIndexOf(",");
847
+ if (i !== -1) {
848
+ const l = n.slice(0, i).replace(/,/g, ""), c = n.slice(i + 1).replace(/,/g, "");
849
+ n = l + "," + c;
850
+ }
851
+ return n = n.replace(/\.{2,}/g, "."), (o ? "-" : "") + n;
852
+ }
853
+ const pr = ({
854
+ value: r,
855
+ onChange: t,
856
+ allowNegative: o = !1,
857
+ inputProps: s,
858
+ label: n,
859
+ helperText: i,
860
+ error: l,
861
+ variant: c,
862
+ ...a
863
+ }) => {
864
+ const g = A(null), [u, f] = L(
865
+ r === "" ? "" : String(r)
866
+ );
867
+ ze(r, f);
868
+ const d = (h) => {
869
+ const b = h.target.value, y = Q(b, o);
870
+ Se(y, o) ? (f(y), t(y)) : h.preventDefault();
871
+ };
872
+ return /* @__PURE__ */ e.jsx(
873
+ $,
874
+ {
875
+ ref: g,
876
+ type: "text",
877
+ label: n,
878
+ value: u,
879
+ onChange: d,
880
+ error: l,
881
+ helperText: i,
882
+ placeholder: a.placeholder,
883
+ leftContent: /* @__PURE__ */ e.jsx(S, { as: de, color: "inherit", size: "sm" }),
884
+ variant: c,
885
+ inputMode: "numeric",
886
+ autoComplete: "off",
887
+ pattern: "[0-9.,-]*",
888
+ ...s,
889
+ ...a
890
+ }
891
+ );
892
+ }, $e = v("space-y-2", {
598
893
  variants: {
599
894
  direction: {
600
895
  vertical: "space-y-2 space-x-0",
@@ -604,7 +899,7 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
604
899
  defaultVariants: {
605
900
  direction: "vertical"
606
901
  }
607
- }), xe = v(
902
+ }), Pe = v(
608
903
  "relative h-4 w-4 rounded-full border cursor-pointer transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed appearance-none bg-white",
609
904
  {
610
905
  variants: {
@@ -642,7 +937,7 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
642
937
  size: "md"
643
938
  }
644
939
  }
645
- ), me = v(
940
+ ), De = v(
646
941
  "text-foreground cursor-pointer select-none",
647
942
  {
648
943
  variants: {
@@ -661,18 +956,18 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
661
956
  disabled: !1
662
957
  }
663
958
  }
664
- ), G = N(
959
+ ), U = R(
665
960
  null
666
- ), pe = () => {
667
- const r = z(G);
961
+ ), Me = () => {
962
+ const r = O(U);
668
963
  if (!r)
669
964
  throw new Error(
670
965
  "useRadioInputContext must be used within RadioInputContext"
671
966
  );
672
967
  return r;
673
- }, ye = x.forwardRef(
674
- ({ children: r, description: t, className: o, disabled: a, id: n, value: i, ...d }, c) => {
675
- const s = pe(), g = x.useId(), u = n || g, f = a || s.disabled, l = s.error ? "danger" : s.variant || "primary";
968
+ }, Ee = m.forwardRef(
969
+ ({ children: r, description: t, className: o, disabled: s, id: n, value: i, ...l }, c) => {
970
+ const a = Me(), g = m.useId(), u = n || g, f = s || a.disabled, d = a.error ? "danger" : a.variant || "primary";
676
971
  return /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
677
972
  /* @__PURE__ */ e.jsx("div", { className: "relative flex items-center", children: /* @__PURE__ */ e.jsx(
678
973
  "input",
@@ -680,26 +975,26 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
680
975
  ref: c,
681
976
  type: "radio",
682
977
  id: u,
683
- name: s.name,
978
+ name: a.name,
684
979
  value: i,
685
980
  disabled: f,
686
- className: m(
687
- xe({
688
- variant: l,
689
- size: s.size
981
+ className: p(
982
+ Pe({
983
+ variant: d,
984
+ size: a.size
690
985
  }),
691
986
  // Custom radio dot styling using ::before - centered positioning with size variants
692
987
  'before:content-[""] before:absolute before:left-1/2 before:top-1/2 before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-full before:bg-white before:opacity-0 before:transition-opacity before:duration-200',
693
988
  // Size-specific radio dot dimensions
694
- s.size === "sm" && "before:w-[6px] before:h-[6px]",
695
- s.size === "md" && "before:w-[8px] before:h-[8px]",
696
- s.size === "lg" && "before:w-[10px] before:h-[10px]",
989
+ a.size === "sm" && "before:w-[6px] before:h-[6px]",
990
+ a.size === "md" && "before:w-[8px] before:h-[8px]",
991
+ a.size === "lg" && "before:w-[10px] before:h-[10px]",
697
992
  "checked:before:opacity-100",
698
993
  // Outline variants use colored radio dot
699
- l?.includes("outline") && "checked:before:bg-current",
994
+ d?.includes("outline") && "checked:before:bg-current",
700
995
  o
701
996
  ),
702
- ...d
997
+ ...l
703
998
  }
704
999
  ) }),
705
1000
  /* @__PURE__ */ e.jsxs("div", { className: "flex-1", children: [
@@ -707,8 +1002,8 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
707
1002
  "label",
708
1003
  {
709
1004
  htmlFor: u,
710
- className: me({
711
- size: s.size,
1005
+ className: De({
1006
+ size: a.size,
712
1007
  disabled: f
713
1008
  }),
714
1009
  children: r
@@ -717,11 +1012,11 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
717
1012
  t && /* @__PURE__ */ e.jsx(
718
1013
  "div",
719
1014
  {
720
- className: m(
1015
+ className: p(
721
1016
  "text-gray-600 mt-1",
722
- s.size === "sm" && "text-xs",
723
- s.size === "md" && "text-xs",
724
- s.size === "lg" && "text-sm",
1017
+ a.size === "sm" && "text-xs",
1018
+ a.size === "md" && "text-xs",
1019
+ a.size === "lg" && "text-sm",
725
1020
  f && "opacity-50"
726
1021
  ),
727
1022
  children: t
@@ -730,37 +1025,64 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
730
1025
  ] })
731
1026
  ] });
732
1027
  }
733
- ), we = x.forwardRef(
1028
+ ), Fe = m.forwardRef(
734
1029
  ({
735
1030
  variant: r = "primary",
736
1031
  size: t = "md",
737
1032
  label: o,
738
- helperText: a,
1033
+ helperText: s,
739
1034
  error: n,
740
1035
  direction: i = "vertical",
741
- className: d,
1036
+ className: l,
742
1037
  disabled: c,
743
- name: s,
1038
+ name: a,
744
1039
  children: g,
745
1040
  ...u
746
1041
  }, f) => {
747
- const l = !!n, h = {
1042
+ const d = !!n, h = {
748
1043
  variant: r,
749
1044
  size: t,
750
1045
  disabled: c,
751
- error: l,
752
- name: s
1046
+ error: d,
1047
+ name: a
753
1048
  };
754
- return /* @__PURE__ */ e.jsx(G.Provider, { value: h, children: /* @__PURE__ */ e.jsxs("div", { ref: f, className: m("w-full", d), ...u, children: [
1049
+ return /* @__PURE__ */ e.jsx(U.Provider, { value: h, children: /* @__PURE__ */ e.jsxs("div", { ref: f, className: p("w-full", l), ...u, children: [
755
1050
  o && /* @__PURE__ */ e.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: o }),
756
- /* @__PURE__ */ e.jsx("div", { className: be({ direction: i }), children: g }),
757
- l && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
758
- !l && a && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: a })
1051
+ /* @__PURE__ */ e.jsx("div", { className: $e({ direction: i }), children: g }),
1052
+ d && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
1053
+ !d && s && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
759
1054
  ] }) });
760
1055
  }
761
- ), cr = Object.assign(we, {
762
- Option: ye
763
- }), ve = v(
1056
+ ), yr = Object.assign(Fe, {
1057
+ Option: Ee
1058
+ }), wr = z(
1059
+ ({
1060
+ autoComplete: r = "off",
1061
+ spellCheck: t = !1,
1062
+ inputMode: o = "search",
1063
+ placeholder: s = "Search...",
1064
+ maxLength: n = 256,
1065
+ enterKeyHint: i = "search",
1066
+ "aria-label": l = "Search",
1067
+ // internal default, not in props
1068
+ ...c
1069
+ }, a) => /* @__PURE__ */ e.jsx(
1070
+ $,
1071
+ {
1072
+ ref: a,
1073
+ type: "search",
1074
+ inputMode: o,
1075
+ autoComplete: r,
1076
+ spellCheck: t,
1077
+ placeholder: s,
1078
+ maxLength: n,
1079
+ enterKeyHint: i,
1080
+ "aria-label": l,
1081
+ leftContent: /* @__PURE__ */ e.jsx(S, { as: le, color: "inherit", size: "sm" }),
1082
+ ...c
1083
+ }
1084
+ )
1085
+ ), Be = v(
764
1086
  "flex flex-row rounded-full border overflow-hidden p-1 gap-0.25",
765
1087
  {
766
1088
  variants: {
@@ -793,7 +1115,7 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
793
1115
  error: !1
794
1116
  }
795
1117
  }
796
- ), ke = v(
1118
+ ), Ae = v(
797
1119
  "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",
798
1120
  {
799
1121
  variants: {
@@ -828,7 +1150,7 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
828
1150
  rounded: "middle"
829
1151
  }
830
1152
  }
831
- ), je = (r) => {
1153
+ ), Le = (r) => {
832
1154
  const t = {
833
1155
  // Core variants - override hover text color changes
834
1156
  primary: "bg-primary text-white hover:text-white",
@@ -843,21 +1165,21 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
843
1165
  danger: "bg-danger text-white hover:text-white"
844
1166
  };
845
1167
  return t[r || "primary"] || t.primary;
846
- }, K = N(null), Ie = () => {
847
- const r = z(K);
1168
+ }, X = R(null), We = () => {
1169
+ const r = O(X);
848
1170
  if (!r)
849
1171
  throw new Error(
850
1172
  "useSegmentSingleInputContext must be used within SegmentSingleInputContext"
851
1173
  );
852
1174
  return r;
853
- }, _ = x.forwardRef(
854
- ({ children: r, className: t, disabled: o, id: a, value: n, position: i = "middle", ...d }, c) => {
855
- const s = Ie(), g = x.useId(), u = a || g, f = o || s.disabled, l = s.error ? "danger" : s.variant || "primary", h = s.value === n, b = (p) => {
1175
+ }, Y = m.forwardRef(
1176
+ ({ children: r, className: t, disabled: o, id: s, value: n, position: i = "middle", ...l }, c) => {
1177
+ const a = We(), g = m.useId(), u = s || g, f = o || a.disabled, d = a.error ? "danger" : a.variant || "primary", h = a.value === n, b = (y) => {
856
1178
  if (!f) {
857
- const y = s.value === n ? null : n;
858
- s.onChange?.(y);
1179
+ const w = a.value === n ? null : n;
1180
+ a.onChange?.(w);
859
1181
  }
860
- d.onChange?.(p);
1182
+ l.onChange?.(y);
861
1183
  };
862
1184
  return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
863
1185
  /* @__PURE__ */ e.jsx(
@@ -866,27 +1188,27 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
866
1188
  ref: c,
867
1189
  type: "radio",
868
1190
  id: u,
869
- name: s.name,
1191
+ name: a.name,
870
1192
  value: n,
871
1193
  checked: h,
872
1194
  disabled: f,
873
1195
  onChange: b,
874
1196
  className: "sr-only",
875
- ...d
1197
+ ...l
876
1198
  }
877
1199
  ),
878
1200
  /* @__PURE__ */ e.jsx(
879
1201
  "label",
880
1202
  {
881
1203
  htmlFor: u,
882
- className: m(
1204
+ className: p(
883
1205
  "flex flex-row items-center justify-center",
884
- ke({
885
- variant: l,
886
- size: s.size,
1206
+ Ae({
1207
+ variant: d,
1208
+ size: a.size,
887
1209
  rounded: i
888
1210
  }),
889
- h && je(l),
1211
+ h && Le(d),
890
1212
  f && "opacity-50 cursor-not-allowed pointer-events-none",
891
1213
  t
892
1214
  ),
@@ -896,61 +1218,61 @@ const ir = x.forwardRef(function({ value: t = "", onChange: o, label: a, formatt
896
1218
  ] });
897
1219
  }
898
1220
  );
899
- _.displayName = "SegmentOption";
900
- const Ce = x.forwardRef(
1221
+ Y.displayName = "SegmentOption";
1222
+ const Ge = m.forwardRef(
901
1223
  ({
902
1224
  variant: r = "primary",
903
1225
  size: t = "md",
904
1226
  label: o,
905
- helperText: a,
1227
+ helperText: s,
906
1228
  error: n,
907
1229
  disabled: i,
908
- name: d,
1230
+ name: l,
909
1231
  value: c,
910
- onChange: s,
1232
+ onChange: a,
911
1233
  children: g,
912
1234
  ...u
913
1235
  }, f) => {
914
- const l = !!n, h = {
1236
+ const d = !!n, h = {
915
1237
  variant: r,
916
1238
  size: t,
917
1239
  disabled: i,
918
- error: l,
919
- name: d,
1240
+ error: d,
1241
+ name: l,
920
1242
  value: c,
921
- onChange: s
922
- }, b = x.Children.toArray(g), p = b.map((y, k) => {
923
- if (x.isValidElement(y)) {
924
- let w;
925
- return b.length === 1 ? w = "single" : k === 0 ? w = "first" : k === b.length - 1 ? w = "last" : w = "middle", x.cloneElement(
926
- y,
927
- { position: w }
1243
+ onChange: a
1244
+ }, b = m.Children.toArray(g), y = b.map((w, j) => {
1245
+ if (m.isValidElement(w)) {
1246
+ let x;
1247
+ return b.length === 1 ? x = "single" : j === 0 ? x = "first" : j === b.length - 1 ? x = "last" : x = "middle", m.cloneElement(
1248
+ w,
1249
+ { position: x }
928
1250
  );
929
1251
  }
930
- return y;
1252
+ return w;
931
1253
  });
932
- return /* @__PURE__ */ e.jsx(K.Provider, { value: h, children: /* @__PURE__ */ e.jsxs("div", { ref: f, ...u, children: [
1254
+ return /* @__PURE__ */ e.jsx(X.Provider, { value: h, children: /* @__PURE__ */ e.jsxs("div", { ref: f, ...u, children: [
933
1255
  o && /* @__PURE__ */ e.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: o }),
934
1256
  /* @__PURE__ */ e.jsx(
935
1257
  "div",
936
1258
  {
937
- className: m(
938
- ve({
939
- variant: l ? "danger" : r,
1259
+ className: p(
1260
+ Be({
1261
+ variant: d ? "danger" : r,
940
1262
  size: t,
941
- error: l
1263
+ error: d
942
1264
  })
943
1265
  ),
944
- children: p
1266
+ children: y
945
1267
  }
946
1268
  ),
947
- l && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
948
- !l && a && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: a })
1269
+ d && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
1270
+ !d && s && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
949
1271
  ] }) });
950
1272
  }
951
- ), dr = Object.assign(Ce, {
952
- Option: _
953
- }), Ne = v(
1273
+ ), vr = Object.assign(Ge, {
1274
+ Option: Y
1275
+ }), _e = v(
954
1276
  "flex flex-row rounded-full border overflow-hidden p-1 gap-0.25",
955
1277
  {
956
1278
  variants: {
@@ -983,7 +1305,7 @@ const Ce = x.forwardRef(
983
1305
  error: !1
984
1306
  }
985
1307
  }
986
- ), ze = v(
1308
+ ), Ke = v(
987
1309
  "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",
988
1310
  {
989
1311
  variants: {
@@ -1018,7 +1340,7 @@ const Ce = x.forwardRef(
1018
1340
  rounded: "middle"
1019
1341
  }
1020
1342
  }
1021
- ), Se = (r) => {
1343
+ ), He = (r) => {
1022
1344
  const t = {
1023
1345
  // Core variants - override hover text color changes
1024
1346
  primary: "bg-primary text-white hover:text-white",
@@ -1033,22 +1355,22 @@ const Ce = x.forwardRef(
1033
1355
  danger: "bg-danger text-white hover:text-white"
1034
1356
  };
1035
1357
  return t[r || "primary"] || t.primary;
1036
- }, q = N(null), Ve = () => {
1037
- const r = z(q);
1358
+ }, Z = R(null), Te = () => {
1359
+ const r = O(Z);
1038
1360
  if (!r)
1039
1361
  throw new Error(
1040
1362
  "useSegmentMultipleInputContext must be used within SegmentMultipleInputContext"
1041
1363
  );
1042
1364
  return r;
1043
- }, J = x.forwardRef(
1044
- ({ children: r, className: t, disabled: o, id: a, value: n, position: i = "middle", ...d }, c) => {
1045
- const s = Ve(), g = x.useId(), u = a || g, f = o || s.disabled, l = s.error ? "danger" : s.variant || "primary", h = s.value?.includes(n) ?? !1, b = (p) => {
1365
+ }, ee = m.forwardRef(
1366
+ ({ children: r, className: t, disabled: o, id: s, value: n, position: i = "middle", ...l }, c) => {
1367
+ const a = Te(), g = m.useId(), u = s || g, f = o || a.disabled, d = a.error ? "danger" : a.variant || "primary", h = a.value?.includes(n) ?? !1, b = (y) => {
1046
1368
  if (!f) {
1047
- const y = s.value || [];
1048
- let k;
1049
- h ? k = y.filter((w) => w !== n) : k = [...y, n], s.onChange?.(k);
1369
+ const w = a.value || [];
1370
+ let j;
1371
+ h ? j = w.filter((x) => x !== n) : j = [...w, n], a.onChange?.(j);
1050
1372
  }
1051
- d.onChange?.(p);
1373
+ l.onChange?.(y);
1052
1374
  };
1053
1375
  return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1054
1376
  /* @__PURE__ */ e.jsx(
@@ -1057,27 +1379,27 @@ const Ce = x.forwardRef(
1057
1379
  ref: c,
1058
1380
  type: "checkbox",
1059
1381
  id: u,
1060
- name: `${s.name}[]`,
1382
+ name: `${a.name}[]`,
1061
1383
  value: n,
1062
1384
  checked: h,
1063
1385
  disabled: f,
1064
1386
  onChange: b,
1065
1387
  className: "sr-only",
1066
- ...d
1388
+ ...l
1067
1389
  }
1068
1390
  ),
1069
1391
  /* @__PURE__ */ e.jsx(
1070
1392
  "label",
1071
1393
  {
1072
1394
  htmlFor: u,
1073
- className: m(
1395
+ className: p(
1074
1396
  "flex flex-row items-center justify-center",
1075
- ze({
1076
- variant: l,
1077
- size: s.size,
1397
+ Ke({
1398
+ variant: d,
1399
+ size: a.size,
1078
1400
  rounded: i
1079
1401
  }),
1080
- h && Se(l),
1402
+ h && He(d),
1081
1403
  f && "opacity-50 cursor-not-allowed pointer-events-none",
1082
1404
  t
1083
1405
  ),
@@ -1087,88 +1409,61 @@ const Ce = x.forwardRef(
1087
1409
  ] });
1088
1410
  }
1089
1411
  );
1090
- J.displayName = "SegmentOption";
1091
- const Re = x.forwardRef(
1412
+ ee.displayName = "SegmentOption";
1413
+ const qe = m.forwardRef(
1092
1414
  ({
1093
1415
  variant: r = "primary",
1094
1416
  size: t = "md",
1095
1417
  label: o,
1096
- helperText: a,
1418
+ helperText: s,
1097
1419
  error: n,
1098
1420
  disabled: i,
1099
- name: d,
1421
+ name: l,
1100
1422
  value: c = [],
1101
- onChange: s,
1423
+ onChange: a,
1102
1424
  children: g,
1103
1425
  ...u
1104
1426
  }, f) => {
1105
- const l = !!n, h = {
1427
+ const d = !!n, h = {
1106
1428
  variant: r,
1107
1429
  size: t,
1108
1430
  disabled: i,
1109
- error: l,
1110
- name: d,
1431
+ error: d,
1432
+ name: l,
1111
1433
  value: c,
1112
- onChange: s
1113
- }, b = x.Children.toArray(g), p = b.map((y, k) => {
1114
- if (x.isValidElement(y)) {
1115
- let w;
1116
- return b.length === 1 ? w = "single" : k === 0 ? w = "first" : k === b.length - 1 ? w = "last" : w = "middle", x.cloneElement(
1117
- y,
1118
- { position: w }
1434
+ onChange: a
1435
+ }, b = m.Children.toArray(g), y = b.map((w, j) => {
1436
+ if (m.isValidElement(w)) {
1437
+ let x;
1438
+ return b.length === 1 ? x = "single" : j === 0 ? x = "first" : j === b.length - 1 ? x = "last" : x = "middle", m.cloneElement(
1439
+ w,
1440
+ { position: x }
1119
1441
  );
1120
1442
  }
1121
- return y;
1443
+ return w;
1122
1444
  });
1123
- return /* @__PURE__ */ e.jsx(q.Provider, { value: h, children: /* @__PURE__ */ e.jsxs("div", { ref: f, ...u, children: [
1445
+ return /* @__PURE__ */ e.jsx(Z.Provider, { value: h, children: /* @__PURE__ */ e.jsxs("div", { ref: f, ...u, children: [
1124
1446
  o && /* @__PURE__ */ e.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: o }),
1125
1447
  /* @__PURE__ */ e.jsx(
1126
1448
  "div",
1127
1449
  {
1128
- className: m(
1129
- Ne({
1130
- variant: l ? "danger" : r,
1450
+ className: p(
1451
+ _e({
1452
+ variant: d ? "danger" : r,
1131
1453
  size: t,
1132
- error: l
1454
+ error: d
1133
1455
  })
1134
1456
  ),
1135
- children: p
1457
+ children: y
1136
1458
  }
1137
1459
  ),
1138
- l && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
1139
- !l && a && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: a })
1460
+ d && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
1461
+ !d && s && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-600", children: s })
1140
1462
  ] }) });
1141
1463
  }
1142
- ), lr = Object.assign(Re, {
1143
- Option: J
1144
- }), ur = j(
1145
- ({
1146
- autoComplete: r = "off",
1147
- spellCheck: t = !1,
1148
- inputMode: o = "search",
1149
- placeholder: a = "Search...",
1150
- maxLength: n = 256,
1151
- enterKeyHint: i = "search",
1152
- "aria-label": d = "Search",
1153
- // internal default, not in props
1154
- ...c
1155
- }, s) => /* @__PURE__ */ e.jsx(
1156
- I,
1157
- {
1158
- ref: s,
1159
- type: "search",
1160
- inputMode: o,
1161
- autoComplete: r,
1162
- spellCheck: t,
1163
- placeholder: a,
1164
- maxLength: n,
1165
- enterKeyHint: i,
1166
- "aria-label": d,
1167
- leftContent: /* @__PURE__ */ e.jsx(C, { as: Y, color: "inherit", size: "sm" }),
1168
- ...c
1169
- }
1170
- )
1171
- ), Oe = v(
1464
+ ), kr = Object.assign(qe, {
1465
+ Option: ee
1466
+ }), Je = v(
1172
1467
  "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",
1173
1468
  {
1174
1469
  variants: {
@@ -1200,40 +1495,40 @@ const Re = x.forwardRef(
1200
1495
  variant: "primary"
1201
1496
  }
1202
1497
  }
1203
- ), Me = x.forwardRef(
1498
+ ), Qe = m.forwardRef(
1204
1499
  ({
1205
1500
  variant: r = "primary",
1206
1501
  label: t,
1207
1502
  helperText: o,
1208
- error: a,
1503
+ error: s,
1209
1504
  className: n,
1210
1505
  disabled: i,
1211
- id: d,
1506
+ id: l,
1212
1507
  placeholder: c,
1213
- children: s,
1508
+ children: a,
1214
1509
  ...g
1215
1510
  }, u) => {
1216
- const f = x.useId(), l = d || f, h = !!a;
1511
+ const f = m.useId(), d = l || f, h = !!s;
1217
1512
  return /* @__PURE__ */ e.jsxs("div", { children: [
1218
1513
  /* @__PURE__ */ e.jsx(
1219
1514
  "label",
1220
1515
  {
1221
- htmlFor: l,
1516
+ htmlFor: d,
1222
1517
  className: "block text-sm font-medium text-foreground mb-2",
1223
1518
  children: t
1224
1519
  }
1225
1520
  ),
1226
- /* @__PURE__ */ e.jsxs("div", { className: m("relative w-full", n), children: [
1521
+ /* @__PURE__ */ e.jsxs("div", { className: p("relative w-full", n), children: [
1227
1522
  /* @__PURE__ */ e.jsxs(
1228
1523
  "select",
1229
1524
  {
1230
1525
  ref: u,
1231
- id: l,
1526
+ id: d,
1232
1527
  "aria-invalid": h,
1233
1528
  "aria-disabled": i,
1234
1529
  disabled: i,
1235
- className: m(
1236
- Oe({
1530
+ className: p(
1531
+ Je({
1237
1532
  variant: h ? "danger" : r
1238
1533
  }),
1239
1534
  "h-9 pl-3"
@@ -1241,7 +1536,7 @@ const Re = x.forwardRef(
1241
1536
  ...g,
1242
1537
  children: [
1243
1538
  c && /* @__PURE__ */ e.jsx("option", { value: "", disabled: !0, hidden: !0, children: c }),
1244
- s
1539
+ a
1245
1540
  ]
1246
1541
  }
1247
1542
  ),
@@ -1264,125 +1559,181 @@ const Re = x.forwardRef(
1264
1559
  }
1265
1560
  ) })
1266
1561
  ] }),
1267
- h && /* @__PURE__ */ e.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: a }),
1562
+ h && /* @__PURE__ */ e.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: s }),
1268
1563
  !h && o && /* @__PURE__ */ e.jsx("div", { className: "mt-1 text-sm text-gray-600", children: o })
1269
1564
  ] });
1270
1565
  }
1271
1566
  );
1272
- Me.displayName = "SelectInput";
1273
- const Fe = v(
1274
- "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",
1567
+ Qe.displayName = "SelectInput";
1568
+ const Ue = v(
1569
+ "flex items-center gap-3 cursor-pointer border-b border-border select-none p-4 transition-colors hover:bg-neutral-light",
1275
1570
  {
1276
1571
  variants: {
1277
- variant: {
1278
- // Core variants using Versaur color system
1279
- primary: "border-primary/30 text-foreground focus:border-primary focus:ring-primary/20",
1280
- secondary: "border-secondary/30 text-foreground focus:border-secondary focus:ring-secondary/20",
1281
- tertiary: "border-tertiary/30 text-foreground focus:border-tertiary focus:ring-tertiary/20",
1282
- ghost: "border-ghost/30 text-foreground focus:border-ghost focus:ring-ghost/20",
1283
- neutral: "border-gray-300 text-foreground focus:border-gray-400 focus:ring-gray-400/20",
1284
- // Outline variants
1285
- "primary-outline": "border-primary text-foreground focus:border-primary focus:ring-primary/20",
1286
- "secondary-outline": "border-secondary text-foreground focus:border-secondary focus:ring-secondary/20",
1287
- "tertiary-outline": "border-tertiary text-foreground focus:border-tertiary focus:ring-tertiary/20",
1288
- "ghost-outline": "border-ghost text-foreground focus:border-ghost focus:ring-ghost/20",
1289
- "neutral-outline": "border-gray-400 text-foreground focus:border-gray-500 focus:ring-gray-500/20",
1290
- // Semantic variants
1291
- success: "border-success/30 text-foreground focus:border-success focus:ring-success/20",
1292
- "success-outline": "border-success text-foreground focus:border-success focus:ring-success/20",
1293
- info: "border-info/30 text-foreground focus:border-info focus:ring-info/20",
1294
- "info-outline": "border-info text-foreground focus:border-info focus:ring-info/20",
1295
- warning: "border-warning/30 text-foreground focus:border-warning focus:ring-warning/20",
1296
- "warning-outline": "border-warning text-foreground focus:border-warning focus:ring-warning/20",
1297
- danger: "border-danger bg-danger/5 text-foreground focus:border-danger focus:ring-danger/20",
1298
- "danger-outline": "border-danger bg-danger/5 text-foreground focus:border-danger focus:ring-danger/20"
1572
+ checked: {
1573
+ true: "",
1574
+ false: ""
1299
1575
  },
1300
- fieldSizing: {
1301
- content: "field-sizing-content resize-none",
1302
- fixed: "resize-y"
1576
+ disabled: {
1577
+ true: "opacity-50 cursor-not-allowed",
1578
+ false: ""
1303
1579
  }
1304
1580
  },
1305
1581
  defaultVariants: {
1306
- variant: "primary",
1307
- fieldSizing: "fixed"
1582
+ checked: !1,
1583
+ disabled: !1
1308
1584
  }
1309
1585
  }
1310
- ), Ee = x.forwardRef(
1311
- ({
1312
- variant: r = "primary",
1313
- label: t,
1314
- helperText: o,
1315
- error: a,
1316
- className: n,
1317
- disabled: i,
1318
- id: d,
1319
- minRows: c = 3,
1320
- maxRows: s,
1321
- fieldSizing: g = "fixed",
1322
- style: u,
1323
- rows: f,
1324
- ...l
1325
- }, h) => {
1326
- const b = x.useId(), p = d || b, y = !!a, k = f || c, w = g === "content" ? void 0 : s, S = {
1327
- ...g === "content" && { fieldSizing: "content" },
1328
- ...w && {
1329
- maxHeight: `${w * 1.5}rem`
1330
- // Approximate line height
1331
- },
1332
- ...u
1333
- };
1334
- return /* @__PURE__ */ e.jsxs("div", { children: [
1335
- t && /* @__PURE__ */ e.jsx(
1336
- "label",
1337
- {
1338
- htmlFor: p,
1339
- className: "block text-sm font-medium text-foreground mb-2",
1340
- children: t
1341
- }
1586
+ ), Xe = v(
1587
+ "flex h-6 w-6 items-center justify-center rounded-sm overflow-hidden border border-border transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
1588
+ {
1589
+ variants: {
1590
+ checked: {
1591
+ true: "bg-primary",
1592
+ false: "border-border bg-white"
1593
+ },
1594
+ disabled: {
1595
+ true: "opacity-50",
1596
+ false: "active:scale-95"
1597
+ }
1598
+ },
1599
+ defaultVariants: {
1600
+ checked: !1,
1601
+ disabled: !1
1602
+ }
1603
+ }
1604
+ ), jr = z(({ value: r, label: t, checked: o, id: s, className: n, disabled: i, ...l }, c) => {
1605
+ const a = E(), g = s || a;
1606
+ return /* @__PURE__ */ e.jsxs(
1607
+ "label",
1608
+ {
1609
+ htmlFor: g,
1610
+ className: p(
1611
+ Ue({
1612
+ checked: !!o,
1613
+ disabled: !!i
1614
+ }),
1615
+ n
1342
1616
  ),
1343
- /* @__PURE__ */ e.jsx("div", { className: m("relative w-full", n), children: /* @__PURE__ */ e.jsx(
1344
- "textarea",
1345
- {
1346
- ref: h,
1347
- id: p,
1348
- rows: k,
1349
- "aria-invalid": y,
1350
- "aria-disabled": i,
1351
- disabled: i,
1352
- style: S,
1353
- className: m(
1354
- Fe({
1355
- variant: y ? "danger" : r,
1356
- fieldSizing: g
1617
+ "aria-checked": o,
1618
+ role: "radio",
1619
+ "aria-label": `Select ${r}`,
1620
+ tabIndex: i ? -1 : 0,
1621
+ children: [
1622
+ /* @__PURE__ */ e.jsx(
1623
+ "input",
1624
+ {
1625
+ ref: c,
1626
+ id: g,
1627
+ type: "radio",
1628
+ value: r,
1629
+ checked: o,
1630
+ disabled: i,
1631
+ className: "sr-only",
1632
+ "aria-hidden": !0,
1633
+ "aria-checked": o,
1634
+ ...l
1635
+ }
1636
+ ),
1637
+ /* @__PURE__ */ e.jsx(
1638
+ "span",
1639
+ {
1640
+ className: Xe({
1641
+ checked: !!o,
1642
+ disabled: !!i
1357
1643
  }),
1358
- "px-3 py-2"
1359
- ),
1360
- ...l
1361
- }
1362
- ) }),
1363
- y && /* @__PURE__ */ e.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: a }),
1364
- !y && o && /* @__PURE__ */ e.jsx("div", { className: "mt-1 text-sm text-gray-600", children: o })
1365
- ] });
1644
+ "aria-hidden": "true",
1645
+ children: o ? /* @__PURE__ */ e.jsx(S, { as: W, color: "neutral", size: "md" }) : null
1646
+ }
1647
+ ),
1648
+ /* @__PURE__ */ e.jsx("span", { className: "flex-1 min-w-0 text-base text-foreground", children: t })
1649
+ ]
1650
+ }
1651
+ );
1652
+ }), Ye = v(
1653
+ "flex items-center gap-3 cursor-pointer border-b border-border select-none p-4 transition-colors hover:bg-neutral-light",
1654
+ {
1655
+ variants: {
1656
+ checked: {
1657
+ true: "",
1658
+ false: ""
1659
+ },
1660
+ disabled: {
1661
+ true: "opacity-50 cursor-not-allowed",
1662
+ false: ""
1663
+ }
1664
+ },
1665
+ defaultVariants: {
1666
+ checked: !1,
1667
+ disabled: !1
1668
+ }
1366
1669
  }
1367
- );
1368
- Ee.displayName = "TextAreaInput";
1369
- const gr = j(function(t, o) {
1370
- const a = (n) => {
1371
- t?.onChange?.(n.target.value);
1372
- };
1373
- return /* @__PURE__ */ e.jsx(
1374
- I,
1670
+ ), Ze = v(
1671
+ "flex h-6 w-6 items-center justify-center rounded-sm overflow-hidden border border-border transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
1672
+ {
1673
+ variants: {
1674
+ checked: {
1675
+ true: "bg-primary",
1676
+ false: "border-border bg-white"
1677
+ },
1678
+ disabled: {
1679
+ true: "opacity-50",
1680
+ false: "active:scale-95"
1681
+ }
1682
+ },
1683
+ defaultVariants: {
1684
+ checked: !1,
1685
+ disabled: !1
1686
+ }
1687
+ }
1688
+ ), Ir = z(({ value: r, label: t, checked: o, id: s, className: n, disabled: i, ...l }, c) => {
1689
+ const a = E(), g = s || a;
1690
+ return /* @__PURE__ */ e.jsxs(
1691
+ "label",
1375
1692
  {
1376
- type: "time",
1377
- tabIndex: 0,
1378
- "aria-hidden": "true",
1379
- leftContent: /* @__PURE__ */ e.jsx(C, { as: Z, color: "inherit", size: "sm" }),
1380
- ref: o,
1381
- ...t,
1382
- onChange: a
1693
+ htmlFor: g,
1694
+ className: p(
1695
+ Ye({
1696
+ checked: !!o,
1697
+ disabled: !!i
1698
+ }),
1699
+ n
1700
+ ),
1701
+ "aria-checked": o,
1702
+ role: "checkbox",
1703
+ "aria-label": `Select ${r}`,
1704
+ tabIndex: i ? -1 : 0,
1705
+ children: [
1706
+ /* @__PURE__ */ e.jsx(
1707
+ "input",
1708
+ {
1709
+ ref: c,
1710
+ id: g,
1711
+ type: "checkbox",
1712
+ value: r,
1713
+ checked: o,
1714
+ disabled: i,
1715
+ className: "sr-only",
1716
+ "aria-hidden": !0,
1717
+ "aria-checked": o,
1718
+ ...l
1719
+ }
1720
+ ),
1721
+ /* @__PURE__ */ e.jsx(
1722
+ "span",
1723
+ {
1724
+ className: Ze({
1725
+ checked: !!o,
1726
+ disabled: !!i
1727
+ }),
1728
+ "aria-hidden": "true",
1729
+ children: o ? /* @__PURE__ */ e.jsx(S, { as: W, color: "neutral", size: "md" }) : null
1730
+ }
1731
+ ),
1732
+ /* @__PURE__ */ e.jsx("span", { className: "flex-1 min-w-0 text-base text-foreground", children: t })
1733
+ ]
1383
1734
  }
1384
1735
  );
1385
- }), De = v(
1736
+ }), er = v(
1386
1737
  "relative inline-flex items-center transition-colors duration-200 border border-transparent",
1387
1738
  {
1388
1739
  variants: {
@@ -1438,7 +1789,7 @@ const gr = j(function(t, o) {
1438
1789
  { checked: !1, class: "bg-white border-border" }
1439
1790
  ]
1440
1791
  }
1441
- ), Be = v(
1792
+ ), rr = v(
1442
1793
  "absolute rounded-full transition-transform duration-200",
1443
1794
  {
1444
1795
  variants: {
@@ -1457,103 +1808,103 @@ const gr = j(function(t, o) {
1457
1808
  checked: !1
1458
1809
  }
1459
1810
  }
1460
- ), Pe = ({
1811
+ ), tr = ({
1461
1812
  color: r = "primary",
1462
1813
  size: t = "md",
1463
1814
  disabled: o = !1,
1464
- className: a,
1815
+ className: s,
1465
1816
  checked: n
1466
1817
  }) => /* @__PURE__ */ e.jsx(
1467
1818
  "span",
1468
1819
  {
1469
- className: m(
1470
- De({ color: r, size: t, disabled: o, checked: n }),
1820
+ className: p(
1821
+ er({ color: r, size: t, disabled: o, checked: n }),
1471
1822
  "rounded-full pointer-events-none",
1472
- a
1823
+ s
1473
1824
  ),
1474
1825
  "aria-hidden": "true"
1475
1826
  }
1476
- ), $e = ({ size: r = "md", checked: t = !1 }) => /* @__PURE__ */ e.jsx("span", { className: m(Be({ size: r, checked: t })), "aria-hidden": "true" }), Ae = ({ label: r, htmlFor: t, placement: o = "top", disabled: a = !1 }) => r ? /* @__PURE__ */ e.jsx(
1827
+ ), or = ({ size: r = "md", checked: t = !1 }) => /* @__PURE__ */ e.jsx("span", { className: p(rr({ size: r, checked: t })), "aria-hidden": "true" }), nr = ({ label: r, htmlFor: t, placement: o = "top", disabled: s = !1 }) => r ? /* @__PURE__ */ e.jsx(
1477
1828
  "label",
1478
1829
  {
1479
1830
  htmlFor: t,
1480
- className: m(
1831
+ className: p(
1481
1832
  "text-sm select-none font-medium text-foreground",
1482
1833
  o === "inline" ? "ml-2 mb-0" : "mb-1",
1483
- a && "opacity-50 cursor-not-allowed"
1834
+ s && "opacity-50 cursor-not-allowed"
1484
1835
  ),
1485
1836
  children: r
1486
1837
  }
1487
- ) : null, He = x.forwardRef(
1838
+ ) : null, sr = m.forwardRef(
1488
1839
  ({
1489
1840
  checked: r,
1490
1841
  defaultChecked: t,
1491
1842
  onCheckedChange: o,
1492
- color: a = "primary",
1843
+ color: s = "primary",
1493
1844
  size: n = "md",
1494
1845
  label: i,
1495
- labelPlacement: d = "top",
1846
+ labelPlacement: l = "top",
1496
1847
  disabled: c = !1,
1497
- className: s,
1848
+ className: a,
1498
1849
  id: g,
1499
1850
  ariaLabel: u,
1500
1851
  ...f
1501
- }, l) => {
1502
- const [h, b] = R(
1852
+ }, d) => {
1853
+ const [h, b] = L(
1503
1854
  t ?? !1
1504
- ), p = F(), y = g || p, k = typeof r == "boolean", w = k ? r : h, S = (D) => {
1505
- k || b(D.target.checked), o?.(D.target.checked);
1855
+ ), y = E(), w = g || y, j = typeof r == "boolean", x = j ? r : h, V = (N) => {
1856
+ j || b(N.target.checked), o?.(N.target.checked);
1506
1857
  };
1507
1858
  return /* @__PURE__ */ e.jsxs(
1508
1859
  "div",
1509
1860
  {
1510
- className: m(
1861
+ className: p(
1511
1862
  "flex flex-col",
1512
- d === "inline" && "flex-row items-center",
1513
- s
1863
+ l === "inline" && "flex-row items-center",
1864
+ a
1514
1865
  ),
1515
1866
  children: [
1516
1867
  /* @__PURE__ */ e.jsx(
1517
- Ae,
1868
+ nr,
1518
1869
  {
1519
1870
  label: i,
1520
- htmlFor: y,
1521
- placement: d,
1871
+ htmlFor: w,
1872
+ placement: l,
1522
1873
  disabled: c
1523
1874
  }
1524
1875
  ),
1525
1876
  /* @__PURE__ */ e.jsxs(
1526
1877
  "span",
1527
1878
  {
1528
- className: m(
1879
+ className: p(
1529
1880
  "relative flex items-center",
1530
- d === "inline" && "ml-2"
1881
+ l === "inline" && "ml-2"
1531
1882
  ),
1532
1883
  children: [
1533
1884
  /* @__PURE__ */ e.jsx(
1534
1885
  "input",
1535
1886
  {
1536
- ref: l,
1887
+ ref: d,
1537
1888
  type: "checkbox",
1538
- id: y,
1889
+ id: w,
1539
1890
  "aria-label": u || i,
1540
- checked: w,
1891
+ checked: x,
1541
1892
  disabled: c,
1542
- onChange: S,
1893
+ onChange: V,
1543
1894
  className: "absolute inset-0 w-full h-full opacity-0 cursor-pointer z-10",
1544
1895
  ...f
1545
1896
  }
1546
1897
  ),
1547
1898
  /* @__PURE__ */ e.jsx(
1548
- Pe,
1899
+ tr,
1549
1900
  {
1550
- color: a,
1901
+ color: s,
1551
1902
  size: n,
1552
1903
  disabled: c,
1553
- checked: w
1904
+ checked: x
1554
1905
  }
1555
1906
  ),
1556
- /* @__PURE__ */ e.jsx($e, { size: n, checked: w })
1907
+ /* @__PURE__ */ e.jsx(or, { size: n, checked: x })
1557
1908
  ]
1558
1909
  }
1559
1910
  )
@@ -1562,413 +1913,137 @@ const gr = j(function(t, o) {
1562
1913
  );
1563
1914
  }
1564
1915
  );
1565
- He.displayName = "SwitchInput";
1566
- function We(r, t) {
1567
- U(() => {
1568
- typeof r == "number" && !isNaN(r) ? t(`${r}`) : r === "" || r === null || r === void 0 ? t("") : typeof r == "string" && t(r);
1569
- }, [r, t]);
1570
- }
1571
- function Le(r, t = !1) {
1572
- if (r === "" || r === "-" && t) return !0;
1573
- const o = t && r.startsWith("-") ? r.slice(1) : r;
1574
- if (t && r.startsWith("-") && o === "") return !0;
1575
- if (o.startsWith(".") || o.startsWith(",") || !/^[\d.,]+$/.test(o)) return !1;
1576
- const a = o.split(",");
1577
- if (a.length > 2) return !1;
1578
- const n = a[0], i = a[1];
1579
- return !(n === "" || !Te(n) || i !== void 0 && i !== "" && !Ge(i));
1580
- }
1581
- function Te(r) {
1582
- if (r === "") return !1;
1583
- if (!r.includes("."))
1584
- return /^\d+$/.test(r);
1585
- const t = r.split(".");
1586
- if (t[0] === "" || !/^\d{1,3}$/.test(t[0])) return !1;
1587
- for (let o = 1; o < t.length; o++) {
1588
- const a = t[o];
1589
- if (o === t.length - 1) {
1590
- if (a !== "" && !/^\d{1,3}$/.test(a)) return !1;
1591
- } else if (!/^\d{3}$/.test(a)) return !1;
1592
- }
1593
- return !0;
1594
- }
1595
- function Ge(r) {
1596
- return /^\d{1,2}$/.test(r);
1597
- }
1598
- function Q(r, t = !1) {
1599
- if (r === "") return "";
1600
- const o = r.startsWith("-");
1601
- if (o && !t)
1602
- return Q(r.slice(1), !1);
1603
- if (o && r.length === 1) return "-";
1604
- let n = (o ? r.slice(1) : r).replace(/[^\d.,]/g, "");
1605
- const i = n.lastIndexOf(",");
1606
- if (i !== -1) {
1607
- const d = n.slice(0, i).replace(/,/g, ""), c = n.slice(i + 1).replace(/,/g, "");
1608
- n = d + "," + c;
1609
- }
1610
- return n = n.replace(/\.{2,}/g, "."), (o ? "-" : "") + n;
1611
- }
1612
- const fr = ({
1613
- value: r,
1614
- onChange: t,
1615
- allowNegative: o = !1,
1616
- inputProps: a,
1617
- label: n,
1618
- helperText: i,
1619
- error: d,
1620
- variant: c,
1621
- ...s
1622
- }) => {
1623
- const g = B(null), [u, f] = R(
1624
- r === "" ? "" : String(r)
1625
- );
1626
- We(r, f);
1627
- const l = (h) => {
1628
- const b = h.target.value, p = Q(b, o);
1629
- Le(p, o) ? (f(p), t(p)) : h.preventDefault();
1630
- };
1631
- return /* @__PURE__ */ e.jsx(
1632
- I,
1633
- {
1634
- ref: g,
1635
- type: "text",
1636
- label: n,
1637
- value: u,
1638
- onChange: l,
1639
- error: d,
1640
- helperText: i,
1641
- placeholder: s.placeholder,
1642
- leftContent: /* @__PURE__ */ e.jsx(C, { as: ee, color: "inherit", size: "sm" }),
1643
- variant: c,
1644
- inputMode: "numeric",
1645
- autoComplete: "off",
1646
- pattern: "[0-9.,-]*",
1647
- ...a,
1648
- ...s
1649
- }
1650
- );
1651
- }, hr = j(
1652
- (r, t) => /* @__PURE__ */ e.jsx(
1653
- I,
1654
- {
1655
- ...r,
1656
- ref: t,
1657
- type: "email",
1658
- autoComplete: "email",
1659
- inputMode: "email",
1660
- leftContent: /* @__PURE__ */ e.jsx(C, { as: re, color: "inherit", size: "sm" })
1661
- }
1662
- )
1663
- ), Ke = v(
1664
- "flex items-center gap-3 cursor-pointer border-b border-border select-none p-4 transition-colors hover:bg-neutral-light",
1665
- {
1666
- variants: {
1667
- checked: {
1668
- true: "",
1669
- false: ""
1670
- },
1671
- disabled: {
1672
- true: "opacity-50 cursor-not-allowed",
1673
- false: ""
1674
- }
1675
- },
1676
- defaultVariants: {
1677
- checked: !1,
1678
- disabled: !1
1679
- }
1680
- }
1681
- ), _e = v(
1682
- "flex h-6 w-6 items-center justify-center rounded-sm overflow-hidden border border-border transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
1683
- {
1684
- variants: {
1685
- checked: {
1686
- true: "bg-primary",
1687
- false: "border-border bg-white"
1688
- },
1689
- disabled: {
1690
- true: "opacity-50",
1691
- false: "active:scale-95"
1692
- }
1693
- },
1694
- defaultVariants: {
1695
- checked: !1,
1696
- disabled: !1
1697
- }
1698
- }
1699
- ), br = j(({ value: r, label: t, checked: o, id: a, className: n, disabled: i, ...d }, c) => {
1700
- const s = F(), g = a || s;
1701
- return /* @__PURE__ */ e.jsxs(
1702
- "label",
1703
- {
1704
- htmlFor: g,
1705
- className: m(
1706
- Ke({
1707
- checked: !!o,
1708
- disabled: !!i
1709
- }),
1710
- n
1711
- ),
1712
- "aria-checked": o,
1713
- role: "radio",
1714
- "aria-label": `Select ${r}`,
1715
- tabIndex: i ? -1 : 0,
1716
- children: [
1717
- /* @__PURE__ */ e.jsx(
1718
- "input",
1719
- {
1720
- ref: c,
1721
- id: g,
1722
- type: "radio",
1723
- value: r,
1724
- checked: o,
1725
- disabled: i,
1726
- className: "sr-only",
1727
- "aria-hidden": !0,
1728
- "aria-checked": o,
1729
- ...d
1730
- }
1731
- ),
1732
- /* @__PURE__ */ e.jsx(
1733
- "span",
1734
- {
1735
- className: _e({
1736
- checked: !!o,
1737
- disabled: !!i
1738
- }),
1739
- "aria-hidden": "true",
1740
- children: o ? /* @__PURE__ */ e.jsx(C, { as: P, color: "neutral", size: "md" }) : null
1741
- }
1742
- ),
1743
- /* @__PURE__ */ e.jsx("span", { className: "flex-1 min-w-0 text-base text-foreground", children: t })
1744
- ]
1745
- }
1746
- );
1747
- }), qe = v(
1748
- "flex items-center gap-3 cursor-pointer border-b border-border select-none p-4 transition-colors hover:bg-neutral-light",
1749
- {
1750
- variants: {
1751
- checked: {
1752
- true: "",
1753
- false: ""
1754
- },
1755
- disabled: {
1756
- true: "opacity-50 cursor-not-allowed",
1757
- false: ""
1758
- }
1759
- },
1760
- defaultVariants: {
1761
- checked: !1,
1762
- disabled: !1
1763
- }
1764
- }
1765
- ), Je = v(
1766
- "flex h-6 w-6 items-center justify-center rounded-sm overflow-hidden border border-border transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
1916
+ sr.displayName = "SwitchInput";
1917
+ const ar = v(
1918
+ "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",
1767
1919
  {
1768
1920
  variants: {
1769
- checked: {
1770
- true: "bg-primary",
1771
- false: "border-border bg-white"
1921
+ variant: {
1922
+ // Core variants using Versaur color system
1923
+ primary: "border-primary/30 text-foreground focus:border-primary focus:ring-primary/20",
1924
+ secondary: "border-secondary/30 text-foreground focus:border-secondary focus:ring-secondary/20",
1925
+ tertiary: "border-tertiary/30 text-foreground focus:border-tertiary focus:ring-tertiary/20",
1926
+ ghost: "border-ghost/30 text-foreground focus:border-ghost focus:ring-ghost/20",
1927
+ neutral: "border-gray-300 text-foreground focus:border-gray-400 focus:ring-gray-400/20",
1928
+ // Outline variants
1929
+ "primary-outline": "border-primary text-foreground focus:border-primary focus:ring-primary/20",
1930
+ "secondary-outline": "border-secondary text-foreground focus:border-secondary focus:ring-secondary/20",
1931
+ "tertiary-outline": "border-tertiary text-foreground focus:border-tertiary focus:ring-tertiary/20",
1932
+ "ghost-outline": "border-ghost text-foreground focus:border-ghost focus:ring-ghost/20",
1933
+ "neutral-outline": "border-gray-400 text-foreground focus:border-gray-500 focus:ring-gray-500/20",
1934
+ // Semantic variants
1935
+ success: "border-success/30 text-foreground focus:border-success focus:ring-success/20",
1936
+ "success-outline": "border-success text-foreground focus:border-success focus:ring-success/20",
1937
+ info: "border-info/30 text-foreground focus:border-info focus:ring-info/20",
1938
+ "info-outline": "border-info text-foreground focus:border-info focus:ring-info/20",
1939
+ warning: "border-warning/30 text-foreground focus:border-warning focus:ring-warning/20",
1940
+ "warning-outline": "border-warning text-foreground focus:border-warning focus:ring-warning/20",
1941
+ danger: "border-danger bg-danger/5 text-foreground focus:border-danger focus:ring-danger/20",
1942
+ "danger-outline": "border-danger bg-danger/5 text-foreground focus:border-danger focus:ring-danger/20"
1772
1943
  },
1773
- disabled: {
1774
- true: "opacity-50",
1775
- false: "active:scale-95"
1944
+ fieldSizing: {
1945
+ content: "field-sizing-content resize-none",
1946
+ fixed: "resize-y"
1776
1947
  }
1777
1948
  },
1778
1949
  defaultVariants: {
1779
- checked: !1,
1780
- disabled: !1
1781
- }
1782
- }
1783
- ), xr = j(({ value: r, label: t, checked: o, id: a, className: n, disabled: i, ...d }, c) => {
1784
- const s = F(), g = a || s;
1785
- return /* @__PURE__ */ e.jsxs(
1786
- "label",
1787
- {
1788
- htmlFor: g,
1789
- className: m(
1790
- qe({
1791
- checked: !!o,
1792
- disabled: !!i
1793
- }),
1794
- n
1795
- ),
1796
- "aria-checked": o,
1797
- role: "checkbox",
1798
- "aria-label": `Select ${r}`,
1799
- tabIndex: i ? -1 : 0,
1800
- children: [
1801
- /* @__PURE__ */ e.jsx(
1802
- "input",
1803
- {
1804
- ref: c,
1805
- id: g,
1806
- type: "checkbox",
1807
- value: r,
1808
- checked: o,
1809
- disabled: i,
1810
- className: "sr-only",
1811
- "aria-hidden": !0,
1812
- "aria-checked": o,
1813
- ...d
1814
- }
1815
- ),
1816
- /* @__PURE__ */ e.jsx(
1817
- "span",
1818
- {
1819
- className: Je({
1820
- checked: !!o,
1821
- disabled: !!i
1822
- }),
1823
- "aria-hidden": "true",
1824
- children: o ? /* @__PURE__ */ e.jsx(C, { as: P, color: "neutral", size: "md" }) : null
1825
- }
1826
- ),
1827
- /* @__PURE__ */ e.jsx("span", { className: "flex-1 min-w-0 text-base text-foreground", children: t })
1828
- ]
1950
+ variant: "primary",
1951
+ fieldSizing: "fixed"
1829
1952
  }
1830
- );
1831
- }), Qe = j(
1832
- ({ children: r, onChange: t, value: o, size: a, placement: n, ...i }, d) => {
1833
- const [c, s] = R(!1), g = E(
1834
- () => ({ isOpen: c, setIsOpen: s, onChange: t, value: o }),
1835
- [c, s, t, o]
1836
- );
1837
- return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1838
- /* @__PURE__ */ e.jsx(
1839
- I,
1840
- {
1841
- ...i,
1842
- onChange: t,
1843
- value: o,
1844
- ref: d,
1845
- readOnly: !0,
1846
- tabIndex: 0,
1847
- onClick: () => s(!0),
1848
- "aria-haspopup": "dialog",
1849
- "aria-expanded": c,
1850
- onKeyDown: (u) => {
1851
- (u.key === "Enter" || u.key === " ") && (u.preventDefault(), s(!0));
1852
- }
1853
- }
1854
- ),
1855
- /* @__PURE__ */ e.jsx(
1856
- O,
1857
- {
1858
- isOpen: c,
1859
- onClose: () => s(!1),
1860
- size: a,
1861
- placement: n,
1862
- children: c && r(g)
1863
- }
1864
- )
1865
- ] });
1866
1953
  }
1867
- ), mr = Object.assign(Qe, {
1868
- Header: O.Header,
1869
- Body: O.Body,
1870
- Footer: O.Footer
1871
- }), Ue = j(
1954
+ ), ir = m.forwardRef(
1872
1955
  ({
1873
- children: r,
1874
- onChange: t,
1875
- value: o,
1876
- size: a,
1877
- position: n,
1878
- disableEscapeKeyDown: i,
1879
- disableOverlayClickToClose: d,
1880
- ...c
1881
- }, s) => {
1882
- const [g, u] = R(!1), f = E(
1883
- () => ({ isOpen: g, setIsOpen: u, onChange: t, value: o }),
1884
- [g, u, t, o]
1885
- );
1886
- return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1887
- /* @__PURE__ */ e.jsx(
1888
- I,
1956
+ variant: r = "primary",
1957
+ label: t,
1958
+ helperText: o,
1959
+ error: s,
1960
+ className: n,
1961
+ disabled: i,
1962
+ id: l,
1963
+ minRows: c = 3,
1964
+ maxRows: a,
1965
+ fieldSizing: g = "fixed",
1966
+ style: u,
1967
+ rows: f,
1968
+ ...d
1969
+ }, h) => {
1970
+ const b = m.useId(), y = l || b, w = !!s, j = f || c, x = g === "content" ? void 0 : a, V = {
1971
+ ...g === "content" && { fieldSizing: "content" },
1972
+ ...x && {
1973
+ maxHeight: `${x * 1.5}rem`
1974
+ // Approximate line height
1975
+ },
1976
+ ...u
1977
+ };
1978
+ return /* @__PURE__ */ e.jsxs("div", { children: [
1979
+ t && /* @__PURE__ */ e.jsx(
1980
+ "label",
1889
1981
  {
1890
- ...c,
1891
- onChange: t,
1892
- value: o,
1893
- ref: s,
1894
- readOnly: !0,
1895
- tabIndex: 0,
1896
- onClick: () => u(!0),
1897
- onKeyDown: (l) => {
1898
- (l.key === "Enter" || l.key === " ") && (l.preventDefault(), u(!0));
1899
- },
1900
- "aria-haspopup": "dialog",
1901
- "aria-expanded": g
1982
+ htmlFor: y,
1983
+ className: "block text-sm font-medium text-foreground mb-2",
1984
+ children: t
1902
1985
  }
1903
1986
  ),
1904
- /* @__PURE__ */ e.jsx(
1905
- M,
1987
+ /* @__PURE__ */ e.jsx("div", { className: p("relative w-full", n), children: /* @__PURE__ */ e.jsx(
1988
+ "textarea",
1906
1989
  {
1907
- isOpen: g,
1908
- onClose: () => u(!1),
1909
- size: a,
1910
- position: n,
1911
- disableEscapeKeyDown: i,
1912
- disableOverlayClickToClose: d,
1913
- children: g && r(f)
1990
+ ref: h,
1991
+ id: y,
1992
+ rows: j,
1993
+ "aria-invalid": w,
1994
+ "aria-disabled": i,
1995
+ disabled: i,
1996
+ style: V,
1997
+ className: p(
1998
+ ar({
1999
+ variant: w ? "danger" : r,
2000
+ fieldSizing: g
2001
+ }),
2002
+ "px-3 py-2"
2003
+ ),
2004
+ ...d
1914
2005
  }
1915
- )
2006
+ ) }),
2007
+ w && /* @__PURE__ */ e.jsx("div", { className: "mt-1 text-sm text-danger", role: "alert", children: s }),
2008
+ !w && o && /* @__PURE__ */ e.jsx("div", { className: "mt-1 text-sm text-gray-600", children: o })
1916
2009
  ] });
1917
2010
  }
1918
- ), pr = Object.assign(Ue, {
1919
- Header: M.Header,
1920
- Body: M.Body,
1921
- Footer: M.Footer
1922
- }), Xe = j(({ children: r, onChange: t, value: o, ...a }, n) => {
1923
- const [i, d] = R(!1), c = E(
1924
- () => ({ isOpen: i, setIsOpen: d, onChange: t, value: o }),
1925
- [i, d, t, o]
2011
+ );
2012
+ ir.displayName = "TextAreaInput";
2013
+ const Cr = z(function(t, o) {
2014
+ const s = (n) => {
2015
+ t?.onChange?.(n.target.value);
2016
+ };
2017
+ return /* @__PURE__ */ e.jsx(
2018
+ $,
2019
+ {
2020
+ type: "time",
2021
+ tabIndex: 0,
2022
+ "aria-hidden": "true",
2023
+ leftContent: /* @__PURE__ */ e.jsx(S, { as: ue, color: "inherit", size: "sm" }),
2024
+ ref: o,
2025
+ ...t,
2026
+ onChange: s
2027
+ }
1926
2028
  );
1927
- return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1928
- /* @__PURE__ */ e.jsx(
1929
- I,
1930
- {
1931
- ...a,
1932
- onChange: t,
1933
- value: o,
1934
- ref: n,
1935
- readOnly: !0,
1936
- tabIndex: 0,
1937
- onClick: () => d(!0),
1938
- "aria-haspopup": "dialog",
1939
- "aria-expanded": i,
1940
- onKeyDown: (s) => {
1941
- (s.key === "Enter" || s.key === " ") && (s.preventDefault(), d(!0));
1942
- }
1943
- }
1944
- ),
1945
- /* @__PURE__ */ e.jsx(V, { isOpen: i, onClose: () => d(!1), children: i && r(c) })
1946
- ] });
1947
- }), yr = Object.assign(Xe, {
1948
- Header: V.Header,
1949
- Body: V.Body,
1950
- Footer: V.Footer,
1951
- Title: V.Title
1952
2029
  });
1953
2030
  export {
1954
- yr as B,
1955
- nr as C,
1956
- ir as D,
1957
- hr as E,
1958
- mr as M,
1959
- fr as P,
1960
- cr as R,
1961
- dr as S,
1962
- I as T,
1963
- sr as a,
1964
- ar as b,
1965
- lr as c,
1966
- ur as d,
1967
- Me as e,
1968
- Ee as f,
1969
- gr as g,
1970
- He as h,
1971
- br as i,
1972
- xr as j,
1973
- pr as k
2031
+ fr as C,
2032
+ mr as D,
2033
+ xr as E,
2034
+ Ve as P,
2035
+ yr as R,
2036
+ wr as S,
2037
+ $ as T,
2038
+ hr as a,
2039
+ br as b,
2040
+ pr as c,
2041
+ vr as d,
2042
+ kr as e,
2043
+ Qe as f,
2044
+ jr as g,
2045
+ Ir as h,
2046
+ sr as i,
2047
+ ir as j,
2048
+ Cr as k
1974
2049
  };