gridsmith-ui 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/CHANGELOG.md +1010 -0
  2. package/README.md +21 -5
  3. package/dist/charts.d.ts +2 -2
  4. package/dist/charts.js +59 -44
  5. package/dist/charts.js.map +1 -1
  6. package/dist/chat.js +7 -6
  7. package/dist/chat.js.map +1 -1
  8. package/dist/{chunk-X2HEV7FB.js → chunk-2ROVDVLZ.js} +24 -34
  9. package/dist/chunk-2ROVDVLZ.js.map +1 -0
  10. package/dist/chunk-3BRQRKDO.js +1 -0
  11. package/dist/chunk-3BRQRKDO.js.map +1 -1
  12. package/dist/chunk-66JJCQU3.js +46 -0
  13. package/dist/chunk-66JJCQU3.js.map +1 -0
  14. package/dist/chunk-7Q46JXSK.js +1 -0
  15. package/dist/chunk-7Q46JXSK.js.map +1 -1
  16. package/dist/chunk-7RKC5C7G.js +35 -0
  17. package/dist/chunk-7RKC5C7G.js.map +1 -0
  18. package/dist/{chunk-OTCEJN64.js → chunk-BRAXJEEP.js} +8 -6
  19. package/dist/chunk-BRAXJEEP.js.map +1 -0
  20. package/dist/chunk-CRQ6KCRD.js +1 -0
  21. package/dist/chunk-CRQ6KCRD.js.map +1 -1
  22. package/dist/{chunk-MYIJNVTK.js → chunk-DQCHCLEJ.js} +11 -9
  23. package/dist/chunk-DQCHCLEJ.js.map +1 -0
  24. package/dist/{chunk-RWKCAKN3.js → chunk-EIWXVICU.js} +7 -6
  25. package/dist/chunk-EIWXVICU.js.map +1 -0
  26. package/dist/{chunk-SFY2KMHG.js → chunk-FD4YED7O.js} +6 -4
  27. package/dist/chunk-FD4YED7O.js.map +1 -0
  28. package/dist/{chunk-MD2EFMES.js → chunk-GXMTS3YD.js} +4 -3
  29. package/dist/chunk-GXMTS3YD.js.map +1 -0
  30. package/dist/chunk-HP7WUZPK.js +1 -0
  31. package/dist/chunk-HP7WUZPK.js.map +1 -1
  32. package/dist/chunk-HTXP5BMM.js +38 -0
  33. package/dist/chunk-HTXP5BMM.js.map +1 -0
  34. package/dist/chunk-NRHIYS5W.js +1 -0
  35. package/dist/chunk-NRHIYS5W.js.map +1 -1
  36. package/dist/{chunk-KWLNEH53.js → chunk-OPFJEL3Z.js} +59 -28
  37. package/dist/chunk-OPFJEL3Z.js.map +1 -0
  38. package/dist/chunk-OYNUU346.js +78 -0
  39. package/dist/chunk-OYNUU346.js.map +1 -0
  40. package/dist/chunk-QM4SJKWV.js +1 -0
  41. package/dist/chunk-QM4SJKWV.js.map +1 -1
  42. package/dist/{chunk-ZYVXV4WC.js → chunk-R4GXKH4U.js} +58 -11
  43. package/dist/chunk-R4GXKH4U.js.map +1 -0
  44. package/dist/{chunk-HXVXJUGV.js → chunk-TJEV7YAY.js} +38 -10
  45. package/dist/chunk-TJEV7YAY.js.map +1 -0
  46. package/dist/{chunk-EX64MN2U.js → chunk-TRDXWHD2.js} +8 -7
  47. package/dist/chunk-TRDXWHD2.js.map +1 -0
  48. package/dist/chunk-WH2FUFAC.js +1 -0
  49. package/dist/chunk-WH2FUFAC.js.map +1 -1
  50. package/dist/chunk-XVB55M3N.js +1 -0
  51. package/dist/chunk-XVB55M3N.js.map +1 -1
  52. package/dist/{chunk-CYN5O567.js → chunk-YUTF2X6B.js} +45 -22
  53. package/dist/chunk-YUTF2X6B.js.map +1 -0
  54. package/dist/chunk-ZI3OQDET.js +1 -0
  55. package/dist/chunk-ZI3OQDET.js.map +1 -1
  56. package/dist/data-grid.d.ts +1 -1
  57. package/dist/data-grid.js +21 -12
  58. package/dist/data-grid.js.map +1 -1
  59. package/dist/editor-mentions.js +3 -2
  60. package/dist/editor-mentions.js.map +1 -1
  61. package/dist/editor.js +47 -26
  62. package/dist/editor.js.map +1 -1
  63. package/dist/{feather-VFWLAILO.js → feather-FNBQ74RR.js} +10 -17
  64. package/dist/feather-FNBQ74RR.js.map +1 -0
  65. package/dist/{heroicons-H3Z7DFCF.js → heroicons-DODCSYWD.js} +9 -8
  66. package/dist/heroicons-DODCSYWD.js.map +1 -0
  67. package/dist/icons.d.ts +31 -4
  68. package/dist/icons.js +2 -1
  69. package/dist/icons.js.map +1 -1
  70. package/dist/index.d.ts +456 -66
  71. package/dist/index.js +2264 -1091
  72. package/dist/index.js.map +1 -1
  73. package/dist/kanban.js +20 -12
  74. package/dist/kanban.js.map +1 -1
  75. package/dist/{lucide-MR32KM4G.js → lucide-ZWE3EPGP.js} +9 -8
  76. package/dist/lucide-ZWE3EPGP.js.map +1 -0
  77. package/dist/{phosphor-ABQQL5N5.js → phosphor-DIHPA4AJ.js} +9 -8
  78. package/dist/phosphor-DIHPA4AJ.js.map +1 -0
  79. package/dist/resizable.js +24 -17
  80. package/dist/resizable.js.map +1 -1
  81. package/dist/roots.css +116 -22
  82. package/dist/{tabler-ANUSY4D2.js → tabler-D3VYTSGI.js} +9 -8
  83. package/dist/tabler-D3VYTSGI.js.map +1 -0
  84. package/dist/tokens.css +122 -34
  85. package/dist/{use-pagination-BnKOnBdz.d.ts → use-pagination-BxcRlNQG.d.ts} +6 -0
  86. package/dist/utils.d.ts +321 -5
  87. package/dist/utils.js +885 -1
  88. package/dist/utils.js.map +1 -1
  89. package/dist/virtualized.d.ts +1 -1
  90. package/dist/virtualized.js +20 -12
  91. package/dist/virtualized.js.map +1 -1
  92. package/dist-static/tokens.css +122 -34
  93. package/package.json +5 -3
  94. package/dist/chunk-CYN5O567.js.map +0 -1
  95. package/dist/chunk-EX64MN2U.js.map +0 -1
  96. package/dist/chunk-HXVXJUGV.js.map +0 -1
  97. package/dist/chunk-KWLNEH53.js.map +0 -1
  98. package/dist/chunk-M2QRNBDQ.js +0 -41
  99. package/dist/chunk-M2QRNBDQ.js.map +0 -1
  100. package/dist/chunk-MD2EFMES.js.map +0 -1
  101. package/dist/chunk-MYIJNVTK.js.map +0 -1
  102. package/dist/chunk-OTCEJN64.js.map +0 -1
  103. package/dist/chunk-RWKCAKN3.js.map +0 -1
  104. package/dist/chunk-SFY2KMHG.js.map +0 -1
  105. package/dist/chunk-X2HEV7FB.js.map +0 -1
  106. package/dist/chunk-ZYVXV4WC.js.map +0 -1
  107. package/dist/feather-VFWLAILO.js.map +0 -1
  108. package/dist/heroicons-H3Z7DFCF.js.map +0 -1
  109. package/dist/lucide-MR32KM4G.js.map +0 -1
  110. package/dist/phosphor-ABQQL5N5.js.map +0 -1
  111. package/dist/tabler-ANUSY4D2.js.map +0 -1
