cetec-design-system 2.2.2-next.0 → 3.0.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 (49) hide show
  1. package/dist/{cetec-preset-CcvrY8wh.js → cetec-preset-D23KFUx3.js} +2023 -1574
  2. package/dist/cetec-preset-D23KFUx3.js.map +1 -0
  3. package/dist/icon-metadata.json +447 -178
  4. package/dist/index.js +13313 -9676
  5. package/dist/index.js.map +1 -1
  6. package/dist/panda.buildinfo.json +463 -358
  7. package/dist/playroom-static.css +68896 -180259
  8. package/dist/preset.js +1 -1
  9. package/dist/specs/color-palette.json +4 -0
  10. package/dist/specs/conditions.json +12 -0
  11. package/dist/specs/recipes.json +166 -39
  12. package/dist/specs/semantic-tokens.json +178 -0
  13. package/dist/specs/tokens.json +5 -0
  14. package/dist/sprite.svg +1 -1
  15. package/dist/sprite.symbol.html +463 -180
  16. package/dist/styles.css +2280 -647
  17. package/dist/svgs/cheese.svg +1 -0
  18. package/dist/svgs/collapse-vertical.svg +1 -0
  19. package/dist/svgs/expand-vertical.svg +1 -0
  20. package/dist/svgs/magnet.svg +1 -0
  21. package/dist/svgs/to-date-backward.svg +1 -0
  22. package/dist/svgs/to-date-forward.svg +1 -0
  23. package/dist/types/index.d.ts +3245 -285
  24. package/dist/types/preset.d.ts +15 -0
  25. package/package.json +6 -1
  26. package/src/recipes/autocomplete.ts +266 -0
  27. package/src/recipes/calendar.ts +92 -0
  28. package/src/recipes/chip.ts +6 -0
  29. package/src/recipes/dateMenus.ts +40 -0
  30. package/src/recipes/dateTimeMenus.ts +43 -0
  31. package/src/recipes/menu.ts +13 -1
  32. package/src/recipes/modal.ts +1 -1
  33. package/src/recipes/recipes-slot.ts +7 -2
  34. package/src/recipes/segmentedFields.ts +192 -0
  35. package/src/recipes/segmentedInputs.ts +106 -0
  36. package/src/recipes/text.ts +32 -28
  37. package/src/recipes/timeMenus.ts +110 -0
  38. package/src/styles/primitives/zIndex.ts +1 -0
  39. package/src/styles/semantics/colors.ts +44 -0
  40. package/src/styles/semantics/zIndex.ts +2 -0
  41. package/src/styles/utilities/conditions.ts +1 -0
  42. package/src/styles/utilities/transitions.ts +2 -1
  43. package/src/utils/dsChain.ts +113 -0
  44. package/src/utils/dsComponent.ts +44 -0
  45. package/src/utils/dsPart.ts +41 -0
  46. package/src/utils/splitProps.ts +15 -0
  47. package/dist/cetec-preset-CcvrY8wh.js.map +0 -1
  48. package/src/recipes/datePicker.ts +0 -230
  49. package/src/recipes/timePicker.ts +0 -206
