@putdotio/design 1.4.0 → 1.5.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.
package/dist/tokens.js CHANGED
@@ -249,35 +249,106 @@ export const tokens = {
249
249
  "type": "color",
250
250
  "mode": "light",
251
251
  "value": "hsl(0, 0%, 100%)",
252
- "originalValue": "{surface.light.appBg}"
252
+ "originalValue": "{component.field.background}"
253
253
  },
254
254
  "component.input.backgroundDark": {
255
255
  "cssName": "--input-bg",
256
256
  "type": "color",
257
257
  "mode": "dark",
258
258
  "value": "hsl(0, 0%, 8.5%)",
259
- "originalValue": "{surface.dark.appBg}"
259
+ "originalValue": "{component.field.backgroundDark}"
260
260
  },
261
261
  "component.input.border": {
262
262
  "cssName": "--input-border",
263
263
  "type": "color",
264
264
  "mode": "light",
265
265
  "value": "hsl(0, 0%, 85.8%)",
266
- "originalValue": "{color.neutral.light.border}"
266
+ "originalValue": "{component.field.border}"
267
267
  },
268
268
  "component.input.borderDark": {
269
269
  "cssName": "--input-border",
270
270
  "type": "color",
271
271
  "mode": "dark",
272
272
  "value": "hsl(0, 0%, 24.3%)",
273
- "originalValue": "{color.neutral.dark.border}"
273
+ "originalValue": "{component.field.borderDark}"
274
274
  },
275
275
  "component.input.radius": {
276
276
  "cssName": "--input-radius",
277
277
  "type": "dimension",
278
278
  "mode": "global",
279
279
  "value": "6px",
280
- "originalValue": "{radius.default}"
280
+ "originalValue": "{component.field.radius}"
281
+ },
282
+ "component.input.borderHover": {
283
+ "cssName": "--input-border-hover",
284
+ "type": "color",
285
+ "mode": "light",
286
+ "value": "hsl(0, 0%, 78.0%)",
287
+ "originalValue": "{component.field.borderHover}",
288
+ "description": "shadcn-friendly alias of --field-border-hover. Always aliases the field token so the two name systems cannot drift."
289
+ },
290
+ "component.input.borderHoverDark": {
291
+ "cssName": "--input-border-hover",
292
+ "type": "color",
293
+ "mode": "dark",
294
+ "value": "hsl(0, 0%, 31.2%)",
295
+ "originalValue": "{component.field.borderHoverDark}"
296
+ },
297
+ "component.input.borderFocus": {
298
+ "cssName": "--input-border-focus",
299
+ "type": "color",
300
+ "mode": "light",
301
+ "value": "hsl(0, 0%, 78.0%)",
302
+ "originalValue": "{component.field.borderFocus}"
303
+ },
304
+ "component.input.borderFocusDark": {
305
+ "cssName": "--input-border-focus",
306
+ "type": "color",
307
+ "mode": "dark",
308
+ "value": "hsl(0, 0%, 31.2%)",
309
+ "originalValue": "{component.field.borderFocusDark}"
310
+ },
311
+ "component.input.ring": {
312
+ "cssName": "--input-ring",
313
+ "type": "string",
314
+ "mode": "light",
315
+ "value": "0 0 0 1px hsl(0, 0%, 78.0%)",
316
+ "originalValue": "{component.field.ring}"
317
+ },
318
+ "component.input.ringDark": {
319
+ "cssName": "--input-ring",
320
+ "type": "string",
321
+ "mode": "dark",
322
+ "value": "0 0 0 1px hsl(0, 0%, 31.2%)",
323
+ "originalValue": "{component.field.ringDark}"
324
+ },
325
+ "component.input.text": {
326
+ "cssName": "--input-text",
327
+ "type": "color",
328
+ "mode": "light",
329
+ "value": "hsl(0, 0%, 9.0%)",
330
+ "originalValue": "{component.field.text}"
331
+ },
332
+ "component.input.textDark": {
333
+ "cssName": "--input-text",
334
+ "type": "color",
335
+ "mode": "dark",
336
+ "value": "hsl(0, 0%, 93.0%)",
337
+ "originalValue": "{component.field.textDark}"
338
+ },
339
+ "component.input.placeholder": {
340
+ "cssName": "--input-placeholder",
341
+ "type": "color",
342
+ "mode": "light",
343
+ "value": "hsl(0, 0%, 43.5%)",
344
+ "originalValue": "{component.field.placeholder}"
345
+ },
346
+ "component.input.placeholderDark": {
347
+ "cssName": "--input-placeholder",
348
+ "type": "color",
349
+ "mode": "dark",
350
+ "value": "hsl(0, 0%, 62.8%)",
351
+ "originalValue": "{component.field.placeholderDark}"
281
352
  },