@@ -61,13 +61,11 @@
61
61
  --ds-glass-tint: 1;
62
62
  --ds-glass-saturate: 100%;
63
63
  --ds-glass-border-alpha: 0;
64
+ --ds-control-edge-strong: oklch(0.615 calc(0.010 * var(--ds-sat-neutral)) var(--ds-hue-neutral));
64
65
  --ds-accent-primary: var(--ds-primary-700);
65
66
  --ds-accent-primary-hover: var(--ds-primary-800);
66
67
  --ds-accent-primary-active: var(--ds-primary-900);
67
- --ds-border-focus: var(--ds-primary-700);
68
68
  --ds-ring-active: var(--ds-accent-soft);
69
- --ds-input-focus-ring: var(--ds-ring-active);
70
- --ds-shadow-focus: 0 0 0 2px var(--ds-primary-700);
71
69
  --ds-tint-strength: 0.15;
72
70
  --ds-gradient: linear-gradient(135deg, oklch(0.4 0.1320 250), oklch(0.550 0.1100 210));
73
71
  --ds-gradient-start: oklch(0.4 0.1320 250);
@@ -79,7 +77,7 @@
79
77
  --ds-accent-subtle: color-mix(in srgb, var(--ds-accent-primary) 10%, transparent);
80
78
  --ds-accent-muted: color-mix(in srgb, var(--ds-accent-primary) 20%, transparent);
