@zeyos/zx 4.4.0 → 5.2.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 (252) hide show
  1. package/CHANGELOG.md +447 -0
  2. package/README.md +44 -11
  3. package/dist/types/components/account-menu/account-menu.d.ts +8 -0
  4. package/dist/types/components/activity-list/activity-list.d.ts +31 -1
  5. package/dist/types/components/app-icon/app-icon.d.ts +14 -2
  6. package/dist/types/components/app-sidebar/app-sidebar.d.ts +293 -17
  7. package/dist/types/components/avatar/avatar.d.ts +46 -7
  8. package/dist/types/components/badge/badge.d.ts +21 -1
  9. package/dist/types/components/button/button.d.ts +15 -0
  10. package/dist/types/components/calendar/calendar.d.ts +67 -5
  11. package/dist/types/components/card-view/card-view.d.ts +7 -4
  12. package/dist/types/components/card-view/record-card.d.ts +11 -0
  13. package/dist/types/components/chart/chart.d.ts +10 -0
  14. package/dist/types/components/checklist/checklist.d.ts +9 -0
  15. package/dist/types/components/code-editor/code-editor.d.ts +6 -17
  16. package/dist/types/components/context-menu/context-menu.d.ts +6 -2
  17. package/dist/types/components/data-filter/data-filter.d.ts +4 -4
  18. package/dist/types/components/datebox/date-range-box.d.ts +5 -1
  19. package/dist/types/components/datebox/datebox.d.ts +7 -2
  20. package/dist/types/components/dialog/dialog.d.ts +46 -6
  21. package/dist/types/components/dropdown/dropdown.d.ts +24 -9
  22. package/dist/types/components/entity-ref/entity-ref.d.ts +2 -2
  23. package/dist/types/components/field/field.d.ts +54 -2
  24. package/dist/types/components/fieldset/external-adapter.d.ts +83 -0
  25. package/dist/types/components/fieldset/fieldset.d.ts +26 -1
  26. package/dist/types/components/file-item/file-item.d.ts +34 -6
  27. package/dist/types/components/file-list/file-list.d.ts +35 -3
  28. package/dist/types/components/filter/filter.d.ts +127 -3
  29. package/dist/types/components/filter-panel/filter-panel.d.ts +36 -7
  30. package/dist/types/components/form/form.d.ts +12 -1
  31. package/dist/types/components/kanban-view/kanban-card.d.ts +8 -0
  32. package/dist/types/components/launcher/launcher.d.ts +268 -15
  33. package/dist/types/components/list-toolbar/list-toolbar.d.ts +16 -7
  34. package/dist/types/components/menu-button/menu-button.d.ts +39 -5
  35. package/dist/types/components/message/message.d.ts +132 -17
  36. package/dist/types/components/modal/modal.d.ts +43 -2
  37. package/dist/types/components/module-bar/module-bar.d.ts +395 -0
  38. package/dist/types/components/pagination/pagination.d.ts +17 -3
  39. package/dist/types/components/select/color.d.ts +12 -0
  40. package/dist/types/components/select/glyphs.d.ts +124 -0
  41. package/dist/types/components/select/select.d.ts +17 -3
  42. package/dist/types/components/sheet/sheet.d.ts +15 -0
  43. package/dist/types/components/stat-tile/stat-tile.d.ts +16 -5
  44. package/dist/types/components/tabbox/tabbox.d.ts +9 -0
  45. package/dist/types/components/table/table.d.ts +311 -18
  46. package/dist/types/components/tag-picker/tag-picker.d.ts +21 -4
  47. package/dist/types/components/tree/tree.d.ts +13 -0
  48. package/dist/types/components/view/record-view.d.ts +59 -2
  49. package/dist/types/components/view-settings/view-settings.d.ts +879 -0
  50. package/dist/types/components/workspace-switcher/workspace-switcher.d.ts +327 -0
  51. package/dist/types/core/breakpoint.d.ts +1 -1
  52. package/dist/types/core/component.d.ts +12 -2
  53. package/dist/types/core/i18n.d.ts +27 -3
  54. package/dist/types/core/icons.d.ts +23 -25
  55. package/dist/types/core/keyboard.d.ts +98 -1
  56. package/dist/types/core/messages.d.ts +382 -0
  57. package/dist/types/core/motion.d.ts +59 -0
  58. package/dist/types/core/overlay-host.d.ts +42 -1
  59. package/dist/types/core/overlay-stack.d.ts +260 -0
  60. package/dist/types/index.d.ts +10 -5
  61. package/dist/types/internal/app-rail.d.ts +38 -0
  62. package/dist/types/internal/menu-items.d.ts +71 -3
  63. package/dist/types/zeyos/connect.d.ts +6 -0
  64. package/dist/types/zeyos/form.d.ts +50 -9
  65. package/dist/types/zeyos/index.d.ts +2 -1
  66. package/dist/types/zeyos/launcher.d.ts +9 -0
  67. package/dist/types/zeyos/module-bar.d.ts +176 -0
  68. package/dist/types/zeyos/query.d.ts +110 -5
  69. package/dist/types/zeyos/schema.d.ts +24 -1
  70. package/dist/types/zeyos/table.d.ts +345 -22
  71. package/dist/types/zeyos/view.d.ts +26 -2
  72. package/dist/zx-zeyos.esm.js +6178 -1008
  73. package/dist/zx-zeyos.esm.min.js +53 -5
  74. package/dist/zx.css +2861 -827
  75. package/dist/zx.esm.js +8909 -1480
  76. package/dist/zx.esm.min.js +55 -7
  77. package/dist/zx.global.js +8911 -1482
  78. package/dist/zx.global.min.js +55 -7
  79. package/dist/zx.min.css +1 -1
  80. package/docs/api.json +1079 -117
  81. package/docs/llms.md +956 -154
  82. package/docs/llms.txt +9 -5
  83. package/package.json +1 -1
  84. package/src/components/account-menu/account-menu.css +35 -10
  85. package/src/components/account-menu/account-menu.js +12 -0
  86. package/src/components/activity-item/activity-item.css +1 -1
  87. package/src/components/activity-item/activity-item.js +3 -0
  88. package/src/components/activity-list/activity-list.css +38 -3
  89. package/src/components/activity-list/activity-list.js +61 -1
  90. package/src/components/app-icon/app-icon.css +14 -3
  91. package/src/components/app-icon/app-icon.js +11 -1
  92. package/src/components/app-rail/app-rail.css +59 -79
  93. package/src/components/app-sidebar/app-sidebar.css +304 -168
  94. package/src/components/app-sidebar/app-sidebar.js +667 -46
  95. package/src/components/aurora/aurora.css +5 -3
  96. package/src/components/avatar/avatar.css +32 -7
  97. package/src/components/avatar/avatar.js +72 -8
  98. package/src/components/badge/badge.css +54 -2
  99. package/src/components/badge/badge.js +29 -2
  100. package/src/components/breadcrumb/breadcrumb.css +1 -1
  101. package/src/components/button/button.css +67 -9
  102. package/src/components/button/button.js +38 -0
  103. package/src/components/calendar/calendar.css +47 -47
  104. package/src/components/calendar/calendar.js +26 -52
  105. package/src/components/card/card.css +4 -4
  106. package/src/components/card-view/card-view.css +14 -12
  107. package/src/components/card-view/card-view.js +13 -9
  108. package/src/components/card-view/record-card.js +14 -3
  109. package/src/components/chart/chart.css +4 -1
  110. package/src/components/chart/chart.js +12 -0
  111. package/src/components/check-button/check-button.css +10 -2
  112. package/src/components/checklist/checklist.css +9 -2
  113. package/src/components/checklist/checklist.js +11 -5
  114. package/src/components/checklist/field-adapter.js +3 -1
  115. package/src/components/code-editor/code-editor.css +7 -6
  116. package/src/components/code-editor/code-editor.js +19 -1
  117. package/src/components/code-editor/field-adapter.js +9 -2
  118. package/src/components/context-menu/context-menu.css +9 -4
  119. package/src/components/context-menu/context-menu.js +8 -2
  120. package/src/components/copy/copy-button.css +6 -0
  121. package/src/components/copy/copy-input.css +9 -4
  122. package/src/components/data-filter/data-filter.css +5 -4
  123. package/src/components/data-filter/data-filter.js +2 -2
  124. package/src/components/date-picker/date-picker.css +6 -6
  125. package/src/components/date-picker/date-range-picker.css +3 -3
  126. package/src/components/date-picker/time-picker.css +3 -3
  127. package/src/components/datebox/date-range-box.css +79 -2
  128. package/src/components/datebox/date-range-box.js +13 -2
  129. package/src/components/datebox/datebox.css +79 -2
  130. package/src/components/datebox/datebox.js +13 -2
  131. package/src/components/dialog/dialog.css +26 -0
  132. package/src/components/dialog/dialog.js +99 -17
  133. package/src/components/dock/dock.css +5 -4
  134. package/src/components/dropdown/dropdown.css +1 -1
  135. package/src/components/dropdown/dropdown.js +159 -72
  136. package/src/components/empty-state/empty-state.css +2 -2
  137. package/src/components/entity-ref/entity-ref.css +1 -1
  138. package/src/components/entity-ref/entity-ref.js +1 -1
  139. package/src/components/field/field.css +28 -9
  140. package/src/components/field/field.js +101 -29
  141. package/src/components/field-upload/field-upload.css +1 -1
  142. package/src/components/fieldset/external-adapter.js +363 -0
  143. package/src/components/fieldset/fieldset.css +5 -3
  144. package/src/components/fieldset/fieldset.js +38 -64
  145. package/src/components/file-item/file-item.js +144 -10
  146. package/src/components/file-list/file-list.js +144 -21
  147. package/src/components/filter/filter.css +86 -2
  148. package/src/components/filter/filter.js +307 -11
  149. package/src/components/filter-panel/filter-panel.css +1 -1
  150. package/src/components/filter-panel/filter-panel.js +149 -32
  151. package/src/components/finder/finder.css +16 -14
  152. package/src/components/form/form.css +5 -4
  153. package/src/components/form/form.js +11 -2
  154. package/src/components/grid/grid.css +1 -1
  155. package/src/components/groupbox/groupbox.css +1 -1
  156. package/src/components/kanban-view/kanban-card.js +11 -3
  157. package/src/components/kanban-view/kanban-view.css +42 -18
  158. package/src/components/kanban-view/kanban-view.js +9 -6
  159. package/src/components/launcher/launcher.css +108 -26
  160. package/src/components/launcher/launcher.js +530 -42
  161. package/src/components/list-toolbar/list-toolbar.css +13 -8
  162. package/src/components/list-toolbar/list-toolbar.js +40 -14
  163. package/src/components/master-panel/master-panel.css +2 -0
  164. package/src/components/master-panel/master-panel.js +0 -1
  165. package/src/components/menu-button/menu-button.css +72 -4
  166. package/src/components/menu-button/menu-button.js +160 -18
  167. package/src/components/message/message.css +33 -3
  168. package/src/components/message/message.js +264 -22
  169. package/src/components/modal/modal.css +1 -1
  170. package/src/components/modal/modal.js +83 -15
  171. package/src/components/module-bar/module-bar.css +486 -0
  172. package/src/components/module-bar/module-bar.js +1074 -0
  173. package/src/components/multi-value-editor/multi-value-editor.css +1 -1
  174. package/src/components/navigation-bar/navigation-bar.css +18 -9
  175. package/src/components/number-field/field-adapter.js +3 -1
  176. package/src/components/number-field/number-field.css +70 -0
  177. package/src/components/number-field/number-field.js +2 -0
  178. package/src/components/pagination/pagination.css +13 -11
  179. package/src/components/pagination/pagination.js +20 -4
  180. package/src/components/panel/panel.css +4 -3
  181. package/src/components/questionnaire/questionnaire.css +4 -4
  182. package/src/components/rating/field-adapter.js +2 -1
  183. package/src/components/rating/rating.css +8 -1
  184. package/src/components/search/search.css +4 -1
  185. package/src/components/select/color.js +22 -0
  186. package/src/components/select/field-adapter.js +2 -0
  187. package/src/components/select/glyphs.js +165 -0
  188. package/src/components/select/select.css +138 -45
  189. package/src/components/select/select.js +92 -47
  190. package/src/components/sheet/sheet.css +12 -9
  191. package/src/components/sheet/sheet.js +74 -32
  192. package/src/components/slider/field-adapter.js +6 -1
  193. package/src/components/slider/slider.css +18 -4
  194. package/src/components/slider/slider.js +1 -1
  195. package/src/components/sort-control/sort-control.css +4 -1
  196. package/src/components/split-view/split-view.css +1 -1
  197. package/src/components/stat-tile/stat-tile.css +42 -47
  198. package/src/components/stat-tile/stat-tile.js +17 -6
  199. package/src/components/stepper/stepper.css +1 -1
  200. package/src/components/tabbox/tabbox.css +41 -32
  201. package/src/components/tabbox/tabbox.js +5 -1
  202. package/src/components/table/table.css +187 -37
  203. package/src/components/table/table.js +718 -73
  204. package/src/components/tag-picker/field-adapter.js +2 -1
  205. package/src/components/tag-picker/tag-picker.css +83 -5
  206. package/src/components/tag-picker/tag-picker.js +25 -8
  207. package/src/components/timebox/timebox.css +22 -2
  208. package/src/components/toggle/toggle.css +12 -1
  209. package/src/components/toolbar/toolbar.js +2 -2
  210. package/src/components/tooltip/tooltip.css +4 -0
  211. package/src/components/tooltip/tooltip.js +44 -19
  212. package/src/components/tree/tree.css +26 -17
  213. package/src/components/tree/tree.js +31 -0
  214. package/src/components/value-list/value-list.css +3 -3
  215. package/src/components/view/record-view.css +1 -1
  216. package/src/components/view/record-view.js +178 -18
  217. package/src/components/view-settings/view-settings.css +285 -0
  218. package/src/components/view-settings/view-settings.js +1830 -0
  219. package/src/components/workspace-switcher/workspace-switcher.css +188 -0
  220. package/src/components/workspace-switcher/workspace-switcher.js +463 -0
  221. package/src/core/breakpoint.js +1 -1
  222. package/src/core/component.js +88 -17
  223. package/src/core/fontawesome.js +5 -1
  224. package/src/core/i18n.js +47 -4
  225. package/src/core/icons.js +204 -61
  226. package/src/core/keyboard.js +206 -11
  227. package/src/core/messages.js +427 -0
  228. package/src/core/motion.js +147 -0
  229. package/src/core/overlay-host.js +77 -3
  230. package/src/core/overlay-stack.js +487 -0
  231. package/src/core/position.js +22 -3
  232. package/src/index.js +10 -5
  233. package/src/internal/app-rail.js +135 -55
  234. package/src/internal/menu-items.js +61 -3
  235. package/src/zeyos/connect.js +6 -2
  236. package/src/zeyos/form.js +69 -27
  237. package/src/zeyos/index.js +4 -1
  238. package/src/zeyos/launcher.js +8 -3
  239. package/src/zeyos/module-bar.js +181 -0
  240. package/src/zeyos/query.js +197 -13
  241. package/src/zeyos/schema.js +144 -27
  242. package/src/zeyos/table.js +287 -84
  243. package/src/zeyos/view.js +49 -93
  244. package/styles/base.css +72 -1
  245. package/styles/icons.css +11 -1
  246. package/styles/print.css +1 -1
  247. package/styles/tokens/dark.css +117 -37
  248. package/styles/tokens/global.css +121 -27
  249. package/styles/tokens/semantic.css +140 -43
  250. package/styles/tokens/themes.css +7 -6
  251. package/styles/zx.css +3 -1
  252. package/styles/tokens/density.css +0 -9
