@eifi1/ui-kit 0.34.0 → 0.35.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 (241) hide show
  1. package/README.md +82 -38
  2. package/dist/billing/billing-banner.d.ts +5 -2
  3. package/dist/billing/billing-banner.js.map +1 -1
  4. package/dist/billing/plan-limit-notice.d.ts +5 -2
  5. package/dist/billing/plan-limit-notice.js.map +1 -1
  6. package/dist/chart.js.map +1 -1
  7. package/dist/components/amount-input.d.ts +0 -3
  8. package/dist/components/amount-input.js +2 -2
  9. package/dist/components/amount-input.js.map +1 -1
  10. package/dist/components/calculator.d.ts +1 -4
  11. package/dist/components/calculator.js +1 -3
  12. package/dist/components/calculator.js.map +1 -1
  13. package/dist/components/chart-zoom.d.ts +0 -37
  14. package/dist/components/chart-zoom.js +1 -28
  15. package/dist/components/chart-zoom.js.map +1 -1
  16. package/dist/components/chip-input.d.ts +0 -4
  17. package/dist/components/chip-input.js +1 -5
  18. package/dist/components/chip-input.js.map +1 -1
  19. package/dist/components/combobox.d.ts +1 -1
  20. package/dist/components/combobox.js.map +1 -1
  21. package/dist/components/copy-button.d.ts +5 -1
  22. package/dist/components/copy-button.js.map +1 -1
  23. package/dist/components/currency-option-list.d.ts +3 -8
  24. package/dist/components/currency-option-list.js +1 -29
  25. package/dist/components/currency-option-list.js.map +1 -1
  26. package/dist/components/danger-confirm.d.ts +3 -3
  27. package/dist/components/danger-confirm.js.map +1 -1
  28. package/dist/components/data-table-filter-popover.d.ts +1 -1
  29. package/dist/components/data-table-filter-popover.js +1 -1
  30. package/dist/components/data-table-filter-popover.js.map +1 -1
  31. package/dist/components/data-table-labels.d.ts +1 -42
  32. package/dist/components/data-table-labels.js +2 -31
  33. package/dist/components/data-table-labels.js.map +1 -1
  34. package/dist/components/data-table-shared.d.ts +17 -1
  35. package/dist/components/data-table-shared.js +22 -0
  36. package/dist/components/data-table-shared.js.map +1 -1
  37. package/dist/components/data-table.d.ts +12 -2
  38. package/dist/components/data-table.js +18 -14
  39. package/dist/components/data-table.js.map +1 -1
  40. package/dist/components/dialog-frame.d.ts +3 -1
  41. package/dist/components/dialog-frame.js.map +1 -1
  42. package/dist/components/dropdown.d.ts +18 -15
  43. package/dist/components/dropdown.js +11 -3
  44. package/dist/components/dropdown.js.map +1 -1
  45. package/dist/components/entity-combobox.d.ts +1 -1
  46. package/dist/components/entity-combobox.js.map +1 -1
  47. package/dist/components/field-base.d.ts +0 -5
  48. package/dist/components/field-base.js +0 -5
  49. package/dist/components/field-base.js.map +1 -1
  50. package/dist/components/field-parts.d.ts +3 -11
  51. package/dist/components/field-parts.js +1 -9
  52. package/dist/components/field-parts.js.map +1 -1
  53. package/dist/components/field-strip.d.ts +8 -23
  54. package/dist/components/field-strip.js +24 -22
  55. package/dist/components/field-strip.js.map +1 -1
  56. package/dist/components/field-sync.d.ts +0 -4
  57. package/dist/components/field-sync.js +0 -4
  58. package/dist/components/field-sync.js.map +1 -1
  59. package/dist/components/field.d.ts +4 -4
  60. package/dist/components/field.js.map +1 -1
  61. package/dist/components/full-bleed-dialog.js +2 -2
  62. package/dist/components/full-bleed-dialog.js.map +1 -1
  63. package/dist/components/hover-menu.d.ts +6 -13
  64. package/dist/components/hover-menu.js +3 -3
  65. package/dist/components/hover-menu.js.map +1 -1
  66. package/dist/components/inline-entity-combobox.d.ts +1 -1
  67. package/dist/components/inline-entity-combobox.js.map +1 -1
  68. package/dist/components/modal.d.ts +9 -1
  69. package/dist/components/modal.js +7 -4
  70. package/dist/components/modal.js.map +1 -1
  71. package/dist/components/multi-select.d.ts +5 -16
  72. package/dist/components/multi-select.js +5 -10
  73. package/dist/components/multi-select.js.map +1 -1
  74. package/dist/components/number-input.d.ts +0 -3
  75. package/dist/components/number-input.js +2 -4
  76. package/dist/components/number-input.js.map +1 -1
  77. package/dist/components/popover.js +2 -2
  78. package/dist/components/popover.js.map +1 -1
  79. package/dist/components/series-chart.js.map +1 -1
  80. package/dist/components/server-wake.d.ts +0 -6
  81. package/dist/components/server-wake.js.map +1 -1
  82. package/dist/components/settings-fields.d.ts +4 -2
  83. package/dist/components/settings-fields.js.map +1 -1
  84. package/dist/components/stat-tile.d.ts +8 -2
  85. package/dist/components/stat-tile.js.map +1 -1
  86. package/dist/components/swipeable-row.d.ts +2 -17
  87. package/dist/components/swipeable-row.js +11 -16
  88. package/dist/components/swipeable-row.js.map +1 -1
  89. package/dist/components/tooltip.d.ts +9 -1
  90. package/dist/components/tooltip.js +20 -5
  91. package/dist/components/tooltip.js.map +1 -1
  92. package/dist/components/translation-review.d.ts +10 -2
  93. package/dist/components/translation-review.js +11 -3
  94. package/dist/components/translation-review.js.map +1 -1
  95. package/dist/components/use-table-state.d.ts +31 -3
  96. package/dist/components/use-table-state.js +53 -8
  97. package/dist/components/use-table-state.js.map +1 -1
  98. package/dist/components/user-avatar.d.ts +2 -2
  99. package/dist/components/user-avatar.js.map +1 -1
  100. package/dist/components/wizard-stepper.d.ts +1 -4
  101. package/dist/components/wizard-stepper.js +2 -3
  102. package/dist/components/wizard-stepper.js.map +1 -1
  103. package/dist/currencies.d.ts +23 -0
  104. package/dist/currencies.js +38 -0
  105. package/dist/currencies.js.map +1 -0
  106. package/dist/demo/demo-banner.d.ts +7 -2
  107. package/dist/demo/demo-banner.js.map +1 -1
  108. package/dist/eslint/index.d.ts +83 -0
  109. package/dist/eslint/index.js +69 -0
  110. package/dist/eslint/index.js.map +1 -0
  111. package/dist/eslint/role-utilities.d.ts +48 -0
  112. package/dist/eslint/role-utilities.generated.d.ts +2 -0
  113. package/dist/eslint/role-utilities.generated.js +143 -0
  114. package/dist/eslint/role-utilities.generated.js.map +1 -0
  115. package/dist/eslint/role-utilities.js +43 -0
  116. package/dist/eslint/role-utilities.js.map +1 -0
  117. package/dist/feedback/feedback-menu.d.ts +2 -2
  118. package/dist/feedback/feedback-menu.js.map +1 -1
  119. package/dist/feedback/feedback-thread.d.ts +3 -8
  120. package/dist/feedback/feedback-thread.js +0 -2
  121. package/dist/feedback/feedback-thread.js.map +1 -1
  122. package/dist/hooks/use-dismiss.d.ts +16 -3
  123. package/dist/hooks/use-dismiss.js +14 -2
  124. package/dist/hooks/use-dismiss.js.map +1 -1
  125. package/dist/i18n/kit-labels.d.ts +14 -4
  126. package/dist/i18n/kit-labels.js.map +1 -1
  127. package/dist/i18n/locales/en.js +1 -1
  128. package/dist/i18n/locales/en.js.map +2 -2
  129. package/dist/i18n/locales/fr.js +3 -2
  130. package/dist/i18n/locales/fr.js.map +1 -1
  131. package/dist/i18n/locales/it.js +3 -2
  132. package/dist/i18n/locales/it.js.map +1 -1
  133. package/dist/index.d.ts +2 -1
  134. package/dist/index.js +2 -2
  135. package/dist/index.js.map +1 -1
  136. package/dist/lib/refs.d.ts +13 -0
  137. package/dist/lib/refs.js +15 -0
  138. package/dist/lib/refs.js.map +1 -0
  139. package/dist/rhf/fields.d.ts +10 -10
  140. package/dist/rhf/fields.js.map +1 -1
  141. package/dist/rhf/form-core.d.ts +5 -4
  142. package/dist/rhf/form-core.js.map +1 -1
  143. package/dist/rhf/form.d.ts +7 -36
  144. package/dist/rhf/form.js +1 -16
  145. package/dist/rhf/form.js.map +1 -1
  146. package/dist/rhf/line-items.d.ts +1 -1
  147. package/dist/rhf/line-items.js.map +1 -1
  148. package/dist/rhf/use-rhf-wizard-step.js.map +1 -1
  149. package/dist/rhf.js.map +1 -1
  150. package/dist/shell/option-switcher-menu.d.ts +5 -17
  151. package/dist/shell/option-switcher-menu.js +1 -3
  152. package/dist/shell/option-switcher-menu.js.map +1 -1
  153. package/dist/shell/role-switcher.d.ts +1 -4
  154. package/dist/shell/role-switcher.js +2 -3
  155. package/dist/shell/role-switcher.js.map +1 -1
  156. package/dist/shell/topbar-action-menu.d.ts +7 -19
  157. package/dist/shell/topbar-action-menu.js +1 -3
  158. package/dist/shell/topbar-action-menu.js.map +1 -1
  159. package/dist/shell/topbar-controls.d.ts +3 -12
  160. package/dist/shell/topbar-controls.js +6 -9
  161. package/dist/shell/topbar-controls.js.map +1 -1
  162. package/dist/testing/index.d.ts +1 -1
  163. package/dist/testing/index.js +2 -0
  164. package/dist/testing/index.js.map +1 -1
  165. package/dist/testing/viewport.d.ts +25 -2
  166. package/dist/testing/viewport.js +61 -10
  167. package/dist/testing/viewport.js.map +1 -1
  168. package/dist/theme/palette-presets.d.ts +0 -7
  169. package/dist/theme/palette-presets.js +0 -279
  170. package/dist/theme/palette-presets.js.map +1 -1
  171. package/dist/wizard/types.d.ts +0 -5
  172. package/dist/wizard/types.js +1 -5
  173. package/dist/wizard/types.js.map +1 -1
  174. package/package.json +9 -1
  175. package/src/billing/billing-banner.tsx +5 -2
  176. package/src/billing/plan-limit-notice.tsx +5 -2
  177. package/src/chart.ts +5 -3
  178. package/src/components/amount-input.tsx +2 -6
  179. package/src/components/calculator.tsx +2 -7
  180. package/src/components/chart-zoom.tsx +4 -47
  181. package/src/components/chip-input.tsx +0 -7
  182. package/src/components/combobox.tsx +1 -1
  183. package/src/components/copy-button.tsx +5 -1
  184. package/src/components/currency-option-list.tsx +8 -42
  185. package/src/components/danger-confirm.tsx +3 -3
  186. package/src/components/data-table-filter-popover.tsx +2 -1
  187. package/src/components/data-table-labels.ts +2 -84
  188. package/src/components/data-table-shared.tsx +55 -2
  189. package/src/components/data-table.tsx +29 -17
  190. package/src/components/dialog-frame.tsx +3 -1
  191. package/src/components/dropdown.tsx +42 -18
  192. package/src/components/entity-combobox.tsx +1 -1
  193. package/src/components/field-base.tsx +0 -11
  194. package/src/components/field-parts.tsx +5 -19
  195. package/src/components/field-strip.tsx +9 -25
  196. package/src/components/field-sync.tsx +0 -7
  197. package/src/components/field.tsx +4 -4
  198. package/src/components/full-bleed-dialog.tsx +4 -3
  199. package/src/components/hover-menu.tsx +12 -16
  200. package/src/components/inline-entity-combobox.tsx +1 -1
  201. package/src/components/modal.tsx +20 -4
  202. package/src/components/multi-select.tsx +13 -30
  203. package/src/components/number-input.tsx +3 -8
  204. package/src/components/popover.tsx +5 -3
  205. package/src/components/series-chart.tsx +1 -1
  206. package/src/components/server-wake.tsx +0 -6
  207. package/src/components/settings-fields.tsx +4 -2
  208. package/src/components/stat-tile.tsx +8 -2
  209. package/src/components/swipeable-row.tsx +15 -37
  210. package/src/components/tooltip.tsx +37 -6
  211. package/src/components/translation-review.tsx +25 -7
  212. package/src/components/use-table-state.ts +91 -10
  213. package/src/components/user-avatar.tsx +2 -2
  214. package/src/components/wizard-stepper.tsx +2 -6
  215. package/src/currencies.ts +70 -0
  216. package/src/demo/demo-banner.tsx +7 -2
  217. package/src/eslint/index.ts +161 -0
  218. package/src/eslint/role-utilities.generated.ts +146 -0
  219. package/src/eslint/role-utilities.ts +99 -0
  220. package/src/feedback/feedback-menu.tsx +2 -2
  221. package/src/feedback/feedback-thread.tsx +3 -8
  222. package/src/hooks/use-dismiss.ts +39 -4
  223. package/src/i18n/kit-labels.tsx +15 -5
  224. package/src/i18n/locales/fr.ts +3 -2
  225. package/src/i18n/locales/it.ts +3 -2
  226. package/src/index.ts +3 -1
  227. package/src/lib/refs.ts +22 -0
  228. package/src/rhf/fields.tsx +10 -10
  229. package/src/rhf/form-core.tsx +5 -4
  230. package/src/rhf/form.tsx +7 -43
  231. package/src/rhf/line-items.tsx +1 -1
  232. package/src/rhf/use-rhf-wizard-step.ts +4 -4
  233. package/src/rhf.ts +3 -2
  234. package/src/shell/option-switcher-menu.tsx +5 -22
  235. package/src/shell/role-switcher.tsx +2 -6
  236. package/src/shell/topbar-action-menu.tsx +7 -24
  237. package/src/shell/topbar-controls.tsx +6 -18
  238. package/src/testing/index.ts +3 -1
  239. package/src/testing/viewport.ts +125 -19
  240. package/src/theme/palette-presets.ts +7 -293
  241. package/src/wizard/types.ts +0 -8