81
79
  --ds-accent-soft: color-mix(in srgb, var(--ds-accent-primary) 30%, transparent);
82
- --ds-accent-subtle-text: var(--ds-accent-primary);
80
+ --ds-accent-subtle-text: var(--ds-accent-text, var(--ds-accent-primary));
83
81
  --ds-accent-bg: oklch(0.92 0.0300 250);
84
82
  --ds-accent-text: oklch(0.35 0.1000 250);
85
83
  --ds-status-success: oklch(0.55 0.12 150);
@@ -154,7 +152,7 @@
154
152
  --ds-nav-h-track-gap: 0px;
155
153
  --ds-nav-h-badge-bg: var(--ds-accent-primary);
156
154
  --ds-nav-v-active-bg: var(--ds-tab-active-bg);
157
- --ds-nav-v-active-text: var(--ds-accent-primary);
155
+ --ds-nav-v-active-text: var(--ds-accent-ink);
158
156
  --ds-nav-v-active-rail: var(--ds-border-width-thick);
159
157
  --ds-nav-v-item-radius: var(--ds-radius-sm);
160
158
  --ds-nav-v-track-border: 0px;
@@ -162,17 +160,17 @@
162
160
  --ds-nav-v-active-muted: var(--ds-text-secondary);
163
161
  --ds-nav-v-badge-bg: var(--ds-accent-primary);
164
162
  --ds-tree-active-bg: var(--ds-tab-active-bg);
165
- --ds-tree-active-text: var(--ds-accent-primary);
163
+ --ds-tree-active-text: var(--ds-accent-ink);
166
164
  --ds-tree-active-muted: var(--ds-text-muted);
167
165
  --ds-tree-active-rail: var(--ds-border-width-thick);
168
166
  --ds-sidebar-active-bg: var(--ds-sidebar-accent-subtle);
169
- --ds-sidebar-active-text: var(--ds-sidebar-accent);
170
- --ds-sidebar-active-accent: var(--ds-sidebar-accent);
167
+ --ds-sidebar-active-text: var(--ds-sidebar-accent-ink);
168
+ --ds-sidebar-active-accent: var(--ds-sidebar-accent-ink);
171
169
  --ds-sidebar-active-rail: var(--ds-border-width-thick);
172
170
  --ds-sidebar-active-image: none;
173
171
  --ds-switch-off-fill: transparent;
