@usefui/components 1.6.0 → 1.7.0

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 +6 -0
  2. package/dist/index.d.mts +380 -52
  3. package/dist/index.d.ts +380 -52
  4. package/dist/index.js +2534 -511
  5. package/dist/index.mjs +2520 -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 +15 -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,19 @@ 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
+ left: auto;
2168
+ right: auto;
2169
+
2170
+ padding: var(--measurement-medium-30);
1576
2171
  width: 100%;
1577
2172
 
1578
- border: var(--measurement-small-10) solid var(--font-color-alpha-10);
1579
- background-color: var(--body-color);
1580
2173
  border-radius: var(--measurement-medium-30);
2174
+ background: var(--body-color);
2175
+
2176
+ border: var(--measurement-small-10) solid var(--contrast-color);
2177
+ box-shadow: 0 var(--measurement-medium-40) var(--measurement-medium-60)
2178
+ calc(var(--measurement-medium-60) * -1) rgba(0, 0, 0, 0.3);
1581
2179
 
1582
2180
  transition: all ease-in-out 0.2s;
1583
2181
  z-index: var(--depth-default-100);
@@ -1592,7 +2190,7 @@ var DialogSizeStyles = import_styled_components7.css`
1592
2190
  max-height: var(--max-height);
1593
2191
  }
1594
2192
  &[data-size="medium"] {
1595
- max-width: calc(var(--measurement-large-90) * 2.66);
2193
+ max-width: calc(var(--measurement-large-90) * 2);
1596
2194
  max-height: var(--max-height);
1597
2195
  }
1598
2196
 
@@ -1614,14 +2212,14 @@ var Menu = import_styled_components7.default.menu`
1614
2212
  }
1615
2213
  `;
1616
2214
  var DialogWrapper = import_styled_components7.default.dialog`