@@ -55,6 +55,7 @@ const conditions$1 = {
55
55
  expanded: '&:is([aria-expanded=true], [data-expanded=true], [data-state="expanded"])',
56
56
  collapsed: '&:is([aria-collapsed=true], [data-collapsed=true], [data-state="collapsed"])',
57
57
  highlighted: "&[data-highlighted=true]",
58
+ new: "&[data-new=true]",
58
59
  complete: "&[data-complete=true]",
59
60
  incomplete: "&[data-incomplete=true]",
60
61
  dragging: "&[data-dragging=true]",
@@ -593,658 +594,119 @@ const filtersProperty = defineUtility({
593
594
  className: "filters",
594
595
  values: "filters"
595
596
  });
596
- const animations = defineTokens.animations({
597
- spin: {
598
- value: "spin 1s linear infinite"
599
- },
600
- ping: {
601
- value: "ping 1s cubic-bezier(0, 0, 0.2, 1) infinite"
602
- },
603
- pulse: {
604
- value: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite"
605
- },
606
- bounce: {
607
- value: "bounce 1s infinite"
597
+ const durations = defineTokens.durations({
598
+ fastest: {
599
+ value: "50ms"
608
600
  },
609
- skeletonWave: {
610
- value: "skeletonWave 2s linear 0.5s infinite"
611
- }
612
- });
613
- const aspectRatios = defineTokens.aspectRatios({
614
- square: {
615
- value: "1 / 1"
601
+ faster: {
602
+ value: "100ms"
616
603
  },
617
- landscape: {
618
- value: "4 / 3"
604
+ fast: {
605
+ value: "150ms"
619
606
  },
620
- portrait: {
621
- value: "3 / 4"
607
+ normal: {
608
+ value: "200ms"
622
609
  },
623
- wide: {
624
- value: "16 / 9"
610
+ slow: {
611
+ value: "300ms"
625
612
  },
626
- ultrawide: {
627
- value: "18 / 5"
613
+ slower: {
614
+ value: "400ms"
628
615
  },
629
- golden: {
630
- value: "1.618 / 1"
616
+ slowest: {
617
+ value: "500ms"
631
618
  }
632
619
  });
633
- const blurs = defineTokens.blurs({
634
- sm: {
635
- value: "{sizes.4}"
636
- },
637
- base: {
638
- value: "{sizes.8}"
639
- },
640
- md: {
641
- value: "{sizes.12}"
620
+ const easings = defineTokens.easings({
621
+ default: {
622
+ value: "cubic-bezier(0.4, 0, 0.2, 1)"
642
623
  },
643
- lg: {
644
- value: "{sizes.16}"
624
+ linear: {
625
+ value: "linear"
645
626
  },
646
- xl: {
647
- value: "{sizes.24}"
627
+ in: {
628
+ value: "cubic-bezier(0.4, 0, 1, 1)"
648
629
  },
649
- "2xl": {
650
- value: "{sizes.40}"
630
+ out: {
631
+ value: "cubic-bezier(0, 0, 0.2, 1)"
651
632
  },
652
- "3xl": {
653
- value: "{sizes.64}"
633
+ "in-out": {
634
+ value: "cubic-bezier(0.4, 0, 0.2, 1)"
654
635
  }
655
636
  });
656
- const borders = defineTokens.borders({
657
- default: {
658
- value: "{borderWidths.1} solid {colors.border}"
637
+ const transitionProperties = {
638
+ all: {
639
+ value: "all"
659
640
  },
660
- bold: {
661
- value: "{borderWidths.2} solid {colors.border.bold}"
641
+ common: {
642
+ value: "background-color, border-color, color, fill, stroke, opacity, box-shadow, transform"
662
643
  },
663
- inverse: {
664
- value: "{borderWidths.1} solid {colors.border.inverse}"
644
+ colors: {
645
+ value: "background-color, border-color, color, fill, stroke"
665
646
  },
666
- disabled: {
667
- value: "{borderWidths.1} solid {colors.border.disabled}"
647
+ opacity: {
648
+ value: "opacity"
668
649
  },
669
- input: {
670
- value: "{borderWidths.1} solid {colors.border.input}"
650
+ shadow: {
651
+ value: "box-shadow"
671
652
  },
672
- focused: {
673
- value: "{borderWidths.2} solid {colors.border.focused}"
653
+ transform: {
654
+ value: "transform"
674
655
  },
675
- success: {
676
- value: "{borderWidths.1} solid {colors.border.success}"
656
+ position: {
657
+ value: "top, right, bottom, left"
677
658
  },
678
- warning: {
679
- value: "{borderWidths.1} solid {colors.border.warning}"
659
+ size: {
660
+ value: "width, height"
680
661
  },
681
- danger: {
682
- value: "{borderWidths.1} solid {colors.border.danger}"
662
+ spacing: {
663
+ value: "margin, padding"
683
664
  },
684
- info: {
685
- value: "{borderWidths.1} solid {colors.border.info}"
665
+ outline: {
666
+ value: "outline, outline-color, outline-offset"
686
667
  },
687
- none: {
688
- value: "none"
668
+ border: {
669
+ value: "border, border-color"
689
670
  }
690
- });
691
- const borderWidths = defineTokens.borderWidths({
692
- "0": { value: "{sizes.0}" },
693
- "1": { value: "{sizes.1}" },
694
- "2": { value: "{sizes.2}" },
695
- "4": { value: "{sizes.4}" },
696
- "8": { value: "{sizes.8}" },
697
- "16": { value: "{sizes.16}" }
698
- });
699
- const colors$1 = defineTokens.colors({
700
- transparent: { value: "transparent" },
701
- current: { value: "currentColor" },
702
- inherit: { value: "inherit" },
703
- neutral: {
704
- "0": { value: "#FFFFFF" },
705
- "10": { value: "#F8F8F8" },
706
- "20": { value: "#F0F1F2" },
707
- "30": { value: "#DDDEE1" },
708
- "40": { value: "#B7B9BE" },
709
- "50": { value: "#8C8F97" },
710
- "60": { value: "#7D818A" },
711
- "70": { value: "#6B6E76" },
712
- "80": { value: "#505258" },
713
- "90": { value: "#3B3D42" },
714
- "100": { value: "#292A2E" },
715
- "110": { value: "#1E1F21" }
671
+ };
672
+ ({
673
+ all: {
674
+ value: `${transitionProperties.all} ${durations.normal} ${easings.default}`
716
675
  },
717
- neutralA: {
718
- "10": { value: "#17171708" },
719
- "20": { value: "#1717170F" },
720
- "30": { value: "#17171724" },
721
- "40": { value: "#1717174A" },
722
- "50": { value: "#17171775" }
676
+ common: {
677
+ value: `${transitionProperties.common} ${durations.normal} ${easings.default}`
723
678
  },
724
- darkNeutral: {
725
- "0": { value: "#18191A" },
726
- "10": { value: "#1F1F21" },
727
- "20": { value: "#242528" },
728
- "25": { value: "#2B2C2F" },
729
- "30": { value: "#303134" },
730
- "35": { value: "#3D3F43" },
731
- "40": { value: "#4B4D51" },
732
- "50": { value: "#63666B" },
733
- "60": { value: "#7E8188" },
734
- "70": { value: "#96999E" },
735
- "80": { value: "#A9ABAF" },
736
- "90": { value: "#BFC1C4" },
737
- "100": { value: "#CECFD2" },
738
- "110": { value: "#E2E3E4" },
739
- "120": { value: "#F1F1F2" }
679
+ colors: {
680
+ value: `${transitionProperties.colors} ${durations.normal} ${easings.default}`
740
681
  },
741
- darkNeutralA: {
742
- "-10": { value: "#01040475" },
743
- "10": { value: "#BDBDBD0A" },
744
- "20": { value: "#CECED912" },
745
- "25": { value: "#D9DAE71A" },
746
- "30": { value: "#E3E4F21F" },
747
- "35": { value: "#E8EDFD2E" },
748
- "40": { value: "#E5E9F640" },
749
- "50": { value: "#E9F0FB5C" }
682
+ opacity: {
683
+ value: `${transitionProperties.opacity} ${durations.normal} ${easings.default}`
750
684
  },
751
- slate: {
752
- "0": { value: "#FFFFFF" },
753
- "1": { value: "#FAFAFA" },
754
- "2": { value: "#F9F8F6" },
755
- "3": { value: "#F7F5F3" },
756
- "4": { value: "#F6F3EF" },
757
- "5": { value: "#F4F0EB" },
758
- "10": { value: "#E3E1DE" },
759
- "20": { value: "#CBCAC8" },
760
- "30": { value: "#AFADAB" },
761
- "40": { value: "#939190" },
762
- "50": { value: "#767675" },
763
- "60": { value: "#5F5F5E" },
764
- "70": { value: "#474747" },
765
- "80": { value: "#2E2E2E" },
766
- "90": { value: "#1E1E1E" },
767
- "100": { value: "#000000" }
685
+ shadow: {
686
+ value: `${transitionProperties.shadow} ${durations.normal} ${easings.default}`
768
687
  },
769
- slate_inverse: {
770
- "0": { value: "#000000" },
771
- "1": { value: "#383838" },
772
- "2": { value: "#474643" },
773
- "3": { value: "#53504c" },
774
- "4": { value: "#5d5954" },
775
- "5": { value: "#66605e" },
776
- "10": { value: "#8a8985" },
777
- "20": { value: "#acabaa" },
778
- "30": { value: "#cbc8c4" },
779
- "40": { value: "#dfdcdb" },
780
- "50": { value: "#eaeaea" },
781
- "60": { value: "#f2f2f2" },
782
- "70": { value: "#f8f8f8" },
783
- "80": { value: "#fcfcfc" },
784
- "90": { value: "#fefefe" },
785
- "100": { value: "#ffffff" }
688
+ transform: {
689
+ value: `${transitionProperties.transform} ${durations.normal} ${easings.default}`
786
690
  },
787
- gold: {
788
- "1": { value: "#FFFCF4" },
789
- "2": { value: "#FFF9E9" },
790
- "3": { value: "#FEF6DE" },
791
- "4": { value: "#FEF3D3" },
792
- "5": { value: "#FEF0C8" },
793
- "10": { value: "#FFE396" },
794
- "15": { value: "#ffd162" },
795
- "20": { value: "#FFBE2E" },
796
- "30": { value: "#E5A000" },
797
- "40": { value: "#C2850C" },
798
- "50": { value: "#936F38" },
799
- "60": { value: "#7A591A" },
800
- "70": { value: "#5C410A" },
801
- "80": { value: "#3B2B15" },
802
- "90": { value: "#1E1100" }
691
+ position: {
692
+ value: `${transitionProperties.position} ${durations.normal} ${easings.default}`
803
693
  },
804
- blue: {
805
- "1": { value: "#FAFDFF" },
806
- "2": { value: "#F6FBFF" },
807
- "3": { value: "#F1F9FF" },
808
- "4": { value: "#EDF7FF" },
809
- "5": { value: "#E8F5FF" },
810
- "10": { value: "#CFE8FF" },
811
- "20": { value: "#A1D3FF" },
812
- "30": { value: "#58B4FF" },
813
- "40": { value: "#2491FF" },
814
- "50": { value: "#0076DA" },
815
- "60": { value: "#005EA2" },
816
- "70": { value: "#0B4778" },
817
- "80": { value: "#112F4E" },
818
- "90": { value: "#11181D" }
819
- },
820
- green: {
821
- "1": { value: "#F8FEF4" },
822
- "2": { value: "#F1FDE9" },
823
- "3": { value: "#EBFBDD" },
824
- "4": { value: "#E4FAD2" },
825
- "5": { value: "#DDF9C7" },
826
- "10": { value: "#C5EE93" },
827
- "20": { value: "#98D035" },
828
- "30": { value: "#7FB135" },
829
- "40": { value: "#719F2A" },
830
- "50": { value: "#538200" },
831
- "60": { value: "#466C04" },
832
- "70": { value: "#2F4A0B" },
833
- "80": { value: "#243413" },
834
- "90": { value: "#0D1400" }
835
- },
836
- yellow: {
837
- "1": { value: "#FFFDF3" },
838
- "2": { value: "#FFFBE7" },
839
- "3": { value: "#FFF9DA" },
840
- "4": { value: "#FFF7CE" },
841
- "5": { value: "#FFF5C2" },
842
- "10": { value: "#FEE685" },
843
- "20": { value: "#FACE00" },
844
- "30": { value: "#DDAA01" },
845
- "40": { value: "#B38C00" },
846
- "50": { value: "#947100" },
847
- "60": { value: "#776017" },
848
- "70": { value: "#5C4809" },
849
- "80": { value: "#422D19" },
850
- "90": { value: "#1C0B00" }
851
- },
852
- red: {
853
- "1": { value: "#FFF9FA" },
854
- "2": { value: "#FFF3F5" },
855
- "3": { value: "#FFEEF0" },
856
- "4": { value: "#FFE8EB" },
857
- "5": { value: "#FFE2E6" },
858
- "10": { value: "#FFB1B8" },
859
- "20": { value: "#FF7F8A" },
860
- "30": { value: "#FF4D5B" },
861
- "40": { value: "#FE1D2D" },
862
- "50": { value: "#E50513" },
863
- "60": { value: "#B3000E" },
864
- "70": { value: "#810009" },
865
- "80": { value: "#4F0004" },
866
- "90": { value: "#200000" }
867
- },
868
- tomato: {
869
- "5": { value: "#FFF3F2" },
870
- "10": { value: "#FDE0DB" },
871
- "20": { value: "#FDB8AE" },
872
- "30": { value: "#FF8D7B" },
873
- "40": { value: "#FB5A47" },
874
- "50": { value: "#E52207" },
875
- "60": { value: "#B50909" },
876
- "70": { value: "#8B0A03" },
877
- "80": { value: "#5C1111" },
878
- "90": { value: "#200100" }
879
- },
880
- tan: {
881
- "5": { value: "#F5F0E6" },
882
- "10": { value: "#F1E5CD" },
883
- "20": { value: "#DEC69A" },
884
- "30": { value: "#C7A97B" },
885
- "40": { value: "#AD8B65" },
886
- "50": { value: "#8E704F" },
887
- "60": { value: "#6B5947" },
888
- "70": { value: "#4D4438" },
889
- "80": { value: "#322D26" },
890
- "90": { value: "#191714" }
891
- },
892
- orange: {
893
- "5": { value: "#FFF9F3" },
894
- "10": { value: "#FDDFBF" },
895
- "20": { value: "#FAC58C" },
896
- "30": { value: "#F8AA58" },
897
- "40": { value: "#F59025" },
898
- "50": { value: "#DC760A" },
899
- "60": { value: "#AB5C08" },
900
- "70": { value: "#7A4105" },
901
- "80": { value: "#492703" },
902
- "90": { value: "#180D01" }
903
- },
904
- pear: {
905
- "5": { value: "#FDFDF6" },
906
- "10": { value: "#F3F6CE" },
907
- "20": { value: "#E9EEA6" },
908
- "30": { value: "#E0E77E" },
909
- "40": { value: "#D6E056" },
910
- "50": { value: "#BFC93E" },
911
- "60": { value: "#9CA437" },
912
- "70": { value: "#797F2F" },
913
- "80": { value: "#565A28" },
914
- "90": { value: "#333520" }
915
- },
916
- grass: {
917
- "5": { value: "#F5FBF7" },
918
- "10": { value: "#CBEBD3" },
919
- "20": { value: "#A1DAAE" },
920
- "30": { value: "#76CA8A" },
921
- "40": { value: "#4CB965" },
922
- "50": { value: "#34A24E" },
923
- "60": { value: "#2F8543" },
924
- "70": { value: "#2A6838" },
925
- "80": { value: "#244A2D" },
926
- "90": { value: "#1F2D22" }
927
- },
928
- mint: {
929
- "5": { value: "#F5FDFB" },
930
- "10": { value: "#CFF5EA" },
931
- "20": { value: "#A9ECD9" },
932
- "30": { value: "#83E4C8" },
933
- "40": { value: "#5DDBB7" },
934
- "50": { value: "#45C4A0" },
935
- "60": { value: "#3C9F83" },
936
- "70": { value: "#327965" },
937
- "80": { value: "#295448" },
938
- "90": { value: "#1F2E2A" }
939
- },
940
- cyan: {
941
- "5": { value: "#E7F6F8" },
942
- "10": { value: "#CCECF2" },
943
- "20": { value: "#99DEEA" },
944
- "30": { value: "#5DC0D1" },
945
- "40": { value: "#449DAC" },
946
- "50": { value: "#168092" },
947
- "60": { value: "#2A646D" },
948
- "70": { value: "#2C4A4E" },
949
- "80": { value: "#203133" },
950
- "90": { value: "#111819" }
951
- },
952
- indigo: {
953
- "5": { value: "#F9FAFD" },
954
- "10": { value: "#CFD4EB" },
955
- "20": { value: "#A5AEDA" },
956
- "30": { value: "#7A89C8" },
957
- "40": { value: "#5063B7" },
958
- "50": { value: "#384CA1" },
959
- "60": { value: "#334388" },
960
- "70": { value: "#2E3A6E" },
961
- "80": { value: "#293155" },
962
- "90": { value: "#24283B" }
963
- },
964
- purple: {
965
- "5": { value: "#F5F3FF" },
966
- "10": { value: "#DDD1FD" },
967
- "20": { value: "#C6B0FB" },
968
- "30": { value: "#AE8EF9" },
969
- "40": { value: "#976DF7" },
970
- "50": { value: "#7F55E3" },
971
- "60": { value: "#6746BD" },
972
- "70": { value: "#4E3897" },
973
- "80": { value: "#362971" },
974
- "90": { value: "#1E1B4B" }
975
- },
976
- violet: {
977
- "5": { value: "#FDF4FF" },
978
- "10": { value: "#F4CAFB" },
979
- "20": { value: "#EBA0F6" },
980
- "30": { value: "#E276F2" },
981
- "40": { value: "#D94CED" },
982
- "50": { value: "#C531DA" },
983
- "60": { value: "#A626B7" },
984
- "70": { value: "#871B94" },
985
- "80": { value: "#690F71" },
986
- "90": { value: "#4A044E" }
987
- },
988
- pink: {
989
- "5": { value: "#FFF9FB" },
990
- "10": { value: "#FDDDE9" },
991
- "20": { value: "#FBC1D7" },
992
- "30": { value: "#FAA6C5" },
993
- "40": { value: "#F88AB3" },
994
- "50": { value: "#E3739D" },
995
- "60": { value: "#BC6283" },
996
- "70": { value: "#94506A" },
997
- "80": { value: "#6D3F50" },
998
- "90": { value: "#452D36" }
694
+ size: {
695
+ value: `${transitionProperties.size} ${durations.normal} ${easings.default}`
999
696
  },
1000
- rose: {
1001
- "5": { value: "#FFF1F2" },
1002
- "10": { value: "#FFCDDC" },
1003
- "20": { value: "#FFA8C5" },
1004
- "30": { value: "#FF84AF" },
1005
- "40": { value: "#FF5F98" },
1006
- "50": { value: "#EB4580" },
1007
- "60": { value: "#C33566" },
1008
- "70": { value: "#9C254D" },
1009
- "80": { value: "#741533" },
1010
- "90": { value: "#4C0519" }
697
+ spacing: {
698
+ value: `${transitionProperties.spacing} ${durations.normal} ${easings.default}`
1011
699
  },
1012
- magenta: {
1013
- "5": { value: "#FEF6FA" },
1014
- "10": { value: "#FACEE6" },
1015
- "20": { value: "#F6A6D2" },
1016
- "30": { value: "#F37EBE" },
1017
- "40": { value: "#EF56AA" },
1018
- "50": { value: "#DA3E94" },
1019
- "60": { value: "#B4377C" },
1020
- "70": { value: "#8F3064" },
1021
- "80": { value: "#69284C" },
1022
- "90": { value: "#432134" }
700
+ outline: {
701
+ value: `${transitionProperties.outline} ${durations.normal} ${easings.default}`
1023
702
  },
1024
- shadow: {
1025
- "8": { value: "hsl(0deg 0% 0% / 0.08)" },
1026
- "16": { value: "hsl(0deg 0% 0% / 0.16)" },
1027
- "24": { value: "hsl(0deg 0% 0% / 0.24)" },
1028
- "32": { value: "hsl(0deg 0% 0% / 0.32)" },
1029
- "40": { value: "hsl(0deg 0% 0% / 0.40)" },
1030
- "48": { value: "hsl(0deg 0% 0% / 0.48)" },
1031
- "56": { value: "hsl(0deg 0% 0% / 0.56)" },
1032
- "64": { value: "hsl(0deg 0% 0% / 0.64)" }
703
+ border: {
704
+ value: `${transitionProperties.border} ${durations.normal} ${easings.default}`
1033
705
  }
1034
706
  });
1035
- const durations = defineTokens.durations({
1036
- fastest: {
1037
- value: "50ms"
1038
- },
1039
- faster: {
1040
- value: "100ms"
1041
- },
1042
- fast: {
1043
- value: "150ms"
1044
- },
1045
- normal: {
1046
- value: "200ms"
1047
- },
1048
- slow: {
1049
- value: "300ms"
1050
- },
1051
- slower: {
1052
- value: "400ms"
1053
- },
1054
- slowest: {
1055
- value: "500ms"
1056
- }
1057
- });
1058
- const easings = defineTokens.easings({
1059
- default: {
1060
- value: "cubic-bezier(0.4, 0, 0.2, 1)"
1061
- },
1062
- linear: {
1063
- value: "linear"
1064
- },
1065
- in: {
1066
- value: "cubic-bezier(0.4, 0, 1, 1)"
1067
- },
1068
- out: {
1069
- value: "cubic-bezier(0, 0, 0.2, 1)"
1070
- },
1071
- "in-out": {
1072
- value: "cubic-bezier(0.4, 0, 0.2, 1)"
1073
- }
1074
- });
1075
- const fonts = defineTokens.fonts({
1076
- heading: {
1077
- value: "'Ruda Variable', Source Sans, Geneva, Tahoma, Verdana, sans-serif;"
1078
- },
1079
- body: { value: "'Recursive Variable', Geneva, Tahoma, Verdana, sans-serif;" },
1080
- mono: {
1081
- value: "'Recursive Variable', Andale Mono, monaco, Consolas, Lucida Console, monospace;"
1082
- }
1083
- });
1084
- const fontSizes$2 = defineTokens.fontSizes({
1085
- "10": { value: "{sizes.10}" },
1086
- "12": { value: "{sizes.12}" },
1087
- "14": { value: "{sizes.14}" },
1088
- "16": { value: "{sizes.16}" },
1089
- "20": { value: "{sizes.20}" },
1090
- "24": { value: "{sizes.24}" },
1091
- "32": { value: "{sizes.32}" },
1092
- "40": { value: "{sizes.40}" },
1093
- "48": { value: "{sizes.48}" },
1094
- "64": { value: "{sizes.64}" },
1095
- "72": { value: "{sizes.72}" },
1096
- "80": { value: "{sizes.80}" },
1097
- "96": { value: "{sizes.96}" }
1098
- });
1099
- const fontWeights$1 = defineTokens.fontWeights({
1100
- light: { value: 300 },
1101
- normal: { value: 400 },
1102
- medium: { value: 500 },
1103
- bold: { value: 700 },
1104
- black: { value: 900 }
1105
- });
1106
- const letterSpacings = defineTokens.letterSpacings({
1107
- tighter: {
1108
- value: "-0.05em"
1109
- },
1110
- tight: {
1111
- value: "-0.025em"
1112
- },
1113
- normal: {
1114
- value: "0em"
1115
- },
1116
- wide: {
1117
- value: "0.025em"
1118
- },
1119
- wider: {
1120
- value: "0.05em"
1121
- },
1122
- widest: {
1123
- value: "0.1em"
1124
- }
1125
- });
1126
- const lineHeights = defineTokens.lineHeights({
1127
- none: {
1128
- value: "1"
1129
- },
1130
- tight: {
1131
- value: "calc(1em + 0.25rem)"
1132
- // 4
1133
- },
1134
- default: {
1135
- value: "calc(1em + 0.5rem)"
1136
- // 8
1137
- },
1138
- loose: {
1139
- value: "calc(1em + 0.75rem)"
1140
- // 12
1141
- }
1142
- });
1143
- const numericSizes = {
1144
- "0": { value: "0" },
1145
- "1": { value: "0.0625rem" },
1146
- "2": { value: "0.125rem" },
1147
- "3": { value: "0.1875rem" },
1148
- "4": { value: "0.25rem" },
1149
- "5": { value: "0.3125rem" },
1150
- "6": { value: "0.375rem" },
1151
- "7": { value: "0.4375rem" },
1152
- "8": { value: "0.5rem" },
1153
- "9": { value: "0.5625rem" },
1154
- "10": { value: "0.625rem" },
1155
- "12": { value: "0.75rem" },
1156
- "14": { value: "0.875rem" },
1157
- "16": { value: "1rem" },
1158
- "18": { value: "1.125rem" },
1159
- "20": { value: "1.25rem" },
1160
- "22": { value: "1.375rem" },
1161
- "24": { value: "1.5rem" },
1162
- "28": { value: "1.75rem" },
1163
- "32": { value: "2rem" },
1164
- "40": { value: "2.5rem" },
1165
- "48": { value: "3rem" },
1166
- "56": { value: "3.5rem" },
1167
- "64": { value: "4rem" },
1168
- "72": { value: "4.5rem" },
1169
- "80": { value: "5rem" },
1170
- "88": { value: "5.5rem" },
1171
- "96": { value: "6rem" },
1172
- "104": { value: "6.5rem" },
1173
- "112": { value: "7rem" },
1174
- "120": { value: "7.5rem" },
1175
- "128": { value: "8rem" },
1176
- "136": { value: "8.5rem" },
1177
- "144": { value: "9rem" },
1178
- "152": { value: "9.5rem" },
1179
- "160": { value: "10rem" },
1180
- "168": { value: "10.5rem" },
1181
- "176": { value: "11rem" },
1182
- "184": { value: "11.5rem" },
1183
- "192": { value: "12rem" },
1184
- "200": { value: "12.5rem" },
1185
- "208": { value: "13rem" },
1186
- "216": { value: "13.5rem" },
1187
- "224": { value: "14rem" },
1188
- "232": { value: "14.5rem" },
1189
- "240": { value: "15rem" },
1190
- "248": { value: "15.5rem" },
1191
- "256": { value: "16rem" },
1192
- "264": { value: "16.5rem" },
1193
- "272": { value: "17rem" },
1194
- "280": { value: "17.5rem" }
1195
- };
1196
- const utilitySizes = {
1197
- full: { value: "100%" },
1198
- half: { value: "50%" },
1199
- min: { value: "min-content" },
1200
- max: { value: "max-content" },
1201
- fit: { value: "fit-content" },
1202
- prose: { value: "65ch" },
1203
- auto: { value: "auto" }
1204
- };
1205
- const containerSizeTokens = {
1206
- "2xs": { value: "16rem" },
1207
- // 256px
1208
- xs: { value: "20rem" },
1209
- // 320px
1210
- sm: { value: "24rem" },
1211
- // 384px
1212
- md: { value: "28rem" },
1213
- // 448px
1214
- lg: { value: "32rem" },
1215
- // 512px
1216
- xl: { value: "36rem" },
1217
- // 576px
1218
- "2xl": { value: "42rem" },
1219
- // 672px
1220
- "3xl": { value: "48rem" },
1221
- // 768px
1222
- "4xl": { value: "56rem" },
1223
- // 896px
1224
- "5xl": { value: "64rem" },
1225
- // 1024px
1226
- "6xl": { value: "72rem" },
1227
- // 1152px
1228
- "7xl": { value: "80rem" },
1229
- // 1280px
1230
- "8xl": { value: "90rem" }
1231
- // 1440px
1232
- };
1233
- const sizes = defineTokens.sizes({
1234
- ...numericSizes,
1235
- ...utilitySizes,
1236
- ...containerSizeTokens
1237
- });
1238
- const radii = defineTokens.radii({
1239
- "0": { value: "{sizes.0}" },
1240
- "1": { value: "{sizes.1}" },
1241
- "2": { value: "{sizes.2}" },
1242
- "3": { value: "{sizes.3}" },
1243
- "4": { value: "{sizes.4}" },
1244
- "8": { value: "{sizes.8}" },
1245
- "16": { value: "{sizes.16}" },
1246
- "100": { value: utilitySizes["full"].value },
1247
- "999": { value: "999px" }
707
+ const transitionProperty = defineUtility({
708
+ className: "transition-property",
709
+ values: "transitions"
1248
710
  });
1249
711
  const sizeToken = (value) => `{sizes.${value}}`;
1250
712
  const colorToken = (value) => `{${value}}`;
@@ -1285,164 +747,31 @@ const getBoxShadowPrimitive = (name) => joinShadowLayers(
1285
747
  formatBoxShadowLayer,
1286
748
  ", "
1287
749
  );
1288
- const shadows$1 = defineTokens.shadows({
1289
- zeroBase: {
1290
- value: getBoxShadowPrimitive("zero")
1291
- },
1292
- raisedBase: {
1293
- value: getBoxShadowPrimitive("raised")
1294
- },
1295
- elevatedBase: {
1296
- value: getBoxShadowPrimitive("elevated")
1297
- },
1298
- overlayBase: {
1299
- value: getBoxShadowPrimitive("overlay")
1300
- },
1301
- overflowBase: {
1302
- value: getBoxShadowPrimitive("overflow")
1303
- }
1304
- });
1305
- const spacing$1 = defineTokens.spacing({
1306
- ...numericSizes,
1307
- ...utilitySizes
1308
- });
1309
- const zIndex$1 = defineTokens.zIndex({
1310
- "-1": { value: -1 },
1311
- "0": { value: 0 },
1312
- "1": { value: 1 },
1313
- "2": { value: 2 },
1314
- "3": { value: 3 },
1315
- "4": { value: 4 },
1316
- "5": { value: 5 },
1317
- "10": { value: 10 },
1318
- "1000": { value: 1e3 },
1319
- "1100": { value: 1100 },
1320
- "1101": { value: 1101 },
1321
- "1200": { value: 1200 }
1322
- });
1323
- const tokens = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1324
- __proto__: null,
1325
- animations,
1326
- aspectRatios,
1327
- blurs,
1328
- borderWidths,
1329
- borders,
1330
- colors: colors$1,
1331
- containerSizeTokens,
1332
- durations,
1333
- easings,
1334
- fontSizes: fontSizes$2,
1335
- fontWeights: fontWeights$1,
1336
- fonts,
1337
- letterSpacings,
1338
- lineHeights,
1339
- numericSizes,
1340
- radii,
1341
- shadows: shadows$1,
1342
- sizes,
1343
- spacing: spacing$1,
1344
- utilitySizes,
1345
- zIndex: zIndex$1
1346
- }, Symbol.toStringTag, { value: "Module" }));
1347
- const transitionProperties = {
1348
- all: {
1349
- value: "all"
1350
- },
1351
- common: {
1352
- value: "background-color, border-color, color, fill, stroke, opacity, box-shadow, transform"
1353
- },
1354
- colors: {
1355
- value: "background-color, border-color, color, fill, stroke"
1356
- },
1357
- opacity: {
1358
- value: "opacity"
1359
- },
1360
- shadow: {
1361
- value: "box-shadow"
1362
- },
1363
- transform: {
1364
- value: "transform"
1365
- },
1366
- position: {
1367
- value: "top, right, bottom, left"
1368
- },
1369
- size: {
1370
- value: "width, height"
1371
- },
1372
- spacing: {
1373
- value: "margin, padding"
1374
- },
1375
- outline: {
1376
- value: "outline, outline-color, outline-offset"
1377
- },
1378
- border: {
1379
- value: "border, border-color"
1380
- }
1381
- };
1382
- ({
1383
- all: {
1384
- value: `${transitionProperties.all} ${durations.normal} ${easings.default}`
1385
- },
1386
- common: {
1387
- value: `${transitionProperties.common} ${durations.normal} ${easings.default}`
1388
- },
1389
- colors: {
1390
- value: `${transitionProperties.colors} ${durations.normal} ${easings.default}`
1391
- },
1392
- opacity: {
1393
- value: `${transitionProperties.opacity} ${durations.normal} ${easings.default}`
1394
- },
1395
- shadow: {
1396
- value: `${transitionProperties.shadow} ${durations.normal} ${easings.default}`
1397
- },
1398
- transform: {
1399
- value: `${transitionProperties.transform} ${durations.normal} ${easings.default}`
1400
- },
1401
- position: {
1402
- value: `${transitionProperties.position} ${durations.normal} ${easings.default}`
1403
- },
1404
- size: {
1405
- value: `${transitionProperties.size} ${durations.normal} ${easings.default}`
1406
- },
1407
- spacing: {
1408
- value: `${transitionProperties.spacing} ${durations.normal} ${easings.default}`
1409
- },
1410
- outline: {
1411
- value: `${transitionProperties.outline} ${durations.normal} ${easings.default}`
1412
- },
1413
- border: {
1414
- value: `${transitionProperties.border} ${durations.normal} ${easings.default}`
1415
- }
1416
- });
1417
- const transitionProperty = defineUtility({
1418
- className: "transition-property",
1419
- values: "transitions"
1420
- });
1421
- const dropShadowValues = {
1422
- zero: "zero",
1423
- raised: "raised",
1424
- elevated: "elevated",
1425
- overlay: "overlay"
1426
- };
1427
- const resolveDropShadowValue = (value, token) => elevationShadowDefinitions[value].map((layer) => {
1428
- const x = token(`sizes.${layer.x}`);
1429
- const y = token(`sizes.${layer.y}`);
1430
- const blur = token(`sizes.${layer.blur}`);
1431
- const color = token(layer.color);
1432
- if (!x || !y || !blur || !color) {
1433
- throw new Error(`Unable to resolve dropShadow token for ${value}`);
1434
- }
1435
- return `drop-shadow(${x} ${y} ${blur} ${color})`;
1436
- }).join(" ");
1437
- const dropShadowProperty = defineUtility({
1438
- className: "drop-shadow",
1439
- group: "Effect",
1440
- values: dropShadowValues,
1441
- transform(value, ctx) {
1442
- return {
1443
- filter: filterAutoValue,
1444
- "--drop-shadow": resolveDropShadowValue(value, ctx.token)
1445
- };
750
+ const dropShadowValues = {
751
+ zero: "zero",
752
+ raised: "raised",
753
+ elevated: "elevated",
754
+ overlay: "overlay"
755
+ };
756
+ const resolveDropShadowValue = (value, token) => elevationShadowDefinitions[value].map((layer) => {
757
+ const x = token(`sizes.${layer.x}`);
758
+ const y = token(`sizes.${layer.y}`);
759
+ const blur = token(`sizes.${layer.blur}`);
760
+ const color = token(layer.color);
761
+ if (!x || !y || !blur || !color) {
762
+ throw new Error(`Unable to resolve dropShadow token for ${value}`);
763
+ }
764
+ return `drop-shadow(${x} ${y} ${blur} ${color})`;
765
+ }).join(" ");
766
+ const dropShadowProperty = defineUtility({
767
+ className: "drop-shadow",
768
+ group: "Effect",
769
+ values: dropShadowValues,
770
+ transform(value, ctx) {
771
+ return {
772
+ filter: filterAutoValue,
773
+ "--drop-shadow": resolveDropShadowValue(value, ctx.token)
774
+ };
1446
775
  }
1447
776
  });
1448
777
  const globalBaseStyles = {
@@ -3958,7 +3287,7 @@ var marginValues = (theme) => ({
3958
3287
  auto: "auto",
3959
3288
  ...theme("spacing")
3960
3289
  });
3961
- var spacing = {
3290
+ var spacing$1 = {
3962
3291
  padding: {
3963
3292
  className: "p",
3964
3293
  shorthand: "p",
@@ -4687,7 +4016,7 @@ var utilities = Object.assign(
4687
4016
  layout,
4688
4017
  display,
4689
4018
  flexGrid,
4690
- spacing,
4019
+ spacing$1,
4691
4020
  outline,
4692
4021
  focusRing,
4693
4022
  divide,
@@ -4800,6 +4129,28 @@ const textareaRecipe = defineRecipe({
4800
4129
  size: "md"
4801
4130
  }
4802
4131
  });
4132
+ const fontSizes$2 = defineTokens.fontSizes({
4133
+ "10": { value: "{sizes.10}" },
4134
+ "12": { value: "{sizes.12}" },
4135
+ "14": { value: "{sizes.14}" },
4136
+ "16": { value: "{sizes.16}" },
4137
+ "20": { value: "{sizes.20}" },
4138
+ "24": { value: "{sizes.24}" },
4139
+ "32": { value: "{sizes.32}" },
4140
+ "40": { value: "{sizes.40}" },
4141
+ "48": { value: "{sizes.48}" },
4142
+ "64": { value: "{sizes.64}" },
4143
+ "72": { value: "{sizes.72}" },
4144
+ "80": { value: "{sizes.80}" },
4145
+ "96": { value: "{sizes.96}" }
4146
+ });
4147
+ const fontWeights$1 = defineTokens.fontWeights({
4148
+ light: { value: 300 },
4149
+ normal: { value: 400 },
4150
+ medium: { value: 500 },
4151
+ bold: { value: 700 },
4152
+ black: { value: 900 }
4153
+ });
4803
4154
  const textBase = {
4804
4155
  ...globalBaseStyles,
4805
4156
  fontFamily: "body",
@@ -4852,7 +4203,19 @@ const textVariants = {
4852
4203
  },
4853
4204
  underline: {
4854
4205
  true: {
4855
- textDecoration: "underline"
4206
+ textDecoration: "underline",
4207
+ textDecorationThickness: "[0.0625em]",
4208
+ textUnderlineOffset: "[0.15625em]",
4209
+ textDecorationSkipInk: "all"
4210
+ }
4211
+ },
4212
+ dashedUnderline: {
4213
+ true: {
4214
+ textDecoration: "underline",
4215
+ textDecorationStyle: "dashed",
4216
+ textDecorationThickness: "[0.0625em]",
4217
+ textUnderlineOffset: "[0.15625em]",
4218
+ textDecorationSkipInk: "all"
4856
4219
  }
4857
4220
  },
4858
4221
  truncate: {
@@ -4901,36 +4264,30 @@ const linkBase = {
4901
4264
  fontWeight: "medium",
4902
4265
  gap: "1",
4903
4266
  color: "link",
4904
- textDecoration: "none",
4905
- backgroundImage: "linear-gradient(90deg, transparent 0% 100%)",
4906
- backgroundSize: "100% 1px",
4907
- backgroundRepeat: "no-repeat",
4908
- backgroundPositionY: "100%",
4909
- outlineWidth: "2",
4910
- outlineStyle: "solid",
4911
- outlineColor: "transparent",
4912
- outlineOffset: "1",
4913
- width: "fit-content",
4914
- cursor: "pointer",
4267
+ textDecoration: "underline",
4268
+ textDecorationThickness: "[0.0625em]",
4269
+ textUnderlineOffset: "[0.15625em]",
4270
+ textDecorationSkipInk: "all",
4271
+ textDecorationColor: "[color-mix(in srgb, currentColor 30%, transparent)]",
4272
+ transition: "all",
4273
+ transitionDuration: "fast",
4274
+ bg: "none",
4915
4275
  _hover: {
4916
- color: "link",
4917
- backgroundImage: "linear-gradient(90deg, currentColor 0% 100%)"
4276
+ color: "link.pressed",
4277
+ textDecorationColor: "current",
4278
+ textDecorationThickness: "[0.125em]"
4918
4279
  },
4919
4280
  _focusVisible: {
4920
4281
  borderRadius: "4",
4921
4282
  outlineColor: "border.focused"
4922
- }
4923
- };
4924
- const linkVariants = {
4925
- ...textVariants,
4283
+ },
4926
4284
  _disabled: {
4927
- true: {
4928
- cursor: "not-allowed",
4929
- opacity: 0.4,
4930
- pointerEvents: "none"
4931
- }
4285
+ cursor: "not-allowed",
4286
+ opacity: 0.4,
4287
+ pointerEvents: "none"
4932
4288
  }
4933
4289
  };
4290
+ const linkVariants = { ...textVariants };
4934
4291
  const labelBase = {
4935
4292
  fontSize: "16",
4936
4293
  fontWeight: "normal",
@@ -5827,53 +5184,704 @@ const tagRecipe = defineRecipe({
5827
5184
  }
5828
5185
  ]
5829
5186
  });
5830
- const radioInputBase = {
5831
- display: "flex",
5832
- alignItems: "flex-start",
5833
- gap: "4",
5834
- "&.cetec-label": {
5835
- fontSize: "16",
5836
- lineHeight: "default"
5187
+ const radioInputBase = {
5188
+ display: "flex",
5189
+ alignItems: "flex-start",
5190
+ gap: "4",
5191
+ "&.cetec-label": {
5192
+ fontSize: "16",
5193
+ lineHeight: "default"
5194
+ },
5195
+ _disabled: {
5196
+ opacity: 0.4,
5197
+ cursor: "not-allowed"
5198
+ },
5199
+ _groupDisabled: {
5200
+ opacity: 1
5201
+ // let FormField handle disabled state opacity
5202
+ }
5203
+ };
5204
+ const radioInputRecipe = defineRecipe({
5205
+ className: "radioInput",
5206
+ jsx: ["RadioInput"],
5207
+ base: radioInputBase,
5208
+ variants: {}
5209
+ });
5210
+ const checkboxInputBase = {
5211
+ ...globalBaseStyles,
5212
+ display: "flex",
5213
+ alignItems: "start",
5214
+ gap: "4",
5215
+ "&.cetec-label": {
5216
+ fontSize: "16",
5217
+ lineHeight: "default"
5218
+ },
5219
+ _disabled: {
5220
+ opacity: 0.4,
5221
+ cursor: "not-allowed"
5222
+ },
5223
+ _groupDisabled: {
5224
+ opacity: 1
5225
+ // let FormField handle disabled state opacity
5226
+ }
5227
+ };
5228
+ const checkboxInputRecipe = defineRecipe({
5229
+ className: "checkboxInput",
5230
+ jsx: ["CheckboxInput"],
5231
+ base: checkboxInputBase,
5232
+ variants: {}
5233
+ });
5234
+ const animations = defineTokens.animations({
5235
+ spin: {
5236
+ value: "spin 1s linear infinite"
5237
+ },
5238
+ ping: {
5239
+ value: "ping 1s cubic-bezier(0, 0, 0.2, 1) infinite"
5240
+ },
5241
+ pulse: {
5242
+ value: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite"
5243
+ },
5244
+ bounce: {
5245
+ value: "bounce 1s infinite"
5246
+ },
5247
+ skeletonWave: {
5248
+ value: "skeletonWave 2s linear 0.5s infinite"
5249
+ }
5250
+ });
5251
+ const aspectRatios = defineTokens.aspectRatios({
5252
+ square: {
5253
+ value: "1 / 1"
5254
+ },
5255
+ landscape: {
5256
+ value: "4 / 3"
5257
+ },
5258
+ portrait: {
5259
+ value: "3 / 4"
5260
+ },
5261
+ wide: {
5262
+ value: "16 / 9"
5263
+ },
5264
+ ultrawide: {
5265
+ value: "18 / 5"
5266
+ },
5267
+ golden: {
5268
+ value: "1.618 / 1"
5269
+ }
5270
+ });
5271
+ const blurs = defineTokens.blurs({
5272
+ sm: {
5273
+ value: "{sizes.4}"
5274
+ },
5275
+ base: {
5276
+ value: "{sizes.8}"
5277
+ },
5278
+ md: {
5279
+ value: "{sizes.12}"
5280
+ },
5281
+ lg: {
5282
+ value: "{sizes.16}"
5283
+ },
5284
+ xl: {
5285
+ value: "{sizes.24}"
5286
+ },
5287
+ "2xl": {
5288
+ value: "{sizes.40}"
5289
+ },
5290
+ "3xl": {
5291
+ value: "{sizes.64}"
5292
+ }
5293
+ });
5294
+ const borders = defineTokens.borders({
5295
+ default: {
5296
+ value: "{borderWidths.1} solid {colors.border}"
5297
+ },
5298
+ bold: {
5299
+ value: "{borderWidths.2} solid {colors.border.bold}"
5300
+ },
5301
+ inverse: {
5302
+ value: "{borderWidths.1} solid {colors.border.inverse}"
5303
+ },
5304
+ disabled: {
5305
+ value: "{borderWidths.1} solid {colors.border.disabled}"
5306
+ },
5307
+ input: {
5308
+ value: "{borderWidths.1} solid {colors.border.input}"
5309
+ },
5310
+ focused: {
5311
+ value: "{borderWidths.2} solid {colors.border.focused}"
5312
+ },
5313
+ success: {
5314
+ value: "{borderWidths.1} solid {colors.border.success}"
5315
+ },
5316
+ warning: {
5317
+ value: "{borderWidths.1} solid {colors.border.warning}"
5318
+ },
5319
+ danger: {
5320
+ value: "{borderWidths.1} solid {colors.border.danger}"
5321
+ },
5322
+ info: {
5323
+ value: "{borderWidths.1} solid {colors.border.info}"
5324
+ },
5325
+ none: {
5326
+ value: "none"
5327
+ }
5328
+ });
5329
+ const borderWidths = defineTokens.borderWidths({
5330
+ "0": { value: "{sizes.0}" },
5331
+ "1": { value: "{sizes.1}" },
5332
+ "2": { value: "{sizes.2}" },
5333
+ "4": { value: "{sizes.4}" },
5334
+ "8": { value: "{sizes.8}" },
5335
+ "16": { value: "{sizes.16}" }
5336
+ });
5337
+ const colors$1 = defineTokens.colors({
5338
+ transparent: { value: "transparent" },
5339
+ current: { value: "currentColor" },
5340
+ inherit: { value: "inherit" },
5341
+ neutral: {
5342
+ "0": { value: "#FFFFFF" },
5343
+ "10": { value: "#F8F8F8" },
5344
+ "20": { value: "#F0F1F2" },
5345
+ "30": { value: "#DDDEE1" },
5346
+ "40": { value: "#B7B9BE" },
5347
+ "50": { value: "#8C8F97" },
5348
+ "60": { value: "#7D818A" },
5349
+ "70": { value: "#6B6E76" },
5350
+ "80": { value: "#505258" },
5351
+ "90": { value: "#3B3D42" },
5352
+ "100": { value: "#292A2E" },
5353
+ "110": { value: "#1E1F21" }
5354
+ },
5355
+ neutralA: {
5356
+ "10": { value: "#17171708" },
5357
+ "20": { value: "#1717170F" },
5358
+ "30": { value: "#17171724" },
5359
+ "40": { value: "#1717174A" },
5360
+ "50": { value: "#17171775" }
5361
+ },
5362
+ darkNeutral: {
5363
+ "0": { value: "#18191A" },
5364
+ "10": { value: "#1F1F21" },
5365
+ "20": { value: "#242528" },
5366
+ "25": { value: "#2B2C2F" },
5367
+ "30": { value: "#303134" },
5368
+ "35": { value: "#3D3F43" },
5369
+ "40": { value: "#4B4D51" },
5370
+ "50": { value: "#63666B" },
5371
+ "60": { value: "#7E8188" },
5372
+ "70": { value: "#96999E" },
5373
+ "80": { value: "#A9ABAF" },
5374
+ "90": { value: "#BFC1C4" },
5375
+ "100": { value: "#CECFD2" },
5376
+ "110": { value: "#E2E3E4" },
5377
+ "120": { value: "#F1F1F2" }
5378
+ },
5379
+ darkNeutralA: {
5380
+ "-10": { value: "#01040475" },
5381
+ "10": { value: "#BDBDBD0A" },
5382
+ "20": { value: "#CECED912" },
5383
+ "25": { value: "#D9DAE71A" },
5384
+ "30": { value: "#E3E4F21F" },
5385
+ "35": { value: "#E8EDFD2E" },
5386
+ "40": { value: "#E5E9F640" },
5387
+ "50": { value: "#E9F0FB5C" }
5388
+ },
5389
+ slate: {
5390
+ "0": { value: "#FFFFFF" },
5391
+ "1": { value: "#FAFAFA" },
5392
+ "2": { value: "#F9F8F6" },
5393
+ "3": { value: "#F7F5F3" },
5394
+ "4": { value: "#F6F3EF" },
5395
+ "5": { value: "#F4F0EB" },
5396
+ "10": { value: "#E3E1DE" },
5397
+ "20": { value: "#CBCAC8" },
5398
+ "30": { value: "#AFADAB" },
5399
+ "40": { value: "#939190" },
5400
+ "50": { value: "#767675" },
5401
+ "60": { value: "#5F5F5E" },
5402
+ "70": { value: "#474747" },
5403
+ "80": { value: "#2E2E2E" },
5404
+ "90": { value: "#1E1E1E" },
5405
+ "100": { value: "#000000" }
5406
+ },
5407
+ slate_inverse: {
5408
+ "0": { value: "#000000" },
5409
+ "1": { value: "#383838" },
5410
+ "2": { value: "#474643" },
5411
+ "3": { value: "#53504c" },
5412
+ "4": { value: "#5d5954" },
5413
+ "5": { value: "#66605e" },
5414
+ "10": { value: "#8a8985" },
5415
+ "20": { value: "#acabaa" },
5416
+ "30": { value: "#cbc8c4" },
5417
+ "40": { value: "#dfdcdb" },
5418
+ "50": { value: "#eaeaea" },
5419
+ "60": { value: "#f2f2f2" },
5420
+ "70": { value: "#f8f8f8" },
5421
+ "80": { value: "#fcfcfc" },
5422
+ "90": { value: "#fefefe" },
5423
+ "100": { value: "#ffffff" }
5424
+ },
5425
+ gold: {
5426
+ "1": { value: "#FFFCF4" },
5427
+ "2": { value: "#FFF9E9" },
5428
+ "3": { value: "#FEF6DE" },
5429
+ "4": { value: "#FEF3D3" },
5430
+ "5": { value: "#FEF0C8" },
5431
+ "10": { value: "#FFE396" },
5432
+ "15": { value: "#ffd162" },
5433
+ "20": { value: "#FFBE2E" },
5434
+ "30": { value: "#E5A000" },
5435
+ "40": { value: "#C2850C" },
5436
+ "50": { value: "#936F38" },
5437
+ "60": { value: "#7A591A" },
5438
+ "70": { value: "#5C410A" },
5439
+ "80": { value: "#3B2B15" },
5440
+ "90": { value: "#1E1100" }
5441
+ },
5442
+ blue: {
5443
+ "1": { value: "#FAFDFF" },
5444
+ "2": { value: "#F6FBFF" },
5445
+ "3": { value: "#F1F9FF" },
5446
+ "4": { value: "#EDF7FF" },
5447
+ "5": { value: "#E8F5FF" },
5448
+ "10": { value: "#CFE8FF" },
5449
+ "20": { value: "#A1D3FF" },
5450
+ "30": { value: "#58B4FF" },
5451
+ "40": { value: "#2491FF" },
5452
+ "50": { value: "#0076DA" },
5453
+ "60": { value: "#005EA2" },
5454
+ "70": { value: "#0B4778" },
5455
+ "80": { value: "#112F4E" },
5456
+ "90": { value: "#11181D" }
5457
+ },
5458
+ green: {
5459
+ "1": { value: "#F8FEF4" },
5460
+ "2": { value: "#F1FDE9" },
5461
+ "3": { value: "#EBFBDD" },
5462
+ "4": { value: "#E4FAD2" },
5463
+ "5": { value: "#DDF9C7" },
5464
+ "10": { value: "#C5EE93" },
5465
+ "20": { value: "#98D035" },
5466
+ "30": { value: "#7FB135" },
5467
+ "40": { value: "#719F2A" },
5468
+ "50": { value: "#538200" },
5469
+ "60": { value: "#466C04" },
5470
+ "70": { value: "#2F4A0B" },
5471
+ "80": { value: "#243413" },
5472
+ "90": { value: "#0D1400" }
5473
+ },
5474
+ yellow: {
5475
+ "1": { value: "#FFFDF3" },
5476
+ "2": { value: "#FFFBE7" },
5477
+ "3": { value: "#FFF9DA" },
5478
+ "4": { value: "#FFF7CE" },
5479
+ "5": { value: "#FFF5C2" },
5480
+ "10": { value: "#FEE685" },
5481
+ "20": { value: "#FACE00" },
5482
+ "30": { value: "#DDAA01" },
5483
+ "40": { value: "#B38C00" },
5484
+ "50": { value: "#947100" },
5485
+ "60": { value: "#776017" },
5486
+ "70": { value: "#5C4809" },
5487
+ "80": { value: "#422D19" },
5488
+ "90": { value: "#1C0B00" }
5489
+ },
5490
+ red: {
5491
+ "1": { value: "#FFF9FA" },
5492
+ "2": { value: "#FFF3F5" },
5493
+ "3": { value: "#FFEEF0" },
5494
+ "4": { value: "#FFE8EB" },
5495
+ "5": { value: "#FFE2E6" },
5496
+ "10": { value: "#FFB1B8" },
5497
+ "20": { value: "#FF7F8A" },
5498
+ "30": { value: "#FF4D5B" },
5499
+ "40": { value: "#FE1D2D" },
5500
+ "50": { value: "#E50513" },
5501
+ "60": { value: "#B3000E" },
5502
+ "70": { value: "#810009" },
5503
+ "80": { value: "#4F0004" },
5504
+ "90": { value: "#200000" }
5505
+ },
5506
+ tomato: {
5507
+ "5": { value: "#FFF3F2" },
5508
+ "10": { value: "#FDE0DB" },
5509
+ "20": { value: "#FDB8AE" },
5510
+ "30": { value: "#FF8D7B" },
5511
+ "40": { value: "#FB5A47" },
5512
+ "50": { value: "#E52207" },
5513
+ "60": { value: "#B50909" },
5514
+ "70": { value: "#8B0A03" },
5515
+ "80": { value: "#5C1111" },
5516
+ "90": { value: "#200100" }
5517
+ },
5518
+ tan: {
5519
+ "5": { value: "#F5F0E6" },
5520
+ "10": { value: "#F1E5CD" },
5521
+ "20": { value: "#DEC69A" },
5522
+ "30": { value: "#C7A97B" },
5523
+ "40": { value: "#AD8B65" },
5524
+ "50": { value: "#8E704F" },
5525
+ "60": { value: "#6B5947" },
5526
+ "70": { value: "#4D4438" },
5527
+ "80": { value: "#322D26" },
5528
+ "90": { value: "#191714" }
5529
+ },
5530
+ orange: {
5531
+ "5": { value: "#FFF9F3" },
5532
+ "10": { value: "#FDDFBF" },
5533
+ "20": { value: "#FAC58C" },
5534
+ "30": { value: "#F8AA58" },
5535
+ "40": { value: "#F59025" },
5536
+ "50": { value: "#DC760A" },
5537
+ "60": { value: "#AB5C08" },
5538
+ "70": { value: "#7A4105" },
5539
+ "80": { value: "#492703" },
5540
+ "90": { value: "#180D01" }
5541
+ },
5542
+ pear: {
5543
+ "5": { value: "#FDFDF6" },
5544
+ "10": { value: "#F3F6CE" },
5545
+ "20": { value: "#E9EEA6" },
5546
+ "30": { value: "#E0E77E" },
5547
+ "40": { value: "#D6E056" },
5548
+ "50": { value: "#BFC93E" },
5549
+ "60": { value: "#9CA437" },
5550
+ "70": { value: "#797F2F" },
5551
+ "80": { value: "#565A28" },
5552
+ "90": { value: "#333520" }
5553
+ },
5554
+ grass: {
5555
+ "5": { value: "#F5FBF7" },
5556
+ "10": { value: "#CBEBD3" },
5557
+ "20": { value: "#A1DAAE" },
5558
+ "30": { value: "#76CA8A" },
5559
+ "40": { value: "#4CB965" },
5560
+ "50": { value: "#34A24E" },
5561
+ "60": { value: "#2F8543" },
5562
+ "70": { value: "#2A6838" },
5563
+ "80": { value: "#244A2D" },
5564
+ "90": { value: "#1F2D22" }
5565
+ },
5566
+ mint: {
5567
+ "5": { value: "#F5FDFB" },
5568
+ "10": { value: "#CFF5EA" },
5569
+ "20": { value: "#A9ECD9" },
5570
+ "30": { value: "#83E4C8" },
5571
+ "40": { value: "#5DDBB7" },
5572
+ "50": { value: "#45C4A0" },
5573
+ "60": { value: "#3C9F83" },
5574
+ "70": { value: "#327965" },
5575
+ "80": { value: "#295448" },
5576
+ "90": { value: "#1F2E2A" }
5577
+ },
5578
+ cyan: {
5579
+ "5": { value: "#E7F6F8" },
5580
+ "10": { value: "#CCECF2" },
5581
+ "20": { value: "#99DEEA" },
5582
+ "30": { value: "#5DC0D1" },
5583
+ "40": { value: "#449DAC" },
5584
+ "50": { value: "#168092" },
5585
+ "60": { value: "#2A646D" },
5586
+ "70": { value: "#2C4A4E" },
5587
+ "80": { value: "#203133" },
5588
+ "90": { value: "#111819" }
5589
+ },
5590
+ indigo: {
5591
+ "5": { value: "#F9FAFD" },
5592
+ "10": { value: "#CFD4EB" },
5593
+ "20": { value: "#A5AEDA" },
5594
+ "30": { value: "#7A89C8" },
5595
+ "40": { value: "#5063B7" },
5596
+ "50": { value: "#384CA1" },
5597
+ "60": { value: "#334388" },
5598
+ "70": { value: "#2E3A6E" },
5599
+ "80": { value: "#293155" },
5600
+ "90": { value: "#24283B" }
5601
+ },
5602
+ purple: {
5603
+ "5": { value: "#F5F3FF" },
5604
+ "10": { value: "#DDD1FD" },
5605
+ "20": { value: "#C6B0FB" },
5606
+ "30": { value: "#AE8EF9" },
5607
+ "40": { value: "#976DF7" },
5608
+ "50": { value: "#7F55E3" },
5609
+ "60": { value: "#6746BD" },
5610
+ "70": { value: "#4E3897" },
5611
+ "80": { value: "#362971" },
5612
+ "90": { value: "#1E1B4B" }
5613
+ },
5614
+ violet: {
5615
+ "5": { value: "#FDF4FF" },
5616
+ "10": { value: "#F4CAFB" },
5617
+ "20": { value: "#EBA0F6" },
5618
+ "30": { value: "#E276F2" },
5619
+ "40": { value: "#D94CED" },
5620
+ "50": { value: "#C531DA" },
5621
+ "60": { value: "#A626B7" },
5622
+ "70": { value: "#871B94" },
5623
+ "80": { value: "#690F71" },
5624
+ "90": { value: "#4A044E" }
5625
+ },
5626
+ pink: {
5627
+ "5": { value: "#FFF9FB" },
5628
+ "10": { value: "#FDDDE9" },
5629
+ "20": { value: "#FBC1D7" },
5630
+ "30": { value: "#FAA6C5" },
5631
+ "40": { value: "#F88AB3" },
5632
+ "50": { value: "#E3739D" },
5633
+ "60": { value: "#BC6283" },
5634
+ "70": { value: "#94506A" },
5635
+ "80": { value: "#6D3F50" },
5636
+ "90": { value: "#452D36" }
5637
+ },
5638
+ rose: {
5639
+ "5": { value: "#FFF1F2" },
5640
+ "10": { value: "#FFCDDC" },
5641
+ "20": { value: "#FFA8C5" },
5642
+ "30": { value: "#FF84AF" },
5643
+ "40": { value: "#FF5F98" },
5644
+ "50": { value: "#EB4580" },
5645
+ "60": { value: "#C33566" },
5646
+ "70": { value: "#9C254D" },
5647
+ "80": { value: "#741533" },
5648
+ "90": { value: "#4C0519" }
5649
+ },
5650
+ magenta: {
5651
+ "5": { value: "#FEF6FA" },
5652
+ "10": { value: "#FACEE6" },
5653
+ "20": { value: "#F6A6D2" },
5654
+ "30": { value: "#F37EBE" },
5655
+ "40": { value: "#EF56AA" },
5656
+ "50": { value: "#DA3E94" },
5657
+ "60": { value: "#B4377C" },
5658
+ "70": { value: "#8F3064" },
5659
+ "80": { value: "#69284C" },
5660
+ "90": { value: "#432134" }
5661
+ },
5662
+ shadow: {
5663
+ "8": { value: "hsl(0deg 0% 0% / 0.08)" },
5664
+ "16": { value: "hsl(0deg 0% 0% / 0.16)" },
5665
+ "24": { value: "hsl(0deg 0% 0% / 0.24)" },
5666
+ "32": { value: "hsl(0deg 0% 0% / 0.32)" },
5667
+ "40": { value: "hsl(0deg 0% 0% / 0.40)" },
5668
+ "48": { value: "hsl(0deg 0% 0% / 0.48)" },
5669
+ "56": { value: "hsl(0deg 0% 0% / 0.56)" },
5670
+ "64": { value: "hsl(0deg 0% 0% / 0.64)" }
5671
+ }
5672
+ });
5673
+ const fonts = defineTokens.fonts({
5674
+ heading: {
5675
+ value: "'Ruda Variable', Source Sans, Geneva, Tahoma, Verdana, sans-serif;"
5837
5676
  },
5838
- _disabled: {
5839
- opacity: 0.4,
5840
- cursor: "not-allowed"
5677
+ body: { value: "'Recursive Variable', Geneva, Tahoma, Verdana, sans-serif;" },
5678
+ mono: {
5679
+ value: "'Recursive Variable', Andale Mono, monaco, Consolas, Lucida Console, monospace;"
5680
+ }
5681
+ });
5682
+ const letterSpacings = defineTokens.letterSpacings({
5683
+ tighter: {
5684
+ value: "-0.05em"
5841
5685
  },
5842
- _groupDisabled: {
5843
- opacity: 1
5844
- // let FormField handle disabled state opacity
5686
+ tight: {
5687
+ value: "-0.025em"
5688
+ },
5689
+ normal: {
5690
+ value: "0em"
5691
+ },
5692
+ wide: {
5693
+ value: "0.025em"
5694
+ },
5695
+ wider: {
5696
+ value: "0.05em"
5697
+ },
5698
+ widest: {
5699
+ value: "0.1em"
5700
+ }
5701
+ });
5702
+ const lineHeights = defineTokens.lineHeights({
5703
+ none: {
5704
+ value: "1"
5705
+ },
5706
+ tight: {
5707
+ value: "calc(1em + 0.25rem)"
5708
+ // 4
5709
+ },
5710
+ default: {
5711
+ value: "calc(1em + 0.5rem)"
5712
+ // 8
5713
+ },
5714
+ loose: {
5715
+ value: "calc(1em + 0.75rem)"
5716
+ // 12
5845
5717
  }
5718
+ });
5719
+ const numericSizes = {
5720
+ "0": { value: "0" },
5721
+ "1": { value: "0.0625rem" },
5722
+ "2": { value: "0.125rem" },
5723
+ "3": { value: "0.1875rem" },
5724
+ "4": { value: "0.25rem" },
5725
+ "5": { value: "0.3125rem" },
5726
+ "6": { value: "0.375rem" },
5727
+ "7": { value: "0.4375rem" },
5728
+ "8": { value: "0.5rem" },
5729
+ "9": { value: "0.5625rem" },
5730
+ "10": { value: "0.625rem" },
5731
+ "12": { value: "0.75rem" },
5732
+ "14": { value: "0.875rem" },
5733
+ "16": { value: "1rem" },
5734
+ "18": { value: "1.125rem" },
5735
+ "20": { value: "1.25rem" },
5736
+ "22": { value: "1.375rem" },
5737
+ "24": { value: "1.5rem" },
5738
+ "28": { value: "1.75rem" },
5739
+ "32": { value: "2rem" },
5740
+ "40": { value: "2.5rem" },
5741
+ "48": { value: "3rem" },
5742
+ "56": { value: "3.5rem" },
5743
+ "64": { value: "4rem" },
5744
+ "72": { value: "4.5rem" },
5745
+ "80": { value: "5rem" },
5746
+ "88": { value: "5.5rem" },
5747
+ "96": { value: "6rem" },
5748
+ "104": { value: "6.5rem" },
5749
+ "112": { value: "7rem" },
5750
+ "120": { value: "7.5rem" },
5751
+ "128": { value: "8rem" },
5752
+ "136": { value: "8.5rem" },
5753
+ "144": { value: "9rem" },
5754
+ "152": { value: "9.5rem" },
5755
+ "160": { value: "10rem" },
5756
+ "168": { value: "10.5rem" },
5757
+ "176": { value: "11rem" },
5758
+ "184": { value: "11.5rem" },
5759
+ "192": { value: "12rem" },
5760
+ "200": { value: "12.5rem" },
5761
+ "208": { value: "13rem" },
5762
+ "216": { value: "13.5rem" },
5763
+ "224": { value: "14rem" },
5764
+ "232": { value: "14.5rem" },
5765
+ "240": { value: "15rem" },
5766
+ "248": { value: "15.5rem" },
5767
+ "256": { value: "16rem" },
5768
+ "264": { value: "16.5rem" },
5769
+ "272": { value: "17rem" },
5770
+ "280": { value: "17.5rem" }
5846
5771
  };
5847
- const radioInputRecipe = defineRecipe({
5848
- className: "radioInput",
5849
- jsx: ["RadioInput"],
5850
- base: radioInputBase,
5851
- variants: {}
5772
+ const utilitySizes = {
5773
+ full: { value: "100%" },
5774
+ half: { value: "50%" },
5775
+ min: { value: "min-content" },
5776
+ max: { value: "max-content" },
5777
+ fit: { value: "fit-content" },
5778
+ prose: { value: "65ch" },
5779
+ auto: { value: "auto" }
5780
+ };
5781
+ const containerSizeTokens = {
5782
+ "2xs": { value: "16rem" },
5783
+ // 256px
5784
+ xs: { value: "20rem" },
5785
+ // 320px
5786
+ sm: { value: "24rem" },
5787
+ // 384px
5788
+ md: { value: "28rem" },
5789
+ // 448px
5790
+ lg: { value: "32rem" },
5791
+ // 512px
5792
+ xl: { value: "36rem" },
5793
+ // 576px
5794
+ "2xl": { value: "42rem" },
5795
+ // 672px
5796
+ "3xl": { value: "48rem" },
5797
+ // 768px
5798
+ "4xl": { value: "56rem" },
5799
+ // 896px
5800
+ "5xl": { value: "64rem" },
5801
+ // 1024px
5802
+ "6xl": { value: "72rem" },
5803
+ // 1152px
5804
+ "7xl": { value: "80rem" },
5805
+ // 1280px
5806
+ "8xl": { value: "90rem" }
5807
+ // 1440px
5808
+ };
5809
+ const sizes = defineTokens.sizes({
5810
+ ...numericSizes,
5811
+ ...utilitySizes,
5812
+ ...containerSizeTokens
5852
5813
  });
5853
- const checkboxInputBase = {
5854
- ...globalBaseStyles,
5855
- display: "flex",
5856
- alignItems: "start",
5857
- gap: "4",
5858
- "&.cetec-label": {
5859
- fontSize: "16",
5860
- lineHeight: "default"
5814
+ const radii = defineTokens.radii({
5815
+ "0": { value: "{sizes.0}" },
5816
+ "1": { value: "{sizes.1}" },
5817
+ "2": { value: "{sizes.2}" },
5818
+ "3": { value: "{sizes.3}" },
5819
+ "4": { value: "{sizes.4}" },
5820
+ "8": { value: "{sizes.8}" },
5821
+ "16": { value: "{sizes.16}" },
5822
+ "100": { value: utilitySizes["full"].value },
5823
+ "999": { value: "999px" }
5824
+ });
5825
+ const shadows$1 = defineTokens.shadows({
5826
+ zeroBase: {
5827
+ value: getBoxShadowPrimitive("zero")
5828
+ },
5829
+ raisedBase: {
5830
+ value: getBoxShadowPrimitive("raised")
5861
5831
  },
5862
- _disabled: {
5863
- opacity: 0.4,
5864
- cursor: "not-allowed"
5832
+ elevatedBase: {
5833
+ value: getBoxShadowPrimitive("elevated")
5865
5834
  },
5866
- _groupDisabled: {
5867
- opacity: 1
5868
- // let FormField handle disabled state opacity
5835
+ overlayBase: {
5836
+ value: getBoxShadowPrimitive("overlay")
5837
+ },
5838
+ overflowBase: {
5839
+ value: getBoxShadowPrimitive("overflow")
5869
5840
  }
5870
- };
5871
- const checkboxInputRecipe = defineRecipe({
5872
- className: "checkboxInput",
5873
- jsx: ["CheckboxInput"],
5874
- base: checkboxInputBase,
5875
- variants: {}
5876
5841
  });
5842
+ const spacing = defineTokens.spacing({
5843
+ ...numericSizes,
5844
+ ...utilitySizes
5845
+ });
5846
+ const zIndex$1 = defineTokens.zIndex({
5847
+ "-1": { value: -1 },
5848
+ "0": { value: 0 },
5849
+ "1": { value: 1 },
5850
+ "2": { value: 2 },
5851
+ "3": { value: 3 },
5852
+ "4": { value: 4 },
5853
+ "5": { value: 5 },
5854
+ "10": { value: 10 },
5855
+ "1000": { value: 1e3 },
5856
+ "1100": { value: 1100 },
5857
+ "1101": { value: 1101 },
5858
+ "1102": { value: 1102 },
5859
+ "1200": { value: 1200 }
5860
+ });
5861
+ const tokens = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5862
+ __proto__: null,
5863
+ animations,
5864
+ aspectRatios,
5865
+ blurs,
5866
+ borderWidths,
5867
+ borders,
5868
+ colors: colors$1,
5869
+ containerSizeTokens,
5870
+ durations,
5871
+ easings,
5872
+ fontSizes: fontSizes$2,
5873
+ fontWeights: fontWeights$1,
5874
+ fonts,
5875
+ letterSpacings,
5876
+ lineHeights,
5877
+ numericSizes,
5878
+ radii,
5879
+ shadows: shadows$1,
5880
+ sizes,
5881
+ spacing,
5882
+ utilitySizes,
5883
+ zIndex: zIndex$1
5884
+ }, Symbol.toStringTag, { value: "Module" }));
5877
5885
  const sizeVariants = Object.fromEntries(
5878
5886
  Object.keys(numericSizes).map((key) => [key, { w: key }])
5879
5887
  );
@@ -6574,7 +6582,6 @@ const menuBase = {
6574
6582
  borderRadius: "4",
6575
6583
  boxShadow: "overlay",
6576
6584
  overflow: "hidden",
6577
- zIndex: "100",
6578
6585
  transitionProperty: "width, height",
6579
6586
  transitionDuration: "normal",
6580
6587
  transitionTimingFunction: "default",
@@ -6635,6 +6642,18 @@ const menuBase = {
6635
6642
  }
6636
6643
  };
6637
6644
  const menuVariants = {
6645
+ layer: {
6646
+ elevated: {
6647
+ wrapper: {
6648
+ zIndex: "elevated"
6649
+ }
6650
+ },
6651
+ modalFloating: {
6652
+ wrapper: {
6653
+ zIndex: "modalFloating"
6654
+ }
6655
+ }
6656
+ },
6638
6657
  density: {
6639
6658
  compact: {
6640
6659
  backHeader: {
@@ -6692,7 +6711,8 @@ const menuRecipe = defineSlotRecipe({
6692
6711
  base: menuBase,
6693
6712
  variants: menuVariants,
6694
6713
  defaultVariants: {
6695
- density: "compact"
6714
+ density: "compact",
6715
+ layer: "elevated"
6696
6716
  }
6697
6717
  });
6698
6718
  const textInputBase = {
@@ -7422,6 +7442,7 @@ const chipRecipe = defineSlotRecipe({
7422
7442
  position: "relative",
7423
7443
  display: "inline-flex",
7424
7444
  alignItems: "center",
7445
+ justifyContent: "center",
7425
7446
  minW: "0",
7426
7447
  flexShrink: "0",
7427
7448
  bg: "transparent",
@@ -7434,7 +7455,12 @@ const chipRecipe = defineSlotRecipe({
7434
7455
  aspectRatio: "square",
7435
7456
  ...buttonStyles,
7436
7457
  w: "calc(var(--slot-size) + (var(--slot-px) * 2))",
7437
- h: "calc(var(--slot-size) + (var(--slot-px) * 2))"
7458
+ h: "calc(var(--slot-size) + (var(--slot-px) * 2))",
7459
+ _icon: {
7460
+ fill: "icon.decorative",
7461
+ width: "var(--slot-size)",
7462
+ height: "var(--slot-size)"
7463
+ }
7438
7464
  },
7439
7465
  slot: {
7440
7466
  display: "inline-flex",
@@ -7665,504 +7691,866 @@ const listItemRecipe = defineSlotRecipe({
7665
7691
  true: {},
7666
7692
  false: {}
7667
7693
  },
7668
- iconAfter: {
7669
- true: {},
7670
- false: {}
7694
+ iconAfter: {
7695
+ true: {},
7696
+ false: {}
7697
+ }
7698
+ },
7699
+ defaultVariants: {
7700
+ variant: "default",
7701
+ density: "compact"
7702
+ }
7703
+ });
7704
+ const listItemGroupRecipe = defineSlotRecipe({
7705
+ className: "listItemGroup",
7706
+ jsx: ["ListItemGroup"],
7707
+ slots: ["wrapper", "groupLabel", "divider"],
7708
+ base: {
7709
+ wrapper: {
7710
+ width: "full"
7711
+ },
7712
+ groupLabel: {
7713
+ ...globalBaseStyles,
7714
+ color: "text.subtlest",
7715
+ px: "var(--list-group-label-padding-x)",
7716
+ pt: "var(--list-group-label-padding-top)",
7717
+ pb: "var(--list-group-label-padding-bottom)",
7718
+ fontSize: "var(--list-group-label-size)",
7719
+ borderStyle: "solid",
7720
+ borderWidth: "1",
7721
+ borderColor: "transparent"
7722
+ },
7723
+ divider: {
7724
+ my: "var(--list-group-divider-margin-y)",
7725
+ mx: "var(--list-group-divider-margin-x)"
7726
+ }
7727
+ },
7728
+ variants: {
7729
+ density: listDensityWrapperVars
7730
+ },
7731
+ defaultVariants: {
7732
+ density: "compact"
7733
+ }
7734
+ });
7735
+ const modalBase = {
7736
+ positionWrapper: {
7737
+ "--wrapper-p": {
7738
+ base: "token(sizes.0)",
7739
+ xs: "token(sizes.12)",
7740
+ sm: "token(sizes.32)",
7741
+ md: "token(sizes.56)"
7742
+ },
7743
+ position: "fixed",
7744
+ inset: "0",
7745
+ display: "grid",
7746
+ p: "var(--wrapper-p)",
7747
+ w: "100vw",
7748
+ h: "100vh",
7749
+ zIndex: 1100
7750
+ },
7751
+ overlay: {
7752
+ position: "fixed",
7753
+ inset: "0",
7754
+ bg: "blanket",
7755
+ zIndex: 1100,
7756
+ // Initial state matches animation start
7757
+ opacity: "0",
7758
+ // Animation handled via data-state
7759
+ animation: "modalFadeIn 150ms ease-out forwards",
7760
+ '&[data-state="closing"]': {
7761
+ animation: "modalFadeOut 150ms ease-out forwards"
7762
+ }
7763
+ },
7764
+ container: {
7765
+ ...globalBaseStyles,
7766
+ display: "flex",
7767
+ flexDirection: "column",
7768
+ maxW: "calc(100vw - (2 * var(--wrapper-p)))",
7769
+ maxH: "calc(100vh - (2 * var(--wrapper-p)))",
7770
+ bg: "surface.overlay",
7771
+ borderRadius: "12",
7772
+ boxShadow: "overlay",
7773
+ outline: "none",
7774
+ zIndex: 1101
7775
+ },
7776
+ header: {
7777
+ display: "flex",
7778
+ alignItems: "center",
7779
+ justifyContent: "space-between",
7780
+ gap: "12",
7781
+ px: "20",
7782
+ py: "12",
7783
+ borderBottom: "default"
7784
+ },
7785
+ title: {
7786
+ w: "full",
7787
+ truncate: true
7788
+ },
7789
+ closeButton: {
7790
+ // IconButton styles will be applied via IconButton component
7791
+ // This slot is for any additional wrapper styling if needed
7792
+ },
7793
+ body: {
7794
+ flex: 1,
7795
+ display: "flex",
7796
+ flexDirection: "column",
7797
+ overflowY: "auto",
7798
+ gap: "12",
7799
+ px: "20",
7800
+ py: "20"
7801
+ },
7802
+ footer: {
7803
+ display: "flex",
7804
+ alignItems: "center",
7805
+ justifyContent: "flex-end",
7806
+ gap: "8",
7807
+ px: "20",
7808
+ py: "12",
7809
+ borderTop: "default"
7810
+ }
7811
+ };
7812
+ const mobile = {
7813
+ xsDown: {
7814
+ width: "100vw",
7815
+ height: "100vh",
7816
+ maxWidth: "100vw",
7817
+ maxHeight: "100vh",
7818
+ borderRadius: "0"
7819
+ }
7820
+ };
7821
+ const modalVariants = {
7822
+ size: {
7823
+ sm: {
7824
+ container: {
7825
+ w: "md",
7826
+ ...mobile
7827
+ }
7828
+ },
7829
+ md: {
7830
+ container: {
7831
+ w: "xl",
7832
+ ...mobile
7833
+ }
7834
+ },
7835
+ lg: {
7836
+ container: {
7837
+ w: "3xl",
7838
+ ...mobile
7839
+ }
7840
+ },
7841
+ xl: {
7842
+ container: {
7843
+ w: "5xl",
7844
+ ...mobile
7845
+ }
7846
+ },
7847
+ full: {
7848
+ container: {
7849
+ w: "95vw",
7850
+ ...mobile
7851
+ }
7852
+ },
7853
+ fullPage: {
7854
+ positionWrapper: {
7855
+ "--wrapper-p": "token(sizes.0)"
7856
+ },
7857
+ container: {
7858
+ w: "100vw",
7859
+ h: "100vh",
7860
+ maxW: "100vw",
7861
+ maxH: "100vh",
7862
+ borderRadius: "0",
7863
+ ...mobile
7864
+ }
7865
+ }
7866
+ },
7867
+ position: {
7868
+ centered: {
7869
+ positionWrapper: {
7870
+ placeContent: "center"
7871
+ },
7872
+ container: {
7873
+ animation: "modalScaleIn 150ms ease-out forwards",
7874
+ '&[data-state="closing"]': {
7875
+ animation: "modalScaleOut 150ms ease-out forwards"
7876
+ }
7877
+ }
7878
+ },
7879
+ top: {
7880
+ positionWrapper: {
7881
+ placeContent: "start center"
7882
+ },
7883
+ container: {
7884
+ animation: "modalScaleInTop 150ms ease-out forwards",
7885
+ '&[data-state="closing"]': {
7886
+ animation: "modalScaleOutTop 150ms ease-out forwards"
7887
+ }
7888
+ }
7671
7889
  }
7672
- },
7890
+ }
7891
+ };
7892
+ const modalRecipe = defineSlotRecipe({
7893
+ className: "modal",
7894
+ jsx: ["ModalWrapper", "ModalHeader", "ModalBody", "ModalFooter", "Modal"],
7895
+ slots: [
7896
+ "positionWrapper",
7897
+ "overlay",
7898
+ "container",
7899
+ "header",
7900
+ "title",
7901
+ "closeButton",
7902
+ "body",
7903
+ "footer"
7904
+ ],
7905
+ base: modalBase,
7906
+ variants: modalVariants,
7673
7907
  defaultVariants: {
7674
- variant: "default",
7675
- density: "compact"
7908
+ size: "md",
7909
+ position: "centered"
7676
7910
  }
7677
7911
  });
7678
- const listItemGroupRecipe = defineSlotRecipe({
7679
- className: "listItemGroup",
7680
- jsx: ["ListItemGroup"],
7681
- slots: ["wrapper", "groupLabel", "divider"],
7912
+ const breadcrumbsRecipe = defineSlotRecipe({
7913
+ className: "breadcrumbs",
7914
+ jsx: ["Breadcrumbs"],
7915
+ slots: ["wrapper", "slash", "linkSegment", "currentSegment"],
7682
7916
  base: {
7683
7917
  wrapper: {
7684
- width: "full"
7685
- },
7686
- groupLabel: {
7687
7918
  ...globalBaseStyles,
7919
+ display: "flex",
7920
+ gap: "6",
7921
+ alignItems: "center",
7922
+ fontFamily: "mono",
7923
+ fontSize: "14",
7924
+ "& li": {
7925
+ display: "flex",
7926
+ gap: "6",
7927
+ alignItems: "center"
7928
+ }
7929
+ },
7930
+ slash: {
7931
+ fontFamily: "mono",
7932
+ fontSize: "14",
7933
+ color: "text.placeholder"
7934
+ },
7935
+ linkSegment: {
7936
+ fontFamily: "mono",
7937
+ fontSize: "14",
7688
7938
  color: "text.subtlest",
7689
- px: "var(--list-group-label-padding-x)",
7690
- pt: "var(--list-group-label-padding-top)",
7691
- pb: "var(--list-group-label-padding-bottom)",
7692
- fontSize: "var(--list-group-label-size)",
7693
- borderStyle: "solid",
7694
- borderWidth: "1",
7695
- borderColor: "transparent"
7939
+ fontWeight: "normal",
7940
+ whiteSpace: "nowrap",
7941
+ _hover: {
7942
+ color: "link"
7943
+ },
7944
+ _focusVisible: {
7945
+ color: "blue.50"
7946
+ }
7696
7947
  },
7697
- divider: {
7698
- my: "var(--list-group-divider-margin-y)",
7699
- mx: "var(--list-group-divider-margin-x)"
7948
+ currentSegment: {
7949
+ fontFamily: "mono",
7950
+ fontSize: "14",
7951
+ color: "text",
7952
+ fontWeight: "bold",
7953
+ whiteSpace: "nowrap"
7700
7954
  }
7701
- },
7702
- variants: {
7703
- density: listDensityWrapperVars
7704
- },
7705
- defaultVariants: {
7706
- density: "compact"
7707
7955
  }
7708
7956
  });
7709
- const modalBase = {
7710
- positionWrapper: {
7711
- "--wrapper-p": {
7712
- base: "token(sizes.0)",
7713
- xs: "token(sizes.12)",
7714
- sm: "token(sizes.32)",
7715
- md: "token(sizes.56)"
7716
- },
7717
- position: "fixed",
7718
- inset: "0",
7719
- display: "grid",
7720
- p: "var(--wrapper-p)",
7721
- w: "100vw",
7722
- h: "100vh",
7723
- zIndex: 1100
7957
+ const selectBase = {
7958
+ root: {
7959
+ "--icon-size": "token(sizes.24)",
7960
+ "--icon-margin": "token(sizes.3)",
7961
+ "--input-icon-padding": "token(sizes.10)",
7962
+ display: "inline-flex",
7963
+ flexDirection: "column",
7964
+ position: "relative",
7965
+ minWidth: "0",
7966
+ maxW: "full",
7967
+ width: "fit"
7724
7968
  },
7725
- overlay: {
7726
- position: "fixed",
7727
- inset: "0",
7728
- bg: "blanket",
7729
- zIndex: 1100,
7730
- // Initial state matches animation start
7731
- opacity: "0",
7732
- // Animation handled via data-state
7733
- animation: "modalFadeIn 150ms ease-out forwards",
7734
- '&[data-state="closing"]': {
7735
- animation: "modalFadeOut 150ms ease-out forwards"
7969
+ trigger: {
7970
+ position: "relative",
7971
+ display: "inline-flex",
7972
+ alignItems: "center",
7973
+ width: "fit",
7974
+ minWidth: "0",
7975
+ maxWidth: "full",
7976
+ pe: "var(--input-icon-padding)",
7977
+ borderWidth: "1",
7978
+ borderStyle: "solid",
7979
+ borderColor: "border.input",
7980
+ borderRadius: "4",
7981
+ outlineWidth: "2",
7982
+ outlineOffset: "-1",
7983
+ outlineStyle: "solid",
7984
+ outlineColor: "transparent",
7985
+ bg: "bg.input",
7986
+ color: "text",
7987
+ fontFamily: "body",
7988
+ lineHeight: "default",
7989
+ cursor: "pointer",
7990
+ overflow: "hidden",
7991
+ transitionDuration: "fast",
7992
+ transitionProperty: "background, border-color, outline-color",
7993
+ transitionTimingFunction: "default",
7994
+ _hover: {
7995
+ bg: "bg.input.hovered"
7996
+ },
7997
+ _focusVisible: {
7998
+ bg: "bg.input.pressed",
7999
+ borderColor: "border.focused",
8000
+ outlineColor: "border.focused"
8001
+ },
8002
+ _open: {
8003
+ bg: "bg.input.pressed",
8004
+ borderColor: "border.focused",
8005
+ outlineColor: "border.focused"
8006
+ },
8007
+ _disabled: {
8008
+ bg: "bg.disabled",
8009
+ borderColor: "border.disabled",
8010
+ color: "text.disabled",
8011
+ cursor: "not-allowed",
8012
+ pointerEvents: "none"
8013
+ },
8014
+ _error: {
8015
+ borderColor: "border.danger",
8016
+ _hover: {
8017
+ borderColor: "border.danger"
8018
+ },
8019
+ _focusVisible: {
8020
+ borderColor: "border.danger",
8021
+ outlineColor: "border.danger"
8022
+ },
8023
+ _open: {
8024
+ borderColor: "border.danger",
8025
+ outlineColor: "border.danger"
8026
+ }
7736
8027
  }
7737
8028
  },
7738
- container: {
7739
- ...globalBaseStyles,
7740
- display: "flex",
7741
- flexDirection: "column",
7742
- maxW: "calc(100vw - (2 * var(--wrapper-p)))",
7743
- maxH: "calc(100vh - (2 * var(--wrapper-p)))",
7744
- bg: "surface.overlay",
7745
- borderRadius: "12",
7746
- boxShadow: "overlay",
7747
- outline: "none",
7748
- zIndex: 1101
7749
- },
7750
- header: {
8029
+ content: {
7751
8030
  display: "flex",
7752
8031
  alignItems: "center",
7753
- justifyContent: "space-between",
7754
- gap: "12",
7755
- px: "20",
7756
- py: "12",
7757
- borderBottom: "default"
7758
- },
7759
- title: {
7760
- w: "full",
7761
- truncate: true
8032
+ minWidth: "0",
8033
+ width: "full",
8034
+ flex: "1"
7762
8035
  },
7763
- closeButton: {
7764
- // IconButton styles will be applied via IconButton component
7765
- // This slot is for any additional wrapper styling if needed
8036
+ value: {
8037
+ flex: 1,
8038
+ minWidth: "0",
8039
+ textAlign: "left",
8040
+ truncate: true,
8041
+ color: "text"
7766
8042
  },
7767
- body: {
8043
+ placeholder: {
7768
8044
  flex: 1,
7769
- display: "flex",
7770
- flexDirection: "column",
7771
- overflowY: "auto",
7772
- gap: "12",
7773
- px: "20",
7774
- py: "20"
8045
+ minWidth: "0",
8046
+ textAlign: "left",
8047
+ truncate: true,
8048
+ color: "text.placeholder"
7775
8049
  },
7776
- footer: {
8050
+ chips: {
7777
8051
  display: "flex",
7778
8052
  alignItems: "center",
7779
- justifyContent: "flex-end",
7780
- gap: "8",
7781
- px: "20",
7782
- py: "12",
7783
- borderTop: "default"
7784
- }
7785
- };
7786
- const mobile = {
7787
- xsDown: {
7788
- width: "100vw",
7789
- height: "100vh",
7790
- maxWidth: "100vw",
7791
- maxHeight: "100vh",
7792
- borderRadius: "0"
8053
+ gap: "4",
8054
+ minWidth: "0",
8055
+ width: "full",
8056
+ flex: "1",
8057
+ overflowX: "auto",
8058
+ overflowY: "hidden",
8059
+ scrollbarWidth: "thin"
8060
+ },
8061
+ icon: {
8062
+ position: "absolute",
8063
+ top: "50%",
8064
+ right: "1",
8065
+ display: "inline-flex",
8066
+ alignItems: "center",
8067
+ justifyContent: "center",
8068
+ width: "var(--icon-size)",
8069
+ height: "var(--icon-size)",
8070
+ marginInline: "var(--icon-margin)",
8071
+ transform: "translateY(-50%)",
8072
+ bg: "bg.input",
8073
+ fill: "icon.decorative",
8074
+ pointerEvents: "none",
8075
+ transitionDuration: "fast",
8076
+ transitionProperty: "all",
8077
+ transitionTimingFunction: "default",
8078
+ _icon: {
8079
+ width: "var(--icon-size)",
8080
+ height: "var(--icon-size)",
8081
+ transitionDuration: "fast",
8082
+ transitionProperty: "all",
8083
+ transitionTimingFunction: "default"
8084
+ },
8085
+ _peerHover: {
8086
+ bg: "bg.input.hovered"
8087
+ },
8088
+ _open: {
8089
+ "& > svg": {
8090
+ transform: "rotate(-180deg)",
8091
+ transformOrigin: "center"
8092
+ }
8093
+ }
7793
8094
  }
7794
8095
  };
7795
- const modalVariants = {
8096
+ const selectVariants = {
7796
8097
  size: {
7797
8098
  sm: {
7798
- container: {
7799
- w: "md",
7800
- ...mobile
8099
+ root: {
8100
+ "--icon-size": "token(sizes.22)",
8101
+ "--icon-margin": "token(sizes.2)",
8102
+ "--input-icon-padding": "[26px]"
8103
+ },
8104
+ content: {
8105
+ py: "0",
8106
+ ps: "8",
8107
+ fontSize: "14"
8108
+ },
8109
+ chips: {
8110
+ gap: "3",
8111
+ py: "2"
7801
8112
  }
7802
8113
  },
7803
8114
  md: {
7804
- container: {
7805
- w: "xl",
7806
- ...mobile
8115
+ root: {
8116
+ "--icon-size": "token(sizes.24)",
8117
+ "--icon-margin": "token(sizes.3)",
8118
+ "--input-icon-padding": "[31px]"
8119
+ },
8120
+ content: {
8121
+ py: "3",
8122
+ ps: "10",
8123
+ fontSize: "16"
8124
+ },
8125
+ chips: {
8126
+ gap: "4",
8127
+ py: "5"
7807
8128
  }
7808
8129
  },
7809
8130
  lg: {
7810
- container: {
7811
- w: "3xl",
7812
- ...mobile
8131
+ root: {
8132
+ "--icon-size": "token(sizes.24)",
8133
+ "--icon-margin": "token(sizes.5)",
8134
+ "--input-icon-padding": "[34px]"
8135
+ },
8136
+ content: {
8137
+ py: "7",
8138
+ ps: "12",
8139
+ fontSize: "16"
8140
+ },
8141
+ chips: {
8142
+ gap: "5",
8143
+ py: "0"
7813
8144
  }
7814
8145
  },
7815
8146
  xl: {
7816
- container: {
7817
- w: "5xl",
7818
- ...mobile
7819
- }
7820
- },
7821
- full: {
7822
- container: {
7823
- w: "95vw",
7824
- ...mobile
8147
+ root: {
8148
+ "--icon-size": "token(sizes.28)",
8149
+ "--icon-margin": "token(sizes.7)",
8150
+ "--input-icon-padding": "[42px]"
8151
+ },
8152
+ content: {
8153
+ py: "9",
8154
+ ps: "16",
8155
+ fontSize: "20"
8156
+ },
8157
+ chips: {
8158
+ gap: "6",
8159
+ py: "2"
7825
8160
  }
7826
- },
7827
- fullPage: {
7828
- positionWrapper: {
7829
- "--wrapper-p": "token(sizes.0)"
8161
+ }
8162
+ },
8163
+ multiple: {
8164
+ true: {
8165
+ trigger: {
8166
+ alignItems: "flex-start"
7830
8167
  },
7831
- container: {
7832
- w: "100vw",
7833
- h: "100vh",
7834
- maxW: "100vw",
7835
- maxH: "100vh",
7836
- borderRadius: "0",
7837
- ...mobile
8168
+ content: {
8169
+ alignItems: "flex-start"
7838
8170
  }
7839
8171
  }
7840
8172
  },
7841
- position: {
7842
- centered: {
7843
- positionWrapper: {
7844
- placeContent: "center"
8173
+ autoSize: {
8174
+ true: {
8175
+ trigger: {
8176
+ height: "auto"
7845
8177
  },
7846
- container: {
7847
- animation: "modalScaleIn 150ms ease-out forwards",
7848
- '&[data-state="closing"]': {
7849
- animation: "modalScaleOut 150ms ease-out forwards"
7850
- }
8178
+ value: {
8179
+ whiteSpace: "normal",
8180
+ textWrap: "wrap",
8181
+ overflow: "visible",
8182
+ textOverflow: "clip"
8183
+ },
8184
+ placeholder: {
8185
+ whiteSpace: "normal",
8186
+ textWrap: "wrap",
8187
+ overflow: "visible",
8188
+ textOverflow: "clip"
8189
+ },
8190
+ chips: {
8191
+ flexWrap: "wrap",
8192
+ overflowX: "visible",
8193
+ overflowY: "visible"
7851
8194
  }
7852
8195
  },
7853
- top: {
7854
- positionWrapper: {
7855
- placeContent: "start center"
7856
- },
7857
- container: {
7858
- animation: "modalScaleInTop 150ms ease-out forwards",
7859
- '&[data-state="closing"]': {
7860
- animation: "modalScaleOutTop 150ms ease-out forwards"
7861
- }
8196
+ false: {
8197
+ chips: {
8198
+ flexWrap: "nowrap"
7862
8199
  }
7863
8200
  }
7864
8201
  }
7865
8202
  };
7866
- const modalRecipe = defineSlotRecipe({
7867
- className: "modal",
7868
- jsx: ["Modal", "ModalHeader", "ModalBody", "ModalFooter"],
8203
+ const selectRecipe = defineSlotRecipe({
8204
+ className: "select",
8205
+ jsx: ["Select"],
7869
8206
  slots: [
7870
- "positionWrapper",
7871
- "overlay",
7872
- "container",
7873
- "header",
7874
- "title",
7875
- "closeButton",
7876
- "body",
7877
- "footer"
8207
+ "root",
8208
+ "trigger",
8209
+ "content",
8210
+ "value",
8211
+ "placeholder",
8212
+ "chips",
8213
+ "icon"
7878
8214
  ],
7879
- base: modalBase,
7880
- variants: modalVariants,
8215
+ base: selectBase,
8216
+ variants: selectVariants,
7881
8217
  defaultVariants: {
7882
- size: "md",
7883
- position: "centered"
8218
+ size: "md"
8219
+ }
8220
+ });
8221
+ const kbdRecipe = defineSlotRecipe({
8222
+ className: "kbd",
8223
+ slots: ["kbdGroup", "key"],
8224
+ base: {
8225
+ kbdGroup: {
8226
+ display: "inline-flex",
8227
+ alignItems: "center",
8228
+ gap: "2",
8229
+ verticalAlign: "middle"
8230
+ },
8231
+ key: {
8232
+ display: "inline-flex",
8233
+ alignItems: "center",
8234
+ justifyContent: "center",
8235
+ gap: "1",
8236
+ h: "16",
8237
+ w: "fit",
8238
+ minW: "16",
8239
+ rounded: "6",
8240
+ cornerShape: "squircle",
8241
+ bg: "bg.neutral",
8242
+ px: "4",
8243
+ fontFamily: "mono",
8244
+ fontVariant: "mono",
8245
+ lineHeight: "tight",
8246
+ fontWeight: "bold",
8247
+ textTransform: "uppercase",
8248
+ color: "text.subtle",
8249
+ userSelect: "none",
8250
+ pointerEvents: "none",
8251
+ fontSize: "10"
8252
+ }
8253
+ },
8254
+ variants: {
8255
+ variant: {
8256
+ default: {
8257
+ key: {
8258
+ fontSize: "10"
8259
+ }
8260
+ },
8261
+ symbol: {
8262
+ key: {
8263
+ fontSize: "12"
8264
+ }
8265
+ }
8266
+ }
8267
+ },
8268
+ defaultVariants: {
8269
+ variant: "default"
7884
8270
  }
7885
8271
  });
7886
- const datePickerBase = {
8272
+ const validationStyles = {
8273
+ danger: {
8274
+ borderColor: "border.danger",
8275
+ outlineColor: "border.danger"
8276
+ },
8277
+ success: {
8278
+ borderColor: "border.success",
8279
+ outlineColor: "border.success"
8280
+ }
8281
+ };
8282
+ const autocompleteBase = {
7887
8283
  root: {
8284
+ ...globalBaseStyles,
8285
+ "--control-py": "token(sizes.3)",
8286
+ "--control-px": "token(sizes.10)",
8287
+ "--control-fs": "token(sizes.16)",
8288
+ "--control-min-height": "token(sizes.32)",
8289
+ "--value-gap": "token(sizes.4)",
8290
+ "--input-min-width": "token(sizes.80)",
8291
+ "--loading-size": "token(sizes.20)",
8292
+ position: "relative",
7888
8293
  display: "inline-flex",
7889
8294
  flexDirection: "column",
7890
- position: "relative"
8295
+ width: "full",
8296
+ minWidth: "0",
8297
+ maxWidth: "full",
8298
+ fontFamily: "body",
8299
+ lineHeight: "default",
8300
+ _disabled: {
8301
+ opacity: 0.4,
8302
+ cursor: "not-allowed"
8303
+ },
8304
+ _groupDisabled: {
8305
+ opacity: 1
8306
+ }
7891
8307
  },
7892
- // The segmented input container — visually identical to textinput
7893
- input: {
7894
- display: "inline-flex",
8308
+ control: {
8309
+ position: "relative",
8310
+ display: "flex",
7895
8311
  alignItems: "center",
7896
- gap: "0",
7897
8312
  width: "full",
8313
+ minWidth: "0",
8314
+ minHeight: "var(--control-min-height)",
8315
+ py: "var(--control-py)",
8316
+ ps: "var(--control-px)",
8317
+ pe: "var(--control-px)",
8318
+ bg: "surface",
8319
+ color: "text",
7898
8320
  borderWidth: "1",
7899
8321
  borderStyle: "solid",
7900
8322
  borderColor: "border.input",
7901
8323
  borderRadius: "4",
7902
- outlineWidth: "2",
7903
- outlineOffset: "-1",
8324
+ outlineWidth: "1",
7904
8325
  outlineStyle: "solid",
7905
8326
  outlineColor: "transparent",
7906
- bg: "bg.input",
7907
- color: "text",
7908
- fontFamily: "mono",
7909
- lineHeight: "default",
7910
8327
  cursor: "text",
7911
- userSelect: "none",
7912
8328
  transitionDuration: "fast",
7913
8329
  transitionProperty: "background, border-color, outline-color",
7914
8330
  transitionTimingFunction: "default",
7915
8331
  _focusWithin: {
7916
- bg: "bg.input.pressed",
7917
8332
  borderColor: "border.focused",
7918
8333
  outlineColor: "border.focused"
7919
8334
  },
7920
8335
  _open: {
7921
- bg: "bg.input.pressed",
7922
8336
  borderColor: "border.focused",
7923
8337
  outlineColor: "border.focused"
7924
8338
  },
8339
+ _error: validationStyles.danger,
8340
+ _invalid: validationStyles.danger,
8341
+ _valid: validationStyles.success,
7925
8342
  _disabled: {
7926
8343
  bg: "bg.disabled",
7927
8344
  borderColor: "border.disabled",
7928
8345
  color: "text.disabled",
7929
8346
  cursor: "not-allowed",
7930
- pointerEvents: "none"
7931
- },
7932
- _error: {
7933
- borderColor: "border.danger",
7934
- _hover: {
7935
- borderColor: "border.danger"
7936
- },
8347
+ pointerEvents: "none",
7937
8348
  _focusWithin: {
7938
- borderColor: "border.danger",
7939
- outlineColor: "border.danger"
7940
- },
7941
- _open: {
7942
- borderColor: "border.danger",
7943
- outlineColor: "border.danger"
8349
+ borderColor: "border.disabled",
8350
+ outlineColor: "transparent"
7944
8351
  }
7945
8352
  }
7946
8353
  },
7947
- // Individual focusable segment span (MM, DD, YYYY)
7948
- segment: {
7949
- display: "inline-flex",
8354
+ valueContainer: {
8355
+ display: "flex",
7950
8356
  alignItems: "center",
7951
- justifyContent: "center",
7952
- outline: "none",
7953
- borderRadius: "2",
7954
- cursor: "default",
7955
- userSelect: "none",
7956
- fontFamily: "mono",
7957
- fontVariantsProperty: "mono",
7958
- fontVariantNumeric: "tabular-nums",
7959
- minWidth: "1.5em",
7960
- textAlign: "center",
8357
+ alignContent: "center",
8358
+ flex: "1",
8359
+ flexWrap: "wrap",
8360
+ minWidth: "0",
8361
+ gap: "var(--value-gap)"
8362
+ },
8363
+ input: {
8364
+ flexGrow: "1",
8365
+ flexShrink: "0",
8366
+ flexBasis: "var(--input-min-width)",
8367
+ minWidth: "var(--input-min-width)",
8368
+ maxWidth: "full",
8369
+ p: "0",
8370
+ marginBlock: "-3",
8371
+ bg: "transparent",
7961
8372
  color: "text",
7962
- _focusVisible: {
7963
- bg: "bg.neutral.hovered"
8373
+ fontFamily: "body",
8374
+ fontSize: "var(--control-fs)",
8375
+ lineHeight: "default",
8376
+ border: "none",
8377
+ outline: "none",
8378
+ _placeholder: {
8379
+ color: "text.placeholder"
7964
8380
  },
7965
- _groupDisabled: {
7966
- color: "text.disabled"
8381
+ _disabled: {
8382
+ color: "text.disabled",
8383
+ cursor: "not-allowed"
7967
8384
  }
7968
8385
  },
7969
- // The "/" or " " literal between date segments
7970
- separator: {
7971
- color: "text.placeholder",
7972
- userSelect: "none",
8386
+ token: {
8387
+ minWidth: "0",
8388
+ maxWidth: "full",
8389
+ flex: "0 1 auto",
8390
+ _new: {
8391
+ bg: "transparent",
8392
+ outlineWidth: "1",
8393
+ outlineStyle: "dashed",
8394
+ outlineColor: "border.warning"
8395
+ }
8396
+ },
8397
+ overflowIndicator: {
7973
8398
  display: "inline-flex",
7974
- alignItems: "center"
8399
+ alignItems: "center",
8400
+ flexShrink: "0",
8401
+ minHeight: "var(--loading-size)",
8402
+ px: "6",
8403
+ bg: "bg.neutral",
8404
+ color: "text.subtle",
8405
+ borderRadius: "999",
8406
+ fontSize: "14",
8407
+ fontWeight: "medium",
8408
+ lineHeight: "default",
8409
+ whiteSpace: "nowrap"
7975
8410
  },
7976
- // The floating calendar container
7977
- popover: {
7978
- display: "flex",
7979
- flexDirection: "column",
7980
- bg: "surface.overlay",
7981
- borderWidth: "1",
7982
- borderStyle: "solid",
7983
- borderColor: "border",
7984
- borderRadius: "8",
8411
+ loadingIndicator: {
8412
+ display: "inline-flex",
8413
+ alignItems: "center",
8414
+ alignSelf: "center",
8415
+ flexShrink: "0",
8416
+ ms: "var(--control-py)",
8417
+ width: "var(--loading-size)",
8418
+ height: "var(--loading-size)",
8419
+ _icon: {
8420
+ width: "var(--loading-size)",
8421
+ height: "var(--loading-size)"
8422
+ }
8423
+ },
8424
+ listbox: {
8425
+ ...globalBaseStyles,
8426
+ width: "full",
8427
+ maxHeight: "192",
8428
+ overflowY: "auto",
8429
+ bg: "surface",
8430
+ borderRadius: "4",
7985
8431
  boxShadow: "overlay",
7986
- zIndex: 1e3,
7987
- width: "280",
7988
- overflow: "hidden",
7989
8432
  outline: "none"
7990
8433
  },
7991
- // Month/year navigation row
7992
- calendarHeader: {
7993
- fontFamily: "mono",
8434
+ status: {
7994
8435
  display: "flex",
7995
8436
  alignItems: "center",
7996
- justifyContent: "space-between",
7997
- px: "8",
8437
+ width: "full",
8438
+ minHeight: "40",
8439
+ px: "12",
7998
8440
  py: "8",
7999
- borderBottom: "default",
8000
- gap: "4"
8001
- },
8002
- // 7-column grid for the days
8003
- calendarGrid: {
8004
- display: "grid",
8005
- gridTemplateColumns: "repeat(7, 1fr)",
8006
- gap: "2",
8007
- px: "8",
8008
- py: "4",
8009
- pb: "8"
8010
- },
8011
- // Su Mo Tu We Th Fr Sa column headers
8012
- weekdayLabel: {
8013
- display: "flex",
8014
- alignItems: "center",
8015
- justifyContent: "center",
8016
- userSelect: "none"
8441
+ color: "text.subtle",
8442
+ fontSize: "14",
8443
+ lineHeight: "default"
8017
8444
  },
8018
- // Individual day button in the grid
8019
- day: {
8020
- alignItems: "center",
8021
- justifyContent: "center",
8022
- fontFamily: "mono",
8023
- width: "32",
8024
- height: "32",
8025
- _today: {
8026
- fontWeight: "bold",
8027
- color: "text.selected",
8028
- bg: "bg.selected"
8029
- },
8030
- _selected: {
8031
- bg: "bg.selected.bold",
8032
- color: "text.inverse",
8033
- _hover: {
8034
- bg: "bg.selected.bold.hovered"
8035
- },
8036
- _today: {
8037
- bg: "bg.selected.bold",
8038
- color: "text.inverse"
8445
+ liveRegion: {
8446
+ srOnly: true
8447
+ }
8448
+ };
8449
+ const autocompleteVariants = {
8450
+ layer: {
8451
+ elevated: {
8452
+ listbox: {
8453
+ zIndex: "elevated"
8039
8454
  }
8040
8455
  },
8041
- _unavailable: {
8042
- color: "text.disabled",
8043
- cursor: "not-allowed",
8044
- pointerEvents: "none",
8045
- _hover: {
8046
- bg: "transparent"
8456
+ modalFloating: {
8457
+ listbox: {
8458
+ zIndex: "modalFloating"
8047
8459
  }
8048
8460
  }
8049
- }
8050
- };
8051
- const datePickerVariants = {
8461
+ },
8052
8462
  size: {
8053
8463
  sm: {
8054
- input: {
8055
- py: "0",
8056
- px: "8",
8057
- fontSize: "14"
8464
+ root: {
8465
+ "--control-py": "token(sizes.0)",
8466
+ "--control-px": "token(sizes.8)",
8467
+ "--control-fs": "token(sizes.14)",
8468
+ "--control-min-height": "token(sizes.24)",
8469
+ "--value-gap": "token(sizes.3)",
8470
+ "--input-min-width": "token(sizes.64)",
8471
+ "--loading-size": "token(sizes.16)"
8058
8472
  }
8059
8473
  },
8060
8474
  md: {
8061
- input: {
8062
- py: "3",
8063
- px: "10",
8064
- fontSize: "16"
8475
+ root: {
8476
+ "--control-py": "token(sizes.3)",
8477
+ "--control-px": "token(sizes.10)",
8478
+ "--control-fs": "token(sizes.16)",
8479
+ "--control-min-height": "token(sizes.32)",
8480
+ "--value-gap": "token(sizes.4)",
8481
+ "--input-min-width": "token(sizes.80)",
8482
+ "--loading-size": "token(sizes.20)"
8065
8483
  }
8066
8484
  },
8067
8485
  lg: {
8068
- input: {
8069
- py: "7",
8070
- px: "12",
8071
- fontSize: "16"
8486
+ root: {
8487
+ "--control-py": "token(sizes.7)",
8488
+ "--control-px": "token(sizes.12)",
8489
+ "--control-fs": "token(sizes.16)",
8490
+ "--control-min-height": "token(sizes.40)",
8491
+ "--value-gap": "token(sizes.5)",
8492
+ "--input-min-width": "token(sizes.96)",
8493
+ "--loading-size": "token(sizes.20)"
8072
8494
  }
8073
8495
  },
8074
8496
  xl: {
8075
- input: {
8076
- py: "9",
8077
- px: "16",
8078
- fontSize: "20"
8497
+ root: {
8498
+ "--control-py": "token(sizes.9)",
8499
+ "--control-px": "token(sizes.16)",
8500
+ "--control-fs": "token(sizes.20)",
8501
+ "--control-min-height": "token(sizes.48)",
8502
+ "--value-gap": "token(sizes.6)",
8503
+ "--input-min-width": "token(sizes.112)",
8504
+ "--loading-size": "token(sizes.24)"
8079
8505
  }
8080
8506
  }
8081
8507
  }
8082
8508
  };
8083
- const datePickerRecipe = defineSlotRecipe({
8084
- className: "datePicker",
8085
- jsx: ["DatePicker", "DateRangePicker"],
8509
+ const autocompleteRecipe = defineSlotRecipe({
8510
+ className: "autocomplete",
8511
+ jsx: ["Autocomplete"],
8086
8512
  slots: [
8087
8513
  "root",
8514
+ "control",
8515
+ "valueContainer",
8088
8516
  "input",
8089
- "segment",
8090
- "separator",
8091
- "popover",
8092
- "calendarHeader",
8093
- "navButton",
8094
- "calendarGrid",
8095
- "weekdayLabel",
8096
- "day"
8517
+ "token",
8518
+ "overflowIndicator",
8519
+ "loadingIndicator",
8520
+ "listbox",
8521
+ "status",
8522
+ "liveRegion"
8097
8523
  ],
8098
- base: datePickerBase,
8099
- variants: datePickerVariants,
8524
+ base: autocompleteBase,
8525
+ variants: autocompleteVariants,
8100
8526
  defaultVariants: {
8101
- size: "md"
8527
+ size: "md",
8528
+ layer: "elevated"
8102
8529
  }
8103
8530
  });
8104
- const timePickerBase = {
8531
+ const segmentedInputsBase = {
8105
8532
  root: {
8106
- display: "inline-flex",
8107
- flexDirection: "column",
8108
- position: "relative"
8109
- },
8110
- // The segmented input container — visually identical to textinput
8111
- input: {
8533
+ ...globalBaseStyles,
8112
8534
  display: "inline-flex",
8113
8535
  alignItems: "center",
8114
- gap: "2",
8115
- width: "full",
8116
- borderWidth: "1",
8117
- borderStyle: "solid",
8118
- borderColor: "border.input",
8119
- borderRadius: "4",
8120
- outlineWidth: "2",
8121
- outlineOffset: "-1",
8122
- outlineStyle: "solid",
8123
- outlineColor: "transparent",
8124
- bg: "bg.input",
8536
+ gap: "0",
8537
+ width: "fit",
8125
8538
  color: "text",
8126
8539
  fontFamily: "mono",
8127
8540
  lineHeight: "default",
8128
8541
  cursor: "text",
8129
8542
  userSelect: "none",
8130
- transitionDuration: "fast",
8131
- transitionProperty: "background, border-color, outline-color",
8132
- transitionTimingFunction: "default",
8133
- _focusWithin: {
8134
- bg: "bg.input.pressed",
8135
- borderColor: "border.focused",
8136
- outlineColor: "border.focused"
8137
- },
8138
- _open: {
8139
- bg: "bg.input.pressed",
8140
- borderColor: "border.focused",
8141
- outlineColor: "border.focused"
8142
- },
8543
+ flexGrow: "0",
8544
+ flexShrink: "0",
8545
+ flexBasis: "fit",
8546
+ minW: "0",
8143
8547
  _disabled: {
8144
- bg: "bg.disabled",
8145
- borderColor: "border.disabled",
8146
8548
  color: "text.disabled",
8147
8549
  cursor: "not-allowed",
8148
8550
  pointerEvents: "none"
8149
- },
8150
- _error: {
8151
- borderColor: "border.danger",
8152
- _hover: {
8153
- borderColor: "border.danger"
8154
- },
8155
- _focusWithin: {
8156
- borderColor: "border.danger",
8157
- outlineColor: "border.danger"
8158
- },
8159
- _open: {
8160
- borderColor: "border.danger",
8161
- outlineColor: "border.danger"
8162
- }
8163
8551
  }
8164
8552
  },
8165
- // Individual focusable segment span (HH, MM, AM/PM)
8553
+ // Individual focusable segment span (MM, DD, YYYY, HH, AM/PM, ...)
8166
8554
  segment: {
8167
8555
  display: "inline-flex",
8168
8556
  alignItems: "center",
@@ -8174,194 +8562,81 @@ const timePickerBase = {
8174
8562
  fontFamily: "mono",
8175
8563
  fontVariantsProperty: "mono",
8176
8564
  fontVariantNumeric: "tabular-nums",
8177
- minWidth: "1.5em",
8178
8565
  textAlign: "center",
8179
8566
  color: "text",
8180
- _focusVisible: {
8181
- bg: "bg.neutral.hovered"
8567
+ _focus: {
8568
+ bg: "bg.accent.gold.subtlest/75"
8182
8569
  },
8183
8570
  _groupDisabled: {
8184
8571
  color: "text.disabled"
8185
8572
  }
8186
8573
  },
8187
- // The ":" separator between time segments
8574
+ // The "/" or ":" or " " literal between segments. `minWidth: '0.75em'`
8575
+ // is a deliberate floor, not decoration — the " " separators (minute/AM-PM,
8576
+ // and the gap between a DateTimeInput's date/time halves) render at 0
8577
+ // layout width in the Recursive Variable font at this size/axis regardless
8578
+ // of `whiteSpace: 'pre'` (confirmed: real space character, zero measured
8579
+ // width) — a font-rendering quirk, not a whitespace-collapsing bug. The
8580
+ // floor keeps the visual gap independent of what the glyph itself measures.
8188
8581
  separator: {
8189
8582
  color: "text.placeholder",
8190
- userSelect: "none",
8191
- display: "inline-flex",
8192
- alignItems: "center"
8193
- },
8194
- // The floating time list container
8195
- popover: {
8196
- display: "flex",
8197
- flexDirection: "row",
8198
- bg: "surface.overlay",
8199
- borderWidth: "1",
8200
- borderStyle: "solid",
8201
- borderColor: "border",
8202
- borderRadius: "8",
8203
- boxShadow: "overlay",
8204
- zIndex: 1e3,
8205
- overflow: "hidden",
8206
- outline: "none",
8207
- w: "fit"
8208
- },
8209
- // A single scrollable column (hours, minutes, or AM/PM)
8210
- column: {
8211
- display: "flex",
8212
- flexDirection: "column",
8213
- overflowY: "auto",
8214
- flex: 1,
8215
- maxHeight: "200",
8216
- scrollSnapType: "y mandatory",
8217
- borderRight: "default",
8218
- minW: "56",
8219
- textAlign: "center",
8220
- _last: {
8221
- borderRight: "none"
8222
- },
8223
- // Hide scrollbar visually but keep functionality
8224
- "&::-webkit-scrollbar": {
8225
- display: "none"
8226
- },
8227
- scrollbarWidth: "none",
8228
- msOverflowStyle: "none"
8229
- },
8230
- // Optional column header (e.g. "Hr", "Min")
8231
- columnLabel: {
8232
- display: "flex",
8233
- alignItems: "center",
8234
- justifyContent: "center",
8235
- py: "4",
8236
- px: "8",
8237
- fontSize: "11",
8238
- fontWeight: "medium",
8239
- color: "text.subtlest",
8240
- textTransform: "uppercase",
8241
- letterSpacing: "widest",
8242
- borderBottom: "default",
8243
- position: "sticky",
8244
- top: "0",
8245
- bg: "surface.overlay",
8246
- zIndex: 1,
8247
- userSelect: "none"
8248
- }
8249
- };
8250
- const timePickerVariants = {
8251
- size: {
8252
- sm: {
8253
- input: {
8254
- py: "0",
8255
- px: "8",
8256
- fontSize: "14"
8257
- }
8583
+ textAlign: "center",
8584
+ userSelect: "none",
8585
+ whiteSpace: "pre",
8586
+ minWidth: "0.75em",
8587
+ display: "inline-flex",
8588
+ alignItems: "center",
8589
+ justifyContent: "center",
8590
+ "&[data-gap=none]": {
8591
+ minWidth: "0",
8592
+ px: "0"
8258
8593
  },
8259
- md: {
8260
- input: {
8261
- py: "3",
8262
- px: "10",
8263
- fontSize: "16"
8264
- }
8594
+ "&[data-gap=tight]": {
8595
+ minWidth: "0.5em",
8596
+ px: "1"
8265
8597
  },
8266
- lg: {
8267
- input: {
8268
- py: "7",
8269
- px: "12",
8270
- fontSize: "16"
8271
- }
8598
+ "&[data-gap=normal]": {
8599
+ minWidth: "0.75em",
8600
+ px: "1"
8272
8601
  },
8273
- xl: {
8274
- input: {
8275
- py: "9",
8276
- px: "16",
8277
- fontSize: "20"
8278
- }
8602
+ "&[data-gap=loose]": {
8603
+ minWidth: "1.25em",
8604
+ px: "2"
8279
8605
  }
8280
8606
  }
8281
8607
  };
8282
- const timePickerRecipe = defineSlotRecipe({
8283
- className: "timePicker",
8284
- jsx: ["TimePicker", "TimeRangePicker"],
8285
- slots: [
8286
- "root",
8287
- "input",
8288
- "segment",
8289
- "separator",
8290
- "popover",
8291
- "column",
8292
- "columnLabel"
8293
- ],
8294
- base: timePickerBase,
8295
- variants: timePickerVariants,
8608
+ const segmentedInputsVariants = {
8609
+ size: {
8610
+ sm: { root: { fontSize: "14" } },
8611
+ md: { root: { fontSize: "16" } },
8612
+ lg: { root: { fontSize: "16" } },
8613
+ xl: { root: { fontSize: "20" } }
8614
+ }
8615
+ };
8616
+ const segmentedInputsRecipe = defineSlotRecipe({
8617
+ className: "segmentedInputs",
8618
+ jsx: ["SegmentedInputs", "SegmentedInput", "SegmentedDate", "SegmentedTime"],
8619
+ slots: ["root", "segment", "separator"],
8620
+ base: segmentedInputsBase,
8621
+ variants: segmentedInputsVariants,
8296
8622
  defaultVariants: {
8297
8623
  size: "md"
8298
8624
  }
8299
8625
  });
8300
- const breadcrumbsRecipe = defineSlotRecipe({
8301
- className: "breadcrumbs",
8302
- jsx: ["Breadcrumbs"],
8303
- slots: ["wrapper", "slash", "linkSegment", "currentSegment"],
8304
- base: {
8305
- wrapper: {
8306
- ...globalBaseStyles,
8307
- display: "flex",
8308
- gap: "6",
8309
- alignItems: "center",
8310
- fontFamily: "mono",
8311
- fontSize: "14",
8312
- "& li": {
8313
- display: "flex",
8314
- gap: "6",
8315
- alignItems: "center"
8316
- }
8317
- },
8318
- slash: {
8319
- fontFamily: "mono",
8320
- fontSize: "14",
8321
- color: "text.placeholder"
8322
- },
8323
- linkSegment: {
8324
- fontFamily: "mono",
8325
- fontSize: "14",
8326
- color: "text.subtlest",
8327
- fontWeight: "normal",
8328
- whiteSpace: "nowrap",
8329
- _hover: {
8330
- color: "link"
8331
- },
8332
- _focusVisible: {
8333
- color: "blue.50"
8334
- }
8335
- },
8336
- currentSegment: {
8337
- fontFamily: "mono",
8338
- fontSize: "14",
8339
- color: "text",
8340
- fontWeight: "bold",
8341
- whiteSpace: "nowrap"
8342
- }
8343
- }
8344
- });
8345
- const selectBase = {
8346
- root: {
8347
- "--icon-size": "token(sizes.24)",
8348
- "--icon-margin": "token(sizes.3)",
8349
- "--input-icon-padding": "token(sizes.10)",
8350
- display: "inline-flex",
8351
- flexDirection: "column",
8352
- position: "relative",
8353
- minWidth: "0",
8354
- maxW: "full",
8355
- width: "fit"
8356
- },
8357
- trigger: {
8626
+ const segmentedFieldsBase = {
8627
+ container: {
8628
+ ...globalBaseStyles,
8629
+ "--input-py": "token(sizes.3)",
8630
+ "--input-px": "token(sizes.10)",
8631
+ "--slot-size": "token(sizes.20)",
8632
+ "--slot-px": "token(sizes.6)",
8358
8633
  position: "relative",
8359
- display: "inline-flex",
8634
+ display: "flex",
8360
8635
  alignItems: "center",
8361
- width: "fit",
8362
- minWidth: "0",
8363
- maxWidth: "full",
8364
- pe: "var(--input-icon-padding)",
8636
+ width: "full",
8637
+ py: "var(--input-py)",
8638
+ px: "var(--input-px)",
8639
+ bg: "bg.input",
8365
8640
  borderWidth: "1",
8366
8641
  borderStyle: "solid",
8367
8642
  borderColor: "border.input",
@@ -8370,19 +8645,10 @@ const selectBase = {
8370
8645
  outlineOffset: "-1",
8371
8646
  outlineStyle: "solid",
8372
8647
  outlineColor: "transparent",
8373
- bg: "bg.input",
8374
- color: "text",
8375
- fontFamily: "body",
8376
- lineHeight: "default",
8377
- cursor: "pointer",
8378
- overflow: "hidden",
8379
8648
  transitionDuration: "fast",
8380
8649
  transitionProperty: "background, border-color, outline-color",
8381
8650
  transitionTimingFunction: "default",
8382
- _hover: {
8383
- bg: "bg.input.hovered"
8384
- },
8385
- _focusVisible: {
8651
+ "&:focus-within:not(:has(button:focus))": {
8386
8652
  bg: "bg.input.pressed",
8387
8653
  borderColor: "border.focused",
8388
8654
  outlineColor: "border.focused"
@@ -8395,277 +8661,413 @@ const selectBase = {
8395
8661
  _disabled: {
8396
8662
  bg: "bg.disabled",
8397
8663
  borderColor: "border.disabled",
8398
- color: "text.disabled",
8399
8664
  cursor: "not-allowed",
8400
8665
  pointerEvents: "none"
8401
8666
  },
8402
8667
  _error: {
8403
8668
  borderColor: "border.danger",
8404
- _hover: {
8405
- borderColor: "border.danger"
8406
- },
8407
- _focusVisible: {
8669
+ "&:focus-within:not(:has(button:focus))": {
8408
8670
  borderColor: "border.danger",
8409
8671
  outlineColor: "border.danger"
8410
- },
8411
- _open: {
8672
+ }
8673
+ },
8674
+ _invalid: {
8675
+ borderColor: "border.danger",
8676
+ "&:focus-within:not(:has(button:focus))": {
8412
8677
  borderColor: "border.danger",
8413
8678
  outlineColor: "border.danger"
8414
8679
  }
8415
8680
  }
8416
8681
  },
8417
- content: {
8418
- display: "flex",
8419
- alignItems: "center",
8420
- minWidth: "0",
8421
- width: "full",
8422
- flex: "1"
8423
- },
8424
- value: {
8425
- flex: 1,
8426
- minWidth: "0",
8427
- textAlign: "left",
8428
- truncate: true,
8429
- color: "text"
8430
- },
8431
- placeholder: {
8432
- flex: 1,
8433
- minWidth: "0",
8434
- textAlign: "left",
8435
- truncate: true,
8436
- color: "text.placeholder"
8437
- },
8438
- chips: {
8439
- display: "flex",
8440
- alignItems: "center",
8441
- gap: "4",
8442
- minWidth: "0",
8443
- width: "full",
8444
- flex: "1",
8445
- overflowX: "auto",
8446
- overflowY: "hidden",
8447
- scrollbarWidth: "thin"
8448
- },
8449
- icon: {
8450
- position: "absolute",
8451
- top: "50%",
8452
- right: "1",
8682
+ slot: {
8453
8683
  display: "inline-flex",
8454
8684
  alignItems: "center",
8455
- justifyContent: "center",
8456
- width: "var(--icon-size)",
8457
- height: "var(--icon-size)",
8458
- marginInline: "var(--icon-margin)",
8459
- transform: "translateY(-50%)",
8460
- bg: "bg.input",
8461
- fill: "icon.decorative",
8462
- pointerEvents: "none",
8463
8685
  transitionDuration: "fast",
8464
8686
  transitionProperty: "all",
8465
8687
  transitionTimingFunction: "default",
8466
- _icon: {
8467
- width: "var(--icon-size)",
8468
- height: "var(--icon-size)",
8469
- transitionDuration: "fast",
8470
- transitionProperty: "all",
8471
- transitionTimingFunction: "default"
8472
- },
8473
- _peerHover: {
8474
- bg: "bg.input.hovered"
8475
- },
8476
- _open: {
8477
- "& > svg": {
8478
- transform: "rotate(-180deg)",
8479
- transformOrigin: "center"
8480
- }
8481
- }
8688
+ flex: "0 0 var(--slot-size)",
8689
+ px: "var(--slot-px)",
8690
+ fill: "icon.decorative",
8691
+ pointerEvents: "none",
8692
+ zIndex: 1
8693
+ },
8694
+ buttonSlot: {
8695
+ display: "inline-flex",
8696
+ alignItems: "center",
8697
+ flex: "0 0 var(--slot-size)",
8698
+ px: "0",
8699
+ zIndex: 1,
8700
+ m: "-1"
8482
8701
  }
8483
8702
  };
8484
- const selectVariants = {
8703
+ const segmentedFieldsVariants = {
8485
8704
  size: {
8486
8705
  sm: {
8487
- root: {
8488
- "--icon-size": "token(sizes.22)",
8489
- "--icon-margin": "token(sizes.2)",
8490
- "--input-icon-padding": "[26px]"
8491
- },
8492
- content: {
8493
- py: "0",
8494
- ps: "8",
8495
- fontSize: "14"
8496
- },
8497
- chips: {
8498
- gap: "3",
8499
- py: "2"
8706
+ container: {
8707
+ "--input-py": "token(sizes.0)",
8708
+ "--input-px": "token(sizes.8)",
8709
+ "--slot-size": "token(sizes.16)",
8710
+ "--slot-px": "token(sizes.4)"
8500
8711
  }
8501
8712
  },
8502
8713
  md: {
8503
- root: {
8504
- "--icon-size": "token(sizes.24)",
8505
- "--icon-margin": "token(sizes.3)",
8506
- "--input-icon-padding": "[31px]"
8507
- },
8508
- content: {
8509
- py: "3",
8510
- ps: "10",
8511
- fontSize: "16"
8512
- },
8513
- chips: {
8514
- gap: "4",
8515
- py: "5"
8714
+ container: {
8715
+ "--input-py": "token(sizes.3)",
8716
+ "--input-px": "token(sizes.10)",
8717
+ "--slot-size": "token(sizes.20)",
8718
+ "--slot-px": "token(sizes.6)"
8719
+ }
8720
+ },
8721
+ lg: {
8722
+ container: {
8723
+ "--input-py": "token(sizes.7)",
8724
+ "--input-px": "token(sizes.12)",
8725
+ "--slot-size": "token(sizes.24)",
8726
+ "--slot-px": "token(sizes.8)"
8727
+ }
8728
+ },
8729
+ xl: {
8730
+ container: {
8731
+ "--input-py": "token(sizes.9)",
8732
+ "--input-px": "token(sizes.16)",
8733
+ "--slot-size": "token(sizes.28)",
8734
+ "--slot-px": "token(sizes.10)"
8735
+ }
8736
+ }
8737
+ },
8738
+ field: {
8739
+ date: {
8740
+ container: {
8741
+ minW: "128"
8516
8742
  }
8517
8743
  },
8518
- lg: {
8519
- root: {
8520
- "--icon-size": "token(sizes.24)",
8521
- "--icon-margin": "token(sizes.5)",
8522
- "--input-icon-padding": "[34px]"
8523
- },
8524
- content: {
8525
- py: "7",
8526
- ps: "12",
8527
- fontSize: "16"
8528
- },
8529
- chips: {
8530
- gap: "5",
8531
- py: "0"
8744
+ time: {
8745
+ container: {
8746
+ minW: "104"
8532
8747
  }
8533
8748
  },
8534
- xl: {
8535
- root: {
8536
- "--icon-size": "token(sizes.28)",
8537
- "--icon-margin": "token(sizes.7)",
8538
- "--input-icon-padding": "[42px]"
8539
- },
8540
- content: {
8541
- py: "9",
8542
- ps: "16",
8543
- fontSize: "20"
8544
- },
8545
- chips: {
8546
- gap: "6",
8547
- py: "2"
8749
+ dateTime: {
8750
+ container: {
8751
+ minW: "216"
8548
8752
  }
8549
8753
  }
8550
8754
  },
8551
- multiple: {
8755
+ range: {
8756
+ date: {
8757
+ container: {
8758
+ minW: "248"
8759
+ }
8760
+ },
8761
+ time: {
8762
+ container: {
8763
+ minW: "200"
8764
+ }
8765
+ }
8766
+ },
8767
+ before: {
8552
8768
  true: {
8553
- trigger: {
8554
- alignItems: "flex-start"
8769
+ container: {
8770
+ ps: "0"
8555
8771
  },
8556
- content: {
8557
- alignItems: "flex-start"
8772
+ buttonSlot: {
8773
+ "& button": {
8774
+ borderTopRightRadius: "0",
8775
+ borderBottomRightRadius: "0"
8776
+ }
8558
8777
  }
8559
8778
  }
8560
8779
  },
8561
- autoSize: {
8780
+ after: {
8562
8781
  true: {
8563
- trigger: {
8564
- height: "auto"
8565
- },
8566
- value: {
8567
- whiteSpace: "normal",
8568
- textWrap: "wrap",
8569
- overflow: "visible",
8570
- textOverflow: "clip"
8571
- },
8572
- placeholder: {
8573
- whiteSpace: "normal",
8574
- textWrap: "wrap",
8575
- overflow: "visible",
8576
- textOverflow: "clip"
8782
+ container: {
8783
+ pe: "0"
8577
8784
  },
8578
- chips: {
8579
- flexWrap: "wrap",
8580
- overflowX: "visible",
8581
- overflowY: "visible"
8582
- }
8583
- },
8584
- false: {
8585
- chips: {
8586
- flexWrap: "nowrap"
8785
+ buttonSlot: {
8786
+ "& button": {
8787
+ borderTopLeftRadius: "0",
8788
+ borderBottomLeftRadius: "0"
8789
+ }
8587
8790
  }
8588
8791
  }
8589
8792
  }
8590
8793
  };
8591
- const selectRecipe = defineSlotRecipe({
8592
- className: "select",
8593
- jsx: ["Select"],
8594
- slots: [
8595
- "root",
8596
- "trigger",
8597
- "content",
8598
- "value",
8599
- "placeholder",
8600
- "chips",
8601
- "icon"
8794
+ const segmentedFieldsRecipe = defineSlotRecipe({
8795
+ className: "segmentedFields",
8796
+ jsx: [
8797
+ "SegmentedFields",
8798
+ "DateInput",
8799
+ "DateRangeInput",
8800
+ "TimeInput",
8801
+ "TimeRangeInput",
8802
+ "DateTimeInput"
8602
8803
  ],
8603
- base: selectBase,
8604
- variants: selectVariants,
8804
+ slots: ["container", "slot", "buttonSlot"],
8805
+ base: segmentedFieldsBase,
8806
+ variants: segmentedFieldsVariants,
8605
8807
  defaultVariants: {
8606
8808
  size: "md"
8607
8809
  }
8608
8810
  });
8609
- const kbdRecipe = defineSlotRecipe({
8610
- className: "kbd",
8611
- slots: ["kbdGroup", "key"],
8811
+ const calendarRecipe = defineSlotRecipe({
8812
+ className: "calendar",
8813
+ jsx: ["Calendar"],
8814
+ slots: ["root", "header", "grid", "weekdayLabel", "day", "monthYearGrid"],
8612
8815
  base: {
8613
- kbdGroup: {
8614
- display: "inline-flex",
8816
+ root: {
8817
+ ...globalBaseStyles,
8818
+ display: "flex",
8819
+ flexDirection: "column",
8820
+ alignItems: "flex-start",
8821
+ bg: "surface",
8822
+ width: "278"
8823
+ },
8824
+ header: {
8825
+ display: "flex",
8615
8826
  alignItems: "center",
8616
- gap: "2",
8617
- verticalAlign: "middle"
8827
+ justifyContent: "space-between",
8828
+ gap: "4",
8829
+ width: "full",
8830
+ p: "8",
8831
+ borderBottom: "default",
8832
+ fontFamily: "mono",
8833
+ fontVariantsProperty: "mono"
8618
8834
  },
8619
- key: {
8620
- display: "inline-flex",
8835
+ grid: {
8836
+ display: "grid",
8837
+ gridTemplateColumns: "repeat(7, minmax(0, 1fr))",
8838
+ gap: "4",
8839
+ width: "fit",
8840
+ p: "8",
8841
+ mx: "auto"
8842
+ },
8843
+ weekdayLabel: {
8844
+ display: "flex",
8845
+ alignItems: "center",
8846
+ justifyContent: "center",
8847
+ userSelect: "none"
8848
+ },
8849
+ day: {
8850
+ position: "relative",
8621
8851
  alignItems: "center",
8622
8852
  justifyContent: "center",
8623
- gap: "1",
8624
- h: "16",
8625
- w: "fit",
8626
- minW: "16",
8627
- rounded: "6",
8628
- cornerShape: "squircle",
8629
- bg: "bg.neutral",
8630
- px: "4",
8631
8853
  fontFamily: "mono",
8632
- fontVariant: "mono",
8633
- lineHeight: "tight",
8634
- fontWeight: "bold",
8635
- textTransform: "uppercase",
8636
- color: "text.subtle",
8637
- userSelect: "none",
8638
- pointerEvents: "none",
8639
- fontSize: "10"
8854
+ width: "32",
8855
+ height: "32",
8856
+ minWidth: "32",
8857
+ _today: {
8858
+ outline: "1px solid {colors.border.focused}",
8859
+ outlineOffset: "1"
8860
+ },
8861
+ _unavailable: {
8862
+ color: "text.disabled",
8863
+ cursor: "not-allowed",
8864
+ pointerEvents: "none",
8865
+ _hover: {
8866
+ bg: "transparent"
8867
+ }
8868
+ }
8869
+ },
8870
+ monthYearGrid: {
8871
+ display: "grid",
8872
+ gridTemplateColumns: "repeat(3, minmax(0, 1fr))",
8873
+ gap: "4",
8874
+ width: "full",
8875
+ p: "8"
8640
8876
  }
8641
8877
  },
8642
8878
  variants: {
8643
- variant: {
8644
- default: {
8645
- key: {
8646
- fontSize: "10"
8879
+ type: {
8880
+ days: {},
8881
+ months: {
8882
+ day: {
8883
+ width: "auto",
8884
+ px: "8"
8647
8885
  }
8648
8886
  },
8649
- symbol: {
8650
- key: {
8651
- fontSize: "12"
8887
+ years: {
8888
+ day: {
8889
+ width: "auto",
8890
+ px: "8"
8652
8891
  }
8653
8892
  }
8654
8893
  }
8655
8894
  },
8656
8895
  defaultVariants: {
8657
- variant: "default"
8896
+ type: "days"
8897
+ }
8898
+ });
8899
+ const dateMenusBase = {
8900
+ // Row wrapper for DateRangeMenu's two Calendar instances.
8901
+ calendars: {
8902
+ display: "flex",
8903
+ alignItems: "stretch"
8904
+ },
8905
+ // Vertical rule between the two calendars.
8906
+ calendarsDivider: {
8907
+ width: "1",
8908
+ alignSelf: "stretch",
8909
+ bg: "border"
8910
+ },
8911
+ // Right-aligned Cancel/Apply pair for the pending range selection.
8912
+ footer: {
8913
+ display: "flex",
8914
+ justifyContent: "flex-end",
8915
+ alignItems: "center",
8916
+ gap: "8",
8917
+ borderTopWidth: "1",
8918
+ borderTopStyle: "solid",
8919
+ borderColor: "border",
8920
+ px: "16",
8921
+ py: "8"
8922
+ }
8923
+ };
8924
+ const dateMenusRecipe = defineSlotRecipe({
8925
+ className: "dateMenus",
8926
+ jsx: ["DateMenus", "DateMenu", "DateRangeMenu"],
8927
+ slots: ["calendars", "calendarsDivider", "footer"],
8928
+ base: dateMenusBase
8929
+ });
8930
+ const timeMenusBase = {
8931
+ // Row of columns (HR | MIN | AM-PM), doubled with its own divider for range.
8932
+ // minH: '0' overrides the flexbox default of min-height:auto on a flex
8933
+ // item, which otherwise floors this box at its content's natural height
8934
+ // and defeats stretching it down to match a shorter sibling (DateTimeMenu's
8935
+ // Calendar) — see the `column` slot below for the full explanation.
8936
+ columns: {
8937
+ display: "flex",
8938
+ alignItems: "stretch",
8939
+ minH: "0"
8940
+ },
8941
+ // A single scrollable HR/MIN/AM-PM column. `maxHeight` (not `h: 'full'`)
8942
+ // matters here — Menu's own internal wrapper chain (levelsViewport >
8943
+ // levelsTrack > level > list) doesn't propagate a concrete height down to
8944
+ // this element, so `h: 'full'` resolves to "as tall as my content" and
8945
+ // `overflowY: auto` never actually engages; an explicit cap makes the
8946
+ // column bound itself regardless of what any ancestor does. `200` keeps
8947
+ // the existing picker column cap exactly.
8948
+ column: {
8949
+ display: "flex",
8950
+ flexDirection: "column",
8951
+ flex: "1",
8952
+ minW: "56",
8953
+ // minH: '0' is the load-bearing part, not maxHeight — a flex item's
8954
+ // default min-height:auto floors it at its content's natural height no
8955
+ // matter what cross-axis stretch or maxHeight say, which silently
8956
+ // defeats overflowY:auto (nothing to scroll if the box just grows to
8957
+ // fit everything). Zeroing it lets maxHeight (standalone) or the
8958
+ // stretch variant's parent-driven height (DateTimeMenu) actually apply.
8959
+ minH: "0",
8960
+ maxHeight: "200",
8961
+ overflowY: "auto",
8962
+ textAlign: "center",
8963
+ borderRightWidth: "1",
8964
+ borderRightStyle: "solid",
8965
+ borderColor: "border",
8966
+ _last: {
8967
+ borderRight: "none"
8968
+ },
8969
+ // Hide the scrollbar visually but keep it functional — matches legacy.
8970
+ "&::-webkit-scrollbar": {
8971
+ display: "none"
8972
+ },
8973
+ scrollbarWidth: "none"
8974
+ },
8975
+ // "HR" / "MIN" / "AM/PM" column label.
8976
+ columnHeader: {
8977
+ position: "sticky",
8978
+ top: "0",
8979
+ textAlign: "center",
8980
+ fontSize: "12",
8981
+ fontWeight: "semibold",
8982
+ color: "text.subtlest",
8983
+ bg: "surface",
8984
+ py: "4",
8985
+ borderBottomWidth: "1",
8986
+ borderBottomStyle: "solid",
8987
+ borderColor: "border",
8988
+ zIndex: "1"
8989
+ },
8990
+ // Right-aligned Cancel/Apply pair — TimeRangeMenu only (TimeMenu commits
8991
+ // immediately per value, same as DateMenu's non-range case).
8992
+ footer: {
8993
+ display: "flex",
8994
+ justifyContent: "flex-end",
8995
+ alignItems: "center",
8996
+ gap: "8",
8997
+ borderTopWidth: "1",
8998
+ borderTopStyle: "solid",
8999
+ borderColor: "border",
9000
+ px: "16",
9001
+ py: "8"
9002
+ }
9003
+ };
9004
+ const timeMenusVariants = {
9005
+ // DateTimeMenu pairs the columns with a Calendar sibling inside a
9006
+ // stretch-aligned flex row, so the columns can size to match the
9007
+ // Calendar's real rendered height instead of the standalone 200px cap —
9008
+ // without this, the columns clip well short of the taller Calendar next to
9009
+ // them. TimeMenu/TimeRangeMenu have no such sibling to stretch against, so
9010
+ // they keep the fixed cap as their own default.
9011
+ stretch: {
9012
+ true: {
9013
+ column: {
9014
+ maxHeight: "none"
9015
+ }
9016
+ }
9017
+ }
9018
+ };
9019
+ const timeMenusRecipe = defineSlotRecipe({
9020
+ className: "timeMenus",
9021
+ jsx: ["TimeMenus", "TimeMenu", "TimeRangeMenu"],
9022
+ slots: ["columns", "column", "columnHeader", "footer"],
9023
+ base: timeMenusBase,
9024
+ variants: timeMenusVariants
9025
+ });
9026
+ const dateTimeMenusBase = {
9027
+ // Row holding the Calendar + divider + time columns, above the footer.
9028
+ content: {
9029
+ display: "flex",
9030
+ alignItems: "stretch"
9031
+ },
9032
+ // 4px-wide vertical divider between the Calendar and the time columns.
9033
+ divider: {
9034
+ width: "4",
9035
+ alignSelf: "stretch",
9036
+ bg: "border"
9037
+ },
9038
+ // Right-aligned Cancel/Apply pair — always present per the Figma spec,
9039
+ // even though DateTimeMenu isn't itself a range variant.
9040
+ footer: {
9041
+ display: "flex",
9042
+ justifyContent: "flex-end",
9043
+ alignItems: "center",
9044
+ w: "full",
9045
+ gap: "8",
9046
+ borderTopWidth: "1",
9047
+ borderTopStyle: "solid",
9048
+ borderColor: "border",
9049
+ px: "16",
9050
+ py: "8"
8658
9051
  }
9052
+ };
9053
+ const dateTimeMenusRecipe = defineSlotRecipe({
9054
+ className: "dateTimeMenus",
9055
+ jsx: ["DateTimeMenus", "DateTimeMenu"],
9056
+ slots: ["content", "divider", "footer"],
9057
+ base: dateTimeMenusBase
8659
9058
  });
8660
9059
  const slotRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8661
9060
  __proto__: null,
9061
+ autocompleteRecipe,
8662
9062
  avatarRecipe,
8663
9063
  badgeRecipe,
8664
9064
  breadcrumbsRecipe,
8665
9065
  buttonRecipe,
9066
+ calendarRecipe,
8666
9067
  checkboxRecipe,
8667
9068
  chipRecipe,
8668
- datePickerRecipe,
9069
+ dateMenusRecipe,
9070
+ dateTimeMenusRecipe,
8669
9071
  formFieldRecipe,
8670
9072
  iconButtonRecipe,
8671
9073
  kbdRecipe,
@@ -8674,9 +9076,11 @@ const slotRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
8674
9076
  menuRecipe,
8675
9077
  modalRecipe,
8676
9078
  radioRecipe,
9079
+ segmentedFieldsRecipe,
9080
+ segmentedInputsRecipe,
8677
9081
  selectRecipe,
8678
9082
  textInputRecipe,
8679
- timePickerRecipe,
9083
+ timeMenusRecipe,
8680
9084
  tooltipRecipe
8681
9085
  }, Symbol.toStringTag, { value: "Module" }));
8682
9086
  const colors = defineSemanticTokens.colors({
@@ -8807,6 +9211,17 @@ const colors = defineSemanticTokens.colors({
8807
9211
  pressed: {
8808
9212
  value: { base: "{colors.green.70}", _dark: "{colors.green.20}" }
8809
9213
  }
9214
+ },
9215
+ subtle: {
9216
+ DEFAULT: {
9217
+ value: { base: "{colors.green.5}", _dark: "{colors.green.80}" }
9218
+ },
9219
+ hovered: {
9220
+ value: { base: "{colors.green.10}", _dark: "{colors.green.70}" }
9221
+ },
9222
+ pressed: {
9223
+ value: { base: "{colors.green.20}", _dark: "{colors.green.90}" }
9224
+ }
8810
9225
  }
8811
9226
  },
8812
9227
  warning: {
@@ -8829,6 +9244,17 @@ const colors = defineSemanticTokens.colors({
8829
9244
  pressed: {
8830
9245
  value: { base: "{colors.orange.70}", _dark: "{colors.orange.50}" }
8831
9246
  }
9247
+ },
9248
+ subtle: {
9249
+ DEFAULT: {
9250
+ value: { base: "{colors.orange.5}", _dark: "{colors.orange.80}" }
9251
+ },
9252
+ hovered: {
9253
+ value: { base: "{colors.orange.10}", _dark: "{colors.orange.70}" }
9254
+ },
9255
+ pressed: {
9256
+ value: { base: "{colors.orange.20}", _dark: "{colors.orange.90}" }
9257
+ }
8832
9258
  }
8833
9259
  },
8834
9260
  danger: {
@@ -8847,6 +9273,17 @@ const colors = defineSemanticTokens.colors({
8847
9273
  pressed: {
8848
9274
  value: { base: "{colors.red.60}", _dark: "{colors.red.50}" }
8849
9275
  }
9276
+ },
9277
+ subtle: {
9278
+ DEFAULT: {
9279
+ value: { base: "{colors.red.5}", _dark: "{colors.red.80}" }
9280
+ },
9281
+ hovered: {
9282
+ value: { base: "{colors.red.10}", _dark: "{colors.red.70}" }
9283
+ },
9284
+ pressed: {
9285
+ value: { base: "{colors.red.20}", _dark: "{colors.red.90}" }
9286
+ }
8850
9287
  }
8851
9288
  },
8852
9289
  info: {
@@ -8869,6 +9306,17 @@ const colors = defineSemanticTokens.colors({
8869
9306
  pressed: {
8870
9307
  value: { base: "{colors.blue.70}", _dark: "{colors.blue.20}" }
8871
9308
  }
9309
+ },
9310
+ subtle: {
9311
+ DEFAULT: {
9312
+ value: { base: "{colors.blue.5}", _dark: "{colors.blue.80}" }
9313
+ },
9314
+ hovered: {
9315
+ value: { base: "{colors.blue.10}", _dark: "{colors.blue.70}" }
9316
+ },
9317
+ pressed: {
9318
+ value: { base: "{colors.blue.20}", _dark: "{colors.blue.90}" }
9319
+ }
8872
9320
  }
8873
9321
  },
8874
9322
  cta: {
@@ -10071,6 +10519,7 @@ const zIndex = defineSemanticTokens.zIndex({
10071
10519
  elevated: { value: "{zIndex.1000}" },
10072
10520
  overlay: { value: "{zIndex.1100}" },
10073
10521
  modal: { value: "{zIndex.1101}" },
10522
+ modalFloating: { value: "{zIndex.1102}" },
10074
10523
  tooltip: { value: "{zIndex.1200}" }
10075
10524
  });
10076
10525
  const presetRecipes = Object.fromEntries(
@@ -10160,4 +10609,4 @@ export {
10160
10609
  breakpoints as b,
10161
10610
  containerSizes as c
10162
10611
  };
10163
- //# sourceMappingURL=cetec-preset-CcvrY8wh.js.map
10612
+ //# sourceMappingURL=cetec-preset-D23KFUx3.js.map