174
- --ds-switch-off-edge: var(--ds-input-border);
175
- --ds-switch-off-knob: color-mix(in oklab, var(--ds-input-border) var(--ds-switch-knob-share, 100%), var(--ds-bg-surface));
172
+ --ds-switch-off-edge: var(--ds-control-edge-strong);
173
+ --ds-switch-off-knob: color-mix(in oklab, var(--ds-control-edge-strong) var(--ds-switch-knob-share, 100%), var(--ds-bg-surface));
176
174
  }
177
175
 
178
176
  /* Navigation active styles and the switch's off look — redeclared for nested mode wrappers and overlay portals */
@@ -187,7 +185,7 @@
187
185
  --ds-nav-h-track-gap: 0px;
188
186
  --ds-nav-h-badge-bg: var(--ds-accent-primary);
189
187
  --ds-nav-v-active-bg: var(--ds-tab-active-bg);
190
- --ds-nav-v-active-text: var(--ds-accent-primary);
188
+ --ds-nav-v-active-text: var(--ds-accent-ink);
191
189
  --ds-nav-v-active-rail: var(--ds-border-width-thick);
192
190
  --ds-nav-v-item-radius: var(--ds-radius-sm);
193
191
  --ds-nav-v-track-border: 0px;
@@ -195,17 +193,17 @@
195
193
  --ds-nav-v-active-muted: var(--ds-text-secondary);
196
194
  --ds-nav-v-badge-bg: var(--ds-accent-primary);
197
195
  --ds-tree-active-bg: var(--ds-tab-active-bg);
198
- --ds-tree-active-text: var(--ds-accent-primary);
196
+ --ds-tree-active-text: var(--ds-accent-ink);
199
197
  --ds-tree-active-muted: var(--ds-text-muted);
200
198
  --ds-tree-active-rail: var(--ds-border-width-thick);
201
199
  --ds-sidebar-active-bg: var(--ds-sidebar-accent-subtle);
202
- --ds-sidebar-active-text: var(--ds-sidebar-accent);
203
- --ds-sidebar-active-accent: var(--ds-sidebar-accent);
200
+ --ds-sidebar-active-text: var(--ds-sidebar-accent-ink);
201
+ --ds-sidebar-active-accent: var(--ds-sidebar-accent-ink);
204
202
  --ds-sidebar-active-rail: var(--ds-border-width-thick);
205
203
  --ds-sidebar-active-image: none;
206
204
  --ds-switch-off-fill: transparent;
207
- --ds-switch-off-edge: var(--ds-input-border);
208
- --ds-switch-off-knob: color-mix(in oklab, var(--ds-input-border) var(--ds-switch-knob-share, 100%), var(--ds-bg-surface));
205
+ --ds-switch-off-edge: var(--ds-control-edge-strong);
206
+ --ds-switch-off-knob: color-mix(in oklab, var(--ds-control-edge-strong) var(--ds-switch-knob-share, 100%), var(--ds-bg-surface));
209
207
  }
210
208
 
211
209
  /* Density — hold the configured value at every viewport */
@@ -228,6 +226,23 @@
228
226
  --ds-sidebar-item-active: var(--ds-neutral-200);
229
227
  }
230
228
 
229
+ /* Readable colours — light mode: derived to reach their minimum contrast on this theme's grounds */
230
+ :root:not([data-mode="dark"]), [data-mode="light"] {
231
+ --ds-focus: var(--ds-accent-primary);
232
+ --ds-accent-ink: var(--ds-accent-primary);
233
+ --ds-text-muted: oklch(0.52 calc(0.0067 * var(--ds-sat-neutral)) var(--ds-hue-neutral));
234
+ --ds-text-secondary: var(--ds-neutral-600);
235
+ --ds-status-success-text: oklch(0.35 0.1000 150);
236
+ --ds-status-warning-text: oklch(0.35 0.1000 55);
237
+ --ds-status-error-text: oklch(0.35 0.1000 20);
238
+ --ds-status-info-text: oklch(0.35 0.1000 200);
239
+ --ds-text-on-primary-muted: var(--ds-text-on-primary);
240
+ --ds-sidebar-text-muted: var(--ds-text-muted);
241
+ --ds-sidebar-text-secondary: var(--ds-text-secondary);
242
+ --ds-sidebar-focus: var(--ds-focus);
243
+ --ds-sidebar-accent-ink: var(--ds-sidebar-accent);
244
+ }
245
+
231
246
  /* Dark palette overrides — dark mode */