282
353
  "component.field.background": {
283
354
  "cssName": "--field-bg",
@@ -391,6 +462,14 @@ export const tokens = {
391
462
  "originalValue": "{color.neutral.dark.textSecondary}",
392
463
  "description": "Dark-mode form-control placeholder color."
393
464
  },
465
+ "component.field.radius": {
466
+ "cssName": "--field-radius",
467
+ "type": "dimension",
468
+ "mode": "global",
469
+ "value": "6px",
470
+ "originalValue": "{radius.default}",
471
+ "description": "Shared form-control radius."
472
+ },
394
473
  "component.field.ring": {
395
474
  "cssName": "--field-ring",
396
475
  "type": "string",
@@ -752,12 +831,42 @@ export const tokens = {
752
831
  "value": "hsl(0, 0%, 11.0%)",
753
832
  "originalValue": "{surface.dark.listItemBgHover}"
754
833
  },
834
+ "component.fileRow.activeBackground": {
835
+ "cssName": "--file-row-bg-active",
836
+ "type": "color",
837
+ "mode": "light",
838
+ "value": "hsl(0, 0%, 97.3%)",
839
+ "originalValue": "{surface.light.listItemBgActive}"
840
+ },
841
+ "component.fileRow.activeBackgroundDark": {
842
+ "cssName": "--file-row-bg-active",
843
+ "type": "color",
844
+ "mode": "dark",
845
+ "value": "hsl(0, 0%, 11.0%)",
846
+ "originalValue": "{surface.dark.listItemBgActive}"
847
+ },
848
+ "component.fileRow.border": {
849
+ "cssName": "--file-row-border",
850
+ "type": "color",
851
+ "mode": "light",
852
+ "value": "hsl(0, 0%, 90.9%)",
853
+ "originalValue": "{surface.light.listItemBorder}",
854
+ "description": "Row divider. File lists divide with a hairline, never zebra stripes or per-row cards."
855
+ },
856
+ "component.fileRow.borderDark": {
857
+ "cssName": "--file-row-border",
858
+ "type": "color",
859
+ "mode": "dark",
860
+ "value": "hsl(0, 0%, 17.9%)",
861
+ "originalValue": "{surface.dark.listItemBorder}"
862
+ },
755
863
  "component.fileRow.icon": {
756
864
  "cssName": "--file-row-icon",
757
865
  "type": "color",
758
866
  "mode": "global",
759
867
  "value": "hsl(44.7, 97.9%, 63.1%)",
760
- "originalValue": "{color.brand.yellow}"
868
+ "originalValue": "{color.brand.yellow}",
869
+ "description": "Every file kind takes this, not just the folder — folder, video, audio, image, archive, generic file alike. Utility and chrome icons stay neutral."
761
870
  },
762
871
  "component.notification.infoBackground": {
763
872
  "cssName": "--notification-info-bg",
@@ -787,103 +896,511 @@ export const tokens = {
787
896
  "value": "hsl(0, 55%, 15%)",
788
897
  "originalValue": "{color.red.dark.componentBg}"
789
898
  },
790
- "context.tv.surface.0": {
791
- "cssName": "--surf-0",
899
+ "component.notification.background": {
900
+ "cssName": "--notification-bg",
792
901
  "type": "color",
793
- "mode": "tv",
794
- "value": "hsl(0, 0%, 0%)",
795
- "originalValue": "hsl(0, 0%, 0%)"
902
+ "mode": "light",
903
+ "value": "hsl(0, 0%, 95.1%)",
904
+ "originalValue": "{color.neutral.light.componentBg}",
905
+ "description": "Default toast / inline notification surface."
796
906
  },
797
- "context.tv.surface.1": {
798
- "cssName": "--surf-1",
907
+ "component.notification.backgroundDark": {
908
+ "cssName": "--notification-bg",
799
909
  "type": "color",
800
- "mode": "tv",
801
- "value": "hsl(0, 0%, 3.9%)",
802
- "originalValue": "hsl(0, 0%, 3.9%)"
910
+ "mode": "dark",
911
+ "value": "hsl(0, 0%, 13.6%)",
912
+ "originalValue": "{color.neutral.dark.componentBg}"
803
913
  },
804
- "context.tv.surface.2": {
805
- "cssName": "--surf-2",
914
+ "component.notification.border": {
915
+ "cssName": "--notification-border",
806
916
  "type": "color",
807
- "mode": "tv",
808
- "value": "hsl(0, 0%, 8.6%)",
809
- "originalValue": "hsl(0, 0%, 8.6%)"
917
+ "mode": "light",
918
+ "value": "hsl(0, 0%, 88.7%)",
919
+ "originalValue": "{color.neutral.light.line}"
810
920
  },
811
- "context.tv.surface.3": {
812
- "cssName": "--surf-3",
921
+ "component.notification.borderDark": {
922
+ "cssName": "--notification-border",
813
923
  "type": "color",
814
- "mode": "tv",
815
- "value": "hsl(0, 0%, 12.2%)",
816
- "originalValue": "hsl(0, 0%, 12.2%)"
924
+ "mode": "dark",
925
+ "value": "hsl(0, 0%, 20.5%)",
926
+ "originalValue": "{color.neutral.dark.line}"
817
927
  },
818
- "context.tv.text.primary": {
819
- "cssName": "--text-1",
928
+ "component.notification.foreground": {
929
+ "cssName": "--notification-fg",
820
930
  "type": "color",
821
- "mode": "tv",
822
- "value": "hsl(0, 0%, 95.7%)",
823
- "originalValue": "hsl(0, 0%, 95.7%)"
931
+ "mode": "light",
932
+ "value": "hsl(0, 0%, 9.0%)",
933
+ "originalValue": "{color.neutral.light.text}"
824
934
  },
825
- "context.tv.text.secondary": {
826
- "cssName": "--text-2",
935
+ "component.notification.foregroundDark": {
936
+ "cssName": "--notification-fg",
827
937
  "type": "color",
828
- "mode": "tv",
829
- "value": "hsla(0, 0%, 95.7%, 0.62)",
830
- "originalValue": "hsla(0, 0%, 95.7%, 0.62)"
938
+ "mode": "dark",
939
+ "value": "hsl(0, 0%, 93.0%)",
940
+ "originalValue": "{color.neutral.dark.text}"
831
941
  },
832
- "context.tv.text.tertiary": {
833
- "cssName": "--text-3",
942
+ "component.notification.icon": {
943
+ "cssName": "--notification-icon",
834
944
  "type": "color",
835
- "mode": "tv",
836
- "value": "hsla(0, 0%, 95.7%, 0.38)",
837
- "originalValue": "hsla(0, 0%, 95.7%, 0.38)"
945
+ "mode": "light",
946
+ "value": "hsl(0, 0%, 43.5%)",
947
+ "originalValue": "{color.neutral.light.textSecondary}"
838
948
  },
839
- "context.tv.glass.1": {
840
- "cssName": "--glass-1-bg",
949
+ "component.notification.iconDark": {
950
+ "cssName": "--notification-icon",
841
951
  "type": "color",
842
- "mode": "tv",
843
- "value": "hsla(0, 0%, 100%, 0.06)",
844
- "originalValue": "hsla(0, 0%, 100%, 0.06)"
952
+ "mode": "dark",
953
+ "value": "hsl(0, 0%, 62.8%)",
954
+ "originalValue": "{color.neutral.dark.textSecondary}"
845
955
  },
846
- "context.tv.glass.2": {
847
- "cssName": "--glass-2-bg",
956
+ "component.notification.successBackground": {
957
+ "cssName": "--notification-success-bg",
848
958
  "type": "color",
849
- "mode": "tv",
850
- "value": "hsla(0, 0%, 100%, 0.10)",
851
- "originalValue": "hsla(0, 0%, 100%, 0.10)"
959
+ "mode": "light",
960
+ "value": "hsl(140, 41%, 97%)",
961
+ "originalValue": "{color.green.light.bgSecondary}"
852
962
  },
853
- "context.tv.glass.3": {
854
- "cssName": "--glass-3-bg",
963
+ "component.notification.successBackgroundDark": {
964
+ "cssName": "--notification-success-bg",
855
965
  "type": "color",
856
- "mode": "tv",
857
- "value": "hsla(0, 0%, 100%, 0.14)",
858
- "originalValue": "hsla(0, 0%, 100%, 0.14)"
966
+ "mode": "dark",
967
+ "value": "hsl(149, 21%, 9%)",
968
+ "originalValue": "{color.green.dark.bgSecondary}"
859
969
  },
860
- "context.tv.glass.border": {
861
- "cssName": "--glass-border",
970
+ "component.notification.successBorder": {
971
+ "cssName": "--notification-success-border",
862
972
  "type": "color",
863
- "mode": "tv",
864
- "value": "hsla(0, 0%, 100%, 0.12)",
865
- "originalValue": "hsla(0, 0%, 100%, 0.12)"
973
+ "mode": "light",
974
+ "value": "hsl(140, 39%, 68%)",
975
+ "originalValue": "{color.green.light.border}"
976
+ },
977
+ "component.notification.successBorderDark": {
978
+ "cssName": "--notification-success-border",
979
+ "type": "color",
980
+ "mode": "dark",
981
+ "value": "hsl(146, 41%, 29%)",
982
+ "originalValue": "{color.green.dark.border}"
983
+ },
984
+ "component.notification.successForeground": {
985
+ "cssName": "--notification-success-fg",
986
+ "type": "color",
987
+ "mode": "light",
988
+ "value": "hsl(146, 35%, 17%)",
989
+ "originalValue": "{color.green.light.text}"
990
+ },
991
+ "component.notification.successForegroundDark": {
992
+ "cssName": "--notification-success-fg",
993
+ "type": "color",
994
+ "mode": "dark",
995
+ "value": "hsl(142, 71%, 82%)",
996
+ "originalValue": "{color.green.dark.text}"
997
+ },
998
+ "component.notification.dangerBorder": {
999
+ "cssName": "--notification-danger-border",
1000
+ "type": "color",
1001
+ "mode": "light",
1002
+ "value": "hsl(2, 81%, 80%)",
1003
+ "originalValue": "{color.red.light.border}"
1004
+ },
1005
+ "component.notification.dangerBorderDark": {
1006
+ "cssName": "--notification-danger-border",
1007
+ "type": "color",
1008
+ "mode": "dark",
1009
+ "value": "hsl(0, 46%, 38%)",
1010
+ "originalValue": "{color.red.dark.border}"
1011
+ },
1012
+ "component.notification.dangerForeground": {
1013
+ "cssName": "--notification-danger-fg",
1014
+ "type": "color",
1015
+ "mode": "light",
1016
+ "value": "hsl(358, 62%, 24%)",
1017
+ "originalValue": "{color.red.light.text}"
1018
+ },
1019
+ "component.notification.dangerForegroundDark": {
1020
+ "cssName": "--notification-danger-fg",
1021
+ "type": "color",
1022
+ "mode": "dark",
1023
+ "value": "hsl(5, 100%, 91%)",
1024
+ "originalValue": "{color.red.dark.text}"
1025
+ },
1026
+ "component.menu.background": {
1027
+ "cssName": "--menu-bg",
1028
+ "type": "color",
1029
+ "mode": "light",
1030
+ "value": "hsl(0, 0%, 95.1%)",
1031
+ "originalValue": "{color.neutral.light.componentBg}",
1032
+ "description": "Floating menu surface."
1033
+ },
1034
+ "component.menu.backgroundDark": {
1035
+ "cssName": "--menu-bg",
1036
+ "type": "color",
1037
+ "mode": "dark",
1038
+ "value": "hsl(0, 0%, 13.6%)",
1039
+ "originalValue": "{color.neutral.dark.componentBg}"
1040
+ },
1041
+ "component.menu.border": {
1042
+ "cssName": "--menu-border",
1043
+ "type": "color",
1044
+ "mode": "light",
1045
+ "value": "hsl(0, 0%, 88.7%)",
1046
+ "originalValue": "{color.neutral.light.line}"
1047
+ },
1048
+ "component.menu.borderDark": {
1049
+ "cssName": "--menu-border",
1050
+ "type": "color",
1051
+ "mode": "dark",
1052
+ "value": "hsl(0, 0%, 20.5%)",
1053
+ "originalValue": "{color.neutral.dark.line}"
1054
+ },
1055
+ "component.menu.radius": {
1056
+ "cssName": "--menu-radius",
1057
+ "type": "dimension",
1058
+ "mode": "global",
1059
+ "value": "8px",
1060
+ "originalValue": "{radius.md}"
1061
+ },
1062
+ "component.menu.shadow": {
1063
+ "cssName": "--menu-shadow",
1064
+ "type": "string",
1065
+ "mode": "light",
1066
+ "value": "0 16px 40px hsla(0, 0%, 0%, 0.12)",
1067
+ "originalValue": "{elevation.lg}"
1068
+ },
1069
+ "component.menu.shadowDark": {
1070
+ "cssName": "--menu-shadow",
1071
+ "type": "string",
1072
+ "mode": "dark",
1073
+ "value": "0 16px 40px hsla(0, 0%, 0%, 0.6)",
1074
+ "originalValue": "{surface.dark.shadowLg}"
1075
+ },
1076
+ "component.menu.itemBackgroundHover": {
1077
+ "cssName": "--menu-item-bg-hover",
1078
+ "type": "color",
1079
+ "mode": "light",
1080
+ "value": "hsl(0, 0%, 93.0%)",
1081
+ "originalValue": "{color.neutral.light.componentBgHover}"
1082
+ },
1083
+ "component.menu.itemBackgroundHoverDark": {
1084
+ "cssName": "--menu-item-bg-hover",
1085
+ "type": "color",
1086
+ "mode": "dark",
1087
+ "value": "hsl(0, 0%, 15.8%)",
1088
+ "originalValue": "{color.neutral.dark.componentBgHover}"
1089
+ },
1090
+ "component.menu.itemText": {
1091
+ "cssName": "--menu-item-text",
1092
+ "type": "color",
1093
+ "mode": "light",
1094
+ "value": "hsl(0, 0%, 9.0%)",
1095
+ "originalValue": "{color.neutral.light.text}"
1096
+ },
1097
+ "component.menu.itemTextDark": {
1098
+ "cssName": "--menu-item-text",
1099
+ "type": "color",
1100
+ "mode": "dark",
1101
+ "value": "hsl(0, 0%, 93.0%)",
1102
+ "originalValue": "{color.neutral.dark.text}"
1103
+ },
1104
+ "component.menu.itemIcon": {
1105
+ "cssName": "--menu-item-icon",
1106
+ "type": "color",
1107
+ "mode": "light",
1108
+ "value": "hsl(0, 0%, 43.5%)",
1109
+ "originalValue": "{color.neutral.light.textSecondary}"
1110
+ },
1111
+ "component.menu.itemIconDark": {
1112
+ "cssName": "--menu-item-icon",
1113
+ "type": "color",
1114
+ "mode": "dark",
1115
+ "value": "hsl(0, 0%, 62.8%)",
1116
+ "originalValue": "{color.neutral.dark.textSecondary}"
1117
+ },
1118
+ "component.menu.itemShortcut": {
1119
+ "cssName": "--menu-item-shortcut",
1120
+ "type": "color",
1121
+ "mode": "light",
1122
+ "value": "hsl(0, 0%, 43.5%)",
1123
+ "originalValue": "{color.neutral.light.textSecondary}"
1124
+ },
1125
+ "component.menu.itemShortcutDark": {
1126
+ "cssName": "--menu-item-shortcut",
1127
+ "type": "color",
1128
+ "mode": "dark",
1129
+ "value": "hsl(0, 0%, 62.8%)",
1130
+ "originalValue": "{color.neutral.dark.textSecondary}"
1131
+ },
1132
+ "component.menu.itemDangerText": {
1133
+ "cssName": "--menu-item-danger-text",
1134
+ "type": "color",
1135
+ "mode": "light",
1136
+ "value": "hsl(355, 64%, 49%)",
1137
+ "originalValue": "{color.red.light.textSecondary}"
1138
+ },
1139
+ "component.menu.itemDangerTextDark": {
1140
+ "cssName": "--menu-item-danger-text",
1141
+ "type": "color",
1142
+ "mode": "dark",
1143
+ "value": "hsl(2, 100%, 77%)",
1144
+ "originalValue": "{color.red.dark.textSecondary}"
1145
+ },
1146
+ "component.menu.itemDangerBackgroundHover": {
1147
+ "cssName": "--menu-item-danger-bg-hover",
1148
+ "type": "color",
1149
+ "mode": "light",
1150
+ "value": "hsl(2, 100%, 96%)",
1151
+ "originalValue": "{color.red.light.componentBg}"
1152
+ },
1153
+ "component.menu.itemDangerBackgroundHoverDark": {
1154
+ "cssName": "--menu-item-danger-bg-hover",
1155
+ "type": "color",
1156
+ "mode": "dark",
1157
+ "value": "hsl(0, 55%, 15%)",
1158
+ "originalValue": "{color.red.dark.componentBg}"
1159
+ },
1160
+ "component.menu.itemHeight": {
1161
+ "cssName": "--menu-item-height",
1162
+ "type": "dimension",
1163
+ "mode": "global",
1164
+ "value": "32px",
1165
+ "originalValue": "32px"
1166
+ },
1167
+ "component.menu.separator": {
1168
+ "cssName": "--menu-separator",
1169
+ "type": "color",
1170
+ "mode": "light",
1171
+ "value": "hsl(0, 0%, 88.7%)",
1172
+ "originalValue": "{color.neutral.light.line}"
1173
+ },
1174
+ "component.menu.separatorDark": {
1175
+ "cssName": "--menu-separator",
1176
+ "type": "color",
1177
+ "mode": "dark",
1178
+ "value": "hsl(0, 0%, 20.5%)",
1179
+ "originalValue": "{color.neutral.dark.line}"
1180
+ },
1181
+ "component.menu.label": {
1182
+ "cssName": "--menu-label",
1183
+ "type": "color",
1184
+ "mode": "light",
1185
+ "value": "hsl(0, 0%, 43.5%)",
1186
+ "originalValue": "{color.neutral.light.textSecondary}"
1187
+ },
1188
+ "component.menu.labelDark": {
1189
+ "cssName": "--menu-label",
1190
+ "type": "color",
1191
+ "mode": "dark",
1192
+ "value": "hsl(0, 0%, 62.8%)",
1193
+ "originalValue": "{color.neutral.dark.textSecondary}"
1194
+ },
1195
+ "component.palette.background": {
1196
+ "cssName": "--palette-bg",
1197
+ "type": "color",
1198
+ "mode": "light",
1199
+ "value": "hsl(0, 0%, 95.1%)",
1200
+ "originalValue": "{color.neutral.light.componentBg}",
1201
+ "description": "Command palette surface."
1202
+ },
1203
+ "component.palette.backgroundDark": {
1204
+ "cssName": "--palette-bg",
1205
+ "type": "color",
1206
+ "mode": "dark",
1207
+ "value": "hsl(0, 0%, 13.6%)",
1208
+ "originalValue": "{color.neutral.dark.componentBg}"
1209
+ },
1210
+ "component.palette.border": {
1211
+ "cssName": "--palette-border",
1212
+ "type": "color",
1213
+ "mode": "light",
1214
+ "value": "hsl(0, 0%, 88.7%)",
1215
+ "originalValue": "{color.neutral.light.line}"
866
1216
  },
867
- "context.tv.glass.borderStrong": {
868
- "cssName": "--glass-border-strong",
1217
+ "component.palette.borderDark": {
1218
+ "cssName": "--palette-border",
1219
+ "type": "color",
1220
+ "mode": "dark",
1221
+ "value": "hsl(0, 0%, 20.5%)",
1222
+ "originalValue": "{color.neutral.dark.line}"
1223
+ },
1224
+ "component.palette.shadow": {
1225
+ "cssName": "--palette-shadow",
1226
+ "type": "string",
1227
+ "mode": "light",
1228
+ "value": "0 16px 40px hsla(0, 0%, 0%, 0.12)",
1229
+ "originalValue": "{elevation.lg}"
1230
+ },
1231
+ "component.palette.shadowDark": {
1232
+ "cssName": "--palette-shadow",
1233
+ "type": "string",
1234
+ "mode": "dark",
1235
+ "value": "0 16px 40px hsla(0, 0%, 0%, 0.6)",
1236
+ "originalValue": "{surface.dark.shadowLg}"
1237
+ },
1238
+ "component.palette.scrim": {
1239
+ "cssName": "--palette-scrim",
1240
+ "type": "color",
1241
+ "mode": "light",
1242
+ "value": "hsla(0, 0%, 0%, 0.439)",
1243
+ "originalValue": "{surface.light.overlayFull}"
1244
+ },
1245
+ "component.palette.scrimDark": {
1246
+ "cssName": "--palette-scrim",
1247
+ "type": "color",
1248
+ "mode": "dark",
1249
+ "value": "hsla(0, 0%, 0%, 0.565)",
1250
+ "originalValue": "{surface.dark.overlayFull}"
1251
+ },
1252
+ "component.palette.width": {
1253
+ "cssName": "--palette-width",
1254
+ "type": "dimension",
1255
+ "mode": "global",
1256
+ "value": "560px",
1257
+ "originalValue": "560px"
1258
+ },
1259
+ "component.palette.inputHeight": {
1260
+ "cssName": "--palette-input-height",
1261
+ "type": "dimension",
1262
+ "mode": "global",
1263
+ "value": "48px",
1264
+ "originalValue": "48px"
1265
+ },
1266
+ "component.palette.itemHeight": {
1267
+ "cssName": "--palette-item-height",
1268
+ "type": "dimension",
1269
+ "mode": "global",
1270
+ "value": "36px",
1271
+ "originalValue": "36px"
1272
+ },
1273
+ "component.palette.itemBackgroundActive": {
1274
+ "cssName": "--palette-item-bg-active",
1275
+ "type": "color",
1276
+ "mode": "light",
1277
+ "value": "hsl(0, 0%, 93.0%)",
1278
+ "originalValue": "{color.neutral.light.componentBgHover}"
1279
+ },
1280
+ "component.palette.itemBackgroundActiveDark": {
1281
+ "cssName": "--palette-item-bg-active",
1282
+ "type": "color",
1283
+ "mode": "dark",
1284
+ "value": "hsl(0, 0%, 15.8%)",
1285
+ "originalValue": "{color.neutral.dark.componentBgHover}"
1286
+ },
1287
+ "component.palette.groupLabel": {
1288
+ "cssName": "--palette-group-label",
1289
+ "type": "color",
1290
+ "mode": "light",
1291
+ "value": "hsl(0, 0%, 43.5%)",
1292
+ "originalValue": "{color.neutral.light.textSecondary}"
1293
+ },
1294
+ "component.palette.groupLabelDark": {
1295
+ "cssName": "--palette-group-label",
1296
+ "type": "color",
1297
+ "mode": "dark",
1298
+ "value": "hsl(0, 0%, 62.8%)",
1299
+ "originalValue": "{color.neutral.dark.textSecondary}"
1300
+ },
1301
+ "component.palette.itemMeta": {
1302
+ "cssName": "--palette-item-meta",
1303
+ "type": "color",
1304
+ "mode": "light",
1305
+ "value": "hsl(0, 0%, 43.5%)",
1306
+ "originalValue": "{color.neutral.light.textSecondary}"
1307
+ },
1308
+ "component.palette.itemMetaDark": {
1309
+ "cssName": "--palette-item-meta",
1310
+ "type": "color",
1311
+ "mode": "dark",
1312
+ "value": "hsl(0, 0%, 62.8%)",
1313
+ "originalValue": "{color.neutral.dark.textSecondary}"
1314
+ },
1315
+ "component.sheet.background": {
1316
+ "cssName": "--sheet-bg",
1317
+ "type": "color",
1318
+ "mode": "light",
1319
+ "value": "hsl(0, 0%, 95.1%)",
1320
+ "originalValue": "{color.neutral.light.componentBg}",
1321
+ "description": "Right-side detail panel surface."
1322
+ },
1323
+ "component.sheet.backgroundDark": {
1324
+ "cssName": "--sheet-bg",
1325
+ "type": "color",
1326
+ "mode": "dark",
1327
+ "value": "hsl(0, 0%, 13.6%)",
1328
+ "originalValue": "{color.neutral.dark.componentBg}"
1329
+ },
1330
+ "component.sheet.border": {
1331
+ "cssName": "--sheet-border",
1332
+ "type": "color",
1333
+ "mode": "light",
1334
+ "value": "hsl(0, 0%, 88.7%)",
1335
+ "originalValue": "{color.neutral.light.line}"
1336
+ },
1337
+ "component.sheet.borderDark": {
1338
+ "cssName": "--sheet-border",
1339
+ "type": "color",
1340
+ "mode": "dark",
1341
+ "value": "hsl(0, 0%, 20.5%)",
1342
+ "originalValue": "{color.neutral.dark.line}"
1343
+ },
1344
+ "component.sheet.shadow": {
1345
+ "cssName": "--sheet-shadow",
1346
+ "type": "string",
1347
+ "mode": "light",
1348
+ "value": "0 16px 40px hsla(0, 0%, 0%, 0.12)",
1349
+ "originalValue": "{elevation.lg}"
1350
+ },
1351
+ "component.sheet.shadowDark": {
1352
+ "cssName": "--sheet-shadow",
1353
+ "type": "string",
1354
+ "mode": "dark",
1355
+ "value": "0 16px 40px hsla(0, 0%, 0%, 0.6)",
1356
+ "originalValue": "{surface.dark.shadowLg}"
1357
+ },
1358
+ "component.sheet.scrim": {
1359
+ "cssName": "--sheet-scrim",
1360
+ "type": "color",
1361
+ "mode": "light",
1362
+ "value": "hsla(0, 0%, 0%, 0.439)",
1363
+ "originalValue": "{surface.light.overlayFull}"
1364
+ },
1365
+ "component.sheet.scrimDark": {
1366
+ "cssName": "--sheet-scrim",
1367
+ "type": "color",
1368
+ "mode": "dark",
1369
+ "value": "hsla(0, 0%, 0%, 0.565)",
1370
+ "originalValue": "{surface.dark.overlayFull}"
1371
+ },
1372
+ "component.sheet.width": {
1373
+ "cssName": "--sheet-width",
1374
+ "type": "dimension",
1375
+ "mode": "global",
1376
+ "value": "380px",
1377
+ "originalValue": "380px",
1378
+ "description": "Fixed on web. Touch surfaces use a bottom sheet instead."
1379
+ },
1380
+ "context.tv.text.primary": {
1381
+ "cssName": "--text-1",
869
1382
  "type": "color",
870
1383
  "mode": "tv",
871
- "value": "hsla(0, 0%, 100%, 0.22)",
872
- "originalValue": "hsla(0, 0%, 100%, 0.22)"
1384
+ "value": "hsl(0, 0%, 93.0%)",
1385
+ "originalValue": "{color.neutral.dark.text}",
1386
+ "description": "Row titles, modal option labels, and button labels."
873
1387
  },
874
- "context.tv.focus.ring": {
875
- "cssName": "--focus-ring",
1388
+ "context.tv.text.secondary": {
1389
+ "cssName": "--text-2",
876
1390
  "type": "color",
877
1391
  "mode": "tv",
878
- "value": "hsla(44.7, 97.9%, 63.1%, 0.18)",
879
- "originalValue": "hsla(44.7, 97.9%, 63.1%, 0.18)"
1392
+ "value": "hsl(0, 0%, 62.8%)",
1393
+ "originalValue": "{color.neutral.dark.textSecondary}",
1394
+ "description": "Row sublines, modal titles, section headers, and accessories."
880
1395
  },
881
- "context.tv.focus.liftShadow": {
882
- "cssName": "--focus-shadow",
883
- "type": "string",
1396
+ "context.tv.text.tertiary": {
1397
+ "cssName": "--text-3",
1398
+ "type": "color",
884
1399
  "mode": "tv",
885
- "value": "0 14px 30px hsla(0, 0%, 0%, 0.45)",
886
- "originalValue": "0 14px 30px hsla(0, 0%, 0%, 0.45)"
1400
+ "value": "hsl(0, 0%, 62.8%)",
1401
+ "originalValue": "{context.tv.text.secondary}",
1402
+ "description": "Deprecated compatibility alias. Use context.tv.text.secondary.",
1403
+ "deprecated": true
887
1404
  },
888
1405
  "context.tv.channelArt.production.posterBackground": {
889
1406
  "cssName": "--tv-channel-art-production-poster-bg",
@@ -941,6 +1458,161 @@ export const tokens = {
941
1458
  "value": "hsl(110.6, 100%, 53.9%)",
942
1459
  "originalValue": "hsl(110.6, 100%, 53.9%)"
943
1460
  },
1461
+ "tv.text.heading": {
1462
+ "cssName": "--tv-text-heading",
1463
+ "type": "dimension",
1464
+ "mode": "tv",
1465
+ "value": "64px",
1466
+ "originalValue": "64px",
1467
+ "description": "text.heading · GTAmerica-Md."
1468
+ },
1469
+ "tv.text.label": {
1470
+ "cssName": "--tv-text-label",
1471
+ "type": "dimension",
1472
+ "mode": "tv",
1473
+ "value": "48px",
1474
+ "originalValue": "48px",
1475
+ "description": "text.label · GTAmerica-Md. Screen titles, and the file-row icon size."
1476
+ },
1477
+ "tv.text.body": {
1478
+ "cssName": "--tv-text-body",
1479
+ "type": "dimension",
1480
+ "mode": "tv",
1481
+ "value": "36px",
1482
+ "originalValue": "36px",
1483
+ "description": "text.body · GTAmerica-Rg. The file-row title."
1484
+ },
1485
+ "tv.text.caption": {
1486
+ "cssName": "--tv-text-caption",
1487
+ "type": "dimension",
1488
+ "mode": "tv",
1489
+ "value": "32px",
1490
+ "originalValue": "32px",
1491
+ "description": "text.caption · GTAmerica-Rg. Row subline and button icons. TV has no mono face — the size subline renders in GT America with tabular figures, so the Berkeley Mono numeric rule is web and mobile only."
1492
+ },
1493
+ "tv.text.smol": {
1494
+ "cssName": "--tv-text-smol",
1495
+ "type": "dimension",
1496
+ "mode": "tv",
1497
+ "value": "24px",
1498
+ "originalValue": "24px",
1499
+ "description": "text.smol · GTAmerica-Rg. Button labels, rendered uppercase."
1500
+ },
1501
+ "tv.fontWeight.regular": {
1502
+ "cssName": "--tv-fw-regular",
1503
+ "type": "fontWeight",
1504
+ "mode": "tv",
1505
+ "value": "400",
1506
+ "originalValue": "400",
1507
+ "description": "GTAmerica-Rg."
1508
+ },
1509
+ "tv.fontWeight.medium": {
1510
+ "cssName": "--tv-fw-medium",
1511
+ "type": "fontWeight",
1512
+ "mode": "tv",
1513
+ "value": "500",
1514
+ "originalValue": "500",
1515
+ "description": "GTAmerica-Md."
1516
+ },
1517
+ "tv.space.xxs": {
1518
+ "cssName": "--tv-space-xxs",
1519
+ "type": "dimension",
1520
+ "mode": "tv",
1521
+ "value": "4px",
1522
+ "originalValue": "4px"
1523
+ },
1524
+ "tv.space.xs": {
1525
+ "cssName": "--tv-space-xs",
1526
+ "type": "dimension",
1527
+ "mode": "tv",
1528
+ "value": "8px",
1529
+ "originalValue": "8px"
1530
+ },
1531
+ "tv.space.sm": {
1532
+ "cssName": "--tv-space-sm",
1533
+ "type": "dimension",
1534
+ "mode": "tv",
1535
+ "value": "16px",
1536
+ "originalValue": "16px",
1537
+ "description": "Button padding at size=\"sm\"."
1538
+ },
1539
+ "tv.space.md": {
1540
+ "cssName": "--tv-space-md",
1541
+ "type": "dimension",
1542
+ "mode": "tv",
1543
+ "value": "32px",
1544
+ "originalValue": "32px",
1545
+ "description": "The workhorse step: uniform list-row padding, row gap, and header padding-bottom."
1546
+ },
1547
+ "tv.space.lg": {
1548
+ "cssName": "--tv-space-lg",
1549
+ "type": "dimension",
1550
+ "mode": "tv",
1551
+ "value": "64px",
1552
+ "originalValue": "64px"
1553
+ },
1554
+ "tv.space.xl": {
1555
+ "cssName": "--tv-space-xl",
1556
+ "type": "dimension",
1557
+ "mode": "tv",
1558
+ "value": "128px",
1559
+ "originalValue": "128px"
1560
+ },
1561
+ "tv.space.xxl": {
1562
+ "cssName": "--tv-space-xxl",
1563
+ "type": "dimension",
1564
+ "mode": "tv",
1565
+ "value": "256px",
1566
+ "originalValue": "256px"
1567
+ },
1568
+ "tv.overscan.x": {
1569
+ "cssName": "--tv-overscan-x",
1570
+ "type": "number",
1571
+ "mode": "tv",
1572
+ "value": 0.04,
1573
+ "originalValue": 0.04,
1574
+ "description": "Horizontal safe-area ratio. Platform adapters multiply this value by viewport width.",
1575
+ "basis": "viewport-width"
1576
+ },
1577
+ "tv.overscan.y": {
1578
+ "cssName": "--tv-overscan-y",
1579
+ "type": "number",
1580
+ "mode": "tv",
1581
+ "value": 0.02,
1582
+ "originalValue": 0.02,
1583
+ "description": "Vertical safe-area ratio. Platform adapters multiply this value by viewport height.",
1584
+ "basis": "viewport-height"
1585
+ },
1586
+ "tv.radius": {
1587
+ "cssName": "--tv-radius",
1588
+ "type": "dimension",
1589
+ "mode": "tv",
1590
+ "value": "12px",
1591
+ "originalValue": "{radius.tv}",
1592
+ "description": "radii.default — one radius for every 10-foot surface."
1593
+ },
1594
+ "tv.z.modal": {
1595
+ "cssName": "--tv-z-modal",
1596
+ "type": "number",
1597
+ "mode": "tv",
1598
+ "value": 100,
1599
+ "originalValue": 100
1600
+ },
1601
+ "tv.z.toast": {
1602
+ "cssName": "--tv-z-toast",
1603
+ "type": "number",
1604
+ "mode": "tv",
1605
+ "value": 200,
1606
+ "originalValue": 200
1607
+ },
1608
+ "tv.z.overlay": {
1609
+ "cssName": "--tv-z-overlay",
1610
+ "type": "number",
1611
+ "mode": "tv",
1612
+ "value": 300,
1613
+ "originalValue": 300,
1614
+ "description": "Above toast — the opposite of the web scale, where --z-notification (1400) sits above --z-modal (1300)."
1615
+ },
944
1616
  "color.brand.yellow": {
945
1617
  "cssName": "--yellow-solid",
946
1618
  "type": "color",
@@ -1687,19 +2359,13 @@ export const tokens = {
1687
2359
  "value": "\"GT America\", sans-serif",
1688
2360
  "originalValue": "{typography.fontFamily.sans}"
1689
2361
  },
1690
- "typography.fontFamily.uiMono": {
1691
- "cssName": "--font-ui-mono",
1692
- "type": "fontFamily",
1693
- "mode": "global",
1694
- "value": "\"GT America Mono\", monospace",
1695
- "originalValue": "\"GT America Mono\", monospace"
1696
- },
1697
2362
  "typography.fontFamily.mono": {
1698
2363
  "cssName": "--font-mono",
1699
2364
  "type": "fontFamily",
1700
2365
  "mode": "global",
1701
- "value": "\"Berkeley Mono\", \"GT America Mono\", monospace",
1702
- "originalValue": "\"Berkeley Mono\", {typography.fontFamily.uiMono}"
2366
+ "value": "\"Berkeley Mono\", monospace",
2367
+ "originalValue": "\"Berkeley Mono\", monospace",
2368
+ "description": "The single mono face: numerics, timestamps, file sizes, ETAs, counts, code, logs, magnet URIs, identifiers, and filenames. Web and mobile only — TV has no mono face."
1703
2369
  },
1704
2370
  "typography.fontSize.xs": {
1705
2371
  "cssName": "--fs-xs",
@@ -1962,6 +2628,14 @@ export const tokens = {
1962
2628
  "value": "999px",
1963
2629
  "originalValue": "999px"
1964
2630
  },
2631
+ "radius.tv": {
2632
+ "cssName": "--radius-tv",
2633
+ "type": "dimension",
2634
+ "mode": "global",
2635
+ "value": "12px",
2636
+ "originalValue": "12px",
2637
+ "description": "The corner radius for every 10-foot surface — list rows, buttons, sheets, cards, code tiles, and keys. TV uses one radius, not a scale; the only other radii on TV are intentional pills and circles."
2638
+ },
1965
2639
  "border.width": {
1966
2640
  "cssName": "--border-width",
1967
2641
  "type": "dimension",