@usefui/components 1.6.0 → 1.7.1

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 (69) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.d.mts +380 -52
  3. package/dist/index.d.ts +380 -52
  4. package/dist/index.js +2532 -511
  5. package/dist/index.mjs +2518 -508
  6. package/package.json +3 -3
  7. package/src/__tests__/Avatar.test.tsx +55 -55
  8. package/src/accordion/Accordion.stories.tsx +6 -4
  9. package/src/accordion/index.tsx +1 -2
  10. package/src/avatar/Avatar.stories.tsx +37 -7
  11. package/src/avatar/index.tsx +90 -19
  12. package/src/avatar/styles/index.ts +58 -12
  13. package/src/badge/Badge.stories.tsx +27 -5
  14. package/src/badge/index.tsx +21 -13
  15. package/src/badge/styles/index.ts +69 -40
  16. package/src/button/Button.stories.tsx +40 -27
  17. package/src/button/index.tsx +13 -9
  18. package/src/button/styles/index.ts +308 -47
  19. package/src/card/index.tsx +2 -4
  20. package/src/checkbox/Checkbox.stories.tsx +72 -33
  21. package/src/checkbox/index.tsx +8 -6
  22. package/src/checkbox/styles/index.ts +239 -19
  23. package/src/collapsible/Collapsible.stories.tsx +6 -4
  24. package/src/dialog/Dialog.stories.tsx +173 -31
  25. package/src/dialog/styles/index.ts +13 -8
  26. package/src/dropdown/Dropdown.stories.tsx +61 -23
  27. package/src/dropdown/index.tsx +42 -31
  28. package/src/dropdown/styles/index.ts +30 -19
  29. package/src/field/Field.stories.tsx +183 -24
  30. package/src/field/index.tsx +930 -13
  31. package/src/field/styles/index.ts +246 -14
  32. package/src/field/types/index.ts +31 -0
  33. package/src/field/utils/index.ts +201 -0
  34. package/src/index.ts +2 -1
  35. package/src/message-bubble/MessageBubble.stories.tsx +59 -12
  36. package/src/message-bubble/index.tsx +22 -4
  37. package/src/message-bubble/styles/index.ts +4 -7
  38. package/src/otp-field/OTPField.stories.tsx +22 -24
  39. package/src/otp-field/index.tsx +9 -0
  40. package/src/otp-field/styles/index.ts +114 -16
  41. package/src/otp-field/types/index.ts +9 -1
  42. package/src/overlay/styles/index.ts +1 -0
  43. package/src/ruler/Ruler.stories.tsx +43 -0
  44. package/src/ruler/constants/index.ts +3 -0
  45. package/src/ruler/hooks/index.tsx +53 -0
  46. package/src/ruler/index.tsx +239 -0
  47. package/src/ruler/styles/index.tsx +154 -0
  48. package/src/ruler/types/index.ts +17 -0
  49. package/src/select/Select.stories.tsx +91 -0
  50. package/src/select/hooks/index.tsx +71 -0
  51. package/src/select/index.tsx +331 -0
  52. package/src/select/styles/index.tsx +156 -0
  53. package/src/shimmer/Shimmer.stories.tsx +6 -4
  54. package/src/skeleton/index.tsx +7 -6
  55. package/src/spinner/Spinner.stories.tsx +29 -4
  56. package/src/spinner/index.tsx +16 -6
  57. package/src/spinner/styles/index.ts +41 -22
  58. package/src/switch/Switch.stories.tsx +46 -17
  59. package/src/switch/index.tsx +5 -8
  60. package/src/switch/styles/index.ts +45 -45
  61. package/src/tabs/Tabs.stories.tsx +43 -15
  62. package/src/text-area/Textarea.stories.tsx +45 -8
  63. package/src/text-area/index.tsx +9 -6
  64. package/src/text-area/styles/index.ts +1 -1
  65. package/src/toggle/Toggle.stories.tsx +6 -4
  66. package/src/tree/Tree.stories.tsx +6 -4
  67. package/src/privacy-field/PrivacyField.stories.tsx +0 -29
  68. package/src/privacy-field/index.tsx +0 -56
  69. package/src/privacy-field/styles/index.ts +0 -17
