@sanity/ui 2.8.13-canary.1 → 2.8.14

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.
package/dist/theme.esm.js CHANGED
@@ -57,226 +57,46 @@ function _createSelectableStates(opts, base, dark, solid, muted, tone) {
57
57
  function createSolidTones(opts, base, dark, name) {
58
58
  return {
59
59
  default: {
60
- enabled: opts.solid({
61
- base,
62
- dark,
63
- tone: "default",
64
- name,
65
- state: "enabled"
66
- }),
67
- disabled: opts.solid({
68
- base,
69
- dark,
70
- tone: "default",
71
- name,
72
- state: "disabled"
73
- }),
74
- hovered: opts.solid({
75
- base,
76
- dark,
77
- tone: "default",
78
- name,
79
- state: "hovered"
80
- }),
81
- pressed: opts.solid({
82
- base,
83
- dark,
84
- tone: "default",
85
- name,
86
- state: "pressed"
87
- }),
88
- selected: opts.solid({
89
- base,
90
- dark,
91
- tone: "default",
92
- name,
93
- state: "selected"
94
- })
60
+ enabled: opts.solid({ base, dark, tone: "default", name, state: "enabled" }),
61
+ disabled: opts.solid({ base, dark, tone: "default", name, state: "disabled" }),
62
+ hovered: opts.solid({ base, dark, tone: "default", name, state: "hovered" }),
63
+ pressed: opts.solid({ base, dark, tone: "default", name, state: "pressed" }),
64
+ selected: opts.solid({ base, dark, tone: "default", name, state: "selected" })
95
65
  },
96
66
  transparent: {
97
- enabled: opts.solid({
98
- base,
99
- dark,
100
- tone: "transparent",
101
- name,
102
- state: "enabled"
103
- }),
104
- disabled: opts.solid({
105
- base,
106
- dark,
107
- tone: "transparent",
108
- name,
109
- state: "disabled"
110
- }),
111
- hovered: opts.solid({
112
- base,
113
- dark,
114
- tone: "transparent",
115
- name,
116
- state: "hovered"
117
- }),
118
- pressed: opts.solid({
119
- base,
120
- dark,
121
- tone: "transparent",
122
- name,
123
- state: "pressed"
124
- }),
125
- selected: opts.solid({
126
- base,
127
- dark,
128
- tone: "transparent",
129
- name,
130
- state: "selected"
131
- })
67
+ enabled: opts.solid({ base, dark, tone: "transparent", name, state: "enabled" }),
68
+ disabled: opts.solid({ base, dark, tone: "transparent", name, state: "disabled" }),
69
+ hovered: opts.solid({ base, dark, tone: "transparent", name, state: "hovered" }),
70
+ pressed: opts.solid({ base, dark, tone: "transparent", name, state: "pressed" }),
71
+ selected: opts.solid({ base, dark, tone: "transparent", name, state: "selected" })
132
72
  },
133
73
  primary: {
134
- enabled: opts.solid({
135
- base,
136
- dark,
137
- tone: "primary",
138
- name,
139
- state: "enabled"
140
- }),
141
- disabled: opts.solid({
142
- base,
143
- dark,
144
- tone: "primary",
145
- name,
146
- state: "disabled"
147
- }),
148
- hovered: opts.solid({
149
- base,
150
- dark,
151
- tone: "primary",
152
- name,
153
- state: "hovered"
154
- }),
155
- pressed: opts.solid({
156
- base,
157
- dark,
158
- tone: "primary",
159
- name,
160
- state: "pressed"
161
- }),
162
- selected: opts.solid({
163
- base,
164
- dark,
165
- tone: "primary",
166
- name,
167
- state: "selected"
168
- })
74
+ enabled: opts.solid({ base, dark, tone: "primary", name, state: "enabled" }),
75
+ disabled: opts.solid({ base, dark, tone: "primary", name, state: "disabled" }),
76
+ hovered: opts.solid({ base, dark, tone: "primary", name, state: "hovered" }),
77
+ pressed: opts.solid({ base, dark, tone: "primary", name, state: "pressed" }),
78
+ selected: opts.solid({ base, dark, tone: "primary", name, state: "selected" })
169
79
  },
170
80
  positive: {
171
- enabled: opts.solid({
172
- base,
173
- dark,
174
- tone: "positive",
175
- name,
176
- state: "enabled"
177
- }),
178
- disabled: opts.solid({
179
- base,
180
- dark,
181
- tone: "positive",
182
- name,
183
- state: "disabled"
184
- }),
185
- hovered: opts.solid({
186
- base,
187
- dark,
188
- tone: "positive",
189
- name,
190
- state: "hovered"
191
- }),
192
- pressed: opts.solid({
193
- base,
194
- dark,
195
- tone: "positive",
196
- name,
197
- state: "pressed"
198
- }),
199
- selected: opts.solid({
200
- base,
201
- dark,
202
- tone: "positive",
203
- name,
204
- state: "selected"
205
- })
81
+ enabled: opts.solid({ base, dark, tone: "positive", name, state: "enabled" }),
82
+ disabled: opts.solid({ base, dark, tone: "positive", name, state: "disabled" }),
83
+ hovered: opts.solid({ base, dark, tone: "positive", name, state: "hovered" }),
84
+ pressed: opts.solid({ base, dark, tone: "positive", name, state: "pressed" }),
85
+ selected: opts.solid({ base, dark, tone: "positive", name, state: "selected" })
206
86
  },
207
87
  caution: {
208
- enabled: opts.solid({
209
- base,
210
- dark,
211
- tone: "caution",
212
- name,
213
- state: "enabled"
214
- }),
215
- disabled: opts.solid({
216
- base,
217
- dark,
218
- tone: "caution",
219
- name,
220
- state: "disabled"
221
- }),
222
- hovered: opts.solid({
223
- base,
224
- dark,
225
- tone: "caution",
226
- name,
227
- state: "hovered"
228
- }),
229
- pressed: opts.solid({
230
- base,
231
- dark,
232
- tone: "caution",
233
- name,
234
- state: "pressed"
235
- }),
236
- selected: opts.solid({
237
- base,
238
- dark,
239
- tone: "caution",
240
- name,
241
- state: "selected"
242
- })
88
+ enabled: opts.solid({ base, dark, tone: "caution", name, state: "enabled" }),
89
+ disabled: opts.solid({ base, dark, tone: "caution", name, state: "disabled" }),
90
+ hovered: opts.solid({ base, dark, tone: "caution", name, state: "hovered" }),
91
+ pressed: opts.solid({ base, dark, tone: "caution", name, state: "pressed" }),
92
+ selected: opts.solid({ base, dark, tone: "caution", name, state: "selected" })
243
93
  },
244
94
  critical: {
245
- enabled: opts.solid({
246
- base,
247
- dark,
248
- tone: "critical",
249
- name,
250
- state: "enabled"
251
- }),
252
- disabled: opts.solid({
253
- base,
254
- dark,
255
- tone: "critical",
256
- name,
257
- state: "disabled"
258
- }),
259
- hovered: opts.solid({
260
- base,
261
- dark,
262
- tone: "critical",
263
- name,
264
- state: "hovered"
265
- }),
266
- pressed: opts.solid({
267
- base,
268
- dark,
269
- tone: "critical",
270
- name,
271
- state: "pressed"
272
- }),
273
- selected: opts.solid({
274
- base,
275
- dark,
276
- tone: "critical",
277
- name,
278
- state: "selected"
279
- })
95
+ enabled: opts.solid({ base, dark, tone: "critical", name, state: "enabled" }),
96
+ disabled: opts.solid({ base, dark, tone: "critical", name, state: "disabled" }),
97
+ hovered: opts.solid({ base, dark, tone: "critical", name, state: "hovered" }),
98
+ pressed: opts.solid({ base, dark, tone: "critical", name, state: "pressed" }),
99
+ selected: opts.solid({ base, dark, tone: "critical", name, state: "selected" })
280
100
  }
281
101
  };
282
102
  }
@@ -467,10 +287,7 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
467
287
  focusRing: [colors.critical.base, colors.critical.base]
468
288
  }