@@ -8,11 +8,11 @@
8
8
  // concrete hex in JS, so they read the same values from here via the hooks in
9
9
  // palette-store.
10
10
  //
11
- // The alternative presets below were designed + accessibility-vetted as a set
12
- // (each is CVD-safe across protan/deutan/tritan, money is never red/green, and
13
- // text/background contrast clears WCAG AA on both themes). To promote one to the
14
- // app-wide default, copy its values into the :root/.dark blocks in tokens.css
15
- // (the default preset here mirrors those exactly).
11
+ // The default preset here mirrors the :root/.dark blocks in tokens.css exactly. The
12
+ // five hand-picked alternatives of #307 (`ALTERNATIVE_PRESETS`, a reference bank that
13
+ // `presetById` never resolved) were removed in 0.35 (refactor audit 2026-10, API-6c;
14
+ // deprecated in 0.34): `PALETTES` is what an app offers, and `derivePalette` makes a
15
+ // palette of its own.
16
16
 
17
17
  import type { HeatStops } from "./chart-palette";
18
18
  import { contrastStep, rememberTokenSet } from "./contrast-tokens";
@@ -127,292 +127,6 @@ export const DEFAULT_PRESET: PalettePreset = {
127
127
  },
128
128
  };
129
129
 
130
- // Vetted alternatives to preview (CVD-safe, WCAG-AA on both themes).
131
- /**
132
- * @deprecated 0.34 — `PALETTES`, the presets `presetById` and the palette store know, or
133
- * `derivePalette` for a palette of the app's own; removed in 0.35 (refactor audit 2026-10,
134
- * API-6c). A reference bank only: `presetById` resolves none of these ids, and no app
135
- * imports it (deferred since the 2026-09-22 audit).
136
- */
137
- export const ALTERNATIVE_PRESETS: PalettePreset[] = [
138
- {
139
- id: "warm-paper",
140
- name: "Warm Paper",
141
- blurb: "Cream paper · warm charcoal",
142
- light: {
143
- bgPage: "#ece5d6",
144
- bgSurface: "#f5efe3",
145
- bgSurface2: "#ece5d6",
146
- border: "#e2dcce",
147
- textPrimary: "#2b2622",
148
- textSecondary: "#4f4a44",
149
- textMuted: "#68625b",
150
- brand: "#9a5b34",
151
- brandHover: "#824827",
152
- brandContrast: "#fdf8f2",
153
- moneyIncome: "#0e7490",
154
- moneyExpense: "#8f3f0a",
155
- moneyNet: "#7c4dab",
156
- moneyNeutral: "#6b6258",
157
- chart: ["#332288", "#88ccee", "#44aa99", "#117733", "#999933", "#ddcc77", "#cc6677", "#882255", "#aa4499"],
158
- heat: {
159
- neutral: "#efe9dc",
160
- under: "#0e7490",
161
- over: "#b45309",
162
- seqLow: "#fbeed2",
163
- seqHigh: "#b45309",
164
- empty: "rgba(148,163,184,0.14)",
165
- },
166
- },
167
- dark: {
168
- bgPage: "#211e1a",
169
- bgSurface: "#2a2622",
170
- bgSurface2: "#322d27",
171
- border: "#3d372f",
172
- textPrimary: "#e8e2d6",
173
- textSecondary: "#bfb9af",
174
- textMuted: "#9e998f",
175
- brand: "#e0986a",
176
- brandHover: "#ecae85",
177
- brandContrast: "#2a1c10",
178
- moneyIncome: "#4dd4c4",
179
- moneyExpense: "#fbbf3a",
180
- moneyNet: "#bfa0e0",
181
- moneyNeutral: "#a39a8c",
182
- chart: ["#7e72d6", "#9fd8f2", "#5fc4b0", "#3fa45f", "#bfbf5e", "#e8dda0", "#e08c9a", "#cf6488", "#cc78be"],
183
- heat: {
184
- neutral: "#3a352e",
185
- under: "#4dd4c4",
186
- over: "#fbbf3a",
187
- seqLow: "#2c2014",
188
- seqHigh: "#fbbf3a",
189
- empty: "rgba(148,163,184,0.10)",
190
- },
191
- },
192
- },
193
- {
194
- id: "nord-frost",
195
- name: "Nord Frost",
196
- blurb: "Cool snow · polar night",
197
- light: {
198
- bgPage: "#e2e7ef",
199
- bgSurface: "#f0f3f8",
200
- bgSurface2: "#e2e7ef",
201
- border: "#d3dae6",
202
- textPrimary: "#2e3440",
203
- textSecondary: "#454b56",
204
- textMuted: "#5e636e",
205
- brand: "#3b6ea5",
206
- brandHover: "#305a86",
207
- brandContrast: "#ffffff",
208
- moneyIncome: "#0f8060",
209
- moneyExpense: "#b8431a",
210
- moneyNet: "#6b4fa0",
211
- moneyNeutral: "#5b6577",
212
- chart: ["#3a6ea5", "#56b6c2", "#2f7d4f", "#cdb52f", "#d05f7a", "#9a3f93", "#4d4bbf", "#dd6a2c", "#7a8aa8"],
213
- heat: {
214
- neutral: "#e1e6ee",
215
- under: "#0f8060",
216
- over: "#b8431a",
217
- seqLow: "#f0f3f7",
218
- seqHigh: "#a14708",
219
- empty: "rgba(148,163,184,0.14)",
220
- },
221
- },
222
- dark: {
223
- bgPage: "#242933",
224
- bgSurface: "#2e3440",
225
- bgSurface2: "#3b4252",
226
- border: "#434c5e",
227
- textPrimary: "#eceff4",
228
- textSecondary: "#d4d7de",
229
- textMuted: "#afb3bc",
230
- brand: "#88c0d0",
231
- brandHover: "#a3d4e0",
232
- brandContrast: "#1c2027",
233
- moneyIncome: "#4ecf9c",
234
- moneyExpense: "#e8a24f",
235
- moneyNet: "#caa0e0",
236
- moneyNeutral: "#9aa5b8",
237
- chart: ["#7fb4e6", "#5ec9d6", "#5cc483", "#dccb6b", "#e87e96", "#bd6fce", "#9389f2", "#ef8f4a", "#8693ad"],
238
- heat: {
239
- neutral: "#3b4252",
240
- under: "#4ecf9c",
241
- over: "#e8a24f",
242
- seqLow: "#33373f",
243
- seqHigh: "#e8a24f",
244
- empty: "rgba(148,163,184,0.10)",
245
- },
246
- },
247
- },
248
- {
249
- id: "indigo-noir",
250
- name: "Indigo Noir",
251
- blurb: "Crisp light · deep indigo",
252
- light: {
253
- bgPage: "#e8eaf2",
254
- bgSurface: "#f6f7fb",
255
- bgSurface2: "#e8eaf2",
256
- border: "#dadfeb",
257
- textPrimary: "#1b1f2e",
258
- textSecondary: "#494d5a",
259
- textMuted: "#626572",
260
- brand: "#4338ca",
261
- brandHover: "#3730a3",
262
- brandContrast: "#ffffff",
263
- moneyIncome: "#0c6478",
264
- moneyExpense: "#b45309",
265
- moneyNet: "#7c3aed",
266
- moneyNeutral: "#5b6478",
267
- chart: ["#332288", "#88ccee", "#44aa99", "#117733", "#999933", "#ddcc77", "#cc6677", "#882255", "#aa4499"],
268
- heat: {
269
- neutral: "#eef1f7",
270
- under: "#0c6478",
271
- over: "#b45309",
272
- seqLow: "#fdeed4",
273
- seqHigh: "#b45309",
274
- empty: "rgba(148,163,184,0.14)",
275
- },
276
- },
277
- dark: {
278
- bgPage: "#0e0f1c",
279
- bgSurface: "#181a2c",
280
- bgSurface2: "#21243a",
281
- border: "#2e3252",
282
- textPrimary: "#e6e8f4",
283
- textSecondary: "#adafbe",
284
- textMuted: "#8d90a0",
285
- brand: "#8b93f8",
286
- brandHover: "#aab1fb",
287
- brandContrast: "#16182b",
288
- moneyIncome: "#22c3b6",
289
- // Kept byte-identical to DEFAULT_PRESET.dark, which IS this preset (dev#434).
290
- moneyExpense: "#e4b035",
291
- moneyNet: "#b39aef",
292
- moneyNeutral: "#9aa1bd",
293
- chart: ["#7e72d6", "#9fd8f2", "#5fc4b0", "#3fa45f", "#bfbf5e", "#e8dda0", "#e08c9a", "#c25a78", "#cc78be"],
294
- heat: {
295
- neutral: "#363a5a",
296
- under: "#22c3b6",
297
- over: "#fbbf24",
298
- seqLow: "#3a2c14",
299
- seqHigh: "#fbbf24",
300
- empty: "rgba(148,163,184,0.10)",
301
- },
302
- },
303
- },
304
- {
305
- id: "solar-dusk",
306
- name: "Solar Dusk",
307
- blurb: "Solarized warmth, easy on the eyes",
308
- light: {
309
- bgPage: "#ede3cf",
310
- bgSurface: "#f6ecd9",
311
- bgSurface2: "#ede3cf",
312
- border: "#e2d6bd",
313
- textPrimary: "#463f33",
314
- textSecondary: "#50493c",
315
- textMuted: "#696153",
316
- brand: "#2c6979",
317
- brandHover: "#1f515f",
318
- brandContrast: "#ffffff",
319
- moneyIncome: "#0b6650",
320
- moneyExpense: "#905902",
321
- moneyNet: "#7a4fa3",
322
- moneyNeutral: "#6b6453",
323
- chart: ["#332288", "#88ccee", "#44aa99", "#117733", "#999933", "#ddcc77", "#cc6677", "#882255", "#aa4499"],
324
- heat: {
325
- neutral: "#f1e7d2",
326
- under: "#0b6650",
327
- over: "#9c6418",
328
- seqLow: "#f6ecd0",
329
- seqHigh: "#9c6418",
330
- empty: "rgba(148,163,184,0.14)",
331
- },
332
- },
333
- dark: {
334
- bgPage: "#0e1a1f",
335
- bgSurface: "#15272e",
336
- bgSurface2: "#1d333c",
337
- border: "#2a4750",
338
- textPrimary: "#d6cdb8",
339
- textSecondary: "#c2bdab",
340
- textMuted: "#9c9d91",
341
- brand: "#5fb8cc",
342
- brandHover: "#82cfe0",
343
- brandContrast: "#0a161a",
344
- moneyIncome: "#22b884",
345
- moneyExpense: "#f0b94e",
346
- moneyNet: "#bfa0e0",
347
- moneyNeutral: "#9aa3a0",
348
- chart: ["#7e72d6", "#9fd8f2", "#5fc4b0", "#3fa45f", "#bfbf5e", "#e8dda0", "#e08c9a", "#c25a78", "#c873c0"],
349
- heat: {
350
- neutral: "#26424b",
351
- under: "#22b884",
352
- over: "#f0b94e",
353
- seqLow: "#1f3138",
354
- seqHigh: "#f0b94e",
355
- empty: "rgba(148,163,184,0.10)",
356
- },
357
- },
358
- },
359
- {
360
- id: "zinc-mono",
361
- name: "Zinc Mono",
362
- blurb: "True-neutral chrome · data pops",
363
- light: {
364
- bgPage: "#ececec",
365
- bgSurface: "#f7f7f7",
366
- bgSurface2: "#ececec",
367
- border: "#e4e4e7",
368
- textPrimary: "#18181b",
369
- textSecondary: "#4e4e50",
370
- textMuted: "#676769",
371
- brand: "#1d4ed8",
372
- brandHover: "#1e40af",
373
- brandContrast: "#ffffff",
374
- moneyIncome: "#0e7490",
375
- moneyExpense: "#cf4310",
376
- moneyNet: "#7c3aed",
377
- moneyNeutral: "#52525b",
378
- chart: ["#332288", "#88ccee", "#44aa99", "#117733", "#999933", "#ddcc77", "#cc6677", "#882255", "#aa4499"],
379
- heat: {
380
- neutral: "#f4f4f5",
381
- under: "#0e7490",
382
- over: "#cf4310",
383
- seqLow: "#fdeede",
384
- seqHigh: "#cf4310",
385
- empty: "rgba(148,163,184,0.14)",
386
- },
387
- },
388
- dark: {
389
- bgPage: "#09090b",
390
- bgSurface: "#18181b",
391
- bgSurface2: "#27272a",
392
- border: "#3f3f46",
393
- textPrimary: "#f4f4f5",
394
- textSecondary: "#b2b2b3",
395
- textMuted: "#929294",
396
- brand: "#60a5fa",
397
- brandHover: "#93c5fd",
398
- brandContrast: "#0b1220",
399
- moneyIncome: "#22d3ee",
400
- moneyExpense: "#f97316",
401
- moneyNet: "#c4b5fd",
402
- moneyNeutral: "#a1a1aa",
403
- chart: ["#7e72d6", "#9fd8f2", "#5fc4b0", "#3fa45f", "#bfbf5e", "#e8dda0", "#e08c9a", "#c25a78", "#cc78be"],
404
- heat: {
405
- neutral: "#3f3f46",
406
- under: "#22d3ee",
407
- over: "#f97316",
408
- seqLow: "#3a2410",
409
- seqHigh: "#f97316",
410
- empty: "rgba(148,163,184,0.10)",
411
- },
412
- },
413
- },
414
- ];
415
-
416
130
  // ── "Imprint" chart hues (feedback #119) ──────────────────────────────────────