232
247
  /* This theme defaults to light. To offer a mode switch, set data-mode="dark" on <html>. No attribute renders the default. */
233
248
  [data-mode="dark"] {
@@ -235,13 +250,11 @@
235
250
  --ds-sat-primary: 0.65;
236
251
  --ds-hue-neutral: 260;
237
252
  --ds-sat-neutral: 0.5;
253
+ --ds-control-edge-strong: oklch(0.645 calc(0.008 * var(--ds-sat-neutral)) var(--ds-hue-neutral));
238
254
  --ds-accent-primary: var(--ds-primary-500);
239
255
  --ds-accent-primary-hover: var(--ds-primary-400);
240
256
  --ds-accent-primary-active: var(--ds-primary-300);
241
- --ds-border-focus: var(--ds-primary-500);
242
257
  --ds-ring-active: var(--ds-accent-soft);
243
- --ds-input-focus-ring: var(--ds-ring-active);
244
- --ds-shadow-focus: 0 0 0 2px var(--ds-primary-500);
245
258
  --ds-tint-strength: 0.15;
246
259
  --ds-gradient: linear-gradient(135deg, oklch(0.55 0.1300 223), oklch(0.330 0.0945 240));
247
260
  --ds-gradient-start: oklch(0.55 0.1300 223);
@@ -308,7 +321,7 @@
308
321
  --ds-status-success-bg: oklch(0.22 0.02 150);
309
322
  --ds-status-warning: oklch(0.75 0.12 55);
310
323
  --ds-status-warning-bg: oklch(0.22 0.025 55);
311
- --ds-status-warning-text: oklch(0.75 0.12 55);
324
+ --ds-status-warning-text: oklch(0.92 0.0300 55);
312
325
  --ds-status-error: oklch(0.65 0.15 20);
313
326
  --ds-status-error-bg: oklch(0.22 0.02 20);
314
327
  --ds-status-info: oklch(0.65 0.10 200);
@@ -317,6 +330,77 @@
317
330
  --ds-text-on-warning: oklch(0.350 0.1000 55);
318
331
  --ds-text-on-error: oklch(0.220 0.1000 20);
319
332
  --ds-text-on-info: oklch(0.230 0.1000 200);
333
+ --ds-focus: oklch(0.67 calc(0.1773 * var(--ds-sat-primary)) var(--ds-hue-primary));
334
+ --ds-accent-ink: oklch(0.78 calc(0.145 * var(--ds-sat-primary)) var(--ds-hue-primary));
335
+ --ds-text-muted: oklch(0.74 calc(0.0092 * var(--ds-sat-neutral)) var(--ds-hue-neutral));
336
+ --ds-text-secondary: var(--ds-neutral-300);
337
+ --ds-status-success-text: oklch(0.92 0.0300 150);
338
+ --ds-status-error-text: oklch(0.92 0.0300 20);
339
+ --ds-status-info-text: oklch(0.92 0.0300 200);
340
+ --ds-text-on-primary-muted: var(--ds-text-on-primary);
341
+ --ds-sidebar-text-muted: var(--ds-text-muted);
342
+ --ds-sidebar-text-secondary: var(--ds-text-secondary);
343
+ --ds-sidebar-focus: var(--ds-focus);
344
+ --ds-sidebar-accent-ink: oklch(0.66 calc(0.18 * var(--ds-sat-primary)) var(--ds-hue-primary));
345
+ }
346
+
347
+ /* A wrapper in the light mode inside the page switched to dark (a component given its own mode) takes its own values back */
348
+ [data-mode="light"] {
349
+ --ds-hue-primary: 250;
350
+ --ds-sat-primary: 0.8;
351
+ --ds-accent-primary: var(--ds-primary-700);
352
+ --ds-accent-primary-hover: var(--ds-primary-800);
353
+ --ds-accent-primary-active: var(--ds-primary-900);
354
+ --ds-gradient: linear-gradient(135deg, oklch(0.4 0.1320 250), oklch(0.550 0.1100 210));
355
+ --ds-gradient-start: oklch(0.4 0.1320 250);
356
+ --ds-gradient-end: oklch(0.550 0.1100 210);
357
+ --ds-text-muted-on-tint: var(--ds-neutral-600);
358
+ --ds-accent-bg: oklch(0.92 0.0300 250);
359
+ --ds-accent-text: oklch(0.35 0.1000 250);
360
+ --ds-check-bg: var(--ds-accent-primary);
361
+ --ds-check-fg: var(--ds-text-on-primary);
362
+ --ds-check-border: var(--ds-accent-primary);
363
+ --ds-palette-1-bold: oklch(0.55 0.1200 110);
364
+ --ds-palette-1-subtle: oklch(0.92 0.0300 110);
365
+ --ds-palette-1-dark: oklch(0.35 0.1000 110);
366
+ --ds-palette-1-bg: var(--ds-palette-1-subtle);
367
+ --ds-palette-1-text: var(--ds-palette-1-dark);
368
+ --ds-palette-1-chart: var(--ds-palette-1-bold);
369
+ --ds-palette-2-bold: oklch(0.54 0.1200 207.50800000000004);
370
+ --ds-palette-2-subtle: oklch(0.92 0.0300 207.50800000000004);
371
+ --ds-palette-2-dark: oklch(0.35 0.1000 207.50800000000004);
372
+ --ds-palette-2-bg: var(--ds-palette-2-subtle);
373
+ --ds-palette-2-text: var(--ds-palette-2-dark);
374
+ --ds-palette-2-chart: var(--ds-palette-2-bold);
375
+ --ds-palette-3-bold: oklch(0.55 0.1200 345.0160000000001);
376
+ --ds-palette-3-subtle: oklch(0.92 0.0300 345.0160000000001);
377
+ --ds-palette-3-dark: oklch(0.35 0.1000 345.0160000000001);
378
+ --ds-palette-3-bg: var(--ds-palette-3-subtle);
379
+ --ds-palette-3-text: var(--ds-palette-3-dark);
380
+ --ds-palette-3-chart: var(--ds-palette-3-bold);
381
+ --ds-palette-4-bold: oklch(0.55 0.1200 162.524);
382
+ --ds-palette-4-subtle: oklch(0.92 0.0300 162.524);
383
+ --ds-palette-4-dark: oklch(0.35 0.1000 162.524);
384
+ --ds-palette-4-bg: var(--ds-palette-4-subtle);
385
+ --ds-palette-4-text: var(--ds-palette-4-dark);
386
+ --ds-palette-4-chart: var(--ds-palette-4-bold);
387
+ --ds-palette-5-bold: oklch(0.55 0.1200 275.03200000000004);
388
+ --ds-palette-5-subtle: oklch(0.92 0.0300 275.03200000000004);
389
+ --ds-palette-5-dark: oklch(0.35 0.1000 275.03200000000004);
390
+ --ds-palette-5-bg: var(--ds-palette-5-subtle);
391
+ --ds-palette-5-text: var(--ds-palette-5-dark);
392
+ --ds-palette-5-chart: var(--ds-palette-5-bold);
393
+ --ds-chart-1: var(--ds-accent-primary);
394
+ --ds-chart-1-soft: color-mix(in oklch, var(--ds-accent-primary) 30%, transparent);
395
+ --ds-status-success: oklch(0.55 0.12 150);
396
+ --ds-status-success-bg: oklch(0.92 0.03 150);
397
+ --ds-status-warning: oklch(0.70 0.12 55);
398
+ --ds-status-warning-bg: oklch(0.92 0.035 55);
399
+ --ds-status-error: oklch(0.55 0.15 20);
400
+ --ds-status-error-bg: oklch(0.92 0.03 20);
401
+ --ds-status-info: oklch(0.55 0.10 200);
402
+ --ds-status-info-bg: oklch(0.92 0.025 200);
403
+ --ds-text-on-warning: oklch(0.300 0.1000 55);
320
404
  }