@@ -2,8 +2,8 @@
2
2
  * Tier-1 palette and primitives.
3
3
  *
4
4
  * The neutral ramp uses Zinc-like values; the accent ramp uses an emerald progression anchored at
5
- * 400 to the ZeyOS brand green #21cc75. Inter and a compact radius scale support dense business
6
- * interfaces without coupling the token contract to another UI toolkit.
5
+ * 400 to the ZeyOS brand green #21cc75. Inter, one spacing unit, and small proportional radii
6
+ * support dense business interfaces without coupling the token contract to another UI toolkit.
7
7
  *
8
8
  * Only tier-2 semantic tokens (tokens/semantic.css, tokens/dark.css) may reference these.
9
9
  * Component CSS must never use them directly — tests/lint-tokens.js enforces that.
@@ -24,12 +24,12 @@
24
24
  --zx-gray-900: #18181b;
25
25
  --zx-gray-950: #09090b;
26
26
 
27
- /* Accent — an emerald ramp with the ZeyOS brand green at 400 */
28
- --zx-green-300: #5ee9b5;
29
- --zx-green-400: #21cc75;
30
- --zx-green-500: #009966;
31
- --zx-green-600: #007a55;
32
- --zx-green-700: #006045;
27
+ /* Brand — an emerald ramp with the ZeyOS brand green at 400. The accent, never a status. */
28
+ --zx-emerald-300: #5ee9b5;
29
+ --zx-emerald-400: #21cc75;
30
+ --zx-emerald-500: #009966;
31
+ --zx-emerald-600: #007a55;
32
+ --zx-emerald-700: #006045;
33
33
 