417
131
  // anyplot's categorical palette (https://anyplot.ai/palette), by a colleague of
418
132
  // Marcel's. 8 hues + an amber semantic anchor, derived from Wong 2011 by a
@@ -472,8 +186,8 @@ export const IMPRINT_PRESET: PalettePreset = {
472
186
  };
473
187
 
474
188
  // The full-theme switcher from #307 stayed retired (feedback #328) — the default
475
- // is still the single source of truth for surfaces, brand and money, and
476
- // ALTERNATIVE_PRESETS above remains a reference bank only. What IS selectable is
189
+ // is still the single source of truth for surfaces, brand and money (its five
190
+ // alternatives are gone, see the header). What IS selectable is
477
191
  // the categorical chart ramp (feedback #119), so these two presets are the live
478
192
  // set; presetById falls back to the default for any stale persisted id.
479
193
  /**
@@ -255,11 +255,3 @@ export interface WizardLabels {
255
255
 
256
256
  // The English words live in ./wizard-labels, a module of words (round 0.34).
257
257
  export { DEFAULT_WIZARD_LABELS };
258
-
259
- /** @deprecated 0.34 — `useKitLabels("wizard", DEFAULT_WIZARD_LABELS, labels)`, which the
260
- * provider reaches too, or StepperNav's and WizardSummary's own `labels`; removed in 0.35
261
- * (refactor audit 2026-10, API-6a). A merge from before the provider, which no kit
262
- * component calls. */
263
- export function resolveWizardLabels(labels?: Partial<WizardLabels>): WizardLabels {
264
- return labels ? { ...DEFAULT_WIZARD_LABELS, ...labels } : DEFAULT_WIZARD_LABELS;
265
- }