321
405
 
322
406
  /* Dark portals on a light page (a dark sidebar's tooltips and menus carry data-ds-overlay="dark") */
@@ -329,7 +413,7 @@
329
413
  --ds-bg-emphasis: var(--ds-neutral-600);
330
414
  --ds-text-primary: var(--ds-neutral-50);
331
415
  --ds-text-secondary: var(--ds-neutral-300);
332
- --ds-text-muted: var(--ds-neutral-400);
416
+ --ds-text-muted: oklch(0.74 calc(0.0092 * var(--ds-sat-neutral)) var(--ds-hue-neutral));
333
417
  --ds-text-on-success: oklch(0.240 0.1000 150);
334
418
  --ds-text-on-warning: oklch(0.350 0.1000 55);
335
419
  --ds-text-on-error: oklch(0.220 0.1000 20);
@@ -337,12 +421,11 @@
337
421
  --ds-border-default: var(--ds-neutral-600);
338
422
  --ds-border-subtle: var(--ds-neutral-700);
339
423
  --ds-border-strong: var(--ds-neutral-400);
340
- --ds-border-focus: var(--ds-primary-500);
341
424
  --ds-status-success: oklch(0.65 0.12 150);
342
425
  --ds-status-success-bg: oklch(0.22 0.02 150);