34
34
  /*
35
35
  * Accent ramp — the indirection the semantic tier reads. It defaults to the Emerald ramp
@@ -37,13 +37,21 @@
37
37
  * every semantic mapping: `tokens/themes.css` repoints these, and light, dark, and auto all
38
38
  * follow because each of them picks its own stop off the ramp.
39
39
  */
40
- --zx-accent-300: var(--zx-green-300);
41
- --zx-accent-400: var(--zx-green-400);
42
- --zx-accent-500: var(--zx-green-500);
43
- --zx-accent-600: var(--zx-green-600);
44
- --zx-accent-700: var(--zx-green-700);
40
+ --zx-accent-300: var(--zx-emerald-300);
41
+ --zx-accent-400: var(--zx-emerald-400);
42
+ --zx-accent-500: var(--zx-emerald-500);
43
+ --zx-accent-600: var(--zx-emerald-600);
44
+ --zx-accent-700: var(--zx-emerald-700);
45
45
 
46
- /* Status */
46
+ /*
47
+ * Status. Green is a yellow-green (OKLCH hue 130) so that "succeeded" never reads as the
48
+ * brand: the default accent sits at hue 155–165, and the two are told apart at a glance.
49
+ */
50
+ --zx-green-300: #b3e87a;
51
+ --zx-green-400: #90cd40;
52
+ --zx-green-500: #6ba211;
53
+ --zx-green-600: #4d7800;
54
+ --zx-green-700: #3d5e06;
47
55
  --zx-red-400: #ff6467;
48
56
  --zx-red-500: #e7000b;
49
57
  --zx-red-600: #c10007;
@@ -54,21 +62,67 @@
54
62
  --zx-blue-500: #2b7fff;
55
63
  --zx-blue-600: #155dfc;
56
64
 
