@hanzo/ui 8.0.62 → 8.0.64

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/README.md CHANGED
@@ -119,7 +119,7 @@ registerField('rating', { Display: MyStars, Input: MyStarPicker })
119
119
  ```tsx
120
120
  import { Hanzo } from '@hanzo/ui'
121
121
 
122
- <Hanzo analytics={{ product: 'console', ingestKey: process.env.NEXT_PUBLIC_EVENT_INGEST_KEY }}>
122
+ <Hanzo analytics={{ product: 'console', ingestKey: process.env.NEXT_PUBLIC_PUBLISHABLE_KEY }}>
123
123
  <App />
124
124
  </Hanzo>
125
125
  ```
@@ -183,8 +183,8 @@ in **both** directions, because that is what explicit means. Beyond that:
183
183
 
184
184
  `ingestKey` is a publishable `pk-…` — write-only, safe in a bundle, minted per
185
185
  org with `POST /v1/keys {"type":"publishable"}`. Omit it and the client reads
186
- `NEXT_PUBLIC_EVENT_INGEST_KEY` from the build env, which is the spelling the
187
- fleet already carries end to end (KMS holds `deploy/EVENT_INGEST_KEY`; the
186
+ `NEXT_PUBLIC_PUBLISHABLE_KEY` from the build env, which is the spelling the
187
+ fleet already carries end to end (KMS holds `deploy/PUBLISHABLE_KEY`; the
188
188
  Dockerfile takes it as a build-arg and re-exports it with the `NEXT_PUBLIC_`
189
189
  prefix Next needs to inline it). A surface with no key reports only for whoever
190
190
  is signed in and silently drops every logged-out visitor — the door refuses an
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.config = void 0;
3
+ exports.monochrome = exports.config = void 0;
4
4
  const v5_1 = require("@hanzogui/config/v5");
5
5
  const gui_1 = require("@hanzo/gui");
6
6
  // ─────────────────────────────────────────────────────────────────────────────
@@ -224,9 +224,10 @@ const themes = Object.fromEntries(Object.entries(v5_1.defaultConfig.themes).map(
224
224
  : ringed,
225
225
  ];
226
226
  }));