469
289
  }, defaultOpts = {
470
- base: ({
471
- dark,
472
- name
473
- }) => name === "default" ? {
290
+ base: ({ dark, name }) => name === "default" ? {
474
291
  bg: dark ? black : white,
475
292
  fg: dark ? white : black,
476
293
  border: dark ? colors.default.darkest : colors.default.lightest,
@@ -501,12 +318,7 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
501
318
  to: dark ? white : black
502
319
  }
503
320
  },
504
- solid: ({
505
- base,
506
- dark,
507
- state,
508
- tone
509
- }) => {
321
+ solid: ({ base, dark, state, tone }) => {
510
322
  const color2 = colors[tone];
511
323
  return state === "hovered" ? {
512
324
  bg: dark ? color2.light : color2.dark,
@@ -550,12 +362,7 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
550
362
  skeleton: base.skeleton
551
363
  };
552
364
  },
553
- muted: ({
554
- base,
555
- dark,
556
- state,
557
- tone
558
- }) => {
365
+ muted: ({ base, dark, state, tone }) => {
559
366
  const color2 = colors[tone];
560
367
  return state === "hovered" ? {
561
368
  bg: dark ? color2.darker : color2.lighter,
@@ -599,12 +406,7 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
599
406
  skeleton: base.skeleton
600
407
  };
601
408
  },
602
- button: ({
603
- base,
604
- mode,
605
- muted,
606
- solid
607
- }) => mode === "bleed" ? {
409
+ button: ({ base, mode, muted, solid }) => mode === "bleed" ? {
608
410
  ...muted,
609
411
  enabled: {
610
412
  bg: "transparent",
@@ -652,9 +454,7 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
652
454
  ...solid,
653
455
  enabled: muted.enabled
654
456
  } : solid,
655
- card: ({
656
- base
657
- }) => ({
457
+ card: ({ base }) => ({
658
458
  bg: black,
659
459
  bg2: black,
660
460
  fg: black,
@@ -682,14 +482,8 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
682
482
  border: black,
683
483
  placeholder: black
684
484
  }),
685
- selectable: ({
686
- muted,
687
- state,
688
- tone
689
- }) => muted[tone][state],
690
- spot: ({
691
- key
692
- }) => spots[key],
485
+ selectable: ({ muted, state, tone }) => muted[tone][state],
486
+ spot: ({ key }) => spots[key],
693
487
  syntax: () => ({
694
488
  atrule: black,
695
489
  attrName: black,
@@ -804,283 +598,64 @@ function createInputModes(opts, base, dark, solid, muted) {
804
598
  function createMutedTones(opts, base, dark, name) {
805
599
  return {
806
600
  default: {
807
- enabled: opts.muted({
808
- base,
809
- dark,
810
- tone: "default",
811
- name,
812
- state: "enabled"
813
- }),
814
- disabled: opts.muted({
815
- base,
816
- dark,
817
- tone: "default",
818
- name,
819
- state: "disabled"
820
- }),
821
- hovered: opts.muted({
822
- base,
823
- dark,
824
- tone: "default",
825
- name,
826
- state: "hovered"
827
- }),
828
- pressed: opts.muted({
829
- base,
830
- dark,
831
- tone: "default",
832
- name,
833
- state: "pressed"
834
- }),
835
- selected: opts.muted({
836
- base,
837
- dark,
838
- tone: "default",
839
- name,
840
- state: "selected"
841
- })
601
+ enabled: opts.muted({ base, dark, tone: "default", name, state: "enabled" }),
602
+ disabled: opts.muted({ base, dark, tone: "default", name, state: "disabled" }),
603
+ hovered: opts.muted({ base, dark, tone: "default", name, state: "hovered" }),
604
+ pressed: opts.muted({ base, dark, tone: "default", name, state: "pressed" }),
605
+ selected: opts.muted({ base, dark, tone: "default", name, state: "selected" })
842
606
  },
843
607
  transparent: {
844
- enabled: opts.muted({
845
- base,
846
- dark,
847
- tone: "transparent",
848
- name,
849
- state: "enabled"
850
- }),
851
- disabled: opts.muted({
852
- base,
853
- dark,
854
- tone: "transparent",
855
- name,
856
- state: "disabled"
857
- }),
858
- hovered: opts.muted({
859
- base,
860
- dark,
861
- tone: "transparent",
862
- name,
863
- state: "hovered"
864
- }),
865
- pressed: opts.muted({
866
- base,
867
- dark,
868
- tone: "transparent",
869
- name,
870
- state: "pressed"
871
- }),
872
- selected: opts.muted({
873
- base,
874
- dark,
875
- tone: "transparent",
876
- name,
877
- state: "selected"
878
- })
608
+ enabled: opts.muted({ base, dark, tone: "transparent", name, state: "enabled" }),
609
+ disabled: opts.muted({ base, dark, tone: "transparent", name, state: "disabled" }),
610
+ hovered: opts.muted({ base, dark, tone: "transparent", name, state: "hovered" }),
611
+ pressed: opts.muted({ base, dark, tone: "transparent", name, state: "pressed" }),
612
+ selected: opts.muted({ base, dark, tone: "transparent", name, state: "selected" })
879
613
  },
880
614
  primary: {
881
- enabled: opts.muted({
882
- base,
883
- dark,
884
- tone: "primary",
885
- name,
886
- state: "enabled"
887
- }),
888
- disabled: opts.muted({
889
- base,
890
- dark,
891
- tone: "primary",
892
- name,
893
- state: "disabled"
894
- }),
895
- hovered: opts.muted({
896
- base,
897
- dark,
898
- tone: "primary",
899
- name,
900
- state: "hovered"
901
- }),
902
- pressed: opts.muted({
903
- base,
904
- dark,
905
- tone: "primary",
906
- name,
907
- state: "pressed"
908
- }),
909
- selected: opts.muted({
910
- base,
911
- dark,
912
- tone: "primary",
913
- name,
914
- state: "selected"
915
- })
615
+ enabled: opts.muted({ base, dark, tone: "primary", name, state: "enabled" }),
616
+ disabled: opts.muted({ base, dark, tone: "primary", name, state: "disabled" }),
617
+ hovered: opts.muted({ base, dark, tone: "primary", name, state: "hovered" }),
618
+ pressed: opts.muted({ base, dark, tone: "primary", name, state: "pressed" }),
619
+ selected: opts.muted({ base, dark, tone: "primary", name, state: "selected" })
916
620
  },
917
621
  positive: {
918
- enabled: opts.muted({
919
- base,
920
- dark,
921
- tone: "positive",
922
- name,
923
- state: "enabled"
924
- }),
925
- disabled: opts.muted({
926
- base,
927
- dark,
928
- tone: "positive",
929
- name,
930
- state: "disabled"
931
- }),
932
- hovered: opts.muted({
933
- base,
934
- dark,
935
- tone: "positive",
936
- name,
937
- state: "hovered"
938
- }),
939
- pressed: opts.muted({
940
- base,
941
- dark,
942
- tone: "positive",
943
- name,
944
- state: "pressed"
945
- }),
946
- selected: opts.muted({
947
- base,
948
- dark,
949
- tone: "positive",
950
- name,
951
- state: "selected"
952
- })
622
+ enabled: opts.muted({ base, dark, tone: "positive", name, state: "enabled" }),
623
+ disabled: opts.muted({ base, dark, tone: "positive", name, state: "disabled" }),
624
+ hovered: opts.muted({ base, dark, tone: "positive", name, state: "hovered" }),
625
+ pressed: opts.muted({ base, dark, tone: "positive", name, state: "pressed" }),
626
+ selected: opts.muted({ base, dark, tone: "positive", name, state: "selected" })
953
627
  },
954
628
  caution: {
955
- enabled: opts.muted({
956
- base,
957
- dark,
958
- tone: "caution",
959
- name,
960
- state: "enabled"
961
- }),
962
- disabled: opts.muted({
963
- base,
964
- dark,
965
- tone: "caution",
966
- name,
967
- state: "disabled"
968
- }),
969
- hovered: opts.muted({
970
- base,
971
- dark,
972
- tone: "caution",
973
- name,
974
- state: "hovered"
975
- }),
976
- pressed: opts.muted({
977
- base,
978
- dark,
979
- tone: "caution",
980
- name,
981
- state: "pressed"
982
- }),
983
- selected: opts.muted({
984
- base,
985
- dark,
986
- tone: "caution",
987
- name,
988
- state: "selected"
989
- })
629
+ enabled: opts.muted({ base, dark, tone: "caution", name, state: "enabled" }),
630
+ disabled: opts.muted({ base, dark, tone: "caution", name, state: "disabled" }),
631
+ hovered: opts.muted({ base, dark, tone: "caution", name, state: "hovered" }),
632
+ pressed: opts.muted({ base, dark, tone: "caution", name, state: "pressed" }),
633
+ selected: opts.muted({ base, dark, tone: "caution", name, state: "selected" })
990
634
  },
991
635
  critical: {
992
- enabled: opts.muted({
993
- base,
994
- dark,
995
- tone: "critical",
996
- name,
997
- state: "enabled"
998
- }),
999
- disabled: opts.muted({
1000
- base,
1001
- dark,
1002
- tone: "critical",
1003
- name,
1004
- state: "disabled"
1005
- }),
1006
- hovered: opts.muted({
1007
- base,
1008
- dark,
1009
- tone: "critical",
1010
- name,
1011
- state: "hovered"
1012
- }),
1013
- pressed: opts.muted({
1014
- base,
1015
- dark,
1016
- tone: "critical",
1017
- name,
1018
- state: "pressed"
1019
- }),
1020
- selected: opts.muted({
1021
- base,
1022
- dark,
1023
- tone: "critical",
1024
- name,
1025
- state: "selected"
1026
- })
636
+ enabled: opts.muted({ base, dark, tone: "critical", name, state: "enabled" }),
637
+ disabled: opts.muted({ base, dark, tone: "critical", name, state: "disabled" }),
638
+ hovered: opts.muted({ base, dark, tone: "critical", name, state: "hovered" }),
639
+ pressed: opts.muted({ base, dark, tone: "critical", name, state: "pressed" }),
640
+ selected: opts.muted({ base, dark, tone: "critical", name, state: "selected" })
1027
641
  }
1028
642
  };
1029
643
  }
1030
644
  function createSpot(opts, base, dark) {
1031
645
  return {
1032
- gray: opts.spot({
1033
- base,
1034
- dark,
1035
- key: "gray"
1036
- }),
1037
- blue: opts.spot({
1038
- base,
1039
- dark,
1040
- key: "blue"
1041
- }),
1042
- purple: opts.spot({
1043
- base,
1044
- dark,
1045
- key: "purple"
1046
- }),
1047
- magenta: opts.spot({
1048
- base,
1049
- dark,
1050
- key: "magenta"
1051
- }),
1052
- red: opts.spot({
1053
- base,
1054
- dark,
1055
- key: "red"
1056
- }),
1057
- orange: opts.spot({
1058
- base,
1059
- dark,
1060
- key: "orange"
1061
- }),
1062
- yellow: opts.spot({
1063
- base,
1064
- dark,
1065
- key: "yellow"
1066
- }),
1067
- green: opts.spot({
1068
- base,
1069
- dark,
1070
- key: "green"
1071
- }),
1072
- cyan: opts.spot({
1073
- base,
1074
- dark,
1075
- key: "cyan"
1076
- })
646
+ gray: opts.spot({ base, dark, key: "gray" }),
647
+ blue: opts.spot({ base, dark, key: "blue" }),
648
+ purple: opts.spot({ base, dark, key: "purple" }),
649
+ magenta: opts.spot({ base, dark, key: "magenta" }),
650
+ red: opts.spot({ base, dark, key: "red" }),
651
+ orange: opts.spot({ base, dark, key: "orange" }),
652
+ yellow: opts.spot({ base, dark, key: "yellow" }),
653
+ green: opts.spot({ base, dark, key: "green" }),
654
+ cyan: opts.spot({ base, dark, key: "cyan" })
1077
655
  };
1078
656
  }
1079
657
  function createColorTheme(partialOpts = {}) {
1080
- const builders = {
1081
- ...defaultOpts,
1082
- ...partialOpts
1083
- };
658
+ const builders = { ...defaultOpts, ...partialOpts };
1084
659
  return {
1085
660
  light: _createColorScheme(builders, !1),
1086
661
  dark: _createColorScheme(builders, !0)
@@ -1097,10 +672,7 @@ function _createColorScheme(opts, dark) {
1097
672
  };
1098
673
  }
1099
674
  function _createColor(opts, dark, name) {
1100
- const base = opts.base({
1101
- dark,
1102
- name
1103
- }), solid = createSolidTones(opts, base, dark, name), muted = createMutedTones(opts, base, dark, name);
675
+ const base = opts.base({ dark, name }), solid = createSolidTones(opts, base, dark, name), muted = createMutedTones(opts, base, dark, name);
1104
676
  return {
1105
677
  base,
1106
678
  button: createButtonModes(opts, base, dark, solid, muted),
@@ -1109,10 +681,7 @@ function _createColor(opts, dark, name) {
1109
681
  input: createInputModes(opts, base, dark, solid, muted),
1110
682
  selectable: createSelectableTones(opts, base, dark, solid, muted),
1111
683
  spot: createSpot(opts, base, dark),
1112
- syntax: opts.syntax({
1113
- base,
1114
- dark
1115
- }),
684
+ syntax: opts.syntax({ base, dark }),
1116
685
  solid,
1117
686
  muted
1118
687
  };
@@ -1126,42 +695,48 @@ const defaultThemeFonts = {
1126
695
  semibold: 600,
1127
696
  bold: 700
1128
697
  },
1129
- sizes: [{
1130
- ascenderHeight: 4,
1131
- descenderHeight: 4,
1132
- fontSize: 10,
1133
- iconSize: 17,
1134
- lineHeight: 15,
1135
- letterSpacing: 0
1136
- }, {
1137
- ascenderHeight: 5,
1138
- descenderHeight: 5,
1139
- fontSize: 13,
1140
- iconSize: 21,
1141
- lineHeight: 19,
1142
- letterSpacing: 0
1143
- }, {
1144
- ascenderHeight: 6,
1145
- descenderHeight: 6,
1146
- fontSize: 16,
1147
- iconSize: 25,
1148
- lineHeight: 23,
1149
- letterSpacing: 0
1150
- }, {
1151
- ascenderHeight: 7,
1152
- descenderHeight: 7,
1153
- fontSize: 19,
1154
- iconSize: 29,
1155
- lineHeight: 27,
1156
- letterSpacing: 0
1157
- }, {
1158
- ascenderHeight: 8,
1159
- descenderHeight: 8,
1160
- fontSize: 22,
1161
- iconSize: 33,
1162
- lineHeight: 31,
1163
- letterSpacing: 0
1164
- }]
698
+ sizes: [
699
+ {
700
+ ascenderHeight: 4,
701
+ descenderHeight: 4,
702
+ fontSize: 10,
703
+ iconSize: 17,
704
+ lineHeight: 15,
705
+ letterSpacing: 0
706
+ },
707
+ {
708
+ ascenderHeight: 5,
709
+ descenderHeight: 5,
710
+ fontSize: 13,
711
+ iconSize: 21,
712
+ lineHeight: 19,
713
+ letterSpacing: 0
714
+ },
715
+ {
716
+ ascenderHeight: 6,
717
+ descenderHeight: 6,
718
+ fontSize: 16,
719
+ iconSize: 25,
720
+ lineHeight: 23,
721
+ letterSpacing: 0
722
+ },
723
+ {
724
+ ascenderHeight: 7,
725
+ descenderHeight: 7,
726
+ fontSize: 19,
727
+ iconSize: 29,
728
+ lineHeight: 27,
729
+ letterSpacing: 0
730
+ },
731
+ {
732
+ ascenderHeight: 8,
733
+ descenderHeight: 8,
734
+ fontSize: 22,
735
+ iconSize: 33,
736
+ lineHeight: 31,
737
+ letterSpacing: 0
738
+ }
739
+ ]
1165
740
  },
1166
741
  heading: {
1167
742
  family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", Helvetica, Arial, system-ui, sans-serif',
@@ -1171,49 +746,56 @@ const defaultThemeFonts = {
1171
746
  semibold: 900,
1172
747
  bold: 900
1173
748
  },
1174
- sizes: [{
1175
- ascenderHeight: 5,
1176
- descenderHeight: 5,
1177
- fontSize: 13,
1178
- iconSize: 17,
1179
- lineHeight: 19,
1180
- letterSpacing: 0
1181
- }, {
1182
- ascenderHeight: 6,
1183
- descenderHeight: 6,
1184
- fontSize: 16,
1185
- iconSize: 25,
1186
- lineHeight: 23,
1187
- letterSpacing: 0
1188
- }, {
1189
- ascenderHeight: 7,
1190
- descenderHeight: 7,
1191
- fontSize: 21,
1192
- iconSize: 33,
1193
- lineHeight: 29,
1194
- letterSpacing: 0
1195
- }, {
1196
- ascenderHeight: 8,
1197
- descenderHeight: 8,
1198
- fontSize: 27,
1199
- iconSize: 41,
1200
- lineHeight: 35,
1201
- letterSpacing: 0
1202
- }, {
1203
- ascenderHeight: 9.5,
1204
- descenderHeight: 8.5,
1205
- fontSize: 33,
1206
- iconSize: 49,
1207
- lineHeight: 41,
1208
- letterSpacing: 0
1209
- }, {
1210
- ascenderHeight: 10.5,
1211
- descenderHeight: 9.5,
1212
- fontSize: 38,
1213
- iconSize: 53,
1214
- lineHeight: 47,
1215
- letterSpacing: 0
1216
- }]
749
+ sizes: [
750
+ {
751
+ ascenderHeight: 5,
752
+ descenderHeight: 5,
753
+ fontSize: 13,
754
+ iconSize: 17,
755
+ lineHeight: 19,
756
+ letterSpacing: 0
757
+ },
758
+ {
759
+ ascenderHeight: 6,
760
+ descenderHeight: 6,
761
+ fontSize: 16,
762
+ iconSize: 25,
763
+ lineHeight: 23,
764
+ letterSpacing: 0
765
+ },
766
+ {
767
+ ascenderHeight: 7,
768
+ descenderHeight: 7,
769
+ fontSize: 21,
770
+ iconSize: 33,
771
+ lineHeight: 29,
772
+ letterSpacing: 0
773
+ },
774
+ {
775
+ ascenderHeight: 8,
776
+ descenderHeight: 8,
777
+ fontSize: 27,
778
+ iconSize: 41,
779
+ lineHeight: 35,
780
+ letterSpacing: 0
781
+ },
782
+ {
783
+ ascenderHeight: 9.5,
784
+ descenderHeight: 8.5,
785
+ fontSize: 33,
786
+ iconSize: 49,
787
+ lineHeight: 41,
788
+ letterSpacing: 0
789
+ },
790
+ {
791
+ ascenderHeight: 10.5,
792
+ descenderHeight: 9.5,
793
+ fontSize: 38,
794
+ iconSize: 53,
795
+ lineHeight: 47,
796
+ letterSpacing: 0
797
+ }
798
+ ]
1217
799
  },
1218
800
  label: {
1219
801
  family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", system-ui, sans-serif',
@@ -1223,49 +805,56 @@ const defaultThemeFonts = {
1223
805
  semibold: 800,
1224
806
  bold: 900
1225
807
  },
1226
- sizes: [{
1227
- ascenderHeight: 2,
1228
- descenderHeight: 2,
1229
- fontSize: 8.1,
1230
- iconSize: 13,
1231
- lineHeight: 10,
1232
- letterSpacing: 0.5
1233
- }, {
1234
- ascenderHeight: 2,
1235
- descenderHeight: 2,
1236
- fontSize: 9.5,
1237
- iconSize: 15,
1238
- lineHeight: 11,
1239
- letterSpacing: 0.5
1240
- }, {
1241
- ascenderHeight: 2,
1242
- descenderHeight: 2,
1243
- fontSize: 10.8,
1244
- iconSize: 17,
1245
- lineHeight: 12,
1246
- letterSpacing: 0.5
1247
- }, {
1248
- ascenderHeight: 2,
1249
- descenderHeight: 2,
1250
- fontSize: 12.25,
1251
- iconSize: 19,
1252
- lineHeight: 13,
1253
- letterSpacing: 0.5
1254
- }, {
1255
- ascenderHeight: 2,
1256
- descenderHeight: 2,
1257
- fontSize: 13.6,
1258
- iconSize: 21,
1259
- lineHeight: 14,
1260
- letterSpacing: 0.5
1261
- }, {
1262
- ascenderHeight: 2,
1263
- descenderHeight: 2,
1264
- fontSize: 15,
1265
- iconSize: 23,
1266
- lineHeight: 15,
1267
- letterSpacing: 0.5
1268
- }]
808
+ sizes: [
809
+ {
810
+ ascenderHeight: 2,
811
+ descenderHeight: 2,
812
+ fontSize: 8.1,
813
+ iconSize: 13,
814
+ lineHeight: 10,
815
+ letterSpacing: 0.5
816
+ },
817
+ {
818
+ ascenderHeight: 2,
819
+ descenderHeight: 2,
820
+ fontSize: 9.5,
821
+ iconSize: 15,
822
+ lineHeight: 11,
823
+ letterSpacing: 0.5
824
+ },
825
+ {
826
+ ascenderHeight: 2,
827
+ descenderHeight: 2,
828
+ fontSize: 10.8,
829
+ iconSize: 17,
830
+ lineHeight: 12,
831
+ letterSpacing: 0.5
832
+ },
833
+ {
834
+ ascenderHeight: 2,
835
+ descenderHeight: 2,
836
+ fontSize: 12.25,
837
+ iconSize: 19,
838
+ lineHeight: 13,
839
+ letterSpacing: 0.5
840
+ },
841
+ {
842
+ ascenderHeight: 2,
843
+ descenderHeight: 2,
844
+ fontSize: 13.6,
845
+ iconSize: 21,
846
+ lineHeight: 14,
847
+ letterSpacing: 0.5
848
+ },
849
+ {
850
+ ascenderHeight: 2,
851
+ descenderHeight: 2,
852
+ fontSize: 15,
853
+ iconSize: 23,
854
+ lineHeight: 15,
855
+ letterSpacing: 0.5
856
+ }
857
+ ]
1269
858
  },
1270
859
  text: {
1271
860
  family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", Helvetica, Arial, system-ui, sans-serif',
@@ -1275,42 +864,48 @@ const defaultThemeFonts = {
1275
864
  semibold: 600,
1276
865
  bold: 700
1277
866
  },
1278
- sizes: [{
1279
- ascenderHeight: 4,
1280
- descenderHeight: 4,
1281
- fontSize: 10,
1282
- iconSize: 17,
1283
- lineHeight: 15,
1284
- letterSpacing: 0
1285
- }, {
1286
- ascenderHeight: 5,
1287
- descenderHeight: 5,
1288
- fontSize: 13,
1289
- iconSize: 21,
1290
- lineHeight: 19,
1291
- letterSpacing: 0
1292
- }, {
1293
- ascenderHeight: 6,
1294
- descenderHeight: 6,
1295
- fontSize: 15,
1296
- iconSize: 25,
1297
- lineHeight: 23,
1298
- letterSpacing: 0
1299
- }, {
1300
- ascenderHeight: 7,
1301
- descenderHeight: 7,
1302
- fontSize: 18,
1303
- iconSize: 29,
1304
- lineHeight: 27,
1305
- letterSpacing: 0
1306
- }, {
1307
- ascenderHeight: 8,
1308
- descenderHeight: 8,
1309
- fontSize: 21,
1310
- iconSize: 33,
1311
- lineHeight: 31,
1312
- letterSpacing: 0
1313
- }]
867
+ sizes: [
868
+ {
869
+ ascenderHeight: 4,
870
+ descenderHeight: 4,
871
+ fontSize: 10,
872
+ iconSize: 17,
873
+ lineHeight: 15,
874
+ letterSpacing: 0
875
+ },
876
+ {
877
+ ascenderHeight: 5,
878
+ descenderHeight: 5,
879
+ fontSize: 13,
880
+ iconSize: 21,
881
+ lineHeight: 19,
882
+ letterSpacing: 0
883
+ },
884
+ {
885
+ ascenderHeight: 6,
886
+ descenderHeight: 6,
887
+ fontSize: 15,
888
+ iconSize: 25,
889
+ lineHeight: 23,
890
+ letterSpacing: 0
891
+ },
892
+ {
893
+ ascenderHeight: 7,
894
+ descenderHeight: 7,
895
+ fontSize: 18,
896
+ iconSize: 29,
897
+ lineHeight: 27,
898
+ letterSpacing: 0
899
+ },
900
+ {
901
+ ascenderHeight: 8,
902
+ descenderHeight: 8,
903
+ fontSize: 21,
904
+ iconSize: 33,
905
+ lineHeight: 31,
906
+ letterSpacing: 0
907
+ }
908
+ ]
1314
909
  }
1315
910
  };
1316
911
  function is_v0(themeProp) {
@@ -1502,7 +1097,20 @@ function inputStateThemeColor_v2_v0(t) {
1502
1097
  placeholder: t.placeholder
1503
1098
  };
1504
1099
  }
1505
- const THEME_COLOR_SCHEMES = ["light", "dark"], THEME_COLOR_BLEND_MODES = ["multiply", "screen"], THEME_COLOR_CARD_TONES = ["transparent", "default", "primary", "positive", "caution", "critical"], THEME_COLOR_STATE_TONES = ["default", "primary", "positive", "caution", "critical"], THEME_COLOR_STATES = ["enabled", "hovered", "pressed", "selected", "disabled"], THEME_COLOR_BUTTON_MODES = ["default", "ghost", "bleed"], THEME_COLOR_INPUT_MODES = ["default", "invalid"], THEME_COLOR_INPUT_STATES = ["enabled", "hovered", "readOnly", "disabled"], THEME_COLOR_AVATAR_COLORS = COLOR_HUES;
1100
+ const THEME_COLOR_SCHEMES = ["light", "dark"], THEME_COLOR_BLEND_MODES = ["multiply", "screen"], THEME_COLOR_CARD_TONES = [
1101
+ "transparent",
1102
+ "default",
1103
+ "primary",
1104
+ "positive",
1105
+ "caution",
1106
+ "critical"
1107
+ ], THEME_COLOR_STATE_TONES = [
1108
+ "default",
1109
+ "primary",
1110
+ "positive",
1111
+ "caution",
1112
+ "critical"
1113
+ ], THEME_COLOR_STATES = ["enabled", "hovered", "pressed", "selected", "disabled"], THEME_COLOR_BUTTON_MODES = ["default", "ghost", "bleed"], THEME_COLOR_INPUT_MODES = ["default", "invalid"], THEME_COLOR_INPUT_STATES = ["enabled", "hovered", "readOnly", "disabled"], THEME_COLOR_AVATAR_COLORS = COLOR_HUES;
1506
1114
  function isColorBlendModeValue(str) {
1507
1115
  return THEME_COLOR_BLEND_MODES.includes(str);
1508
1116
  }
@@ -1515,7 +1123,33 @@ function isColorTintKey(str) {
1515
1123
  function isColorButtonMode(str) {
1516
1124
  return THEME_COLOR_BUTTON_MODES.includes(str);
1517
1125
  }
1518
- const COLOR_CONFIG_STATE_KEYS = ["_hue", "bg", "fg", "border", "focusRing", "muted/fg", "accent/fg", "link/fg", "code/bg", "code/fg", "skeleton/from", "skeleton/to", "status/dot", "status/icon"], COLOR_CONFIG_CARD_KEYS = [...COLOR_CONFIG_STATE_KEYS, "_hue", "bg", "fg", "border", "focusRing", "shadow/outline", "shadow/umbra", "shadow/penumbra", "shadow/ambient"], COLOR_CONFIG_BLEND_KEYS = ["_blend"], COLOR_CONFIG_AVATAR_COLORS = ["*", ...THEME_COLOR_AVATAR_COLORS], COLOR_CONFIG_CARD_TONES = ["*", ...THEME_COLOR_CARD_TONES], COLOR_CONFIG_STATE_TONES = ["*", ...THEME_COLOR_STATE_TONES], COLOR_CONFIG_STATES = ["*", ...THEME_COLOR_STATES], COLOR_CONFIG_INPUT_MODES = ["*", ...THEME_COLOR_INPUT_MODES], COLOR_CONFIG_INPUT_STATES = ["*", ...THEME_COLOR_INPUT_STATES];
1126
+ const COLOR_CONFIG_STATE_KEYS = [
1127
+ "_hue",
1128
+ "bg",
1129
+ "fg",
1130
+ "border",
1131
+ "focusRing",
1132
+ "muted/fg",
1133
+ "accent/fg",
1134
+ "link/fg",
1135
+ "code/bg",
1136
+ "code/fg",
1137
+ "skeleton/from",
1138
+ "skeleton/to",
1139
+ "status/dot",
1140
+ "status/icon"
1141
+ ], COLOR_CONFIG_CARD_KEYS = [
1142
+ ...COLOR_CONFIG_STATE_KEYS,
1143
+ "_hue",
1144
+ "bg",
1145
+ "fg",
1146
+ "border",
1147
+ "focusRing",
1148
+ "shadow/outline",
1149
+ "shadow/umbra",
1150
+ "shadow/penumbra",
1151
+ "shadow/ambient"
1152
+ ], COLOR_CONFIG_BLEND_KEYS = ["_blend"], COLOR_CONFIG_AVATAR_COLORS = ["*", ...THEME_COLOR_AVATAR_COLORS], COLOR_CONFIG_CARD_TONES = ["*", ...THEME_COLOR_CARD_TONES], COLOR_CONFIG_STATE_TONES = ["*", ...THEME_COLOR_STATE_TONES], COLOR_CONFIG_STATES = ["*", ...THEME_COLOR_STATES], COLOR_CONFIG_INPUT_MODES = ["*", ...THEME_COLOR_INPUT_MODES], COLOR_CONFIG_INPUT_STATES = ["*", ...THEME_COLOR_INPUT_STATES];
1519
1153
  function parseTokenKey(str) {
1520
1154
  const segments = str.split("/"), segment0 = segments.shift() || "";
1521
1155
  if (isColorConfigBaseTone(segment0)) {
@@ -1681,16 +1315,10 @@ function compileColorTokenValue(node) {
1681
1315
  }
1682
1316
  const DEFAULT_COLOR_TOKEN_VALUE = ["500", "500"];
1683
1317
  function resolveColorTokenValue(context, value = DEFAULT_COLOR_TOKEN_VALUE) {
1684
- const {
1685
- hue,
1686
- scheme
1687
- } = context, node = parseTokenValue(value[scheme === "light" ? 0 : 1]);
1318
+ const { hue, scheme } = context, node = parseTokenValue(value[scheme === "light" ? 0 : 1]);
1688
1319
  if (!node || node.type !== "color")
1689
1320
  throw new Error(`Invalid color token: ${value[0]}`);
1690
- return compileColorTokenValue({
1691
- ...node,
1692
- hue: node.hue || hue
1693
- });
1321
+ return compileColorTokenValue({ ...node, hue: node.hue || hue });
1694
1322
  }
1695
1323
  const defaultColorTokens = {
1696
1324
  base: {
@@ -1765,24 +1393,16 @@ const defaultColorTokens = {
1765
1393
  fg: ["600", "400"]
1766
1394
  }
1767
1395
  },
1768
- primary: {
1769
- _hue: "blue"
1770
- },
1396
+ primary: { _hue: "blue" },
1771
1397
  positive: {
1772
1398
  _hue: "green",
1773
- shadow: {
1774
- outline: ["500/0.4", "500/0.4"]
1775
- }
1399
+ shadow: { outline: ["500/0.4", "500/0.4"] }
1776
1400
  },
1777
1401
  caution: {
1778
1402
  _hue: "yellow",
1779
- shadow: {
1780
- outline: ["600/0.3", "500/0.4"]
1781
- }
1403
+ shadow: { outline: ["600/0.3", "500/0.4"] }
1782
1404
  },
1783
- critical: {
1784
- _hue: "red"
1785
- }
1405
+ critical: { _hue: "red" }
1786
1406
  },
1787
1407
  button: {
1788
1408
  default: {
@@ -2127,7 +1747,7 @@ const defaultColorTokens = {
2127
1747
  "*": {
2128
1748
  _blend: ["multiply", "screen"],
2129
1749
  bg: ["white", "black"],
2130
- border: ["200", "800"],
1750
+ border: ["200", "700"],
2131
1751
  fg: ["black", "200"],
2132
1752
  muted: {
2133
1753
  bg: ["50", "950"]
@@ -2143,6 +1763,7 @@ const defaultColorTokens = {
2143
1763
  fg: ["800", "200"]
2144
1764
  },
2145
1765
  disabled: {
1766
+ bg: ["50", "950"],
2146
1767
  fg: ["400", "600"],
2147
1768
  border: ["100", "900"],
2148
1769
  placeholder: ["200", "800 50%"]
@@ -2379,33 +2000,15 @@ function resolveBaseColorTones(inputTokens, tone) {
2379
2000
  ...spec,
2380
2001
  _hue: hue,
2381
2002
  avatar: {
2382
- gray: merge({
2383
- _hue: "gray"
2384
- }, spec.avatar?.["*"], spec.avatar?.gray),
2385
- blue: merge({
2386
- _hue: "blue"
2387
- }, spec.avatar?.["*"], spec.avatar?.blue),
2388
- purple: merge({
2389
- _hue: "purple"
2390
- }, spec.avatar?.["*"], spec.avatar?.purple),
2391
- magenta: merge({
2392
- _hue: "magenta"
2393
- }, spec.avatar?.["*"], spec.avatar?.magenta),
2394
- red: merge({
2395
- _hue: "red"
2396
- }, spec.avatar?.["*"], spec.avatar?.red),
2397
- orange: merge({
2398
- _hue: "orange"
2399
- }, spec.avatar?.["*"], spec.avatar?.orange),
2400
- yellow: merge({
2401
- _hue: "yellow"
2402
- }, spec.avatar?.["*"], spec.avatar?.yellow),
2403
- green: merge({
2404
- _hue: "green"
2405
- }, spec.avatar?.["*"], spec.avatar?.green),
2406
- cyan: merge({
2407
- _hue: "cyan"
2408
- }, spec.avatar?.["*"], spec.avatar?.cyan)
2003
+ gray: merge({ _hue: "gray" }, spec.avatar?.["*"], spec.avatar?.gray),
2004
+ blue: merge({ _hue: "blue" }, spec.avatar?.["*"], spec.avatar?.blue),
2005
+ purple: merge({ _hue: "purple" }, spec.avatar?.["*"], spec.avatar?.purple),
2006
+ magenta: merge({ _hue: "magenta" }, spec.avatar?.["*"], spec.avatar?.magenta),
2007
+ red: merge({ _hue: "red" }, spec.avatar?.["*"], spec.avatar?.red),
2008
+ orange: merge({ _hue: "orange" }, spec.avatar?.["*"], spec.avatar?.orange),
2009
+ yellow: merge({ _hue: "yellow" }, spec.avatar?.["*"], spec.avatar?.yellow),
2010
+ green: merge({ _hue: "green" }, spec.avatar?.["*"], spec.avatar?.green),
2011
+ cyan: merge({ _hue: "cyan" }, spec.avatar?.["*"], spec.avatar?.cyan)
2409
2012
  },
2410
2013
  badge: {
2411
2014
  default: {
@@ -2455,38 +2058,25 @@ function resolveButtonModeColorTokens(inputTokens, mode, tone) {
2455
2058
  return tokens;
2456
2059
  }
2457
2060
  function resolveButtonStateColorTokens(inputTokens, tone, mode, state) {
2458
- const spec = merge(inputTokens?.button?.[mode]?.["*"]?.["*"], inputTokens?.button?.[mode]?.[tone]?.["*"], inputTokens?.button?.[mode]?.["*"]?.[state], inputTokens?.button?.[mode]?.[tone]?.[state]), hue = spec._hue || inputTokens?.base?.[tone]?._hue;
2061
+ const spec = merge(
2062
+ inputTokens?.button?.[mode]?.["*"]?.["*"],
2063
+ inputTokens?.button?.[mode]?.[tone]?.["*"],
2064
+ inputTokens?.button?.[mode]?.["*"]?.[state],
2065
+ inputTokens?.button?.[mode]?.[tone]?.[state]
2066
+ ), hue = spec._hue || inputTokens?.base?.[tone]?._hue;
2459
2067
  return {
2460
2068
  ...spec,
2461
2069
  _hue: hue,
2462
2070
  avatar: {
2463
- gray: merge({
2464
- _hue: "gray"
2465
- }, spec.avatar?.["*"], spec.avatar?.gray),
2466
- blue: merge({
2467
- _hue: "blue"
2468
- }, spec.avatar?.["*"], spec.avatar?.blue),
2469
- purple: merge({
2470
- _hue: "purple"
2471
- }, spec.avatar?.["*"], spec.avatar?.purple),
2472
- magenta: merge({
2473
- _hue: "magenta"
2474
- }, spec.avatar?.["*"], spec.avatar?.magenta),
2475
- red: merge({
2476
- _hue: "red"
2477
- }, spec.avatar?.["*"], spec.avatar?.red),
2478
- orange: merge({
2479
- _hue: "orange"
2480
- }, spec.avatar?.["*"], spec.avatar?.orange),
2481
- yellow: merge({
2482
- _hue: "yellow"
2483
- }, spec.avatar?.["*"], spec.avatar?.yellow),
2484
- green: merge({
2485
- _hue: "green"
2486
- }, spec.avatar?.["*"], spec.avatar?.green),
2487
- cyan: merge({
2488
- _hue: "cyan"
2489
- }, spec.avatar?.["*"], spec.avatar?.cyan)
2071
+ gray: merge({ _hue: "gray" }, spec.avatar?.["*"], spec.avatar?.gray),
2072
+ blue: merge({ _hue: "blue" }, spec.avatar?.["*"], spec.avatar?.blue),
2073
+ purple: merge({ _hue: "purple" }, spec.avatar?.["*"], spec.avatar?.purple),
2074
+ magenta: merge({ _hue: "magenta" }, spec.avatar?.["*"], spec.avatar?.magenta),
2075
+ red: merge({ _hue: "red" }, spec.avatar?.["*"], spec.avatar?.red),
2076
+ orange: merge({ _hue: "orange" }, spec.avatar?.["*"], spec.avatar?.orange),
2077
+ yellow: merge({ _hue: "yellow" }, spec.avatar?.["*"], spec.avatar?.yellow),
2078
+ green: merge({ _hue: "green" }, spec.avatar?.["*"], spec.avatar?.green),
2079
+ cyan: merge({ _hue: "cyan" }, spec.avatar?.["*"], spec.avatar?.cyan)
2490
2080
  },
2491
2081
  badge: {
2492
2082
  default: {
@@ -2530,11 +2120,13 @@ function resolveInputModeColorTokens(inputTokens, mode) {
2530
2120
  return states;
2531
2121
  }
2532
2122
  function resolveInputStateColorTokens(inputTokens, mode, state) {
2533
- const spec = merge(inputTokens?.input?.["*"]?.["*"], inputTokens?.input?.[mode]?.["*"], inputTokens?.input?.["*"]?.[state], inputTokens?.input?.[mode]?.[state]), hue = spec._hue || inputTokens?.input?.[mode]?._hue;
2534
- return {
2535
- ...spec,
2536
- _hue: hue
2537
- };
2123
+ const spec = merge(
2124
+ inputTokens?.input?.["*"]?.["*"],
2125
+ inputTokens?.input?.[mode]?.["*"],
2126
+ inputTokens?.input?.["*"]?.[state],
2127
+ inputTokens?.input?.[mode]?.[state]
2128
+ ), hue = spec._hue || inputTokens?.input?.[mode]?._hue;
2129
+ return { ...spec, _hue: hue };
2538
2130
  }
2539
2131
  function resolveSelectableColorTokens(inputTokens) {
2540
2132
  const tokens = {};
@@ -2551,38 +2143,25 @@ function resolveSelectableToneColorTokens(inputTokens, tone) {
2551
2143
  return states;
2552
2144
  }
2553
2145
  function resolveSelectableStateColorTokens(inputTokens, tone, state) {
2554
- const spec = merge(inputTokens?.selectable?.["*"]?.["*"], inputTokens?.selectable?.[tone]?.["*"], inputTokens?.selectable?.["*"]?.[state], inputTokens?.selectable?.[tone]?.[state]), hue = spec._hue || inputTokens?.base?.[tone]?._hue;
2146
+ const spec = merge(
2147
+ inputTokens?.selectable?.["*"]?.["*"],
2148
+ inputTokens?.selectable?.[tone]?.["*"],
2149
+ inputTokens?.selectable?.["*"]?.[state],
2150
+ inputTokens?.selectable?.[tone]?.[state]
2151
+ ), hue = spec._hue || inputTokens?.base?.[tone]?._hue;
2555
2152
  return {
2556
2153
  ...spec,
2557
2154
  _hue: hue,
2558
2155
  avatar: {
2559
- gray: merge({
2560
- _hue: "gray"
2561
- }, spec.avatar?.["*"], spec.avatar?.gray),
2562
- blue: merge({
2563
- _hue: "blue"
2564
- }, spec.avatar?.["*"], spec.avatar?.blue),
2565
- purple: merge({
2566
- _hue: "purple"
2567
- }, spec.avatar?.["*"], spec.avatar?.purple),
2568
- magenta: merge({
2569
- _hue: "magenta"
2570
- }, spec.avatar?.["*"], spec.avatar?.magenta),
2571
- red: merge({
2572
- _hue: "red"
2573
- }, spec.avatar?.["*"], spec.avatar?.red),
2574
- orange: merge({
2575
- _hue: "orange"
2576
- }, spec.avatar?.["*"], spec.avatar?.orange),
2577
- yellow: merge({
2578
- _hue: "yellow"
2579
- }, spec.avatar?.["*"], spec.avatar?.yellow),
2580
- green: merge({
2581
- _hue: "green"
2582
- }, spec.avatar?.["*"], spec.avatar?.green),
2583
- cyan: merge({
2584
- _hue: "cyan"
2585
- }, spec.avatar?.["*"], spec.avatar?.cyan)
2156
+ gray: merge({ _hue: "gray" }, spec.avatar?.["*"], spec.avatar?.gray),
2157
+ blue: merge({ _hue: "blue" }, spec.avatar?.["*"], spec.avatar?.blue),
2158
+ purple: merge({ _hue: "purple" }, spec.avatar?.["*"], spec.avatar?.purple),
2159
+ magenta: merge({ _hue: "magenta" }, spec.avatar?.["*"], spec.avatar?.magenta),
2160
+ red: merge({ _hue: "red" }, spec.avatar?.["*"], spec.avatar?.red),
2161
+ orange: merge({ _hue: "orange" }, spec.avatar?.["*"], spec.avatar?.orange),
2162
+ yellow: merge({ _hue: "yellow" }, spec.avatar?.["*"], spec.avatar?.yellow),
2163
+ green: merge({ _hue: "green" }, spec.avatar?.["*"], spec.avatar?.green),
2164
+ cyan: merge({ _hue: "cyan" }, spec.avatar?.["*"], spec.avatar?.cyan)
2586
2165
  },
2587
2166
  badge: {
2588
2167
  default: {
@@ -2619,71 +2198,35 @@ function buildColorTheme(config) {
2619
2198
  color: resolveColorTokens(config?.color)
2620
2199
  };
2621
2200
  return {
2622
- light: buildColorScheme({
2623
- scheme: "light"
2624
- }, resolvedConfig),
2625
- dark: buildColorScheme({
2626
- scheme: "dark"
2627
- }, resolvedConfig)
2201
+ light: buildColorScheme({ scheme: "light" }, resolvedConfig),
2202
+ dark: buildColorScheme({ scheme: "dark" }, resolvedConfig)
2628
2203
  };
2629
2204
  }
2630
2205
  function buildColorScheme(options, config) {
2631
- const {
2632
- scheme
2633
- } = options;
2206
+ const { scheme } = options;
2634
2207
  return {
2635
- transparent: buildCardColorTheme({
2636
- scheme,
2637
- tone: "transparent"
2638
- }, config),
2639
- default: buildCardColorTheme({
2640
- scheme,
2641
- tone: "default"
2642
- }, config),
2643
- primary: buildCardColorTheme({
2644
- scheme,
2645
- tone: "primary"
2646
- }, config),
2647
- positive: buildCardColorTheme({
2648
- scheme,
2649
- tone: "positive"
2650
- }, config),
2651
- caution: buildCardColorTheme({
2652
- scheme,
2653
- tone: "caution"
2654
- }, config),
2655
- critical: buildCardColorTheme({
2656
- scheme,
2657
- tone: "critical"
2658
- }, config)
2208
+ transparent: buildCardColorTheme({ scheme, tone: "transparent" }, config),
2209
+ default: buildCardColorTheme({ scheme, tone: "default" }, config),
2210
+ primary: buildCardColorTheme({ scheme, tone: "primary" }, config),
2211
+ positive: buildCardColorTheme({ scheme, tone: "positive" }, config),
2212
+ caution: buildCardColorTheme({ scheme, tone: "caution" }, config),
2213
+ critical: buildCardColorTheme({ scheme, tone: "critical" }, config)
2659
2214
  };
2660
2215
  }
2661
2216
  function buildCardColorTheme(options, config) {
2662
- const {
2663
- scheme,
2664
- tone
2665
- } = options, tokens = config?.color?.base?.[tone], context = {
2666
- hue: tokens?._hue || "gray",
2667
- scheme
2668
- };
2217
+ const { scheme, tone } = options, tokens = config?.color?.base?.[tone], context = { hue: tokens?._hue || "gray", scheme };
2669
2218
  return {
2670
2219
  _blend: (tokens?._blend || ["multiply", "screen"])[scheme === "light" ? 0 : 1],
2671
2220
  _dark: scheme === "dark",
2672
2221
  accent: {
2673
2222
  fg: resolveColorTokenValue(context, tokens?.accent?.fg)
2674
2223
  },
2675
- avatar: buildAvatarColorTheme({
2676
- scheme
2677
- }, tokens),
2224
+ avatar: buildAvatarColorTheme({ scheme }, tokens),
2678
2225
  backdrop: resolveColorTokenValue(context, tokens?.backdrop),
2679
- badge: buildBadgeColorTheme(tokens?.badge, {
2680
- scheme
2681
- }, config),
2226
+ badge: buildBadgeColorTheme(tokens?.badge, { scheme }, config),
2682
2227
  bg: resolveColorTokenValue(context, tokens?.bg),
2683
2228
  border: resolveColorTokenValue(context, tokens?.border),
2684
- button: buildButtonColorTheme({
2685
- scheme
2686
- }, config),
2229
+ button: buildButtonColorTheme({ scheme }, config),
2687
2230
  code: {
2688
2231
  bg: resolveColorTokenValue(context, tokens?.code?.bg),
2689
2232
  fg: resolveColorTokenValue(context, tokens?.code?.fg)
@@ -2691,10 +2234,7 @@ function buildCardColorTheme(options, config) {
2691
2234
  fg: resolveColorTokenValue(context, tokens?.fg),
2692
2235
  focusRing: resolveColorTokenValue(context, tokens?.focusRing),
2693
2236
  icon: resolveColorTokenValue(context, tokens?.icon),
2694
- input: buildInputColorTheme({
2695
- scheme,
2696
- tone
2697
- }, config),
2237
+ input: buildInputColorTheme({ scheme, tone }, config),
2698
2238
  kbd: {
2699
2239
  bg: resolveColorTokenValue(context, tokens?.kbd?.bg),
2700
2240
  fg: resolveColorTokenValue(context, tokens?.kbd?.fg),
@@ -2707,30 +2247,17 @@ function buildCardColorTheme(options, config) {
2707
2247
  bg: resolveColorTokenValue(context, tokens?.muted?.bg),
2708
2248
  fg: resolveColorTokenValue(context, tokens?.muted?.fg)
2709
2249
  },
2710
- selectable: buildSelectableColorTheme({
2711
- scheme
2712
- }, config),
2713
- shadow: buildShadowColorTheme({
2714
- scheme,
2715
- tone
2716
- }, config),
2250
+ selectable: buildSelectableColorTheme({ scheme }, config),
2251
+ shadow: buildShadowColorTheme({ scheme, tone }, config),
2717
2252
  skeleton: {
2718
2253
  from: resolveColorTokenValue(context, tokens?.skeleton?.from),
2719
2254
  to: resolveColorTokenValue(context, tokens?.skeleton?.to)
2720
2255
  },
2721
- syntax: buildSyntaxColorTheme({
2722
- scheme
2723
- }, config)
2256
+ syntax: buildSyntaxColorTheme({ scheme }, config)
2724
2257
  };
2725
2258
  }
2726
2259
  function buildShadowColorTheme(options, config) {
2727
- const {
2728
- scheme,
2729
- tone
2730
- } = options, tokens = config?.color?.base?.[tone], context = {
2731
- hue: tokens?._hue || "gray",
2732
- scheme
2733
- };
2260
+ const { scheme, tone } = options, tokens = config?.color?.base?.[tone], context = { hue: tokens?._hue || "gray", scheme };
2734
2261
  return {
2735
2262
  outline: resolveColorTokenValue(context, tokens?.shadow?.outline),
2736
2263
  umbra: resolveColorTokenValue(context, tokens?.shadow?.umbra),
@@ -2739,56 +2266,21 @@ function buildShadowColorTheme(options, config) {
2739
2266
  };
2740
2267
  }
2741
2268
  function buildAvatarColorTheme(options, stateTokens) {
2742
- const {
2743
- scheme
2744
- } = options;
2269
+ const { scheme } = options;
2745
2270
  return {
2746
- gray: _buildAvatarColorTheme({
2747
- color: "gray",
2748
- scheme
2749
- }, stateTokens),
2750
- blue: _buildAvatarColorTheme({
2751
- color: "blue",
2752
- scheme
2753
- }, stateTokens),
2754
- purple: _buildAvatarColorTheme({
2755
- color: "purple",
2756
- scheme
2757
- }, stateTokens),
2758
- magenta: _buildAvatarColorTheme({
2759
- color: "magenta",
2760
- scheme
2761
- }, stateTokens),
2762
- red: _buildAvatarColorTheme({
2763
- color: "red",
2764
- scheme
2765
- }, stateTokens),
2766
- orange: _buildAvatarColorTheme({
2767
- color: "orange",
2768
- scheme
2769
- }, stateTokens),
2770
- yellow: _buildAvatarColorTheme({
2771
- color: "yellow",
2772
- scheme
2773
- }, stateTokens),
2774
- green: _buildAvatarColorTheme({
2775
- color: "green",
2776
- scheme
2777
- }, stateTokens),
2778
- cyan: _buildAvatarColorTheme({
2779
- color: "cyan",
2780
- scheme
2781
- }, stateTokens)
2271
+ gray: _buildAvatarColorTheme({ color: "gray", scheme }, stateTokens),
2272
+ blue: _buildAvatarColorTheme({ color: "blue", scheme }, stateTokens),
2273
+ purple: _buildAvatarColorTheme({ color: "purple", scheme }, stateTokens),
2274
+ magenta: _buildAvatarColorTheme({ color: "magenta", scheme }, stateTokens),
2275
+ red: _buildAvatarColorTheme({ color: "red", scheme }, stateTokens),
2276
+ orange: _buildAvatarColorTheme({ color: "orange", scheme }, stateTokens),
2277
+ yellow: _buildAvatarColorTheme({ color: "yellow", scheme }, stateTokens),
2278
+ green: _buildAvatarColorTheme({ color: "green", scheme }, stateTokens),
2279
+ cyan: _buildAvatarColorTheme({ color: "cyan", scheme }, stateTokens)
2782
2280
  };
2783
2281
  }
2784
2282
  function _buildAvatarColorTheme(options, stateTokens) {
2785
- const {
2786
- color: color2,
2787
- scheme
2788
- } = options, tokens = stateTokens?.avatar?.[color2], context = {
2789
- hue: tokens?._hue || "gray",
2790
- scheme
2791
- };
2283
+ const { color: color2, scheme } = options, tokens = stateTokens?.avatar?.[color2], context = { hue: tokens?._hue || "gray", scheme };
2792
2284
  return {
2793
2285
  _blend: (tokens?._blend || ["screen", "multiply"])[scheme === "light" ? 0 : 1],
2794
2286
  bg: resolveColorTokenValue(context, tokens?.bg),
@@ -2796,40 +2288,17 @@ function _buildAvatarColorTheme(options, stateTokens) {
2796
2288
  };
2797
2289
  }
2798
2290
  function buildBadgeColorTheme(tokens, options, config) {
2799
- const {
2800
- scheme
2801
- } = options;
2291
+ const { scheme } = options;
2802
2292
  return {
2803
- default: _buildBadgeColorTheme(tokens, {
2804
- scheme,
2805
- tone: "default"
2806
- }, config),
2807
- primary: _buildBadgeColorTheme(tokens, {
2808
- scheme,
2809
- tone: "primary"
2810
- }, config),
2811
- positive: _buildBadgeColorTheme(tokens, {
2812
- scheme,
2813
- tone: "positive"
2814
- }, config),
2815
- caution: _buildBadgeColorTheme(tokens, {
2816
- scheme,
2817
- tone: "caution"
2818
- }, config),
2819
- critical: _buildBadgeColorTheme(tokens, {
2820
- scheme,
2821
- tone: "critical"
2822
- }, config)
2293
+ default: _buildBadgeColorTheme(tokens, { scheme, tone: "default" }, config),
2294
+ primary: _buildBadgeColorTheme(tokens, { scheme, tone: "primary" }, config),
2295
+ positive: _buildBadgeColorTheme(tokens, { scheme, tone: "positive" }, config),
2296
+ caution: _buildBadgeColorTheme(tokens, { scheme, tone: "caution" }, config),
2297
+ critical: _buildBadgeColorTheme(tokens, { scheme, tone: "critical" }, config)
2823
2298
  };
2824
2299
  }
2825
2300
  function _buildBadgeColorTheme(parentTokens, options, config) {
2826
- const {
2827
- scheme,
2828
- tone
2829
- } = options, tokens = parentTokens?.[tone], context = {
2830
- hue: tokens?._hue || config?.color?.base?.[tone]?._hue || "gray",
2831
- scheme
2832
- };
2301
+ const { scheme, tone } = options, tokens = parentTokens?.[tone], context = { hue: tokens?._hue || config?.color?.base?.[tone]?._hue || "gray", scheme };
2833
2302
  return {
2834
2303
  bg: resolveColorTokenValue(context, tokens?.bg),
2835
2304
  fg: resolveColorTokenValue(context, tokens?.fg),
@@ -2838,65 +2307,32 @@ function _buildBadgeColorTheme(parentTokens, options, config) {
2838
2307
  };
2839
2308
  }
2840
2309
  function buildButtonColorTheme(options, config) {
2841
- const {
2842
- scheme
2843
- } = options, modes = {};
2310
+ const { scheme } = options, modes = {};
2844
2311
  for (const mode of THEME_COLOR_BUTTON_MODES)
2845
- modes[mode] = buildButtonTonesColorTheme({
2846
- scheme,
2847
- mode
2848
- }, config);
2312
+ modes[mode] = buildButtonTonesColorTheme({ scheme, mode }, config);
2849
2313
  return modes;
2850
2314
  }
2851
2315
  function buildButtonTonesColorTheme(options, config) {
2852
- const {
2853
- mode,
2854
- scheme
2855
- } = options, tones2 = {};
2316
+ const { mode, scheme } = options, tones2 = {};
2856
2317
  for (const tone of THEME_COLOR_STATE_TONES)
2857
- tones2[tone] = buildButtonStatesColorTheme({
2858
- mode,
2859
- scheme,
2860
- tone
2861
- }, config);
2318
+ tones2[tone] = buildButtonStatesColorTheme({ mode, scheme, tone }, config);
2862
2319
  return tones2;
2863
2320
  }
2864
2321
  function buildButtonStatesColorTheme(options, config) {
2865
- const {
2866
- mode,
2867
- scheme,
2868
- tone
2869
- } = options, states = {};
2322
+ const { mode, scheme, tone } = options, states = {};
2870
2323
  for (const state of THEME_COLOR_STATES)
2871
- states[state] = buildButtonStateColorTheme({
2872
- mode,
2873
- tone,
2874
- scheme,
2875
- state
2876
- }, config);
2324
+ states[state] = buildButtonStateColorTheme({ mode, tone, scheme, state }, config);
2877
2325
  return states;
2878
2326
  }
2879
2327
  function buildButtonStateColorTheme(options, config) {
2880
- const {
2881
- mode,
2882
- tone,
2883
- scheme,
2884
- state
2885
- } = options, tokens = config?.color?.button?.[mode]?.[tone]?.[state], hue = tokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = {
2886
- hue,
2887
- scheme
2888
- };
2328
+ const { mode, tone, scheme, state } = options, tokens = config?.color?.button?.[mode]?.[tone]?.[state], hue = tokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = { hue, scheme };
2889
2329
  return {
2890
2330
  _blend: blendMode[scheme === "light" ? 0 : 1],
2891
2331
  accent: {
2892
2332
  fg: resolveColorTokenValue(context, tokens?.accent?.fg)
2893
2333
  },
2894
- avatar: buildAvatarColorTheme({
2895
- scheme
2896
- }, tokens),
2897
- badge: buildBadgeColorTheme(tokens?.badge, {
2898
- scheme
2899
- }, config),
2334
+ avatar: buildAvatarColorTheme({ scheme }, tokens),
2335
+ badge: buildBadgeColorTheme(tokens?.badge, { scheme }, config),
2900
2336
  bg: resolveColorTokenValue(context, tokens?.bg),
2901
2337
  border: resolveColorTokenValue(context, tokens?.border),
2902
2338
  code: {
@@ -2924,66 +2360,23 @@ function buildButtonStateColorTheme(options, config) {
2924
2360
  };
2925
2361
  }
2926
2362
  function buildInputColorTheme(options, config) {
2927
- const {
2928
- scheme,
2929
- tone
2930
- } = options;
2363
+ const { scheme, tone } = options;
2931
2364
  return {
2932
- default: buildInputStatesColorTheme({
2933
- mode: "default",
2934
- scheme,
2935
- tone
2936
- }, config),
2937
- invalid: buildInputStatesColorTheme({
2938
- mode: "invalid",
2939
- scheme,
2940
- tone
2941
- }, config)
2365
+ default: buildInputStatesColorTheme({ mode: "default", scheme, tone }, config),
2366
+ invalid: buildInputStatesColorTheme({ mode: "invalid", scheme, tone }, config)
2942
2367
  };
2943
2368
  }
2944
2369
  function buildInputStatesColorTheme(options, config) {
2945
- const {
2946
- mode,
2947
- scheme,
2948
- tone
2949
- } = options;
2370
+ const { mode, scheme, tone } = options;
2950
2371
  return {
2951
- enabled: buildInputStateColorTheme({
2952
- mode,
2953
- scheme,
2954
- state: "enabled",
2955
- tone
2956
- }, config),
2957
- hovered: buildInputStateColorTheme({
2958
- mode,
2959
- scheme,
2960
- state: "hovered",
2961
- tone
2962
- }, config),
2963
- readOnly: buildInputStateColorTheme({
2964
- mode,
2965
- scheme,
2966
- state: "readOnly",
2967
- tone
2968
- }, config),
2969
- disabled: buildInputStateColorTheme({
2970
- mode,
2971
- scheme,
2972
- state: "disabled",
2973
- tone
2974
- }, config)
2372
+ enabled: buildInputStateColorTheme({ mode, scheme, state: "enabled", tone }, config),
2373
+ hovered: buildInputStateColorTheme({ mode, scheme, state: "hovered", tone }, config),
2374
+ readOnly: buildInputStateColorTheme({ mode, scheme, state: "readOnly", tone }, config),
2375
+ disabled: buildInputStateColorTheme({ mode, scheme, state: "disabled", tone }, config)
2975
2376
  };
2976
2377
  }
2977
2378
  function buildInputStateColorTheme(options, config) {
2978
- const {
2979
- mode,
2980
- tone,
2981
- scheme,
2982
- state
2983
- } = options, tokens = config?.color?.input?.[mode]?.[state], hue = tokens?._hue || config?.color?.base?.[tone]?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = {
2984
- hue,
2985
- scheme
2986
- };
2379
+ const { mode, tone, scheme, state } = options, tokens = config?.color?.input?.[mode]?.[state], hue = tokens?._hue || config?.color?.base?.[tone]?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = { hue, scheme };
2987
2380
  return {
2988
2381
  _blend: blendMode[scheme === "light" ? 0 : 1],
2989
2382
  bg: resolveColorTokenValue(context, tokens?.bg),
@@ -2996,49 +2389,26 @@ function buildInputStateColorTheme(options, config) {
2996
2389
  };
2997
2390
  }
2998
2391
  function buildSelectableColorTheme(options, config) {
2999
- const {
3000
- scheme
3001
- } = options, tones2 = {};
2392
+ const { scheme } = options, tones2 = {};
3002
2393
  for (const tone of THEME_COLOR_STATE_TONES)
3003
- tones2[tone] = buildSelectableStatesColorTheme({
3004
- scheme,
3005
- tone
3006
- }, config);
2394
+ tones2[tone] = buildSelectableStatesColorTheme({ scheme, tone }, config);
3007
2395
  return tones2;
3008
2396
  }
3009
2397
  function buildSelectableStatesColorTheme(options, config) {
3010
- const {
3011
- scheme,
3012
- tone
3013
- } = options, states = {};
2398
+ const { scheme, tone } = options, states = {};
3014
2399
  for (const state of THEME_COLOR_STATES)
3015
- states[state] = buildSelectableStateColorTheme({
3016
- tone,
3017
- scheme,
3018
- state
3019
- }, config);
2400
+ states[state] = buildSelectableStateColorTheme({ tone, scheme, state }, config);
3020
2401
  return states;
3021
2402
  }
3022
2403
  function buildSelectableStateColorTheme(options, config) {
3023
- const {
3024
- scheme,
3025
- state,
3026
- tone
3027
- } = options, tokens = config?.color?.selectable?.[tone]?.[state], hue = tokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = {
3028
- hue,
3029
- scheme
3030
- };
2404
+ const { scheme, state, tone } = options, tokens = config?.color?.selectable?.[tone]?.[state], hue = tokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = { hue, scheme };
3031
2405
  return {
3032
2406
  _blend: blendMode[scheme === "light" ? 0 : 1],
3033
2407
  accent: {
3034
2408
  fg: resolveColorTokenValue(context, tokens?.accent?.fg)
3035
2409
  },
3036
- avatar: buildAvatarColorTheme({
3037
- scheme
3038
- }, tokens),
3039
- badge: buildBadgeColorTheme(tokens?.badge, {
3040
- scheme
3041
- }, config),
2410
+ avatar: buildAvatarColorTheme({ scheme }, tokens),
2411
+ badge: buildBadgeColorTheme(tokens?.badge, { scheme }, config),
3042
2412
  bg: resolveColorTokenValue(context, tokens?.bg),
3043
2413
  border: resolveColorTokenValue(context, tokens?.border),
3044
2414
  code: {
@@ -3066,12 +2436,7 @@ function buildSelectableStateColorTheme(options, config) {
3066
2436
  };
3067
2437
  }
3068
2438
  function buildSyntaxColorTheme(options, config) {
3069
- const {
3070
- scheme
3071
- } = options, tokens = config?.color?.syntax, context = {
3072
- hue: "gray",
3073
- scheme
3074
- };
2439
+ const { scheme } = options, tokens = config?.color?.syntax, context = { hue: "gray", scheme };
3075
2440
  return {
3076
2441
  atrule: resolveColorTokenValue(context, tokens?.atrule),
3077
2442
  attrName: resolveColorTokenValue(context, tokens?.attrName),
@@ -3186,19 +2551,11 @@ function rgbToHex(color2) {
3186
2551
  const r = round(clamp(Math.round(color2.r), 0, 255)), g = round(clamp(Math.round(color2.g), 0, 255)), b = round(clamp(Math.round(color2.b), 0, 255));
3187
2552
  return "a" in color2 ? `rgba(${r},${g},${b},${color2.a})` : "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
3188
2553
  }
3189
- function rgbToHsl({
3190
- r,
3191
- g,
3192
- b
3193
- }) {
2554
+ function rgbToHsl({ r, g, b }) {
3194
2555
  r /= 255, g /= 255, b /= 255;
3195
2556
  const cmin = Math.min(r, g, b), cmax = Math.max(r, g, b), delta = cmax - cmin;
3196
2557
  let h = 0, s = 0, l = 0;
3197
- return delta == 0 ? h = 0 : cmax == r ? h = (g - b) / delta % 6 : cmax == g ? h = (b - r) / delta + 2 : h = (r - g) / delta + 4, h = Math.round(h * 60), h < 0 && (h += 360), l = (cmax + cmin) / 2, s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)), s = +(s * 100).toFixed(1), l = +(l * 100).toFixed(1), {
3198
- h,
3199
- s,
3200
- l
3201
- };
2558
+ return delta == 0 ? h = 0 : cmax == r ? h = (g - b) / delta % 6 : cmax == g ? h = (b - r) / delta + 2 : h = (r - g) / delta + 4, h = Math.round(h * 60), h < 0 && (h += 360), l = (cmax + cmin) / 2, s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)), s = +(s * 100).toFixed(1), l = +(l * 100).toFixed(1), { h, s, l };
3202
2559
  }
3203
2560
  function hslToRgb(hsl) {
3204
2561
  const s = hsl.s / 100, l = hsl.l / 100, c = (1 - Math.abs(2 * l - 1)) * s, x = c * (1 - Math.abs(hsl.h / 60 % 2 - 1)), m = l - c / 2;
@@ -3223,18 +2580,10 @@ function parseHsl(str) {
3223
2580
  const res = HSL_RE.exec(str);
3224
2581
  if (!res)
3225
2582
  throw new Error(`parseHsl: string is not a HSL color: "${str}"`);
3226
- return {
3227
- h: parseInt(res[1]),
3228
- s: parseFloat(res[3]),
3229
- l: parseFloat(res[5])
3230
- };
2583
+ return { h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5]) };
3231
2584
  }
3232
2585
  function parseColor(color2) {
3233
- if (!color2) return {
3234
- r: 0,
3235
- g: 0,
3236
- b: 0
3237
- };
2586
+ if (!color2) return { r: 0, g: 0, b: 0 };
3238
2587
  if (typeof color2 != "string")
3239
2588
  throw new Error("parseColor: expected a string");
3240
2589
  if (isHex(color2))
@@ -3249,11 +2598,7 @@ function getContrastRatio(bg, fg) {
3249
2598
  const rgb1 = parseColor(bg), rgb2 = parseColor(fg), c1 = rgb_lrgb(rgb1), c2 = rgb_lrgb(rgb2), l1 = lrgb_luminance(c1), l2 = lrgb_luminance(c2);
3250
2599
  return (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05);
3251
2600
  }
3252
- function rgb_lrgb({
3253
- r,
3254
- g,
3255
- b
3256
- }) {
2601
+ function rgb_lrgb({ r, g, b }) {
3257
2602
  return [rgb_lrgb1(r / 255), rgb_lrgb1(g / 255), rgb_lrgb1(b / 255)];
3258
2603
  }
3259
2604
  function rgb_lrgb1(v) {
@@ -3268,9 +2613,7 @@ function rgba(color2, a) {
3268
2613
  }
3269
2614
  const RGB_RANGE = [0, 255];
3270
2615
  function mixThemeColor(value, options) {
3271
- const {
3272
- blendMode
3273
- } = options, color2 = parseColor(value), black2 = parseColor(options.black), white2 = parseColor(options.white), bg = options.bg ? parseColor(options.bg) : blendMode === "multiply" ? white2 : black2, paletteRange = {
2616
+ const { blendMode } = options, color2 = parseColor(value), black2 = parseColor(options.black), white2 = parseColor(options.white), bg = options.bg ? parseColor(options.bg) : blendMode === "multiply" ? white2 : black2, paletteRange = {
3274
2617
  r: [black2.r, white2.r],
3275
2618
  g: [black2.g, white2.g],
3276
2619
  b: [black2.b, white2.b]
@@ -3290,11 +2633,7 @@ function mixThemeColor(value, options) {
3290
2633
  return rgbToHex(v);
3291
2634
  }
3292
2635
  function renderColorValue(str, options) {
3293
- const {
3294
- bg,
3295
- blendMode,
3296
- colorPalette
3297
- } = options;
2636
+ const { bg, blendMode, colorPalette } = options;
3298
2637
  if (bg === "white")
3299
2638
  throw new Error("Cannot blend with white background");
3300
2639
  const node = parseTokenValue(str);
@@ -3331,31 +2670,17 @@ function renderThemeColorSchemes(value, config) {
3331
2670
  };
3332
2671
  }
3333
2672
  function renderThemeColorScheme(colorPalette, value) {
3334
- const toneEntries = Object.entries(value), [, transparentTone] = toneEntries.find(([k]) => k === "transparent"), [, defaultTone] = toneEntries.find(([k]) => k === "default"), renderedTransparentTone = renderThemeColor(transparentTone, {
3335
- colorPalette
3336
- }), renderedDefaultTone = renderThemeColor(defaultTone, {
3337
- colorPalette
3338
- }), bg = renderedDefaultTone.bg;
2673
+ const toneEntries = Object.entries(value), [, transparentTone] = toneEntries.find(([k]) => k === "transparent"), [, defaultTone] = toneEntries.find(([k]) => k === "default"), renderedTransparentTone = renderThemeColor(transparentTone, { colorPalette }), renderedDefaultTone = renderThemeColor(defaultTone, { colorPalette }), bg = renderedDefaultTone.bg;
3339
2674
  if (bg === "white")
3340
2675
  throw new Error("Cannot blend with white background");
3341
- return Object.fromEntries([["transparent", renderedTransparentTone], ["default", renderedDefaultTone], ...toneEntries.filter(([k]) => k !== "default" && k !== "transparent").map(([k, v]) => [k, renderThemeColor(v, {
3342
- bg,
3343
- colorPalette
3344
- })])]);
2676
+ return Object.fromEntries([
2677
+ ["transparent", renderedTransparentTone],
2678
+ ["default", renderedDefaultTone],
2679
+ ...toneEntries.filter(([k]) => k !== "default" && k !== "transparent").map(([k, v]) => [k, renderThemeColor(v, { bg, colorPalette })])
2680
+ ]);
3345
2681
  }
3346
2682
  function renderThemeColor(value, options) {
3347
- const {
3348
- colorPalette,
3349
- bg
3350
- } = options, blendMode = value._blend || "multiply", baseBg = renderColorValue(value.bg, {
3351
- colorPalette,
3352
- bg,
3353
- blendMode
3354
- }), colorOptions = {
3355
- colorPalette,
3356
- bg: baseBg,
3357
- blendMode
3358
- }, button = renderThemeColorButton(value.button, {
2683
+ const { colorPalette, bg } = options, blendMode = value._blend || "multiply", baseBg = renderColorValue(value.bg, { colorPalette, bg, blendMode }), colorOptions = { colorPalette, bg: baseBg, blendMode }, button = renderThemeColorButton(value.button, {
3359
2684
  baseBg,
3360
2685
  blendMode,
3361
2686
  colorPalette
@@ -3368,26 +2693,17 @@ function renderThemeColor(value, options) {
3368
2693
  umbra: renderColorValue(value.shadow.umbra, {
3369
2694
  ...colorOptions,
3370
2695
  bg: void 0,
3371
- colorPalette: {
3372
- ...colorPalette,
3373
- black: "#000000"
3374
- }
2696
+ colorPalette: { ...colorPalette, black: "#000000" }
3375
2697
  }),
3376
2698
  penumbra: renderColorValue(value.shadow.penumbra, {
3377
2699
  ...colorOptions,
3378
2700
  bg: void 0,
3379
- colorPalette: {
3380
- ...colorPalette,
3381
- black: "#000000"
3382
- }
2701
+ colorPalette: { ...colorPalette, black: "#000000" }
3383
2702
  }),
3384
2703
  ambient: renderColorValue(value.shadow.ambient, {
3385
2704
  ...colorOptions,
3386
2705
  bg: void 0,
3387
- colorPalette: {
3388
- ...colorPalette,
3389
- black: "#000000"
3390
- }
2706
+ colorPalette: { ...colorPalette, black: "#000000" }
3391
2707
  })
3392
2708
  };
3393
2709
  return {
@@ -3396,17 +2712,9 @@ function renderThemeColor(value, options) {
3396
2712
  accent: {
3397
2713
  fg: renderColorValue(value.accent.fg, colorOptions)
3398
2714
  },
3399
- avatar: renderThemeColorAvatar(value.avatar, {
3400
- baseBg,
3401
- colorPalette,
3402
- blendMode
3403
- }),
2715
+ avatar: renderThemeColorAvatar(value.avatar, { baseBg, colorPalette, blendMode }),
3404
2716
  backdrop: renderColorValue(value.backdrop, colorOptions),
3405
- badge: renderThemeColorBadge(value.badge, {
3406
- baseBg,
3407
- colorPalette,
3408
- blendMode
3409
- }),
2717
+ badge: renderThemeColorBadge(value.badge, { baseBg, colorPalette, blendMode }),
3410
2718
  bg: baseBg,
3411
2719
  border: renderColorValue(value.border, colorOptions),
3412
2720
  button,
@@ -3417,16 +2725,8 @@ function renderThemeColor(value, options) {
3417
2725
  fg: renderColorValue(value.fg, colorOptions),
3418
2726
  focusRing: renderColorValue(value.focusRing, colorOptions),
3419
2727
  icon: renderColorValue(value.icon, colorOptions),
3420
- input: renderThemeColorInput(value.input, {
3421
- baseBg,
3422
- colorPalette,
3423
- blendMode
3424
- }),
3425
- kbd: renderThemeColorKBD(value.kbd, {
3426
- baseBg,
3427
- colorPalette,
3428
- blendMode
3429
- }),
2728
+ input: renderThemeColorInput(value.input, { baseBg, colorPalette, blendMode }),
2729
+ kbd: renderThemeColorKBD(value.kbd, { baseBg, colorPalette, blendMode }),
3430
2730
  link: {
3431
2731
  fg: renderColorValue(value.link.fg, colorOptions)
3432
2732
  },
@@ -3439,20 +2739,12 @@ function renderThemeColor(value, options) {
3439
2739
  from: renderColorValue(value.skeleton.from, colorOptions),
3440
2740
  to: renderColorValue(value.skeleton.to, colorOptions)
3441
2741
  },
3442
- syntax: renderSyntaxColorTheme(value.syntax, {
3443
- baseBg,
3444
- colorPalette,
3445
- blendMode
3446
- }),
2742
+ syntax: renderSyntaxColorTheme(value.syntax, { baseBg, colorPalette, blendMode }),
3447
2743
  selectable
3448
2744
  };
3449
2745
  }
3450
2746
  function renderThemeColorKBD(value, options) {
3451
- const {
3452
- baseBg,
3453
- blendMode,
3454
- colorPalette
3455
- } = options, rootOptions = {
2747
+ const { baseBg, blendMode, colorPalette } = options, rootOptions = {
3456
2748
  bg: baseBg,
3457
2749
  blendMode,
3458
2750
  colorPalette
@@ -3481,11 +2773,7 @@ function renderThemeColorAvatar(value, options) {
3481
2773
  };
3482
2774
  }
3483
2775
  function renderThemeColorAvatarColor(value, options) {
3484
- const {
3485
- baseBg,
3486
- blendMode: rootBlendMode,
3487
- colorPalette
3488
- } = options, blendMode = value._blend || "multiply", rootOptions = {
2776
+ const { baseBg, blendMode: rootBlendMode, colorPalette } = options, blendMode = value._blend || "multiply", rootOptions = {
3489
2777
  bg: baseBg,
3490
2778
  blendMode: rootBlendMode,
3491
2779
  colorPalette
@@ -3510,11 +2798,7 @@ function renderThemeColorBadge(value, options) {
3510
2798
  };
3511
2799
  }
3512
2800
  function renderThemeColorBadgeColor(value, options) {
3513
- const {
3514
- baseBg,
3515
- blendMode: rootBlendMode,
3516
- colorPalette
3517
- } = options, blendMode = rootBlendMode, rootOptions = {
2801
+ const { baseBg, blendMode: rootBlendMode, colorPalette } = options, blendMode = rootBlendMode, rootOptions = {
3518
2802
  bg: baseBg,
3519
2803
  blendMode: rootBlendMode,
3520
2804
  colorPalette
@@ -3556,11 +2840,7 @@ function renderThemeColorButtonStates(value, options) {
3556
2840
  };
3557
2841
  }
3558
2842
  function renderThemeColorState(value, options) {
3559
- const {
3560
- baseBg,
3561
- blendMode: rootBlendMode,
3562
- colorPalette
3563
- } = options, blendMode = value._blend || "multiply", rootOptions = {
2843
+ const { baseBg, blendMode: rootBlendMode, colorPalette } = options, blendMode = value._blend || "multiply", rootOptions = {
3564
2844
  bg: baseBg,
3565
2845
  blendMode: rootBlendMode,
3566
2846
  colorPalette
@@ -3574,16 +2854,8 @@ function renderThemeColorState(value, options) {
3574
2854
  accent: {
3575
2855
  fg: renderColorValue(value.accent.fg, colorOptions)
3576
2856
  },
3577
- avatar: renderThemeColorAvatar(value.avatar, {
3578
- baseBg: bg,
3579
- colorPalette,
3580
- blendMode
3581
- }),
3582
- badge: renderThemeColorBadge(value.badge, {
3583
- baseBg: bg,
3584
- colorPalette,
3585
- blendMode
3586
- }),
2857
+ avatar: renderThemeColorAvatar(value.avatar, { baseBg: bg, colorPalette, blendMode }),
2858
+ badge: renderThemeColorBadge(value.badge, { baseBg: bg, colorPalette, blendMode }),
3587
2859
  bg,
3588
2860
  border: renderColorValue(value.border, colorOptions),
3589
2861
  code: {
@@ -3625,19 +2897,7 @@ function renderInputStatesColorTheme(value, options) {
3625
2897
  };
3626
2898
  }
3627
2899
  function renderInputStateColorTheme(value, options) {
3628
- const {
3629
- baseBg,
3630
- blendMode: rootBlendMode,
3631
- colorPalette
3632
- } = options, blendMode = value._blend || "multiply", rootOptions = {
3633
- colorPalette,
3634
- bg: baseBg,
3635
- blendMode: rootBlendMode
3636
- }, bg = renderColorValue(value.bg, rootOptions), colorOptions = {
3637
- colorPalette,
3638
- bg,
3639
- blendMode
3640
- };
2900
+ const { baseBg, blendMode: rootBlendMode, colorPalette } = options, blendMode = value._blend || "multiply", rootOptions = { colorPalette, bg: baseBg, blendMode: rootBlendMode }, bg = renderColorValue(value.bg, rootOptions), colorOptions = { colorPalette, bg, blendMode };
3641
2901
  return {
3642
2902
  _blend: blendMode,
3643
2903
  bg,
@@ -3668,15 +2928,7 @@ function renderThemeColorSelectableStates(value, options) {
3668
2928
  };
3669
2929
  }
3670
2930
  function renderSyntaxColorTheme(value, options) {
3671
- const {
3672
- colorPalette,
3673
- baseBg,
3674
- blendMode
3675
- } = options, colorOptions = {
3676
- colorPalette,
3677
- bg: baseBg,
3678
- blendMode
3679
- };
2931
+ const { colorPalette, baseBg, blendMode } = options, colorOptions = { colorPalette, bg: baseBg, blendMode };
3680
2932
  return {
3681
2933
  atrule: renderColorValue(value.atrule, colorOptions),
3682
2934
  attrName: renderColorValue(value.attrName, colorOptions),