57
- --zx-space-1: 4px;
58
- --zx-space-2: 8px;
59
- --zx-space-3: 12px;
60
- --zx-space-4: 16px;
61
- --zx-space-5: 20px;
62
- --zx-space-6: 24px;
63
- --zx-space-7: 32px;
64
- --zx-space-8: 40px;
65
+ /*
66
+ * Tone ramps — the categorical palette behind tags, chips, icon tiles, avatars, and chart
67
+ * series. It is deliberately neither the accent nor the status set: nine hues built on one
68
+ * recipe in OKLCH (300 at L 0.86, 500 at L 0.60, 700 at L 0.46, moderate chroma), so every
69
+ * tone carries the same visual weight and none of them shouts. The semantic tier mixes 500 into
70
+ * the surface for a tone's fill and takes 700 (light) or 300 (dark) for its ink.
71
+ */
72
+ --zx-tone-blue-300: #b3d4ff;
73
+ --zx-tone-blue-500: #3a81d7;
74
+ --zx-tone-blue-700: #1d589d;
75
+ --zx-tone-teal-300: #a8ddda;
76
+ --zx-tone-teal-500: #009390;
77
+ --zx-tone-teal-700: #006663;
78
+ --zx-tone-green-300: #b5deb5;
79
+ --zx-tone-green-500: #419547;
80
+ --zx-tone-green-700: #226929;
81
+ --zx-tone-amber-300: #eacc9b;
82
+ --zx-tone-amber-500: #a77600;
83
+ --zx-tone-amber-700: #745100;
84
+ --zx-tone-orange-300: #fbc3a7;
85
+ --zx-tone-orange-500: #c55f1d;
86
+ --zx-tone-orange-700: #8e3c00;
87
+ --zx-tone-red-300: #ffbfb8;
88
+ --zx-tone-red-500: #ca5551;
89
+ --zx-tone-red-700: #923432;
90
+ --zx-tone-pink-300: #f6bfd7;
91
+ --zx-tone-pink-500: #bc598c;
92
+ --zx-tone-pink-700: #873761;
93
+ --zx-tone-violet-300: #d4c8fe;
94
+ --zx-tone-violet-500: #886acf;
95
+ --zx-tone-violet-700: #5e4697;
96
+ --zx-tone-slate-300: #cad2dd;
97
+ --zx-tone-slate-500: #728295;
98
+ --zx-tone-slate-700: #4d5969;
99
+
100
+ /*
101
+ * Spacing — one unit, eight steps. Every step is a multiple of `--zx-space-unit`, so an
102
+ * application tightens or loosens its whole rhythm with one declaration rather than eight.
103
+ * At the default unit the steps are 4 / 8 / 12 / 16 / 20 / 24 / 32 / 40px.
104
+ */
105
+ --zx-space-unit: 4px;
106
+ --zx-space-1: calc(var(--zx-space-unit) * 1);
107
+ --zx-space-2: calc(var(--zx-space-unit) * 2);
108
+ --zx-space-3: calc(var(--zx-space-unit) * 3);
109
+ --zx-space-4: calc(var(--zx-space-unit) * 4);
110
+ --zx-space-5: calc(var(--zx-space-unit) * 5);
111
+ --zx-space-6: calc(var(--zx-space-unit) * 6);
112
+ --zx-space-7: calc(var(--zx-space-unit) * 8);
113
+ --zx-space-8: calc(var(--zx-space-unit) * 10);
65
114
 
66
- /* Radius — a 0.45rem base with compact derived steps */
67
- --zx-radius: 0.45rem;
68
- --zx-radius-sm: calc(var(--zx-radius) - 4px);
69
- --zx-radius-md: calc(var(--zx-radius) - 2px);
115
+ /*
116
+ * Radius — one base, proportional steps, so a theme that scales `--zx-radius` keeps the
117
+ * relationship between a menu item, a control, and the panel around them. At the default base
118
+ * the steps are 2 / 3 / 4 / 6px. `-full` is for shapes whose roundness is the meaning: badges,
119
+ * avatars, toggles, progress tracks.
120
+ */
121
+ --zx-radius: 4px;
122
+ --zx-radius-sm: calc(var(--zx-radius) * .5);
123
+ --zx-radius-md: calc(var(--zx-radius) * .75);
70
124
  --zx-radius-lg: var(--zx-radius);
71
- --zx-radius-xl: calc(var(--zx-radius) + 4px);
125
+ --zx-radius-xl: calc(var(--zx-radius) * 1.5);
72
126
  --zx-radius-full: 999px;
73
127
 
74
128
  --zx-font-sans: Inter, "Inter Variable", ui-sans-serif, system-ui, -apple-system,
@@ -81,12 +135,52 @@
81
135
  --zx-text-lg: 16px;
82
136
  --zx-text-xl: 18px;
83
137
  --zx-text-2xl: 24px;
138
+ --zx-text-3xl: 30px;
139
+
140
+ /*
141
+ * Weight and tracking. Interface text sits at the mid weights — medium for labels and rows,
142
+ * semibold for headings and the current item; heavier is for titles and figures only. UI text
143
+ * runs slightly tight (the root sets it), titles a little tighter.
144
+ */
145
+ --zx-weight-medium: 500;
146
+ --zx-weight-semibold: 600;
147
+ --zx-tracking-tight: -0.01em;
148
+ --zx-tracking-title: -0.015em;
84
149
 
85
150
  --zx-shadow-1: 0 1px 2px 0 rgb(9 9 11 / 5%);
86
151
  --zx-shadow-2: 0 1px 3px 0 rgb(9 9 11 / 10%), 0 1px 2px -1px rgb(9 9 11 / 10%);
87
152
  --zx-shadow-3: 0 10px 15px -3px rgb(9 9 11 / 10%), 0 4px 6px -4px rgb(9 9 11 / 10%);
88
153
 
154
+ /*
155
+ * Motion. Two durations and three named curves: `--zx-ease` for state changes (hover, colour,
156
+ * a fade), `--zx-ease-spring` for things that pop in — a small overshoot of about 3%, never a
157
+ * bounce — and `--zx-ease-drawer` for panels that slide: a decisive ease-out that covers most of
158
+ * the distance at once and settles, so a drawer feels like it arrives rather than drifts.
159
+ */
89
160
  --zx-dur-fast: 120ms;
90
161
  --zx-dur-base: 180ms;
91
162
  --zx-ease: cubic-bezier(.2, .6, .3, 1);