343
426
  --ds-status-warning: oklch(0.75 0.12 55);
344
427
  --ds-status-warning-bg: oklch(0.22 0.025 55);
345
- --ds-status-warning-text: oklch(0.75 0.12 55);
428
+ --ds-status-warning-text: oklch(0.92 0.0300 55);
346
429
  --ds-status-error: oklch(0.65 0.15 20);
347
430
  --ds-status-error-bg: oklch(0.22 0.02 20);
348
431
  --ds-status-info: oklch(0.65 0.10 200);
@@ -353,10 +436,9 @@
353
436
  --ds-tab-hover-bg: var(--ds-bg-muted);
354
437
  --ds-tab-active-bg: var(--ds-bg-surface);
355
438
  --ds-input-bg: var(--ds-neutral-800);
356
- --ds-input-border: oklch(0.645 calc(0.008 * var(--ds-sat-neutral)) var(--ds-hue-neutral));
357
- --ds-input-border-hover: var(--ds-neutral-400);
358
- --ds-input-focus-ring: var(--ds-ring-active);
359
- --ds-shadow-focus: 0 0 0 2px var(--ds-primary-500);
439
+ --ds-input-border: var(--ds-neutral-600);
440
+ --ds-input-border-hover: var(--ds-neutral-500);
441
+ --ds-control-edge-strong: oklch(0.645 calc(0.008 * var(--ds-sat-neutral)) var(--ds-hue-neutral));
360
442
  --ds-accent-primary: var(--ds-primary-500);
361
443
  --ds-accent-primary-hover: var(--ds-primary-400);
362
444
  --ds-accent-primary-active: var(--ds-primary-300);
@@ -372,7 +454,7 @@
372
454
  --ds-accent-subtle: color-mix(in srgb, var(--ds-accent-primary) 10%, transparent);
373
455
  --ds-accent-muted: color-mix(in srgb, var(--ds-accent-primary) 20%, transparent);
374
456
  --ds-accent-soft: color-mix(in srgb, var(--ds-accent-primary) 30%, transparent);
375
- --ds-accent-subtle-text: var(--ds-accent-primary);
457
+ --ds-accent-subtle-text: var(--ds-accent-text, var(--ds-accent-primary));
376
458
  --ds-accent-bg: oklch(0.35 0.1000 223);