1617
- @keyframes slide-in {
2215
+ @keyframes scale-in {
1618
2216
  0% {
1619
2217
  opacity: 0;
1620
- transform: translateY(var(--measurement-medium-30));
2218
+ transform: scale(0.95);
1621
2219
  }
1622
2220
  100% {
1623
2221
  opacity: 1;
1624
- transform: translateY(0);
2222
+ transform: Scale(1);
1625
2223
  }
1626
2224
  }
1627
2225
 
@@ -1634,7 +2232,7 @@ var DialogWrapper = import_styled_components7.default.dialog`
1634
2232
  ${DialogSizeStyles}
1635
2233
 
1636
2234
  animation-duration: 0.2s;
1637
- animation-name: slide-in;
2235
+ animation-name: scale-in;
1638
2236
  animation-fill-mode: backwards;
1639
2237
  }
1640
2238
  `;
@@ -1824,14 +2422,6 @@ function useDropdownMenuProvider() {
1824
2422
 
1825
2423
  // src/dropdown/styles/index.ts
1826
2424
  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
2425
  var ContentWrapperSizes = import_styled_components9.css`
1836
2426
  --small: var(--measurement-large-60);
1837
2427
  --medium: var(--measurement-large-80);
@@ -1862,6 +2452,17 @@ var ContentWrapper = import_styled_components9.default.ul`
1862
2452
  --medium: var(--measurement-large-80);
1863
2453
  --large: var(--measurement-large-90);
1864
2454
 
2455
+ @keyframes slide-in {
2456
+ 0% {
2457
+ opacity: 0;
2458
+ transform: translateY(calc(var(--measurement-small-60) * -1));
2459
+ }
2460
+ 100% {
2461
+ opacity: 1;
2462
+ transform: translateY(0);
2463
+ }
2464
+ }
2465
+
1865
2466
  &[data-raw="false"] {
1866
2467
  position: fixed;
1867
2468
  margin: 0;
@@ -1874,11 +2475,11 @@ var ContentWrapper = import_styled_components9.default.ul`
1874
2475
  border-radius: var(--measurement-medium-30);
1875
2476
 
1876
2477
  z-index: var(--depth-default-100);
1877
- animation-duration: 0.2s;
1878
- animation-name: ${FadeIn};
1879
- animation-fill-mode: backwards;
1880
2478
 
1881
2479
  ${ContentWrapperSizes}
2480
+ animation-duration: 0.2s;
2481
+ animation-name: slide-in;
2482
+ animation-fill-mode: backwards;
1882
2483
  }
1883
2484
  `;
1884
2485
  var ItemWrapper2 = import_styled_components9.default.li`
@@ -1888,20 +2489,28 @@ var ItemWrapper2 = import_styled_components9.default.li`
1888
2489
  user-select: none;
1889
2490
 
1890
2491
  &[data-raw="false"] {
1891
- font-size: var(--fontsize-small-80);
1892
- padding: var(--measurement-medium-30);
2492
+ padding: var(--measurement-medium-10) var(--measurement-medium-30);
1893
2493
  border-radius: var(--measurement-medium-20);
2494
+
1894
2495
  text-align: left;
1895
- color: var(--font-color-alpha-60);
2496
+ font-weight: 600;
2497
+ letter-spacing: calc(
2498
+ var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
2499
+ );
2500
+ font-size: var(--fontsize-medium-10);
2501
+ color: var(--font-color);
2502
+
1896
2503
  outline: none;
1897
- transition: all ease-in-out 0.2s;
1898
2504
  cursor: pointer;
1899
2505
 
2506
+ transition: all ease-in-out 0.2s;
2507
+
1900
2508
  &:hover,
1901
2509
  &:focus,
1902
- &:active {
1903
- color: var(--font-color);
1904
- background-color: var(--font-color-alpha-10);
2510
+ &:active,
2511
+ &:focus-within,
2512
+ &:has(:active) {
2513
+ background-color: var(--contrast-color);
1905
2514
  }
1906
2515
  }
1907
2516
 
@@ -2011,7 +2620,18 @@ var DropdownMenuContent = import_react19.default.forwardRef((props, _) => {
2011
2620
  mounted.current = false;
2012
2621
  };
2013
2622
  }, [states.open]);
2014
- return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, states.open && /* @__PURE__ */ import_react19.default.createElement(
2623
+ import_react19.default.useEffect(() => {
2624
+ if (!states.open) return;
2625
+ const handleKeyDown = (event) => {
2626
+ if (event.key === "Escape" && methods.toggleOpen) {
2627
+ methods.toggleOpen();
2628
+ }
2629
+ };
2630
+ document.addEventListener("keydown", handleKeyDown);
2631
+ return () => document.removeEventListener("keydown", handleKeyDown);
2632
+ }, [states.open]);
2633
+ if (!states.open) return null;
2634
+ return /* @__PURE__ */ import_react19.default.createElement(
2015
2635
  ContentWrapper,
2016
2636
  {
2017
2637
  ref: contentRef,
@@ -2031,7 +2651,7 @@ var DropdownMenuContent = import_react19.default.forwardRef((props, _) => {
2031
2651
  ...restProps
2032
2652
  },
2033
2653
  children
2034
- ));
2654
+ );
2035
2655
  });
2036
2656
  DropdownMenuContent.displayName = "DropdownMenu.Content";
2037
2657
  var DropdownMenuItem = (props) => {
@@ -2125,15 +2745,17 @@ var FieldDefaultStyles = import_styled_components10.css`
2125
2745
 
2126
2746
  font-size: var(--fontsize-medium-20);
2127
2747
 
2128
- line-height: 1.1;
2748
+ line-height: 1;
2129
2749
  letter-spacing: calc(
2130
2750
  var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
2131
2751
  );
2132
2752
 
2133
2753
  border: var(--measurement-small-10) solid transparent;
2754
+
2134
2755
  backdrop-filter: blur(var(--measurement-small-10));
2135
2756
  color: var(--font-color-alpha-60);
2136
- width: fit-content;
2757
+
2758
+ width: 100%;
2137
2759
  height: fit-content;
2138
2760
 
2139
2761
  transition: all ease-in-out 0.2s;
@@ -2146,7 +2768,9 @@ var FieldDefaultStyles = import_styled_components10.css`
2146
2768
 
2147
2769
  &:hover,
2148
2770
  &:focus,
2149
- &:active {
2771
+ &:active,
2772
+ &:focus-within,
2773
+ &:has(:active) {
2150
2774
  color: var(--font-color);
2151
2775
  svg,
2152
2776
  span,
@@ -2159,26 +2783,46 @@ var FieldDefaultStyles = import_styled_components10.css`
2159
2783
  color: var(--font-color-alpha-30);
2160
2784
  }
2161
2785
 
2162
- &:disabled {
2786
+ &:disabled,
2787
+ &:has(:disabled) {
2163
2788
  cursor: not-allowed;
2164
2789
  opacity: 0.6;
2165
2790
  }
2166
2791
  `;
2167
2792
  var FieldVariantsStyles = import_styled_components10.css`
2168
2793
  &[data-variant="primary"] {
2169
- background-color: var(--font-color-alpha-10);
2794
+ background-color: transparent;
2170
2795
  border-color: var(--font-color-alpha-10);
2171
2796
 
2797
+ &:hover,
2172
2798
  &:focus,
2173
- &:active {
2174
- box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
2799
+ &:active,
2800
+ &:focus-within,
2801
+ &:has(:hover),
2802
+ &:has(:active) {
2803
+ border-color: var(--font-color-alpha-20);
2804
+ }
2805
+
2806
+ &:focus,
2807
+ &:active,
2808
+ &:focus-within,
2809
+ &:has(:active) {
2810
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-accent-30);
2175
2811
  }
2176
2812
 
2177
2813
  &[data-error="true"] {
2178
2814
  color: var(--color-red);
2179
- background-color: var(--alpha-red-10);
2180
2815
  border-color: var(--alpha-red-10);
2181
- box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
2816
+
2817
+ &:hover,
2818
+ &:focus,
2819
+ &:active,
2820
+ &:focus-within,
2821
+ &:has(:hover),
2822
+ &:has(:active) {
2823
+ background-color: var(--alpha-red-10);
2824
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
2825
+ }
2182
2826
  }
2183
2827
  }
2184
2828
 
@@ -2188,12 +2832,17 @@ var FieldVariantsStyles = import_styled_components10.css`
2188
2832
 
2189
2833
  &:hover,
2190
2834
  &:focus,
2191
- &:active {
2835
+ &:active,
2836
+ &:focus-within,
2837
+ &:has(:hover),
2838
+ &:has(:active) {
2192
2839
  border-color: var(--font-color-alpha-20);
2193
2840
  }
2194
2841
 
2195
2842
  &:focus,
2196
- &:active {
2843
+ &:active,
2844
+ &:focus-within,
2845
+ &:has(:active) {
2197
2846
  box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
2198
2847
  }
2199
2848
 
@@ -2203,7 +2852,10 @@ var FieldVariantsStyles = import_styled_components10.css`
2203
2852
 
2204
2853
  &:hover,
2205
2854
  &:focus,
2206
- &:active {
2855
+ &:active,
2856
+ &:focus-within,
2857
+ &:has(:hover),
2858
+ &:has(:active) {
2207
2859
  background-color: var(--alpha-red-10);
2208
2860
  box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
2209
2861
  }
@@ -2220,7 +2872,10 @@ var FieldVariantsStyles = import_styled_components10.css`
2220
2872
 
2221
2873
  &:hover,
2222
2874
  &:focus,
2223
- &:active {
2875
+ &:active,
2876
+ &:focus-within,
2877
+ &:has(:hover),
2878
+ &:has(:active) {
2224
2879
  color: var(--font-color);
2225
2880
  }
2226
2881
 
@@ -2241,7 +2896,6 @@ var FieldSizeStyles = import_styled_components10.css`
2241
2896
  padding: 0 var(--measurement-medium-30);
2242
2897
  min-width: var(--measurement-medium-90);
2243
2898
  min-height: var(--measurement-medium-90);
2244
- width: fit-content;
2245
2899
  }
2246
2900
  &[data-size="large"] {
2247
2901
  padding: var(--measurement-medium-50);
@@ -2258,6 +2912,7 @@ var FieldShapeStyles = import_styled_components10.css`
2258
2912
  }
2259
2913
  &[data-shape="round"] {
2260
2914
  border-radius: var(--measurement-large-90);
2915
+ padding-left: var(--measurement-medium-50) !important;
2261
2916
  }
2262
2917
  `;
2263
2918
  var Fieldset = import_styled_components10.default.fieldset`
@@ -2304,6 +2959,265 @@ var Def = import_styled_components10.default.dfn`
2304
2959
  }
2305
2960
  }
2306
2961
  `;
2962
+ var ParentContainer = import_styled_components10.default.div`
2963
+ position: relative;
2964
+ display: flex;
2965
+ align-items: stretch;
2966
+ width: 100%;
2967
+ height: 100%;
2968
+
2969
+ input[type="number"]::-webkit-inner-spin-button,
2970
+ input[type="number"]::-webkit-outer-spin-button {
2971
+ -webkit-appearance: none;
2972
+ margin: 0;
2973
+ }
2974
+
2975
+ input {
2976
+ width: 100% !important;
2977
+ }
2978
+ input[type="number"] {
2979
+ appearance: textfield;
2980
+ -moz-appearance: textfield;
2981
+ }
2982
+ `;
2983
+ var ParentWrapper = import_styled_components10.default.div`
2984
+ &[data-raw="false"] {
2985
+ ${FieldDefaultStyles}
2986
+ ${FieldVariantsStyles}
2987
+ ${FieldSizeStyles}
2988
+ ${FieldShapeStyles}
2989
+
2990
+ cursor: default;
2991
+ display: flex;
2992
+ align-items: center;
2993
+ justify-content: start;
2994
+ gap: var(--measurement-small-30);
2995
+ width: 100% !important;
2996
+ text-align: left !important;
2997
+
2998
+ &[data-error="true"] {
2999
+ &::placeholder {
3000
+ color: var(--alpha-red-30);
3001
+ }
3002
+ }
3003
+
3004
+ &[data-wrap="true"] {
3005
+ flex-wrap: wrap;
3006
+ align-items: center;
3007
+ align-content: center;
3008
+ height: auto;
3009
+ padding-top: var(--measurement-small-60);
3010
+ padding-bottom: var(--measurement-small-60);
3011
+ }
3012
+ }
3013
+ `;
3014
+ var InnerDivider = import_styled_components10.default.div`
3015
+ height: var(--measurement-small-10);
3016
+ width: 100%;
3017
+ background-color: var(--font-color-alpha-10);
3018
+ `;
3019
+ var InnerWrapper = import_styled_components10.default.div`
3020
+ &[data-raw="false"] {
3021
+ position: absolute;
3022
+ display: flex;
3023
+ flex-direction: column;
3024
+
3025
+ right: 0;
3026
+ &[data-multiple="true"] {
3027
+ right: var(--measurement-small-10) !important;
3028
+ }
3029
+
3030
+ top: var(--measurement-small-10);
3031
+ bottom: var(--measurement-small-10);
3032
+
3033
+ border-left: var(--measurement-small-10) solid var(--font-color-alpha-10);
3034
+ border-color: var(--font-color-alpha-10);
3035
+
3036
+ overflow: hidden;
3037
+
3038
+ &[data-error="true"] {
3039
+ border-color: var(--alpha-red-10) !important;
3040
+ }
3041
+
3042
+ &[data-shape="round"] {
3043
+ border-radius: 0 var(--measurement-large-90) var(--measurement-large-90) 0;
3044
+ }
3045
+ &[data-shape="smooth"] {
3046
+ border-radius: 0 var(--measurement-medium-20) var(--measurement-medium-20)
3047
+ 0;
3048
+ }
3049
+ &[data-shape="square"] {
3050
+ border-radius: 0;
3051
+ }
3052
+ }
3053
+ `;
3054
+ var InnerTrigger = import_styled_components10.default.button`
3055
+ all: unset;
3056
+
3057
+ position: relative;
3058
+ display: flex;
3059
+ flex: 1;
3060
+
3061
+ align-items: center;
3062
+ justify-content: center;
3063
+ box-sizing: border-box;
3064
+ padding: 0 var(--measurement-medium-40);
3065
+
3066
+ color: var(--font-color-alpha-60);
3067
+
3068
+ background-color: var(--body-color);
3069
+ background: linear-gradient(
3070
+ 180deg,
3071
+ transparent 50%,
3072
+ var(--font-color-alpha-10) 100%
3073
+ );
3074
+ background-size: 100% 200%;
3075
+ background-position: 0% 0%;
3076
+ backdrop-filter: blur(var(--measurement-medium-10));
3077
+
3078
+ cursor: pointer;
3079
+ transition: all ease-in-out 0.2s;
3080
+
3081
+ svg {
3082
+ opacity: 0.6;
3083
+ transition: all ease-in-out 0.2s;
3084
+ }
3085
+
3086
+ ::before {
3087
+ content: "";
3088
+ inset: 0;
3089
+
3090
+ border-radius: inherit;
3091
+ position: absolute;
3092
+ box-sizing: border-box;
3093
+ margin: 0;
3094
+ padding: 0;
3095
+
3096
+ mask-composite: intersect;
3097
+
3098
+ transition: all ease-in-out 0.2s;
3099
+ mask-image: linear-gradient(var(--font-color), transparent);
3100
+ }
3101
+
3102
+ &:hover,
3103
+ &:active {
3104
+ color: var(--font-color);
3105
+ background-position: 0% 50%;
3106
+
3107
+ svg {
3108
+ opacity: 0.8;
3109
+ }
3110
+ }
3111
+
3112
+ &:disabled {
3113
+ cursor: not-allowed;
3114
+ opacity: 0.3;
3115
+ }
3116
+ `;
3117
+ var InnerSegment = import_styled_components10.default.span`
3118
+ &[data-raw="false"] {
3119
+ border-radius: inherit;
3120
+
3121
+ text-align: center;
3122
+ outline: none;
3123
+ color: inherit;
3124
+ transition: background-color ease-in-out 0.2s;
3125
+
3126
+ &[data-placeholder="true"] {
3127
+ color: var(--font-color-alpha-30);
3128
+ }
3129
+
3130
+ &:hover,
3131
+ &:focus,
3132
+ &:active,
3133
+ &:focus-within,
3134
+ &:has(:active) {
3135
+ background-color: var(--font-color-alpha-10);
3136
+ color: var(--font-color);
3137
+ }
3138
+ }
3139
+ `;
3140
+ var Muted = import_styled_components10.default.span`
3141
+ &[data-raw="false"] {
3142
+ color: var(--font-color-alpha-30);
3143
+ user-select: none;
3144
+ }
3145
+ `;
3146
+ var HiddenInput = import_styled_components10.default.input`
3147
+ border: none;
3148
+ outline: none;
3149
+ background: transparent;
3150
+ flex: 1;
3151
+ font: inherit;
3152
+ color: inherit;
3153
+ padding: 0;
3154
+ min-width: var(--measurement-medium-60);
3155
+ `;
3156
+
3157
+ // src/field/types/index.ts
3158
+ var SegmentRanges = {
3159
+ day: { min: 1, max: () => 31 },
3160
+ month: { min: 1, max: () => 12 },
3161
+ year: { min: 1, max: () => 9999 },
3162
+ hour: { min: 0, max: () => 23 },
3163
+ minute: { min: 0, max: () => 59 }
3164
+ };
3165
+
3166
+ // src/field/utils/index.ts
3167
+ function dateToState(date) {
3168
+ return {
3169
+ day: date.getDate(),
3170
+ month: date.getMonth() + 1,
3171
+ // Normalize: Date months are 0-indexed
3172
+ year: date.getFullYear(),
3173
+ hour: date.getHours(),
3174
+ minute: date.getMinutes()
3175
+ };
3176
+ }
3177
+ function stateToDate(state) {
3178
+ return new Date(
3179
+ state.year,
3180
+ state.month - 1,
3181
+ // Normalize: Date constructor expects 0-indexed months
3182
+ state.day,
3183
+ state.hour,
3184
+ state.minute
3185
+ );
3186
+ }
3187
+ function buildSegments(state, locale, withTime) {
3188
+ const dateFormatter = new Intl.DateTimeFormat(locale, {
3189
+ day: "2-digit",
3190
+ month: "2-digit",
3191
+ year: "numeric"
3192
+ });
3193
+ const timeFormatter = new Intl.DateTimeFormat(locale, {
3194
+ hour: "2-digit",
3195
+ minute: "2-digit",
3196
+ hour12: false
3197
+ });
3198
+ const probe = stateToDate(state);
3199
+ const dateParts = dateFormatter.formatToParts(probe).filter((p) => p.type !== "literal" || p.value.trim() !== "").map((p) => {
3200
+ if (p.type === "day") return { type: "day", value: p.value };
3201
+ if (p.type === "month") return { type: "month", value: p.value };
3202
+ if (p.type === "year") return { type: "year", value: p.value };
3203
+ return { type: "literal", value: p.value };
3204
+ });
3205
+ if (!withTime) return dateParts;
3206
+ const timeParts = timeFormatter.formatToParts(probe).filter((p) => p.type !== "literal" || p.value.trim() !== "").map((p) => {
3207
+ if (p.type === "hour") return { type: "hour", value: p.value };
3208
+ if (p.type === "minute") return { type: "minute", value: p.value };
3209
+ return { type: "literal", value: p.value };
3210
+ });
3211
+ return [...dateParts, { type: "literal", value: " " }, ...timeParts];
3212
+ }
3213
+ var commitState = (isControlled, next, setInternalState, onChange) => {
3214
+ if (!isControlled) setInternalState(next);
3215
+ onChange?.(stateToDate(next));
3216
+ };
3217
+ var clamp = (val, seg, internalState) => {
3218
+ const { min, max } = SegmentRanges[seg];
3219
+ return Math.min(Math.max(val, min), max(internalState));
3220
+ };
2307
3221
 
2308
3222
  // src/field/index.tsx
2309
3223
  var MetaVariantEnum = /* @__PURE__ */ ((MetaVariantEnum2) => {
@@ -2317,8 +3231,8 @@ var Field = (props) => {
2317
3231
  const {
2318
3232
  raw,
2319
3233
  sizing = "medium" /* Medium */,
2320
- variant = "primary" /* Primary */,
2321
- shape = "smooth",
3234
+ variant = "secondary" /* Secondary */,
3235
+ shape = "smooth" /* Smooth */,
2322
3236
  error,
2323
3237
  hint,
2324
3238
  ...restProps
@@ -2382,16 +3296,627 @@ var FieldMeta = (props) => {
2382
3296
  "aria-details": id,
2383
3297
  "data-variant": variant,
2384
3298
  "data-raw": Boolean(raw),
2385
- ...restProps
3299
+ ...restProps
3300
+ },
3301
+ children
3302
+ );
3303
+ };
3304
+ FieldMeta.displayName = "Field.Meta";
3305
+ var FieldNumber = (props) => {
3306
+ const {
3307
+ raw,
3308
+ sizing = "medium" /* Medium */,
3309
+ variant = "secondary" /* Secondary */,
3310
+ shape = "smooth" /* Smooth */,
3311
+ error,
3312
+ step = 1,
3313
+ ...restProps
3314
+ } = props;
3315
+ const inputRef = import_react21.default.useRef(null);
3316
+ const handleStep = (direction) => {
3317
+ if (!inputRef.current) return;
3318
+ direction === "up" ? inputRef.current.stepUp() : inputRef.current.stepDown();
3319
+ inputRef.current.dispatchEvent(new Event("change", { bubbles: true }));
3320
+ };
3321
+ const ChevronIcon = ({ direction }) => /* @__PURE__ */ import_react21.default.createElement(
3322
+ "svg",
3323
+ {
3324
+ width: "8",
3325
+ height: "4",
3326
+ viewBox: "0 0 10 6",
3327
+ fill: "none",
3328
+ style: {
3329
+ transform: direction === "up" ? "rotate(180deg)" : "none"
3330
+ },
3331
+ "aria-hidden": "true"
3332
+ },
3333
+ /* @__PURE__ */ import_react21.default.createElement(
3334
+ "path",
3335
+ {
3336
+ d: "M1 1L5 5L9 1",
3337
+ stroke: "currentColor",
3338
+ strokeWidth: "1.5",
3339
+ strokeLinecap: "round",
3340
+ strokeLinejoin: "round"
3341
+ }
3342
+ )
3343
+ );
3344
+ return /* @__PURE__ */ import_react21.default.createElement(ParentContainer, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react21.default.createElement(
3345
+ Field,
3346
+ {
3347
+ ref: inputRef,
3348
+ type: "number",
3349
+ raw,
3350
+ sizing,
3351
+ variant,
3352
+ shape,
3353
+ error,
3354
+ step,
3355
+ ...restProps
3356
+ }
3357
+ ), /* @__PURE__ */ import_react21.default.createElement(
3358
+ InnerWrapper,
3359
+ {
3360
+ "data-raw": Boolean(raw),
3361
+ "data-error": Boolean(error),
3362
+ "data-variant": variant,
3363
+ "data-shape": shape,
3364
+ "data-multiple": "true"
3365
+ },
3366
+ /* @__PURE__ */ import_react21.default.createElement(
3367
+ InnerTrigger,
3368
+ {
3369
+ type: "button",
3370
+ "aria-label": "Increment",
3371
+ "data-raw": Boolean(raw),
3372
+ onClick: () => handleStep("up"),
3373
+ tabIndex: -1
3374
+ },
3375
+ /* @__PURE__ */ import_react21.default.createElement(ChevronIcon, { direction: "up" })
3376
+ ),
3377
+ /* @__PURE__ */ import_react21.default.createElement(InnerDivider, { "data-raw": Boolean(raw) }),
3378
+ /* @__PURE__ */ import_react21.default.createElement(
3379
+ InnerTrigger,
3380
+ {
3381
+ type: "button",
3382
+ "aria-label": "Decrement",
3383
+ "data-raw": Boolean(raw),
3384
+ onClick: () => handleStep("down"),
3385
+ tabIndex: -1
3386
+ },
3387
+ /* @__PURE__ */ import_react21.default.createElement(ChevronIcon, { direction: "down" })
3388
+ )
3389
+ ));
3390
+ };
3391
+ FieldNumber.displayName = "Field.Number";
3392
+ var FieldDate = (props) => {
3393
+ const {
3394
+ raw,
3395
+ sizing = "medium" /* Medium */,
3396
+ variant = "secondary" /* Secondary */,
3397
+ shape = "smooth" /* Smooth */,
3398
+ error,
3399
+ value,
3400
+ defaultValue,
3401
+ onChange,
3402
+ locale = typeof globalThis.navigator !== "undefined" ? globalThis.navigator.language : "en-US",
3403
+ withTime = false,
3404
+ disabled = false,
3405
+ id: idProp
3406
+ } = props;
3407
+ const { id: contextId } = useField();
3408
+ const id = idProp ?? contextId;
3409
+ const isControlled = value !== void 0;
3410
+ const metaId = import_react21.default.useId();
3411
+ const bufferRef = import_react21.default.useRef("");
3412
+ const segmentRefs = import_react21.default.useRef(/* @__PURE__ */ new Map());
3413
+ const [internalState, setInternalState] = import_react21.default.useState(
3414
+ () => dateToState(defaultValue ?? value ?? /* @__PURE__ */ new Date())
3415
+ );
3416
+ const [focusedSegment, setFocusedSegment] = import_react21.default.useState(null);
3417
+ const segments = buildSegments(internalState, locale, withTime);
3418
+ const editableSegments = segments.filter(
3419
+ (s) => s.type !== "literal"
3420
+ ).map((s) => s.type);
3421
+ const stepSegment = (seg, delta) => {
3422
+ const { min, max } = SegmentRanges[seg];
3423
+ const current = internalState[seg];
3424
+ const range = max(internalState) - min + 1;
3425
+ const next = (current - min + delta + range) % range + min;
3426
+ commitState(
3427
+ isControlled,
3428
+ { ...internalState, [seg]: next },
3429
+ setInternalState,
3430
+ onChange
3431
+ );
3432
+ };
3433
+ const handleSegmentKeyDown = (e, seg) => {
3434
+ if (disabled) return;
3435
+ const idx = editableSegments.indexOf(seg);
3436
+ switch (e.key) {
3437
+ case "ArrowUp": {
3438
+ e.preventDefault();
3439
+ bufferRef.current = "";
3440
+ stepSegment(seg, 1);
3441
+ break;
3442
+ }
3443
+ case "ArrowDown": {
3444
+ e.preventDefault();
3445
+ bufferRef.current = "";
3446
+ stepSegment(seg, -1);
3447
+ break;
3448
+ }
3449
+ // Move to the previous segment and reset the buffer
3450
+ case "ArrowLeft":
3451
+ case "Backspace": {
3452
+ e.preventDefault();
3453
+ bufferRef.current = "";
3454
+ if (idx > 0) focusSegmentByType(editableSegments[idx - 1]);
3455
+ break;
3456
+ }
3457
+ // ArrowRight advances manually; Tab is left to bubble for natural focus
3458
+ case "ArrowRight":
3459
+ case "Tab": {
3460
+ if (e.key === "ArrowRight") {
3461
+ e.preventDefault();
3462
+ bufferRef.current = "";
3463
+ if (idx < editableSegments.length - 1)
3464
+ focusSegmentByType(editableSegments[idx + 1]);
3465
+ }
3466
+ break;
3467
+ }
3468
+ default: {
3469
+ if (/^\d$/.test(e.key)) {
3470
+ e.preventDefault();
3471
+ bufferRef.current += e.key;
3472
+ const num = parseInt(bufferRef.current, 10);
3473
+ const { max } = SegmentRanges[seg];
3474
+ const maxVal = max(internalState);
3475
+ const clamped = clamp(num, seg, internalState);
3476
+ commitState(
3477
+ isControlled,
3478
+ { ...internalState, [seg]: clamped },
3479
+ setInternalState,
3480
+ onChange
3481
+ );
3482
+ const maxDigits = String(maxVal).length;
3483
+ const willOverflow = parseInt(bufferRef.current + "0", 10) > maxVal || bufferRef.current.length >= maxDigits;
3484
+ if (willOverflow) {
3485
+ bufferRef.current = "";
3486
+ if (idx < editableSegments.length - 1)
3487
+ focusSegmentByType(editableSegments[idx + 1]);
3488
+ }
3489
+ }
3490
+ }
3491
+ }
3492
+ };
3493
+ const focusSegmentByType = (type) => {
3494
+ if (!type) return;
3495
+ segmentRefs.current.get(type)?.focus();
3496
+ };
3497
+ const handleWrapperClick = (e) => {
3498
+ if (e.target.dataset.segment) return;
3499
+ const timeout = setTimeout(() => {
3500
+ focusSegmentByType(editableSegments[0]);
3501
+ }, 0);
3502
+ return () => clearTimeout(timeout);
3503
+ };
3504
+ import_react21.default.useEffect(() => {
3505
+ if (isControlled && value) setInternalState(dateToState(value));
3506
+ }, [isControlled, value]);
3507
+ return /* @__PURE__ */ import_react21.default.createElement(
3508
+ ParentWrapper,
3509
+ {
3510
+ id,
3511
+ role: "group",
3512
+ "aria-label": "Date input",
3513
+ "aria-invalid": !!error,
3514
+ "aria-describedby": metaId,
3515
+ "data-error": Boolean(error),
3516
+ "data-variant": variant,
3517
+ "data-size": sizing,
3518
+ "data-shape": shape,
3519
+ "data-raw": Boolean(raw),
3520
+ "data-disabled": disabled,
3521
+ onClick: handleWrapperClick
3522
+ },
3523
+ segments.map((seg, i) => {
3524
+ if (seg.type === "literal") {
3525
+ return /* @__PURE__ */ import_react21.default.createElement(Muted, { key: i, "data-raw": Boolean(raw), "aria-hidden": "true" }, seg.value);
3526
+ }
3527
+ const isFocused = focusedSegment === seg.type;
3528
+ return /* @__PURE__ */ import_react21.default.createElement(
3529
+ InnerSegment,
3530
+ {
3531
+ key: seg.type,
3532
+ ref: (el) => segmentRefs.current.set(seg.type, el),
3533
+ role: "spinbutton",
3534
+ "aria-label": seg.type,
3535
+ "aria-valuenow": internalState[seg.type],
3536
+ "aria-valuemin": SegmentRanges[seg.type].min,
3537
+ "aria-valuemax": SegmentRanges[seg.type].max(internalState),
3538
+ tabIndex: disabled ? -1 : 0,
3539
+ "data-raw": Boolean(raw),
3540
+ "data-focused": isFocused,
3541
+ "data-segment": seg.type,
3542
+ onFocus: () => {
3543
+ setFocusedSegment(seg.type);
3544
+ bufferRef.current = "";
3545
+ },
3546
+ onBlur: () => setFocusedSegment(null),
3547
+ onKeyDown: (e) => {
3548
+ if (seg.type === "literal") return;
3549
+ handleSegmentKeyDown(e, seg.type);
3550
+ }
3551
+ },
3552
+ seg.value
3553
+ );
3554
+ })
3555
+ );
3556
+ };
3557
+ FieldDate.displayName = "Field.Date";
3558
+ var FieldFile = (props) => {
3559
+ const {
3560
+ raw,
3561
+ sizing = "medium" /* Medium */,
3562
+ variant = "secondary" /* Secondary */,
3563
+ shape = "smooth" /* Smooth */,
3564
+ error,
3565
+ trigger,
3566
+ onFileChange,
3567
+ disabled,
3568
+ accept,
3569
+ multiple,
3570
+ ...restProps
3571
+ } = props;
3572
+ const fileInputRef = import_react21.default.useRef(null);
3573
+ const [fileName, setFileName] = import_react21.default.useState("");
3574
+ const handleTriggerClick = () => {
3575
+ fileInputRef.current?.click();
3576
+ };
3577
+ const handleFileChange = (e) => {
3578
+ const files = e.target.files;
3579
+ if (files && files.length > 0) {
3580
+ const names = Array.from(files).map((f) => f.name).join(", ");
3581
+ setFileName(names);
3582
+ } else setFileName("");
3583
+ onFileChange?.(files);
3584
+ };
3585
+ const handleKeyDown = (e) => {
3586
+ if (e.key === "Enter" || e.key === " ") {
3587
+ e.preventDefault();
3588
+ fileInputRef.current?.click();
3589
+ }
3590
+ };
3591
+ return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
3592
+ "input",
3593
+ {
3594
+ ref: fileInputRef,
3595
+ type: "file",
3596
+ "aria-hidden": "true",
3597
+ tabIndex: -1,
3598
+ disabled,
3599
+ accept,
3600
+ multiple,
3601
+ onChange: handleFileChange,
3602
+ style: { display: "none" }
3603
+ }
3604
+ ), /* @__PURE__ */ import_react21.default.createElement(ParentContainer, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react21.default.createElement(
3605
+ Field,
3606
+ {
3607
+ type: "text",
3608
+ readOnly: true,
3609
+ raw,
3610
+ sizing,
3611
+ variant,
3612
+ shape,
3613
+ error,
3614
+ disabled,
3615
+ value: fileName,
3616
+ onClick: (e) => {
3617
+ handleTriggerClick();
3618
+ restProps.onClick?.(e);
3619
+ },
3620
+ onKeyDown: (e) => {
3621
+ handleKeyDown(e);
3622
+ restProps.onKeyDown?.(e);
3623
+ },
3624
+ ...restProps
3625
+ }
3626
+ ), trigger && /* @__PURE__ */ import_react21.default.createElement(
3627
+ InnerWrapper,
3628
+ {
3629
+ "data-raw": Boolean(raw),
3630
+ "data-error": Boolean(error),
3631
+ "data-variant": variant,
3632
+ "data-shape": shape
3633
+ },
3634
+ /* @__PURE__ */ import_react21.default.createElement(
3635
+ InnerTrigger,
3636
+ {
3637
+ type: "button",
3638
+ "data-raw": Boolean(raw),
3639
+ "data-shape": shape,
3640
+ "data-error": Boolean(error),
3641
+ disabled,
3642
+ variant,
3643
+ onClick: handleTriggerClick,
3644
+ "aria-label": typeof trigger === "string" ? trigger : "file-upload-trigger"
3645
+ },
3646
+ trigger
3647
+ )
3648
+ )));
3649
+ };
3650
+ FieldFile.displayName = "Field.File";
3651
+ var FieldPassword = (props) => {
3652
+ const {
3653
+ raw,
3654
+ sizing = "medium" /* Medium */,
3655
+ variant = "secondary" /* Secondary */,
3656
+ shape = "smooth" /* Smooth */,
3657
+ error,
3658
+ disabled,
3659
+ defaultType,
3660
+ ...restProps
3661
+ } = props;
3662
+ const [type, setType] = import_react21.default.useState(
3663
+ defaultType ?? "password"
3664
+ );
3665
+ const handleChangeType = import_react21.default.useCallback(() => {
3666
+ if (type === "text") setType("password");
3667
+ if (type === "password") setType("text");
3668
+ }, [type, setType]);
3669
+ const ShowIcon = () => {
3670
+ 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" }));
3671
+ };
3672
+ const HideIcon = () => {
3673
+ 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" }));
3674
+ };
3675
+ return /* @__PURE__ */ import_react21.default.createElement(ParentContainer, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react21.default.createElement(
3676
+ Field,
3677
+ {
3678
+ autoComplete: "off",
3679
+ type,
3680
+ raw,
3681
+ sizing,
3682
+ variant,
3683
+ shape,
3684
+ error,
3685
+ disabled,
3686
+ ...restProps
3687
+ }
3688
+ ), /* @__PURE__ */ import_react21.default.createElement(
3689
+ InnerWrapper,
3690
+ {
3691
+ "data-raw": Boolean(raw),
3692
+ "data-error": Boolean(error),
3693
+ "data-variant": variant,
3694
+ "data-shape": shape
3695
+ },
3696
+ /* @__PURE__ */ import_react21.default.createElement(
3697
+ InnerTrigger,
3698
+ {
3699
+ type: "button",
3700
+ "data-raw": Boolean(raw),
3701
+ "data-shape": shape,
3702
+ "data-error": Boolean(error),
3703
+ disabled,
3704
+ variant,
3705
+ onClick: handleChangeType,
3706
+ "aria-label": "password-field-trigger"
3707
+ },
3708
+ /* @__PURE__ */ import_react21.default.createElement(
3709
+ "svg",
3710
+ {
3711
+ viewBox: "0 0 24 24",
3712
+ width: "var(--fontsize-medium-10)",
3713
+ height: "var(--fontsize-medium-10)",
3714
+ stroke: "currentColor",
3715
+ "stroke-width": "2",
3716
+ fill: "none",
3717
+ "stroke-linecap": "round",
3718
+ "stroke-linejoin": "round",
3719
+ "aria-hidden": "true"
3720
+ },
3721
+ type === "password" ? /* @__PURE__ */ import_react21.default.createElement(ShowIcon, null) : /* @__PURE__ */ import_react21.default.createElement(HideIcon, null)
3722
+ )
3723
+ )
3724
+ ));
3725
+ };
3726
+ FieldPassword.displayName = "Field.Password";
3727
+ var FieldTag = (props) => {
3728
+ const {
3729
+ raw,
3730
+ sizing = "medium" /* Medium */,
3731
+ variant = "secondary" /* Secondary */,
3732
+ shape = "smooth" /* Smooth */,
3733
+ error,
3734
+ value,
3735
+ defaultValue,
3736
+ allowed,
3737
+ onChange,
3738
+ disabled = false,
3739
+ placeholder,
3740
+ id: idProp
3741
+ } = props;
3742
+ const { id: contextId } = useField();
3743
+ const id = idProp ?? contextId;
3744
+ const metaId = import_react21.default.useId();
3745
+ const isControlled = value !== void 0;
3746
+ const [internalTags, setInternalTags] = import_react21.default.useState(
3747
+ defaultValue ?? []
3748
+ );
3749
+ const [inputValue, setInputValue] = import_react21.default.useState("");
3750
+ const [focusedTagIndex, setFocusedTagIndex] = import_react21.default.useState(
3751
+ null
3752
+ );
3753
+ const inputRef = import_react21.default.useRef(null);
3754
+ const tagRefs = import_react21.default.useRef(/* @__PURE__ */ new Map());
3755
+ const tags = isControlled ? value : internalTags;
3756
+ const commitTags = import_react21.default.useCallback(
3757
+ (next) => {
3758
+ if (!isControlled) setInternalTags(next);
3759
+ onChange?.(next);
3760
+ },
3761
+ [isControlled, onChange]
3762
+ );
3763
+ const addTag = import_react21.default.useCallback(
3764
+ (label) => {
3765
+ const trimmed = label.trim();
3766
+ if (!trimmed) return;
3767
+ if (tags.some((t) => t.toLowerCase() === trimmed.toLowerCase())) {
3768
+ return;
3769
+ }
3770
+ if (!allowed?.some((a) => a.toLowerCase() === trimmed.toLowerCase())) {
3771
+ return;
3772
+ }
3773
+ commitTags([...tags, trimmed]);
3774
+ setInputValue("");
3775
+ },
3776
+ [tags, commitTags, allowed]
3777
+ );
3778
+ const removeTag = import_react21.default.useCallback(
3779
+ (index) => {
3780
+ const next = tags.filter((_, i) => i !== index);
3781
+ commitTags(next);
3782
+ setFocusedTagIndex(null);
3783
+ inputRef.current?.focus();
3784
+ },
3785
+ [tags, commitTags]
3786
+ );
3787
+ const handleInputKeyDown = (e) => {
3788
+ if (disabled) return;
3789
+ if (e.key === "Enter") {
3790
+ e.preventDefault();
3791
+ addTag(inputValue);
3792
+ return;
3793
+ }
3794
+ if ((e.key === "Backspace" || e.key === "Delete") && inputValue === "" && tags.length > 0) {
3795
+ e.preventDefault();
3796
+ const lastIndex = tags.length - 1;
3797
+ setFocusedTagIndex(lastIndex);
3798
+ tagRefs.current.get(lastIndex)?.focus();
3799
+ }
3800
+ };
3801
+ const handleTagKeyDown = (e, index) => {
3802
+ if (disabled) return;
3803
+ switch (e.key) {
3804
+ case "Backspace":
3805
+ case "Delete": {
3806
+ e.preventDefault();
3807
+ removeTag(index);
3808
+ break;
3809
+ }
3810
+ case "ArrowLeft": {
3811
+ e.preventDefault();
3812
+ if (index > 0) {
3813
+ const prev = index - 1;
3814
+ setFocusedTagIndex(prev);
3815
+ tagRefs.current.get(prev)?.focus();
3816
+ }
3817
+ break;
3818
+ }
3819
+ case "ArrowRight": {
3820
+ e.preventDefault();
3821
+ if (index < tags.length - 1) {
3822
+ const next = index + 1;
3823
+ setFocusedTagIndex(next);
3824
+ tagRefs.current.get(next)?.focus();
3825
+ } else {
3826
+ setFocusedTagIndex(null);
3827
+ inputRef.current?.focus();
3828
+ }
3829
+ break;
3830
+ }
3831
+ case "Escape": {
3832
+ e.preventDefault();
3833
+ setFocusedTagIndex(null);
3834
+ inputRef.current?.focus();
3835
+ break;
3836
+ }
3837
+ }
3838
+ };
3839
+ const handleWrapperClick = (e) => {
3840
+ const target = e.target;
3841
+ if (!target.closest("[data-tag]")) {
3842
+ inputRef.current?.focus();
3843
+ }
3844
+ };
3845
+ import_react21.default.useEffect(() => {
3846
+ if (isControlled && value) setInternalTags(value);
3847
+ }, [isControlled, value]);
3848
+ return /* @__PURE__ */ import_react21.default.createElement(
3849
+ ParentWrapper,
3850
+ {
3851
+ id,
3852
+ role: "group",
3853
+ "aria-invalid": !!error,
3854
+ "aria-describedby": metaId,
3855
+ "data-error": Boolean(error),
3856
+ "data-variant": variant,
3857
+ "data-size": sizing,
3858
+ "data-shape": shape,
3859
+ "data-raw": Boolean(raw),
3860
+ "data-disabled": disabled,
3861
+ "data-wrap": "true",
3862
+ onClick: handleWrapperClick
2386
3863
  },
2387
- children
3864
+ tags.map((tag, index) => /* @__PURE__ */ import_react21.default.createElement(
3865
+ InnerSegment,
3866
+ {
3867
+ key: `${tag}-${index}`,
3868
+ ref: (el) => tagRefs.current.set(index, el),
3869
+ role: "option",
3870
+ "aria-label": tag,
3871
+ "aria-selected": focusedTagIndex === index,
3872
+ tabIndex: disabled ? -1 : -1,
3873
+ "data-raw": Boolean(raw),
3874
+ "data-focused": focusedTagIndex === index,
3875
+ "data-tag": "true",
3876
+ onFocus: () => setFocusedTagIndex(index),
3877
+ onBlur: () => setFocusedTagIndex(null),
3878
+ onKeyDown: (e) => handleTagKeyDown(e, index)
3879
+ },
3880
+ /* @__PURE__ */ import_react21.default.createElement(Badge, { sizing: "small", variant: "border" }, tag, !disabled && /* @__PURE__ */ import_react21.default.createElement(
3881
+ Button,
3882
+ {
3883
+ variant: "ghost",
3884
+ sizing: "small",
3885
+ "aria-label": `Remove ${tag}`,
3886
+ "data-tag": "true",
3887
+ className: "m-l-small-60 ",
3888
+ onClick: (e) => {
3889
+ e.stopPropagation();
3890
+ removeTag(index);
3891
+ }
3892
+ },
3893
+ "\xD7"
3894
+ ))
3895
+ )),
3896
+ /* @__PURE__ */ import_react21.default.createElement(
3897
+ HiddenInput,
3898
+ {
3899
+ ref: inputRef,
3900
+ type: "text",
3901
+ value: inputValue,
3902
+ disabled,
3903
+ placeholder: tags.length === 0 ? placeholder : void 0,
3904
+ onChange: (e) => setInputValue(e.target.value),
3905
+ onKeyDown: handleInputKeyDown
3906
+ }
3907
+ )
2388
3908
  );
2389
3909
  };
2390
- FieldMeta.displayName = "Field.Meta";
3910
+ FieldTag.displayName = "Field.Tag";
2391
3911
  Field.Root = FieldRoot;
2392
3912
  Field.Wrapper = FieldWrapper;
2393
3913
  Field.Label = FieldLabel;
2394
3914
  Field.Meta = FieldMeta;
3915
+ Field.Number = FieldNumber;
3916
+ Field.Date = FieldDate;
3917
+ Field.File = FieldFile;
3918
+ Field.Password = FieldPassword;
3919
+ Field.Tag = FieldTag;
2395
3920
 
2396
3921
  // src/message-bubble/index.tsx
2397
3922
  var import_react23 = __toESM(require("react"));
@@ -2446,26 +3971,23 @@ var MessageBubbleBadge = (0, import_styled_components11.default)(Badge)`
2446
3971
  width: 100%;
2447
3972
  justify-self: flex-end;
2448
3973
  padding: var(--measurement-medium-30) var(--measurement-medium-50) !important;
2449
- border-radius: var(--measurement-medium-60) !important;
2450
3974
 
2451
3975
  &[data-side="left"] {
2452
- background-color: var(--contrast-color) !important;
2453
- border-bottom-left-radius: 0 !important;
3976
+ border-top-left-radius: 0 !important;
2454
3977
  }
2455
3978
 
2456
3979
  &[data-side="right"] {
2457
- background-color: var(--font-color-alpha-10) !important;
2458
- border-bottom-right-radius: 0 !important;
3980
+ border-top-right-radius: 0 !important;
2459
3981
  }
2460
3982
  `;
2461
3983
  var MessageBubbleContentWrapper = import_styled_components11.default.div`
2462
- line-height: 1.5;
3984
+ line-height: 1.3;
2463
3985
  font-weight: 500;
2464
3986
  word-break: keep-all;
2465
3987
  width: 100%;
2466
3988
 
2467
3989
  * {
2468
- font-size: var(--fontsize-medium-10) !important;
3990
+ font-size: inherit !important;
2469
3991
  }
2470
3992
  `;
2471
3993
  var MessageBubbleMetaWrapper = import_styled_components11.default.div`
@@ -2507,14 +4029,16 @@ var MessageBubble = (props) => {
2507
4029
  };
2508
4030
  MessageBubble.displayName = "MessageBubble";
2509
4031
  var MessageBubbleContent = (props) => {
2510
- const { children, raw, ...restProps } = props;
4032
+ const { sizing, shape, variant, children, raw, ...restProps } = props;
2511
4033
  const { id, states } = useMessageBubble();
2512
4034
  return /* @__PURE__ */ import_react23.default.createElement(
2513
4035
  MessageBubbleBadge,
2514
4036
  {
2515
- variant: "secondary",
2516
4037
  "data-raw": Boolean(raw),
2517
4038
  "data-side": states?.side,
4039
+ variant: variant ?? "border" /* Border */,
4040
+ shape: shape ?? "smooth" /* Smooth */,
4041
+ sizing: sizing ?? "medium" /* Medium */,
2518
4042
  "aria-label": `message-bubble-content-${id}`,
2519
4043
  ...restProps
2520
4044
  },
@@ -2535,6 +4059,7 @@ var MessageBubbleMeta = (props) => {
2535
4059
  "data-raw": Boolean(raw),
2536
4060
  "data-side": states?.side,
2537
4061
  "aria-label": `message-bubble-meta-${states?.side}`,
4062
+ className: "fs-small-60 opacity-default-60",
2538
4063
  ...restProps
2539
4064
  },
2540
4065
  formattedDate
@@ -2561,35 +4086,131 @@ var useOTPField = () => {
2561
4086
 
2562
4087
  // src/otp-field/styles/index.ts
2563
4088
  var import_styled_components12 = __toESM(require("styled-components"));
2564
- var OTPCell = import_styled_components12.default.input`
4089
+ var OTPShapeStyles = import_styled_components12.css`
4090
+ &[data-shape="square"] {
4091
+ border-radius: 0;
4092
+ }
4093
+ &[data-shape="smooth"] {
4094
+ border-radius: var(--measurement-medium-20);
4095
+ }
4096
+ &[data-shape="round"] {
4097
+ border-radius: var(--measurement-large-90);
4098
+ padding-left: var(--measurement-medium-50) !important;
4099
+ }
4100
+ `;
4101
+ var OTPCellDefaultStyles = import_styled_components12.css`
4102
+ outline: none;
4103
+ cursor: text;
4104
+ display: flex;
4105
+ align-items: center;
4106
+ justify-content: center;
4107
+ text-align: center;
4108
+ box-sizing: border-box;
4109
+
4110
+ font-size: var(--fontsize-medium-20);
4111
+
4112
+ padding: 0 var(--measurement-medium-30);
2565
4113
  width: var(--measurement-medium-90);
2566
4114
  height: var(--measurement-medium-90);
2567
- border: var(--measurement-small-10) solid var(--font-color-alpha-10);
2568
4115
 
2569
- border-radius: var(--measurement-medium-30);
4116
+ line-height: 1;
4117
+ letter-spacing: calc(
4118
+ var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
4119
+ );
4120
+
4121
+ border: var(--measurement-small-10) solid transparent;
4122
+
2570
4123
  backdrop-filter: blur(var(--measurement-small-10));
4124
+ color: var(--font-color-alpha-60);
2571
4125
 
2572
- text-align: center;
2573
- font-size: var(--fontsize-medium-10);
2574
- font-weight: 500;
4126
+ transition: all ease-in-out 0.2s;
4127
+
4128
+ svg,
4129
+ span,
4130
+ img {
4131
+ opacity: 0.6;
4132
+ }
4133
+
4134
+ &:hover,
4135
+ &:focus,
4136
+ &:active,
4137
+ &:focus-within,
4138
+ &:has(:active) {
4139
+ color: var(--font-color);
4140
+ svg,
4141
+ span,
4142
+ img {
4143
+ opacity: 1;
4144
+ }
4145
+ }
4146
+
4147
+ &::placeholder {
4148
+ color: var(--font-color-alpha-30);
4149
+ }
2575
4150
 
2576
- color: var(--font-color-alpha-10);
2577
- text-shadow: 0 0 0 var(--font-color);
4151
+ &:disabled,
4152
+ &:has(:disabled) {
4153
+ cursor: not-allowed;
4154
+ opacity: 0.6;
4155
+ }
2578
4156
 
2579
4157
  background-color: transparent;
2580
- transition: all 0.2s ease-in-out;
2581
- outline: none;
4158
+ border-color: var(--font-color-alpha-10);
2582
4159
 
2583
- &:focus:not(:active) {
2584
- background-color: var(--font-color-alpha-10);
4160
+ &:hover,
4161
+ &:focus,
4162
+ &:active,
4163
+ &:focus-within,
4164
+ &:has(:hover),
4165
+ &:has(:active) {
4166
+ border-color: var(--font-color-alpha-20);
4167
+ }
4168
+
4169
+ &:focus,
4170
+ &:active,
4171
+ &:focus-within,
4172
+ &:has(:active) {
4173
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-accent-30);
2585
4174
  }
2586
4175
 
2587
- &:hover:not(:active) {
4176
+ background-color: transparent;
4177
+ border-color: var(--font-color-alpha-10);
4178
+
4179
+ &:hover,
4180
+ &:focus,
4181
+ &:active,
4182
+ &:focus-within,
4183
+ &:has(:hover),
4184
+ &:has(:active) {
2588
4185
  border-color: var(--font-color-alpha-20);
2589
4186
  }
2590
4187
 
2591
- &::placeholder {
2592
- opacity: var(--opacity-default-10);
4188
+ &:focus,
4189
+ &:active,
4190
+ &:focus-within,
4191
+ &:has(:active) {
4192
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
4193
+ }
4194
+
4195
+ &[data-error="true"] {
4196
+ color: var(--color-red);
4197
+ border-color: var(--alpha-red-10);
4198
+
4199
+ &:hover,
4200
+ &:focus,
4201
+ &:active,
4202
+ &:focus-within,
4203
+ &:has(:hover),
4204
+ &:has(:active) {
4205
+ background-color: var(--alpha-red-10);
4206
+ box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
4207
+ }
4208
+ }
4209
+ `;
4210
+ var OTPCell = import_styled_components12.default.input`
4211
+ &[data-raw="false"] {
4212
+ ${OTPCellDefaultStyles}
4213
+ ${OTPShapeStyles}
2593
4214
  }
2594
4215
  `;
2595
4216
 
@@ -2699,6 +4320,8 @@ var OTPFieldGroup = import_react25.default.forwardRef(({ ...props }, ref) => {
2699
4320
  OTPFieldGroup.displayName = "OTPField.Group";
2700
4321
  var OTPFieldSlot = ({
2701
4322
  index,
4323
+ shape,
4324
+ raw,
2702
4325
  ...props
2703
4326
  }) => {
2704
4327
  const context = useOTPField();
@@ -2722,6 +4345,8 @@ var OTPFieldSlot = ({
2722
4345
  type: "text",
2723
4346
  "data-testid": "otp-field-slot",
2724
4347
  "data-active": activeIndex === index,
4348
+ "data-shape": shape ?? "smooth" /* Smooth */,
4349
+ "data-raw": Boolean(raw),
2725
4350
  autoComplete: "one-time-code",
2726
4351
  maxLength: 1,
2727
4352
  value: otp[index] || "",
@@ -2764,6 +4389,7 @@ var OverlayWrapper = import_styled_components13.default.div`
2764
4389
 
2765
4390
  &[data-raw="false"] {
2766
4391
  background-color: rgba(0, 0, 0, 0.6); // Always forced to black
4392
+
2767
4393
  animation-duration: 0.2s;
2768
4394
  animation-name: animate-fade;
2769
4395
  animation-fill-mode: backwards;
@@ -3056,55 +4682,19 @@ var Portal = (props) => {
3056
4682
  };
3057
4683
  Portal.displayName = "Portal";
3058
4684
 
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
4685
  // src/resizable/index.tsx
3096
- var import_react30 = __toESM(require("react"));
4686
+ var import_react29 = __toESM(require("react"));
3097
4687
 
3098
4688
  // src/resizable/styles/index.ts
3099
- var import_styled_components17 = __toESM(require("styled-components"));
3100
- var SplitContainer = import_styled_components17.default.div`
4689
+ var import_styled_components16 = __toESM(require("styled-components"));
4690
+ var SplitContainer = import_styled_components16.default.div`
3101
4691
  position: relative;
3102
4692
  `;
3103
- var Panel = import_styled_components17.default.div`
4693
+ var Panel = import_styled_components16.default.div`
3104
4694
  overflow: hidden;
3105
4695
  width: ${(props) => props.width}%;
3106
4696
  `;
3107
- var Divider2 = import_styled_components17.default.div`
4697
+ var Divider2 = import_styled_components16.default.div`
3108
4698
  width: var(--measurement-medium-10);
3109
4699
  height: 100%;
3110
4700
  top: 0;
@@ -3128,14 +4718,14 @@ var Divider2 = import_styled_components17.default.div`
3128
4718
  height: ${(props) => props.$dragging ? "var(--measurement-large-10)" : "var(--measurement-medium-60)"};
3129
4719
  }
3130
4720
  `;
3131
- var DragHandle = import_styled_components17.default.div`
4721
+ var DragHandle = import_styled_components16.default.div`
3132
4722
  position: absolute;
3133
4723
  top: 0;
3134
4724
  bottom: 0;
3135
4725
  left: calc(var(--measurement-medium-10) * -1);
3136
4726
  right: calc(var(--measurement-medium-10) * -1);
3137
4727
  `;
3138
- var DragIndicator = import_styled_components17.default.div`
4728
+ var DragIndicator = import_styled_components16.default.div`
3139
4729
  position: fixed;
3140
4730
  width: var(--measurement-medium-10);
3141
4731
  /* height: var(--measurement-medium-60); */
@@ -3145,7 +4735,7 @@ var DragIndicator = import_styled_components17.default.div`
3145
4735
  opacity: 0;
3146
4736
  transition: all 0.2s;
3147
4737
  `;
3148
- var DragOverlay = import_styled_components17.default.div`
4738
+ var DragOverlay = import_styled_components16.default.div`
3149
4739
  position: fixed;
3150
4740
  top: 0;
3151
4741
  left: 0;
@@ -3161,12 +4751,12 @@ var Resizable = ({
3161
4751
  left,
3162
4752
  right
3163
4753
  }) => {
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(
4754
+ const containerRef = import_react29.default.useRef(null);
4755
+ const [leftWidth, setLeftWidth] = import_react29.default.useState(defaultWidth ?? 50);
4756
+ const [isDragging, setIsDragging] = import_react29.default.useState(false);
4757
+ const handleMouseDown = import_react29.default.useCallback(() => setIsDragging(true), []);
4758
+ const handleMouseUp = import_react29.default.useCallback(() => setIsDragging(false), []);
4759
+ const handleMouseMove = import_react29.default.useCallback(
3170
4760
  (e) => {
3171
4761
  if (!isDragging || !containerRef.current) return;
3172
4762
  const containerRect = containerRef.current.getBoundingClientRect();
@@ -3180,7 +4770,7 @@ var Resizable = ({
3180
4770
  },
3181
4771
  [isDragging]
3182
4772
  );
3183
- import_react30.default.useEffect(() => {
4773
+ import_react29.default.useEffect(() => {
3184
4774
  if (isDragging) {
3185
4775
  document.addEventListener("mousemove", handleMouseMove);
3186
4776
  document.addEventListener("mouseup", handleMouseUp);
@@ -3199,47 +4789,47 @@ var Resizable = ({
3199
4789
  document.body.style.userSelect = "";
3200
4790
  };
3201
4791
  }, [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(
4792
+ 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
4793
  Divider2,
3204
4794
  {
3205
4795
  $dragging: isDragging,
3206
4796
  onMouseDown: handleMouseDown,
3207
4797
  onTouchStart: handleMouseDown
3208
4798
  },
3209
- /* @__PURE__ */ import_react30.default.createElement(
4799
+ /* @__PURE__ */ import_react29.default.createElement(
3210
4800
  DragHandle,
3211
4801
  {
3212
4802
  className: "flex align-center justify-center",
3213
4803
  id: "drag-handle"
3214
4804
  },
3215
- /* @__PURE__ */ import_react30.default.createElement(DragIndicator, { className: "drag-indicator-handle" })
4805
+ /* @__PURE__ */ import_react29.default.createElement(DragIndicator, { className: "drag-indicator-handle" })
3216
4806
  )
3217
- ), /* @__PURE__ */ import_react30.default.createElement(Panel, { width: 100 - leftWidth }, right)), isDragging && /* @__PURE__ */ import_react30.default.createElement(DragOverlay, null));
4807
+ ), /* @__PURE__ */ import_react29.default.createElement(Panel, { width: 100 - leftWidth }, right)), isDragging && /* @__PURE__ */ import_react29.default.createElement(DragOverlay, null));
3218
4808
  };
3219
4809
  Resizable.displayName = "Resizable";
3220
4810
 
3221
4811
  // src/sheet/index.tsx
3222
- var import_react32 = __toESM(require("react"));
4812
+ var import_react31 = __toESM(require("react"));
3223
4813
 
3224
4814
  // src/sheet/hooks/index.tsx
3225
- var import_react31 = __toESM(require("react"));
3226
- var SheetContext = import_react31.default.createContext({
4815
+ var import_react30 = __toESM(require("react"));
4816
+ var SheetContext = import_react30.default.createContext({
3227
4817
  id: {},
3228
4818
  states: {},
3229
4819
  methods: {}
3230
4820
  });
3231
- var useSheet = () => import_react31.default.useContext(SheetContext);
4821
+ var useSheet = () => import_react30.default.useContext(SheetContext);
3232
4822
  var SheetProvider = ({
3233
4823
  children
3234
4824
  }) => {
3235
4825
  const context = useSheetProvider();
3236
- return /* @__PURE__ */ import_react31.default.createElement(SheetContext.Provider, { value: context }, children);
4826
+ return /* @__PURE__ */ import_react30.default.createElement(SheetContext.Provider, { value: context }, children);
3237
4827
  };
3238
4828
  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);
4829
+ const containerId = import_react30.default.useId();
4830
+ const triggerId = import_react30.default.useId();
4831
+ const controlId = import_react30.default.useId();
4832
+ const [open, setOpen] = import_react30.default.useState(false);
3243
4833
  return {
3244
4834
  id: {
3245
4835
  containerId,
@@ -3257,8 +4847,8 @@ function useSheetProvider() {
3257
4847
  }
3258
4848
 
3259
4849
  // src/sheet/styles/index.ts
3260
- var import_styled_components18 = __toESM(require("styled-components"));
3261
- var SheetStyles = import_styled_components18.css`
4850
+ var import_styled_components17 = __toESM(require("styled-components"));
4851
+ var SheetStyles = import_styled_components17.css`
3262
4852
  all: unset;
3263
4853
  position: fixed;
3264
4854
  background-color: var(--body-color);
@@ -3289,7 +4879,7 @@ var SheetStyles = import_styled_components18.css`
3289
4879
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
3290
4880
  animation-fill-mode: backwards;
3291
4881
  `;
3292
- var SheetSizeStyles = import_styled_components18.css`
4882
+ var SheetSizeStyles = import_styled_components17.css`
3293
4883
  &[data-size="small"] {
3294
4884
  width: var(--measurement-large-80);
3295
4885
  }
@@ -3302,7 +4892,7 @@ var SheetSizeStyles = import_styled_components18.css`
3302
4892
  width: calc(var(--measurement-large-90) * 1.5);
3303
4893
  }
3304
4894
  `;
3305
- var SheetSideStyles = import_styled_components18.css`
4895
+ var SheetSideStyles = import_styled_components17.css`
3306
4896
  top: 0;
3307
4897
 
3308
4898
  &[data-side="right"] {
@@ -3317,7 +4907,7 @@ var SheetSideStyles = import_styled_components18.css`
3317
4907
  animation-name: slide-left;
3318
4908
  }
3319
4909
  `;
3320
- var SheetWrapper = import_styled_components18.default.dialog`
4910
+ var SheetWrapper = import_styled_components17.default.dialog`
3321
4911
  &[data-raw="false"] {
3322
4912
  ${SheetStyles}
3323
4913
  ${SheetSideStyles}
@@ -3327,7 +4917,7 @@ var SheetWrapper = import_styled_components18.default.dialog`
3327
4917
 
3328
4918
  // src/sheet/index.tsx
3329
4919
  var SheetRoot = ({ children }) => {
3330
- return /* @__PURE__ */ import_react32.default.createElement(SheetProvider, null, children);
4920
+ return /* @__PURE__ */ import_react31.default.createElement(SheetProvider, null, children);
3331
4921
  };
3332
4922
  SheetRoot.displayName = "Sheet.Root";
3333
4923
  var Sheet = (props) => {
@@ -3348,16 +4938,16 @@ var Sheet = (props) => {
3348
4938
  const { id, states, methods } = useSheet();
3349
4939
  const { toggle } = methods;
3350
4940
  const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
3351
- import_react32.default.useEffect(() => {
4941
+ import_react31.default.useEffect(() => {
3352
4942
  if (open && toggle) return toggle();
3353
4943
  }, [open]);
3354
- import_react32.default.useEffect(() => {
4944
+ import_react31.default.useEffect(() => {
3355
4945
  if (shortcut && shortcutControls && toggle) {
3356
4946
  return toggle();
3357
4947
  }
3358
4948
  }, [shortcutControls]);
3359
4949
  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(
4950
+ 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
4951
  SheetWrapper,
3362
4952
  {
3363
4953
  role: "dialog",
@@ -3374,7 +4964,7 @@ var Sheet = (props) => {
3374
4964
  ...restProps
3375
4965
  },
3376
4966
  children
3377
- ), overlay && /* @__PURE__ */ import_react32.default.createElement(
4967
+ ), overlay && /* @__PURE__ */ import_react31.default.createElement(
3378
4968
  Overlay,
3379
4969
  {
3380
4970
  onClick: () => toggle && toggle(!states.open),
@@ -3400,7 +4990,7 @@ var SheetTrigger = (props) => {
3400
4990
  if (onClick) onClick(event);
3401
4991
  if (toggle) toggle(!states.open);
3402
4992
  };
3403
- return /* @__PURE__ */ import_react32.default.createElement(
4993
+ return /* @__PURE__ */ import_react31.default.createElement(
3404
4994
  Button,
3405
4995
  {
3406
4996
  id: id.triggerId,
@@ -3420,11 +5010,11 @@ Sheet.Root = SheetRoot;
3420
5010
  Sheet.Trigger = SheetTrigger;
3421
5011
 
3422
5012
  // src/shimmer/index.tsx
3423
- var import_react33 = __toESM(require("react"));
5013
+ var import_react32 = __toESM(require("react"));
3424
5014
 
3425
5015
  // src/shimmer/styles/index.ts
3426
- var import_styled_components19 = __toESM(require("styled-components"));
3427
- var shimmer = import_styled_components19.keyframes`
5016
+ var import_styled_components18 = __toESM(require("styled-components"));
5017
+ var shimmer = import_styled_components18.keyframes`
3428
5018
  0% {
3429
5019
  background-position: 200% center;
3430
5020
  }
@@ -3432,7 +5022,7 @@ var shimmer = import_styled_components19.keyframes`
3432
5022
  background-position: -200% center;
3433
5023
  }
3434
5024
  `;
3435
- var TextShimmerWrapper = import_styled_components19.default.span`
5025
+ var TextShimmerWrapper = import_styled_components18.default.span`
3436
5026
  background: linear-gradient(
3437
5027
  90deg,
3438
5028
  ${({ "data-base-color": baseColor }) => baseColor} 0%,
@@ -3465,7 +5055,7 @@ var Shimmer = (props) => {
3465
5055
  baseColor = DEFAULT_BASE_COLOR,
3466
5056
  ...restProps
3467
5057
  } = props;
3468
- return /* @__PURE__ */ import_react33.default.createElement(
5058
+ return /* @__PURE__ */ import_react32.default.createElement(
3469
5059
  TextShimmerWrapper,
3470
5060
  {
3471
5061
  "data-raw": Boolean(raw),
@@ -3482,13 +5072,13 @@ var Shimmer = (props) => {
3482
5072
  Shimmer.displayName = "Shimmer";
3483
5073
 
3484
5074
  // src/scrollarea/index.tsx
3485
- var import_react34 = __toESM(require("react"));
5075
+ var import_react33 = __toESM(require("react"));
3486
5076
  var ScrollArea = ({
3487
5077
  scrollbar = false,
3488
5078
  children,
3489
5079
  ...restProps
3490
5080
  }) => {
3491
- return /* @__PURE__ */ import_react34.default.createElement(
5081
+ return /* @__PURE__ */ import_react33.default.createElement(
3492
5082
  ScrollAreaWrapper,
3493
5083
  {
3494
5084
  "aria-hidden": "true",
@@ -3500,59 +5090,84 @@ var ScrollArea = ({
3500
5090
  };
3501
5091
 
3502
5092
  // src/spinner/index.tsx
3503
- var import_react35 = __toESM(require("react"));
5093
+ var import_react34 = __toESM(require("react"));
3504
5094
 
3505
5095
  // 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
- }
5096
+ var import_styled_components19 = __toESM(require("styled-components"));
5097
+ var Rotate = import_styled_components19.keyframes`
5098
+ 0% { transform: rotate(0deg); }
5099
+ 100% { transform: rotate(360deg); }
3514
5100
  `;
3515
- var FieldSizeStyles2 = import_styled_components20.css`
5101
+ var SpinnerSizeStyles = import_styled_components19.css`
3516
5102
  &[data-size="small"] {
3517
- width: var(--measurement-medium-40);
3518
- height: var(--measurement-medium-40);
5103
+ width: 12px;
5104
+ height: 12px;
3519
5105
  }
3520
5106
  &[data-size="medium"] {
3521
- width: var(--measurement-medium-50);
3522
- height: var(--measurement-medium-50);
5107
+ width: 18px;
5108
+ height: 18px;
3523
5109
  }
3524
5110
  &[data-size="large"] {
3525
- width: var(--measurement-medium-60);
3526
- height: var(--measurement-medium-60);
5111
+ width: 24px;
5112
+ height: 24px;
3527
5113
  }
3528
5114
  `;
3529
- var RotatingSpinner = import_styled_components20.default.span`
3530
- padding: 0;
3531
- margin: 0;
3532
-
3533
- display: inline-block;
3534
- box-sizing: border-box;
5115
+ var CircleStyles = import_styled_components19.css`
5116
+ border: var(--measurement-small-80) solid var(--font-color-alpha-10);
5117
+ border-bottom-color: transparent;
5118
+ border-radius: var(--measurement-large-90);
3535
5119
 
5120
+ animation: ${Rotate} 0.8s linear infinite;
5121
+ `;
5122
+ var CircleFilledStyles = import_styled_components19.css`
3536
5123
  border: var(--measurement-small-60) solid var(--font-color-alpha-30);
5124
+
5125
+ border-top-color: transparent;
5126
+ border-right-color: transparent;
3537
5127
  border-bottom-color: transparent;
5128
+
3538
5129
  border-radius: var(--measurement-large-90);
5130
+ background-color: var(--font-color-alpha-10);
5131
+
5132
+ &::before {
5133
+ position: absolute;
5134
+ content: "";
5135
+ width: 100%;
5136
+ height: 100%;
5137
+ background-color: var(--body-color);
5138
+ border-radius: var(--measurement-large-90);
5139
+ }
3539
5140
 
3540
- animation: ${Rotate} 1s linear infinite;
5141
+ animation: ${Rotate} 0.8s linear infinite;
5142
+ `;
5143
+ var AnimatedSpinner = import_styled_components19.default.div`
5144
+ ${SpinnerSizeStyles}
3541
5145
 
3542
- ${FieldSizeStyles2}
5146
+ &[data-variant="circle"] {
5147
+ ${CircleStyles}
5148
+ }
5149
+ &[data-variant="circle-filled"] {
5150
+ ${CircleFilledStyles}
5151
+ }
3543
5152
  `;
3544
5153
 
3545
5154
  // src/spinner/index.tsx
3546
5155
  var Spinner = (props) => {
3547
- return /* @__PURE__ */ import_react35.default.createElement(RotatingSpinner, { "data-size": props.sizing ?? "medium" });
5156
+ return /* @__PURE__ */ import_react34.default.createElement(
5157
+ AnimatedSpinner,
5158
+ {
5159
+ "data-variant": props?.variant ?? "circle",
5160
+ "data-size": props?.sizing ?? "medium"
5161
+ }
5162
+ );
3548
5163
  };
3549
5164
 
3550
5165
  // src/skeleton/index.tsx
3551
- var import_react36 = __toESM(require("react"));
5166
+ var import_react35 = __toESM(require("react"));
3552
5167
 
3553
5168
  // src/skeleton/styles/index.ts
3554
- var import_styled_components21 = __toESM(require("styled-components"));
3555
- var SkeletonBlink = import_styled_components21.keyframes`
5169
+ var import_styled_components20 = __toESM(require("styled-components"));
5170
+ var SkeletonBlink = import_styled_components20.keyframes`
3556
5171
  0% {
3557
5172
  opacity: 0.3;
3558
5173
  }
@@ -3560,7 +5175,7 @@ var SkeletonBlink = import_styled_components21.keyframes`
3560
5175
  opacity: 0.1;
3561
5176
  }
3562
5177
  `;
3563
- var SkeletonBaseStyles = import_styled_components21.css`
5178
+ var SkeletonBaseStyles = import_styled_components20.css`
3564
5179
  background: linear-gradient(
3565
5180
  45deg,
3566
5181
  var(--font-color-alpha-10),
@@ -3568,7 +5183,7 @@ var SkeletonBaseStyles = import_styled_components21.css`
3568
5183
  );
3569
5184
  animation: ${SkeletonBlink} 1s ease-in-out alternate-reverse infinite;
3570
5185
  `;
3571
- var SkeletonSizeStyles = import_styled_components21.css`
5186
+ var SkeletonSizeStyles = import_styled_components20.css`
3572
5187
  &[data-size="small"] {
3573
5188
  width: 100%;
3574
5189
 
@@ -3586,7 +5201,7 @@ var SkeletonSizeStyles = import_styled_components21.css`
3586
5201
  min-height: var(--measurement-medium-90);
3587
5202
  }
3588
5203
  `;
3589
- var SkeletonShapeStyles = import_styled_components21.css`
5204
+ var SkeletonShapeStyles = import_styled_components20.css`
3590
5205
  &[data-shape="square"] {
3591
5206
  border-radius: 0;
3592
5207
  }
@@ -3597,7 +5212,7 @@ var SkeletonShapeStyles = import_styled_components21.css`
3597
5212
  border-radius: var(--measurement-large-90);
3598
5213
  }
3599
5214
  `;
3600
- var SkeletonLoader = import_styled_components21.default.span`
5215
+ var SkeletonLoader = import_styled_components20.default.span`
3601
5216
  ${SkeletonBaseStyles}
3602
5217
  ${SkeletonSizeStyles}
3603
5218
  ${SkeletonShapeStyles}
@@ -3607,10 +5222,10 @@ var SkeletonLoader = import_styled_components21.default.span`
3607
5222
  var Skeleton = (props) => {
3608
5223
  const {
3609
5224
  sizing = "medium" /* Medium */,
3610
- shape = "smooth",
5225
+ shape = "smooth" /* Smooth */,
3611
5226
  ...restProps
3612
5227
  } = props;
3613
- return /* @__PURE__ */ import_react36.default.createElement(
5228
+ return /* @__PURE__ */ import_react35.default.createElement(
3614
5229
  SkeletonLoader,
3615
5230
  {
3616
5231
  "data-size": sizing,
@@ -3623,26 +5238,26 @@ var Skeleton = (props) => {
3623
5238
  Skeleton.displayName = "Skeleton";
3624
5239
 
3625
5240
  // src/switch/index.tsx
3626
- var import_react38 = __toESM(require("react"));
5241
+ var import_react37 = __toESM(require("react"));
3627
5242
 
3628
5243
  // src/switch/hooks/index.tsx
3629
- var import_react37 = __toESM(require("react"));
5244
+ var import_react36 = __toESM(require("react"));
3630
5245
  var defaultComponentAPI7 = {
3631
5246
  id: "",
3632
5247
  states: {},
3633
5248
  methods: {}
3634
5249
  };
3635
- var SwitchContext = (0, import_react37.createContext)(defaultComponentAPI7);
3636
- var useSwitch = () => (0, import_react37.useContext)(SwitchContext);
5250
+ var SwitchContext = (0, import_react36.createContext)(defaultComponentAPI7);
5251
+ var useSwitch = () => (0, import_react36.useContext)(SwitchContext);
3637
5252
  var SwitchProvider = ({
3638
5253
  children
3639
5254
  }) => {
3640
5255
  const context = useSwitchProvider();
3641
- return /* @__PURE__ */ import_react37.default.createElement(SwitchContext.Provider, { value: context }, children);
5256
+ return /* @__PURE__ */ import_react36.default.createElement(SwitchContext.Provider, { value: context }, children);
3642
5257
  };
3643
5258
  function useSwitchProvider() {
3644
- const [checked, setChecked] = (0, import_react37.useState)(false);
3645
- const switchId = import_react37.default.useId();
5259
+ const [checked, setChecked] = (0, import_react36.useState)(false);
5260
+ const switchId = import_react36.default.useId();
3646
5261
  return {
3647
5262
  id: switchId,
3648
5263
  states: {
@@ -3655,8 +5270,8 @@ function useSwitchProvider() {
3655
5270
  }
3656
5271
 
3657
5272
  // src/switch/styles/index.ts
3658
- var import_styled_components22 = __toESM(require("styled-components"));
3659
- var SwitchDefaultStyles = import_styled_components22.css`
5273
+ var import_styled_components21 = __toESM(require("styled-components"));
5274
+ var SwitchDefaultStyles = import_styled_components21.css`
3660
5275
  all: unset;
3661
5276
 
3662
5277
  border: var(--measurement-small-10) solid transparent;
@@ -3670,105 +5285,105 @@ var SwitchDefaultStyles = import_styled_components22.css`
3670
5285
  opacity: 0.6;
3671
5286
  }
3672
5287
  `;
3673
- var SwitchVariantsStyles = import_styled_components22.css`
3674
- &[data-variant="primary"] {
5288
+ var SwitchVariantsStyles = import_styled_components21.css`
5289
+ &[data-variant="accent"] {
3675
5290
  &[aria-checked="true"] {
3676
- background-color: var(--color-green);
3677
- border-color: var(--font-color-alpha-10);
5291
+ background-color: var(--color-accent);
5292
+ border-color: var(--alpha-accent-10);
3678
5293
  }
3679
5294
  &[aria-checked="false"] {
3680
5295
  background-color: var(--font-color-alpha-10);
3681
5296
  border-color: var(--font-color-alpha-10);
3682
5297
  }
3683
5298
  }
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"] {
5299
+ &[data-variant="primary"] {
3695
5300
  &[aria-checked="true"] {
5301
+ background-color: var(--color-green);
3696
5302
  border-color: var(--font-color-alpha-10);
3697
- background-color: var(--body-color-alpha-10);
3698
5303
  }
3699
5304
  &[aria-checked="false"] {
5305
+ background-color: var(--font-color-alpha-10);
3700
5306
  border-color: var(--font-color-alpha-10);
3701
5307
  }
3702
5308
  }
3703
5309
  `;
3704
- var SwitchSizeStyles = import_styled_components22.css`
5310
+ var SwitchSizeStyles = import_styled_components21.css`
3705
5311
  &[data-size="small"] {
3706
- width: calc(var(--measurement-medium-60) * 1.33);
3707
- height: var(--measurement-medium-50);
5312
+ --thumb-size: calc(
5313
+ var(--measurement-medium-40) - var(--measurement-small-10)
5314
+ );
5315
+
5316
+ padding: 0 var(--measurement-small-10);
5317
+ width: calc(var(--thumb-size) * 2);
5318
+ height: var(--measurement-medium-40);
3708
5319
 
3709
5320
  span {
3710
- width: var(--measurement-medium-40);
3711
- height: var(--measurement-medium-40);
5321
+ width: var(--thumb-size);
5322
+ height: var(--thumb-size);
5323
+
3712
5324
  &[data-checked="true"] {
3713
- transform: translateX(var(--measurement-medium-40));
3714
- }
3715
- &[data-checked="false"] {
3716
- transform: translateX(var(--measurement-small-60));
5325
+ transform: translateX(var(--thumb-size));
3717
5326
  }
3718
5327
  }
3719
5328
  }
3720
-
3721
5329
  &[data-size="medium"] {
3722
- width: calc(var(--measurement-medium-60) * 1.66);
5330
+ --thumb-size: calc(
5331
+ var(--measurement-medium-60) - var(--measurement-small-10)
5332
+ );
5333
+
5334
+ padding: 0 var(--measurement-small-10);
5335
+ width: calc(var(--thumb-size) * 2);
3723
5336
  height: var(--measurement-medium-60);
3724
5337
 
3725
5338
  span {
3726
- width: var(--measurement-medium-50);
3727
- height: var(--measurement-medium-50);
5339
+ width: var(--thumb-size);
5340
+ height: var(--thumb-size);
5341
+
3728
5342
  &[data-checked="true"] {
3729
- transform: translateX(var(--measurement-medium-50));
3730
- }
3731
- &[data-checked="false"] {
3732
- transform: translateX(var(--measurement-small-60));
5343
+ transform: translateX(var(--thumb-size));
3733
5344
  }
3734
5345
  }
3735
5346
  }
3736
-
3737
5347
  &[data-size="large"] {
3738
- width: calc(var(--measurement-medium-60) * 2.33);
5348
+ --thumb-size: calc(
5349
+ var(--measurement-medium-70) - var(--measurement-small-30)
5350
+ );
5351
+
5352
+ padding: 0 var(--measurement-small-30);
5353
+ width: calc(var(--thumb-size) * 2);
3739
5354
  height: var(--measurement-medium-70);
3740
5355
 
3741
5356
  span {
3742
- width: var(--measurement-medium-60);
3743
- height: var(--measurement-medium-60);
5357
+ width: var(--thumb-size);
5358
+ height: var(--thumb-size);
5359
+
3744
5360
  &[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));
5361
+ transform: translateX(var(--thumb-size));
3749
5362
  }
3750
5363
  }
3751
5364
  }
3752
5365
  `;
3753
- var TriggerWrapper = import_styled_components22.default.button`
5366
+ var TriggerWrapper = import_styled_components21.default.button`
3754
5367
  &[data-raw="false"] {
3755
5368
  ${SwitchDefaultStyles}
3756
5369
  ${SwitchVariantsStyles}
3757
5370
  ${SwitchSizeStyles}
3758
5371
  }
3759
5372
  `;
3760
- var Thumb = import_styled_components22.default.span`
5373
+ var Thumb = import_styled_components21.default.span`
3761
5374
  &[data-raw="false"] {
3762
5375
  all: unset;
3763
5376
  display: block;
3764
5377
 
3765
- background: var(--font-color-alpha-60);
3766
- border-radius: 100%;
3767
- transition: all 0.1s ease-in-out 0.2s;
5378
+ background: white;
5379
+ border-radius: var(--measurement-large-90);
5380
+ box-shadow:
5381
+ 0 var(--measurement-small-30) var(--measurement-small-80)
5382
+ var(--alpha-mono-darkest-10),
5383
+ 0 var(--measurement-small-30) var(--measurement-small-60)
5384
+ calc(var(--measurement-small-30) * -1) var(--alpha-mono-darkest-10);
3768
5385
 
3769
- &[data-checked="true"] {
3770
- background: var(--font-color);
3771
- }
5386
+ transition: all 0.1s ease-in-out 0.2s;
3772
5387
  }
3773
5388
  `;
3774
5389
 
@@ -3791,10 +5406,10 @@ var Switch = (props) => {
3791
5406
  if (onClick) onClick(event);
3792
5407
  if (toggleSwitch) toggleSwitch();
3793
5408
  };
3794
- import_react38.default.useEffect(() => {
5409
+ import_react37.default.useEffect(() => {
3795
5410
  if (defaultChecked && toggleSwitch) toggleSwitch();
3796
5411
  }, [defaultChecked]);
3797
- return /* @__PURE__ */ import_react38.default.createElement(
5412
+ return /* @__PURE__ */ import_react37.default.createElement(
3798
5413
  TriggerWrapper,
3799
5414
  {
3800
5415
  type: "button",
@@ -3810,19 +5425,19 @@ var Switch = (props) => {
3810
5425
  "data-raw": Boolean(raw),
3811
5426
  ...restProps
3812
5427
  },
3813
- /* @__PURE__ */ import_react38.default.createElement("title", null, "Switch"),
5428
+ /* @__PURE__ */ import_react37.default.createElement("title", null, "Switch"),
3814
5429
  children
3815
5430
  );
3816
5431
  };
3817
5432
  Switch.displayName = "Switch";
3818
5433
  var SwitchRoot = ({ children }) => {
3819
- return /* @__PURE__ */ import_react38.default.createElement(SwitchProvider, null, children);
5434
+ return /* @__PURE__ */ import_react37.default.createElement(SwitchProvider, null, children);
3820
5435
  };
3821
5436
  SwitchRoot.displayName = "Switch.Root";
3822
5437
  var SwitchThumb = (props) => {
3823
5438
  const { raw, sizing } = props;
3824
5439
  const { id, states } = useSwitch();
3825
- return /* @__PURE__ */ import_react38.default.createElement(
5440
+ return /* @__PURE__ */ import_react37.default.createElement(
3826
5441
  Thumb,
3827
5442
  {
3828
5443
  role: "presentation",
@@ -3842,11 +5457,11 @@ Switch.Root = SwitchRoot;
3842
5457
  Switch.Thumb = SwitchThumb;
3843
5458
 
3844
5459
  // src/table/index.tsx
3845
- var import_react39 = __toESM(require("react"));
5460
+ var import_react38 = __toESM(require("react"));
3846
5461
 
3847
5462
  // src/table/styles/index.ts
3848
- var import_styled_components23 = __toESM(require("styled-components"));
3849
- var CellStyles = import_styled_components23.css`
5463
+ var import_styled_components22 = __toESM(require("styled-components"));
5464
+ var CellStyles = import_styled_components22.css`
3850
5465
  box-sizing: border-box;
3851
5466
  border: none;
3852
5467
  line-height: 1;
@@ -3856,11 +5471,11 @@ var CellStyles = import_styled_components23.css`
3856
5471
  var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
3857
5472
  );
3858
5473
  `;
3859
- var TableLayer = import_styled_components23.default.div`
5474
+ var TableLayer = import_styled_components22.default.div`
3860
5475
  border-radius: var(--measurement-medium-30);
3861
5476
  border: var(--measurement-small-10) solid var(--font-color-alpha-10);
3862
5477
  `;
3863
- var TableWrapper = import_styled_components23.default.table`
5478
+ var TableWrapper = import_styled_components22.default.table`
3864
5479
  border-collapse: collapse;
3865
5480
 
3866
5481
  tbody {
@@ -3871,7 +5486,7 @@ var TableWrapper = import_styled_components23.default.table`
3871
5486
  }
3872
5487
  }
3873
5488
  `;
3874
- var RowWrapper = import_styled_components23.default.tr`
5489
+ var RowWrapper = import_styled_components22.default.tr`
3875
5490
  border-bottom: var(--measurement-small-10) solid var(--font-color-alpha-10);
3876
5491
 
3877
5492
  transition: background-color linear 0.1s;
@@ -3880,7 +5495,7 @@ var RowWrapper = import_styled_components23.default.tr`
3880
5495
  background-color: var(--font-color-alpha-10);
3881
5496
  }
3882
5497
  `;
3883
- var HeadCellWrapper = import_styled_components23.default.th`
5498
+ var HeadCellWrapper = import_styled_components22.default.th`
3884
5499
  font-size: var(--fontsize-medium-10);
3885
5500
  ${CellStyles}
3886
5501
 
@@ -3888,7 +5503,7 @@ var HeadCellWrapper = import_styled_components23.default.th`
3888
5503
  color: var(--font-color-alpha-60);
3889
5504
  }
3890
5505
  `;
3891
- var CellWrapper = import_styled_components23.default.td`
5506
+ var CellWrapper = import_styled_components22.default.td`
3892
5507
  ${CellStyles}
3893
5508
  `;
3894
5509
 
@@ -3897,43 +5512,43 @@ var Table = ({
3897
5512
  children,
3898
5513
  ...restProps
3899
5514
  }) => {
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));
5515
+ 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
5516
  };
3902
5517
  Table.displayName = "Table";
3903
5518
  var TableHead = ({
3904
5519
  children,
3905
5520
  ...restProps
3906
5521
  }) => {
3907
- return /* @__PURE__ */ import_react39.default.createElement("thead", { ...restProps }, children);
5522
+ return /* @__PURE__ */ import_react38.default.createElement("thead", { ...restProps }, children);
3908
5523
  };
3909
5524
  TableHead.displayName = "Table.Head";
3910
5525
  var TableBody = ({
3911
5526
  children,
3912
5527
  ...restProps
3913
5528
  }) => {
3914
- return /* @__PURE__ */ import_react39.default.createElement("tbody", { ...restProps }, children);
5529
+ return /* @__PURE__ */ import_react38.default.createElement("tbody", { ...restProps }, children);
3915
5530
  };
3916
5531
  TableBody.displayName = "Table.Body";
3917
5532
  var TableHeadCell = ({
3918
5533
  children,
3919
5534
  ...restProps
3920
5535
  }) => {
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));
5536
+ 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
5537
  };
3923
5538
  TableHeadCell.displayName = "Table.HeadCell";
3924
5539
  var TableRow = ({ children, ...restProps }) => {
3925
- return /* @__PURE__ */ import_react39.default.createElement(RowWrapper, { className: "p-medium-30", ...restProps }, children);
5540
+ return /* @__PURE__ */ import_react38.default.createElement(RowWrapper, { className: "p-medium-30", ...restProps }, children);
3926
5541
  };
3927
5542
  TableRow.displayName = "Table.Row";
3928
5543
  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));
5544
+ return /* @__PURE__ */ import_react38.default.createElement(CellWrapper, { ...restProps }, /* @__PURE__ */ import_react38.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
3930
5545
  };
3931
5546
  TableCell.displayName = "Table.Cell";
3932
5547
  var TableFooter = ({
3933
5548
  children,
3934
5549
  ...restProps
3935
5550
  }) => {
3936
- return /* @__PURE__ */ import_react39.default.createElement("tfoot", { ...restProps }, children);
5551
+ return /* @__PURE__ */ import_react38.default.createElement("tfoot", { ...restProps }, children);
3937
5552
  };
3938
5553
  TableFooter.displayName = "Table.Footer";
3939
5554
  Table.Head = TableHead;
@@ -3944,26 +5559,26 @@ Table.Cell = TableCell;
3944
5559
  Table.Footer = TableFooter;
3945
5560
 
3946
5561
  // src/tabs/index.tsx
3947
- var import_react41 = __toESM(require("react"));
5562
+ var import_react40 = __toESM(require("react"));
3948
5563
 
3949
5564
  // src/tabs/hooks/index.tsx
3950
- var import_react40 = __toESM(require("react"));
5565
+ var import_react39 = __toESM(require("react"));
3951
5566
  var defaultComponentAPI8 = {
3952
5567
  id: "",
3953
5568
  states: {},
3954
5569
  methods: {}
3955
5570
  };
3956
- var TabsContext = (0, import_react40.createContext)(defaultComponentAPI8);
3957
- var useTabs = () => (0, import_react40.useContext)(TabsContext);
5571
+ var TabsContext = (0, import_react39.createContext)(defaultComponentAPI8);
5572
+ var useTabs = () => (0, import_react39.useContext)(TabsContext);
3958
5573
  var TabsProvider = ({
3959
5574
  children
3960
5575
  }) => {
3961
5576
  const context = useTabsProvider();
3962
- return /* @__PURE__ */ import_react40.default.createElement(TabsContext.Provider, { value: context }, children);
5577
+ return /* @__PURE__ */ import_react39.default.createElement(TabsContext.Provider, { value: context }, children);
3963
5578
  };
3964
5579
  function useTabsProvider() {
3965
- const [value, setValue] = (0, import_react40.useState)(null);
3966
- const tabsId = import_react40.default.useId();
5580
+ const [value, setValue] = (0, import_react39.useState)(null);
5581
+ const tabsId = import_react39.default.useId();
3967
5582
  return {
3968
5583
  id: tabsId,
3969
5584
  states: {
@@ -3977,8 +5592,8 @@ function useTabsProvider() {
3977
5592
  }
3978
5593
 
3979
5594
  // src/tabs/styles/index.ts
3980
- var import_styled_components24 = __toESM(require("styled-components"));
3981
- var TabWrapper = import_styled_components24.default.div`
5595
+ var import_styled_components23 = __toESM(require("styled-components"));
5596
+ var TabWrapper = import_styled_components23.default.div`
3982
5597
  button {
3983
5598
  &[aria-selected="true"] {
3984
5599
  color: var(--font-color) !important;
@@ -3991,22 +5606,22 @@ var Tabs = (props) => {
3991
5606
  const { defaultOpen, children, ...restProps } = props;
3992
5607
  const { methods } = useTabs();
3993
5608
  const { applyValue } = methods;
3994
- const childArray = import_react41.Children.toArray(children);
5609
+ const childArray = import_react40.Children.toArray(children);
3995
5610
  const firstChild = childArray[0];
3996
- import_react41.default.useEffect(() => {
3997
- if (import_react41.default.isValidElement(firstChild)) {
5611
+ import_react40.default.useEffect(() => {
5612
+ if (import_react40.default.isValidElement(firstChild)) {
3998
5613
  if (childArray.length > 0 && applyValue)
3999
5614
  applyValue(firstChild.props.value);
4000
5615
  }
4001
5616
  }, []);
4002
- import_react41.default.useEffect(() => {
5617
+ import_react40.default.useEffect(() => {
4003
5618
  if (defaultOpen && applyValue) applyValue(defaultOpen);
4004
5619
  }, []);
4005
- return /* @__PURE__ */ import_react41.default.createElement(TabWrapper, { role: "tablist", ...restProps }, children);
5620
+ return /* @__PURE__ */ import_react40.default.createElement(TabWrapper, { role: "tablist", ...restProps }, children);
4006
5621
  };
4007
5622
  Tabs.displayName = "Tabs";
4008
5623
  var TabsRoot = ({ children }) => {
4009
- return /* @__PURE__ */ import_react41.default.createElement(TabsProvider, null, children);
5624
+ return /* @__PURE__ */ import_react40.default.createElement(TabsProvider, null, children);
4010
5625
  };
4011
5626
  TabsRoot.displayName = "Tabs.Root";
4012
5627
  var TabsTrigger = (props) => {
@@ -4022,7 +5637,7 @@ var TabsTrigger = (props) => {
4022
5637
  if (applyValue) applyValue(value);
4023
5638
  if (onClick) onClick(event);
4024
5639
  };
4025
- return /* @__PURE__ */ import_react41.default.createElement(
5640
+ return /* @__PURE__ */ import_react40.default.createElement(
4026
5641
  Button,
4027
5642
  {
4028
5643
  type: "button",
@@ -4050,7 +5665,7 @@ var TabsContent = (props) => {
4050
5665
  trigger: getTabsId && getTabsId({ value, type: "trigger" }),
4051
5666
  content: getTabsId && getTabsId({ value, type: "content" })
4052
5667
  };
4053
- return /* @__PURE__ */ import_react41.default.createElement(
5668
+ return /* @__PURE__ */ import_react40.default.createElement(
4054
5669
  "div",
4055
5670
  {
4056
5671
  tabIndex: 0,
@@ -4071,11 +5686,11 @@ Tabs.Trigger = TabsTrigger;
4071
5686
  Tabs.Content = TabsContent;
4072
5687
 
4073
5688
  // src/text-area/index.tsx
4074
- var import_react42 = __toESM(require("react"));
5689
+ var import_react41 = __toESM(require("react"));
4075
5690
 
4076
5691
  // src/text-area/styles/index.ts
4077
- var import_styled_components25 = __toESM(require("styled-components"));
4078
- var CustomScrollbar2 = import_styled_components25.css`
5692
+ var import_styled_components24 = __toESM(require("styled-components"));
5693
+ var CustomScrollbar2 = import_styled_components24.css`
4079
5694
  height: ${({ $height }) => $height ?? "100%"};
4080
5695
  width: ${({ $width }) => $width ?? "100%"};
4081
5696
  overflow-y: auto;
@@ -4107,7 +5722,7 @@ var CustomScrollbar2 = import_styled_components25.css`
4107
5722
  scrollbar-width: thin;
4108
5723
  scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor ?? "var(--font-color-alpha-10)"} ${$trackColor ?? "transparent"}`};
4109
5724
  `;
4110
- var TextareaSizeStyles = import_styled_components25.css`
5725
+ var TextareaSizeStyles = import_styled_components24.css`
4111
5726
  padding: var(--measurement-medium-30);
4112
5727
  max-height: var(--measurement-large-60);
4113
5728
 
@@ -4122,7 +5737,7 @@ var TextareaSizeStyles = import_styled_components25.css`
4122
5737
  max-height: var(--measurement-large-80);
4123
5738
  }
4124
5739
  `;
4125
- var TextareaResizableStyles = import_styled_components25.css`
5740
+ var TextareaResizableStyles = import_styled_components24.css`
4126
5741
  &[data-resizable="true"] {
4127
5742
  resize: vertical;
4128
5743
  }
@@ -4130,7 +5745,7 @@ var TextareaResizableStyles = import_styled_components25.css`
4130
5745
  resize: none;
4131
5746
  }
4132
5747
  `;
4133
- var TextAreaContainer = import_styled_components25.default.textarea`
5748
+ var TextAreaContainer = import_styled_components24.default.textarea`
4134
5749
  &[data-raw="false"] {
4135
5750
  ${FieldDefaultStyles}
4136
5751
  ${FieldShapeStyles}
@@ -4146,7 +5761,7 @@ var TextAreaContainer = import_styled_components25.default.textarea`
4146
5761
  // src/text-area/index.tsx
4147
5762
  var Textarea = (props) => {
4148
5763
  const { raw, shape, sizing, variant, resizable, onChange } = props;
4149
- const textareaRef = import_react42.default.useRef(null);
5764
+ const textareaRef = import_react41.default.useRef(null);
4150
5765
  const adjustHeight = () => {
4151
5766
  const textarea = textareaRef.current;
4152
5767
  if (textarea) {
@@ -4161,14 +5776,14 @@ var Textarea = (props) => {
4161
5776
  adjustHeight();
4162
5777
  onChange?.(e);
4163
5778
  };
4164
- import_react42.default.useEffect(() => adjustHeight(), [props.value]);
4165
- return /* @__PURE__ */ import_react42.default.createElement(
5779
+ import_react41.default.useEffect(() => adjustHeight(), [props.value]);
5780
+ return /* @__PURE__ */ import_react41.default.createElement(
4166
5781
  TextAreaContainer,
4167
5782
  {
4168
5783
  ref: textareaRef,
4169
5784
  onChange: handleChange,
4170
- "data-variant": variant ?? "secondary",
4171
- "data-shape": shape ?? "smooth",
5785
+ "data-variant": variant ?? "secondary" /* Secondary */,
5786
+ "data-shape": shape ?? "smooth" /* Smooth */,
4172
5787
  "data-size": sizing ?? "medium" /* Medium */,
4173
5788
  "data-resizable": resizable,
4174
5789
  "data-raw": String(Boolean(raw)),
@@ -4179,22 +5794,22 @@ var Textarea = (props) => {
4179
5794
  Textarea.displayName = "Textarea";
4180
5795
 
4181
5796
  // src/toggle/index.tsx
4182
- var import_react43 = __toESM(require("react"));
5797
+ var import_react42 = __toESM(require("react"));
4183
5798
  var Toggle = (props) => {
4184
5799
  const { defaultChecked, onClick, disabled, children, ...restProps } = props;
4185
- const [checked, setChecked] = import_react43.default.useState(
5800
+ const [checked, setChecked] = import_react42.default.useState(
4186
5801
  defaultChecked ?? false
4187
5802
  );
4188
5803
  const handleClick = (event) => {
4189
5804
  if (onClick) onClick(event);
4190
5805
  if (!disabled) setChecked((prevChecked) => !prevChecked);
4191
5806
  };
4192
- import_react43.default.useEffect(() => {
5807
+ import_react42.default.useEffect(() => {
4193
5808
  if (defaultChecked !== void 0) {
4194
5809
  setChecked(Boolean(defaultChecked));
4195
5810
  }
4196
5811
  }, [defaultChecked]);
4197
- return /* @__PURE__ */ import_react43.default.createElement(
5812
+ return /* @__PURE__ */ import_react42.default.createElement(
4198
5813
  Button,
4199
5814
  {
4200
5815
  role: "switch",
@@ -4212,26 +5827,26 @@ var Toggle = (props) => {
4212
5827
  Toggle.displayName = "Toggle";
4213
5828
 
4214
5829
  // src/toolbar/index.tsx
4215
- var import_react45 = __toESM(require("react"));
5830
+ var import_react44 = __toESM(require("react"));
4216
5831
 
4217
5832
  // src/toolbar/hooks/index.tsx
4218
- var import_react44 = __toESM(require("react"));
5833
+ var import_react43 = __toESM(require("react"));
4219
5834
  var defaultComponentAPI9 = {
4220
5835
  id: "",
4221
5836
  states: {},
4222
5837
  methods: {}
4223
5838
  };
4224
- var ToolbarContext = (0, import_react44.createContext)(defaultComponentAPI9);
4225
- var useToolbar = () => (0, import_react44.useContext)(ToolbarContext);
5839
+ var ToolbarContext = (0, import_react43.createContext)(defaultComponentAPI9);
5840
+ var useToolbar = () => (0, import_react43.useContext)(ToolbarContext);
4226
5841
  var ToolbarProvider = ({
4227
5842
  children
4228
5843
  }) => {
4229
5844
  const context = useToolbarProvider();
4230
- return /* @__PURE__ */ import_react44.default.createElement(ToolbarContext.Provider, { value: context }, children);
5845
+ return /* @__PURE__ */ import_react43.default.createElement(ToolbarContext.Provider, { value: context }, children);
4231
5846
  };
4232
5847
  function useToolbarProvider() {
4233
- const [expanded, setExpanded] = (0, import_react44.useState)(false);
4234
- const toolbarId = import_react44.default.useId();
5848
+ const [expanded, setExpanded] = (0, import_react43.useState)(false);
5849
+ const toolbarId = import_react43.default.useId();
4235
5850
  return {
4236
5851
  id: toolbarId,
4237
5852
  states: {
@@ -4244,8 +5859,8 @@ function useToolbarProvider() {
4244
5859
  }
4245
5860
 
4246
5861
  // src/toolbar/styles/index.ts
4247
- var import_styled_components26 = __toESM(require("styled-components"));
4248
- var ToolbarDefaultStyles = import_styled_components26.css`
5862
+ var import_styled_components25 = __toESM(require("styled-components"));
5863
+ var ToolbarDefaultStyles = import_styled_components25.css`
4249
5864
  margin: 0;
4250
5865
  display: grid;
4251
5866
  grid-template-rows: min-content;
@@ -4279,7 +5894,7 @@ var ToolbarDefaultStyles = import_styled_components26.css`
4279
5894
  }
4280
5895
  }
4281
5896
  `;
4282
- var ToolbarSizeStyles = import_styled_components26.css`
5897
+ var ToolbarSizeStyles = import_styled_components25.css`
4283
5898
  &[data-size="small"] {
4284
5899
  &[aria-orientation="vertical"] {
4285
5900
  max-width: var(--measurement-large-70);
@@ -4325,7 +5940,7 @@ var ToolbarSizeStyles = import_styled_components26.css`
4325
5940
  }
4326
5941
  }
4327
5942
  `;
4328
- var ToolbarSideStyles = import_styled_components26.css`
5943
+ var ToolbarSideStyles = import_styled_components25.css`
4329
5944
  &[data-side="top"] {
4330
5945
  border-bottom-color: var(--font-color-alpha-10);
4331
5946
  }
@@ -4357,7 +5972,7 @@ var ToolbarSideStyles = import_styled_components26.css`
4357
5972
  }
4358
5973
  }
4359
5974
  `;
4360
- var ToolbarWrapper = import_styled_components26.default.menu`
5975
+ var ToolbarWrapper = import_styled_components25.default.menu`
4361
5976
  &[data-raw="false"] {
4362
5977
  ${ToolbarDefaultStyles}
4363
5978
  ${ToolbarSizeStyles}
@@ -4365,7 +5980,7 @@ var ToolbarWrapper = import_styled_components26.default.menu`
4365
5980
  ${ToolbarSideStyles}
4366
5981
  }
4367
5982
  `;
4368
- var ToolbarTriggerWrapper = import_styled_components26.default.menu`
5983
+ var ToolbarTriggerWrapper = import_styled_components25.default.menu`
4369
5984
  &[data-raw="false"] {
4370
5985
  all: unset;
4371
5986
  align-self: flex-end;
@@ -4390,13 +6005,13 @@ var Toolbar = (props) => {
4390
6005
  const { toggleToolbar } = methods;
4391
6006
  const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
4392
6007
  const orientation = side && ["left", "right"].includes(side) ? "vertical" : "horizontal";
4393
- import_react45.default.useEffect(() => {
6008
+ import_react44.default.useEffect(() => {
4394
6009
  if (defaultOpen && toggleToolbar) return toggleToolbar(true);
4395
6010
  }, [defaultOpen]);
4396
- import_react45.default.useEffect(() => {
6011
+ import_react44.default.useEffect(() => {
4397
6012
  if (shortcut && shortcutControls && toggleToolbar) toggleToolbar();
4398
6013
  }, [shortcutControls]);
4399
- return /* @__PURE__ */ import_react45.default.createElement(
6014
+ return /* @__PURE__ */ import_react44.default.createElement(
4400
6015
  ToolbarWrapper,
4401
6016
  {
4402
6017
  id,
@@ -4416,7 +6031,7 @@ var Toolbar = (props) => {
4416
6031
  };
4417
6032
  Toolbar.displayName = "Toolbar";
4418
6033
  var ToolbarRoot = ({ children }) => {
4419
- return /* @__PURE__ */ import_react45.default.createElement(ToolbarProvider, null, children);
6034
+ return /* @__PURE__ */ import_react44.default.createElement(ToolbarProvider, null, children);
4420
6035
  };
4421
6036
  ToolbarRoot.displayName = "Toolbar.Root";
4422
6037
  var ToolbarTrigger = (props) => {
@@ -4434,7 +6049,7 @@ var ToolbarTrigger = (props) => {
4434
6049
  if (onClick) onClick(event);
4435
6050
  if (toggleToolbar) toggleToolbar(!states.expanded);
4436
6051
  };
4437
- return /* @__PURE__ */ import_react45.default.createElement(ToolbarTriggerWrapper, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react45.default.createElement(
6052
+ return /* @__PURE__ */ import_react44.default.createElement(ToolbarTriggerWrapper, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react44.default.createElement(
4438
6053
  Button,
4439
6054
  {
4440
6055
  id: `${id}-trigger`,
@@ -4452,13 +6067,13 @@ var ToolbarSection = (props) => {
4452
6067
  const { showoncollapse, children, ...restProps } = props;
4453
6068
  const { states } = useToolbar();
4454
6069
  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);
6070
+ if (showoncollapse) return /* @__PURE__ */ import_react44.default.createElement("section", { ...restProps }, children);
6071
+ return /* @__PURE__ */ import_react44.default.createElement("section", { ...restProps }, expanded && children);
4457
6072
  };
4458
6073
  ToolbarSection.displayName = "Toolbar.Section";
4459
6074
  var ToolbarItem = (props) => {
4460
6075
  const { showfirstchild, onClick, children, ...restProps } = props;
4461
- const childArray = import_react45.default.Children.toArray(children);
6076
+ const childArray = import_react44.default.Children.toArray(children);
4462
6077
  const { id, states, methods } = useToolbar();
4463
6078
  const { expanded } = states;
4464
6079
  const { toggleToolbar } = methods;
@@ -4467,7 +6082,7 @@ var ToolbarItem = (props) => {
4467
6082
  if (onClick) onClick(event);
4468
6083
  if (toggleToolbar && !expanded) toggleToolbar(true);
4469
6084
  };
4470
- return /* @__PURE__ */ import_react45.default.createElement(
6085
+ return /* @__PURE__ */ import_react44.default.createElement(
4471
6086
  "div",
4472
6087
  {
4473
6088
  tabIndex: -1,
@@ -4488,11 +6103,11 @@ Toolbar.Item = ToolbarItem;
4488
6103
  Toolbar.Section = ToolbarSection;
4489
6104
 
4490
6105
  // src/tooltip/index.tsx
4491
- var import_react46 = __toESM(require("react"));
6106
+ var import_react45 = __toESM(require("react"));
4492
6107
 
4493
6108
  // src/tooltip/styles/index.ts
4494
- var import_styled_components27 = __toESM(require("styled-components"));
4495
- var FadeIn2 = import_styled_components27.keyframes`
6109
+ var import_styled_components26 = __toESM(require("styled-components"));
6110
+ var FadeIn = import_styled_components26.keyframes`
4496
6111
  0% {
4497
6112
  opacity: 0;
4498
6113
  }
@@ -4500,11 +6115,11 @@ var FadeIn2 = import_styled_components27.keyframes`
4500
6115
  opacity: 1;
4501
6116
  }
4502
6117
  `;
4503
- var ContentBox = import_styled_components27.default.div`
6118
+ var ContentBox = import_styled_components26.default.div`
4504
6119
  display: inline-block;
4505
6120
  position: relative;
4506
6121
  `;
4507
- var ContentWrapper2 = import_styled_components27.default.span`
6122
+ var ContentWrapper2 = import_styled_components26.default.span`
4508
6123
  &[data-raw="false"] {
4509
6124
  width: fit-content;
4510
6125
  max-width: var(--measurement-large-60);
@@ -4523,7 +6138,7 @@ var ContentWrapper2 = import_styled_components27.default.span`
4523
6138
  font-size: var(--fontsize-medium-10);
4524
6139
  z-index: var(--depth-default-100);
4525
6140
  animation-duration: 0.2s;
4526
- animation-name: ${FadeIn2};
6141
+ animation-name: ${FadeIn};
4527
6142
  animation-fill-mode: backwards;
4528
6143
  }
4529
6144
  `;
@@ -4535,13 +6150,13 @@ var Tooltip = ({
4535
6150
  children,
4536
6151
  ...restProps
4537
6152
  }) => {
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);
6153
+ const [visible, setVisible] = import_react45.default.useState(false);
6154
+ const [triggerProps, setTriggerProps] = import_react45.default.useState(null);
6155
+ const [contentProps, setContentProps] = import_react45.default.useState(null);
6156
+ const mounted = import_react45.default.useRef(false);
6157
+ const containerRef = import_react45.default.useRef(null);
6158
+ const contentRef = import_react45.default.useRef(null);
6159
+ const timeoutRef = import_react45.default.useRef(null);
4545
6160
  const contentRect = () => contentRef?.current?.getBoundingClientRect();
4546
6161
  const bodyRect = () => {
4547
6162
  if (typeof document !== "undefined") {
@@ -4565,14 +6180,14 @@ var Tooltip = ({
4565
6180
  };
4566
6181
  const hasEnoughHorizontalSpace = Number(dimensions.body_width) - Number(dimensions.content_left) > Number(dimensions.content_width) * 1.1;
4567
6182
  const hasEnoughVerticalSpace = Number(dimensions.body_height) - Number(dimensions.content_bottom) > Number(dimensions.content_height) * 0.9;
4568
- const showTooltip = import_react46.default.useCallback(() => {
6183
+ const showTooltip = import_react45.default.useCallback(() => {
4569
6184
  timeoutRef.current = setTimeout(() => setVisible(true), delay);
4570
6185
  }, [delay]);
4571
- const hideTooltip = import_react46.default.useCallback(() => {
6186
+ const hideTooltip = import_react45.default.useCallback(() => {
4572
6187
  if (timeoutRef.current) clearTimeout(timeoutRef.current);
4573
6188
  setVisible(false);
4574
6189
  }, []);
4575
- const handleMouseEnter = import_react46.default.useCallback(() => {
6190
+ const handleMouseEnter = import_react45.default.useCallback(() => {
4576
6191
  const rect = containerRef.current?.getBoundingClientRect();
4577
6192
  if (rect) {
4578
6193
  setTriggerProps({
@@ -4586,11 +6201,11 @@ var Tooltip = ({
4586
6201
  showTooltip();
4587
6202
  }
4588
6203
  }, [showTooltip]);
4589
- const handleMouseLeave = import_react46.default.useCallback(
6204
+ const handleMouseLeave = import_react45.default.useCallback(
4590
6205
  () => hideTooltip(),
4591
6206
  [hideTooltip]
4592
6207
  );
4593
- import_react46.default.useEffect(() => {
6208
+ import_react45.default.useEffect(() => {
4594
6209
  mounted.current = true;
4595
6210
  setContentProps && setContentProps({
4596
6211
  top: Number(contentRect()?.top),
@@ -4604,7 +6219,7 @@ var Tooltip = ({
4604
6219
  mounted.current = false;
4605
6220
  };
4606
6221
  }, [visible]);
4607
- return /* @__PURE__ */ import_react46.default.createElement(
6222
+ return /* @__PURE__ */ import_react45.default.createElement(
4608
6223
  ContentBox,
4609
6224
  {
4610
6225
  ref: containerRef,
@@ -4614,7 +6229,7 @@ var Tooltip = ({
4614
6229
  ...restProps
4615
6230
  },
4616
6231
  children,
4617
- visible && /* @__PURE__ */ import_react46.default.createElement(
6232
+ visible && /* @__PURE__ */ import_react45.default.createElement(
4618
6233
  ContentWrapper2,
4619
6234
  {
4620
6235
  ref: contentRef,
@@ -4629,24 +6244,24 @@ var Tooltip = ({
4629
6244
  "data-side": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */,
4630
6245
  "data-align": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */
4631
6246
  },
4632
- /* @__PURE__ */ import_react46.default.createElement("div", null, content)
6247
+ /* @__PURE__ */ import_react45.default.createElement("div", null, content)
4633
6248
  )
4634
6249
  );
4635
6250
  };
4636
6251
  Tooltip.displayName = "Tooltip";
4637
6252
 
4638
6253
  // src/tree/index.tsx
4639
- var import_react49 = __toESM(require("react"));
6254
+ var import_react48 = __toESM(require("react"));
4640
6255
 
4641
6256
  // src/tree/hooks/tree-provider.tsx
4642
- var import_react47 = __toESM(require("react"));
6257
+ var import_react46 = __toESM(require("react"));
4643
6258
  var defaultTreeAPI = {
4644
6259
  id: "",
4645
6260
  states: {},
4646
6261
  methods: {}
4647
6262
  };
4648
- var TreeContext = (0, import_react47.createContext)(defaultTreeAPI);
4649
- var useTree = () => (0, import_react47.useContext)(TreeContext);
6263
+ var TreeContext = (0, import_react46.createContext)(defaultTreeAPI);
6264
+ var useTree = () => (0, import_react46.useContext)(TreeContext);
4650
6265
  var TreeProvider = ({
4651
6266
  children,
4652
6267
  defaultExpandedIds = [],
@@ -4656,17 +6271,17 @@ var TreeProvider = ({
4656
6271
  defaultExpandedIds,
4657
6272
  onSelectionChange
4658
6273
  });
4659
- return /* @__PURE__ */ import_react47.default.createElement(TreeContext.Provider, { value: context }, children);
6274
+ return /* @__PURE__ */ import_react46.default.createElement(TreeContext.Provider, { value: context }, children);
4660
6275
  };
4661
6276
  function useTreeProviderContext({
4662
6277
  defaultExpandedIds,
4663
6278
  onSelectionChange
4664
6279
  }) {
4665
- const treeId = import_react47.default.useId();
4666
- const [expandedIds, setExpandedIds] = (0, import_react47.useState)(
6280
+ const treeId = import_react46.default.useId();
6281
+ const [expandedIds, setExpandedIds] = (0, import_react46.useState)(
4667
6282
  () => new Set(defaultExpandedIds)
4668
6283
  );
4669
- const [selectedIds, setSelectedIds] = (0, import_react47.useState)(() => /* @__PURE__ */ new Set());
6284
+ const [selectedIds, setSelectedIds] = (0, import_react46.useState)(() => /* @__PURE__ */ new Set());
4670
6285
  return {
4671
6286
  id: treeId,
4672
6287
  states: {
@@ -4697,14 +6312,14 @@ function useTreeProviderContext({
4697
6312
  }
4698
6313
 
4699
6314
  // src/tree/hooks/tree-node-provider.tsx
4700
- var import_react48 = __toESM(require("react"));
6315
+ var import_react47 = __toESM(require("react"));
4701
6316
  var defaultTreeNodeAPI = {
4702
6317
  id: "",
4703
6318
  states: {},
4704
6319
  methods: {}
4705
6320
  };
4706
- var TreeNodeContext = (0, import_react48.createContext)(defaultTreeNodeAPI);
4707
- var useTreeNode = () => (0, import_react48.useContext)(TreeNodeContext);
6321
+ var TreeNodeContext = (0, import_react47.createContext)(defaultTreeNodeAPI);
6322
+ var useTreeNode = () => (0, import_react47.useContext)(TreeNodeContext);
4708
6323
  var TreeNodeProvider = ({
4709
6324
  children,
4710
6325
  nodeId,
@@ -4712,7 +6327,7 @@ var TreeNodeProvider = ({
4712
6327
  isLast
4713
6328
  }) => {
4714
6329
  const context = useTreeNodeProviderContext({ nodeId, level, isLast });
4715
- return /* @__PURE__ */ import_react48.default.createElement(TreeNodeContext.Provider, { value: context }, children);
6330
+ return /* @__PURE__ */ import_react47.default.createElement(TreeNodeContext.Provider, { value: context }, children);
4716
6331
  };
4717
6332
  function useTreeNodeProviderContext({
4718
6333
  nodeId,
@@ -4731,20 +6346,20 @@ function useTreeNodeProviderContext({
4731
6346
  }
4732
6347
 
4733
6348
  // src/tree/styles/index.ts
4734
- var import_styled_components28 = __toESM(require("styled-components"));
4735
- var TreeView = import_styled_components28.default.ul`
6349
+ var import_styled_components27 = __toESM(require("styled-components"));
6350
+ var TreeView = import_styled_components27.default.ul`
4736
6351
  display: flex;
4737
6352
  flex-direction: column;
4738
6353
  list-style: none;
4739
6354
  margin: 0;
4740
6355
  padding: 0;
4741
6356
  `;
4742
- var TreeItem = import_styled_components28.default.li`
6357
+ var TreeItem = import_styled_components27.default.li`
4743
6358
  display: flex;
4744
6359
  flex-direction: column;
4745
6360
  list-style: none;
4746
6361
  `;
4747
- var TreeNodeContent = import_styled_components28.default.ul`
6362
+ var TreeNodeContent = import_styled_components27.default.ul`
4748
6363
  display: flex;
4749
6364
  flex-direction: column;
4750
6365
  list-style: none;
@@ -4756,7 +6371,7 @@ var TreeNodeContent = import_styled_components28.default.ul`
4756
6371
  var Tree = (props) => {
4757
6372
  const { children, ...restProps } = props;
4758
6373
  const { id } = useTree();
4759
- return /* @__PURE__ */ import_react49.default.createElement(TreeView, { id, role: "tree", ...restProps }, children);
6374
+ return /* @__PURE__ */ import_react48.default.createElement(TreeView, { id, role: "tree", ...restProps }, children);
4760
6375
  };
4761
6376
  Tree.displayName = "Tree";
4762
6377
  var TreeRoot = ({
@@ -4764,7 +6379,7 @@ var TreeRoot = ({
4764
6379
  defaultExpandedIds,
4765
6380
  onSelectionChange
4766
6381
  }) => {
4767
- return /* @__PURE__ */ import_react49.default.createElement(
6382
+ return /* @__PURE__ */ import_react48.default.createElement(
4768
6383
  TreeProvider,
4769
6384
  {
4770
6385
  defaultExpandedIds,
@@ -4776,7 +6391,7 @@ var TreeRoot = ({
4776
6391
  TreeRoot.displayName = "Tree.Root";
4777
6392
  var TreeNode = (props) => {
4778
6393
  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));
6394
+ 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
6395
  };
4781
6396
  TreeNode.displayName = "Tree.Node";
4782
6397
  var TreeTrigger = (props) => {
@@ -4798,7 +6413,7 @@ var TreeTrigger = (props) => {
4798
6413
  toggleSelected && toggleSelected(nodeId);
4799
6414
  }
4800
6415
  };
4801
- return /* @__PURE__ */ import_react49.default.createElement(
6416
+ return /* @__PURE__ */ import_react48.default.createElement(
4802
6417
  Button,
4803
6418
  {
4804
6419
  id: String(IdHandler.trigger),
@@ -4824,11 +6439,11 @@ var TreeContent = (props) => {
4824
6439
  trigger: getTreeId && getTreeId({ nodeId, type: "trigger" }),
4825
6440
  content: getTreeId && getTreeId({ nodeId, type: "content" })
4826
6441
  };
4827
- import_react49.default.useEffect(() => {
6442
+ import_react48.default.useEffect(() => {
4828
6443
  if (defaultOpen && !isExpanded && toggleExpanded) toggleExpanded(nodeId);
4829
6444
  }, []);
4830
6445
  if (isExpanded)
4831
- return /* @__PURE__ */ import_react49.default.createElement(
6446
+ return /* @__PURE__ */ import_react48.default.createElement(
4832
6447
  TreeNodeContent,
4833
6448
  {
4834
6449
  role: "group",
@@ -4839,13 +6454,410 @@ var TreeContent = (props) => {
4839
6454
  },
4840
6455
  children
4841
6456
  );
4842
- return /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null);
6457
+ return /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null);
4843
6458
  };
4844
6459
  TreeContent.displayName = "Tree.Content";
4845
6460
  Tree.Root = TreeRoot;
4846
6461
  Tree.Node = TreeNode;
4847
6462
  Tree.Trigger = TreeTrigger;
4848
6463
  Tree.Content = TreeContent;
6464
+
6465
+ // src/select/index.tsx
6466
+ var import_react50 = __toESM(require("react"));
6467
+
6468
+ // src/select/hooks/index.tsx
6469
+ var import_react49 = __toESM(require("react"));
6470
+ var defaultComponentAPI10 = {
6471
+ id: "",
6472
+ states: {},
6473
+ methods: {}
6474
+ };
6475
+ var SelectContext = import_react49.default.createContext(defaultComponentAPI10);
6476
+ var useSelect = () => import_react49.default.useContext(SelectContext);
6477
+ var SelectProvider = ({
6478
+ children
6479
+ }) => {
6480
+ const context = useSelectProvider();
6481
+ return /* @__PURE__ */ import_react49.default.createElement(SelectContext.Provider, { value: context }, children);
6482
+ };
6483
+ function useSelectProvider() {
6484
+ const DEFAULT_POSITIONS2 = {
6485
+ top: 0,
6486
+ right: 0,
6487
+ bottom: 0,
6488
+ left: 0
6489
+ };
6490
+ const DEFAULT_DIMENSIONS2 = {
6491
+ width: 0,
6492
+ height: 0
6493
+ };
6494
+ const [open, setOpen] = import_react49.default.useState(false);
6495
+ const [value, setValue] = import_react49.default.useState(null);
6496
+ const [label, setLabel] = import_react49.default.useState("");
6497
+ const [contentProps, setContentProps] = import_react49.default.useState({
6498
+ ...DEFAULT_POSITIONS2,
6499
+ ...DEFAULT_DIMENSIONS2
6500
+ });
6501
+ const [triggerProps, setTriggerProps] = import_react49.default.useState({
6502
+ ...DEFAULT_POSITIONS2,
6503
+ ...DEFAULT_DIMENSIONS2
6504
+ });
6505
+ const triggerId = import_react49.default.useId();
6506
+ const listboxId = import_react49.default.useId();
6507
+ const composedId = `${triggerId}|${listboxId}`;
6508
+ return {
6509
+ id: composedId,
6510
+ states: {
6511
+ open,
6512
+ value,
6513
+ label,
6514
+ contentProps,
6515
+ triggerProps
6516
+ },
6517
+ methods: {
6518
+ toggleOpen: () => setOpen(!open),
6519
+ setOpen,
6520
+ setValue,
6521
+ setLabel,
6522
+ setContentProps,
6523
+ setTriggerProps
6524
+ }
6525
+ };
6526
+ }
6527
+
6528
+ // src/select/styles/index.tsx
6529
+ var import_styled_components28 = __toESM(require("styled-components"));
6530
+ var Wrapper = import_styled_components28.default.div`
6531
+ position: relative;
6532
+ width: 100%;
6533
+ `;
6534
+ var Trigger = import_styled_components28.default.button`
6535
+ all: unset;
6536
+ box-sizing: border-box;
6537
+
6538
+ position: relative;
6539
+ display: flex;
6540
+ align-items: center;
6541
+ justify-content: space-between;
6542
+ gap: var(--measurement-medium-10);
6543
+
6544
+ ${FieldDefaultStyles}
6545
+ ${FieldVariantsStyles}
6546
+ ${FieldShapeStyles}
6547
+ ${FieldSizeStyles}
6548
+
6549
+
6550
+ cursor: pointer !important;
6551
+ `;
6552
+ var Label2 = import_styled_components28.default.span`
6553
+ flex: 1;
6554
+ text-align: left;
6555
+ font-weight: 400;
6556
+ white-space: nowrap;
6557
+ overflow: hidden;
6558
+ text-overflow: ellipsis;
6559
+ `;
6560
+ var Content = import_styled_components28.default.ul`
6561
+ @keyframes select-slide-in-down {
6562
+ 0% {
6563
+ opacity: 0;
6564
+ transform: translateY(calc(var(--measurement-small-60) * -1));
6565
+ }
6566
+ 100% {
6567
+ opacity: 1;
6568
+ transform: translateY(0);
6569
+ }
6570
+ }
6571
+
6572
+ @keyframes select-slide-in-up {
6573
+ 0% {
6574
+ opacity: 0;
6575
+ transform: translateY(var(--measurement-small-60));
6576
+ }
6577
+ 100% {
6578
+ opacity: 1;
6579
+ transform: translateY(0);
6580
+ }
6581
+ }
6582
+
6583
+ &[data-raw="false"] {
6584
+ position: fixed;
6585
+ margin: 0;
6586
+ box-sizing: border-box;
6587
+
6588
+ padding: var(--measurement-medium-30);
6589
+
6590
+ list-style: none;
6591
+
6592
+ background-color: var(--body-color);
6593
+ border: var(--measurement-small-10) solid var(--font-color-alpha-10);
6594
+ border-radius: var(--measurement-medium-30);
6595
+
6596
+ z-index: var(--depth-default-100);
6597
+
6598
+ height: auto;
6599
+ max-height: var(--measurement-large-90);
6600
+ overflow-y: auto;
6601
+
6602
+ animation-duration: 0.2s;
6603
+ animation-fill-mode: backwards;
6604
+
6605
+ &[data-side="bottom"] {
6606
+ animation-name: select-slide-in-down;
6607
+ }
6608
+
6609
+ &[data-side="top"] {
6610
+ animation-name: select-slide-in-up;
6611
+ }
6612
+ }
6613
+ `;
6614
+ var List = import_styled_components28.default.li`
6615
+ list-style: none;
6616
+ padding: 0;
6617
+ margin: 0;
6618
+ user-select: none;
6619
+
6620
+ &[data-raw="false"] {
6621
+ display: flex;
6622
+ align-items: center;
6623
+ justify-content: space-between;
6624
+ gap: var(--measurement-medium-10);
6625
+
6626
+ padding: var(--measurement-medium-30);
6627
+ border-radius: var(--measurement-medium-20);
6628
+
6629
+ text-align: left;
6630
+
6631
+ color: var(--font-color);
6632
+
6633
+ outline: none;
6634
+ cursor: pointer;
6635
+
6636
+ transition: all ease-in-out 0.2s;
6637
+
6638
+ &:hover,
6639
+ &:focus,
6640
+ &:active,
6641
+ &:focus-within,
6642
+ &:has(:active) {
6643
+ background-color: var(--contrast-color);
6644
+ }
6645
+
6646
+ &[data-selected="true"] {
6647
+ color: var(--font-color);
6648
+ background-color: var(--contrast-color);
6649
+
6650
+ &:hover,
6651
+ &:focus,
6652
+ &:active {
6653
+ background-color: var(--font-color-alpha-10);
6654
+ }
6655
+ }
6656
+ }
6657
+
6658
+ &[aria-disabled="true"] {
6659
+ cursor: not-allowed;
6660
+ opacity: 0.6;
6661
+ }
6662
+ `;
6663
+ var Item = import_styled_components28.default.span`
6664
+ display: flex;
6665
+ align-items: center;
6666
+ gap: var(--measurement-small-60);
6667
+ flex: 1;
6668
+ white-space: nowrap;
6669
+ overflow: hidden;
6670
+ text-overflow: ellipsis;
6671
+ `;
6672
+
6673
+ // src/select/index.tsx
6674
+ var SelectRoot = ({ children }) => {
6675
+ return /* @__PURE__ */ import_react50.default.createElement(SelectProvider, null, children);
6676
+ };
6677
+ SelectRoot.displayName = "Select.Root";
6678
+ var Select = ({ children }) => {
6679
+ const selectRef = import_react50.default.useRef(null);
6680
+ const { states, methods } = useSelect();
6681
+ const handleClickOutside = () => {
6682
+ if (states.open && methods.setOpen) {
6683
+ methods.setOpen(false);
6684
+ }
6685
+ };
6686
+ useClickOutside(
6687
+ selectRef,
6688
+ handleClickOutside
6689
+ );
6690
+ return /* @__PURE__ */ import_react50.default.createElement(Wrapper, { ref: selectRef }, children);
6691
+ };
6692
+ Select.displayName = "Select";
6693
+ var SelectTrigger = (props) => {
6694
+ const {
6695
+ raw,
6696
+ variant,
6697
+ shape,
6698
+ sizing,
6699
+ error = false,
6700
+ disabled,
6701
+ children,
6702
+ ...restProps
6703
+ } = props;
6704
+ const triggerRef = import_react50.default.useRef(null);
6705
+ const triggerRect = () => triggerRef.current?.getBoundingClientRect();
6706
+ const { id, states, methods } = useSelect();
6707
+ const { toggleOpen, setTriggerProps } = methods;
6708
+ const handleClick = () => {
6709
+ if (disabled) return;
6710
+ if (toggleOpen) toggleOpen();
6711
+ if (setTriggerProps) {
6712
+ setTriggerProps({
6713
+ top: Number(triggerRect()?.top),
6714
+ right: Number(triggerRect()?.right),
6715
+ bottom: Number(triggerRect()?.bottom),
6716
+ left: Number(triggerRect()?.left),
6717
+ width: Number(triggerRect()?.width),
6718
+ height: Number(triggerRect()?.height)
6719
+ });
6720
+ }
6721
+ };
6722
+ return /* @__PURE__ */ import_react50.default.createElement(
6723
+ Trigger,
6724
+ {
6725
+ ref: triggerRef,
6726
+ type: "button",
6727
+ role: "combobox",
6728
+ id: id.split("|").at(0),
6729
+ onClick: handleClick,
6730
+ "aria-haspopup": "listbox",
6731
+ "aria-expanded": Boolean(states.open),
6732
+ "aria-controls": id.split("|").at(-1),
6733
+ "data-state": states.open ? "open" : "closed",
6734
+ "data-variant": variant ?? "secondary" /* Secondary */,
6735
+ "data-shape": shape ?? "smooth" /* Smooth */,
6736
+ "data-size": sizing ?? "medium" /* Medium */,
6737
+ "data-error": error,
6738
+ "data-raw": Boolean(raw),
6739
+ disabled,
6740
+ ...restProps
6741
+ },
6742
+ /* @__PURE__ */ import_react50.default.createElement(Label2, null, children)
6743
+ );
6744
+ };
6745
+ SelectTrigger.displayName = "Select.Trigger";
6746
+ var SelectContent = (props) => {
6747
+ const { raw, defaultOpen, children, ...restProps } = props;
6748
+ const { id, states, methods } = useSelect();
6749
+ const { toggleOpen, setContentProps } = methods;
6750
+ const mounted = import_react50.default.useRef(false);
6751
+ const contentRef = import_react50.default.useRef(null);
6752
+ const contentRect = () => contentRef?.current?.getBoundingClientRect();
6753
+ const bodyRect = () => {
6754
+ if (typeof document !== "undefined") {
6755
+ return document?.body?.getBoundingClientRect();
6756
+ }
6757
+ return void 0;
6758
+ };
6759
+ const positions = {
6760
+ btt: `calc((${states?.triggerProps?.top}px - ${states?.contentProps?.height}px) - (var(--measurement-medium-10) * 2))`,
6761
+ ttb: `calc((${states?.triggerProps?.top}px + ${states?.triggerProps?.height}px) + var(--measurement-medium-10))`
6762
+ };
6763
+ const dimensions = {
6764
+ body_height: bodyRect()?.height ?? 0,
6765
+ content_height: states.contentProps.height,
6766
+ content_bottom: states.contentProps.bottom
6767
+ };
6768
+ const hasEnoughVerticalSpace = dimensions.body_height - dimensions.content_bottom > dimensions.content_height - dimensions.content_height * 0.9;
6769
+ import_react50.default.useEffect(() => {
6770
+ if (defaultOpen && toggleOpen) toggleOpen();
6771
+ }, []);
6772
+ import_react50.default.useEffect(() => {
6773
+ mounted.current = true;
6774
+ if (setContentProps) {
6775
+ setContentProps({
6776
+ top: Number(contentRect()?.top),
6777
+ right: Number(contentRect()?.right),
6778
+ bottom: Number(contentRect()?.bottom),
6779
+ left: Number(contentRect()?.left),
6780
+ width: Number(contentRect()?.width),
6781
+ height: Number(contentRect()?.height)
6782
+ });
6783
+ }
6784
+ return () => {
6785
+ mounted.current = false;
6786
+ };
6787
+ }, [states.open]);
6788
+ import_react50.default.useEffect(() => {
6789
+ if (!states.open) return;
6790
+ const handleKeyDown = (event) => {
6791
+ if (event.key === "Escape" && methods.setOpen) {
6792
+ methods.setOpen(false);
6793
+ }
6794
+ };
6795
+ document.addEventListener("keydown", handleKeyDown);
6796
+ return () => document.removeEventListener("keydown", handleKeyDown);
6797
+ }, [states.open]);
6798
+ if (!states.open) return null;
6799
+ return /* @__PURE__ */ import_react50.default.createElement(
6800
+ ScrollArea,
6801
+ {
6802
+ scrollbar: true,
6803
+ as: Content,
6804
+ ref: contentRef,
6805
+ id: id.split("|").at(-1),
6806
+ role: "listbox",
6807
+ tabIndex: -1,
6808
+ "aria-labelledby": id.split("|").at(0),
6809
+ "data-state": applyDataState(Boolean(states.open)),
6810
+ "data-side": hasEnoughVerticalSpace ? "bottom" : "top",
6811
+ "data-raw": Boolean(raw),
6812
+ style: {
6813
+ top: hasEnoughVerticalSpace ? positions.ttb : positions.btt,
6814
+ left: `${states?.triggerProps?.left}px`,
6815
+ width: `${states?.triggerProps?.width}px`
6816
+ },
6817
+ ...restProps
6818
+ },
6819
+ children
6820
+ );
6821
+ };
6822
+ SelectContent.displayName = "Select.Content";
6823
+ var SelectItem = (props) => {
6824
+ const { raw, value, disabled, onClick, children, ...restProps } = props;
6825
+ const { states, methods } = useSelect();
6826
+ const isSelected = states?.value === value;
6827
+ const handleSelect = (event) => {
6828
+ if (disabled) return;
6829
+ if (methods.setValue) methods.setValue(value);
6830
+ if (methods.setOpen) methods.setOpen(false);
6831
+ if (onClick) onClick(event);
6832
+ };
6833
+ const handleKeyDown = (event) => {
6834
+ if (["Space", "Enter"].includes(event.code || event.key) && !disabled) {
6835
+ event.preventDefault();
6836
+ handleSelect(event);
6837
+ }
6838
+ };
6839
+ return /* @__PURE__ */ import_react50.default.createElement(
6840
+ List,
6841
+ {
6842
+ role: "option",
6843
+ tabIndex: 0,
6844
+ "aria-disabled": disabled,
6845
+ "aria-selected": isSelected,
6846
+ "data-orientation": "vertical",
6847
+ "data-selected": isSelected,
6848
+ "data-raw": Boolean(raw),
6849
+ onClick: handleSelect,
6850
+ onKeyDown: handleKeyDown,
6851
+ ...restProps
6852
+ },
6853
+ /* @__PURE__ */ import_react50.default.createElement(Item, null, children)
6854
+ );
6855
+ };
6856
+ SelectItem.displayName = "Select.Item";
6857
+ Select.Root = SelectRoot;
6858
+ Select.Trigger = SelectTrigger;
6859
+ Select.Content = SelectContent;
6860
+ Select.Item = SelectItem;
4849
6861
  // Annotate the CommonJS export names for ESM import in node:
4850
6862
  0 && (module.exports = {
4851
6863
  Accordion,
@@ -4854,6 +6866,7 @@ Tree.Content = TreeContent;
4854
6866
  AccordionTrigger,
4855
6867
  AvataStatusEnum,
4856
6868
  Avatar,
6869
+ AvatarStatus,
4857
6870
  Badge,
4858
6871
  Breadcrumb,
4859
6872
  BreadcrumbItem,
@@ -4884,9 +6897,14 @@ Tree.Content = TreeContent;
4884
6897
  DropdownMenuRoot,
4885
6898
  DropdownMenuTrigger,
4886
6899
  Field,
6900
+ FieldDate,
6901
+ FieldFile,
4887
6902
  FieldLabel,
4888
6903
  FieldMeta,
6904
+ FieldNumber,
6905
+ FieldPassword,
4889
6906
  FieldRoot,
6907
+ FieldTag,
4890
6908
  FieldWrapper,
4891
6909
  MessageBubble,
4892
6910
  MessageBubbleContent,
@@ -4904,9 +6922,13 @@ Tree.Content = TreeContent;
4904
6922
  PageTools,
4905
6923
  PageWrapper,
4906
6924
  Portal,
4907
- PrivacyField,
4908
6925
  Resizable,
4909
6926
  ScrollArea,
6927
+ Select,
6928
+ SelectContent,
6929
+ SelectItem,
6930
+ SelectRoot,
6931
+ SelectTrigger,
4910
6932
  Sheet,
4911
6933
  SheetRoot,
4912
6934
  SheetTrigger,
@@ -4947,6 +6969,7 @@ Tree.Content = TreeContent;
4947
6969
  useDropdownMenu,
4948
6970
  useField,
4949
6971
  useMessageBubble,
6972
+ useSelect,
4950
6973
  useSheet,
4951
6974
  useSwitch,
4952
6975
  useTabs,