163
+ --zx-ease-spring: cubic-bezier(.34, 1.32, .64, 1);
164
+ --zx-ease-drawer: cubic-bezier(.32, .72, 0, 1);
165
+ }
166
+
167
+ /*
168
+ * Motion as a setting. `data-zx-motion="reduced"` on any element — usually `<html>`, from an
169
+ * application's own preference — stops movement inside it: every duration becomes 0ms here, and
170
+ * `base.css` stops the CSS animations and transitions that do not read a token. The operating
171
+ * system's reduced-motion preference does the same for the whole page. There is deliberately no
172
+ * value that turns motion back on: a person who asked their system for less motion gets less,
173
+ * whatever an application or a region says. `src/core/motion.js` answers the same question for
174
+ * script (`prefersReducedMotion`, `watchMotion`).
175
+ */
176
+ [data-zx-motion="reduced"] {
177
+ --zx-dur-fast: 0ms;
178
+ --zx-dur-base: 0ms;
179
+ }
180
+
181
+ @media (prefers-reduced-motion: reduce) {
182
+ :root {
183
+ --zx-dur-fast: 0ms;
184
+ --zx-dur-base: 0ms;
185
+ }
92
186
  }
@@ -1,14 +1,55 @@
1
1
  /*
2
2
  * Tier-2 semantic tokens — light theme (the default).
3
3
  *
4
- * The mapping uses white surfaces, restrained neutral hover/muted fills, quiet borders and inputs,
5
- * strong body text, and compact control geometry (32px controls, `--radius` corners, a 3px
6
- * translucent focus ring).
4
+ * The mapping uses a white canvas with a grey chrome tone beside it, translucent neutral
5
+ * hover/current fills, quiet borders and inputs, strong body text, a categorical tone palette
6
+ * apart from both the accent and the status colours, and one tight control geometry (30px
7
+ * controls, `--zx-radius` corners, a 3px translucent focus ring). There is a single geometry: an
8
+ * application that wants a different rhythm sets `--zx-space-unit` and `--zx-control-height`
9
+ * rather than switching a mode.
7
10
  *
8
- * The accent roles read `--zx-accent-*` rather than the green ramp directly, which is what lets
11
+ * The accent roles read `--zx-accent-*` rather than the emerald ramp directly, which is what lets
9
12
  * `tokens/themes.css` retheme them. Status colours keep their own ramps on purpose — see the note
10
13
  * in that file.
11
14
  */
15
+ /*
16
+ * Geometry and material settings — every token here is theme-independent, so it is declared on
17
+ * :root ONLY and never restated on a `[data-zx-theme]` block. A custom property declared on a
18
+ * theme element shadows the inherited one, so a nested `[data-zx-theme="light"]` region would
19
+ * otherwise reset an application's own `:root { --zx-control-height: 40px }` back to the default
20
+ * while a dark region kept it. There is one geometry; the theme blocks below carry colours only,
21
+ * and `tests/unit/geometry-tokens.test.js` fails if a non-colour token moves back into one.
22
+ */
23
+ :root {
24
+ --zx-control-height: 30px;
25
+ --zx-control-pad-x: 10px;
26
+ --zx-control-radius: var(--zx-radius-lg);
27
+ --zx-control-font-size: var(--zx-text-md);
28
+ --zx-control-font-weight: 500;
29
+ /* Blur applied behind a backdrop that asked for it. */
30
+ --zx-overlay-blur: 8px;
31
+ /* AppIcon is a dark chromatic lens: colour lives in its rim and low bloom, not a glossy fill.
32
+ Its strengths remain inherited, while each AppIcon mixes them with its own module colour. */
33
+ --zx-app-icon-core-strength: 52%;
34
+ --zx-app-icon-rim-strength: 58%;
35
+ --zx-app-icon-bloom-strength: 64%;
36
+ --zx-app-icon-specular-strength: 72%;
37
+ --zx-app-icon-halo-size: 14px;
38
+ --zx-app-icon-halo-strength: 22%;
39
+ --zx-overlay-specular-strength: 48%;
40
+ --zx-glass-blur: 8px;
41
+ --zx-glass-saturation: 130%;
42
+ --zx-glass-color-strength: 82%;
43
+ /* Material filters are roles, not component recipes. Aurora remains a separate canvas layer. */
44
+ --zx-glass-filter-icon: blur(4px) saturate(118%);
45
+ --zx-glass-filter-control: blur(6px) saturate(116%);
46
+ --zx-glass-filter-raised: blur(8px) saturate(120%);
47
+ --zx-glass-filter-chrome: blur(10px) saturate(122%);
48
+ --zx-glass-filter-overlay: blur(16px) saturate(140%);
49
+ --zx-glass-filter-panel: blur(14px) saturate(132%);
50
+ }
51
+
52
+ /* The light theme — colours only. */
12
53
  :root,
13
54
  [data-zx-theme="light"] {
14
55
  color-scheme: light;
@@ -16,15 +57,21 @@
16
57
  --zx-color-bg-surface: var(--zx-gray-0);
17
58
  --zx-color-bg-raised: var(--zx-gray-0);
18
59
  --zx-color-bg-control: var(--zx-gray-0);
60
+ /* Navigation and inspector columns: one clear step below the canvas, so tone rather than a
61
+ line separates them from the working area. */
62
+ --zx-color-bg-chrome: color-mix(in srgb, var(--zx-gray-100) 80%, var(--zx-gray-50));
19
63
  --zx-color-bg-muted: var(--zx-gray-100);
20
- --zx-color-bg-hover: var(--zx-gray-100);
21
64
  --zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-600) 10%, var(--zx-gray-0));
22
65
  --zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 50%, transparent);
23
66
  --zx-color-border: var(--zx-gray-200);
24
67
  --zx-color-border-strong: var(--zx-gray-300);
25
68
  --zx-color-border-control: var(--zx-gray-200);
26
69
  --zx-color-text: var(--zx-gray-950);
27
- --zx-color-text-muted: var(--zx-gray-500);
70
+ /* Between the 500 and 600 stops, so secondary text holds 4.5:1 on the chrome tone and on a
71
+ current row there, not only on white. */
72
+ --zx-color-text-muted: color-mix(in srgb, var(--zx-gray-500) 50%, var(--zx-gray-600));
73
+ /* Icons and non-essential meta: at least 3:1 on the surface, the chrome, and a current row. */
74
+ --zx-color-text-subtle: color-mix(in srgb, var(--zx-gray-500) 70%, var(--zx-gray-400));
28
75
  --zx-color-text-placeholder: var(--zx-gray-400);