377
459
  --ds-accent-text: oklch(0.92 0.0300 223);
378
460
  --ds-check-bg: var(--ds-primary-400);
@@ -388,7 +470,7 @@
388
470
  --ds-nav-h-track-gap: 0px;
389
471
  --ds-nav-h-badge-bg: var(--ds-accent-primary);
390
472
  --ds-nav-v-active-bg: var(--ds-tab-active-bg);
391
- --ds-nav-v-active-text: var(--ds-accent-primary);
473
+ --ds-nav-v-active-text: var(--ds-accent-ink);
392
474
  --ds-nav-v-active-rail: var(--ds-border-width-thick);
393
475
  --ds-nav-v-item-radius: var(--ds-radius-sm);
394
476
  --ds-nav-v-track-border: 0px;
@@ -396,16 +478,22 @@
396
478
  --ds-nav-v-active-muted: var(--ds-text-secondary);
397
479
  --ds-nav-v-badge-bg: var(--ds-accent-primary);
398
480
  --ds-tree-active-bg: var(--ds-tab-active-bg);
399
- --ds-tree-active-text: var(--ds-accent-primary);
481
+ --ds-tree-active-text: var(--ds-accent-ink);
400
482
  --ds-tree-active-muted: var(--ds-text-muted);
401
483
  --ds-tree-active-rail: var(--ds-border-width-thick);
402
484
  --ds-sidebar-active-bg: var(--ds-sidebar-accent-subtle);
403
- --ds-sidebar-active-text: var(--ds-sidebar-accent);
404
- --ds-sidebar-active-accent: var(--ds-sidebar-accent);
485
+ --ds-sidebar-active-text: var(--ds-sidebar-accent-ink);
486
+ --ds-sidebar-active-accent: var(--ds-sidebar-accent-ink);
405
487
  --ds-sidebar-active-rail: var(--ds-border-width-thick);
406
488
  --ds-sidebar-active-image: none;
407
489
  --ds-switch-off-fill: transparent;
408
- --ds-switch-off-edge: var(--ds-input-border);
409
- --ds-switch-off-knob: color-mix(in oklab, var(--ds-input-border) var(--ds-switch-knob-share, 100%), var(--ds-bg-surface));
490
+ --ds-switch-off-edge: var(--ds-control-edge-strong);
491
+ --ds-switch-off-knob: color-mix(in oklab, var(--ds-control-edge-strong) var(--ds-switch-knob-share, 100%), var(--ds-bg-surface));
410
492
  --ds-check-gradient: none;
493
+ --ds-focus: oklch(0.67 calc(0.1773 * var(--ds-sat-primary)) var(--ds-hue-primary));
494
+ --ds-accent-ink: oklch(0.78 calc(0.145 * var(--ds-sat-primary)) var(--ds-hue-primary));
495
+ --ds-status-success-text: oklch(0.92 0.0300 150);
496
+ --ds-status-error-text: oklch(0.92 0.0300 20);
497
+ --ds-status-info-text: oklch(0.92 0.0300 200);
498
+ --ds-text-on-primary-muted: var(--ds-text-on-primary);
411
499
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gridsmith-ui",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "description": "Gridsmith component library — React components and charts with design tokens and a CSS custom property theming engine",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -72,11 +72,13 @@
72
72
  "files": [
73
73
  "dist",
74
74
  "dist-static",
75
- "README.md"
75
+ "README.md",
76
+ "CHANGELOG.md"
76
77
  ],
77
78
  "scripts": {
78
79
  "build": "tsup && cp ../../showcase/src/styles/roots.css dist/roots.css && cp dist-static/tailwind.css dist/tailwind.css && cp dist-static/tokens.css dist/tokens.css",
79
- "typecheck": "tsc --noEmit"
80
+ "typecheck": "tsc --noEmit",
81
+ "prepublishOnly": "node ../../platform/scripts/check-ui-client-entries.mjs"
80
82
  },
81
83
  "dependencies": {
82
84
  "clsx": "^2.1.1",