227
- exports.config = (0, gui_1.createGui)({
227
+ // Everything except the theme table, which is the one thing the two configs
228
+ // below disagree about. Stated once so they cannot drift on radius or fonts.
229
+ const base = {
228
230
  ...v5_1.defaultConfig,
229
- themes,
230
231
  tokens: {
231
232
  ...v5_1.defaultConfig.tokens,
232
233
  radius: RADIUS,
@@ -243,5 +244,37 @@ exports.config = (0, gui_1.createGui)({
243
244
  // token, not a silent no-op, so it is defined.
244
245
  mono: { ...v5_1.defaultConfig.fonts.body, family: GEIST_MONO, size: FONT_SIZE, lineHeight: LINE_HEIGHT },
245
246
  },
246
- });
247
+ };
248
+ exports.config = (0, gui_1.createGui)({ ...base, themes });
247
249
  exports.default = exports.config;
250
+ /**
251
+ * The eight chromatic families. Everything else a sub-theme name can carry —
252
+ * `accent`, `black`, `white`, `gray`, `neutral`, `surface1`, `surface2` — is a
253
+ * position on the greyscale, so it survives into the monochrome table below.
254
+ *
255
+ * Derived from the segment, never from a substring: `dark_teal_Button` is
256
+ * chromatic because one of its segments IS `teal`, while a future
257
+ * `dark_tealish` or a component called `Red` is not caught by accident.
258
+ */
259
+ const CHROMA = new Set(['blue', 'green', 'orange', 'pink', 'purple', 'red', 'teal', 'yellow']);
260
+ const chromatic = (name) => name.split('_').slice(1).some((s) => CHROMA.has(s));
261
+ /**
262
+ * The same system with the chromatic sub-themes omitted — 150 themes instead of
263
+ * 390, and 62% less theme table.
264
+ *
265
+ * A gui theme table is DATA that ships: it cannot be tree-shaken, because a
266
+ * theme is selected by string at runtime. So a surface that renders no colour
267
+ * still pays for every hue. The browser extension's new-tab page is monochrome
268
+ * by design and loads on every single tab, and 240 themes it can never activate
269
+ * were the difference between it fitting its bundle budget and not.
270
+ *
271
+ * This is NOT a second design system. It is the same `config` with rows
272
+ * removed, from the same scale, so nothing here can drift from `config` — only
273
+ * be absent from it. Reach for it when a surface genuinely renders no hue;
274
+ * anything that does must use `config`, because a missing theme falls back
275
+ * silently rather than failing.
276
+ */
277
+ exports.monochrome = (0, gui_1.createGui)({
278
+ ...base,
279
+ themes: Object.fromEntries(Object.entries(themes).filter(([name]) => !chromatic(name))),
280
+ });
@@ -766,5 +766,788 @@ export declare const config: import("@hanzogui/web").GuiInternalConfig<{
766
766
  styleCompat: "web";
767
767
  }, "default">;
768
768
  export default config;
769
+ /**
770
+ * The same system with the chromatic sub-themes omitted — 150 themes instead of
771
+ * 390, and 62% less theme table.
772
+ *
773
+ * A gui theme table is DATA that ships: it cannot be tree-shaken, because a
774
+ * theme is selected by string at runtime. So a surface that renders no colour
775
+ * still pays for every hue. The browser extension's new-tab page is monochrome
776
+ * by design and loads on every single tab, and 240 themes it can never activate
777
+ * were the difference between it fitting its bundle budget and not.
778
+ *
779
+ * This is NOT a second design system. It is the same `config` with rows
780
+ * removed, from the same scale, so nothing here can drift from `config` — only
781
+ * be absent from it. Reach for it when a surface genuinely renders no hue;
782
+ * anything that does must use `config`, because a missing theme falls back
783
+ * silently rather than failing.
784
+ */
785
+ export declare const monochrome: import("@hanzogui/web").GuiInternalConfig<{
786
+ radius: {
787
+ readonly 0: 0;
788
+ readonly 1: 6;
789
+ readonly 2: 6;
790
+ readonly 3: 8;
791
+ readonly 4: 8;
792
+ readonly 5: 12;
793
+ readonly 6: 12;
794
+ readonly 7: 12;
795
+ readonly 8: 12;
796
+ readonly 9: 12;
797
+ readonly 10: 9999;
798
+ readonly 11: 9999;
799
+ readonly 12: 9999;
800
+ readonly true: 8;
801
+ };
802
+ space: Record<string, number>;
803
+ zIndex: {
804
+ 0: number;
805
+ 1: number;
806
+ 2: number;
807
+ 3: number;
808
+ 4: number;
809
+ 5: number;
810
+ };
811
+ size: {
812
+ $0: number;
813
+ "$0.25": number;
814
+ "$0.5": number;
815
+ "$0.75": number;
816
+ $1: number;
817
+ "$1.5": number;
818
+ $2: number;
819
+ "$2.5": number;
820
+ $3: number;
821
+ "$3.5": number;
822
+ $4: number;
823
+ $true: number;
824
+ "$4.5": number;
825
+ $5: number;
826
+ $6: number;
827
+ $7: number;
828
+ $8: number;
829
+ $9: number;
830
+ $10: number;
831
+ $11: number;
832
+ $12: number;
833
+ $13: number;
834
+ $14: number;
835
+ $15: number;
836
+ $16: number;
837
+ $17: number;
838
+ $18: number;
839
+ $19: number;
840
+ $20: number;
841
+ };
842
+ }, import("@hanzogui/config/v5").V5Themes, {
843
+ text: "textAlign";
844
+ b: "bottom";
845
+ bg: "backgroundColor";
846
+ content: "alignContent";
847
+ grow: "flexGrow";
848
+ items: "alignItems";
849
+ justify: "justifyContent";
850
+ l: "left";
851
+ m: "margin";
852
+ maxH: "maxHeight";
853
+ maxW: "maxWidth";
854
+ mb: "marginBottom";
855
+ minH: "minHeight";
856
+ minW: "minWidth";
857
+ ml: "marginLeft";
858
+ mr: "marginRight";
859
+ mt: "marginTop";
860
+ mx: "marginHorizontal";
861
+ my: "marginVertical";
862
+ p: "padding";
863
+ pb: "paddingBottom";
864
+ pl: "paddingLeft";
865
+ pr: "paddingRight";
866
+ pt: "paddingTop";
867
+ px: "paddingHorizontal";
868
+ py: "paddingVertical";
869
+ r: "right";
870
+ rounded: "borderRadius";
871
+ select: "userSelect";
872
+ self: "alignSelf";
873
+ shrink: "flexShrink";
874
+ t: "top";
875
+ z: "zIndex";
876
+ }, {
877
+ readonly touchable: {
878
+ pointer: string;
879
+ };
880
+ readonly hoverable: {
881
+ hover: string;
882
+ };
883
+ readonly 'max-xxl': {
884
+ readonly maxWidth: number;
885
+ };
886
+ readonly 'max-xl': {
887
+ readonly maxWidth: number;
888
+ };
889
+ readonly 'max-lg': {
890
+ readonly maxWidth: number;
891
+ };
892
+ readonly 'max-md': {
893
+ readonly maxWidth: number;
894
+ };
895
+ readonly 'max-sm': {
896
+ readonly maxWidth: number;
897
+ };
898
+ readonly 'max-xs': {
899
+ readonly maxWidth: number;
900
+ };
901
+ readonly 'max-xxs': {
902
+ readonly maxWidth: number;
903
+ };
904
+ readonly 'max-xxxs': {
905
+ readonly maxWidth: number;
906
+ };
907
+ readonly 'max-200': {
908
+ readonly maxWidth: number;
909
+ };
910
+ readonly 'max-100': {
911
+ readonly maxWidth: number;
912
+ };
913
+ readonly xxxs: {
914
+ readonly minWidth: number;
915
+ };
916
+ readonly xxs: {
917
+ readonly minWidth: number;
918
+ };
919
+ readonly xs: {
920
+ readonly minWidth: number;
921
+ };
922
+ readonly sm: {
923
+ readonly minWidth: number;
924
+ };
925
+ readonly md: {
926
+ readonly minWidth: number;
927
+ };
928
+ readonly lg: {
929
+ readonly minWidth: number;
930
+ };
931
+ readonly xl: {
932
+ readonly minWidth: number;
933
+ };
934
+ readonly xxl: {
935
+ readonly minWidth: number;
936
+ };
937
+ readonly 'max-height-lg': {
938
+ readonly maxHeight: number;
939
+ };
940
+ readonly 'max-height-md': {
941
+ readonly maxHeight: number;
942
+ };
943
+ readonly 'max-height-sm': {
944
+ readonly maxHeight: number;
945
+ };
946
+ readonly 'max-height-xs': {
947
+ readonly maxHeight: number;
948
+ };
949
+ readonly 'max-height-xxs': {
950
+ readonly maxHeight: number;
951
+ };
952
+ readonly 'max-height-xxxs': {
953
+ readonly maxHeight: number;
954
+ };
955
+ readonly 'max-height-200': {
956
+ readonly maxHeight: number;
957
+ };
958
+ readonly 'max-height-100': {
959
+ readonly maxHeight: number;
960
+ };
961
+ readonly 'height-sm': {
962
+ readonly minHeight: number;
963
+ };
964
+ readonly 'height-md': {
965
+ readonly minHeight: number;
966
+ };
967
+ readonly 'height-lg': {
968
+ readonly minHeight: number;
969
+ };
970
+ }, {}, {
971
+ body: {
972
+ family: string;
973
+ size: {
974
+ readonly 1: 11;
975
+ readonly 2: 13;
976
+ readonly 3: 14;
977
+ readonly 4: 15;
978
+ readonly 5: 15;
979
+ readonly 6: 17;
980
+ readonly 7: 21;
981
+ readonly 8: 26;
982
+ readonly 9: 26;
983
+ readonly 10: 32;
984
+ readonly 11: 40;
985
+ readonly 12: 48;
986
+ readonly 13: 56;
987
+ readonly 14: 64;
988
+ readonly 15: 80;
989
+ readonly 16: 96;
990
+ readonly true: 14;
991
+ };
992
+ lineHeight: {
993
+ readonly 1: 16;
994
+ readonly 2: 18;
995
+ readonly 3: 20;
996
+ readonly 4: 22;
997
+ readonly 5: 22;
998
+ readonly 6: 24;
999
+ readonly 7: 28;
1000
+ readonly 8: 32;
1001
+ readonly 9: 32;
1002
+ readonly 10: 38;
1003
+ readonly 11: 46;
1004
+ readonly 12: 54;
1005
+ readonly 13: 62;
1006
+ readonly 14: 70;
1007
+ readonly 15: 86;
1008
+ readonly 16: 102;
1009
+ readonly true: 20;
1010
+ };
1011
+ weight: {
1012
+ 1: any;
1013
+ 5: any;
1014
+ 7: any;
1015
+ 12: any;
1016
+ 2: any;
1017
+ 3: any;
1018
+ 16: any;
1019
+ 4: any;
1020
+ 6: any;
1021
+ true: any;
1022
+ 10: any;
1023
+ 8: any;
1024
+ 11: any;
1025
+ 9: any;
1026
+ 15: any;
1027
+ 14: any;
1028
+ 13: any;
1029
+ };
1030
+ letterSpacing: {
1031
+ 1: any;
1032
+ 5: any;
1033
+ 7: any;
1034
+ 12: any;
1035
+ 2: any;
1036
+ 3: any;
1037
+ 16: any;
1038
+ 4: any;
1039
+ 6: any;
1040
+ true: any;
1041
+ 10: any;
1042
+ 8: any;
1043
+ 11: any;
1044
+ 9: any;
1045
+ 15: any;
1046
+ 14: any;
1047
+ 13: any;
1048
+ };
1049
+ style: {
1050
+ 1: any;
1051
+ 5: any;
1052
+ 7: any;
1053
+ 12: any;
1054
+ 2: any;
1055
+ 3: any;
1056
+ 16: any;
1057
+ 4: any;
1058
+ 6: any;
1059
+ true: any;
1060
+ 10: any;
1061
+ 8: any;
1062
+ 11: any;
1063
+ 9: any;
1064
+ 15: any;
1065
+ 14: any;
1066
+ 13: any;
1067
+ };
1068
+ transform: {
1069
+ 1: any;
1070
+ 5: any;
1071
+ 7: any;
1072
+ 12: any;
1073
+ 2: any;
1074
+ 3: any;
1075
+ 16: any;
1076
+ 4: any;
1077
+ 6: any;
1078
+ true: any;
1079
+ 10: any;
1080
+ 8: any;
1081
+ 11: any;
1082
+ 9: any;
1083
+ 15: any;
1084
+ 14: any;
1085
+ 13: any;
1086
+ };
1087
+ color: {
1088
+ 1: any;
1089
+ 5: any;
1090
+ 7: any;
1091
+ 12: any;
1092
+ 2: any;
1093
+ 3: any;
1094
+ 16: any;
1095
+ 4: any;
1096
+ 6: any;
1097
+ true: any;
1098
+ 10: any;
1099
+ 8: any;
1100
+ 11: any;
1101
+ 9: any;
1102
+ 15: any;
1103
+ 14: any;
1104
+ 13: any;
1105
+ };
1106
+ face: Partial<Partial<{
1107
+ bold: {
1108
+ normal?: string;
1109
+ italic?: string;
1110
+ };
1111
+ normal: {
1112
+ normal?: string;
1113
+ italic?: string;
1114
+ };
1115
+ 100: {
1116
+ normal?: string;
1117
+ italic?: string;
1118
+ };
1119
+ 500: {
1120
+ normal?: string;
1121
+ italic?: string;
1122
+ };
1123
+ 700: {
1124
+ normal?: string;
1125
+ italic?: string;
1126
+ };
1127
+ 200: {
1128
+ normal?: string;
1129
+ italic?: string;
1130
+ };
1131
+ 300: {
1132
+ normal?: string;
1133
+ italic?: string;
1134
+ };
1135
+ 400: {
1136
+ normal?: string;
1137
+ italic?: string;
1138
+ };
1139
+ 600: {
1140
+ normal?: string;
1141
+ italic?: string;
1142
+ };
1143
+ 800: {
1144
+ normal?: string;
1145
+ italic?: string;
1146
+ };
1147
+ 900: {
1148
+ normal?: string;
1149
+ italic?: string;
1150
+ };
1151
+ }> | undefined>;
1152
+ };
1153
+ heading: {
1154
+ family: string;
1155
+ size: {
1156
+ readonly 1: 11;
1157
+ readonly 2: 13;
1158
+ readonly 3: 14;
1159
+ readonly 4: 15;
1160
+ readonly 5: 15;
1161
+ readonly 6: 17;
1162
+ readonly 7: 21;
1163
+ readonly 8: 26;
1164
+ readonly 9: 26;
1165
+ readonly 10: 32;
1166
+ readonly 11: 40;
1167
+ readonly 12: 48;
1168
+ readonly 13: 56;
1169
+ readonly 14: 64;
1170
+ readonly 15: 80;
1171
+ readonly 16: 96;
1172
+ readonly true: 14;
1173
+ };
1174
+ lineHeight: {
1175
+ readonly 1: 16;
1176
+ readonly 2: 18;
1177
+ readonly 3: 20;
1178
+ readonly 4: 22;
1179
+ readonly 5: 22;
1180
+ readonly 6: 24;
1181
+ readonly 7: 28;
1182
+ readonly 8: 32;
1183
+ readonly 9: 32;
1184
+ readonly 10: 38;
1185
+ readonly 11: 46;
1186
+ readonly 12: 54;
1187
+ readonly 13: 62;
1188
+ readonly 14: 70;
1189
+ readonly 15: 86;
1190
+ readonly 16: 102;
1191
+ readonly true: 20;
1192
+ };
1193
+ weight: {
1194
+ 1: any;
1195
+ 5: any;
1196
+ 7: any;
1197
+ 12: any;
1198
+ 2: any;
1199
+ 3: any;
1200
+ 16: any;
1201
+ 4: any;
1202
+ 6: any;
1203
+ true: any;
1204
+ 10: any;
1205
+ 8: any;
1206
+ 11: any;
1207
+ 9: any;
1208
+ 15: any;
1209
+ 14: any;
1210
+ 13: any;
1211
+ };
1212
+ letterSpacing: {
1213
+ 1: any;
1214
+ 5: any;
1215
+ 7: any;
1216
+ 12: any;
1217
+ 2: any;
1218
+ 3: any;
1219
+ 16: any;
1220
+ 4: any;
1221
+ 6: any;
1222
+ true: any;
1223
+ 10: any;
1224
+ 8: any;
1225
+ 11: any;
1226
+ 9: any;
1227
+ 15: any;
1228
+ 14: any;
1229
+ 13: any;
1230
+ };
1231
+ style: {
1232
+ 1: any;
1233
+ 5: any;
1234
+ 7: any;
1235
+ 12: any;
1236
+ 2: any;
1237
+ 3: any;
1238
+ 16: any;
1239
+ 4: any;
1240
+ 6: any;
1241
+ true: any;
1242
+ 10: any;
1243
+ 8: any;
1244
+ 11: any;
1245
+ 9: any;
1246
+ 15: any;
1247
+ 14: any;
1248
+ 13: any;
1249
+ };
1250
+ transform: {
1251
+ 1: any;
1252
+ 5: any;
1253
+ 7: any;
1254
+ 12: any;
1255
+ 2: any;
1256
+ 3: any;
1257
+ 16: any;
1258
+ 4: any;
1259
+ 6: any;
1260
+ true: any;
1261
+ 10: any;
1262
+ 8: any;
1263
+ 11: any;
1264
+ 9: any;
1265
+ 15: any;
1266
+ 14: any;
1267
+ 13: any;
1268
+ };
1269
+ color: {
1270
+ 1: any;
1271
+ 5: any;
1272
+ 7: any;
1273
+ 12: any;
1274
+ 2: any;
1275
+ 3: any;
1276
+ 16: any;
1277
+ 4: any;
1278
+ 6: any;
1279
+ true: any;
1280
+ 10: any;
1281
+ 8: any;
1282
+ 11: any;
1283
+ 9: any;
1284
+ 15: any;
1285
+ 14: any;
1286
+ 13: any;
1287
+ };
1288
+ face: Partial<Partial<{
1289
+ bold: {
1290
+ normal?: string;
1291
+ italic?: string;
1292
+ };
1293
+ normal: {
1294
+ normal?: string;
1295
+ italic?: string;
1296
+ };
1297
+ 100: {
1298
+ normal?: string;
1299
+ italic?: string;
1300
+ };
1301
+ 500: {
1302
+ normal?: string;
1303
+ italic?: string;
1304
+ };
1305
+ 700: {
1306
+ normal?: string;
1307
+ italic?: string;
1308
+ };
1309
+ 200: {
1310
+ normal?: string;
1311
+ italic?: string;
1312
+ };
1313
+ 300: {
1314
+ normal?: string;
1315
+ italic?: string;
1316
+ };
1317
+ 400: {
1318
+ normal?: string;
1319
+ italic?: string;
1320
+ };
1321
+ 600: {
1322
+ normal?: string;
1323
+ italic?: string;
1324
+ };
1325
+ 800: {
1326
+ normal?: string;
1327
+ italic?: string;
1328
+ };
1329
+ 900: {
1330
+ normal?: string;
1331
+ italic?: string;
1332
+ };
1333
+ }> | undefined>;
1334
+ };
1335
+ mono: {
1336
+ family: string;
1337
+ size: {
1338
+ readonly 1: 11;
1339
+ readonly 2: 13;
1340
+ readonly 3: 14;
1341
+ readonly 4: 15;
1342
+ readonly 5: 15;
1343
+ readonly 6: 17;
1344
+ readonly 7: 21;
1345
+ readonly 8: 26;
1346
+ readonly 9: 26;
1347
+ readonly 10: 32;
1348
+ readonly 11: 40;
1349
+ readonly 12: 48;
1350
+ readonly 13: 56;
1351
+ readonly 14: 64;
1352
+ readonly 15: 80;
1353
+ readonly 16: 96;
1354
+ readonly true: 14;
1355
+ };
1356
+ lineHeight: {
1357
+ readonly 1: 16;
1358
+ readonly 2: 18;
1359
+ readonly 3: 20;
1360
+ readonly 4: 22;
1361
+ readonly 5: 22;
1362
+ readonly 6: 24;
1363
+ readonly 7: 28;
1364
+ readonly 8: 32;
1365
+ readonly 9: 32;
1366
+ readonly 10: 38;
1367
+ readonly 11: 46;
1368
+ readonly 12: 54;
1369
+ readonly 13: 62;
1370
+ readonly 14: 70;
1371
+ readonly 15: 86;
1372
+ readonly 16: 102;
1373
+ readonly true: 20;
1374
+ };
1375
+ weight: {
1376
+ 1: any;
1377
+ 5: any;
1378
+ 7: any;
1379
+ 12: any;
1380
+ 2: any;
1381
+ 3: any;
1382
+ 16: any;
1383
+ 4: any;
1384
+ 6: any;
1385
+ true: any;
1386
+ 10: any;
1387
+ 8: any;
1388
+ 11: any;
1389
+ 9: any;
1390
+ 15: any;
1391
+ 14: any;
1392
+ 13: any;
1393
+ };
1394
+ letterSpacing: {
1395
+ 1: any;
1396
+ 5: any;
1397
+ 7: any;
1398
+ 12: any;
1399
+ 2: any;
1400
+ 3: any;
1401
+ 16: any;
1402
+ 4: any;
1403
+ 6: any;
1404
+ true: any;
1405
+ 10: any;
1406
+ 8: any;
1407
+ 11: any;
1408
+ 9: any;
1409
+ 15: any;
1410
+ 14: any;
1411
+ 13: any;
1412
+ };
1413
+ style: {
1414
+ 1: any;
1415
+ 5: any;
1416
+ 7: any;
1417
+ 12: any;
1418
+ 2: any;
1419
+ 3: any;
1420
+ 16: any;
1421
+ 4: any;
1422
+ 6: any;
1423
+ true: any;
1424
+ 10: any;
1425
+ 8: any;
1426
+ 11: any;
1427
+ 9: any;
1428
+ 15: any;
1429
+ 14: any;
1430
+ 13: any;
1431
+ };
1432
+ transform: {
1433
+ 1: any;
1434
+ 5: any;
1435
+ 7: any;
1436
+ 12: any;
1437
+ 2: any;
1438
+ 3: any;
1439
+ 16: any;
1440
+ 4: any;
1441
+ 6: any;
1442
+ true: any;
1443
+ 10: any;
1444
+ 8: any;
1445
+ 11: any;
1446
+ 9: any;
1447
+ 15: any;
1448
+ 14: any;
1449
+ 13: any;
1450
+ };
1451
+ color: {
1452
+ 1: any;
1453
+ 5: any;
1454
+ 7: any;
1455
+ 12: any;
1456
+ 2: any;
1457
+ 3: any;
1458
+ 16: any;
1459
+ 4: any;
1460
+ 6: any;
1461
+ true: any;
1462
+ 10: any;
1463
+ 8: any;
1464
+ 11: any;
1465
+ 9: any;
1466
+ 15: any;
1467
+ 14: any;
1468
+ 13: any;
1469
+ };
1470
+ face: Partial<Partial<{
1471
+ bold: {
1472
+ normal?: string;
1473
+ italic?: string;
1474
+ };
1475
+ normal: {
1476
+ normal?: string;
1477
+ italic?: string;
1478
+ };
1479
+ 100: {
1480
+ normal?: string;
1481
+ italic?: string;
1482
+ };
1483
+ 500: {
1484
+ normal?: string;
1485
+ italic?: string;
1486
+ };
1487
+ 700: {
1488
+ normal?: string;
1489
+ italic?: string;
1490
+ };
1491
+ 200: {
1492
+ normal?: string;
1493
+ italic?: string;
1494
+ };
1495
+ 300: {
1496
+ normal?: string;
1497
+ italic?: string;
1498
+ };
1499
+ 400: {
1500
+ normal?: string;
1501
+ italic?: string;
1502
+ };
1503
+ 600: {
1504
+ normal?: string;
1505
+ italic?: string;
1506
+ };
1507
+ 800: {
1508
+ normal?: string;
1509
+ italic?: string;
1510
+ };
1511
+ 900: {
1512
+ normal?: string;
1513
+ italic?: string;
1514
+ };
1515
+ }> | undefined>;
1516
+ };
1517
+ }, {
1518
+ mediaQueryDefaultActive: {
1519
+ touchable: boolean;
1520
+ hoverable: boolean;
1521
+ "max-xxl": boolean;
1522
+ "max-xl": boolean;
1523
+ "max-lg": boolean;
1524
+ "max-md": boolean;
1525
+ "max-sm": boolean;
1526
+ "max-xs": boolean;
1527
+ "max-xxs": boolean;
1528
+ "max-xxxs": boolean;
1529
+ xxxs: boolean;
1530
+ xxs: boolean;
1531
+ xs: boolean;
1532
+ sm: boolean;
1533
+ md: boolean;
1534
+ lg: boolean;
1535
+ xl: boolean;
1536
+ xxl: boolean;
1537
+ "max-height-sm": boolean;
1538
+ "max-height-md": boolean;
1539
+ "max-height-lg": boolean;
1540
+ "height-sm": boolean;
1541
+ "height-md": boolean;
1542
+ "height-lg": boolean;
1543
+ };
1544
+ defaultFont: string;
1545
+ fastSchemeChange: true;
1546
+ shouldAddPrefersColorThemes: true;
1547
+ allowedStyleValues: "somewhat-strict-web";
1548
+ addThemeClassName: "html";
1549
+ onlyAllowShorthands: true;
1550
+ styleCompat: "web";
1551
+ }, "default">;
769
1552
  export type Conf = typeof config;
770
1553
  //# sourceMappingURL=gui-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gui-config.d.ts","sourceRoot":"","sources":["../src/gui-config.ts"],"names":[],"mappings":"AA6OA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAmBjB,CAAA;AAEF,eAAe,MAAM,CAAA;AAErB,MAAM,MAAM,IAAI,GAAG,OAAO,MAAM,CAAA"}
1
+ {"version":3,"file":"gui-config.d.ts","sourceRoot":"","sources":["../src/gui-config.ts"],"names":[],"mappings":"AAmQA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAAiC,CAAA;AAEpD,eAAe,MAAM,CAAA;AAerB;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAKrB,CAAA;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,MAAM,CAAA"}
@@ -221,9 +221,10 @@ const themes = Object.fromEntries(Object.entries(defaultConfig.themes).map(([nam
221
221
  : ringed,
222
222
  ];
223
223
  }));
224
- export const config = createGui({
224
+ // Everything except the theme table, which is the one thing the two configs
225
+ // below disagree about. Stated once so they cannot drift on radius or fonts.
226
+ const base = {
225
227
  ...defaultConfig,
226
- themes,
227
228
  tokens: {
228
229
  ...defaultConfig.tokens,
229
230
  radius: RADIUS,
@@ -240,6 +241,38 @@ export const config = createGui({
240
241
  // token, not a silent no-op, so it is defined.
241
242
  mono: { ...defaultConfig.fonts.body, family: GEIST_MONO, size: FONT_SIZE, lineHeight: LINE_HEIGHT },
242
243
  },
243
- });
244
+ };
245
+ export const config = createGui({ ...base, themes });
244
246
  export default config;
247
+ /**
248
+ * The eight chromatic families. Everything else a sub-theme name can carry —
249
+ * `accent`, `black`, `white`, `gray`, `neutral`, `surface1`, `surface2` — is a
250
+ * position on the greyscale, so it survives into the monochrome table below.
251
+ *
252
+ * Derived from the segment, never from a substring: `dark_teal_Button` is
253
+ * chromatic because one of its segments IS `teal`, while a future
254
+ * `dark_tealish` or a component called `Red` is not caught by accident.
255
+ */
256
+ const CHROMA = new Set(['blue', 'green', 'orange', 'pink', 'purple', 'red', 'teal', 'yellow']);
257
+ const chromatic = (name) => name.split('_').slice(1).some((s) => CHROMA.has(s));
258
+ /**
259
+ * The same system with the chromatic sub-themes omitted — 150 themes instead of
260
+ * 390, and 62% less theme table.
261
+ *
262
+ * A gui theme table is DATA that ships: it cannot be tree-shaken, because a
263
+ * theme is selected by string at runtime. So a surface that renders no colour
264
+ * still pays for every hue. The browser extension's new-tab page is monochrome
265
+ * by design and loads on every single tab, and 240 themes it can never activate
266
+ * were the difference between it fitting its bundle budget and not.
267
+ *
268
+ * This is NOT a second design system. It is the same `config` with rows
269
+ * removed, from the same scale, so nothing here can drift from `config` — only
270
+ * be absent from it. Reach for it when a surface genuinely renders no hue;
271
+ * anything that does must use `config`, because a missing theme falls back
272
+ * silently rather than failing.
273
+ */
274
+ export const monochrome = createGui({
275
+ ...base,
276
+ themes: Object.fromEntries(Object.entries(themes).filter(([name]) => !chromatic(name))),
277
+ });
245
278
  //# sourceMappingURL=gui-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gui-config.js","sourceRoot":"","sources":["../src/gui-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gui-config.js","sourceRoot":"","sources":["../src/gui-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,gFAAgF;AAChF,6EAA6E;AAC7E,EAAE;AACF,iFAAiF;AACjF,mFAAmF;AACnF,iFAAiF;AACjF,6DAA6D;AAC7D,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,2EAA2E;AAC3E,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,oEAAoE;AACpE,gFAAgF;AAChF,gFAAgF;AAChF,4EAA4E;AAC5E,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,cAAc;AACd,gFAAgF;AAEhF,MAAM,KAAK,GAAG,+CAA+C,CAAA;AAE7D;;;yCAGyC;AACzC,MAAM,UAAU,GAAG,wEAAwE,CAAA;AAE3F;;;8EAG8E;AAC9E,MAAM,SAAS,GAAG;IAChB,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,EAAE;CACA,CAAA;AAEV;;+DAE+D;AAC/D,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,EAAE;CACA,CAAA;AAEV;;;0EAG0E;AAC1E,MAAM,MAAM,GAAG;IACb,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,CAAC;CACC,CAAA;AAEV;;;iDAGiD;AACjD,MAAM,IAAI,GAA2B;IACnC,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACV,CAAA;AAED,MAAM,KAAK,GAA2B,EAAE,CAAA;AACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;AACrB,CAAC;AACD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,EAAW,CAAA;AACnF,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAW,CAAA;AAC5D,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,iBAAiB,EAAW,CAAA;AAElF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhG,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;IACzD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IACpE,OAAO;QACL,IAAI;QACJ,IAAI,KAAK,CAAC;YACR,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,MAAM,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC,GAAG;gBACnC,WAAW,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC,GAAG;gBACxC,OAAO,EAAE,qBAAqB,KAAK,CAAC,CAAC,CAAC,GAAG;aAC1C;YACH,CAAC,CAAC,MAAM;KACX,CAAA;AACH,CAAC,CAAC,CAC4B,CAAA;AAEhC,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,IAAI,GAAG;IACX,GAAG,aAAa;IAChB,MAAM,EAAE;QACN,GAAG,aAAa,CAAC,MAAM;QACvB,MAAM,EAAE,MAAM;QACd,KAAK;KACN;IACD,KAAK,EAAE;QACL,GAAG,aAAa,CAAC,KAAK;QACtB,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;QAC9F,OAAO,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;QACpG,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,+CAA+C;QAC/C,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;KACpG;CACF,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AAEpD,eAAe,MAAM,CAAA;AAErB;;;;;;;;GAQG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE9F,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;IAClC,GAAG,IAAI;IACP,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC3C;CACnB,CAAC,CAAA"}
package/dist/styles.css CHANGED
@@ -231,23 +231,23 @@
231
231
  silent (the border simply stops existing) and has shipped before. */
232
232
  .light, :root.t_light, .t_light{
233
233
  color-scheme:light;
234
- --background:#ffffff;
234
+ --background:#f7f7f7;
235
235
  --foreground:#0a0a0a;
236
236
  /* A ladder, not four names for #f5f5f5. Light lifts by the same tiny steps
237
237
  dark does — ~2% per rung — so --surface-0..3 mean something in both themes. */
238
- --card:#fafafa;
238
+ --card:#f2f2f2;
239
239
  --card-foreground:#0a0a0a;
240
- --popover:#ffffff;
240
+ --popover:#fbfbfb;
241
241
  --popover-foreground:#0a0a0a;
242
242
  --primary:#0a0a0a;
243
243
  --primary-hover:#262626;
244
244
  --primary-foreground:#fafafa;
245
- --secondary:#ededed;
245
+ --secondary:#e4e4e4;
246
246
  --secondary-hover:#e0e0e0;
247
247
  --secondary-foreground:#0a0a0a;
248
- --muted:#f5f5f5;
248
+ --muted:#ededed;
249
249
  --muted-foreground:#525252;
250
- --accent:#ededed;
250
+ --accent:#e4e4e4;
251
251
  --accent-foreground:#0a0a0a;
252
252
  --destructive:var(--state-error);
253
253
  --destructive-hover:#dc2626;
@@ -272,9 +272,9 @@
272
272
  --selection:rgb(0 0 0 / .16);
273
273
  --glass:rgb(0 0 0 / .04);
274
274
  --glass-strong:rgb(0 0 0 / .07);
275
- --surface-card:#fafafa;
276
- --surface-card-emphasis:#ffffff;
277
- --surface-card-quiet:#fcfcfc;
275
+ --surface-card:#f2f2f2;
276
+ --surface-card-emphasis:#fdfdfd;
277
+ --surface-card-quiet:#f5f5f5;
278
278
  --surface-overlay:rgb(255 255 255 / .95);
279
279
  --surface-header:rgb(255 255 255 / .8);
280
280
  --surface-scrim:rgb(0 0 0 / .5);
package/dist/theme.css CHANGED
@@ -229,23 +229,23 @@
229
229
  silent (the border simply stops existing) and has shipped before. */
230
230
  .light, :root.t_light, .t_light{
231
231
  color-scheme:light;
232
- --background:#ffffff;
232
+ --background:#f7f7f7;
233
233
  --foreground:#0a0a0a;
234
234
  /* A ladder, not four names for #f5f5f5. Light lifts by the same tiny steps
235
235
  dark does — ~2% per rung — so --surface-0..3 mean something in both themes. */
236
- --card:#fafafa;
236
+ --card:#f2f2f2;
237
237
  --card-foreground:#0a0a0a;
238
- --popover:#ffffff;
238
+ --popover:#fbfbfb;
239
239
  --popover-foreground:#0a0a0a;
240
240
  --primary:#0a0a0a;
241
241
  --primary-hover:#262626;
242
242
  --primary-foreground:#fafafa;
243
- --secondary:#ededed;
243
+ --secondary:#e4e4e4;
244
244
  --secondary-hover:#e0e0e0;
245
245
  --secondary-foreground:#0a0a0a;
246
- --muted:#f5f5f5;
246
+ --muted:#ededed;
247
247
  --muted-foreground:#525252;
248
- --accent:#ededed;
248
+ --accent:#e4e4e4;
249
249
  --accent-foreground:#0a0a0a;
250
250
  --destructive:var(--state-error);
251
251
  --destructive-hover:#dc2626;
@@ -270,9 +270,9 @@
270
270
  --selection:rgb(0 0 0 / .16);
271
271
  --glass:rgb(0 0 0 / .04);
272
272
  --glass-strong:rgb(0 0 0 / .07);
273
- --surface-card:#fafafa;
274
- --surface-card-emphasis:#ffffff;
275
- --surface-card-quiet:#fcfcfc;
273
+ --surface-card:#f2f2f2;
274
+ --surface-card-emphasis:#fdfdfd;
275
+ --surface-card-quiet:#f5f5f5;
276
276
  --surface-overlay:rgb(255 255 255 / .95);
277
277
  --surface-header:rgb(255 255 255 / .8);
278
278
  --surface-scrim:rgb(0 0 0 / .5);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.0.62",
3
+ "version": "8.0.64",
4
4
  "type": "module",
5
5
  "description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
6
6
  "exports": {