29
76
  --zx-color-text-invert: var(--zx-gray-50);
30
77
  --zx-color-app-icon-glyph: var(--zx-gray-0);
@@ -34,7 +81,15 @@
34
81
  --zx-color-accent-active: var(--zx-accent-700);
35
82
  --zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-600) 10%, var(--zx-gray-0));
36
83
  --zx-color-on-accent: var(--zx-gray-0);
37
- --zx-color-danger: var(--zx-red-500);
84
+ /* The solid accent — the one primary action on a screen. Both themes fill it with the 600 stop
85
+ and white ink; `--zx-color-accent` stays the stop each theme reads best as text and marks. */
86
+ --zx-color-accent-solid: var(--zx-accent-600);
87
+ --zx-color-accent-solid-hover: var(--zx-accent-700);
88
+ --zx-color-accent-solid-active: color-mix(in srgb, var(--zx-accent-700) 82%, var(--zx-gray-950));
89
+ --zx-color-on-accent-solid: var(--zx-gray-0);
90
+ /* Status colours are ink as often as fill (badges, messages, field errors): each keeps 4.5:1 on
91
+ every surface and on its own tint. Red 500 does not, so danger takes the 600 step. */
92
+ --zx-color-danger: var(--zx-red-600);
38
93
  --zx-color-danger-bg: color-mix(in srgb, var(--zx-red-500) 10%, var(--zx-gray-0));
39
94
  --zx-color-warning: var(--zx-amber-600);
40
95
  --zx-color-warning-bg: color-mix(in srgb, var(--zx-amber-400) 18%, var(--zx-gray-0));
@@ -42,29 +97,90 @@
42
97
  --zx-color-success-bg: color-mix(in srgb, var(--zx-green-600) 10%, var(--zx-gray-0));
43
98
  --zx-color-info: var(--zx-blue-600);
44
99
  --zx-color-info-bg: color-mix(in srgb, var(--zx-blue-500) 10%, var(--zx-gray-0));
45
- --zx-color-ring: var(--zx-color-accent);
46
- --zx-focus-ring: 0 0 0 3px color-mix(in srgb, var(--zx-color-ring) 45%, transparent);
47
- --zx-control-height: 32px;
48
- --zx-control-pad-x: 10px;
49
- --zx-control-radius: var(--zx-radius-lg);
50
- --zx-control-font-size: var(--zx-text-md);
51
- --zx-control-font-weight: 500;
100
+ --zx-color-tone-blue-fg: var(--zx-tone-blue-700);
101
+ --zx-color-tone-teal-fg: var(--zx-tone-teal-700);
102
+ --zx-color-tone-green-fg: var(--zx-tone-green-700);
103
+ --zx-color-tone-amber-fg: var(--zx-tone-amber-700);
104
+ --zx-color-tone-orange-fg: var(--zx-tone-orange-700);
105
+ --zx-color-tone-red-fg: var(--zx-tone-red-700);
106
+ --zx-color-tone-pink-fg: var(--zx-tone-pink-700);
107
+ --zx-color-tone-violet-fg: var(--zx-tone-violet-700);
108
+ --zx-color-tone-slate-fg: var(--zx-tone-slate-700);
109
+ /* Chart series, in assignment order. The order is what keeps neighbours apart (adjacent pairs
110
+ at ΔE ≥ 8 under protanopia and deuteranopia), and it deliberately does not open on the
111
+ accent. The 500 stops clear 3:1 against the light and the dark surface alike, so the dark
112
+ theme keeps this list. */
113
+ --zx-color-chart-1: var(--zx-tone-blue-500);
114
+ --zx-color-chart-2: var(--zx-tone-orange-500);
115
+ --zx-color-chart-3: var(--zx-tone-teal-500);
116
+ --zx-color-chart-4: var(--zx-tone-amber-500);
117
+ --zx-color-chart-5: var(--zx-tone-pink-500);
118
+ --zx-color-chart-6: var(--zx-tone-green-500);
119
+ --zx-color-chart-7: var(--zx-tone-violet-500);
120
+ --zx-color-chart-8: var(--zx-tone-red-500);
121
+ /* Solid identity fills — a module tile, an application icon — carrying the white icon glyph.
122
+ The 500 stops keep that glyph at 3:1 or better and read as the same tone on either theme,
123
+ so, like the chart series, the dark theme keeps this list. */
124
+ --zx-color-tone-blue-solid: var(--zx-tone-blue-500);
125
+ --zx-color-tone-teal-solid: var(--zx-tone-teal-500);
126
+ --zx-color-tone-green-solid: var(--zx-tone-green-500);
127
+ --zx-color-tone-amber-solid: var(--zx-tone-amber-500);
128
+ --zx-color-tone-orange-solid: var(--zx-tone-orange-500);
129
+ --zx-color-tone-red-solid: var(--zx-tone-red-500);
130
+ --zx-color-tone-pink-solid: var(--zx-tone-pink-500);
131
+ --zx-color-tone-violet-solid: var(--zx-tone-violet-500);
132
+ --zx-color-tone-slate-solid: var(--zx-tone-slate-500);
133
+ /* A resting surface one hair off what it sits on — a panel, an outlined card in a lane, a slider
134
+ thumb: a contact shadow only, far below an overlay or a dragged item. */
135
+ --zx-surface-shadow: var(--zx-shadow-1);
52
136
  --zx-overlay-shadow: var(--zx-shadow-3);
53
- /* Blur applied behind a backdrop that asked for it. Theme-independent, so light defines it once. */
54
- --zx-overlay-blur: 8px;
137
+ /* An item being dragged — a lifted card, a row in flight, a drag preview: a tight contact
138
+ shadow and a wide soft one, clearly higher than a resting card and lower than an overlay. */
139
+ --zx-drag-shadow: 0 2px 4px -1px color-mix(in srgb, var(--zx-gray-950) 10%, transparent),
140
+ 0 12px 28px -6px color-mix(in srgb, var(--zx-gray-950) 22%, transparent);
55
141
  --zx-color-glass-border: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
56
142
  --zx-color-glass-highlight: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
57
143
  --zx-color-glass-highlight-strong: color-mix(in srgb, var(--zx-gray-0) 38%, transparent);