package/dist/index.js CHANGED
@@ -36,6 +36,7 @@ __export(index_exports, {
36
36
  AccordionTrigger: () => AccordionTrigger,
37
37
  AvataStatusEnum: () => AvataStatusEnum,
38
38
  Avatar: () => Avatar,
39
+ AvatarStatus: () => AvatarStatus,
39
40
  Badge: () => Badge,
40
41
  Breadcrumb: () => Breadcrumb,
41
42
  BreadcrumbItem: () => BreadcrumbItem,
@@ -66,9 +67,14 @@ __export(index_exports, {
66
67
  DropdownMenuRoot: () => DropdownMenuRoot,
67
68
  DropdownMenuTrigger: () => DropdownMenuTrigger,
68
69
  Field: () => Field,
70
+ FieldDate: () => FieldDate,
71
+ FieldFile: () => FieldFile,
69
72
  FieldLabel: () => FieldLabel,
70
73
  FieldMeta: () => FieldMeta,
74
+ FieldNumber: () => FieldNumber,
75
+ FieldPassword: () => FieldPassword,
71
76
  FieldRoot: () => FieldRoot,
77
+ FieldTag: () => FieldTag,
72
78
  FieldWrapper: () => FieldWrapper,
73
79
  MessageBubble: () => MessageBubble,
74
80
  MessageBubbleContent: () => MessageBubbleContent,
@@ -86,9 +92,13 @@ __export(index_exports, {
86
92
  PageTools: () => PageTools,
87
93
  PageWrapper: () => PageWrapper,
88
94
  Portal: () => Portal,
89
- PrivacyField: () => PrivacyField,
90
95
  Resizable: () => Resizable,
91
96
  ScrollArea: () => ScrollArea,
97
+ Select: () => Select,
98
+ SelectContent: () => SelectContent,
99
+ SelectItem: () => SelectItem,
100
+ SelectRoot: () => SelectRoot,
101
+ SelectTrigger: () => SelectTrigger,
92
102
  Sheet: () => Sheet,
93
103
  SheetRoot: () => SheetRoot,
94
104
  SheetTrigger: () => SheetTrigger,
@@ -129,6 +139,7 @@ __export(index_exports, {
129
139
  useDropdownMenu: () => useDropdownMenu,
130
140
  useField: () => useField,
131
141
  useMessageBubble: () => useMessageBubble,
142
+ useSelect: () => useSelect,
132
143
  useSheet: () => useSheet,
133
144
  useSwitch: () => useSwitch,
134
145
  useTabs: () => useTabs,
@@ -246,39 +257,158 @@ var ButtonIconStyles = import_styled_components.css`
246
257
  }
247
258
  }
248
259
  `;
260
+ var ButtonSizeStyles = import_styled_components.css`
261
+ &[data-size="small"] {
262
+ font-size: var(--fontsize-small-60);
263
+
264
+ gap: var(--measurement-medium-10);
265
+ padding: var(--measurement-medium-10) var(--measurement-medium-30);
266
+ min-width: var(--measurement-medium-60);
267
+ min-height: var(--measurement-medium-60);
268
+
269
+ svg {
270
+ width: var(--fontsize-medium-10);
271
+ height: var(--fontsize-medium-10);
272
+ }
273
+ }
274
+ &[data-size="medium"] {
275
+ padding: var(--measurement-medium-10) var(--measurement-medium-60);
276
+ min-width: var(--measurement-medium-60);
277
+ min-height: var(--measurement-medium-80);
278
+ }
279
+ &[data-size="large"] {
280
+ padding: var(--measurement-medium-10) var(--measurement-medium-60);
281
+ min-width: var(--measurement-medium-60);
282
+ min-height: var(--measurement-medium-90);
283
+ }
284
+ `;
285
+ var ButtonShapeStyles = import_styled_components.css`
286
+ &[data-shape="square"] {
287
+ border-radius: 0;
288
+ }
289
+ &[data-shape="smooth"] {
290
+ border-radius: var(--measurement-medium-20);
291
+ }
292
+ &[data-shape="round"] {
293
+ border-radius: var(--measurement-large-90);
294
+ }
295
+ `;
296
+ var ButtonBeforeDefaultStyles = import_styled_components.css`
297
+ content: "";
298
+ inset: 0;
299
+
300
+ border-radius: inherit;
301
+ border: var(--measurement-small-10) solid transparent;
302
+ position: absolute;
303
+ box-sizing: border-box;
304
+ margin: 0;
305
+ padding: 0;
306
+
307
+ mask-composite: intersect;
308
+
309
+ transition: all ease-in-out 0.2s;
310
+ `;
249
311
  var ButtonVariantsStyles = import_styled_components.css`
250
312
  &[data-variant="primary"] {
251
- color: var(--body-color) !important;
313
+ color: var(--body-color-alpha-80);
252
314
  background-color: var(--font-color);
315
+ background: linear-gradient(
316
+ 180deg,
317
+ var(--font-color) 50%,
318
+ var(--font-color-alpha-60) 100%
319
+ );
320
+ background-size: 100% 200%;
321
+ background-position: 0% 50%;
322
+
323
+ ::before {
324
+ ${ButtonBeforeDefaultStyles}
325
+ border-color: var(--body-color-alpha-20);
326
+ mask-image: linear-gradient(var(--body-color-alpha-90), transparent);
327
+ }
253
328
 
254
329
  &:hover,
255
330
  &:focus,
256
331
  &:active {
257
332
  color: var(--body-color);
333
+ background-position: 0% 25%;
334
+
335
+ ::before {
336
+ border-color: var(--body-color-alpha-10);
337
+ }
258
338
  }
259
339
  }
260
340
  &[data-variant="secondary"] {
261
341
  color: var(--font-color-alpha-60);
262
- background-color: transparent;
263
342
  border-color: var(--font-color-alpha-10);
264
343
 
344
+ background-color: var(--body-color);
345
+ background: linear-gradient(
346
+ 180deg,
347
+ transparent 50%,
348
+ var(--contrast-color) 100%
349
+ );
350
+ background-size: 100% 200%;
351
+ background-position: 0% 50%;
352
+
353
+ ::before {
354
+ ${ButtonBeforeDefaultStyles}
355
+ border-color: var(--font-color-alpha-10);
356
+ mask-image: linear-gradient(var(--font-color-alpha-30), transparent);
357
+ }
358
+
265
359
  &:hover,
266
360
  &:focus,
267
361
  &:active {
268
362
  color: var(--font-color);
269
363
  background-color: var(--font-color-alpha-10);
364
+ background-position: 0% 75%;
270
365
  border-color: transparent;
271
366
  }
272
367
  }
273
368
  &[data-variant="tertiary"] {
274
- color: var(--font-color-alpha-80);
369
+ color: var(--font-color-alpha-60);
370
+
275
371
  background-color: transparent;
372
+ background: linear-gradient(
373
+ -180deg,
374
+ transparent 50%,
375
+ var(--font-color-alpha-10) 100%
376
+ );
377
+ background-size: 100% 200%;
378
+ background-position: 0% 10%;
276
379
 
277
380
  &:hover,
278
381
  &:focus,
279
382
  &:active {
280
383
  color: var(--font-color);
281
384
  background-color: var(--font-color-alpha-10);
385
+ background-position: 0% 75%;
386
+
387
+ ::before {
388
+ ${ButtonBeforeDefaultStyles}
389
+ border-color: var(--font-color-alpha-10);
390
+ mask-image: linear-gradient(var(--font-color-alpha-30), transparent);
391
+ }
392
+ }
393
+ }
394
+ &[data-variant="mono"] {
395
+ color: var(--font-color-alpha-80);
396
+ background-color: var(--contrast-color);
397
+
398
+ ::before {
399
+ ${ButtonBeforeDefaultStyles}
400
+ border-color: var(--font-color-alpha-10);
401
+ mask-image: linear-gradient(var(--font-color-alpha-30), transparent);
402
+ }
403
+
404
+ &:hover,
405
+ &:focus,
406
+ &:active {
407
+ color: var(--font-color);
408
+
409
+ ::before {
410
+ border-color: var(--font-color-alpha-30);
411
+ }
282
412
  }
283
413
  }
284
414
  &[data-variant="border"] {
@@ -292,36 +422,213 @@ var ButtonVariantsStyles = import_styled_components.css`
292
422
  color: var(--font-color);
293
423
  border-color: var(--font-color-alpha-20);
294
424
  }
425
+
426
+ ::before {
427
+ ${ButtonBeforeDefaultStyles}
428
+ border-color: var(--font-color-alpha-10);
429
+ mask-image: linear-gradient(var(--font-color-alpha-20), transparent);
430
+ }
431
+ }
432
+
433
+ &[data-variant="accent"] {
434
+ background-color: var(--color-accent);
435
+ background: linear-gradient(
436
+ 180deg,
437
+ var(--color-accent) 50%,
438
+ var(--shade-accent-30) 100%
439
+ );
440
+ background-size: 100% 200%;
441
+ background-position: 0% 50%;
442
+
443
+ ::before {
444
+ ${ButtonBeforeDefaultStyles}
445
+ border-color: var(--shade-accent-10);
446
+ mask-image: linear-gradient(var(--shade-accent-10), transparent);
447
+ }
448
+
449
+ &:hover,
450
+ &:focus,
451
+ &:active {
452
+ background-color: var(--tint-accent-10);
453
+
454
+ background-position: 0% 75%;
455
+ }
456
+ }
457
+
458
+ &[data-variant="meta"] {
459
+ color: var(--alpha-mono-white-80);
460
+ background-color: var(--color-blue);
461
+ background: linear-gradient(
462
+ 180deg,
463
+ var(--tint-blue-10) 50%,
464
+ var(--alpha-blue-60) 100%
465
+ );
466
+ background-size: 100% 200%;
467
+ background-position: 0% 50%;
468
+
469
+ ::before {
470
+ ${ButtonBeforeDefaultStyles}
471
+ border-color: var(--tint-blue-30);
472
+ mask-image: linear-gradient(var(--tint-blue-10), transparent);
473
+ }
474
+
475
+ &:hover,
476
+ &:focus,
477
+ &:active {
478
+ color: var(--color-mono-white);
479
+ background-color: var(--shade-blue-10);
480
+
481
+ background-position: 0% 25%;
482
+
483
+ ::before {
484
+ border-color: var(--tint-blue-40);
485
+ }
486
+ }
487
+ }
488
+ &[data-variant="hint"] {
489
+ color: var(--alpha-mono-white-80);
490
+ background-color: var(--color-purple);
491
+ background: linear-gradient(
492
+ 180deg,
493
+ var(--shade-purple-10) 50%,
494
+ var(--alpha-purple-60) 100%
495
+ );
496
+ background-size: 100% 200%;
497
+ background-position: 0% 50%;
498
+
499
+ ::before {
500
+ ${ButtonBeforeDefaultStyles}
501
+ border-color: var(--shade-purple-20);
502
+ mask-image: linear-gradient(var(--shade-purple-10), transparent);
503
+ }
504
+
505
+ &:hover,
506
+ &:focus,
507
+ &:active {
508
+ color: var(--color-mono-white);
509
+ background-color: var(--shade-purple-10);
510
+
511
+ background-position: 0% 25%;
512
+ }
513
+ }
514
+ &[data-variant="success"] {
515
+ color: var(--alpha-mono-white-90);
516
+ background-color: var(--shade-green-30);
517
+ background: linear-gradient(
518
+ 180deg,
519
+ var(--shade-green-10) 50%,
520
+ var(--alpha-green-60) 100%
521
+ );
522
+ background-size: 100% 200%;
523
+ background-position: 0% 50%;
524
+
525
+ ::before {
526
+ ${ButtonBeforeDefaultStyles}
527
+ border-color: var(--shade-green-20);
528
+ mask-image: linear-gradient(var(--shade-green-10), transparent);
529
+ }
530
+
531
+ &:hover,
532
+ &:focus,
533
+ &:active {
534
+ color: var(--color-mono-white);
535
+ background-color: var(--shade-green-10);
536
+
537
+ background-position: 0% 75%;
538
+ }
295
539
  }
296
540
  &[data-variant="danger"] {
297
- color: var(--color-mono-white);
541
+ color: var(--alpha-mono-white-80);
298
542
  background-color: var(--color-red);
543
+ background: linear-gradient(
544
+ 180deg,
545
+ var(--tint-red-10) 50%,
546
+ var(--alpha-red-60) 100%
547
+ );
548
+ background-size: 100% 200%;
549
+ background-position: 0% 50%;
550
+
551
+ ::before {
552
+ ${ButtonBeforeDefaultStyles}
553
+ border-color: var(--tint-red-60);
554
+ mask-image: linear-gradient(var(--tint-red-10), transparent);
555
+ }
299
556
 
300
557
  &:hover,
301
558
  &:focus,
302
559
  &:active {
560
+ color: var(--color-mono-white);
303
561
  background-color: var(--shade-red-10);
562
+ background-position: 0% 25%;
563
+
564
+ ::before {
565
+ border-color: var(--tint-red-80);
566
+ }
304
567
  }
305
568
  }
306
569
  &[data-variant="warning"] {
307
- color: var(--color-mono-dark);
570
+ color: var(--alpha-mono-dark-80);
308
571
  background-color: var(--color-orange);
572
+ background: linear-gradient(
573
+ 180deg,
574
+ var(--tint-orange-10) 50%,
575
+ var(--alpha-orange-60) 100%
576
+ );
577
+ background-size: 100% 200%;
578
+ background-position: 0% 50%;
579
+
580
+ ::before {
581
+ ${ButtonBeforeDefaultStyles}
582
+ border-color: var(--tint-orange-30);
583
+ mask-image: linear-gradient(var(--tint-orange-10), transparent);
584
+ }
309
585
 
310
586
  &:hover,
311
587
  &:focus,
312
588
  &:active {
589
+ color: var(--color-mono-dark);
313
590
  background-color: var(--shade-orange-10);
591
+
592
+ background-position: 0% 25%;
593
+
594
+ ::before {
595
+ border-color: var(--tint-orange-40);
596
+ }
314
597
  }
315
598
  }
316
- &[data-variant="mono"] {
317
- color: var(--font-color-alpha-80);
318
- background-color: var(--font-color-alpha-10);
599
+
600
+ &[data-variant="link"] {
601
+ position: relative;
602
+ border: none;
603
+ padding: 0;
604
+ background-color: transparent;
605
+ min-width: fit-content;
606
+ min-height: var(--measurement-medium-60);
607
+ color: currentColor;
608
+ opacity: 0.6;
609
+
610
+ ::before {
611
+ content: "";
612
+ position: absolute;
613
+ width: 0;
614
+ height: var(--measurement-small-30);
615
+ background-color: transparent;
616
+ bottom: calc(var(--measurement-small-80) * -1);
617
+ left: var(--measurement-small-10);
618
+
619
+ transition: all ease-in-out 0.2s;
620
+ transform-origin: left left;
621
+ }
319
622
 
320
623
  &:hover,
321
624
  &:focus,
322
625
  &:active {
323
- color: var(--font-color);
324
- border-color: var(--font-color-alpha-10);
626
+ opacity: 1;
627
+
628
+ ::before {
629
+ width: calc(100% - var(--measurement-small-10));
630
+ background-color: currentColor;
631
+ }
325
632
  }
326
633
  }
327
634
  &[data-variant="ghost"] {
@@ -329,8 +636,9 @@ var ButtonVariantsStyles = import_styled_components.css`
329
636
  padding: 0;
330
637
  background-color: transparent;
331
638
  min-width: fit-content;
332
- min-height: var(--measurement-medium-60);
639
+ min-height: fit-content;
333
640
  color: var(--font-color-alpha-60);
641
+ line-height: 0;
334
642
 
335
643
  &:hover,
336
644
  &:focus,
@@ -339,42 +647,6 @@ var ButtonVariantsStyles = import_styled_components.css`
339
647
  }
340
648
  }
341
649
  `;
342
- var ButtonSizeStyles = import_styled_components.css`
343
- &[data-size="small"] {
344
- font-size: var(--fontsize-small-60);
345
-
346
- gap: var(--measurement-medium-10);
347
- padding: var(--measurement-medium-10) var(--measurement-medium-30);
348
- min-width: var(--measurement-medium-60);
349
- min-height: var(--measurement-medium-60);
350
-
351
- svg {
352
- width: var(--fontsize-medium-10);
353
- height: var(--fontsize-medium-10);
354
- }
355
- }
356
- &[data-size="medium"] {
357
- padding: var(--measurement-medium-10) var(--measurement-medium-60);
358
- min-width: var(--measurement-medium-90);
359
- min-height: var(--measurement-medium-80);
360
- }
361
- &[data-size="large"] {
362
- padding: var(--measurement-medium-10) var(--measurement-medium-60);
363
- min-width: var(--measurement-medium-90);
364
- min-height: var(--measurement-medium-90);
365
- }
366
- `;
367
- var ButtonShapeStyles = import_styled_components.css`
368
- &[data-shape="square"] {
369
- border-radius: 0;
370
- }
371
- &[data-shape="smooth"] {
372
- border-radius: var(--measurement-medium-20);
373
- }
374
- &[data-shape="round"] {
375
- border-radius: var(--measurement-large-90);
376
- }
377
- `;
378
650
  var ButtonWrapper = import_styled_components.default.button`
379
651
  &[data-raw="false"] {
380
652
  ${ButtonDefaultStyles}
@@ -424,7 +696,7 @@ var Button = import_react2.default.forwardRef(
424
696
  name,
425
697
  variant = "primary" /* Primary */,
426
698
  sizing = "medium" /* Medium */,
427
- shape = "smooth",
699
+ shape = "smooth" /* Smooth */,
428
700
  animation,
429
701
  raw,
430
702
  rawicon,
@@ -592,19 +864,19 @@ var import_react4 = __toESM(require("react"));
592
864
  var import_styled_components2 = __toESM(require("styled-components"));
593
865
  var AvatarSizesStyles = import_styled_components2.css`
594
866
  &[data-size="small"] {
867
+ width: var(--measurement-medium-70);
868
+ height: var(--measurement-medium-70);
869
+ min-width: var(--measurement-medium-70);
870
+ min-height: var(--measurement-medium-70);
871
+ }
872
+
873
+ &[data-size="medium"] {
595
874
  width: var(--measurement-large-10);
596
875
  height: var(--measurement-large-10);
597
876
  min-width: var(--measurement-large-10);
598
877
  min-height: var(--measurement-large-10);
599
878
  }
600
879
 
601
- &[data-size="medium"] {
602
- width: var(--measurement-medium-90);
603
- height: var(--measurement-medium-90);
604
- min-width: var(--measurement-medium-90);
605
- min-height: var(--measurement-medium-90);
606
- }
607
-
608
880
  &[data-size="large"] {
609
881
  width: var(--measurement-large-20);
610
882
  height: var(--measurement-large-20);
@@ -612,6 +884,26 @@ var AvatarSizesStyles = import_styled_components2.css`
612
884
  min-height: var(--measurement-large-20);
613
885
  }
614
886
  `;
887
+ var AvatarShapesStyles = import_styled_components2.css`
888
+ &[data-shape="square"] {
889
+ border-radius: 0;
890
+ img {
891
+ border-radius: 0;
892
+ }
893
+ }
894
+ &[data-shape="smooth"] {
895
+ border-radius: var(--measurement-medium-30);
896
+ img {
897
+ border-radius: var(--measurement-medium-30);
898
+ }
899
+ }
900
+ &[data-shape="round"] {
901
+ border-radius: 100%;
902
+ img {
903
+ border-radius: 100%;
904
+ }
905
+ }
906
+ `;
615
907
  var AvatarStatusesStyles = import_styled_components2.css`
616
908
  &[data-status="online"] {
617
909
  fill: var(--shade-green-10);
@@ -630,7 +922,7 @@ var AvatarStatusesStyles = import_styled_components2.css`
630
922
 
631
923
  &[data-status="offline"] {
632
924
  fill: var(--body-color);
633
- stroke: var(--font-color-alpha-10);
925
+ stroke: var(--contrast-color);
634
926
  }
635
927
  `;
636
928
  var AvatarWrapper = import_styled_components2.default.div`
@@ -640,17 +932,18 @@ var AvatarWrapper = import_styled_components2.default.div`
640
932
  align-items: center;
641
933
  justify-content: center;
642
934
 
643
- background-color: var(--body-color);
644
- border-radius: 100%;
935
+ background-color: var(--font-color-alpha-10);
936
+ border: var(--measurement-small-10) solid var(--font-color-alpha-10);
645
937
 
646
938
  img {
647
939
  width: inherit;
648
940
  height: inherit;
649
941
  min-width: inherit;
650
942
  min-height: inherit;
651
- border-radius: 100%;
943
+ border: var(--measurement-small-10) solid var(--font-color-alpha-10);
652
944
  }
653
945
 
946
+ ${AvatarShapesStyles}
654
947
  ${AvatarSizesStyles}
655
948
  }
656
949
  `;
@@ -660,12 +953,37 @@ var StatusWrapper = import_styled_components2.default.svg`
660
953
  );
661
954
 
662
955
  position: absolute;
663
- stroke-width: var(--measurement-small-30);
956
+ stroke-width: var(--measurement-small-10);
664
957
  bottom: var(--status-position);
665
958
  right: var(--status-position);
666
959
 
667
960
  ${AvatarStatusesStyles}
668
961
  `;
962
+ var BadgeWrapper = import_styled_components2.default.div`
963
+ --status-position: calc(
964
+ var(--measurement-medium-10) - (var(--measurement-medium-10) * 2)
965
+ );
966
+
967
+ position: absolute;
968
+
969
+ bottom: var(--status-position);
970
+ right: var(--status-position);
971
+
972
+ width: var(--measurement-medium-60);
973
+ height: var(--measurement-medium-60);
974
+
975
+ background-color: var(--font-color-alpha-10);
976
+ border-radius: 100%;
977
+
978
+ img {
979
+ width: inherit;
980
+ height: inherit;
981
+ min-width: inherit;
982
+ min-height: inherit;
983
+ border-radius: 100%;
984
+ border: var(--measurement-small-10) solid var(--font-color-alpha-10);
985
+ }
986
+ `;
669
987
 
670
988
  // src/avatar/index.tsx
671
989
  var AvataStatusEnum = /* @__PURE__ */ ((AvataStatusEnum2) => {
@@ -680,6 +998,7 @@ var Avatar = (props) => {
680
998
  raw,
681
999
  sizing = "medium" /* Medium */,
682
1000
  status,
1001
+ shape = "round" /* Round */,
683
1002
  src,
684
1003
  alt,
685
1004
  children,
@@ -692,10 +1011,11 @@ var Avatar = (props) => {
692
1011
  "data-raw": Boolean(raw),
693
1012
  "data-size": sizing,
694
1013
  "data-status": status,
1014
+ "data-shape": shape,
695
1015
  "aria-label": props["aria-label"] ?? `${sizeLabel}-user-avatar`,
696
1016
  ...restProps
697
1017
  },
698
- !children && src && /* @__PURE__ */ import_react4.default.createElement(
1018
+ src && /* @__PURE__ */ import_react4.default.createElement(
699
1019
  "img",
700
1020
  {
701
1021
  "aria-label": `${sizeLabel}-user-avatar-image`,
@@ -704,114 +1024,142 @@ var Avatar = (props) => {
704
1024
  }
705
1025
  ),
706
1026
  children,
707
- status && /* @__PURE__ */ import_react4.default.createElement(
708
- StatusWrapper,
709
- {
710
- role: "img",
711
- "aria-label": `${sizing}-user-avatar-status`,
712
- "aria-labelledby": "title desc",
713
- "data-status": status,
714
- height: "16",
715
- width: "16"
716
- },
717
- /* @__PURE__ */ import_react4.default.createElement("title", null, "Activity status"),
718
- /* @__PURE__ */ import_react4.default.createElement("desc", null, status),
719
- /* @__PURE__ */ import_react4.default.createElement("circle", { role: "presentation", cx: "8", cy: "8", r: "6" })
720
- )
1027
+ status && /* @__PURE__ */ import_react4.default.createElement(Avatar.Status, { status })
721
1028
  );
722
1029
  };
723
1030
  Avatar.displayName = "Avatar";
724
-
725
- // src/badge/index.tsx
726
- var import_react5 = __toESM(require("react"));
727
-
728
- // src/badge/styles/index.ts
729
- var import_styled_components3 = __toESM(require("styled-components"));
730
- var BadgeBaseStyles = import_styled_components3.css`
731
- display: inline-flex;
732
- align-items: center;
1031
+ var AvatarStatus = (props) => {
1032
+ const { status } = props;
1033
+ return /* @__PURE__ */ import_react4.default.createElement(
1034
+ StatusWrapper,
1035
+ {
1036
+ role: "img",
1037
+ "aria-label": `${status}-user-avatar-status`,
1038
+ "aria-labelledby": "title desc",
1039
+ "data-status": status,
1040
+ height: "12",
1041
+ width: "12",
1042
+ ...props
1043
+ },
1044
+ /* @__PURE__ */ import_react4.default.createElement("title", null, "Activity status"),
1045
+ /* @__PURE__ */ import_react4.default.createElement("desc", null, status),
1046
+ /* @__PURE__ */ import_react4.default.createElement("circle", { role: "presentation", cx: "6", cy: "6", r: "4" })
1047
+ );
1048
+ };
1049
+ AvatarStatus.displayName = "Avatar.Status";
1050
+ var AvatarBadge = (props) => {
1051
+ const { src, alt, children } = props;
1052
+ return /* @__PURE__ */ import_react4.default.createElement(BadgeWrapper, { role: "img", "aria-label": "user-avatar-badge-wrapper", ...props }, src && !children && /* @__PURE__ */ import_react4.default.createElement(
1053
+ "img",
1054
+ {
1055
+ "aria-label": "user-avatar-badge",
1056
+ alt: alt ?? "user-avatar-badge",
1057
+ src
1058
+ }
1059
+ ), !src && children && children);
1060
+ };
1061
+ AvatarBadge.displayName = "Avatar.Badge";
1062
+ Avatar.Status = AvatarStatus;
1063
+ Avatar.Badge = AvatarBadge;
1064
+
1065
+ // src/badge/index.tsx
1066
+ var import_react5 = __toESM(require("react"));
1067
+
1068
+ // src/badge/styles/index.ts
1069
+ var import_styled_components3 = __toESM(require("styled-components"));
1070
+ var BadgeBaseStyles = import_styled_components3.css`
1071
+ display: flex;
1072
+ align-items: center;
733
1073
  justify-content: center;
734
1074
  gap: var(--measurement-medium-10);
1075
+
735
1076
  min-width: var(--measurement-medium-60);
736
1077
  min-height: var(--measurement-medium-60);
737
1078
  width: fit-content;
738
1079
 
739
1080
  border: var(--measurement-small-10) solid transparent;
1081
+ padding: 0 var(--measurement-medium-30);
740
1082
 
741
1083
  font-size: var(--fontsize-small-60);
742
- padding: var(--measurement-medium-10) var(--measurement-medium-30);
743
1084
  font-weight: 500;
1085
+ letter-spacing: calc(
1086
+ var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
1087
+ );
1088
+ line-height: 0;
1089
+
744
1090
  transition: all ease-in-out 0.2s;
745
1091
  `;
746
1092
  var BadgeVariantStyles = import_styled_components3.css`
747
1093
  border: var(--measurement-small-10) solid transparent;
748
1094
 
749
1095
  &[data-variant="primary"] {
750
- background-color: var(--font-color);
751
- color: var(--body-color);
1096
+ background-color: var(--font-color-alpha-10);
1097
+ color: var(--font-color-alpha-80);
752
1098
 
753
- &:hover,
754
- &:focus {
755
- border-color: var(--font-color-alpha-10);
1099
+ * {
1100
+ color: currentColor !important;
756
1101
  }
757
1102
  }
758
1103
  &[data-variant="secondary"] {
759
- background-color: var(--font-color-alpha-10);
760
- color: var(--font-color-alpha-60);
1104
+ background-color: var(--contrast-color);
1105
+ color: var(--font-color-alpha-80);
761
1106
 
762
- &:hover,
763
- &:focus {
764
- color: var(--font-color);
1107
+ * {
1108
+ color: currentColor !important;
765
1109
  }
766
1110
  }
767
1111
  &[data-variant="border"] {
768
1112
  background-color: transparent;
769
1113
  border-color: var(--font-color-alpha-10);
770
- color: var(--font-color-alpha-60);
1114
+ color: var(--font-color-alpha-80);
771
1115
 
772
- &:hover,
773
- &:focus {
774
- color: var(--font-color);
1116
+ * {
1117
+ color: currentColor !important;
775
1118
  }
776
1119
  }
777
- &[data-variant="error"] {
1120
+ &[data-variant="danger"] {
778
1121
  background-color: var(--alpha-red-10);
779
- color: var(--alpha-red-80);
1122
+ border-color: var(--alpha-red-10);
1123
+ color: var(--shade-red-20);
780
1124
 
781
- &:hover,
782
- &:focus {
783
- background-color: var(--alpha-red-10);
784
- color: var(--color-red);
1125
+ * {
1126
+ color: currentColor !important;
785
1127
  }
786
1128
  }
787
1129
  &[data-variant="warning"] {
788
1130
  background-color: var(--alpha-orange-10);
789
- color: var(--alpha-orange-80);
1131
+ border-color: var(--alpha-orange-10);
1132
+ color: var(--shade-orange-20);
790
1133
 
791
- &:hover,
792
- &:focus {
793
- background-color: var(--alpha-orange-10);
794
- color: var(--color-orange);
1134
+ * {
1135
+ color: currentColor !important;
795
1136
  }
796
1137
  }
797
1138
  &[data-variant="success"] {
798
1139
  background-color: var(--alpha-green-10);
799
- color: var(--alpha-green-80);
1140
+ border-color: var(--alpha-green-10);
1141
+ color: var(--shade-lime-20);
800
1142
 
801
- &:hover,
802
- &:focus {
803
- background-color: var(--alpha-green-10);
804
- color: var(--color-green);
1143
+ * {
1144
+ color: currentColor !important;
805
1145
  }
806
1146
  }
807
1147
  &[data-variant="meta"] {
808
- background-color: var(--alpha-blue-10);
809
- color: var(--alpha-blue-80);
1148
+ background-color: var(--alpha-indigo-10);
1149
+ border-color: var(--alpha-indigo-10);
1150
+ color: var(--shade-indigo-20);
810
1151
 
811
- &:hover,
812
- &:focus {
813
- background-color: var(--alpha-blue-10);
814
- color: var(--color-blue);
1152
+ * {
1153
+ color: currentColor !important;
1154
+ }
1155
+ }
1156
+ &[data-variant="hint"] {
1157
+ background-color: var(--alpha-purple-10);
1158
+ border-color: var(--alpha-purple-10);
1159
+ color: var(--shade-purple-20);
1160
+
1161
+ * {
1162
+ color: currentColor !important;
815
1163
  }
816
1164
  }
817
1165
  `;
@@ -823,14 +1171,35 @@ var BadgeShapeStyles = import_styled_components3.css`
823
1171
  border-radius: var(--measurement-medium-20);
824
1172
  }
825
1173
  &[data-shape="round"] {
826
- border-radius: var(--measurement-large-90);
1174
+ border-radius: var(--measurement-medium-60);
1175
+ }
1176
+ `;
1177
+ var BadgeSizeStyles = import_styled_components3.css`
1178
+ &[data-size="small"] {
1179
+ padding: 0 var(--measurement-medium-30);
1180
+
1181
+ min-width: var(--measurement-medium-70);
1182
+ min-height: var(--measurement-medium-70);
1183
+ }
1184
+ &[data-size="medium"] {
1185
+ padding: 0 var(--measurement-medium-40);
1186
+
1187
+ min-width: var(--fontsize-medium-60);
1188
+ min-height: var(--fontsize-medium-60);
1189
+ }
1190
+ &[data-size="large"] {
1191
+ padding: 0 var(--measurement-medium-40);
1192
+
1193
+ min-width: var(--fontsize-medium-70);
1194
+ min-height: var(--fontsize-medium-70);
827
1195
  }
828
1196
  `;
829
- var BadgeWrapper = import_styled_components3.default.div`
1197
+ var BadgeWrapper2 = import_styled_components3.default.div`
830
1198
  &[data-raw="false"] {
831
1199
  ${BadgeBaseStyles}
832
1200
  ${BadgeVariantStyles}
833
1201
  ${BadgeShapeStyles}
1202
+ ${BadgeSizeStyles}
834
1203
  }
835
1204
  `;
836
1205
 
@@ -838,17 +1207,19 @@ var BadgeWrapper = import_styled_components3.default.div`
838
1207
  var Badge = (props) => {
839
1208
  const {
840
1209
  raw = false,
841
- variant = "primary",
842
- shape = "smooth",
1210
+ sizing = "small" /* Small */,
1211
+ variant = "primary" /* Primary */,
1212
+ shape = "smooth" /* Smooth */,
843
1213
  children,
844
1214
  ...restProps
845
1215
  } = props;
846
1216
  return /* @__PURE__ */ import_react5.default.createElement(
847
- BadgeWrapper,
1217
+ BadgeWrapper2,
848
1218
  {
849
1219
  "data-raw": raw,
850
1220
  "data-variant": variant,
851
1221
  "data-shape": shape,
1222
+ "data-size": sizing,
852
1223
  ...restProps
853
1224
  },
854
1225
  children
@@ -1060,74 +1431,294 @@ var CheckboxDefaultStyles = import_styled_components6.css`
1060
1431
  backdrop-filter: blur(var(--measurement-small-10));
1061
1432
  transition: all ease-in-out 0.2s;
1062
1433
  `;
1434
+ var CheckboxBeforeDefaultStyles = import_styled_components6.css`
1435
+ content: "";
1436
+ inset: 0;
1437
+
1438
+ border-radius: inherit;
1439
+ border: var(--measurement-small-10) solid transparent;
1440
+ position: absolute;
1441
+ box-sizing: border-box;
1442
+ margin: 0;
1443
+ padding: 0;
1444
+
1445
+ mask-composite: intersect;
1446
+
1447
+ transition: all ease-in-out 0.2s;
1448
+ `;
1063
1449
  var CheckboxVariantsStyles = import_styled_components6.css`
1064
- &[data-variant="primary"] {
1065
- background-color: var(--font-color-alpha-10);
1066
- border: var(--measurement-small-10) solid transparent;
1450
+ &[data-variant="accent"] {
1451
+ background-color: var(--alpha-accent-30);
1067
1452
 
1068
- &:hover,
1069
- &:focus {
1070
- border-color: var(--font-color-alpha-10);
1453
+ ::before {
1454
+ ${CheckboxBeforeDefaultStyles}
1455
+ border-color: var(--alpha-accent-30);
1456
+ mask-image: linear-gradient(var(--alpha-accent-30), transparent);
1071
1457
  }
1072
1458
 
1459
+ &:hover,
1460
+ &:focus,
1073
1461
  &:active,
1074
1462
  &[data-state="checked"] {
1075
- background-color: var(--font-color);
1463
+ color: var(--font-color);
1464
+
1465
+ ::before {
1466
+ border-color: var(--color-accent);
1467
+ }
1468
+
1469
+ svg {
1470
+ stroke: var(--color-accent);
1471
+ }
1472
+ }
1473
+ }
1474
+ &[data-variant="primary"] {
1475
+ background-color: var(--font-color);
1476
+ background: linear-gradient(
1477
+ 180deg,
1478
+ var(--font-color) 50%,
1479
+ var(--font-color-alpha-60) 100%
1480
+ );
1481
+ background-size: 100% 200%;
1482
+ background-position: 0% 50%;
1483
+
1484
+ ::before {
1485
+ ${CheckboxBeforeDefaultStyles}
1486
+ border-color: var(--body-color-alpha-20);
1487
+ mask-image: linear-gradient(var(--body-color-alpha-90), transparent);
1076
1488
  }
1077
1489
 
1490
+ &:hover,
1491
+ &:focus,
1492
+ &:active,
1078
1493
  &[data-state="checked"] {
1494
+ background-position: 0% 25%;
1495
+
1496
+ ::before {
1497
+ border-color: var(--body-color-alpha-10);
1498
+ }
1499
+
1079
1500
  svg {
1080
1501
  stroke: var(--body-color);
1081
1502
  }
1082
1503
  }
1083
1504
  }
1505
+ &[data-variant="secondary"] {
1506
+ background-color: var(--contrast-color);
1507
+
1508
+ ::before {
1509
+ ${CheckboxBeforeDefaultStyles}
1510
+ border-color: var(--font-color-alpha-30);
1511
+ mask-image: linear-gradient(var(--font-color-alpha-30), transparent);
1512
+ }
1513
+
1514
+ &:hover,
1515
+ &:focus,
1516
+ &:active,
1517
+ &[data-state="checked"] {
1518
+ color: var(--font-color);
1519
+
1520
+ ::before {
1521
+ border-color: var(--font-color-alpha-60);
1522
+ }
1523
+
1524
+ svg {
1525
+ stroke: var(--font-color);
1526
+ }
1527
+ }
1528
+ }
1529
+ &[data-variant="tertiary"] {
1530
+ border-color: var(--font-color-alpha-10);
1084
1531
 
1085
- &[data-variant="border"] {
1086
1532
  background-color: var(--body-color);
1087
- border: var(--measurement-small-10) solid var(--font-color-alpha-10);
1533
+ background: linear-gradient(
1534
+ 180deg,
1535
+ transparent 0%,
1536
+ var(--contrast-color) 100%
1537
+ );
1538
+ background-size: 100% 200%;
1539
+ background-position: 0% 50%;
1540
+
1541
+ ::before {
1542
+ ${CheckboxBeforeDefaultStyles}
1543
+ border-color: var(--font-color-alpha-10);
1544
+ mask-image: linear-gradient(var(--font-color-alpha-30), transparent);
1545
+ }
1088
1546
 
1089
1547
  &:hover,
1090
1548
  &:focus,
1091
1549
  &:active,
1092
1550
  &[data-state="checked"] {
1093
1551
  background-color: var(--font-color-alpha-10);
1552
+ background-position: 0% 75%;
1094
1553
  border-color: transparent;
1554
+
1555
+ svg {
1556
+ stroke: var(--font-color);
1557
+ }
1558
+ }
1559
+ }
1560
+ &[data-variant="success"] {
1561
+ background-color: var(--alpha-green-30);
1562
+
1563
+ background: linear-gradient(
1564
+ 180deg,
1565
+ transparent 0%,
1566
+ var(--alpha-green-30) 100%
1567
+ );
1568
+ background-size: 100% 200%;
1569
+ background-position: 0% 50%;
1570
+
1571
+ ::before {
1572
+ ${CheckboxBeforeDefaultStyles}
1573
+ border-color: var(--alpha-green-30);
1574
+ mask-image: linear-gradient(var(--alpha-green-30), transparent);
1095
1575
  }
1096
1576
 
1577
+ &:hover,
1578
+ &:focus,
1579
+ &:active,
1097
1580
  &[data-state="checked"] {
1581
+ color: var(--font-color);
1582
+
1583
+ ::before {
1584
+ border-color: var(--color-green);
1585
+ background-color: var(--alpha-green-60);
1586
+ }
1587
+
1098
1588
  svg {
1099
- stroke: var(--font-color);
1589
+ stroke: var(--color-green);
1100
1590
  }
1101
1591
  }
1102
1592
  }
1103
- &[data-variant="mono"] {
1104
- background-color: var(--font-color-alpha-10);
1105
- border: var(--measurement-small-10) solid transparent;
1593
+ &[data-variant="meta"] {
1594
+ background-color: var(--alpha-blue-30);
1595
+
1596
+ background: linear-gradient(
1597
+ 180deg,
1598
+ transparent 0%,
1599
+ var(--alpha-blue-30) 100%
1600
+ );
1601
+ background-size: 100% 200%;
1602
+ background-position: 0% 50%;
1603
+
1604
+ ::before {
1605
+ ${CheckboxBeforeDefaultStyles}
1606
+ border-color: var(--alpha-blue-30);
1607
+ mask-image: linear-gradient(var(--alpha-blue-30), transparent);
1608
+ }
1106
1609
 
1107
1610
  &:hover,
1108
1611
  &:focus,
1109
1612
  &:active,
1110
1613
  &[data-state="checked"] {
1111
- border-color: var(--font-color-alpha-10);
1614
+ color: var(--font-color);
1615
+
1616
+ ::before {
1617
+ border-color: var(--color-blue);
1618
+ background-color: var(--alpha-blue-60);
1619
+ }
1620
+
1621
+ svg {
1622
+ stroke: var(--color-blue);
1623
+ }
1624
+ }
1625
+ }
1626
+ &[data-variant="hint"] {
1627
+ background-color: var(--alpha-purple-30);
1628
+
1629
+ background: linear-gradient(
1630
+ 180deg,
1631
+ transparent 0%,
1632
+ var(--alpha-purple-30) 100%
1633
+ );
1634
+ background-size: 100% 200%;
1635
+ background-position: 0% 50%;
1636
+
1637
+ ::before {
1638
+ ${CheckboxBeforeDefaultStyles}
1639
+ border-color: var(--alpha-purple-30);
1640
+ mask-image: linear-gradient(var(--alpha-purple-30), transparent);
1112
1641
  }
1113
1642
 
1643
+ &:hover,
1644
+ &:focus,
1645
+ &:active,
1114
1646
  &[data-state="checked"] {
1647
+ color: var(--font-color);
1648
+
1649
+ ::before {
1650
+ border-color: var(--color-purple);
1651
+ background-color: var(--alpha-purple-60);
1652
+ }
1653
+
1115
1654
  svg {
1116
- stroke: var(--font-color);
1655
+ stroke: var(--color-purple);
1117
1656
  }
1118
1657
  }
1119
1658
  }
1120
- &[data-variant="ghost"] {
1121
- border: var(--measurement-small-10) solid transparent;
1659
+ &[data-variant="danger"] {
1660
+ background-color: var(--alpha-red-30);
1661
+
1662
+ background: linear-gradient(
1663
+ 180deg,
1664
+ transparent 0%,
1665
+ var(--alpha-red-30) 100%
1666
+ );
1667
+ background-size: 100% 200%;
1668
+ background-position: 0% 50%;
1669
+
1670
+ ::before {
1671
+ ${CheckboxBeforeDefaultStyles}
1672
+ border-color: var(--alpha-red-30);
1673
+ mask-image: linear-gradient(var(--alpha-red-30), transparent);
1674
+ }
1122
1675
 
1123
1676
  &:hover,
1124
1677
  &:focus,
1125
1678
  &:active,
1126
1679
  &[data-state="checked"] {
1127
- border-color: var(--font-color-alpha-10);
1680
+ color: var(--font-color);
1681
+
1682
+ ::before {
1683
+ border-color: var(--color-red);
1684
+ background-color: var(--alpha-red-60);
1685
+ }
1128
1686
 
1129
1687
  svg {
1130
- stroke: var(--font-color);
1688
+ stroke: var(--color-red);
1689
+ }
1690
+ }
1691
+ }
1692
+ &[data-variant="warning"] {
1693
+ background-color: var(--alpha-orange-30);
1694
+
1695
+ background: linear-gradient(
1696
+ 180deg,
1697
+ transparent 0%,
1698
+ var(--alpha-orange-30) 100%
1699
+ );
1700
+ background-size: 100% 200%;
1701
+ background-position: 0% 50%;
1702
+
1703
+ ::before {
1704
+ ${CheckboxBeforeDefaultStyles}
1705
+ border-color: var(--alpha-orange-30);
1706
+ mask-image: linear-gradient(var(--alpha-orange-30), transparent);
1707
+ }
1708
+
1709
+ &:hover,
1710
+ &:focus,
1711
+ &:active,
1712
+ &[data-state="checked"] {
1713
+ color: var(--font-color);
1714
+
1715
+ ::before {
1716
+ border-color: var(--color-orange);
1717
+ background-color: var(--alpha-orange-60);
1718
+ }
1719
+
1720
+ svg {
1721
+ stroke: var(--color-orange);
1131
1722
  }
1132
1723
  }
1133
1724
  }
@@ -1196,7 +1787,7 @@ var Checkbox = (props) => {
1196
1787
  const {
1197
1788
  raw,
1198
1789
  sizing = "medium" /* Medium */,
1199
- variant = "mono" /* Mono */,
1790
+ variant = "secondary" /* Secondary */,
1200
1791
  name,
1201
1792
  disabled,
1202
1793
  required,
@@ -1572,12 +2163,17 @@ var import_styled_components7 = __toESM(require("styled-components"));
1572
2163
  var DialogDefaultStyles = import_styled_components7.css`
1573
2164
  position: fixed;
1574
2165
  top: 15dvh;
1575
- padding: var(--measurement-medium-60);
2166
+ bottom: auto;
2167
+
2168
+ padding: var(--measurement-medium-30);
1576
2169
  width: 100%;
1577
2170
 
1578
- border: var(--measurement-small-10) solid var(--font-color-alpha-10);
1579
- background-color: var(--body-color);
1580
2171
  border-radius: var(--measurement-medium-30);
2172
+ background: var(--body-color);
2173
+
2174
+ border: var(--measurement-small-10) solid var(--contrast-color);
2175
+ box-shadow: 0 var(--measurement-medium-40) var(--measurement-medium-60)
2176
+ calc(var(--measurement-medium-60) * -1) rgba(0, 0, 0, 0.3);
1581
2177
 
1582
2178
  transition: all ease-in-out 0.2s;
1583
2179
  z-index: var(--depth-default-100);
@@ -1592,7 +2188,7 @@ var DialogSizeStyles = import_styled_components7.css`
1592
2188
  max-height: var(--max-height);
1593
2189
  }
1594
2190
  &[data-size="medium"] {
1595
- max-width: calc(var(--measurement-large-90) * 2.66);
2191
+ max-width: calc(var(--measurement-large-90) * 2);
1596
2192
  max-height: var(--max-height);
1597
2193
  }
1598
2194
 
@@ -1614,14 +2210,14 @@ var Menu = import_styled_components7.default.menu`
1614
2210
  }
1615
2211
  `;
1616
2212
  var DialogWrapper = import_styled_components7.default.dialog`
1617
- @keyframes slide-in {
2213
+ @keyframes scale-in {
1618
2214
  0% {
1619
2215
  opacity: 0;
1620
- transform: translateY(var(--measurement-medium-30));
2216
+ transform: scale(0.95);
1621
2217
  }
1622
2218
  100% {
1623
2219
  opacity: 1;
1624
- transform: translateY(0);
2220
+ transform: Scale(1);
1625
2221
  }
1626
2222
  }
1627
2223
 
@@ -1634,7 +2230,7 @@ var DialogWrapper = import_styled_components7.default.dialog`
1634
2230
  ${DialogSizeStyles}
1635
2231
 
1636
2232
  animation-duration: 0.2s;
1637
- animation-name: slide-in;
2233
+ animation-name: scale-in;
1638
2234
  animation-fill-mode: backwards;
1639
2235
  }
1640
2236
  `;
@@ -1824,14 +2420,6 @@ function useDropdownMenuProvider() {
1824
2420
 
1825
2421
  // src/dropdown/styles/index.ts
1826
2422
  var import_styled_components9 = __toESM(require("styled-components"));
1827
- var FadeIn = import_styled_components9.keyframes`
1828
- 0% {
1829
- opacity: 0;
1830
- }
1831
- 100% {
1832
- opacity: 1;
1833
- }
1834
- `;
1835
2423
  var ContentWrapperSizes = import_styled_components9.css`
1836
2424
  --small: var(--measurement-large-60);
1837
2425
  --medium: var(--measurement-large-80);
@@ -1862,6 +2450,17 @@ var ContentWrapper = import_styled_components9.default.ul`
1862
2450
  --medium: var(--measurement-large-80);
1863
2451
  --large: var(--measurement-large-90);
1864
2452
 
2453
+ @keyframes slide-in {
2454
+ 0% {
2455
+ opacity: 0;
2456
+ transform: translateY(calc(var(--measurement-small-60) * -1));
2457
+ }
2458
+ 100% {
2459
+ opacity: 1;
2460
+ transform: translateY(0);
2461
+ }
2462
+ }
2463
+
1865
2464
  &[data-raw="false"] {
1866
2465
  position: fixed;
1867
2466
  margin: 0;
@@ -1874,11 +2473,11 @@ var ContentWrapper = import_styled_components9.default.ul`
1874
2473
  border-radius: var(--measurement-medium-30);
1875
2474
 
1876
2475
  z-index: var(--depth-default-100);
1877
- animation-duration: 0.2s;
1878
- animation-name: ${FadeIn};
1879
- animation-fill-mode: backwards;
1880
2476
 
1881
2477
  ${ContentWrapperSizes}
2478
+ animation-duration: 0.2s;
2479
+ animation-name: slide-in;
2480
+ animation-fill-mode: backwards;
1882
2481
  }
1883
2482
  `;
1884
2483
  var ItemWrapper2 = import_styled_components9.default.li`
@@ -1888,20 +2487,28 @@ var ItemWrapper2 = import_styled_components9.default.li`
1888
2487
  user-select: none;
1889
2488
 
1890
2489
  &[data-raw="false"] {
1891
- font-size: var(--fontsize-small-80);
1892
- padding: var(--measurement-medium-30);
2490
+ padding: var(--measurement-medium-10) var(--measurement-medium-30);
1893
2491
  border-radius: var(--measurement-medium-20);
2492
+
1894
2493
  text-align: left;
1895
- color: var(--font-color-alpha-60);
2494
+ font-weight: 600;
2495
+ letter-spacing: calc(
2496
+ var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
2497
+ );
2498
+ font-size: var(--fontsize-medium-10);
2499
+ color: var(--font-color);
2500
+
1896
2501
  outline: none;
1897
- transition: all ease-in-out 0.2s;
1898
2502
  cursor: pointer;
1899
2503
 
2504
+ transition: all ease-in-out 0.2s;
2505
+
1900
2506
  &:hover,
1901
2507
  &:focus,
1902
- &:active {
1903
- color: var(--font-color);
1904
- background-color: var(--font-color-alpha-10);
2508
+ &:active,
2509
+ &:focus-within,
2510
+ &:has(:active) {
2511
+ background-color: var(--contrast-color);
1905
2512
  }
1906
2513
  }
1907
2514
 
@@ -2011,7 +2618,18 @@ var DropdownMenuContent = import_react19.default.forwardRef((props, _) => {
2011
2618
  mounted.current = false;
2012
2619
  };
2013
2620
  }, [states.open]);
2014
- return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, states.open && /* @__PURE__ */ import_react19.default.createElement(
2621
+ import_react19.default.useEffect(() => {
2622
+ if (!states.open) return;
2623
+ const handleKeyDown = (event) => {
2624
+ if (event.key === "Escape" && methods.toggleOpen) {
2625
+ methods.toggleOpen();
2626
+ }
2627
+ };
2628
+ document.addEventListener("keydown", handleKeyDown);
2629
+ return () => document.removeEventListener("keydown", handleKeyDown);
2630
+ }, [states.open]);
2631
+ if (!states.open) return null;
2632
+ return /* @__PURE__ */ import_react19.default.createElement(
2015
2633
  ContentWrapper,
2016
2634
  {
2017
2635
  ref: contentRef,
@@ -2031,7 +2649,7 @@ var DropdownMenuContent = import_react19.default.forwardRef((props, _) => {
2031
2649
  ...restProps
2032
2650
  },
2033
2651
  children
2034
- ));
2652
+ );
2035
2653
  });
2036
2654
  DropdownMenuContent.displayName = "DropdownMenu.Content";
2037
2655
  var DropdownMenuItem = (props) => {
@@ -2125,15 +2743,17 @@ var FieldDefaultStyles = import_styled_components10.css`
2125
2743
 
2126
2744
  font-size: var(--fontsize-medium-20);
2127
2745
 
2128
- line-height: 1.1;
2746
+ line-height: 1;
2129
2747
  letter-spacing: calc(
2130
2748
  var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
2131
2749
  );
2132
2750
 
2133
2751
  border: var(--measurement-small-10) solid transparent;
2752
+
2134
2753
  backdrop-filter: blur(var(--measurement-small-10));
2135
2754
  color: var(--font-color-alpha-60);
2136
- width: fit-content;
2755
+
2756
+ width: 100%;
2137
2757
  height: fit-content;
2138
2758
 
2139
2759
  transition: all ease-in-out 0.2s;
@@ -2146,7 +2766,9 @@ var FieldDefaultStyles = import_styled_components10.css`
2146
2766
 
2147
2767
  &:hover,
2148
2768
  &:focus,
2149
- &:active {
2769
+ &:active,
2770
+ &:focus-within,
2771
+ &:has(:active) {
2150
2772
  color: var(--font-color);
2151
2773
  svg,
2152
2774
  span,
@@ -2159,26 +2781,46 @@ var FieldDefaultStyles = import_styled_components10.css`
2159
2781
  color: var(--font-color-alpha-30);
2160
2782
  }
2161
2783
 
2162
- &:disabled {
2784
+ &:disabled,
2785
+ &:has(:disabled) {
2163
2786
  cursor: not-allowed;
2164
2787
  opacity: 0.6;
2165
2788
  }
2166
2789
  `;
2167
2790
  var FieldVariantsStyles = import_styled_components10.css`
2168
2791
  &[data-variant="primary"] {
2169
- background-color: var(--font-color-alpha-10);
2792
+ background-color: transparent;
2170
2793
  border-color: var(--font-color-alpha-10);
2171
2794
 
2795
+ &:hover,
2172
2796
  &:focus,
2173
- &:active {
2174
- box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
2797
+ &:active,
2798
+ &:focus-within,
2799
+ &:has(:hover),
2800
+ &:has(:active) {
2801
+ border-color: var(--font-color-alpha-20);
2802
+ }
2803
+
2804
+ &:focus,
2805
+ &:active,
2806
+ &:focus-within,
2807
+ &:has(:active) {
2808
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-accent-30);
2175
2809
  }
2176
2810
 
2177
2811
  &[data-error="true"] {
2178
2812
  color: var(--color-red);
2179
- background-color: var(--alpha-red-10);
2180
2813
  border-color: var(--alpha-red-10);
2181
- box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
2814
+
2815
+ &:hover,
2816
+ &:focus,
2817
+ &:active,
2818
+ &:focus-within,
2819
+ &:has(:hover),
2820
+ &:has(:active) {
2821
+ background-color: var(--alpha-red-10);
2822
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
2823
+ }
2182
2824
  }
2183
2825
  }
2184
2826
 
@@ -2188,12 +2830,17 @@ var FieldVariantsStyles = import_styled_components10.css`
2188
2830
 
2189
2831
  &:hover,
2190
2832
  &:focus,
2191
- &:active {
2833
+ &:active,
2834
+ &:focus-within,
2835
+ &:has(:hover),
2836
+ &:has(:active) {
2192
2837
  border-color: var(--font-color-alpha-20);
2193
2838
  }
2194
2839
 
2195
2840
  &:focus,
2196
- &:active {
2841
+ &:active,
2842
+ &:focus-within,
2843
+ &:has(:active) {
2197
2844
  box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
2198
2845
  }
2199
2846
 
@@ -2203,7 +2850,10 @@ var FieldVariantsStyles = import_styled_components10.css`
2203
2850
 
2204
2851
  &:hover,
2205
2852
  &:focus,
2206
- &:active {
2853
+ &:active,
2854
+ &:focus-within,
2855
+ &:has(:hover),
2856
+ &:has(:active) {
2207
2857
  background-color: var(--alpha-red-10);
2208
2858
  box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
2209
2859
  }
@@ -2220,7 +2870,10 @@ var FieldVariantsStyles = import_styled_components10.css`
2220
2870
 
2221
2871
  &:hover,
2222
2872
  &:focus,
2223
- &:active {
2873
+ &:active,
2874
+ &:focus-within,
2875
+ &:has(:hover),
2876
+ &:has(:active) {
2224
2877
  color: var(--font-color);
2225
2878
  }
2226
2879
 
@@ -2241,7 +2894,6 @@ var FieldSizeStyles = import_styled_components10.css`
2241
2894
  padding: 0 var(--measurement-medium-30);
2242
2895
  min-width: var(--measurement-medium-90);
2243
2896
  min-height: var(--measurement-medium-90);
2244
- width: fit-content;
2245
2897
  }
2246
2898
  &[data-size="large"] {
2247
2899
  padding: var(--measurement-medium-50);
@@ -2258,6 +2910,7 @@ var FieldShapeStyles = import_styled_components10.css`
2258
2910
  }
2259
2911
  &[data-shape="round"] {
2260
2912
  border-radius: var(--measurement-large-90);
2913
+ padding-left: var(--measurement-medium-50) !important;
2261
2914
  }
2262
2915
  `;
2263
2916
  var Fieldset = import_styled_components10.default.fieldset`
@@ -2304,6 +2957,265 @@ var Def = import_styled_components10.default.dfn`
2304
2957
  }
2305
2958
  }
2306
2959
  `;
2960
+ var ParentContainer = import_styled_components10.default.div`
2961
+ position: relative;
2962
+ display: flex;
2963
+ align-items: stretch;
2964
+ width: 100%;
2965
+ height: 100%;
2966
+
2967
+ input[type="number"]::-webkit-inner-spin-button,
2968
+ input[type="number"]::-webkit-outer-spin-button {
2969
+ -webkit-appearance: none;
2970
+ margin: 0;
2971
+ }
2972
+
2973
+ input {
2974
+ width: 100% !important;
2975
+ }
2976
+ input[type="number"] {
2977
+ appearance: textfield;
2978
+ -moz-appearance: textfield;
2979
+ }
2980
+ `;
2981
+ var ParentWrapper = import_styled_components10.default.div`
2982
+ &[data-raw="false"] {
2983
+ ${FieldDefaultStyles}
2984
+ ${FieldVariantsStyles}
2985
+ ${FieldSizeStyles}
2986
+ ${FieldShapeStyles}
2987
+
2988
+ cursor: default;
2989
+ display: flex;
2990
+ align-items: center;
2991
+ justify-content: start;
2992
+ gap: var(--measurement-small-30);
2993
+ width: 100% !important;
2994
+ text-align: left !important;
2995
+
2996
+ &[data-error="true"] {
2997
+ &::placeholder {
2998
+ color: var(--alpha-red-30);
2999
+ }
3000
+ }
3001
+
3002
+ &[data-wrap="true"] {
3003
+ flex-wrap: wrap;
3004
+ align-items: center;
3005
+ align-content: center;
3006
+ height: auto;
3007
+ padding-top: var(--measurement-small-60);
3008
+ padding-bottom: var(--measurement-small-60);
3009
+ }
3010
+ }
3011
+ `;
3012
+ var InnerDivider = import_styled_components10.default.div`
3013
+ height: var(--measurement-small-10);
3014
+ width: 100%;
3015
+ background-color: var(--font-color-alpha-10);
3016
+ `;
3017
+ var InnerWrapper = import_styled_components10.default.div`
3018
+ &[data-raw="false"] {
3019
+ position: absolute;
3020
+ display: flex;
3021
+ flex-direction: column;
3022
+
3023
+ right: 0;
3024
+ &[data-multiple="true"] {
3025
+ right: var(--measurement-small-10) !important;
3026
+ }
3027
+
3028
+ top: var(--measurement-small-10);
3029
+ bottom: var(--measurement-small-10);
3030
+
3031
+ border-left: var(--measurement-small-10) solid var(--font-color-alpha-10);
3032
+ border-color: var(--font-color-alpha-10);
3033
+
3034
+ overflow: hidden;
3035
+
3036
+ &[data-error="true"] {
3037
+ border-color: var(--alpha-red-10) !important;
3038
+ }
3039
+
3040
+ &[data-shape="round"] {
3041
+ border-radius: 0 var(--measurement-large-90) var(--measurement-large-90) 0;
3042
+ }
3043
+ &[data-shape="smooth"] {
3044
+ border-radius: 0 var(--measurement-medium-20) var(--measurement-medium-20)
3045
+ 0;
3046
+ }
3047
+ &[data-shape="square"] {
3048
+ border-radius: 0;
3049
+ }
3050
+ }
3051
+ `;
3052
+ var InnerTrigger = import_styled_components10.default.button`
3053
+ all: unset;
3054
+
3055
+ position: relative;
3056
+ display: flex;
3057
+ flex: 1;
3058
+
3059
+ align-items: center;
3060
+ justify-content: center;
3061
+ box-sizing: border-box;
3062
+ padding: 0 var(--measurement-medium-40);
3063
+
3064
+ color: var(--font-color-alpha-60);
3065
+
3066
+ background-color: var(--body-color);
3067
+ background: linear-gradient(
3068
+ 180deg,
3069
+ transparent 50%,
3070
+ var(--font-color-alpha-10) 100%
3071
+ );
3072
+ background-size: 100% 200%;
3073
+ background-position: 0% 0%;
3074
+ backdrop-filter: blur(var(--measurement-medium-10));
3075
+
3076
+ cursor: pointer;
3077
+ transition: all ease-in-out 0.2s;
3078
+
3079
+ svg {
3080
+ opacity: 0.6;
3081
+ transition: all ease-in-out 0.2s;
3082
+ }
3083
+
3084
+ ::before {
3085
+ content: "";
3086
+ inset: 0;
3087
+
3088
+ border-radius: inherit;
3089
+ position: absolute;
3090
+ box-sizing: border-box;
3091
+ margin: 0;
3092
+ padding: 0;
3093
+
3094
+ mask-composite: intersect;
3095
+
3096
+ transition: all ease-in-out 0.2s;
3097
+ mask-image: linear-gradient(var(--font-color), transparent);
3098
+ }
3099
+
3100
+ &:hover,
3101
+ &:active {
3102
+ color: var(--font-color);
3103
+ background-position: 0% 50%;
3104
+
3105
+ svg {
3106
+ opacity: 0.8;
3107
+ }
3108
+ }
3109
+
3110
+ &:disabled {
3111
+ cursor: not-allowed;
3112
+ opacity: 0.3;
3113
+ }
3114
+ `;
3115
+ var InnerSegment = import_styled_components10.default.span`
3116
+ &[data-raw="false"] {
3117
+ border-radius: inherit;
3118
+
3119
+ text-align: center;
3120
+ outline: none;
3121
+ color: inherit;
3122
+ transition: background-color ease-in-out 0.2s;
3123
+
3124
+ &[data-placeholder="true"] {
3125
+ color: var(--font-color-alpha-30);
3126
+ }
3127
+
3128
+ &:hover,
3129
+ &:focus,
3130
+ &:active,
3131
+ &:focus-within,
3132
+ &:has(:active) {
3133
+ background-color: var(--font-color-alpha-10);
3134
+ color: var(--font-color);
3135
+ }
3136
+ }
3137
+ `;
3138
+ var Muted = import_styled_components10.default.span`
3139
+ &[data-raw="false"] {
3140
+ color: var(--font-color-alpha-30);
3141
+ user-select: none;
3142
+ }
3143
+ `;
3144
+ var HiddenInput = import_styled_components10.default.input`
3145
+ border: none;
3146
+ outline: none;
3147
+ background: transparent;
3148
+ flex: 1;
3149
+ font: inherit;
3150
+ color: inherit;
3151
+ padding: 0;
3152
+ min-width: var(--measurement-medium-60);
3153
+ `;
3154
+
3155
+ // src/field/types/index.ts
3156
+ var SegmentRanges = {
3157
+ day: { min: 1, max: () => 31 },
3158
+ month: { min: 1, max: () => 12 },
3159
+ year: { min: 1, max: () => 9999 },
3160
+ hour: { min: 0, max: () => 23 },
3161
+ minute: { min: 0, max: () => 59 }
3162
+ };
3163
+
3164
+ // src/field/utils/index.ts
3165
+ function dateToState(date) {
3166
+ return {
3167
+ day: date.getDate(),
3168
+ month: date.getMonth() + 1,
3169
+ // Normalize: Date months are 0-indexed
3170
+ year: date.getFullYear(),
3171
+ hour: date.getHours(),
3172
+ minute: date.getMinutes()
3173
+ };
3174
+ }
3175
+ function stateToDate(state) {
3176
+ return new Date(
3177
+ state.year,
3178
+ state.month - 1,
3179
+ // Normalize: Date constructor expects 0-indexed months
3180
+ state.day,
3181
+ state.hour,
3182
+ state.minute
3183
+ );
3184
+ }
3185
+ function buildSegments(state, locale, withTime) {
3186
+ const dateFormatter = new Intl.DateTimeFormat(locale, {
3187
+ day: "2-digit",
3188
+ month: "2-digit",
3189
+ year: "numeric"
3190
+ });
3191
+ const timeFormatter = new Intl.DateTimeFormat(locale, {
3192
+ hour: "2-digit",
3193
+ minute: "2-digit",
3194
+ hour12: false
3195
+ });
3196
+ const probe = stateToDate(state);
3197
+ const dateParts = dateFormatter.formatToParts(probe).filter((p) => p.type !== "literal" || p.value.trim() !== "").map((p) => {
3198
+ if (p.type === "day") return { type: "day", value: p.value };
3199
+ if (p.type === "month") return { type: "month", value: p.value };
3200
+ if (p.type === "year") return { type: "year", value: p.value };
3201
+ return { type: "literal", value: p.value };
3202
+ });
3203
+ if (!withTime) return dateParts;
3204
+ const timeParts = timeFormatter.formatToParts(probe).filter((p) => p.type !== "literal" || p.value.trim() !== "").map((p) => {
3205
+ if (p.type === "hour") return { type: "hour", value: p.value };
3206
+ if (p.type === "minute") return { type: "minute", value: p.value };
3207
+ return { type: "literal", value: p.value };
3208
+ });
3209
+ return [...dateParts, { type: "literal", value: " " }, ...timeParts];
3210
+ }
3211
+ var commitState = (isControlled, next, setInternalState, onChange) => {
3212
+ if (!isControlled) setInternalState(next);
3213
+ onChange?.(stateToDate(next));
3214
+ };
3215
+ var clamp = (val, seg, internalState) => {
3216
+ const { min, max } = SegmentRanges[seg];
3217
+ return Math.min(Math.max(val, min), max(internalState));
3218
+ };
2307
3219
 
2308
3220
  // src/field/index.tsx
2309
3221
  var MetaVariantEnum = /* @__PURE__ */ ((MetaVariantEnum2) => {
@@ -2317,8 +3229,8 @@ var Field = (props) => {
2317
3229
  const {
2318
3230
  raw,
2319
3231
  sizing = "medium" /* Medium */,
2320
- variant = "primary" /* Primary */,
2321
- shape = "smooth",
3232
+ variant = "secondary" /* Secondary */,
3233
+ shape = "smooth" /* Smooth */,
2322
3234
  error,
2323
3235
  hint,
2324
3236
  ...restProps
@@ -2382,16 +3294,627 @@ var FieldMeta = (props) => {
2382
3294
  "aria-details": id,
2383
3295
  "data-variant": variant,
2384
3296
  "data-raw": Boolean(raw),
2385
- ...restProps
3297
+ ...restProps
3298
+ },
3299
+ children
3300
+ );
3301
+ };
3302
+ FieldMeta.displayName = "Field.Meta";
3303
+ var FieldNumber = (props) => {
3304
+ const {
3305
+ raw,
3306
+ sizing = "medium" /* Medium */,
3307
+ variant = "secondary" /* Secondary */,
3308
+ shape = "smooth" /* Smooth */,
3309
+ error,
3310
+ step = 1,
3311
+ ...restProps
3312
+ } = props;
3313
+ const inputRef = import_react21.default.useRef(null);
3314
+ const handleStep = (direction) => {
3315
+ if (!inputRef.current) return;
3316
+ direction === "up" ? inputRef.current.stepUp() : inputRef.current.stepDown();
3317
+ inputRef.current.dispatchEvent(new Event("change", { bubbles: true }));
3318
+ };
3319
+ const ChevronIcon = ({ direction }) => /* @__PURE__ */ import_react21.default.createElement(
3320
+ "svg",
3321
+ {
3322
+ width: "8",
3323
+ height: "4",
3324
+ viewBox: "0 0 10 6",
3325
+ fill: "none",
3326
+ style: {
3327
+ transform: direction === "up" ? "rotate(180deg)" : "none"
3328
+ },
3329
+ "aria-hidden": "true"
3330
+ },
3331
+ /* @__PURE__ */ import_react21.default.createElement(
3332
+ "path",
3333
+ {
3334
+ d: "M1 1L5 5L9 1",
3335
+ stroke: "currentColor",
3336
+ strokeWidth: "1.5",
3337
+ strokeLinecap: "round",
3338
+ strokeLinejoin: "round"
3339
+ }
3340
+ )
3341
+ );
3342
+ return /* @__PURE__ */ import_react21.default.createElement(ParentContainer, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react21.default.createElement(
3343
+ Field,
3344
+ {
3345
+ ref: inputRef,
3346
+ type: "number",
3347
+ raw,
3348
+ sizing,
3349
+ variant,
3350
+ shape,
3351
+ error,
3352
+ step,
3353
+ ...restProps
3354
+ }
3355
+ ), /* @__PURE__ */ import_react21.default.createElement(
3356
+ InnerWrapper,
3357
+ {
3358
+ "data-raw": Boolean(raw),
3359
+ "data-error": Boolean(error),
3360
+ "data-variant": variant,
3361
+ "data-shape": shape,
3362
+ "data-multiple": "true"
3363
+ },
3364
+ /* @__PURE__ */ import_react21.default.createElement(
3365
+ InnerTrigger,
3366
+ {
3367
+ type: "button",
3368
+ "aria-label": "Increment",
3369
+ "data-raw": Boolean(raw),
3370
+ onClick: () => handleStep("up"),
3371
+ tabIndex: -1
3372
+ },
3373
+ /* @__PURE__ */ import_react21.default.createElement(ChevronIcon, { direction: "up" })
3374
+ ),
3375
+ /* @__PURE__ */ import_react21.default.createElement(InnerDivider, { "data-raw": Boolean(raw) }),
3376
+ /* @__PURE__ */ import_react21.default.createElement(
3377
+ InnerTrigger,
3378
+ {
3379
+ type: "button",
3380
+ "aria-label": "Decrement",
3381
+ "data-raw": Boolean(raw),
3382
+ onClick: () => handleStep("down"),
3383
+ tabIndex: -1
3384
+ },
3385
+ /* @__PURE__ */ import_react21.default.createElement(ChevronIcon, { direction: "down" })
3386
+ )
3387
+ ));
3388
+ };
3389
+ FieldNumber.displayName = "Field.Number";
3390
+ var FieldDate = (props) => {
3391
+ const {
3392
+ raw,
3393
+ sizing = "medium" /* Medium */,
3394
+ variant = "secondary" /* Secondary */,
3395
+ shape = "smooth" /* Smooth */,
3396
+ error,
3397
+ value,
3398
+ defaultValue,
3399
+ onChange,
3400
+ locale = typeof globalThis.navigator !== "undefined" ? globalThis.navigator.language : "en-US",
3401
+ withTime = false,
3402
+ disabled = false,
3403
+ id: idProp
3404
+ } = props;
3405
+ const { id: contextId } = useField();
3406
+ const id = idProp ?? contextId;
3407
+ const isControlled = value !== void 0;
3408
+ const metaId = import_react21.default.useId();
3409
+ const bufferRef = import_react21.default.useRef("");
3410
+ const segmentRefs = import_react21.default.useRef(/* @__PURE__ */ new Map());
3411
+ const [internalState, setInternalState] = import_react21.default.useState(
3412
+ () => dateToState(defaultValue ?? value ?? /* @__PURE__ */ new Date())
3413
+ );
3414
+ const [focusedSegment, setFocusedSegment] = import_react21.default.useState(null);
3415
+ const segments = buildSegments(internalState, locale, withTime);
3416
+ const editableSegments = segments.filter(
3417
+ (s) => s.type !== "literal"
3418
+ ).map((s) => s.type);
3419
+ const stepSegment = (seg, delta) => {
3420
+ const { min, max } = SegmentRanges[seg];
3421
+ const current = internalState[seg];
3422
+ const range = max(internalState) - min + 1;
3423
+ const next = (current - min + delta + range) % range + min;
3424
+ commitState(
3425
+ isControlled,
3426
+ { ...internalState, [seg]: next },
3427
+ setInternalState,
3428
+ onChange
3429
+ );
3430
+ };
3431
+ const handleSegmentKeyDown = (e, seg) => {
3432
+ if (disabled) return;
3433
+ const idx = editableSegments.indexOf(seg);
3434
+ switch (e.key) {
3435
+ case "ArrowUp": {
3436
+ e.preventDefault();
3437
+ bufferRef.current = "";
3438
+ stepSegment(seg, 1);
3439
+ break;
3440
+ }
3441
+ case "ArrowDown": {
3442
+ e.preventDefault();
3443
+ bufferRef.current = "";
3444
+ stepSegment(seg, -1);
3445
+ break;
3446
+ }
3447
+ // Move to the previous segment and reset the buffer
3448
+ case "ArrowLeft":
3449
+ case "Backspace": {
3450
+ e.preventDefault();
3451
+ bufferRef.current = "";
3452
+ if (idx > 0) focusSegmentByType(editableSegments[idx - 1]);
3453
+ break;
3454
+ }
3455
+ // ArrowRight advances manually; Tab is left to bubble for natural focus
3456
+ case "ArrowRight":
3457
+ case "Tab": {
3458
+ if (e.key === "ArrowRight") {
3459
+ e.preventDefault();
3460
+ bufferRef.current = "";
3461
+ if (idx < editableSegments.length - 1)
3462
+ focusSegmentByType(editableSegments[idx + 1]);
3463
+ }
3464
+ break;
3465
+ }
3466
+ default: {
3467
+ if (/^\d$/.test(e.key)) {
3468
+ e.preventDefault();
3469
+ bufferRef.current += e.key;
3470
+ const num = parseInt(bufferRef.current, 10);
3471
+ const { max } = SegmentRanges[seg];
3472
+ const maxVal = max(internalState);
3473
+ const clamped = clamp(num, seg, internalState);
3474
+ commitState(
3475
+ isControlled,
3476
+ { ...internalState, [seg]: clamped },
3477
+ setInternalState,
3478
+ onChange
3479
+ );
3480
+ const maxDigits = String(maxVal).length;
3481
+ const willOverflow = parseInt(bufferRef.current + "0", 10) > maxVal || bufferRef.current.length >= maxDigits;
3482
+ if (willOverflow) {
3483
+ bufferRef.current = "";
3484
+ if (idx < editableSegments.length - 1)
3485
+ focusSegmentByType(editableSegments[idx + 1]);
3486
+ }
3487
+ }
3488
+ }
3489
+ }
3490
+ };
3491
+ const focusSegmentByType = (type) => {
3492
+ if (!type) return;
3493
+ segmentRefs.current.get(type)?.focus();
3494
+ };
3495
+ const handleWrapperClick = (e) => {
3496
+ if (e.target.dataset.segment) return;
3497
+ const timeout = setTimeout(() => {
3498
+ focusSegmentByType(editableSegments[0]);
3499
+ }, 0);
3500
+ return () => clearTimeout(timeout);
3501
+ };
3502
+ import_react21.default.useEffect(() => {
3503
+ if (isControlled && value) setInternalState(dateToState(value));
3504
+ }, [isControlled, value]);
3505
+ return /* @__PURE__ */ import_react21.default.createElement(
3506
+ ParentWrapper,
3507
+ {
3508
+ id,
3509
+ role: "group",
3510
+ "aria-label": "Date input",
3511
+ "aria-invalid": !!error,
3512
+ "aria-describedby": metaId,
3513
+ "data-error": Boolean(error),
3514
+ "data-variant": variant,
3515
+ "data-size": sizing,
3516
+ "data-shape": shape,
3517
+ "data-raw": Boolean(raw),
3518
+ "data-disabled": disabled,
3519
+ onClick: handleWrapperClick
3520
+ },
3521
+ segments.map((seg, i) => {
3522
+ if (seg.type === "literal") {
3523
+ return /* @__PURE__ */ import_react21.default.createElement(Muted, { key: i, "data-raw": Boolean(raw), "aria-hidden": "true" }, seg.value);
3524
+ }
3525
+ const isFocused = focusedSegment === seg.type;
3526
+ return /* @__PURE__ */ import_react21.default.createElement(
3527
+ InnerSegment,
3528
+ {
3529
+ key: seg.type,
3530
+ ref: (el) => segmentRefs.current.set(seg.type, el),
3531
+ role: "spinbutton",
3532
+ "aria-label": seg.type,
3533
+ "aria-valuenow": internalState[seg.type],
3534
+ "aria-valuemin": SegmentRanges[seg.type].min,
3535
+ "aria-valuemax": SegmentRanges[seg.type].max(internalState),
3536
+ tabIndex: disabled ? -1 : 0,
3537
+ "data-raw": Boolean(raw),
3538
+ "data-focused": isFocused,
3539
+ "data-segment": seg.type,
3540
+ onFocus: () => {
3541
+ setFocusedSegment(seg.type);
3542
+ bufferRef.current = "";
3543
+ },
3544
+ onBlur: () => setFocusedSegment(null),
3545
+ onKeyDown: (e) => {
3546
+ if (seg.type === "literal") return;
3547
+ handleSegmentKeyDown(e, seg.type);
3548
+ }
3549
+ },
3550
+ seg.value
3551
+ );
3552
+ })
3553
+ );
3554
+ };
3555
+ FieldDate.displayName = "Field.Date";
3556
+ var FieldFile = (props) => {
3557
+ const {
3558
+ raw,
3559
+ sizing = "medium" /* Medium */,
3560
+ variant = "secondary" /* Secondary */,
3561
+ shape = "smooth" /* Smooth */,
3562
+ error,
3563
+ trigger,
3564
+ onFileChange,
3565
+ disabled,
3566
+ accept,
3567
+ multiple,
3568
+ ...restProps
3569
+ } = props;
3570
+ const fileInputRef = import_react21.default.useRef(null);
3571
+ const [fileName, setFileName] = import_react21.default.useState("");
3572
+ const handleTriggerClick = () => {
3573
+ fileInputRef.current?.click();
3574
+ };
3575
+ const handleFileChange = (e) => {
3576
+ const files = e.target.files;
3577
+ if (files && files.length > 0) {
3578
+ const names = Array.from(files).map((f) => f.name).join(", ");
3579
+ setFileName(names);
3580
+ } else setFileName("");
3581
+ onFileChange?.(files);
3582
+ };
3583
+ const handleKeyDown = (e) => {
3584
+ if (e.key === "Enter" || e.key === " ") {
3585
+ e.preventDefault();
3586
+ fileInputRef.current?.click();
3587
+ }
3588
+ };
3589
+ return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
3590
+ "input",
3591
+ {
3592
+ ref: fileInputRef,
3593
+ type: "file",
3594
+ "aria-hidden": "true",
3595
+ tabIndex: -1,
3596
+ disabled,
3597
+ accept,
3598
+ multiple,
3599
+ onChange: handleFileChange,
3600
+ style: { display: "none" }
3601
+ }
3602
+ ), /* @__PURE__ */ import_react21.default.createElement(ParentContainer, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react21.default.createElement(
3603
+ Field,
3604
+ {
3605
+ type: "text",
3606
+ readOnly: true,
3607
+ raw,
3608
+ sizing,
3609
+ variant,
3610
+ shape,
3611
+ error,
3612
+ disabled,
3613
+ value: fileName,
3614
+ onClick: (e) => {
3615
+ handleTriggerClick();
3616
+ restProps.onClick?.(e);
3617
+ },
3618
+ onKeyDown: (e) => {
3619
+ handleKeyDown(e);
3620
+ restProps.onKeyDown?.(e);
3621
+ },
3622
+ ...restProps
3623
+ }
3624
+ ), trigger && /* @__PURE__ */ import_react21.default.createElement(
3625
+ InnerWrapper,
3626
+ {
3627
+ "data-raw": Boolean(raw),
3628
+ "data-error": Boolean(error),
3629
+ "data-variant": variant,
3630
+ "data-shape": shape
3631
+ },
3632
+ /* @__PURE__ */ import_react21.default.createElement(
3633
+ InnerTrigger,
3634
+ {
3635
+ type: "button",
3636
+ "data-raw": Boolean(raw),
3637
+ "data-shape": shape,
3638
+ "data-error": Boolean(error),
3639
+ disabled,
3640
+ variant,
3641
+ onClick: handleTriggerClick,
3642
+ "aria-label": typeof trigger === "string" ? trigger : "file-upload-trigger"
3643
+ },
3644
+ trigger
3645
+ )
3646
+ )));
3647
+ };
3648
+ FieldFile.displayName = "Field.File";
3649
+ var FieldPassword = (props) => {
3650
+ const {
3651
+ raw,
3652
+ sizing = "medium" /* Medium */,
3653
+ variant = "secondary" /* Secondary */,
3654
+ shape = "smooth" /* Smooth */,
3655
+ error,
3656
+ disabled,
3657
+ defaultType,
3658
+ ...restProps
3659
+ } = props;
3660
+ const [type, setType] = import_react21.default.useState(
3661
+ defaultType ?? "password"
3662
+ );
3663
+ const handleChangeType = import_react21.default.useCallback(() => {
3664
+ if (type === "text") setType("password");
3665
+ if (type === "password") setType("text");
3666
+ }, [type, setType]);
3667
+ const ShowIcon = () => {
3668
+ return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement("path", { d: "M2.42 12.713c-.136-.215-.204-.323-.242-.49a1.173 1.173 0 0 1 0-.446c.038-.167.106-.274.242-.49C3.546 9.505 6.895 5 12 5s8.455 4.505 9.58 6.287c.137.215.205.323.243.49.029.125.029.322 0 .446-.038.167-.106.274-.242.49C20.455 14.495 17.105 19 12 19c-5.106 0-8.455-4.505-9.58-6.287Z" }), /* @__PURE__ */ import_react21.default.createElement("path", { d: "M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" }));
3669
+ };
3670
+ const HideIcon = () => {
3671
+ return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement("path", { d: "M10.743 5.092C11.149 5.032 11.569 5 12 5c5.105 0 8.455 4.505 9.58 6.287.137.215.205.323.243.49a1.16 1.16 0 0 1 0 .447c-.038.166-.107.274-.244.492-.3.474-.757 1.141-1.363 1.865M6.724 6.715c-2.162 1.467-3.63 3.504-4.303 4.57-.137.217-.205.325-.243.492a1.173 1.173 0 0 0 0 .446c.038.167.106.274.242.49C3.546 14.495 6.895 19 12 19c2.059 0 3.832-.732 5.289-1.723M3 3l18 18M9.88 9.879a3 3 0 1 0 4.243 4.243" }));
3672
+ };
3673
+ return /* @__PURE__ */ import_react21.default.createElement(ParentContainer, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react21.default.createElement(
3674
+ Field,
3675
+ {
3676
+ autoComplete: "off",
3677
+ type,
3678
+ raw,
3679
+ sizing,
3680
+ variant,
3681
+ shape,
3682
+ error,
3683
+ disabled,
3684
+ ...restProps
3685
+ }
3686
+ ), /* @__PURE__ */ import_react21.default.createElement(
3687
+ InnerWrapper,
3688
+ {
3689
+ "data-raw": Boolean(raw),
3690
+ "data-error": Boolean(error),
3691
+ "data-variant": variant,
3692
+ "data-shape": shape
3693
+ },
3694
+ /* @__PURE__ */ import_react21.default.createElement(
3695
+ InnerTrigger,
3696
+ {
3697
+ type: "button",
3698
+ "data-raw": Boolean(raw),
3699
+ "data-shape": shape,
3700
+ "data-error": Boolean(error),
3701
+ disabled,
3702
+ variant,
3703
+ onClick: handleChangeType,
3704
+ "aria-label": "password-field-trigger"
3705
+ },
3706
+ /* @__PURE__ */ import_react21.default.createElement(
3707
+ "svg",
3708
+ {
3709
+ viewBox: "0 0 24 24",
3710
+ width: "var(--fontsize-medium-10)",
3711
+ height: "var(--fontsize-medium-10)",
3712
+ stroke: "currentColor",
3713
+ "stroke-width": "2",
3714
+ fill: "none",
3715
+ "stroke-linecap": "round",
3716
+ "stroke-linejoin": "round",
3717
+ "aria-hidden": "true"
3718
+ },
3719
+ type === "password" ? /* @__PURE__ */ import_react21.default.createElement(ShowIcon, null) : /* @__PURE__ */ import_react21.default.createElement(HideIcon, null)
3720
+ )
3721
+ )
3722
+ ));
3723
+ };
3724
+ FieldPassword.displayName = "Field.Password";
3725
+ var FieldTag = (props) => {
3726
+ const {
3727
+ raw,
3728
+ sizing = "medium" /* Medium */,
3729
+ variant = "secondary" /* Secondary */,
3730
+ shape = "smooth" /* Smooth */,
3731
+ error,
3732
+ value,
3733
+ defaultValue,
3734
+ allowed,
3735
+ onChange,
3736
+ disabled = false,
3737
+ placeholder,
3738
+ id: idProp
3739
+ } = props;
3740
+ const { id: contextId } = useField();
3741
+ const id = idProp ?? contextId;
3742
+ const metaId = import_react21.default.useId();
3743
+ const isControlled = value !== void 0;
3744
+ const [internalTags, setInternalTags] = import_react21.default.useState(
3745
+ defaultValue ?? []
3746
+ );
3747
+ const [inputValue, setInputValue] = import_react21.default.useState("");
3748
+ const [focusedTagIndex, setFocusedTagIndex] = import_react21.default.useState(
3749
+ null
3750
+ );
3751
+ const inputRef = import_react21.default.useRef(null);
3752
+ const tagRefs = import_react21.default.useRef(/* @__PURE__ */ new Map());
3753
+ const tags = isControlled ? value : internalTags;
3754
+ const commitTags = import_react21.default.useCallback(
3755
+ (next) => {
3756
+ if (!isControlled) setInternalTags(next);
3757
+ onChange?.(next);
3758
+ },
3759
+ [isControlled, onChange]
3760
+ );
3761
+ const addTag = import_react21.default.useCallback(
3762
+ (label) => {
3763
+ const trimmed = label.trim();
3764
+ if (!trimmed) return;
3765
+ if (tags.some((t) => t.toLowerCase() === trimmed.toLowerCase())) {
3766
+ return;
3767
+ }
3768
+ if (!allowed?.some((a) => a.toLowerCase() === trimmed.toLowerCase())) {
3769
+ return;
3770
+ }
3771
+ commitTags([...tags, trimmed]);
3772
+ setInputValue("");
3773
+ },
3774
+ [tags, commitTags, allowed]
3775
+ );
3776
+ const removeTag = import_react21.default.useCallback(
3777
+ (index) => {
3778
+ const next = tags.filter((_, i) => i !== index);
3779
+ commitTags(next);
3780
+ setFocusedTagIndex(null);
3781
+ inputRef.current?.focus();
3782
+ },
3783
+ [tags, commitTags]
3784
+ );
3785
+ const handleInputKeyDown = (e) => {
3786
+ if (disabled) return;
3787
+ if (e.key === "Enter") {
3788
+ e.preventDefault();
3789
+ addTag(inputValue);
3790
+ return;
3791
+ }
3792
+ if ((e.key === "Backspace" || e.key === "Delete") && inputValue === "" && tags.length > 0) {
3793
+ e.preventDefault();
3794
+ const lastIndex = tags.length - 1;
3795
+ setFocusedTagIndex(lastIndex);
3796
+ tagRefs.current.get(lastIndex)?.focus();
3797
+ }
3798
+ };
3799
+ const handleTagKeyDown = (e, index) => {
3800
+ if (disabled) return;
3801
+ switch (e.key) {
3802
+ case "Backspace":
3803
+ case "Delete": {
3804
+ e.preventDefault();
3805
+ removeTag(index);
3806
+ break;
3807
+ }
3808
+ case "ArrowLeft": {
3809
+ e.preventDefault();
3810
+ if (index > 0) {
3811
+ const prev = index - 1;
3812
+ setFocusedTagIndex(prev);
3813
+ tagRefs.current.get(prev)?.focus();
3814
+ }
3815
+ break;
3816
+ }
3817
+ case "ArrowRight": {
3818
+ e.preventDefault();
3819
+ if (index < tags.length - 1) {
3820
+ const next = index + 1;
3821
+ setFocusedTagIndex(next);
3822
+ tagRefs.current.get(next)?.focus();
3823
+ } else {
3824
+ setFocusedTagIndex(null);
3825
+ inputRef.current?.focus();
3826
+ }
3827
+ break;
3828
+ }
3829
+ case "Escape": {
3830
+ e.preventDefault();
3831
+ setFocusedTagIndex(null);
3832
+ inputRef.current?.focus();
3833
+ break;
3834
+ }
3835
+ }
3836
+ };
3837
+ const handleWrapperClick = (e) => {
3838
+ const target = e.target;
3839
+ if (!target.closest("[data-tag]")) {
3840
+ inputRef.current?.focus();
3841
+ }
3842
+ };
3843
+ import_react21.default.useEffect(() => {
3844
+ if (isControlled && value) setInternalTags(value);
3845
+ }, [isControlled, value]);
3846
+ return /* @__PURE__ */ import_react21.default.createElement(
3847
+ ParentWrapper,
3848
+ {
3849
+ id,
3850
+ role: "group",
3851
+ "aria-invalid": !!error,
3852
+ "aria-describedby": metaId,
3853
+ "data-error": Boolean(error),
3854
+ "data-variant": variant,
3855
+ "data-size": sizing,
3856
+ "data-shape": shape,
3857
+ "data-raw": Boolean(raw),
3858
+ "data-disabled": disabled,
3859
+ "data-wrap": "true",
3860
+ onClick: handleWrapperClick
2386
3861
  },
2387
- children
3862
+ tags.map((tag, index) => /* @__PURE__ */ import_react21.default.createElement(
3863
+ InnerSegment,
3864
+ {
3865
+ key: `${tag}-${index}`,
3866
+ ref: (el) => tagRefs.current.set(index, el),
3867
+ role: "option",
3868
+ "aria-label": tag,
3869
+ "aria-selected": focusedTagIndex === index,
3870
+ tabIndex: disabled ? -1 : -1,
3871
+ "data-raw": Boolean(raw),
3872
+ "data-focused": focusedTagIndex === index,
3873
+ "data-tag": "true",
3874
+ onFocus: () => setFocusedTagIndex(index),
3875
+ onBlur: () => setFocusedTagIndex(null),
3876
+ onKeyDown: (e) => handleTagKeyDown(e, index)
3877
+ },
3878
+ /* @__PURE__ */ import_react21.default.createElement(Badge, { sizing: "small", variant: "border" }, tag, !disabled && /* @__PURE__ */ import_react21.default.createElement(
3879
+ Button,
3880
+ {
3881
+ variant: "ghost",
3882
+ sizing: "small",
3883
+ "aria-label": `Remove ${tag}`,
3884
+ "data-tag": "true",
3885
+ className: "m-l-small-60 ",
3886
+ onClick: (e) => {
3887
+ e.stopPropagation();
3888
+ removeTag(index);
3889
+ }
3890
+ },
3891
+ "\xD7"
3892
+ ))
3893
+ )),
3894
+ /* @__PURE__ */ import_react21.default.createElement(
3895
+ HiddenInput,
3896
+ {
3897
+ ref: inputRef,
3898
+ type: "text",
3899
+ value: inputValue,
3900
+ disabled,
3901
+ placeholder: tags.length === 0 ? placeholder : void 0,
3902
+ onChange: (e) => setInputValue(e.target.value),
3903
+ onKeyDown: handleInputKeyDown
3904
+ }
3905
+ )
2388
3906
  );
2389
3907
  };
2390
- FieldMeta.displayName = "Field.Meta";
3908
+ FieldTag.displayName = "Field.Tag";
2391
3909
  Field.Root = FieldRoot;
2392
3910
  Field.Wrapper = FieldWrapper;
2393
3911
  Field.Label = FieldLabel;
2394
3912
  Field.Meta = FieldMeta;
3913
+ Field.Number = FieldNumber;
3914
+ Field.Date = FieldDate;
3915
+ Field.File = FieldFile;
3916
+ Field.Password = FieldPassword;
3917
+ Field.Tag = FieldTag;
2395
3918
 
2396
3919
  // src/message-bubble/index.tsx
2397
3920
  var import_react23 = __toESM(require("react"));
@@ -2446,26 +3969,23 @@ var MessageBubbleBadge = (0, import_styled_components11.default)(Badge)`
2446
3969
  width: 100%;
2447
3970
  justify-self: flex-end;
2448
3971
  padding: var(--measurement-medium-30) var(--measurement-medium-50) !important;
2449
- border-radius: var(--measurement-medium-60) !important;
2450
3972
 
2451
3973
  &[data-side="left"] {
2452
- background-color: var(--contrast-color) !important;
2453
- border-bottom-left-radius: 0 !important;
3974
+ border-top-left-radius: 0 !important;
2454
3975
  }
2455
3976
 
2456
3977
  &[data-side="right"] {
2457
- background-color: var(--font-color-alpha-10) !important;
2458
- border-bottom-right-radius: 0 !important;
3978
+ border-top-right-radius: 0 !important;
2459
3979
  }
2460
3980
  `;
2461
3981
  var MessageBubbleContentWrapper = import_styled_components11.default.div`
2462
- line-height: 1.5;
3982
+ line-height: 1.3;
2463
3983
  font-weight: 500;
2464
3984
  word-break: keep-all;
2465
3985
  width: 100%;
2466
3986
 
2467
3987
  * {
2468
- font-size: var(--fontsize-medium-10) !important;
3988
+ font-size: inherit !important;
2469
3989
  }
2470
3990
  `;
2471
3991
  var MessageBubbleMetaWrapper = import_styled_components11.default.div`
@@ -2507,14 +4027,16 @@ var MessageBubble = (props) => {
2507
4027
  };
2508
4028
  MessageBubble.displayName = "MessageBubble";
2509
4029
  var MessageBubbleContent = (props) => {
2510
- const { children, raw, ...restProps } = props;
4030
+ const { sizing, shape, variant, children, raw, ...restProps } = props;
2511
4031
  const { id, states } = useMessageBubble();
2512
4032
  return /* @__PURE__ */ import_react23.default.createElement(
2513
4033
  MessageBubbleBadge,
2514
4034
  {
2515
- variant: "secondary",
2516
4035
  "data-raw": Boolean(raw),
2517
4036
  "data-side": states?.side,
4037
+ variant: variant ?? "border" /* Border */,
4038
+ shape: shape ?? "smooth" /* Smooth */,
4039
+ sizing: sizing ?? "medium" /* Medium */,
2518
4040
  "aria-label": `message-bubble-content-${id}`,
2519
4041
  ...restProps
2520
4042
  },
@@ -2535,6 +4057,7 @@ var MessageBubbleMeta = (props) => {
2535
4057
  "data-raw": Boolean(raw),
2536
4058
  "data-side": states?.side,
2537
4059
  "aria-label": `message-bubble-meta-${states?.side}`,
4060
+ className: "fs-small-60 opacity-default-60",
2538
4061
  ...restProps
2539
4062
  },
2540
4063
  formattedDate
@@ -2561,35 +4084,131 @@ var useOTPField = () => {
2561
4084
 
2562
4085
  // src/otp-field/styles/index.ts
2563
4086
  var import_styled_components12 = __toESM(require("styled-components"));
2564
- var OTPCell = import_styled_components12.default.input`
4087
+ var OTPShapeStyles = import_styled_components12.css`
4088
+ &[data-shape="square"] {
4089
+ border-radius: 0;
4090
+ }
4091
+ &[data-shape="smooth"] {
4092
+ border-radius: var(--measurement-medium-20);
4093
+ }
4094
+ &[data-shape="round"] {
4095
+ border-radius: var(--measurement-large-90);
4096
+ padding-left: var(--measurement-medium-50) !important;
4097
+ }
4098
+ `;
4099
+ var OTPCellDefaultStyles = import_styled_components12.css`
4100
+ outline: none;
4101
+ cursor: text;
4102
+ display: flex;
4103
+ align-items: center;
4104
+ justify-content: center;
4105
+ text-align: center;
4106
+ box-sizing: border-box;
4107
+
4108
+ font-size: var(--fontsize-medium-20);
4109
+
4110
+ padding: 0 var(--measurement-medium-30);
2565
4111
  width: var(--measurement-medium-90);
2566
4112
  height: var(--measurement-medium-90);
2567
- border: var(--measurement-small-10) solid var(--font-color-alpha-10);
2568
4113
 
2569
- border-radius: var(--measurement-medium-30);
4114
+ line-height: 1;
4115
+ letter-spacing: calc(
4116
+ var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
4117
+ );
4118
+
4119
+ border: var(--measurement-small-10) solid transparent;
4120
+
2570
4121
  backdrop-filter: blur(var(--measurement-small-10));
4122
+ color: var(--font-color-alpha-60);
2571
4123
 
2572
- text-align: center;
2573
- font-size: var(--fontsize-medium-10);
2574
- font-weight: 500;
4124
+ transition: all ease-in-out 0.2s;
4125
+
4126
+ svg,
4127
+ span,
4128
+ img {
4129
+ opacity: 0.6;
4130
+ }
4131
+
4132
+ &:hover,
4133
+ &:focus,
4134
+ &:active,
4135
+ &:focus-within,
4136
+ &:has(:active) {
4137
+ color: var(--font-color);
4138
+ svg,
4139
+ span,
4140
+ img {
4141
+ opacity: 1;
4142
+ }
4143
+ }
4144
+
4145
+ &::placeholder {
4146
+ color: var(--font-color-alpha-30);
4147
+ }
2575
4148
 
2576
- color: var(--font-color-alpha-10);
2577
- text-shadow: 0 0 0 var(--font-color);
4149
+ &:disabled,
4150
+ &:has(:disabled) {
4151
+ cursor: not-allowed;
4152
+ opacity: 0.6;
4153
+ }
2578
4154
 
2579
4155
  background-color: transparent;
2580
- transition: all 0.2s ease-in-out;
2581
- outline: none;
4156
+ border-color: var(--font-color-alpha-10);
2582
4157
 
2583
- &:focus:not(:active) {
2584
- background-color: var(--font-color-alpha-10);
4158
+ &:hover,
4159
+ &:focus,
4160
+ &:active,
4161
+ &:focus-within,
4162
+ &:has(:hover),
4163
+ &:has(:active) {
4164
+ border-color: var(--font-color-alpha-20);
4165
+ }
4166
+
4167
+ &:focus,
4168
+ &:active,
4169
+ &:focus-within,
4170
+ &:has(:active) {
4171
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-accent-30);
2585
4172
  }
2586
4173
 
2587
- &:hover:not(:active) {
4174
+ background-color: transparent;
4175
+ border-color: var(--font-color-alpha-10);
4176
+
4177
+ &:hover,
4178
+ &:focus,
4179
+ &:active,
4180
+ &:focus-within,
4181
+ &:has(:hover),
4182
+ &:has(:active) {
2588
4183
  border-color: var(--font-color-alpha-20);
2589
4184
  }
2590
4185
 
2591
- &::placeholder {
2592
- opacity: var(--opacity-default-10);
4186
+ &:focus,
4187
+ &:active,
4188
+ &:focus-within,
4189
+ &:has(:active) {
4190
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
4191
+ }
4192
+
4193
+ &[data-error="true"] {
4194
+ color: var(--color-red);
4195
+ border-color: var(--alpha-red-10);
4196
+
4197
+ &:hover,
4198
+ &:focus,
4199
+ &:active,
4200
+ &:focus-within,
4201
+ &:has(:hover),
4202
+ &:has(:active) {
4203
+ background-color: var(--alpha-red-10);
4204
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
4205
+ }
4206
+ }
4207
+ `;
4208
+ var OTPCell = import_styled_components12.default.input`
4209
+ &[data-raw="false"] {
4210
+ ${OTPCellDefaultStyles}
4211
+ ${OTPShapeStyles}
2593
4212
  }
2594
4213
  `;
2595
4214
 
@@ -2699,6 +4318,8 @@ var OTPFieldGroup = import_react25.default.forwardRef(({ ...props }, ref) => {
2699
4318
  OTPFieldGroup.displayName = "OTPField.Group";
2700
4319
  var OTPFieldSlot = ({
2701
4320
  index,
4321
+ shape,
4322
+ raw,
2702
4323
  ...props
2703
4324
  }) => {
2704
4325
  const context = useOTPField();
@@ -2722,6 +4343,8 @@ var OTPFieldSlot = ({
2722
4343
  type: "text",
2723
4344
  "data-testid": "otp-field-slot",
2724
4345
  "data-active": activeIndex === index,
4346
+ "data-shape": shape ?? "smooth" /* Smooth */,
4347
+ "data-raw": Boolean(raw),
2725
4348
  autoComplete: "one-time-code",
2726
4349
  maxLength: 1,
2727
4350
  value: otp[index] || "",
@@ -2764,6 +4387,7 @@ var OverlayWrapper = import_styled_components13.default.div`
2764
4387
 
2765
4388
  &[data-raw="false"] {
2766
4389
  background-color: rgba(0, 0, 0, 0.6); // Always forced to black
4390
+
2767
4391
  animation-duration: 0.2s;
2768
4392
  animation-name: animate-fade;
2769
4393
  animation-fill-mode: backwards;
@@ -3056,55 +4680,19 @@ var Portal = (props) => {
3056
4680
  };
3057
4681
  Portal.displayName = "Portal";
3058
4682
 
3059
- // src/privacy-field/index.tsx
3060
- var import_react29 = __toESM(require("react"));
3061
-
3062
- // src/privacy-field/styles/index.ts
3063
- var import_styled_components16 = __toESM(require("styled-components"));
3064
- var Wrapper = (0, import_styled_components16.default)(Field.Wrapper)`
3065
- position: relative;
3066
-
3067
- input {
3068
- width: 100% !important;
3069
- }
3070
- `;
3071
- var Trigger = (0, import_styled_components16.default)(Button)`
3072
- position: absolute !important;
3073
- right: var(--measurement-medium-50);
3074
- top: calc(var(--measurement-medium-50));
3075
- `;
3076
-
3077
- // src/privacy-field/index.tsx
3078
- var PrivacyField = ({
3079
- defaultType,
3080
- textIcon,
3081
- passwordIcon,
3082
- ...restProps
3083
- }) => {
3084
- const [type, setType] = import_react29.default.useState(
3085
- defaultType ?? "password"
3086
- );
3087
- const handleChangeType = import_react29.default.useCallback(() => {
3088
- if (type === "text") setType("password");
3089
- if (type === "password") setType("text");
3090
- }, [type, setType]);
3091
- return /* @__PURE__ */ import_react29.default.createElement(Wrapper, { className: "flex" }, /* @__PURE__ */ import_react29.default.createElement(Field, { autoComplete: "off", type, ...restProps }), /* @__PURE__ */ import_react29.default.createElement(Trigger, { variant: "ghost", sizing: "small", onClick: handleChangeType }, type === "text" && textIcon, type === "password" && passwordIcon));
3092
- };
3093
- PrivacyField.displayName = "PrivacyField";
3094
-
3095
4683
  // src/resizable/index.tsx
3096
- var import_react30 = __toESM(require("react"));
4684
+ var import_react29 = __toESM(require("react"));
3097
4685
 
3098
4686
  // src/resizable/styles/index.ts
3099
- var import_styled_components17 = __toESM(require("styled-components"));
3100
- var SplitContainer = import_styled_components17.default.div`
4687
+ var import_styled_components16 = __toESM(require("styled-components"));
4688
+ var SplitContainer = import_styled_components16.default.div`
3101
4689
  position: relative;
3102
4690
  `;
3103
- var Panel = import_styled_components17.default.div`
4691
+ var Panel = import_styled_components16.default.div`
3104
4692
  overflow: hidden;
3105
4693
  width: ${(props) => props.width}%;
3106
4694
  `;
3107
- var Divider2 = import_styled_components17.default.div`
4695
+ var Divider2 = import_styled_components16.default.div`
3108
4696
  width: var(--measurement-medium-10);
3109
4697
  height: 100%;
3110
4698
  top: 0;
@@ -3128,14 +4716,14 @@ var Divider2 = import_styled_components17.default.div`
3128
4716
  height: ${(props) => props.$dragging ? "var(--measurement-large-10)" : "var(--measurement-medium-60)"};
3129
4717
  }
3130
4718
  `;
3131
- var DragHandle = import_styled_components17.default.div`
4719
+ var DragHandle = import_styled_components16.default.div`
3132
4720
  position: absolute;
3133
4721
  top: 0;
3134
4722
  bottom: 0;
3135
4723
  left: calc(var(--measurement-medium-10) * -1);
3136
4724
  right: calc(var(--measurement-medium-10) * -1);
3137
4725
  `;
3138
- var DragIndicator = import_styled_components17.default.div`
4726
+ var DragIndicator = import_styled_components16.default.div`
3139
4727
  position: fixed;
3140
4728
  width: var(--measurement-medium-10);
3141
4729
  /* height: var(--measurement-medium-60); */
@@ -3145,7 +4733,7 @@ var DragIndicator = import_styled_components17.default.div`
3145
4733
  opacity: 0;
3146
4734
  transition: all 0.2s;
3147
4735
  `;
3148
- var DragOverlay = import_styled_components17.default.div`
4736
+ var DragOverlay = import_styled_components16.default.div`
3149
4737
  position: fixed;
3150
4738
  top: 0;
3151
4739
  left: 0;
@@ -3161,12 +4749,12 @@ var Resizable = ({
3161
4749
  left,
3162
4750
  right
3163
4751
  }) => {
3164
- const containerRef = import_react30.default.useRef(null);
3165
- const [leftWidth, setLeftWidth] = import_react30.default.useState(defaultWidth ?? 50);
3166
- const [isDragging, setIsDragging] = import_react30.default.useState(false);
3167
- const handleMouseDown = import_react30.default.useCallback(() => setIsDragging(true), []);
3168
- const handleMouseUp = import_react30.default.useCallback(() => setIsDragging(false), []);
3169
- const handleMouseMove = import_react30.default.useCallback(
4752
+ const containerRef = import_react29.default.useRef(null);
4753
+ const [leftWidth, setLeftWidth] = import_react29.default.useState(defaultWidth ?? 50);
4754
+ const [isDragging, setIsDragging] = import_react29.default.useState(false);
4755
+ const handleMouseDown = import_react29.default.useCallback(() => setIsDragging(true), []);
4756
+ const handleMouseUp = import_react29.default.useCallback(() => setIsDragging(false), []);
4757
+ const handleMouseMove = import_react29.default.useCallback(
3170
4758
  (e) => {
3171
4759
  if (!isDragging || !containerRef.current) return;
3172
4760
  const containerRect = containerRef.current.getBoundingClientRect();
@@ -3180,7 +4768,7 @@ var Resizable = ({
3180
4768
  },
3181
4769
  [isDragging]
3182
4770
  );
3183
- import_react30.default.useEffect(() => {
4771
+ import_react29.default.useEffect(() => {
3184
4772
  if (isDragging) {
3185
4773
  document.addEventListener("mousemove", handleMouseMove);
3186
4774
  document.addEventListener("mouseup", handleMouseUp);
@@ -3199,47 +4787,47 @@ var Resizable = ({
3199
4787
  document.body.style.userSelect = "";
3200
4788
  };
3201
4789
  }, [isDragging, handleMouseMove, handleMouseUp]);
3202
- return /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(SplitContainer, { ref: containerRef, className: "h-100 flex" }, /* @__PURE__ */ import_react30.default.createElement(Panel, { width: leftWidth }, left), /* @__PURE__ */ import_react30.default.createElement(
4790
+ return /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(SplitContainer, { ref: containerRef, className: "h-100 flex" }, /* @__PURE__ */ import_react29.default.createElement(Panel, { width: leftWidth }, left), /* @__PURE__ */ import_react29.default.createElement(
3203
4791
  Divider2,
3204
4792
  {
3205
4793
  $dragging: isDragging,
3206
4794
  onMouseDown: handleMouseDown,
3207
4795
  onTouchStart: handleMouseDown
3208
4796
  },
3209
- /* @__PURE__ */ import_react30.default.createElement(
4797
+ /* @__PURE__ */ import_react29.default.createElement(
3210
4798
  DragHandle,
3211
4799
  {
3212
4800
  className: "flex align-center justify-center",
3213
4801
  id: "drag-handle"
3214
4802
  },
3215
- /* @__PURE__ */ import_react30.default.createElement(DragIndicator, { className: "drag-indicator-handle" })
4803
+ /* @__PURE__ */ import_react29.default.createElement(DragIndicator, { className: "drag-indicator-handle" })
3216
4804
  )
3217
- ), /* @__PURE__ */ import_react30.default.createElement(Panel, { width: 100 - leftWidth }, right)), isDragging && /* @__PURE__ */ import_react30.default.createElement(DragOverlay, null));
4805
+ ), /* @__PURE__ */ import_react29.default.createElement(Panel, { width: 100 - leftWidth }, right)), isDragging && /* @__PURE__ */ import_react29.default.createElement(DragOverlay, null));
3218
4806
  };
3219
4807
  Resizable.displayName = "Resizable";
3220
4808
 
3221
4809
  // src/sheet/index.tsx
3222
- var import_react32 = __toESM(require("react"));
4810
+ var import_react31 = __toESM(require("react"));
3223
4811
 
3224
4812
  // src/sheet/hooks/index.tsx
3225
- var import_react31 = __toESM(require("react"));
3226
- var SheetContext = import_react31.default.createContext({
4813
+ var import_react30 = __toESM(require("react"));
4814
+ var SheetContext = import_react30.default.createContext({
3227
4815
  id: {},
3228
4816
  states: {},
3229
4817
  methods: {}
3230
4818
  });
3231
- var useSheet = () => import_react31.default.useContext(SheetContext);
4819
+ var useSheet = () => import_react30.default.useContext(SheetContext);
3232
4820
  var SheetProvider = ({
3233
4821
  children
3234
4822
  }) => {
3235
4823
  const context = useSheetProvider();
3236
- return /* @__PURE__ */ import_react31.default.createElement(SheetContext.Provider, { value: context }, children);
4824
+ return /* @__PURE__ */ import_react30.default.createElement(SheetContext.Provider, { value: context }, children);
3237
4825
  };
3238
4826
  function useSheetProvider() {
3239
- const containerId = import_react31.default.useId();
3240
- const triggerId = import_react31.default.useId();
3241
- const controlId = import_react31.default.useId();
3242
- const [open, setOpen] = import_react31.default.useState(false);
4827
+ const containerId = import_react30.default.useId();
4828
+ const triggerId = import_react30.default.useId();
4829
+ const controlId = import_react30.default.useId();
4830
+ const [open, setOpen] = import_react30.default.useState(false);
3243
4831
  return {
3244
4832
  id: {
3245
4833
  containerId,
@@ -3257,8 +4845,8 @@ function useSheetProvider() {
3257
4845
  }
3258
4846
 
3259
4847
  // src/sheet/styles/index.ts
3260
- var import_styled_components18 = __toESM(require("styled-components"));
3261
- var SheetStyles = import_styled_components18.css`
4848
+ var import_styled_components17 = __toESM(require("styled-components"));
4849
+ var SheetStyles = import_styled_components17.css`
3262
4850
  all: unset;
3263
4851
  position: fixed;
3264
4852
  background-color: var(--body-color);
@@ -3289,7 +4877,7 @@ var SheetStyles = import_styled_components18.css`
3289
4877
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
3290
4878
  animation-fill-mode: backwards;
3291
4879
  `;
3292
- var SheetSizeStyles = import_styled_components18.css`
4880
+ var SheetSizeStyles = import_styled_components17.css`
3293
4881
  &[data-size="small"] {
3294
4882
  width: var(--measurement-large-80);
3295
4883
  }
@@ -3302,7 +4890,7 @@ var SheetSizeStyles = import_styled_components18.css`
3302
4890
  width: calc(var(--measurement-large-90) * 1.5);
3303
4891
  }
3304
4892
  `;
3305
- var SheetSideStyles = import_styled_components18.css`
4893
+ var SheetSideStyles = import_styled_components17.css`
3306
4894
  top: 0;
3307
4895
 
3308
4896
  &[data-side="right"] {
@@ -3317,7 +4905,7 @@ var SheetSideStyles = import_styled_components18.css`
3317
4905
  animation-name: slide-left;
3318
4906
  }
3319
4907
  `;
3320
- var SheetWrapper = import_styled_components18.default.dialog`
4908
+ var SheetWrapper = import_styled_components17.default.dialog`
3321
4909
  &[data-raw="false"] {
3322
4910
  ${SheetStyles}
3323
4911
  ${SheetSideStyles}
@@ -3327,7 +4915,7 @@ var SheetWrapper = import_styled_components18.default.dialog`
3327
4915
 
3328
4916
  // src/sheet/index.tsx
3329
4917
  var SheetRoot = ({ children }) => {
3330
- return /* @__PURE__ */ import_react32.default.createElement(SheetProvider, null, children);
4918
+ return /* @__PURE__ */ import_react31.default.createElement(SheetProvider, null, children);
3331
4919
  };
3332
4920
  SheetRoot.displayName = "Sheet.Root";
3333
4921
  var Sheet = (props) => {
@@ -3348,16 +4936,16 @@ var Sheet = (props) => {
3348
4936
  const { id, states, methods } = useSheet();
3349
4937
  const { toggle } = methods;
3350
4938
  const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
3351
- import_react32.default.useEffect(() => {
4939
+ import_react31.default.useEffect(() => {
3352
4940
  if (open && toggle) return toggle();
3353
4941
  }, [open]);
3354
- import_react32.default.useEffect(() => {
4942
+ import_react31.default.useEffect(() => {
3355
4943
  if (shortcut && shortcutControls && toggle) {
3356
4944
  return toggle();
3357
4945
  }
3358
4946
  }, [shortcutControls]);
3359
4947
  useDisabledScroll(lock && Boolean(states.open));
3360
- return /* @__PURE__ */ import_react32.default.createElement(import_react32.default.Fragment, null, states.open && /* @__PURE__ */ import_react32.default.createElement(import_react32.default.Fragment, null, /* @__PURE__ */ import_react32.default.createElement(
4948
+ return /* @__PURE__ */ import_react31.default.createElement(import_react31.default.Fragment, null, states.open && /* @__PURE__ */ import_react31.default.createElement(import_react31.default.Fragment, null, /* @__PURE__ */ import_react31.default.createElement(
3361
4949
  SheetWrapper,
3362
4950
  {
3363
4951
  role: "dialog",
@@ -3374,7 +4962,7 @@ var Sheet = (props) => {
3374
4962
  ...restProps
3375
4963
  },
3376
4964
  children
3377
- ), overlay && /* @__PURE__ */ import_react32.default.createElement(
4965
+ ), overlay && /* @__PURE__ */ import_react31.default.createElement(
3378
4966
  Overlay,
3379
4967
  {
3380
4968
  onClick: () => toggle && toggle(!states.open),
@@ -3400,7 +4988,7 @@ var SheetTrigger = (props) => {
3400
4988
  if (onClick) onClick(event);
3401
4989
  if (toggle) toggle(!states.open);
3402
4990
  };
3403
- return /* @__PURE__ */ import_react32.default.createElement(
4991
+ return /* @__PURE__ */ import_react31.default.createElement(
3404
4992
  Button,
3405
4993
  {
3406
4994
  id: id.triggerId,
@@ -3420,11 +5008,11 @@ Sheet.Root = SheetRoot;
3420
5008
  Sheet.Trigger = SheetTrigger;
3421
5009
 
3422
5010
  // src/shimmer/index.tsx
3423
- var import_react33 = __toESM(require("react"));
5011
+ var import_react32 = __toESM(require("react"));
3424
5012
 
3425
5013
  // src/shimmer/styles/index.ts
3426
- var import_styled_components19 = __toESM(require("styled-components"));
3427
- var shimmer = import_styled_components19.keyframes`
5014
+ var import_styled_components18 = __toESM(require("styled-components"));
5015
+ var shimmer = import_styled_components18.keyframes`
3428
5016
  0% {
3429
5017
  background-position: 200% center;
3430
5018
  }
@@ -3432,7 +5020,7 @@ var shimmer = import_styled_components19.keyframes`
3432
5020
  background-position: -200% center;
3433
5021
  }
3434
5022
  `;
3435
- var TextShimmerWrapper = import_styled_components19.default.span`
5023
+ var TextShimmerWrapper = import_styled_components18.default.span`
3436
5024
  background: linear-gradient(
3437
5025
  90deg,
3438
5026
  ${({ "data-base-color": baseColor }) => baseColor} 0%,
@@ -3465,7 +5053,7 @@ var Shimmer = (props) => {
3465
5053
  baseColor = DEFAULT_BASE_COLOR,
3466
5054
  ...restProps
3467
5055
  } = props;
3468
- return /* @__PURE__ */ import_react33.default.createElement(
5056
+ return /* @__PURE__ */ import_react32.default.createElement(
3469
5057
  TextShimmerWrapper,
3470
5058
  {
3471
5059
  "data-raw": Boolean(raw),
@@ -3482,13 +5070,13 @@ var Shimmer = (props) => {
3482
5070
  Shimmer.displayName = "Shimmer";
3483
5071
 
3484
5072
  // src/scrollarea/index.tsx
3485
- var import_react34 = __toESM(require("react"));
5073
+ var import_react33 = __toESM(require("react"));
3486
5074
  var ScrollArea = ({
3487
5075
  scrollbar = false,
3488
5076
  children,
3489
5077
  ...restProps
3490
5078
  }) => {
3491
- return /* @__PURE__ */ import_react34.default.createElement(
5079
+ return /* @__PURE__ */ import_react33.default.createElement(
3492
5080
  ScrollAreaWrapper,
3493
5081
  {
3494
5082
  "aria-hidden": "true",
@@ -3500,59 +5088,84 @@ var ScrollArea = ({
3500
5088
  };
3501
5089
 
3502
5090
  // src/spinner/index.tsx
3503
- var import_react35 = __toESM(require("react"));
5091
+ var import_react34 = __toESM(require("react"));
3504
5092
 
3505
5093
  // src/spinner/styles/index.ts
3506
- var import_styled_components20 = __toESM(require("styled-components"));
3507
- var Rotate = import_styled_components20.keyframes`
3508
- 0% {
3509
- transform: rotate(0deg);
3510
- }
3511
- 100% {
3512
- transform: rotate(360deg);
3513
- }
5094
+ var import_styled_components19 = __toESM(require("styled-components"));
5095
+ var Rotate = import_styled_components19.keyframes`
5096
+ 0% { transform: rotate(0deg); }
5097
+ 100% { transform: rotate(360deg); }
3514
5098
  `;
3515
- var FieldSizeStyles2 = import_styled_components20.css`
5099
+ var SpinnerSizeStyles = import_styled_components19.css`
3516
5100
  &[data-size="small"] {
3517
- width: var(--measurement-medium-40);
3518
- height: var(--measurement-medium-40);
5101
+ width: 12px;
5102
+ height: 12px;
3519
5103
  }
3520
5104
  &[data-size="medium"] {
3521
- width: var(--measurement-medium-50);
3522
- height: var(--measurement-medium-50);
5105
+ width: 18px;
5106
+ height: 18px;
3523
5107
  }
3524
5108
  &[data-size="large"] {
3525
- width: var(--measurement-medium-60);
3526
- height: var(--measurement-medium-60);
5109
+ width: 24px;
5110
+ height: 24px;
3527
5111
  }
3528
5112
  `;
3529
- var RotatingSpinner = import_styled_components20.default.span`
3530
- padding: 0;
3531
- margin: 0;
3532
-
3533
- display: inline-block;
3534
- box-sizing: border-box;
5113
+ var CircleStyles = import_styled_components19.css`
5114
+ border: var(--measurement-small-80) solid var(--font-color-alpha-10);
5115
+ border-bottom-color: transparent;
5116
+ border-radius: var(--measurement-large-90);
3535
5117
 
5118
+ animation: ${Rotate} 0.8s linear infinite;
5119
+ `;
5120
+ var CircleFilledStyles = import_styled_components19.css`
3536
5121
  border: var(--measurement-small-60) solid var(--font-color-alpha-30);
5122
+
5123
+ border-top-color: transparent;
5124
+ border-right-color: transparent;
3537
5125
  border-bottom-color: transparent;
5126
+
3538
5127
  border-radius: var(--measurement-large-90);
5128
+ background-color: var(--font-color-alpha-10);
5129
+
5130
+ &::before {
5131
+ position: absolute;
5132
+ content: "";
5133
+ width: 100%;
5134
+ height: 100%;
5135
+ background-color: var(--body-color);
5136
+ border-radius: var(--measurement-large-90);
5137
+ }
3539
5138
 
3540
- animation: ${Rotate} 1s linear infinite;
5139
+ animation: ${Rotate} 0.8s linear infinite;
5140
+ `;
5141
+ var AnimatedSpinner = import_styled_components19.default.div`
5142
+ ${SpinnerSizeStyles}
3541
5143
 
3542
- ${FieldSizeStyles2}
5144
+ &[data-variant="circle"] {
5145
+ ${CircleStyles}
5146
+ }
5147
+ &[data-variant="circle-filled"] {
5148
+ ${CircleFilledStyles}
5149
+ }
3543
5150
  `;
3544
5151
 
3545
5152
  // src/spinner/index.tsx
3546
5153
  var Spinner = (props) => {
3547
- return /* @__PURE__ */ import_react35.default.createElement(RotatingSpinner, { "data-size": props.sizing ?? "medium" });
5154
+ return /* @__PURE__ */ import_react34.default.createElement(
5155
+ AnimatedSpinner,
5156
+ {
5157
+ "data-variant": props?.variant ?? "circle",
5158
+ "data-size": props?.sizing ?? "medium"
5159
+ }
5160
+ );
3548
5161
  };
3549
5162
 
3550
5163
  // src/skeleton/index.tsx
3551
- var import_react36 = __toESM(require("react"));
5164
+ var import_react35 = __toESM(require("react"));
3552
5165
 
3553
5166
  // src/skeleton/styles/index.ts
3554
- var import_styled_components21 = __toESM(require("styled-components"));
3555
- var SkeletonBlink = import_styled_components21.keyframes`
5167
+ var import_styled_components20 = __toESM(require("styled-components"));
5168
+ var SkeletonBlink = import_styled_components20.keyframes`
3556
5169
  0% {
3557
5170
  opacity: 0.3;
3558
5171
  }
@@ -3560,7 +5173,7 @@ var SkeletonBlink = import_styled_components21.keyframes`
3560
5173
  opacity: 0.1;
3561
5174
  }
3562
5175
  `;
3563
- var SkeletonBaseStyles = import_styled_components21.css`
5176
+ var SkeletonBaseStyles = import_styled_components20.css`
3564
5177
  background: linear-gradient(
3565
5178
  45deg,
3566
5179
  var(--font-color-alpha-10),
@@ -3568,7 +5181,7 @@ var SkeletonBaseStyles = import_styled_components21.css`
3568
5181
  );
3569
5182
  animation: ${SkeletonBlink} 1s ease-in-out alternate-reverse infinite;
3570
5183
  `;
3571
- var SkeletonSizeStyles = import_styled_components21.css`
5184
+ var SkeletonSizeStyles = import_styled_components20.css`
3572
5185
  &[data-size="small"] {
3573
5186
  width: 100%;
3574
5187
 
@@ -3586,7 +5199,7 @@ var SkeletonSizeStyles = import_styled_components21.css`
3586
5199
  min-height: var(--measurement-medium-90);
3587
5200
  }
3588
5201
  `;
3589
- var SkeletonShapeStyles = import_styled_components21.css`
5202
+ var SkeletonShapeStyles = import_styled_components20.css`
3590
5203
  &[data-shape="square"] {
3591
5204
  border-radius: 0;
3592
5205
  }
@@ -3597,7 +5210,7 @@ var SkeletonShapeStyles = import_styled_components21.css`
3597
5210
  border-radius: var(--measurement-large-90);
3598
5211
  }
3599
5212
  `;
3600
- var SkeletonLoader = import_styled_components21.default.span`
5213
+ var SkeletonLoader = import_styled_components20.default.span`
3601
5214
  ${SkeletonBaseStyles}
3602
5215
  ${SkeletonSizeStyles}
3603
5216
  ${SkeletonShapeStyles}
@@ -3607,10 +5220,10 @@ var SkeletonLoader = import_styled_components21.default.span`
3607
5220
  var Skeleton = (props) => {
3608
5221
  const {
3609
5222
  sizing = "medium" /* Medium */,
3610
- shape = "smooth",
5223
+ shape = "smooth" /* Smooth */,
3611
5224
  ...restProps
3612
5225
  } = props;
3613
- return /* @__PURE__ */ import_react36.default.createElement(
5226
+ return /* @__PURE__ */ import_react35.default.createElement(
3614
5227
  SkeletonLoader,
3615
5228
  {
3616
5229
  "data-size": sizing,
@@ -3623,26 +5236,26 @@ var Skeleton = (props) => {
3623
5236
  Skeleton.displayName = "Skeleton";
3624
5237
 
3625
5238
  // src/switch/index.tsx
3626
- var import_react38 = __toESM(require("react"));
5239
+ var import_react37 = __toESM(require("react"));
3627
5240
 
3628
5241
  // src/switch/hooks/index.tsx
3629
- var import_react37 = __toESM(require("react"));
5242
+ var import_react36 = __toESM(require("react"));
3630
5243
  var defaultComponentAPI7 = {
3631
5244
  id: "",
3632
5245
  states: {},
3633
5246
  methods: {}
3634
5247
  };
3635
- var SwitchContext = (0, import_react37.createContext)(defaultComponentAPI7);
3636
- var useSwitch = () => (0, import_react37.useContext)(SwitchContext);
5248
+ var SwitchContext = (0, import_react36.createContext)(defaultComponentAPI7);
5249
+ var useSwitch = () => (0, import_react36.useContext)(SwitchContext);
3637
5250
  var SwitchProvider = ({
3638
5251
  children
3639
5252
  }) => {
3640
5253
  const context = useSwitchProvider();
3641
- return /* @__PURE__ */ import_react37.default.createElement(SwitchContext.Provider, { value: context }, children);
5254
+ return /* @__PURE__ */ import_react36.default.createElement(SwitchContext.Provider, { value: context }, children);
3642
5255
  };
3643
5256
  function useSwitchProvider() {
3644
- const [checked, setChecked] = (0, import_react37.useState)(false);
3645
- const switchId = import_react37.default.useId();
5257
+ const [checked, setChecked] = (0, import_react36.useState)(false);
5258
+ const switchId = import_react36.default.useId();
3646
5259
  return {
3647
5260
  id: switchId,
3648
5261
  states: {
@@ -3655,8 +5268,8 @@ function useSwitchProvider() {
3655
5268
  }
3656
5269
 
3657
5270
  // src/switch/styles/index.ts
3658
- var import_styled_components22 = __toESM(require("styled-components"));
3659
- var SwitchDefaultStyles = import_styled_components22.css`
5271
+ var import_styled_components21 = __toESM(require("styled-components"));
5272
+ var SwitchDefaultStyles = import_styled_components21.css`
3660
5273
  all: unset;
3661
5274
 
3662
5275
  border: var(--measurement-small-10) solid transparent;
@@ -3670,105 +5283,105 @@ var SwitchDefaultStyles = import_styled_components22.css`
3670
5283
  opacity: 0.6;
3671
5284
  }
3672
5285
  `;
3673
- var SwitchVariantsStyles = import_styled_components22.css`
3674
- &[data-variant="primary"] {
5286
+ var SwitchVariantsStyles = import_styled_components21.css`
5287
+ &[data-variant="accent"] {
3675
5288
  &[aria-checked="true"] {
3676
- background-color: var(--color-green);
3677
- border-color: var(--font-color-alpha-10);
5289
+ background-color: var(--color-accent);
5290
+ border-color: var(--alpha-accent-10);
3678
5291
  }
3679
5292
  &[aria-checked="false"] {
3680
5293
  background-color: var(--font-color-alpha-10);
3681
5294
  border-color: var(--font-color-alpha-10);
3682
5295
  }
3683
5296
  }
3684
- &[data-variant="secondary"] {
3685
- &[aria-checked="true"] {
3686
- background-color: var(--font-color-alpha-10);
3687
- border-color: var(--font-color-alpha-10);
3688
- }
3689
- &[aria-checked="false"] {
3690
- background-color: var(--body-color-alpha-10);
3691
- }
3692
- }
3693
-
3694
- &[data-variant="ghost"] {
5297
+ &[data-variant="primary"] {
3695
5298
  &[aria-checked="true"] {
5299
+ background-color: var(--color-green);
3696
5300
  border-color: var(--font-color-alpha-10);
3697
- background-color: var(--body-color-alpha-10);
3698
5301
  }
3699
5302
  &[aria-checked="false"] {
5303
+ background-color: var(--font-color-alpha-10);
3700
5304
  border-color: var(--font-color-alpha-10);
3701
5305
  }
3702
5306
  }
3703
5307
  `;
3704
- var SwitchSizeStyles = import_styled_components22.css`
5308
+ var SwitchSizeStyles = import_styled_components21.css`
3705
5309
  &[data-size="small"] {
3706
- width: calc(var(--measurement-medium-60) * 1.33);
3707
- height: var(--measurement-medium-50);
5310
+ --thumb-size: calc(
5311
+ var(--measurement-medium-40) - var(--measurement-small-10)
5312
+ );
5313
+
5314
+ padding: 0 var(--measurement-small-10);
5315
+ width: calc(var(--thumb-size) * 2);
5316
+ height: var(--measurement-medium-40);
3708
5317
 
3709
5318
  span {
3710
- width: var(--measurement-medium-40);
3711
- height: var(--measurement-medium-40);
5319
+ width: var(--thumb-size);
5320
+ height: var(--thumb-size);
5321
+
3712
5322
  &[data-checked="true"] {
3713
- transform: translateX(var(--measurement-medium-40));
3714
- }
3715
- &[data-checked="false"] {
3716
- transform: translateX(var(--measurement-small-60));
5323
+ transform: translateX(var(--thumb-size));
3717
5324
  }
3718
5325
  }
3719
5326
  }
3720
-
3721
5327
  &[data-size="medium"] {
3722
- width: calc(var(--measurement-medium-60) * 1.66);
5328
+ --thumb-size: calc(
5329
+ var(--measurement-medium-60) - var(--measurement-small-10)
5330
+ );
5331
+
5332
+ padding: 0 var(--measurement-small-10);
5333
+ width: calc(var(--thumb-size) * 2);
3723
5334
  height: var(--measurement-medium-60);
3724
5335
 
3725
5336
  span {
3726
- width: var(--measurement-medium-50);
3727
- height: var(--measurement-medium-50);
5337
+ width: var(--thumb-size);
5338
+ height: var(--thumb-size);
5339
+
3728
5340
  &[data-checked="true"] {
3729
- transform: translateX(var(--measurement-medium-50));
3730
- }
3731
- &[data-checked="false"] {
3732
- transform: translateX(var(--measurement-small-60));
5341
+ transform: translateX(var(--thumb-size));
3733
5342
  }
3734
5343
  }
3735
5344
  }
3736
-
3737
5345
  &[data-size="large"] {
3738
- width: calc(var(--measurement-medium-60) * 2.33);
5346
+ --thumb-size: calc(
5347
+ var(--measurement-medium-70) - var(--measurement-small-30)
5348
+ );
5349
+
5350
+ padding: 0 var(--measurement-small-30);
5351
+ width: calc(var(--thumb-size) * 2);
3739
5352
  height: var(--measurement-medium-70);
3740
5353
 
3741
5354
  span {
3742
- width: var(--measurement-medium-60);
3743
- height: var(--measurement-medium-60);
5355
+ width: var(--thumb-size);
5356
+ height: var(--thumb-size);
5357
+
3744
5358
  &[data-checked="true"] {
3745
- transform: translateX(calc(var(--measurement-medium-60) * 1.133));
3746
- }
3747
- &[data-checked="false"] {
3748
- transform: translateX(var(--measurement-small-80));
5359
+ transform: translateX(var(--thumb-size));
3749
5360
  }
3750
5361
  }
3751
5362
  }
3752
5363
  `;
3753
- var TriggerWrapper = import_styled_components22.default.button`
5364
+ var TriggerWrapper = import_styled_components21.default.button`
3754
5365
  &[data-raw="false"] {
3755
5366
  ${SwitchDefaultStyles}
3756
5367
  ${SwitchVariantsStyles}
3757
5368
  ${SwitchSizeStyles}
3758
5369
  }
3759
5370
  `;
3760
- var Thumb = import_styled_components22.default.span`
5371
+ var Thumb = import_styled_components21.default.span`
3761
5372
  &[data-raw="false"] {
3762
5373
  all: unset;
3763
5374
  display: block;
3764
5375
 
3765
- background: var(--font-color-alpha-60);
3766
- border-radius: 100%;
3767
- transition: all 0.1s ease-in-out 0.2s;
5376
+ background: white;
5377
+ border-radius: var(--measurement-large-90);
5378
+ box-shadow:
5379
+ 0 var(--measurement-small-30) var(--measurement-small-80)
5380
+ var(--alpha-mono-darkest-10),
5381
+ 0 var(--measurement-small-30) var(--measurement-small-60)
5382
+ calc(var(--measurement-small-30) * -1) var(--alpha-mono-darkest-10);
3768
5383
 
3769
- &[data-checked="true"] {
3770
- background: var(--font-color);
3771
- }
5384
+ transition: all 0.1s ease-in-out 0.2s;
3772
5385
  }
3773
5386
  `;
3774
5387
 
@@ -3791,10 +5404,10 @@ var Switch = (props) => {
3791
5404
  if (onClick) onClick(event);
3792
5405
  if (toggleSwitch) toggleSwitch();
3793
5406
  };
3794
- import_react38.default.useEffect(() => {
5407
+ import_react37.default.useEffect(() => {
3795
5408
  if (defaultChecked && toggleSwitch) toggleSwitch();
3796
5409
  }, [defaultChecked]);
3797
- return /* @__PURE__ */ import_react38.default.createElement(
5410
+ return /* @__PURE__ */ import_react37.default.createElement(
3798
5411
  TriggerWrapper,
3799
5412
  {
3800
5413
  type: "button",
@@ -3810,19 +5423,19 @@ var Switch = (props) => {
3810
5423
  "data-raw": Boolean(raw),
3811
5424
  ...restProps
3812
5425
  },
3813
- /* @__PURE__ */ import_react38.default.createElement("title", null, "Switch"),
5426
+ /* @__PURE__ */ import_react37.default.createElement("title", null, "Switch"),
3814
5427
  children
3815
5428
  );
3816
5429
  };
3817
5430
  Switch.displayName = "Switch";
3818
5431
  var SwitchRoot = ({ children }) => {
3819
- return /* @__PURE__ */ import_react38.default.createElement(SwitchProvider, null, children);
5432
+ return /* @__PURE__ */ import_react37.default.createElement(SwitchProvider, null, children);
3820
5433
  };
3821
5434
  SwitchRoot.displayName = "Switch.Root";
3822
5435
  var SwitchThumb = (props) => {
3823
5436
  const { raw, sizing } = props;
3824
5437
  const { id, states } = useSwitch();
3825
- return /* @__PURE__ */ import_react38.default.createElement(
5438
+ return /* @__PURE__ */ import_react37.default.createElement(
3826
5439
  Thumb,
3827
5440
  {
3828
5441
  role: "presentation",
@@ -3842,11 +5455,11 @@ Switch.Root = SwitchRoot;
3842
5455
  Switch.Thumb = SwitchThumb;
3843
5456
 
3844
5457
  // src/table/index.tsx
3845
- var import_react39 = __toESM(require("react"));
5458
+ var import_react38 = __toESM(require("react"));
3846
5459
 
3847
5460
  // src/table/styles/index.ts
3848
- var import_styled_components23 = __toESM(require("styled-components"));
3849
- var CellStyles = import_styled_components23.css`
5461
+ var import_styled_components22 = __toESM(require("styled-components"));
5462
+ var CellStyles = import_styled_components22.css`
3850
5463
  box-sizing: border-box;
3851
5464
  border: none;
3852
5465
  line-height: 1;
@@ -3856,11 +5469,11 @@ var CellStyles = import_styled_components23.css`
3856
5469
  var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
3857
5470
  );
3858
5471
  `;
3859
- var TableLayer = import_styled_components23.default.div`
5472
+ var TableLayer = import_styled_components22.default.div`
3860
5473
  border-radius: var(--measurement-medium-30);
3861
5474
  border: var(--measurement-small-10) solid var(--font-color-alpha-10);
3862
5475
  `;
3863
- var TableWrapper = import_styled_components23.default.table`
5476
+ var TableWrapper = import_styled_components22.default.table`
3864
5477
  border-collapse: collapse;
3865
5478
 
3866
5479
  tbody {
@@ -3871,7 +5484,7 @@ var TableWrapper = import_styled_components23.default.table`
3871
5484
  }
3872
5485
  }
3873
5486
  `;
3874
- var RowWrapper = import_styled_components23.default.tr`
5487
+ var RowWrapper = import_styled_components22.default.tr`
3875
5488
  border-bottom: var(--measurement-small-10) solid var(--font-color-alpha-10);
3876
5489
 
3877
5490
  transition: background-color linear 0.1s;
@@ -3880,7 +5493,7 @@ var RowWrapper = import_styled_components23.default.tr`
3880
5493
  background-color: var(--font-color-alpha-10);
3881
5494
  }
3882
5495
  `;
3883
- var HeadCellWrapper = import_styled_components23.default.th`
5496
+ var HeadCellWrapper = import_styled_components22.default.th`
3884
5497
  font-size: var(--fontsize-medium-10);
3885
5498
  ${CellStyles}
3886
5499
 
@@ -3888,7 +5501,7 @@ var HeadCellWrapper = import_styled_components23.default.th`
3888
5501
  color: var(--font-color-alpha-60);
3889
5502
  }
3890
5503
  `;
3891
- var CellWrapper = import_styled_components23.default.td`
5504
+ var CellWrapper = import_styled_components22.default.td`
3892
5505
  ${CellStyles}
3893
5506
  `;
3894
5507
 
@@ -3897,43 +5510,43 @@ var Table = ({
3897
5510
  children,
3898
5511
  ...restProps
3899
5512
  }) => {
3900
- return /* @__PURE__ */ import_react39.default.createElement(ScrollArea, { as: TableLayer, role: "presentation", tabIndex: -1 }, /* @__PURE__ */ import_react39.default.createElement(TableWrapper, { ...restProps, cellSpacing: "0", cellPadding: "0" }, children));
5513
+ return /* @__PURE__ */ import_react38.default.createElement(ScrollArea, { as: TableLayer, role: "presentation", tabIndex: -1 }, /* @__PURE__ */ import_react38.default.createElement(TableWrapper, { ...restProps, cellSpacing: "0", cellPadding: "0" }, children));
3901
5514
  };
3902
5515
  Table.displayName = "Table";
3903
5516
  var TableHead = ({
3904
5517
  children,
3905
5518
  ...restProps
3906
5519
  }) => {
3907
- return /* @__PURE__ */ import_react39.default.createElement("thead", { ...restProps }, children);
5520
+ return /* @__PURE__ */ import_react38.default.createElement("thead", { ...restProps }, children);
3908
5521
  };
3909
5522
  TableHead.displayName = "Table.Head";
3910
5523
  var TableBody = ({
3911
5524
  children,
3912
5525
  ...restProps
3913
5526
  }) => {
3914
- return /* @__PURE__ */ import_react39.default.createElement("tbody", { ...restProps }, children);
5527
+ return /* @__PURE__ */ import_react38.default.createElement("tbody", { ...restProps }, children);
3915
5528
  };
3916
5529
  TableBody.displayName = "Table.Body";
3917
5530
  var TableHeadCell = ({
3918
5531
  children,
3919
5532
  ...restProps
3920
5533
  }) => {
3921
- return /* @__PURE__ */ import_react39.default.createElement(HeadCellWrapper, { colSpan: 1, ...restProps }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
5534
+ return /* @__PURE__ */ import_react38.default.createElement(HeadCellWrapper, { colSpan: 1, ...restProps }, /* @__PURE__ */ import_react38.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
3922
5535
  };
3923
5536
  TableHeadCell.displayName = "Table.HeadCell";
3924
5537
  var TableRow = ({ children, ...restProps }) => {
3925
- return /* @__PURE__ */ import_react39.default.createElement(RowWrapper, { className: "p-medium-30", ...restProps }, children);
5538
+ return /* @__PURE__ */ import_react38.default.createElement(RowWrapper, { className: "p-medium-30", ...restProps }, children);
3926
5539
  };
3927
5540
  TableRow.displayName = "Table.Row";
3928
5541
  var TableCell = ({ children, ...restProps }) => {
3929
- return /* @__PURE__ */ import_react39.default.createElement(CellWrapper, { ...restProps }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
5542
+ return /* @__PURE__ */ import_react38.default.createElement(CellWrapper, { ...restProps }, /* @__PURE__ */ import_react38.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
3930
5543
  };
3931
5544
  TableCell.displayName = "Table.Cell";
3932
5545
  var TableFooter = ({
3933
5546
  children,
3934
5547
  ...restProps
3935
5548
  }) => {
3936
- return /* @__PURE__ */ import_react39.default.createElement("tfoot", { ...restProps }, children);
5549
+ return /* @__PURE__ */ import_react38.default.createElement("tfoot", { ...restProps }, children);
3937
5550
  };
3938
5551
  TableFooter.displayName = "Table.Footer";
3939
5552
  Table.Head = TableHead;
@@ -3944,26 +5557,26 @@ Table.Cell = TableCell;
3944
5557
  Table.Footer = TableFooter;
3945
5558
 
3946
5559
  // src/tabs/index.tsx
3947
- var import_react41 = __toESM(require("react"));
5560
+ var import_react40 = __toESM(require("react"));
3948
5561
 
3949
5562
  // src/tabs/hooks/index.tsx
3950
- var import_react40 = __toESM(require("react"));
5563
+ var import_react39 = __toESM(require("react"));
3951
5564
  var defaultComponentAPI8 = {
3952
5565
  id: "",
3953
5566
  states: {},
3954
5567
  methods: {}
3955
5568
  };
3956
- var TabsContext = (0, import_react40.createContext)(defaultComponentAPI8);
3957
- var useTabs = () => (0, import_react40.useContext)(TabsContext);
5569
+ var TabsContext = (0, import_react39.createContext)(defaultComponentAPI8);
5570
+ var useTabs = () => (0, import_react39.useContext)(TabsContext);
3958
5571
  var TabsProvider = ({
3959
5572
  children
3960
5573
  }) => {
3961
5574
  const context = useTabsProvider();
3962
- return /* @__PURE__ */ import_react40.default.createElement(TabsContext.Provider, { value: context }, children);
5575
+ return /* @__PURE__ */ import_react39.default.createElement(TabsContext.Provider, { value: context }, children);
3963
5576
  };
3964
5577
  function useTabsProvider() {
3965
- const [value, setValue] = (0, import_react40.useState)(null);
3966
- const tabsId = import_react40.default.useId();
5578
+ const [value, setValue] = (0, import_react39.useState)(null);
5579
+ const tabsId = import_react39.default.useId();
3967
5580
  return {
3968
5581
  id: tabsId,
3969
5582
  states: {
@@ -3977,8 +5590,8 @@ function useTabsProvider() {
3977
5590
  }
3978
5591
 
3979
5592
  // src/tabs/styles/index.ts
3980
- var import_styled_components24 = __toESM(require("styled-components"));
3981
- var TabWrapper = import_styled_components24.default.div`
5593
+ var import_styled_components23 = __toESM(require("styled-components"));
5594
+ var TabWrapper = import_styled_components23.default.div`
3982
5595
  button {
3983
5596
  &[aria-selected="true"] {
3984
5597
  color: var(--font-color) !important;
@@ -3991,22 +5604,22 @@ var Tabs = (props) => {
3991
5604
  const { defaultOpen, children, ...restProps } = props;
3992
5605
  const { methods } = useTabs();
3993
5606
  const { applyValue } = methods;
3994
- const childArray = import_react41.Children.toArray(children);
5607
+ const childArray = import_react40.Children.toArray(children);
3995
5608
  const firstChild = childArray[0];
3996
- import_react41.default.useEffect(() => {
3997
- if (import_react41.default.isValidElement(firstChild)) {
5609
+ import_react40.default.useEffect(() => {
5610
+ if (import_react40.default.isValidElement(firstChild)) {
3998
5611
  if (childArray.length > 0 && applyValue)
3999
5612
  applyValue(firstChild.props.value);
4000
5613
  }
4001
5614
  }, []);
4002
- import_react41.default.useEffect(() => {
5615
+ import_react40.default.useEffect(() => {
4003
5616
  if (defaultOpen && applyValue) applyValue(defaultOpen);
4004
5617
  }, []);
4005
- return /* @__PURE__ */ import_react41.default.createElement(TabWrapper, { role: "tablist", ...restProps }, children);
5618
+ return /* @__PURE__ */ import_react40.default.createElement(TabWrapper, { role: "tablist", ...restProps }, children);
4006
5619
  };
4007
5620
  Tabs.displayName = "Tabs";
4008
5621
  var TabsRoot = ({ children }) => {
4009
- return /* @__PURE__ */ import_react41.default.createElement(TabsProvider, null, children);
5622
+ return /* @__PURE__ */ import_react40.default.createElement(TabsProvider, null, children);
4010
5623
  };
4011
5624
  TabsRoot.displayName = "Tabs.Root";
4012
5625
  var TabsTrigger = (props) => {
@@ -4022,7 +5635,7 @@ var TabsTrigger = (props) => {
4022
5635
  if (applyValue) applyValue(value);
4023
5636
  if (onClick) onClick(event);
4024
5637
  };
4025
- return /* @__PURE__ */ import_react41.default.createElement(
5638
+ return /* @__PURE__ */ import_react40.default.createElement(
4026
5639
  Button,
4027
5640
  {
4028
5641
  type: "button",
@@ -4050,7 +5663,7 @@ var TabsContent = (props) => {
4050
5663
  trigger: getTabsId && getTabsId({ value, type: "trigger" }),
4051
5664
  content: getTabsId && getTabsId({ value, type: "content" })
4052
5665
  };
4053
- return /* @__PURE__ */ import_react41.default.createElement(
5666
+ return /* @__PURE__ */ import_react40.default.createElement(
4054
5667
  "div",
4055
5668
  {
4056
5669
  tabIndex: 0,
@@ -4071,11 +5684,11 @@ Tabs.Trigger = TabsTrigger;
4071
5684
  Tabs.Content = TabsContent;
4072
5685
 
4073
5686
  // src/text-area/index.tsx
4074
- var import_react42 = __toESM(require("react"));
5687
+ var import_react41 = __toESM(require("react"));
4075
5688
 
4076
5689
  // src/text-area/styles/index.ts
4077
- var import_styled_components25 = __toESM(require("styled-components"));
4078
- var CustomScrollbar2 = import_styled_components25.css`
5690
+ var import_styled_components24 = __toESM(require("styled-components"));
5691
+ var CustomScrollbar2 = import_styled_components24.css`
4079
5692
  height: ${({ $height }) => $height ?? "100%"};
4080
5693
  width: ${({ $width }) => $width ?? "100%"};
4081
5694
  overflow-y: auto;
@@ -4107,7 +5720,7 @@ var CustomScrollbar2 = import_styled_components25.css`
4107
5720
  scrollbar-width: thin;
4108
5721
  scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor ?? "var(--font-color-alpha-10)"} ${$trackColor ?? "transparent"}`};
4109
5722
  `;
4110
- var TextareaSizeStyles = import_styled_components25.css`
5723
+ var TextareaSizeStyles = import_styled_components24.css`
4111
5724
  padding: var(--measurement-medium-30);
4112
5725
  max-height: var(--measurement-large-60);
4113
5726
 
@@ -4122,7 +5735,7 @@ var TextareaSizeStyles = import_styled_components25.css`
4122
5735
  max-height: var(--measurement-large-80);
4123
5736
  }
4124
5737
  `;
4125
- var TextareaResizableStyles = import_styled_components25.css`
5738
+ var TextareaResizableStyles = import_styled_components24.css`
4126
5739
  &[data-resizable="true"] {
4127
5740
  resize: vertical;
4128
5741
  }
@@ -4130,7 +5743,7 @@ var TextareaResizableStyles = import_styled_components25.css`
4130
5743
  resize: none;
4131
5744
  }
4132
5745
  `;
4133
- var TextAreaContainer = import_styled_components25.default.textarea`
5746
+ var TextAreaContainer = import_styled_components24.default.textarea`
4134
5747
  &[data-raw="false"] {
4135
5748
  ${FieldDefaultStyles}
4136
5749
  ${FieldShapeStyles}
@@ -4146,7 +5759,7 @@ var TextAreaContainer = import_styled_components25.default.textarea`
4146
5759
  // src/text-area/index.tsx
4147
5760
  var Textarea = (props) => {
4148
5761
  const { raw, shape, sizing, variant, resizable, onChange } = props;
4149
- const textareaRef = import_react42.default.useRef(null);
5762
+ const textareaRef = import_react41.default.useRef(null);
4150
5763
  const adjustHeight = () => {
4151
5764
  const textarea = textareaRef.current;
4152
5765
  if (textarea) {
@@ -4161,14 +5774,14 @@ var Textarea = (props) => {
4161
5774
  adjustHeight();
4162
5775
  onChange?.(e);
4163
5776
  };
4164
- import_react42.default.useEffect(() => adjustHeight(), [props.value]);
4165
- return /* @__PURE__ */ import_react42.default.createElement(
5777
+ import_react41.default.useEffect(() => adjustHeight(), [props.value]);
5778
+ return /* @__PURE__ */ import_react41.default.createElement(
4166
5779
  TextAreaContainer,
4167
5780
  {
4168
5781
  ref: textareaRef,
4169
5782
  onChange: handleChange,
4170
- "data-variant": variant ?? "secondary",
4171
- "data-shape": shape ?? "smooth",
5783
+ "data-variant": variant ?? "secondary" /* Secondary */,
5784
+ "data-shape": shape ?? "smooth" /* Smooth */,
4172
5785
  "data-size": sizing ?? "medium" /* Medium */,
4173
5786
  "data-resizable": resizable,
4174
5787
  "data-raw": String(Boolean(raw)),
@@ -4179,22 +5792,22 @@ var Textarea = (props) => {
4179
5792
  Textarea.displayName = "Textarea";
4180
5793
 
4181
5794
  // src/toggle/index.tsx
4182
- var import_react43 = __toESM(require("react"));
5795
+ var import_react42 = __toESM(require("react"));
4183
5796
  var Toggle = (props) => {
4184
5797
  const { defaultChecked, onClick, disabled, children, ...restProps } = props;
4185
- const [checked, setChecked] = import_react43.default.useState(
5798
+ const [checked, setChecked] = import_react42.default.useState(
4186
5799
  defaultChecked ?? false
4187
5800
  );
4188
5801
  const handleClick = (event) => {
4189
5802
  if (onClick) onClick(event);
4190
5803
  if (!disabled) setChecked((prevChecked) => !prevChecked);
4191
5804
  };
4192
- import_react43.default.useEffect(() => {
5805
+ import_react42.default.useEffect(() => {
4193
5806
  if (defaultChecked !== void 0) {
4194
5807
  setChecked(Boolean(defaultChecked));
4195
5808
  }
4196
5809
  }, [defaultChecked]);
4197
- return /* @__PURE__ */ import_react43.default.createElement(
5810
+ return /* @__PURE__ */ import_react42.default.createElement(
4198
5811
  Button,
4199
5812
  {
4200
5813
  role: "switch",
@@ -4212,26 +5825,26 @@ var Toggle = (props) => {
4212
5825
  Toggle.displayName = "Toggle";
4213
5826
 
4214
5827
  // src/toolbar/index.tsx
4215
- var import_react45 = __toESM(require("react"));
5828
+ var import_react44 = __toESM(require("react"));
4216
5829
 
4217
5830
  // src/toolbar/hooks/index.tsx
4218
- var import_react44 = __toESM(require("react"));
5831
+ var import_react43 = __toESM(require("react"));
4219
5832
  var defaultComponentAPI9 = {
4220
5833
  id: "",
4221
5834
  states: {},
4222
5835
  methods: {}
4223
5836
  };
4224
- var ToolbarContext = (0, import_react44.createContext)(defaultComponentAPI9);
4225
- var useToolbar = () => (0, import_react44.useContext)(ToolbarContext);
5837
+ var ToolbarContext = (0, import_react43.createContext)(defaultComponentAPI9);
5838
+ var useToolbar = () => (0, import_react43.useContext)(ToolbarContext);
4226
5839
  var ToolbarProvider = ({
4227
5840
  children
4228
5841
  }) => {
4229
5842
  const context = useToolbarProvider();
4230
- return /* @__PURE__ */ import_react44.default.createElement(ToolbarContext.Provider, { value: context }, children);
5843
+ return /* @__PURE__ */ import_react43.default.createElement(ToolbarContext.Provider, { value: context }, children);
4231
5844
  };
4232
5845
  function useToolbarProvider() {
4233
- const [expanded, setExpanded] = (0, import_react44.useState)(false);
4234
- const toolbarId = import_react44.default.useId();
5846
+ const [expanded, setExpanded] = (0, import_react43.useState)(false);
5847
+ const toolbarId = import_react43.default.useId();
4235
5848
  return {
4236
5849
  id: toolbarId,
4237
5850
  states: {
@@ -4244,8 +5857,8 @@ function useToolbarProvider() {
4244
5857
  }
4245
5858
 
4246
5859
  // src/toolbar/styles/index.ts
4247
- var import_styled_components26 = __toESM(require("styled-components"));
4248
- var ToolbarDefaultStyles = import_styled_components26.css`
5860
+ var import_styled_components25 = __toESM(require("styled-components"));
5861
+ var ToolbarDefaultStyles = import_styled_components25.css`
4249
5862
  margin: 0;
4250
5863
  display: grid;
4251
5864
  grid-template-rows: min-content;
@@ -4279,7 +5892,7 @@ var ToolbarDefaultStyles = import_styled_components26.css`
4279
5892
  }
4280
5893
  }
4281
5894
  `;
4282
- var ToolbarSizeStyles = import_styled_components26.css`
5895
+ var ToolbarSizeStyles = import_styled_components25.css`
4283
5896
  &[data-size="small"] {
4284
5897
  &[aria-orientation="vertical"] {
4285
5898
  max-width: var(--measurement-large-70);
@@ -4325,7 +5938,7 @@ var ToolbarSizeStyles = import_styled_components26.css`
4325
5938
  }
4326
5939
  }
4327
5940
  `;
4328
- var ToolbarSideStyles = import_styled_components26.css`
5941
+ var ToolbarSideStyles = import_styled_components25.css`
4329
5942
  &[data-side="top"] {
4330
5943
  border-bottom-color: var(--font-color-alpha-10);
4331
5944
  }
@@ -4357,7 +5970,7 @@ var ToolbarSideStyles = import_styled_components26.css`
4357
5970
  }
4358
5971
  }
4359
5972
  `;
4360
- var ToolbarWrapper = import_styled_components26.default.menu`
5973
+ var ToolbarWrapper = import_styled_components25.default.menu`
4361
5974
  &[data-raw="false"] {
4362
5975
  ${ToolbarDefaultStyles}
4363
5976
  ${ToolbarSizeStyles}
@@ -4365,7 +5978,7 @@ var ToolbarWrapper = import_styled_components26.default.menu`
4365
5978
  ${ToolbarSideStyles}
4366
5979
  }
4367
5980
  `;
4368
- var ToolbarTriggerWrapper = import_styled_components26.default.menu`
5981
+ var ToolbarTriggerWrapper = import_styled_components25.default.menu`
4369
5982
  &[data-raw="false"] {
4370
5983
  all: unset;
4371
5984
  align-self: flex-end;
@@ -4390,13 +6003,13 @@ var Toolbar = (props) => {
4390
6003
  const { toggleToolbar } = methods;
4391
6004
  const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
4392
6005
  const orientation = side && ["left", "right"].includes(side) ? "vertical" : "horizontal";
4393
- import_react45.default.useEffect(() => {
6006
+ import_react44.default.useEffect(() => {
4394
6007
  if (defaultOpen && toggleToolbar) return toggleToolbar(true);
4395
6008
  }, [defaultOpen]);
4396
- import_react45.default.useEffect(() => {
6009
+ import_react44.default.useEffect(() => {
4397
6010
  if (shortcut && shortcutControls && toggleToolbar) toggleToolbar();
4398
6011
  }, [shortcutControls]);
4399
- return /* @__PURE__ */ import_react45.default.createElement(
6012
+ return /* @__PURE__ */ import_react44.default.createElement(
4400
6013
  ToolbarWrapper,
4401
6014
  {
4402
6015
  id,
@@ -4416,7 +6029,7 @@ var Toolbar = (props) => {
4416
6029
  };
4417
6030
  Toolbar.displayName = "Toolbar";
4418
6031
  var ToolbarRoot = ({ children }) => {
4419
- return /* @__PURE__ */ import_react45.default.createElement(ToolbarProvider, null, children);
6032
+ return /* @__PURE__ */ import_react44.default.createElement(ToolbarProvider, null, children);
4420
6033
  };
4421
6034
  ToolbarRoot.displayName = "Toolbar.Root";
4422
6035
  var ToolbarTrigger = (props) => {
@@ -4434,7 +6047,7 @@ var ToolbarTrigger = (props) => {
4434
6047
  if (onClick) onClick(event);
4435
6048
  if (toggleToolbar) toggleToolbar(!states.expanded);
4436
6049
  };
4437
- return /* @__PURE__ */ import_react45.default.createElement(ToolbarTriggerWrapper, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react45.default.createElement(
6050
+ return /* @__PURE__ */ import_react44.default.createElement(ToolbarTriggerWrapper, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react44.default.createElement(
4438
6051
  Button,
4439
6052
  {
4440
6053
  id: `${id}-trigger`,
@@ -4452,13 +6065,13 @@ var ToolbarSection = (props) => {
4452
6065
  const { showoncollapse, children, ...restProps } = props;
4453
6066
  const { states } = useToolbar();
4454
6067
  const { expanded } = states;
4455
- if (showoncollapse) return /* @__PURE__ */ import_react45.default.createElement("section", { ...restProps }, children);
4456
- return /* @__PURE__ */ import_react45.default.createElement("section", { ...restProps }, expanded && children);
6068
+ if (showoncollapse) return /* @__PURE__ */ import_react44.default.createElement("section", { ...restProps }, children);
6069
+ return /* @__PURE__ */ import_react44.default.createElement("section", { ...restProps }, expanded && children);
4457
6070
  };
4458
6071
  ToolbarSection.displayName = "Toolbar.Section";
4459
6072
  var ToolbarItem = (props) => {
4460
6073
  const { showfirstchild, onClick, children, ...restProps } = props;
4461
- const childArray = import_react45.default.Children.toArray(children);
6074
+ const childArray = import_react44.default.Children.toArray(children);
4462
6075
  const { id, states, methods } = useToolbar();
4463
6076
  const { expanded } = states;
4464
6077
  const { toggleToolbar } = methods;
@@ -4467,7 +6080,7 @@ var ToolbarItem = (props) => {
4467
6080
  if (onClick) onClick(event);
4468
6081
  if (toggleToolbar && !expanded) toggleToolbar(true);
4469
6082
  };
4470
- return /* @__PURE__ */ import_react45.default.createElement(
6083
+ return /* @__PURE__ */ import_react44.default.createElement(
4471
6084
  "div",
4472
6085
  {
4473
6086
  tabIndex: -1,
@@ -4488,11 +6101,11 @@ Toolbar.Item = ToolbarItem;
4488
6101
  Toolbar.Section = ToolbarSection;
4489
6102
 
4490
6103
  // src/tooltip/index.tsx
4491
- var import_react46 = __toESM(require("react"));
6104
+ var import_react45 = __toESM(require("react"));
4492
6105
 
4493
6106
  // src/tooltip/styles/index.ts
4494
- var import_styled_components27 = __toESM(require("styled-components"));
4495
- var FadeIn2 = import_styled_components27.keyframes`
6107
+ var import_styled_components26 = __toESM(require("styled-components"));
6108
+ var FadeIn = import_styled_components26.keyframes`
4496
6109
  0% {
4497
6110
  opacity: 0;
4498
6111
  }
@@ -4500,11 +6113,11 @@ var FadeIn2 = import_styled_components27.keyframes`
4500
6113
  opacity: 1;
4501
6114
  }
4502
6115
  `;
4503
- var ContentBox = import_styled_components27.default.div`
6116
+ var ContentBox = import_styled_components26.default.div`
4504
6117
  display: inline-block;
4505
6118
  position: relative;
4506
6119
  `;
4507
- var ContentWrapper2 = import_styled_components27.default.span`
6120
+ var ContentWrapper2 = import_styled_components26.default.span`
4508
6121
  &[data-raw="false"] {
4509
6122
  width: fit-content;
4510
6123
  max-width: var(--measurement-large-60);
@@ -4523,7 +6136,7 @@ var ContentWrapper2 = import_styled_components27.default.span`
4523
6136
  font-size: var(--fontsize-medium-10);
4524
6137
  z-index: var(--depth-default-100);
4525
6138
  animation-duration: 0.2s;
4526
- animation-name: ${FadeIn2};
6139
+ animation-name: ${FadeIn};
4527
6140
  animation-fill-mode: backwards;
4528
6141
  }
4529
6142
  `;
@@ -4535,13 +6148,13 @@ var Tooltip = ({
4535
6148
  children,
4536
6149
  ...restProps
4537
6150
  }) => {
4538
- const [visible, setVisible] = import_react46.default.useState(false);
4539
- const [triggerProps, setTriggerProps] = import_react46.default.useState(null);
4540
- const [contentProps, setContentProps] = import_react46.default.useState(null);
4541
- const mounted = import_react46.default.useRef(false);
4542
- const containerRef = import_react46.default.useRef(null);
4543
- const contentRef = import_react46.default.useRef(null);
4544
- const timeoutRef = import_react46.default.useRef(null);
6151
+ const [visible, setVisible] = import_react45.default.useState(false);
6152
+ const [triggerProps, setTriggerProps] = import_react45.default.useState(null);
6153
+ const [contentProps, setContentProps] = import_react45.default.useState(null);
6154
+ const mounted = import_react45.default.useRef(false);
6155
+ const containerRef = import_react45.default.useRef(null);
6156
+ const contentRef = import_react45.default.useRef(null);
6157
+ const timeoutRef = import_react45.default.useRef(null);
4545
6158
  const contentRect = () => contentRef?.current?.getBoundingClientRect();
4546
6159
  const bodyRect = () => {
4547
6160
  if (typeof document !== "undefined") {
@@ -4565,14 +6178,14 @@ var Tooltip = ({
4565
6178
  };
4566
6179
  const hasEnoughHorizontalSpace = Number(dimensions.body_width) - Number(dimensions.content_left) > Number(dimensions.content_width) * 1.1;
4567
6180
  const hasEnoughVerticalSpace = Number(dimensions.body_height) - Number(dimensions.content_bottom) > Number(dimensions.content_height) * 0.9;
4568
- const showTooltip = import_react46.default.useCallback(() => {
6181
+ const showTooltip = import_react45.default.useCallback(() => {
4569
6182
  timeoutRef.current = setTimeout(() => setVisible(true), delay);
4570
6183
  }, [delay]);
4571
- const hideTooltip = import_react46.default.useCallback(() => {
6184
+ const hideTooltip = import_react45.default.useCallback(() => {
4572
6185
  if (timeoutRef.current) clearTimeout(timeoutRef.current);
4573
6186
  setVisible(false);
4574
6187
  }, []);
4575
- const handleMouseEnter = import_react46.default.useCallback(() => {
6188
+ const handleMouseEnter = import_react45.default.useCallback(() => {
4576
6189
  const rect = containerRef.current?.getBoundingClientRect();
4577
6190
  if (rect) {
4578
6191
  setTriggerProps({
@@ -4586,11 +6199,11 @@ var Tooltip = ({
4586
6199
  showTooltip();
4587
6200
  }
4588
6201
  }, [showTooltip]);
4589
- const handleMouseLeave = import_react46.default.useCallback(
6202
+ const handleMouseLeave = import_react45.default.useCallback(
4590
6203
  () => hideTooltip(),
4591
6204
  [hideTooltip]
4592
6205
  );
4593
- import_react46.default.useEffect(() => {
6206
+ import_react45.default.useEffect(() => {
4594
6207
  mounted.current = true;
4595
6208
  setContentProps && setContentProps({
4596
6209
  top: Number(contentRect()?.top),
@@ -4604,7 +6217,7 @@ var Tooltip = ({
4604
6217
  mounted.current = false;
4605
6218
  };
4606
6219
  }, [visible]);
4607
- return /* @__PURE__ */ import_react46.default.createElement(
6220
+ return /* @__PURE__ */ import_react45.default.createElement(
4608
6221
  ContentBox,
4609
6222
  {
4610
6223
  ref: containerRef,
@@ -4614,7 +6227,7 @@ var Tooltip = ({
4614
6227
  ...restProps
4615
6228
  },
4616
6229
  children,
4617
- visible && /* @__PURE__ */ import_react46.default.createElement(
6230
+ visible && /* @__PURE__ */ import_react45.default.createElement(
4618
6231
  ContentWrapper2,
4619
6232
  {
4620
6233
  ref: contentRef,
@@ -4629,24 +6242,24 @@ var Tooltip = ({
4629
6242
  "data-side": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */,
4630
6243
  "data-align": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */
4631
6244
  },
4632
- /* @__PURE__ */ import_react46.default.createElement("div", null, content)
6245
+ /* @__PURE__ */ import_react45.default.createElement("div", null, content)
4633
6246
  )
4634
6247
  );
4635
6248
  };
4636
6249
  Tooltip.displayName = "Tooltip";
4637
6250
 
4638
6251
  // src/tree/index.tsx
4639
- var import_react49 = __toESM(require("react"));
6252
+ var import_react48 = __toESM(require("react"));
4640
6253
 
4641
6254
  // src/tree/hooks/tree-provider.tsx
4642
- var import_react47 = __toESM(require("react"));
6255
+ var import_react46 = __toESM(require("react"));
4643
6256
  var defaultTreeAPI = {
4644
6257
  id: "",
4645
6258
  states: {},
4646
6259
  methods: {}
4647
6260
  };
4648
- var TreeContext = (0, import_react47.createContext)(defaultTreeAPI);
4649
- var useTree = () => (0, import_react47.useContext)(TreeContext);
6261
+ var TreeContext = (0, import_react46.createContext)(defaultTreeAPI);
6262
+ var useTree = () => (0, import_react46.useContext)(TreeContext);
4650
6263
  var TreeProvider = ({
4651
6264
  children,
4652
6265
  defaultExpandedIds = [],
@@ -4656,17 +6269,17 @@ var TreeProvider = ({
4656
6269
  defaultExpandedIds,
4657
6270
  onSelectionChange
4658
6271
  });
4659
- return /* @__PURE__ */ import_react47.default.createElement(TreeContext.Provider, { value: context }, children);
6272
+ return /* @__PURE__ */ import_react46.default.createElement(TreeContext.Provider, { value: context }, children);
4660
6273
  };
4661
6274
  function useTreeProviderContext({
4662
6275
  defaultExpandedIds,
4663
6276
  onSelectionChange
4664
6277
  }) {
4665
- const treeId = import_react47.default.useId();
4666
- const [expandedIds, setExpandedIds] = (0, import_react47.useState)(
6278
+ const treeId = import_react46.default.useId();
6279
+ const [expandedIds, setExpandedIds] = (0, import_react46.useState)(
4667
6280
  () => new Set(defaultExpandedIds)
4668
6281
  );
4669
- const [selectedIds, setSelectedIds] = (0, import_react47.useState)(() => /* @__PURE__ */ new Set());
6282
+ const [selectedIds, setSelectedIds] = (0, import_react46.useState)(() => /* @__PURE__ */ new Set());
4670
6283
  return {
4671
6284
  id: treeId,
4672
6285
  states: {
@@ -4697,14 +6310,14 @@ function useTreeProviderContext({
4697
6310
  }
4698
6311
 
4699
6312
  // src/tree/hooks/tree-node-provider.tsx
4700
- var import_react48 = __toESM(require("react"));
6313
+ var import_react47 = __toESM(require("react"));
4701
6314
  var defaultTreeNodeAPI = {
4702
6315
  id: "",
4703
6316
  states: {},
4704
6317
  methods: {}
4705
6318
  };
4706
- var TreeNodeContext = (0, import_react48.createContext)(defaultTreeNodeAPI);
4707
- var useTreeNode = () => (0, import_react48.useContext)(TreeNodeContext);
6319
+ var TreeNodeContext = (0, import_react47.createContext)(defaultTreeNodeAPI);
6320
+ var useTreeNode = () => (0, import_react47.useContext)(TreeNodeContext);
4708
6321
  var TreeNodeProvider = ({
4709
6322
  children,
4710
6323
  nodeId,
@@ -4712,7 +6325,7 @@ var TreeNodeProvider = ({
4712
6325
  isLast
4713
6326
  }) => {
4714
6327
  const context = useTreeNodeProviderContext({ nodeId, level, isLast });
4715
- return /* @__PURE__ */ import_react48.default.createElement(TreeNodeContext.Provider, { value: context }, children);
6328
+ return /* @__PURE__ */ import_react47.default.createElement(TreeNodeContext.Provider, { value: context }, children);
4716
6329
  };
4717
6330
  function useTreeNodeProviderContext({
4718
6331
  nodeId,
@@ -4731,20 +6344,20 @@ function useTreeNodeProviderContext({
4731
6344
  }
4732
6345
 
4733
6346
  // src/tree/styles/index.ts
4734
- var import_styled_components28 = __toESM(require("styled-components"));
4735
- var TreeView = import_styled_components28.default.ul`
6347
+ var import_styled_components27 = __toESM(require("styled-components"));
6348
+ var TreeView = import_styled_components27.default.ul`
4736
6349
  display: flex;
4737
6350
  flex-direction: column;
4738
6351
  list-style: none;
4739
6352
  margin: 0;
4740
6353
  padding: 0;
4741
6354
  `;
4742
- var TreeItem = import_styled_components28.default.li`
6355
+ var TreeItem = import_styled_components27.default.li`
4743
6356
  display: flex;
4744
6357
  flex-direction: column;
4745
6358
  list-style: none;
4746
6359
  `;
4747
- var TreeNodeContent = import_styled_components28.default.ul`
6360
+ var TreeNodeContent = import_styled_components27.default.ul`
4748
6361
  display: flex;
4749
6362
  flex-direction: column;
4750
6363
  list-style: none;
@@ -4756,7 +6369,7 @@ var TreeNodeContent = import_styled_components28.default.ul`
4756
6369
  var Tree = (props) => {
4757
6370
  const { children, ...restProps } = props;
4758
6371
  const { id } = useTree();
4759
- return /* @__PURE__ */ import_react49.default.createElement(TreeView, { id, role: "tree", ...restProps }, children);
6372
+ return /* @__PURE__ */ import_react48.default.createElement(TreeView, { id, role: "tree", ...restProps }, children);
4760
6373
  };
4761
6374
  Tree.displayName = "Tree";
4762
6375
  var TreeRoot = ({
@@ -4764,7 +6377,7 @@ var TreeRoot = ({
4764
6377
  defaultExpandedIds,
4765
6378
  onSelectionChange
4766
6379
  }) => {
4767
- return /* @__PURE__ */ import_react49.default.createElement(
6380
+ return /* @__PURE__ */ import_react48.default.createElement(
4768
6381
  TreeProvider,
4769
6382
  {
4770
6383
  defaultExpandedIds,
@@ -4776,7 +6389,7 @@ var TreeRoot = ({
4776
6389
  TreeRoot.displayName = "Tree.Root";
4777
6390
  var TreeNode = (props) => {
4778
6391
  const { nodeId, level = 0, isLast = false, children, ...restProps } = props;
4779
- return /* @__PURE__ */ import_react49.default.createElement(TreeNodeProvider, { nodeId, level, isLast }, /* @__PURE__ */ import_react49.default.createElement(TreeItem, { role: "treeitem", "aria-level": level + 1, ...restProps }, children));
6392
+ return /* @__PURE__ */ import_react48.default.createElement(TreeNodeProvider, { nodeId, level, isLast }, /* @__PURE__ */ import_react48.default.createElement(TreeItem, { role: "treeitem", "aria-level": level + 1, ...restProps }, children));
4780
6393
  };
4781
6394
  TreeNode.displayName = "Tree.Node";
4782
6395
  var TreeTrigger = (props) => {
@@ -4798,7 +6411,7 @@ var TreeTrigger = (props) => {
4798
6411
  toggleSelected && toggleSelected(nodeId);
4799
6412
  }
4800
6413
  };
4801
- return /* @__PURE__ */ import_react49.default.createElement(
6414
+ return /* @__PURE__ */ import_react48.default.createElement(
4802
6415
  Button,
4803
6416
  {
4804
6417
  id: String(IdHandler.trigger),
@@ -4824,11 +6437,11 @@ var TreeContent = (props) => {
4824
6437
  trigger: getTreeId && getTreeId({ nodeId, type: "trigger" }),
4825
6438
  content: getTreeId && getTreeId({ nodeId, type: "content" })
4826
6439
  };
4827
- import_react49.default.useEffect(() => {
6440
+ import_react48.default.useEffect(() => {
4828
6441
  if (defaultOpen && !isExpanded && toggleExpanded) toggleExpanded(nodeId);
4829
6442
  }, []);
4830
6443
  if (isExpanded)
4831
- return /* @__PURE__ */ import_react49.default.createElement(
6444
+ return /* @__PURE__ */ import_react48.default.createElement(
4832
6445
  TreeNodeContent,
4833
6446
  {
4834
6447
  role: "group",
@@ -4839,13 +6452,410 @@ var TreeContent = (props) => {
4839
6452
  },
4840
6453
  children
4841
6454
  );
4842
- return /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null);
6455
+ return /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null);
4843
6456
  };
4844
6457
  TreeContent.displayName = "Tree.Content";
4845
6458
  Tree.Root = TreeRoot;
4846
6459
  Tree.Node = TreeNode;
4847
6460
  Tree.Trigger = TreeTrigger;
4848
6461
  Tree.Content = TreeContent;
6462
+
6463
+ // src/select/index.tsx
6464
+ var import_react50 = __toESM(require("react"));
6465
+
6466
+ // src/select/hooks/index.tsx
6467
+ var import_react49 = __toESM(require("react"));
6468
+ var defaultComponentAPI10 = {
6469
+ id: "",
6470
+ states: {},
6471
+ methods: {}
6472
+ };
6473
+ var SelectContext = import_react49.default.createContext(defaultComponentAPI10);
6474
+ var useSelect = () => import_react49.default.useContext(SelectContext);
6475
+ var SelectProvider = ({
6476
+ children
6477
+ }) => {
6478
+ const context = useSelectProvider();
6479
+ return /* @__PURE__ */ import_react49.default.createElement(SelectContext.Provider, { value: context }, children);
6480
+ };
6481
+ function useSelectProvider() {
6482
+ const DEFAULT_POSITIONS2 = {
6483
+ top: 0,
6484
+ right: 0,
6485
+ bottom: 0,
6486
+ left: 0
6487
+ };
6488
+ const DEFAULT_DIMENSIONS2 = {
6489
+ width: 0,
6490
+ height: 0
6491
+ };
6492
+ const [open, setOpen] = import_react49.default.useState(false);
6493
+ const [value, setValue] = import_react49.default.useState(null);
6494
+ const [label, setLabel] = import_react49.default.useState("");
6495
+ const [contentProps, setContentProps] = import_react49.default.useState({
6496
+ ...DEFAULT_POSITIONS2,
6497
+ ...DEFAULT_DIMENSIONS2
6498
+ });
6499
+ const [triggerProps, setTriggerProps] = import_react49.default.useState({
6500
+ ...DEFAULT_POSITIONS2,
6501
+ ...DEFAULT_DIMENSIONS2
6502
+ });
6503
+ const triggerId = import_react49.default.useId();
6504
+ const listboxId = import_react49.default.useId();
6505
+ const composedId = `${triggerId}|${listboxId}`;
6506
+ return {
6507
+ id: composedId,
6508
+ states: {
6509
+ open,
6510
+ value,
6511
+ label,
6512
+ contentProps,
6513
+ triggerProps
6514
+ },
6515
+ methods: {
6516
+ toggleOpen: () => setOpen(!open),
6517
+ setOpen,
6518
+ setValue,
6519
+ setLabel,
6520
+ setContentProps,
6521
+ setTriggerProps
6522
+ }
6523
+ };
6524
+ }
6525
+
6526
+ // src/select/styles/index.tsx
6527
+ var import_styled_components28 = __toESM(require("styled-components"));
6528
+ var Wrapper = import_styled_components28.default.div`
6529
+ position: relative;
6530
+ width: 100%;
6531
+ `;
6532
+ var Trigger = import_styled_components28.default.button`
6533
+ all: unset;
6534
+ box-sizing: border-box;
6535
+
6536
+ position: relative;
6537
+ display: flex;
6538
+ align-items: center;
6539
+ justify-content: space-between;
6540
+ gap: var(--measurement-medium-10);
6541
+
6542
+ ${FieldDefaultStyles}
6543
+ ${FieldVariantsStyles}
6544
+ ${FieldShapeStyles}
6545
+ ${FieldSizeStyles}
6546
+
6547
+
6548
+ cursor: pointer !important;
6549
+ `;
6550
+ var Label2 = import_styled_components28.default.span`
6551
+ flex: 1;
6552
+ text-align: left;
6553
+ font-weight: 400;
6554
+ white-space: nowrap;
6555
+ overflow: hidden;
6556
+ text-overflow: ellipsis;
6557
+ `;
6558
+ var Content = import_styled_components28.default.ul`
6559
+ @keyframes select-slide-in-down {
6560
+ 0% {
6561
+ opacity: 0;
6562
+ transform: translateY(calc(var(--measurement-small-60) * -1));
6563
+ }
6564
+ 100% {
6565
+ opacity: 1;
6566
+ transform: translateY(0);
6567
+ }
6568
+ }
6569
+
6570
+ @keyframes select-slide-in-up {
6571
+ 0% {
6572
+ opacity: 0;
6573
+ transform: translateY(var(--measurement-small-60));
6574
+ }
6575
+ 100% {
6576
+ opacity: 1;
6577
+ transform: translateY(0);
6578
+ }
6579
+ }
6580
+
6581
+ &[data-raw="false"] {
6582
+ position: fixed;
6583
+ margin: 0;
6584
+ box-sizing: border-box;
6585
+
6586
+ padding: var(--measurement-medium-30);
6587
+
6588
+ list-style: none;
6589
+
6590
+ background-color: var(--body-color);
6591
+ border: var(--measurement-small-10) solid var(--font-color-alpha-10);
6592
+ border-radius: var(--measurement-medium-30);
6593
+
6594
+ z-index: var(--depth-default-100);
6595
+
6596
+ height: auto;
6597
+ max-height: var(--measurement-large-90);
6598
+ overflow-y: auto;
6599
+
6600
+ animation-duration: 0.2s;
6601
+ animation-fill-mode: backwards;
6602
+
6603
+ &[data-side="bottom"] {
6604
+ animation-name: select-slide-in-down;
6605
+ }
6606
+
6607
+ &[data-side="top"] {
6608
+ animation-name: select-slide-in-up;
6609
+ }
6610
+ }
6611
+ `;
6612
+ var List = import_styled_components28.default.li`
6613
+ list-style: none;
6614
+ padding: 0;
6615
+ margin: 0;
6616
+ user-select: none;
6617
+
6618
+ &[data-raw="false"] {
6619
+ display: flex;
6620
+ align-items: center;
6621
+ justify-content: space-between;
6622
+ gap: var(--measurement-medium-10);
6623
+
6624
+ padding: var(--measurement-medium-30);
6625
+ border-radius: var(--measurement-medium-20);
6626
+
6627
+ text-align: left;
6628
+
6629
+ color: var(--font-color);
6630
+
6631
+ outline: none;
6632
+ cursor: pointer;
6633
+
6634
+ transition: all ease-in-out 0.2s;
6635
+
6636
+ &:hover,
6637
+ &:focus,
6638
+ &:active,
6639
+ &:focus-within,
6640
+ &:has(:active) {
6641
+ background-color: var(--contrast-color);
6642
+ }
6643
+
6644
+ &[data-selected="true"] {
6645
+ color: var(--font-color);
6646
+ background-color: var(--contrast-color);
6647
+
6648
+ &:hover,
6649
+ &:focus,
6650
+ &:active {
6651
+ background-color: var(--font-color-alpha-10);
6652
+ }
6653
+ }
6654
+ }
6655
+
6656
+ &[aria-disabled="true"] {
6657
+ cursor: not-allowed;
6658
+ opacity: 0.6;
6659
+ }
6660
+ `;
6661
+ var Item = import_styled_components28.default.span`
6662
+ display: flex;
6663
+ align-items: center;
6664
+ gap: var(--measurement-small-60);
6665
+ flex: 1;
6666
+ white-space: nowrap;
6667
+ overflow: hidden;
6668
+ text-overflow: ellipsis;
6669
+ `;
6670
+
6671
+ // src/select/index.tsx
6672
+ var SelectRoot = ({ children }) => {
6673
+ return /* @__PURE__ */ import_react50.default.createElement(SelectProvider, null, children);
6674
+ };
6675
+ SelectRoot.displayName = "Select.Root";
6676
+ var Select = ({ children }) => {
6677
+ const selectRef = import_react50.default.useRef(null);
6678
+ const { states, methods } = useSelect();
6679
+ const handleClickOutside = () => {
6680
+ if (states.open && methods.setOpen) {
6681
+ methods.setOpen(false);
6682
+ }
6683
+ };
6684
+ useClickOutside(
6685
+ selectRef,
6686
+ handleClickOutside
6687
+ );
6688
+ return /* @__PURE__ */ import_react50.default.createElement(Wrapper, { ref: selectRef }, children);
6689
+ };
6690
+ Select.displayName = "Select";
6691
+ var SelectTrigger = (props) => {
6692
+ const {
6693
+ raw,
6694
+ variant,
6695
+ shape,
6696
+ sizing,
6697
+ error = false,
6698
+ disabled,
6699
+ children,
6700
+ ...restProps
6701
+ } = props;
6702
+ const triggerRef = import_react50.default.useRef(null);
6703
+ const triggerRect = () => triggerRef.current?.getBoundingClientRect();
6704
+ const { id, states, methods } = useSelect();
6705
+ const { toggleOpen, setTriggerProps } = methods;
6706
+ const handleClick = () => {
6707
+ if (disabled) return;
6708
+ if (toggleOpen) toggleOpen();
6709
+ if (setTriggerProps) {
6710
+ setTriggerProps({
6711
+ top: Number(triggerRect()?.top),
6712
+ right: Number(triggerRect()?.right),
6713
+ bottom: Number(triggerRect()?.bottom),
6714
+ left: Number(triggerRect()?.left),
6715
+ width: Number(triggerRect()?.width),
6716
+ height: Number(triggerRect()?.height)
6717
+ });
6718
+ }
6719
+ };
6720
+ return /* @__PURE__ */ import_react50.default.createElement(
6721
+ Trigger,
6722
+ {
6723
+ ref: triggerRef,
6724
+ type: "button",
6725
+ role: "combobox",
6726
+ id: id.split("|").at(0),
6727
+ onClick: handleClick,
6728
+ "aria-haspopup": "listbox",
6729
+ "aria-expanded": Boolean(states.open),
6730
+ "aria-controls": id.split("|").at(-1),
6731
+ "data-state": states.open ? "open" : "closed",
6732
+ "data-variant": variant ?? "secondary" /* Secondary */,
6733
+ "data-shape": shape ?? "smooth" /* Smooth */,
6734
+ "data-size": sizing ?? "medium" /* Medium */,
6735
+ "data-error": error,
6736
+ "data-raw": Boolean(raw),
6737
+ disabled,
6738
+ ...restProps
6739
+ },
6740
+ /* @__PURE__ */ import_react50.default.createElement(Label2, null, children)
6741
+ );
6742
+ };
6743
+ SelectTrigger.displayName = "Select.Trigger";
6744
+ var SelectContent = (props) => {
6745
+ const { raw, defaultOpen, children, ...restProps } = props;
6746
+ const { id, states, methods } = useSelect();
6747
+ const { toggleOpen, setContentProps } = methods;
6748
+ const mounted = import_react50.default.useRef(false);
6749
+ const contentRef = import_react50.default.useRef(null);
6750
+ const contentRect = () => contentRef?.current?.getBoundingClientRect();
6751
+ const bodyRect = () => {
6752
+ if (typeof document !== "undefined") {
6753
+ return document?.body?.getBoundingClientRect();
6754
+ }
6755
+ return void 0;
6756
+ };
6757
+ const positions = {
6758
+ btt: `calc((${states?.triggerProps?.top}px - ${states?.contentProps?.height}px) - (var(--measurement-medium-10) * 2))`,
6759
+ ttb: `calc((${states?.triggerProps?.top}px + ${states?.triggerProps?.height}px) + var(--measurement-medium-10))`
6760
+ };
6761
+ const dimensions = {
6762
+ body_height: bodyRect()?.height ?? 0,
6763
+ content_height: states.contentProps.height,
6764
+ content_bottom: states.contentProps.bottom
6765
+ };
6766
+ const hasEnoughVerticalSpace = dimensions.body_height - dimensions.content_bottom > dimensions.content_height - dimensions.content_height * 0.9;
6767
+ import_react50.default.useEffect(() => {
6768
+ if (defaultOpen && toggleOpen) toggleOpen();
6769
+ }, []);
6770
+ import_react50.default.useEffect(() => {
6771
+ mounted.current = true;
6772
+ if (setContentProps) {
6773
+ setContentProps({
6774
+ top: Number(contentRect()?.top),
6775
+ right: Number(contentRect()?.right),
6776
+ bottom: Number(contentRect()?.bottom),
6777
+ left: Number(contentRect()?.left),
6778
+ width: Number(contentRect()?.width),
6779
+ height: Number(contentRect()?.height)
6780
+ });
6781
+ }
6782
+ return () => {
6783
+ mounted.current = false;
6784
+ };
6785
+ }, [states.open]);
6786
+ import_react50.default.useEffect(() => {
6787
+ if (!states.open) return;
6788
+ const handleKeyDown = (event) => {
6789
+ if (event.key === "Escape" && methods.setOpen) {
6790
+ methods.setOpen(false);
6791
+ }
6792
+ };
6793
+ document.addEventListener("keydown", handleKeyDown);
6794
+ return () => document.removeEventListener("keydown", handleKeyDown);
6795
+ }, [states.open]);
6796
+ if (!states.open) return null;
6797
+ return /* @__PURE__ */ import_react50.default.createElement(
6798
+ ScrollArea,
6799
+ {
6800
+ scrollbar: true,
6801
+ as: Content,
6802
+ ref: contentRef,
6803
+ id: id.split("|").at(-1),
6804
+ role: "listbox",
6805
+ tabIndex: -1,
6806
+ "aria-labelledby": id.split("|").at(0),
6807
+ "data-state": applyDataState(Boolean(states.open)),
6808
+ "data-side": hasEnoughVerticalSpace ? "bottom" : "top",
6809
+ "data-raw": Boolean(raw),
6810
+ style: {
6811
+ top: hasEnoughVerticalSpace ? positions.ttb : positions.btt,
6812
+ left: `${states?.triggerProps?.left}px`,
6813
+ width: `${states?.triggerProps?.width}px`
6814
+ },
6815
+ ...restProps
6816
+ },
6817
+ children
6818
+ );
6819
+ };
6820
+ SelectContent.displayName = "Select.Content";
6821
+ var SelectItem = (props) => {
6822
+ const { raw, value, disabled, onClick, children, ...restProps } = props;
6823
+ const { states, methods } = useSelect();
6824
+ const isSelected = states?.value === value;
6825
+ const handleSelect = (event) => {
6826
+ if (disabled) return;
6827
+ if (methods.setValue) methods.setValue(value);
6828
+ if (methods.setOpen) methods.setOpen(false);
6829
+ if (onClick) onClick(event);
6830
+ };
6831
+ const handleKeyDown = (event) => {
6832
+ if (["Space", "Enter"].includes(event.code || event.key) && !disabled) {
6833
+ event.preventDefault();
6834
+ handleSelect(event);
6835
+ }
6836
+ };
6837
+ return /* @__PURE__ */ import_react50.default.createElement(
6838
+ List,
6839
+ {
6840
+ role: "option",
6841
+ tabIndex: 0,
6842
+ "aria-disabled": disabled,
6843
+ "aria-selected": isSelected,
6844
+ "data-orientation": "vertical",
6845
+ "data-selected": isSelected,
6846
+ "data-raw": Boolean(raw),
6847
+ onClick: handleSelect,
6848
+ onKeyDown: handleKeyDown,
6849
+ ...restProps
6850
+ },
6851
+ /* @__PURE__ */ import_react50.default.createElement(Item, null, children)
6852
+ );
6853
+ };
6854
+ SelectItem.displayName = "Select.Item";
6855
+ Select.Root = SelectRoot;
6856
+ Select.Trigger = SelectTrigger;
6857
+ Select.Content = SelectContent;
6858
+ Select.Item = SelectItem;
4849
6859
  // Annotate the CommonJS export names for ESM import in node:
4850
6860
  0 && (module.exports = {
4851
6861
  Accordion,
@@ -4854,6 +6864,7 @@ Tree.Content = TreeContent;
4854
6864
  AccordionTrigger,
4855
6865
  AvataStatusEnum,
4856
6866
  Avatar,
6867
+ AvatarStatus,
4857
6868
  Badge,
4858
6869
  Breadcrumb,
4859
6870
  BreadcrumbItem,
@@ -4884,9 +6895,14 @@ Tree.Content = TreeContent;
4884
6895
  DropdownMenuRoot,
4885
6896
  DropdownMenuTrigger,
4886
6897
  Field,
6898
+ FieldDate,
6899
+ FieldFile,
4887
6900
  FieldLabel,
4888
6901
  FieldMeta,
6902
+ FieldNumber,
6903
+ FieldPassword,
4889
6904
  FieldRoot,
6905
+ FieldTag,
4890
6906
  FieldWrapper,
4891
6907
  MessageBubble,
4892
6908
  MessageBubbleContent,
@@ -4904,9 +6920,13 @@ Tree.Content = TreeContent;
4904
6920
  PageTools,
4905
6921
  PageWrapper,
4906
6922
  Portal,
4907
- PrivacyField,
4908
6923
  Resizable,
4909
6924
  ScrollArea,
6925
+ Select,
6926
+ SelectContent,
6927
+ SelectItem,
6928
+ SelectRoot,
6929
+ SelectTrigger,
4910
6930
  Sheet,
4911
6931
  SheetRoot,
4912
6932
  SheetTrigger,
@@ -4947,6 +6967,7 @@ Tree.Content = TreeContent;
4947
6967
  useDropdownMenu,
4948
6968
  useField,
4949
6969
  useMessageBubble,
6970
+ useSelect,
4950
6971
  useSheet,
4951
6972
  useSwitch,
4952
6973
  useTabs,