144
+ --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 28%, transparent);
145
+ --zx-glass-control-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-shadow-1);
146
+ --zx-glass-chrome-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 16%, transparent), var(--zx-shadow-1);
147
+ --zx-header-bg: var(--zx-gray-900);
148
+ --zx-header-text: var(--zx-gray-50);
149
+ }
150
+
151
+ /*
152
+ * Colours derived from other theme colours — glass, overlays, focus, hover and current fills, the
153
+ * tone tints — are restated on every theme element, not only on :root. A custom property is
154
+ * resolved where it is declared and inherited as a finished value, so a dark region on a light
155
+ * page would otherwise inherit light glass and light overlays. The dark theme, which loads later,
156
+ * overrides the ones it derives differently. Geometry and the base palette stay on :root (the block
157
+ * at the top of this file and tokens/global.css), so an application's own overrides there still
158
+ * reach nested regions.
159
+ */
160
+ :root,
161
+ [data-zx-theme] {
162
+ /* Hover and current are translucent text, so they read on the canvas, the chrome, and a card
163
+ alike. "Current" (where you are) is neutral and stronger than hover; "selected" (what you
164
+ picked) keeps the accent tint. */
165
+ --zx-color-bg-hover: color-mix(in srgb, var(--zx-color-text) 4.5%, transparent);
166
+ --zx-color-bg-current: color-mix(in srgb, var(--zx-color-text) 8%, transparent);
167
+ /* Row and grid dividers, lighter than a frame. */
168
+ --zx-color-border-subtle: color-mix(in srgb, var(--zx-color-text) 7%, transparent);
169
+ /* Categorical tones — identity, not state: tags, chips, icon tiles, avatars. A soft fill (13%
170
+ of the tone over the surface) with ink at 4.5:1 or better on it. */
171
+ --zx-color-tone-blue-bg: color-mix(in srgb, var(--zx-tone-blue-500) 13%, var(--zx-color-bg-surface));
172
+ --zx-color-tone-teal-bg: color-mix(in srgb, var(--zx-tone-teal-500) 13%, var(--zx-color-bg-surface));
173
+ --zx-color-tone-green-bg: color-mix(in srgb, var(--zx-tone-green-500) 13%, var(--zx-color-bg-surface));
174
+ --zx-color-tone-amber-bg: color-mix(in srgb, var(--zx-tone-amber-500) 13%, var(--zx-color-bg-surface));
175
+ --zx-color-tone-orange-bg: color-mix(in srgb, var(--zx-tone-orange-500) 13%, var(--zx-color-bg-surface));
176
+ --zx-color-tone-red-bg: color-mix(in srgb, var(--zx-tone-red-500) 13%, var(--zx-color-bg-surface));
177
+ --zx-color-tone-pink-bg: color-mix(in srgb, var(--zx-tone-pink-500) 13%, var(--zx-color-bg-surface));
178
+ --zx-color-tone-violet-bg: color-mix(in srgb, var(--zx-tone-violet-500) 13%, var(--zx-color-bg-surface));
179
+ --zx-color-tone-slate-bg: color-mix(in srgb, var(--zx-tone-slate-500) 13%, var(--zx-color-bg-surface));
180
+ --zx-color-ring: var(--zx-color-accent);
181
+ --zx-focus-ring: 0 0 0 3px color-mix(in srgb, var(--zx-color-ring) 45%, transparent);
58
182
  --zx-color-app-icon-depth: color-mix(in srgb, var(--zx-color-app-icon-shade) 26%, transparent);
59
- /* AppIcon is a dark chromatic lens: colour lives in its rim and low bloom, not a glossy fill. */
60
- /* Strengths remain inherited, while each AppIcon mixes them with its own module colour. */
61
- --zx-app-icon-core-strength: 52%;
62
- --zx-app-icon-rim-strength: 58%;
63
- --zx-app-icon-bloom-strength: 64%;
64
- --zx-app-icon-specular-strength: 72%;
65
183
  --zx-app-icon-rim-base: var(--zx-color-glass-highlight);
66
- --zx-app-icon-halo-size: 14px;
67
- --zx-app-icon-halo-strength: 22%;
68
184
  --zx-color-glass-surface: color-mix(in srgb, var(--zx-color-bg-raised) 78%, transparent);
69
185
  /* Persistent application chrome is quieter and more opaque than a raised feature card. */
70
186
  --zx-color-glass-chrome: color-mix(in srgb, var(--zx-color-bg-surface) 90%, transparent);
@@ -76,13 +192,11 @@
76
192
  --zx-color-overlay-base: var(--zx-color-bg-raised);
77
193
  --zx-color-overlay-surface: color-mix(in srgb, var(--zx-color-overlay-base) 72%, transparent);
78
194
  --zx-color-overlay-panel: color-mix(in srgb, var(--zx-color-overlay-base) 80%, transparent);
79
- --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 28%, transparent);
80
195
  --zx-color-overlay-border: color-mix(in srgb, var(--zx-color-text) 14%, transparent);
81
196
  --zx-color-overlay-hover: color-mix(in srgb, var(--zx-color-text) 8%, transparent);
82
197
  --zx-color-overlay-selected: color-mix(in srgb, var(--zx-color-accent) 18%, transparent);
83
198
  --zx-color-overlay-divider: color-mix(in srgb, var(--zx-color-text) 11%, transparent);
84
199
  --zx-color-overlay-scrim: color-mix(in srgb, var(--zx-color-overlay-base) 28%, transparent);
85
- --zx-overlay-specular-strength: 48%;
86
200
  --zx-overlay-surface-image: linear-gradient(145deg,
87
201
  color-mix(in srgb, var(--zx-color-glass-highlight-strong) var(--zx-overlay-specular-strength), transparent) 0%,
88
202
  color-mix(in srgb, var(--zx-color-glass-highlight) 16%, transparent) 28%,
@@ -97,25 +211,11 @@
97
211
  color-mix(in srgb, var(--zx-color-accent) 5%, transparent), transparent 64%),
98
212
  linear-gradient(180deg, color-mix(in srgb, var(--zx-color-glass-highlight) 16%, transparent) 0%,
99
213
  transparent 28%);
100
- --zx-glass-blur: 8px;
101
- --zx-glass-saturation: 130%;
102
- --zx-glass-color-strength: 82%;
103
- /* Material filters are roles, not component recipes. Aurora remains a separate canvas layer. */
104
- --zx-glass-filter-icon: blur(4px) saturate(118%);
105
- --zx-glass-filter-control: blur(6px) saturate(116%);
106
- --zx-glass-filter-raised: blur(8px) saturate(120%);
107
- --zx-glass-filter-chrome: blur(10px) saturate(122%);
108
- --zx-glass-filter-overlay: blur(16px) saturate(140%);
109
- --zx-glass-filter-panel: blur(14px) saturate(132%);
110
214
  --zx-app-icon-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 14%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--zx-gray-950) 28%, transparent), 0 2px 6px color-mix(in srgb, var(--zx-color-app-icon-shade) 24%, transparent);
111
215
  --zx-app-icon-shadow-hover: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 20%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--zx-gray-950) 32%, transparent), 0 4px 10px color-mix(in srgb, var(--zx-color-app-icon-shade) 30%, transparent);
112
- --zx-glass-control-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-shadow-1);
113
- --zx-glass-chrome-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 16%, transparent), var(--zx-shadow-1);
114
216
  --zx-glass-raised-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-overlay-shadow);
115
217
  --zx-glass-overlay-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-color-glass-highlight-strong) 42%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--zx-color-glass-highlight) 20%, transparent), var(--zx-overlay-shadow);
116
218
  --zx-glass-panel-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-color-glass-highlight-strong) 34%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--zx-color-glass-highlight) 14%, transparent), var(--zx-overlay-shadow);
117
- --zx-header-bg: var(--zx-gray-900);
118
- --zx-header-text: var(--zx-gray-50);
119
219
  }
120
220
 
121
221
  /* Preferences are resolved at the token seam so every material consumer, including application
@@ -124,7 +224,6 @@
124
224
  :root,
125
225
  .zx-scope,
126
226
  [data-zx-theme],
127
- [data-zx-density],
128
227
  [data-zx-preset] {
129
228
  --zx-color-glass-chrome: var(--zx-color-bg-surface) !important;
130
229
  --zx-color-glass-surface: var(--zx-color-bg-raised) !important;
@@ -162,7 +261,6 @@
162
261
  :root,
163
262
  .zx-scope,
164
263
  [data-zx-theme],
165
- [data-zx-density],
166
264
  [data-zx-preset] {
167
265
  --zx-color-glass-chrome: Canvas !important;
168
266
  --zx-color-glass-surface: Canvas !important;
@@ -196,7 +294,6 @@
196
294
  :root,
197
295
  .zx-scope,
198
296
  [data-zx-theme],
199
- [data-zx-density],
200
297
  [data-zx-preset] {
201
298
  --zx-color-overlay-surface: var(--zx-color-bg-raised) !important;
202
299
  --zx-color-overlay-panel: var(--zx-color-bg-raised) !important;
@@ -2,9 +2,9 @@
2
2
  * Standard theme presets.
3
3
  *
4
4
  * A preset repoints the tier-1 accent ramp — nothing else. The semantic tier picks its own stop
5
- * off that ramp per polarity (600/700 on light surfaces, 300/400/500 on dark ones), so five
6
- * declarations retheme light, dark, and auto at once, and every component follows without a
7
- * second mapping to keep in sync.
5
+ * off that ramp per polarity (600/700 on light surfaces, 300/400/500 on dark ones, and 600/700
6
+ * for the solid primary fill in both), so five declarations retheme light, dark, and auto at
7
+ * once, and every component follows without a second mapping to keep in sync.
8
8
  *
9
9
  * Set the preset alongside the theme: `<html data-zx-theme="dark" data-zx-preset="ocean">`.
10
10
  * `zx` is the default and never needs stating; the attribute exists so an application can pin it.
@@ -14,10 +14,11 @@
14
14
  * an application with no reliable way to say "this failed".
15
15
  *
16
16
  * Every 600 clears 4.5:1 against white and against the light page, and every 400 clears it
17
- * against the dark page, which is what keeps `--zx-color-on-accent` correct in both polarities.
17
+ * against the dark page and every dark surface step, which is what keeps `--zx-color-on-accent`
18
+ * and `--zx-color-on-accent-solid` correct in both polarities and accent text legible on dark.
18
19
  */
19
20
 
20
- /* ZeyOS — the ZeyOS brand green on Xenon's emerald ramp. The default. */
21
+ /* ZeyOS — the ZeyOS brand green, restating the emerald ramp in tokens/global.css. The default. */
21
22
  [data-zx-preset="zx"] {
22
23
  --zx-accent-300: #5ee9b5;
23
24
  --zx-accent-400: #21cc75;
@@ -31,7 +32,7 @@
31
32
  --zx-accent-300: #ffd9a8;
32
33
  --zx-accent-400: #f7bc60;
33
34
  --zx-accent-500: #d0952f;
34
- --zx-accent-600: #96690f;
35
+ --zx-accent-600: #916510;
35
36
  --zx-accent-700: #6f4e0b;
36
37
  }
37
38
 
package/styles/zx.css CHANGED
@@ -2,7 +2,6 @@
2
2
  @import url("./tokens/themes.css");
3
3
  @import url("./tokens/semantic.css");
4
4
  @import url("./tokens/dark.css");
5
- @import url("./tokens/density.css");
6
5
  @import url("./tokens/modules.css");
7
6
  @import url("./base.css");
8
7
  @import url("./icons.css");
@@ -38,7 +37,9 @@
38
37
  @import url("../src/components/activity-item/activity-item.css");
39
38
  @import url("../src/components/activity-list/activity-list.css");
40
39
  @import url("../src/components/account-menu/account-menu.css");
40
+ @import url("../src/components/workspace-switcher/workspace-switcher.css");
41
41
  @import url("../src/components/app-rail/app-rail.css");
42
+ @import url("../src/components/module-bar/module-bar.css");
42
43
  @import url("../src/components/app-sidebar/app-sidebar.css");
43
44
  @import url("../src/components/message/message.css");
44
45
  @import url("../src/components/modal/modal.css");
@@ -69,6 +70,7 @@
69
70
  @import url("../src/components/stat-tile/stat-tile.css");
70
71
  @import url("../src/components/card-view/card-view.css");
71
72
  @import url("../src/components/kanban-view/kanban-view.css");
73
+ @import url("../src/components/view-settings/view-settings.css");
72
74
  @import url("../src/components/grid/grid.css");
73
75
  @import url("../src/components/chart/chart.css");
74
76
  @import url("../src/components/tree/tree.css");
@@ -1,9 +0,0 @@
1
- [data-zx-density="compact"] {
2
- --zx-control-height: 28px;
3
- --zx-control-pad-x: var(--zx-space-2);
4
- --zx-text-md: 13px;
5
- --zx-space-1: 3px;
6
- --zx-space-2: 6px;
7
- --zx-space-3: 10px;
8
- --zx-space-4: 14px;
9
- }