@eifi1/ui-kit 0.53.0 → 0.55.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 (902) hide show
  1. package/README.md +96 -82
  2. package/dist/account/delete-account-setting.d.ts +3 -2
  3. package/dist/account/delete-account-setting.js.map +1 -1
  4. package/dist/admin/plan-change.js +2 -2
  5. package/dist/admin/plan-change.js.map +1 -1
  6. package/dist/admin/user-roster.d.ts +6 -0
  7. package/dist/admin/user-roster.js +4 -0
  8. package/dist/admin/user-roster.js.map +1 -1
  9. package/dist/auth/auth-errors.d.ts +36 -0
  10. package/dist/auth/auth-errors.js +20 -0
  11. package/dist/auth/auth-errors.js.map +1 -1
  12. package/dist/billing/billing-labels.d.ts +26 -0
  13. package/dist/billing/billing-labels.js +9 -0
  14. package/dist/billing/billing-labels.js.map +1 -1
  15. package/dist/billing/subscription-standing.d.ts +61 -0
  16. package/dist/billing/subscription-standing.js +51 -0
  17. package/dist/billing/subscription-standing.js.map +1 -0
  18. package/dist/billing/usage-meter.d.ts +52 -0
  19. package/dist/billing/usage-meter.js +52 -0
  20. package/dist/billing/usage-meter.js.map +1 -0
  21. package/dist/chart.d.ts +1 -0
  22. package/dist/chart.js +4 -0
  23. package/dist/chart.js.map +1 -1
  24. package/dist/components/alert-banner.js +2 -3
  25. package/dist/components/alert-banner.js.map +1 -1
  26. package/dist/components/amount-input.d.ts +2 -1
  27. package/dist/components/amount-input.js +3 -15
  28. package/dist/components/amount-input.js.map +1 -1
  29. package/dist/components/autocomplete.js +2 -2
  30. package/dist/components/autocomplete.js.map +1 -1
  31. package/dist/components/bulk-action-bar.js +2 -1
  32. package/dist/components/bulk-action-bar.js.map +1 -1
  33. package/dist/components/button.d.ts +35 -1
  34. package/dist/components/button.js +5 -9
  35. package/dist/components/button.js.map +1 -1
  36. package/dist/components/calendar-heatmap.js +6 -4
  37. package/dist/components/calendar-heatmap.js.map +1 -1
  38. package/dist/components/camera-button.d.ts +89 -0
  39. package/dist/components/camera-button.js +122 -0
  40. package/dist/components/camera-button.js.map +1 -0
  41. package/dist/components/camera-capture.d.ts +66 -0
  42. package/dist/components/camera-capture.js +190 -0
  43. package/dist/components/camera-capture.js.map +1 -0
  44. package/dist/components/camera-labels.d.ts +20 -0
  45. package/dist/components/camera-labels.js +15 -0
  46. package/dist/components/camera-labels.js.map +1 -0
  47. package/dist/components/chart-edge.d.ts +9 -0
  48. package/dist/components/chart-edge.js +14 -3
  49. package/dist/components/chart-edge.js.map +1 -1
  50. package/dist/components/chart-zoom-core.js +34 -29
  51. package/dist/components/chart-zoom-core.js.map +1 -1
  52. package/dist/components/checkbox-group.js +1 -1
  53. package/dist/components/checkbox-group.js.map +1 -1
  54. package/dist/components/combobox-core.js +3 -2
  55. package/dist/components/combobox-core.js.map +1 -1
  56. package/dist/components/combobox.js +2 -2
  57. package/dist/components/combobox.js.map +1 -1
  58. package/dist/components/consent-again-notice-labels.d.ts +25 -0
  59. package/dist/components/consent-again-notice-labels.js +15 -0
  60. package/dist/components/consent-again-notice-labels.js.map +1 -0
  61. package/dist/components/consent-again-notice.d.ts +85 -0
  62. package/dist/components/consent-again-notice.js +94 -0
  63. package/dist/components/consent-again-notice.js.map +1 -0
  64. package/dist/components/country-select.js +2 -7
  65. package/dist/components/country-select.js.map +1 -1
  66. package/dist/components/currency-option-list.d.ts +2 -1
  67. package/dist/components/currency-option-list.js +10 -3
  68. package/dist/components/currency-option-list.js.map +1 -1
  69. package/dist/components/currency-select.d.ts +3 -1
  70. package/dist/components/currency-select.js +2 -2
  71. package/dist/components/currency-select.js.map +1 -1
  72. package/dist/components/danger-confirm.d.ts +22 -1
  73. package/dist/components/danger-confirm.js +52 -30
  74. package/dist/components/danger-confirm.js.map +1 -1
  75. package/dist/components/data-table-column-settings.js +2 -2
  76. package/dist/components/data-table-column-settings.js.map +1 -1
  77. package/dist/components/data-table-filter-popover.d.ts +2 -1
  78. package/dist/components/data-table-filter-popover.js +3 -2
  79. package/dist/components/data-table-filter-popover.js.map +1 -1
  80. package/dist/components/data-table-filters.d.ts +33 -3
  81. package/dist/components/data-table-filters.js +6 -4
  82. package/dist/components/data-table-filters.js.map +1 -1
  83. package/dist/components/data-table-fit.js.map +1 -1
  84. package/dist/components/data-table-virtual.js +13 -3
  85. package/dist/components/data-table-virtual.js.map +1 -1
  86. package/dist/components/date-field.js +2 -2
  87. package/dist/components/date-field.js.map +1 -1
  88. package/dist/components/date-picker.js +2 -2
  89. package/dist/components/date-picker.js.map +1 -1
  90. package/dist/components/date-range-picker.js +2 -6
  91. package/dist/components/date-range-picker.js.map +1 -1
  92. package/dist/components/dialog-frame.d.ts +5 -1
  93. package/dist/components/dialog-frame.js +6 -2
  94. package/dist/components/dialog-frame.js.map +1 -1
  95. package/dist/components/dropdown.js +7 -3
  96. package/dist/components/dropdown.js.map +1 -1
  97. package/dist/components/entity-combobox.js +2 -2
  98. package/dist/components/entity-combobox.js.map +1 -1
  99. package/dist/components/field-parts.d.ts +108 -6
  100. package/dist/components/field-parts.js +59 -6
  101. package/dist/components/field-parts.js.map +1 -1
  102. package/dist/components/field-suggestion-labels.d.ts +2 -0
  103. package/dist/components/field-suggestion-labels.js +10 -0
  104. package/dist/components/field-suggestion-labels.js.map +1 -0
  105. package/dist/components/field.js +1 -1
  106. package/dist/components/field.js.map +1 -1
  107. package/dist/components/file-button.d.ts +1 -1
  108. package/dist/components/file-button.js.map +1 -1
  109. package/dist/components/floating-panel.d.ts +7 -6
  110. package/dist/components/floating-panel.js +3 -17
  111. package/dist/components/floating-panel.js.map +1 -1
  112. package/dist/components/form-actions.d.ts +3 -2
  113. package/dist/components/form-actions.js.map +1 -1
  114. package/dist/components/hover-menu.js +3 -2
  115. package/dist/components/hover-menu.js.map +1 -1
  116. package/dist/components/icon-button.d.ts +23 -5
  117. package/dist/components/icon-button.js +6 -8
  118. package/dist/components/icon-button.js.map +1 -1
  119. package/dist/components/inline-confirm.js +2 -1
  120. package/dist/components/inline-confirm.js.map +1 -1
  121. package/dist/components/inline-entity-combobox.js +2 -2
  122. package/dist/components/inline-entity-combobox.js.map +1 -1
  123. package/dist/components/input.js +2 -2
  124. package/dist/components/input.js.map +1 -1
  125. package/dist/components/jump-calendar.js +3 -3
  126. package/dist/components/jump-calendar.js.map +1 -1
  127. package/dist/components/legal.d.ts +13 -1
  128. package/dist/components/legal.js +12 -0
  129. package/dist/components/legal.js.map +1 -1
  130. package/dist/components/legended-series-chart.d.ts +80 -0
  131. package/dist/components/legended-series-chart.js +70 -0
  132. package/dist/components/legended-series-chart.js.map +1 -0
  133. package/dist/components/lightbox.js +2 -1
  134. package/dist/components/lightbox.js.map +1 -1
  135. package/dist/components/mini-calendar.js +16 -7
  136. package/dist/components/mini-calendar.js.map +1 -1
  137. package/dist/components/modal.d.ts +48 -0
  138. package/dist/components/modal.js +26 -6
  139. package/dist/components/modal.js.map +1 -1
  140. package/dist/components/month-picker.d.ts +1 -1
  141. package/dist/components/month-picker.js +6 -6
  142. package/dist/components/month-picker.js.map +1 -1
  143. package/dist/components/multi-entity-combobox.js +2 -2
  144. package/dist/components/multi-entity-combobox.js.map +1 -1
  145. package/dist/components/multi-select.js +2 -6
  146. package/dist/components/multi-select.js.map +1 -1
  147. package/dist/components/number-input.js +2 -2
  148. package/dist/components/number-input.js.map +1 -1
  149. package/dist/components/page-header-layout.d.ts +18 -0
  150. package/dist/components/page-header-layout.js +23 -0
  151. package/dist/components/page-header-layout.js.map +1 -0
  152. package/dist/components/page-header-skeleton.d.ts +41 -0
  153. package/dist/components/page-header-skeleton.js +52 -0
  154. package/dist/components/page-header-skeleton.js.map +1 -0
  155. package/dist/components/page-header.js +4 -17
  156. package/dist/components/page-header.js.map +1 -1
  157. package/dist/components/popover.js +7 -2
  158. package/dist/components/popover.js.map +1 -1
  159. package/dist/components/release-notes-labels.d.ts +16 -0
  160. package/dist/components/release-notes-labels.js +18 -0
  161. package/dist/components/release-notes-labels.js.map +1 -0
  162. package/dist/components/release-notes.d.ts +65 -0
  163. package/dist/components/release-notes.js +65 -0
  164. package/dist/components/release-notes.js.map +1 -0
  165. package/dist/components/select.js +2 -2
  166. package/dist/components/select.js.map +1 -1
  167. package/dist/components/series-chart-labels.d.ts +9 -0
  168. package/dist/components/series-chart-labels.js +3 -1
  169. package/dist/components/series-chart-labels.js.map +1 -1
  170. package/dist/components/series-chart.d.ts +5 -0
  171. package/dist/components/series-chart.js +89 -36
  172. package/dist/components/series-chart.js.map +1 -1
  173. package/dist/components/stat-tile.d.ts +21 -2
  174. package/dist/components/stat-tile.js +4 -2
  175. package/dist/components/stat-tile.js.map +1 -1
  176. package/dist/components/toggle-group.js +3 -2
  177. package/dist/components/toggle-group.js.map +1 -1
  178. package/dist/components/treemap-layout.js.map +1 -1
  179. package/dist/components/treemap.d.ts +17 -15
  180. package/dist/components/treemap.js +167 -85
  181. package/dist/components/treemap.js.map +1 -1
  182. package/dist/currencies.d.ts +16 -2
  183. package/dist/currencies.js +2 -1
  184. package/dist/currencies.js.map +1 -1
  185. package/dist/eslint/index.js +1 -1
  186. package/dist/eslint/role-utilities.d.ts +2 -2
  187. package/dist/eslint/role-utilities.js.map +1 -1
  188. package/dist/feedback/feedback-context-labels.js +2 -1
  189. package/dist/feedback/feedback-context-labels.js.map +1 -1
  190. package/dist/feedback/feedback-context.d.ts +19 -3
  191. package/dist/feedback/feedback-context.js +12 -1
  192. package/dist/feedback/feedback-context.js.map +1 -1
  193. package/dist/feedback/feedback-diagnostics.d.ts +17 -0
  194. package/dist/feedback/feedback-diagnostics.js +27 -0
  195. package/dist/feedback/feedback-diagnostics.js.map +1 -0
  196. package/dist/feedback/feedback-dialog.d.ts +10 -0
  197. package/dist/feedback/feedback-dialog.js +6 -4
  198. package/dist/feedback/feedback-dialog.js.map +1 -1
  199. package/dist/feedback/feedback-inbox-page.d.ts +260 -0
  200. package/dist/feedback/feedback-inbox-page.js +207 -0
  201. package/dist/feedback/feedback-inbox-page.js.map +1 -0
  202. package/dist/feedback/feedback-record.d.ts +5 -0
  203. package/dist/feedback/feedback-record.js.map +1 -1
  204. package/dist/feedback/feedback-row-detail-labels.js +1 -0
  205. package/dist/feedback/feedback-row-detail-labels.js.map +1 -1
  206. package/dist/feedback/feedback-row-detail.d.ts +3 -0
  207. package/dist/feedback/feedback-row-detail.js +3 -0
  208. package/dist/feedback/feedback-row-detail.js.map +1 -1
  209. package/dist/feedback/feedback-submit-dialog.d.ts +5 -1
  210. package/dist/feedback/feedback-submit-dialog.js +15 -3
  211. package/dist/feedback/feedback-submit-dialog.js.map +1 -1
  212. package/dist/feedback/feedback-submit.d.ts +30 -2
  213. package/dist/feedback/feedback-submit.js +5 -2
  214. package/dist/feedback/feedback-submit.js.map +1 -1
  215. package/dist/feedback/feedback-vocabulary.js +2 -2
  216. package/dist/feedback/feedback-vocabulary.js.map +1 -1
  217. package/dist/feedback.d.ts +1 -0
  218. package/dist/feedback.js +6 -0
  219. package/dist/feedback.js.map +1 -1
  220. package/dist/hooks/use-debounce.d.ts +32 -5
  221. package/dist/hooks/use-debounce.js +6 -5
  222. package/dist/hooks/use-debounce.js.map +1 -1
  223. package/dist/hooks/use-file-picker.d.ts +3 -1
  224. package/dist/hooks/use-file-picker.js.map +1 -1
  225. package/dist/hooks/use-focus-trap.d.ts +19 -3
  226. package/dist/hooks/use-focus-trap.js +15 -5
  227. package/dist/hooks/use-focus-trap.js.map +1 -1
  228. package/dist/hooks/use-has-camera.d.ts +36 -0
  229. package/dist/hooks/use-has-camera.js +53 -0
  230. package/dist/hooks/use-has-camera.js.map +1 -0
  231. package/dist/hooks/use-hotkey.js +2 -1
  232. package/dist/hooks/use-hotkey.js.map +1 -1
  233. package/dist/hooks/use-overlay-history.d.ts +6 -1
  234. package/dist/hooks/use-overlay-history.js +10 -2
  235. package/dist/hooks/use-overlay-history.js.map +1 -1
  236. package/dist/i18n/defaults.js +11 -1
  237. package/dist/i18n/defaults.js.map +1 -1
  238. package/dist/i18n/german.js +78 -4
  239. package/dist/i18n/german.js.map +1 -1
  240. package/dist/i18n/kit-labels.d.ts +20 -0
  241. package/dist/i18n/kit-labels.js.map +1 -1
  242. package/dist/i18n/locales/en.js +95 -5
  243. package/dist/i18n/locales/en.js.map +3 -3
  244. package/dist/i18n/locales/es.js +74 -4
  245. package/dist/i18n/locales/es.js.map +1 -1
  246. package/dist/i18n/locales/fr.js +75 -3
  247. package/dist/i18n/locales/fr.js.map +1 -1
  248. package/dist/i18n/locales/hu.js +77 -4
  249. package/dist/i18n/locales/hu.js.map +1 -1
  250. package/dist/i18n/locales/it.js +77 -4
  251. package/dist/i18n/locales/it.js.map +1 -1
  252. package/dist/i18n/locales/zh.js +74 -4
  253. package/dist/i18n/locales/zh.js.map +1 -1
  254. package/dist/i18n/review.js +22 -1
  255. package/dist/i18n/review.js.map +1 -1
  256. package/dist/index.d.ts +27 -8
  257. package/dist/index.js +41 -2
  258. package/dist/index.js.map +1 -1
  259. package/dist/landing/landing-labels.d.ts +8 -0
  260. package/dist/landing/landing-labels.js +2 -1
  261. package/dist/landing/landing-labels.js.map +1 -1
  262. package/dist/lib/changelog.d.ts +130 -0
  263. package/dist/lib/changelog.js +137 -0
  264. package/dist/lib/changelog.js.map +1 -0
  265. package/dist/lib/clipboard-minus.js +2 -2
  266. package/dist/lib/clipboard-minus.js.map +1 -1
  267. package/dist/lib/dates.d.ts +36 -4
  268. package/dist/lib/dates.js +49 -13
  269. package/dist/lib/dates.js.map +1 -1
  270. package/dist/lib/editable-content.d.ts +33 -0
  271. package/dist/lib/editable-content.js +15 -0
  272. package/dist/lib/editable-content.js.map +1 -0
  273. package/dist/lib/focus-left.d.ts +47 -1
  274. package/dist/lib/focus-left.js +11 -2
  275. package/dist/lib/focus-left.js.map +1 -1
  276. package/dist/lib/format.d.ts +37 -2
  277. package/dist/lib/format.js +25 -1
  278. package/dist/lib/format.js.map +1 -1
  279. package/dist/lib/intl-cache.d.ts +4 -2
  280. package/dist/lib/intl-cache.js.map +1 -1
  281. package/dist/lib/server-wake.d.ts +49 -9
  282. package/dist/lib/server-wake.js +25 -14
  283. package/dist/lib/server-wake.js.map +1 -1
  284. package/dist/lib/session-refresh.d.ts +53 -0
  285. package/dist/lib/session-refresh.js +27 -1
  286. package/dist/lib/session-refresh.js.map +1 -1
  287. package/dist/lib/translation-review.d.ts +26 -0
  288. package/dist/lib/translation-review.js +14 -0
  289. package/dist/lib/translation-review.js.map +1 -1
  290. package/dist/rhf/fields.js +3 -3
  291. package/dist/rhf/fields.js.map +1 -1
  292. package/dist/shell/app-shell.d.ts +25 -1
  293. package/dist/shell/app-shell.js +3 -1
  294. package/dist/shell/app-shell.js.map +1 -1
  295. package/dist/shell/dev-menu.d.ts +3 -0
  296. package/dist/shell/dev-menu.js +4 -2
  297. package/dist/shell/dev-menu.js.map +1 -1
  298. package/dist/shell/held-changes-banner-labels.d.ts +23 -0
  299. package/dist/shell/held-changes-banner-labels.js +14 -0
  300. package/dist/shell/held-changes-banner-labels.js.map +1 -0
  301. package/dist/shell/held-changes-banner.d.ts +75 -0
  302. package/dist/shell/held-changes-banner.js +106 -0
  303. package/dist/shell/held-changes-banner.js.map +1 -0
  304. package/dist/shell/sync-status-indicator.d.ts +27 -12
  305. package/dist/shell/sync-status-indicator.js +13 -4
  306. package/dist/shell/sync-status-indicator.js.map +1 -1
  307. package/dist/shell/top-bar-parts-labels.d.ts +5 -0
  308. package/dist/shell/top-bar-parts-labels.js +3 -1
  309. package/dist/shell/top-bar-parts-labels.js.map +1 -1
  310. package/dist/shell.d.ts +2 -0
  311. package/dist/shell.js +3 -0
  312. package/dist/shell.js.map +1 -1
  313. package/dist/sync/engine.d.ts +11 -2
  314. package/dist/sync/engine.js +13 -5
  315. package/dist/sync/engine.js.map +1 -1
  316. package/dist/sync/hooks.d.ts +3 -2
  317. package/dist/sync/hooks.js +4 -2
  318. package/dist/sync/hooks.js.map +1 -1
  319. package/dist/testing/css-variables.generated.d.ts +2 -2
  320. package/dist/testing/css-variables.generated.js +1 -1
  321. package/dist/testing/css-variables.generated.js.map +1 -1
  322. package/dist/theme/chart-palette.d.ts +18 -0
  323. package/dist/theme/chart-palette.js +17 -1
  324. package/dist/theme/chart-palette.js.map +1 -1
  325. package/dist/theme/contrast-tokens.d.ts +3 -3
  326. package/dist/theme/contrast-tokens.js.map +1 -1
  327. package/dist/theme/contrast.d.ts +4 -4
  328. package/dist/theme/contrast.js.map +1 -1
  329. package/dist/tour/tour-overlay.js +2 -1
  330. package/dist/tour/tour-overlay.js.map +1 -1
  331. package/package.json +5 -9
  332. package/tokens.css +19 -54
  333. package/src/account/account-parts.ts +0 -47
  334. package/src/account/account-settings-labels.ts +0 -240
  335. package/src/account/account-settings.tsx +0 -698
  336. package/src/account/data-export-setting-labels.ts +0 -20
  337. package/src/account/data-export-setting.tsx +0 -200
  338. package/src/account/delete-account-setting-labels.ts +0 -33
  339. package/src/account/delete-account-setting.tsx +0 -341
  340. package/src/account/email-change-setting-labels.ts +0 -31
  341. package/src/account/email-change-setting.tsx +0 -443
  342. package/src/account/passkeys-setting.tsx +0 -445
  343. package/src/account/sessions-setting-labels.ts +0 -24
  344. package/src/account/sessions-setting.tsx +0 -283
  345. package/src/admin/admin-action-confirm-labels.ts +0 -19
  346. package/src/admin/admin-action-confirm.tsx +0 -509
  347. package/src/admin/admin-action-log-labels.ts +0 -83
  348. package/src/admin/admin-action-log.tsx +0 -464
  349. package/src/admin/admin-area-labels.ts +0 -114
  350. package/src/admin/admin-forbidden.tsx +0 -75
  351. package/src/admin/admin-overview.tsx +0 -258
  352. package/src/admin/admin-parts.ts +0 -68
  353. package/src/admin/admin-sections.tsx +0 -208
  354. package/src/admin/admin-tool-links.tsx +0 -90
  355. package/src/admin/invitations-panel-labels.ts +0 -31
  356. package/src/admin/invitations-panel.tsx +0 -516
  357. package/src/admin/mail-test-card-labels.ts +0 -19
  358. package/src/admin/mail-test-card.tsx +0 -189
  359. package/src/admin/plan-change-labels.ts +0 -5
  360. package/src/admin/plan-change.tsx +0 -474
  361. package/src/admin/reviewer-scope-editor-labels.ts +0 -16
  362. package/src/admin/reviewer-scope-editor.tsx +0 -224
  363. package/src/admin/role-select-labels.ts +0 -16
  364. package/src/admin/role-select.tsx +0 -282
  365. package/src/admin/transfer-ownership-dialog-labels.ts +0 -20
  366. package/src/admin/transfer-ownership-dialog.tsx +0 -162
  367. package/src/admin/user-roster-labels.ts +0 -17
  368. package/src/admin/user-roster.tsx +0 -559
  369. package/src/auth/accept-invitation-labels.ts +0 -21
  370. package/src/auth/accept-invitation.tsx +0 -210
  371. package/src/auth/auth-errors-labels.ts +0 -23
  372. package/src/auth/auth-errors.ts +0 -370
  373. package/src/auth/complete-name-dialog-labels.ts +0 -16
  374. package/src/auth/complete-name-dialog.tsx +0 -253
  375. package/src/auth/email-tag.ts +0 -75
  376. package/src/auth/forgot-password-form-labels.ts +0 -20
  377. package/src/auth/forgot-password-form.tsx +0 -221
  378. package/src/auth/form-rules.ts +0 -40
  379. package/src/auth/new-password-fields.tsx +0 -85
  380. package/src/auth/not-found-page-labels.ts +0 -12
  381. package/src/auth/not-found-page.tsx +0 -95
  382. package/src/auth/register-form-labels.ts +0 -31
  383. package/src/auth/register-form.tsx +0 -456
  384. package/src/auth/reset-password-form-labels.ts +0 -27
  385. package/src/auth/reset-password-form.tsx +0 -341
  386. package/src/auth/sign-in-form-labels.ts +0 -44
  387. package/src/auth/sign-in-form.tsx +0 -858
  388. package/src/auth/status-parts.tsx +0 -132
  389. package/src/auth/verify-email-labels.ts +0 -26
  390. package/src/auth/verify-email.tsx +0 -445
  391. package/src/billing/billing-banner.tsx +0 -258
  392. package/src/billing/billing-labels.ts +0 -381
  393. package/src/billing/billing-lock.ts +0 -108
  394. package/src/billing/billing-overview.ts +0 -157
  395. package/src/billing/billing-standing.ts +0 -80
  396. package/src/billing/cancel-request.ts +0 -97
  397. package/src/billing/cancel-subscription.tsx +0 -98
  398. package/src/billing/checkout-processing.ts +0 -394
  399. package/src/billing/checkout-return.ts +0 -90
  400. package/src/billing/pay-page.ts +0 -330
  401. package/src/billing/plan-card.tsx +0 -562
  402. package/src/billing/plan-change-labels.ts +0 -66
  403. package/src/billing/plan-limit-notice.tsx +0 -148
  404. package/src/billing/plan-limit-toast.tsx +0 -90
  405. package/src/billing/plan-limit.ts +0 -52
  406. package/src/billing/plan-price.ts +0 -98
  407. package/src/billing/plan-switch.tsx +0 -216
  408. package/src/billing/provider-page.ts +0 -84
  409. package/src/billing/subscription-actions.tsx +0 -247
  410. package/src/billing/subscription-status-chip.tsx +0 -95
  411. package/src/chart.ts +0 -103
  412. package/src/components/account-chips-labels.ts +0 -16
  413. package/src/components/account-chips.tsx +0 -474
  414. package/src/components/alert-banner.tsx +0 -670
  415. package/src/components/amount-input.tsx +0 -815
  416. package/src/components/appearance-labels.ts +0 -63
  417. package/src/components/authed-image-labels.ts +0 -11
  418. package/src/components/authed-image.tsx +0 -209
  419. package/src/components/autocomplete.tsx +0 -645
  420. package/src/components/breadcrumbs-labels.ts +0 -10
  421. package/src/components/breadcrumbs.tsx +0 -205
  422. package/src/components/bulk-action-bar-labels.ts +0 -11
  423. package/src/components/bulk-action-bar.tsx +0 -443
  424. package/src/components/button-group.tsx +0 -223
  425. package/src/components/button-look.ts +0 -256
  426. package/src/components/button.tsx +0 -339
  427. package/src/components/calculator.tsx +0 -341
  428. package/src/components/calendar-heatmap-labels.ts +0 -15
  429. package/src/components/calendar-heatmap.tsx +0 -594
  430. package/src/components/card.tsx +0 -377
  431. package/src/components/chart-edge.ts +0 -106
  432. package/src/components/chart-figure.tsx +0 -35
  433. package/src/components/chart-height.ts +0 -30
  434. package/src/components/chart-zoom-core.tsx +0 -627
  435. package/src/components/chart-zoom.tsx +0 -22
  436. package/src/components/chart.tsx +0 -554
  437. package/src/components/checkbox-group.tsx +0 -247
  438. package/src/components/checkbox.tsx +0 -346
  439. package/src/components/chip-input.tsx +0 -370
  440. package/src/components/chip-labels.ts +0 -13
  441. package/src/components/chip.tsx +0 -843
  442. package/src/components/choice-card.tsx +0 -544
  443. package/src/components/column-mapper-labels.ts +0 -38
  444. package/src/components/column-mapper.tsx +0 -655
  445. package/src/components/combobox-core.tsx +0 -1321
  446. package/src/components/combobox-suggestions.tsx +0 -131
  447. package/src/components/combobox.tsx +0 -716
  448. package/src/components/confirm-context.ts +0 -7
  449. package/src/components/confirm-dialog-labels.ts +0 -13
  450. package/src/components/confirm-dialog.tsx +0 -341
  451. package/src/components/copy-button-labels.ts +0 -13
  452. package/src/components/copy-button.tsx +0 -192
  453. package/src/components/country-select-labels.ts +0 -11
  454. package/src/components/country-select.tsx +0 -539
  455. package/src/components/currency-option-list.tsx +0 -180
  456. package/src/components/currency-select.tsx +0 -341
  457. package/src/components/danger-confirm-labels.ts +0 -20
  458. package/src/components/danger-confirm.tsx +0 -934
  459. package/src/components/data-table-cells.tsx +0 -118
  460. package/src/components/data-table-column-settings.tsx +0 -198
  461. package/src/components/data-table-filter-popover.tsx +0 -281
  462. package/src/components/data-table-filters.ts +0 -287
  463. package/src/components/data-table-fit.ts +0 -301
  464. package/src/components/data-table-groups.tsx +0 -288
  465. package/src/components/data-table-head.tsx +0 -280
  466. package/src/components/data-table-labels.ts +0 -198
  467. package/src/components/data-table-leading-row.tsx +0 -58
  468. package/src/components/data-table-mobile.tsx +0 -1117
  469. package/src/components/data-table-pagination.tsx +0 -202
  470. package/src/components/data-table-resize.ts +0 -188
  471. package/src/components/data-table-row-actions.tsx +0 -302
  472. package/src/components/data-table-row.tsx +0 -496
  473. package/src/components/data-table-selection.ts +0 -71
  474. package/src/components/data-table-shared.tsx +0 -287
  475. package/src/components/data-table-sort.ts +0 -163
  476. package/src/components/data-table-virtual.ts +0 -576
  477. package/src/components/data-table.tsx +0 -2598
  478. package/src/components/date-field.tsx +0 -684
  479. package/src/components/date-format-setting.tsx +0 -64
  480. package/src/components/date-picker.tsx +0 -404
  481. package/src/components/date-range-picker.tsx +0 -518
  482. package/src/components/description-list-labels.ts +0 -9
  483. package/src/components/description-list.tsx +0 -386
  484. package/src/components/dialog-frame-labels.ts +0 -7
  485. package/src/components/dialog-frame.tsx +0 -276
  486. package/src/components/disclosure.tsx +0 -476
  487. package/src/components/dropdown.tsx +0 -461
  488. package/src/components/empty-state.tsx +0 -136
  489. package/src/components/entity-combobox.tsx +0 -422
  490. package/src/components/error-boundary-labels.ts +0 -20
  491. package/src/components/error-boundary.tsx +0 -675
  492. package/src/components/facing-pair.ts +0 -93
  493. package/src/components/field-base-labels.ts +0 -20
  494. package/src/components/field-base.tsx +0 -656
  495. package/src/components/field-parts.tsx +0 -825
  496. package/src/components/field-strip.tsx +0 -129
  497. package/src/components/field.tsx +0 -206
  498. package/src/components/file-button.tsx +0 -295
  499. package/src/components/file-dropzone.tsx +0 -559
  500. package/src/components/floating-panel-labels.ts +0 -10
  501. package/src/components/floating-panel.tsx +0 -828
  502. package/src/components/focus-ring.ts +0 -16
  503. package/src/components/form-actions-labels.ts +0 -11
  504. package/src/components/form-actions.tsx +0 -578
  505. package/src/components/full-bleed-dialog.tsx +0 -294
  506. package/src/components/grouped-picker.tsx +0 -184
  507. package/src/components/help-popover.tsx +0 -117
  508. package/src/components/hover-menu.tsx +0 -343
  509. package/src/components/iban-input-labels.ts +0 -14
  510. package/src/components/iban-input.tsx +0 -236
  511. package/src/components/icon-button.tsx +0 -959
  512. package/src/components/icon-picker-labels.ts +0 -13
  513. package/src/components/icon-picker.tsx +0 -232
  514. package/src/components/image-grid-labels.ts +0 -11
  515. package/src/components/image-grid.tsx +0 -202
  516. package/src/components/inline-confirm.tsx +0 -116
  517. package/src/components/inline-edit-field-labels.ts +0 -11
  518. package/src/components/inline-edit-field.tsx +0 -552
  519. package/src/components/inline-entity-combobox.tsx +0 -849
  520. package/src/components/input.tsx +0 -394
  521. package/src/components/jump-calendar.tsx +0 -265
  522. package/src/components/language-select.tsx +0 -93
  523. package/src/components/legal-labels.ts +0 -105
  524. package/src/components/legal-page.tsx +0 -711
  525. package/src/components/legal.tsx +0 -668
  526. package/src/components/lightbox-labels.ts +0 -18
  527. package/src/components/lightbox.tsx +0 -399
  528. package/src/components/line-items-labels.ts +0 -14
  529. package/src/components/line-items.tsx +0 -602
  530. package/src/components/list-labels.ts +0 -12
  531. package/src/components/list.tsx +0 -870
  532. package/src/components/loading-state.tsx +0 -78
  533. package/src/components/measured-grid-labels.ts +0 -25
  534. package/src/components/measured-grid.tsx +0 -837
  535. package/src/components/menu-item.tsx +0 -241
  536. package/src/components/mini-calendar-labels.ts +0 -17
  537. package/src/components/mini-calendar.tsx +0 -789
  538. package/src/components/modal.tsx +0 -505
  539. package/src/components/money-draft.ts +0 -83
  540. package/src/components/money-field.tsx +0 -76
  541. package/src/components/month-grid.tsx +0 -229
  542. package/src/components/month-picker-labels.ts +0 -22
  543. package/src/components/month-picker.tsx +0 -1087
  544. package/src/components/multi-entity-combobox.tsx +0 -369
  545. package/src/components/multi-select.tsx +0 -376
  546. package/src/components/nav-pills.tsx +0 -198
  547. package/src/components/number-field.tsx +0 -327
  548. package/src/components/number-input.tsx +0 -558
  549. package/src/components/numeric-field.ts +0 -169
  550. package/src/components/numpad-sheet.tsx +0 -285
  551. package/src/components/one-time-code-input.tsx +0 -270
  552. package/src/components/page-contents-labels.ts +0 -9
  553. package/src/components/page-contents.tsx +0 -282
  554. package/src/components/page-header-context.ts +0 -8
  555. package/src/components/page-header.tsx +0 -298
  556. package/src/components/password-strength-labels.ts +0 -22
  557. package/src/components/password-strength.tsx +0 -241
  558. package/src/components/phone-input-labels.ts +0 -10
  559. package/src/components/phone-input.tsx +0 -282
  560. package/src/components/picker-sheet.tsx +0 -330
  561. package/src/components/pie-chart-labels.ts +0 -40
  562. package/src/components/pie-chart.tsx +0 -480
  563. package/src/components/popover-labels.ts +0 -14
  564. package/src/components/popover.tsx +0 -268
  565. package/src/components/progress-bar-labels.ts +0 -10
  566. package/src/components/progress-bar.tsx +0 -479
  567. package/src/components/qr-code.tsx +0 -76
  568. package/src/components/reauth-dialog-labels.ts +0 -13
  569. package/src/components/reauth-dialog.tsx +0 -265
  570. package/src/components/row-actions-labels.ts +0 -12
  571. package/src/components/row-actions.tsx +0 -795
  572. package/src/components/scroll-area.tsx +0 -123
  573. package/src/components/search-field.tsx +0 -192
  574. package/src/components/select.tsx +0 -294
  575. package/src/components/separator.tsx +0 -33
  576. package/src/components/series-chart-axes.ts +0 -342
  577. package/src/components/series-chart-budget.ts +0 -150
  578. package/src/components/series-chart-labels.ts +0 -33
  579. package/src/components/series-chart-thin.ts +0 -180
  580. package/src/components/series-chart-ticks.ts +0 -194
  581. package/src/components/series-chart.tsx +0 -1906
  582. package/src/components/server-wake-labels.ts +0 -11
  583. package/src/components/server-wake.tsx +0 -129
  584. package/src/components/settings-fields.tsx +0 -237
  585. package/src/components/share-card-labels.ts +0 -30
  586. package/src/components/share-card.tsx +0 -675
  587. package/src/components/signature-pad-labels.ts +0 -24
  588. package/src/components/signature-pad.tsx +0 -747
  589. package/src/components/signed-amount-labels.ts +0 -10
  590. package/src/components/signed-amount.tsx +0 -336
  591. package/src/components/skeleton.tsx +0 -80
  592. package/src/components/slider.tsx +0 -338
  593. package/src/components/sparkline-labels.ts +0 -14
  594. package/src/components/sparkline.tsx +0 -322
  595. package/src/components/spinner.tsx +0 -81
  596. package/src/components/stat-tile-labels.ts +0 -15
  597. package/src/components/stat-tile.tsx +0 -725
  598. package/src/components/status-dot.tsx +0 -170
  599. package/src/components/swatch-picker-labels.ts +0 -10
  600. package/src/components/swatch-picker.tsx +0 -283
  601. package/src/components/swipeable-row.tsx +0 -386
  602. package/src/components/switch.tsx +0 -273
  603. package/src/components/table-skeleton.tsx +0 -136
  604. package/src/components/table.tsx +0 -647
  605. package/src/components/tabs-labels.ts +0 -13
  606. package/src/components/tabs.tsx +0 -693
  607. package/src/components/text-link.tsx +0 -359
  608. package/src/components/text.tsx +0 -150
  609. package/src/components/textarea.tsx +0 -330
  610. package/src/components/tile-radio.tsx +0 -332
  611. package/src/components/time-input.tsx +0 -121
  612. package/src/components/toast-labels.ts +0 -12
  613. package/src/components/toast.tsx +0 -519
  614. package/src/components/toggle-group.tsx +0 -752
  615. package/src/components/toggle-legend.tsx +0 -394
  616. package/src/components/tooltip.tsx +0 -1149
  617. package/src/components/translation-review-editor.tsx +0 -290
  618. package/src/components/translation-review-labels.ts +0 -181
  619. package/src/components/translation-review-parts.tsx +0 -272
  620. package/src/components/translation-review.tsx +0 -1240
  621. package/src/components/tree-view.tsx +0 -589
  622. package/src/components/treemap-labels.ts +0 -47
  623. package/src/components/treemap-layout.ts +0 -210
  624. package/src/components/treemap.tsx +0 -1184
  625. package/src/components/trigger-aria.ts +0 -44
  626. package/src/components/use-anchor-dir.ts +0 -20
  627. package/src/components/use-mobile-reveal.ts +0 -62
  628. package/src/components/use-table-state.ts +0 -753
  629. package/src/components/user-avatar.tsx +0 -116
  630. package/src/components/wizard-stepper.tsx +0 -42
  631. package/src/components/write-lock-labels.ts +0 -10
  632. package/src/components/write-lock.tsx +0 -253
  633. package/src/currencies.ts +0 -70
  634. package/src/data-table.ts +0 -42
  635. package/src/demo/demo-banner.tsx +0 -153
  636. package/src/demo/demo-countdown.ts +0 -136
  637. package/src/demo/demo-ended.tsx +0 -90
  638. package/src/demo/demo-labels.ts +0 -78
  639. package/src/demo/demo-session.ts +0 -32
  640. package/src/demo/demo-start.tsx +0 -156
  641. package/src/eslint/index.ts +0 -161
  642. package/src/eslint/role-utilities.generated.ts +0 -146
  643. package/src/eslint/role-utilities.ts +0 -233
  644. package/src/feedback/feedback-attachment-download.tsx +0 -77
  645. package/src/feedback/feedback-attachment-labels.ts +0 -37
  646. package/src/feedback/feedback-attachment.tsx +0 -1239
  647. package/src/feedback/feedback-capture.ts +0 -287
  648. package/src/feedback/feedback-comment-thread.tsx +0 -353
  649. package/src/feedback/feedback-context-labels.ts +0 -10
  650. package/src/feedback/feedback-context.tsx +0 -213
  651. package/src/feedback/feedback-crash.ts +0 -547
  652. package/src/feedback/feedback-dialog-labels.ts +0 -29
  653. package/src/feedback/feedback-dialog.tsx +0 -440
  654. package/src/feedback/feedback-entry-file.tsx +0 -150
  655. package/src/feedback/feedback-inbox.tsx +0 -552
  656. package/src/feedback/feedback-labels.ts +0 -144
  657. package/src/feedback/feedback-menu-labels.ts +0 -12
  658. package/src/feedback/feedback-menu.tsx +0 -177
  659. package/src/feedback/feedback-mutation.ts +0 -20
  660. package/src/feedback/feedback-page-link.ts +0 -90
  661. package/src/feedback/feedback-public-labels.ts +0 -81
  662. package/src/feedback/feedback-public-list.tsx +0 -524
  663. package/src/feedback/feedback-public-switch.tsx +0 -102
  664. package/src/feedback/feedback-public-types.ts +0 -101
  665. package/src/feedback/feedback-record.ts +0 -423
  666. package/src/feedback/feedback-replies-context.ts +0 -9
  667. package/src/feedback/feedback-replies.tsx +0 -343
  668. package/src/feedback/feedback-rework-entry-chip.tsx +0 -18
  669. package/src/feedback/feedback-row-detail-labels.ts +0 -30
  670. package/src/feedback/feedback-row-detail.tsx +0 -858
  671. package/src/feedback/feedback-status-undo.ts +0 -109
  672. package/src/feedback/feedback-submit-dialog.tsx +0 -118
  673. package/src/feedback/feedback-submit.tsx +0 -237
  674. package/src/feedback/feedback-swipe.tsx +0 -192
  675. package/src/feedback/feedback-table-labels.ts +0 -27
  676. package/src/feedback/feedback-table.tsx +0 -912
  677. package/src/feedback/feedback-thread-labels.ts +0 -22
  678. package/src/feedback/feedback-thread-parts-labels.ts +0 -41
  679. package/src/feedback/feedback-thread.tsx +0 -905
  680. package/src/feedback/feedback-vocabulary.ts +0 -263
  681. package/src/feedback/feedback-vote-button.tsx +0 -124
  682. package/src/feedback.ts +0 -116
  683. package/src/hooks/use-anchored-panel.ts +0 -396
  684. package/src/hooks/use-anchored-rect.ts +0 -77
  685. package/src/hooks/use-announce.ts +0 -85
  686. package/src/hooks/use-authed-src.ts +0 -167
  687. package/src/hooks/use-body-scroll-lock.ts +0 -119
  688. package/src/hooks/use-breakpoint.ts +0 -133
  689. package/src/hooks/use-close-transition.ts +0 -107
  690. package/src/hooks/use-copy-to-clipboard.ts +0 -122
  691. package/src/hooks/use-debounce.ts +0 -114
  692. package/src/hooks/use-dismiss.ts +0 -371
  693. package/src/hooks/use-document-title.ts +0 -33
  694. package/src/hooks/use-file-drop.ts +0 -121
  695. package/src/hooks/use-file-picker-labels.ts +0 -28
  696. package/src/hooks/use-file-picker.tsx +0 -359
  697. package/src/hooks/use-focus-trap.ts +0 -199
  698. package/src/hooks/use-hotkey.ts +0 -189
  699. package/src/hooks/use-large-text.ts +0 -41
  700. package/src/hooks/use-long-press.ts +0 -140
  701. package/src/hooks/use-media-query.ts +0 -39
  702. package/src/hooks/use-mounted.ts +0 -39
  703. package/src/hooks/use-noindex.ts +0 -37
  704. package/src/hooks/use-overlay-history.ts +0 -714
  705. package/src/hooks/use-row-swipe.ts +0 -207
  706. package/src/hooks/use-search-param-state.ts +0 -434
  707. package/src/hooks/use-windowed-rows.ts +0 -225
  708. package/src/i18n/defaults.ts +0 -267
  709. package/src/i18n/german.ts +0 -2057
  710. package/src/i18n/kit-labels.tsx +0 -1003
  711. package/src/i18n/languages.ts +0 -349
  712. package/src/i18n/locales/de-CH.ts +0 -24
  713. package/src/i18n/locales/en.ts +0 -267
  714. package/src/i18n/locales/es.ts +0 -1997
  715. package/src/i18n/locales/fr.ts +0 -2035
  716. package/src/i18n/locales/hu.ts +0 -2002
  717. package/src/i18n/locales/it.ts +0 -2012
  718. package/src/i18n/locales/zh.ts +0 -1910
  719. package/src/i18n/plurals.ts +0 -86
  720. package/src/i18n/review.ts +0 -475
  721. package/src/i18n/shared-labels.ts +0 -138
  722. package/src/i18n/swiss.ts +0 -29
  723. package/src/index.ts +0 -1179
  724. package/src/landing/access.ts +0 -93
  725. package/src/landing/landing-actions.tsx +0 -97
  726. package/src/landing/landing-labels.ts +0 -59
  727. package/src/landing/landing-sections.tsx +0 -341
  728. package/src/landing/page-seo.ts +0 -261
  729. package/src/landing/public-header.tsx +0 -121
  730. package/src/landing/public-page.tsx +0 -106
  731. package/src/landing/routing.tsx +0 -225
  732. package/src/lib/broadcast.ts +0 -52
  733. package/src/lib/calc.ts +0 -323
  734. package/src/lib/chip-edge-snap.ts +0 -212
  735. package/src/lib/clipboard-minus.ts +0 -107
  736. package/src/lib/clipping.ts +0 -34
  737. package/src/lib/cn.ts +0 -28
  738. package/src/lib/column-mapping.ts +0 -234
  739. package/src/lib/countries.ts +0 -91
  740. package/src/lib/data-attributes.ts +0 -14
  741. package/src/lib/date-format.ts +0 -227
  742. package/src/lib/dates.ts +0 -266
  743. package/src/lib/day-format.ts +0 -96
  744. package/src/lib/decimal-marks.ts +0 -108
  745. package/src/lib/describe-failure.ts +0 -18
  746. package/src/lib/device-settings.ts +0 -147
  747. package/src/lib/direction.ts +0 -74
  748. package/src/lib/document-navigation.ts +0 -17
  749. package/src/lib/document-title.ts +0 -41
  750. package/src/lib/download.ts +0 -172
  751. package/src/lib/float-clearance.ts +0 -70
  752. package/src/lib/floating-stack.ts +0 -70
  753. package/src/lib/focus-left.ts +0 -156
  754. package/src/lib/format.ts +0 -522
  755. package/src/lib/http-status.ts +0 -38
  756. package/src/lib/iban.ts +0 -251
  757. package/src/lib/ime.ts +0 -24
  758. package/src/lib/intl-cache.ts +0 -25
  759. package/src/lib/iso-day.ts +0 -13
  760. package/src/lib/lazy-with-fallback.ts +0 -82
  761. package/src/lib/logger.ts +0 -69
  762. package/src/lib/minus.ts +0 -50
  763. package/src/lib/path-pattern.ts +0 -55
  764. package/src/lib/person-name.ts +0 -155
  765. package/src/lib/phone.ts +0 -208
  766. package/src/lib/plain-text.ts +0 -22
  767. package/src/lib/presence.ts +0 -18
  768. package/src/lib/qr-encode.ts +0 -444
  769. package/src/lib/quiet-focus.ts +0 -32
  770. package/src/lib/reduced-motion.ts +0 -22
  771. package/src/lib/refs.ts +0 -22
  772. package/src/lib/round.ts +0 -43
  773. package/src/lib/safe-storage.ts +0 -119
  774. package/src/lib/server-wake.ts +0 -315
  775. package/src/lib/session-refresh.ts +0 -472
  776. package/src/lib/share-format.ts +0 -18
  777. package/src/lib/status-tone.ts +0 -43
  778. package/src/lib/strip-fade.ts +0 -287
  779. package/src/lib/table-text.ts +0 -554
  780. package/src/lib/text-case.ts +0 -19
  781. package/src/lib/text-match.ts +0 -169
  782. package/src/lib/thenable.ts +0 -19
  783. package/src/lib/translation-review.ts +0 -717
  784. package/src/notifications/device-zone-report.ts +0 -67
  785. package/src/notifications/feedback-notification-types-labels.ts +0 -33
  786. package/src/notifications/feedback-notification-types.ts +0 -71
  787. package/src/notifications/notification-bell.tsx +0 -119
  788. package/src/notifications/notification-inbox.tsx +0 -309
  789. package/src/notifications/notification-parts.tsx +0 -81
  790. package/src/notifications/notification-types-setting.tsx +0 -406
  791. package/src/notifications/notification-types.ts +0 -89
  792. package/src/notifications/notifications-labels.ts +0 -287
  793. package/src/notifications/push-device-setting.tsx +0 -230
  794. package/src/notifications/push-devices-setting.tsx +0 -374
  795. package/src/notifications/push-worker.ts +0 -168
  796. package/src/notifications/quiet-hours-setting.tsx +0 -238
  797. package/src/notifications/unsubscribe-panel.tsx +0 -200
  798. package/src/notifications/use-push-device.ts +0 -448
  799. package/src/offline/local-first.ts +0 -100
  800. package/src/offline/pwa-update-prompt-labels.ts +0 -9
  801. package/src/offline/pwa-update-prompt.tsx +0 -78
  802. package/src/offline/query-persistence.ts +0 -391
  803. package/src/offline/service-worker-updates.ts +0 -81
  804. package/src/offline/shared-computer-labels.ts +0 -8
  805. package/src/offline/shared-computer.tsx +0 -87
  806. package/src/offline/sign-out-pending-dialog-labels.ts +0 -21
  807. package/src/offline/sign-out-pending-dialog.tsx +0 -135
  808. package/src/offline.ts +0 -37
  809. package/src/push-worker.ts +0 -25
  810. package/src/rhf/fields.tsx +0 -2187
  811. package/src/rhf/form-core.tsx +0 -324
  812. package/src/rhf/form.tsx +0 -12
  813. package/src/rhf/line-items.tsx +0 -135
  814. package/src/rhf/use-rhf-wizard-step.ts +0 -104
  815. package/src/rhf.ts +0 -21
  816. package/src/search/command-palette-labels.ts +0 -16
  817. package/src/search/command-palette.tsx +0 -624
  818. package/src/search/global-search-labels.ts +0 -13
  819. package/src/search/global-search.tsx +0 -660
  820. package/src/search/search-index.ts +0 -283
  821. package/src/search/use-command-key.ts +0 -23
  822. package/src/search.ts +0 -14
  823. package/src/settings/device-reset-setting-labels.ts +0 -20
  824. package/src/settings/device-reset-setting.tsx +0 -116
  825. package/src/settings/settings-card-classes.ts +0 -11
  826. package/src/settings/settings-catalogue.ts +0 -150
  827. package/src/settings/settings-context.ts +0 -33
  828. package/src/settings/settings-heading.tsx +0 -67
  829. package/src/settings/settings-labels.ts +0 -87
  830. package/src/settings/settings-layout.tsx +0 -471
  831. package/src/settings/settings-section.tsx +0 -108
  832. package/src/settings/use-account-appearance.ts +0 -148
  833. package/src/settings/use-account-language.ts +0 -146
  834. package/src/settings/use-settings-focus.ts +0 -128
  835. package/src/settings/use-settings-route.ts +0 -258
  836. package/src/shell/account-menu-language.tsx +0 -130
  837. package/src/shell/account-menu-text-size.tsx +0 -80
  838. package/src/shell/admin-menu.tsx +0 -183
  839. package/src/shell/app-shell-labels.ts +0 -11
  840. package/src/shell/app-shell.tsx +0 -1560
  841. package/src/shell/auth-layout.tsx +0 -186
  842. package/src/shell/company-switcher-labels.ts +0 -13
  843. package/src/shell/company-switcher.tsx +0 -136
  844. package/src/shell/dev-menu.tsx +0 -257
  845. package/src/shell/fill-height.tsx +0 -45
  846. package/src/shell/language-code.ts +0 -5
  847. package/src/shell/option-switcher-menu.tsx +0 -84
  848. package/src/shell/sync-status-indicator.tsx +0 -303
  849. package/src/shell/top-bar-actions.tsx +0 -87
  850. package/src/shell/top-bar-brand.tsx +0 -78
  851. package/src/shell/top-bar-parts-labels.ts +0 -148
  852. package/src/shell/top-bar.tsx +0 -40
  853. package/src/shell/topbar-action-menu.tsx +0 -567
  854. package/src/shell/topbar-controls.tsx +0 -269
  855. package/src/shell/tour-menu.tsx +0 -187
  856. package/src/shell.ts +0 -108
  857. package/src/sync/db.ts +0 -129
  858. package/src/sync/engine.ts +0 -1011
  859. package/src/sync/hooks.ts +0 -98
  860. package/src/sync/testing.ts +0 -73
  861. package/src/sync/wire.ts +0 -61
  862. package/src/sync.ts +0 -37
  863. package/src/table-text.ts +0 -8
  864. package/src/testing/css-variables.generated.ts +0 -112
  865. package/src/testing/css-variables.ts +0 -189
  866. package/src/testing/index.ts +0 -29
  867. package/src/testing/react.ts +0 -58
  868. package/src/testing/tour.ts +0 -41
  869. package/src/testing/viewport.ts +0 -357
  870. package/src/theme/chart-palette.ts +0 -232
  871. package/src/theme/color.ts +0 -272
  872. package/src/theme/contrast-tokens.ts +0 -268
  873. package/src/theme/contrast.ts +0 -250
  874. package/src/theme/palette-derive.ts +0 -825
  875. package/src/theme/palette-presets.ts +0 -544
  876. package/src/theme/palette-store.ts +0 -108
  877. package/src/theme/text-size.ts +0 -289
  878. package/src/theme/theme-store.ts +0 -157
  879. package/src/tour/tour-catalogue-labels.ts +0 -75
  880. package/src/tour/tour-catalogue.tsx +0 -335
  881. package/src/tour/tour-dock.ts +0 -134
  882. package/src/tour/tour-engine.ts +0 -37
  883. package/src/tour/tour-gates.ts +0 -218
  884. package/src/tour/tour-guide-button.tsx +0 -64
  885. package/src/tour/tour-guide-labels.ts +0 -15
  886. package/src/tour/tour-info.ts +0 -144
  887. package/src/tour/tour-labels.ts +0 -23
  888. package/src/tour/tour-overlay.tsx +0 -1170
  889. package/src/tour/tour.tsx +0 -750
  890. package/src/tour/use-tour-progress.ts +0 -671
  891. package/src/tour/use-tour-url-sync.ts +0 -266
  892. package/src/tour.ts +0 -21
  893. package/src/vite-env.d.ts +0 -23
  894. package/src/wizard/stepper-nav.tsx +0 -360
  895. package/src/wizard/types.ts +0 -275
  896. package/src/wizard/use-wizard.ts +0 -560
  897. package/src/wizard/validation.ts +0 -39
  898. package/src/wizard/wizard-context.tsx +0 -74
  899. package/src/wizard/wizard-labels.ts +0 -29
  900. package/src/wizard/wizard-step.tsx +0 -76
  901. package/src/wizard/wizard-summary.tsx +0 -84
  902. package/src/wizard.ts +0 -15
package/src/sync/hooks.ts DELETED
@@ -1,98 +0,0 @@
1
- import { useCallback, useEffect, useState, useSyncExternalStore } from "react";
2
- import { liveQuery } from "dexie";
3
- import type { SyncStatus } from "../shell/sync-status-indicator";
4
- import type { SyncDb } from "./db";
5
- import type { SyncEngine, SyncEngineState } from "./engine";
6
-
7
- /**
8
- * Keep `engine` running while it is mounted: started on mount, stopped on unmount or when
9
- * the engine changes (a company switch builds a new engine on its own database, D15).
10
- * `null` runs nothing — signed out, or a computer marked shared. Mount once, in the
11
- * signed-in layout (kastlan's `useHandoverSyncLoop`).
12
- */
13
- export function useSyncWorker(engine: SyncEngine | null): void {
14
- useEffect(() => {
15
- if (!engine) return;
16
- engine.start();
17
- return () => engine.stop();
18
- }, [engine]);
19
- }
20
-
21
- const IDLE: SyncEngineState = {
22
- phase: "idle",
23
- online: true,
24
- counts: { pending: 0, waiting: 0, blocked: 0, rejected: 0 },
25
- lastSyncedAt: null,
26
- nextRetryAt: null,
27
- };
28
- const noEngine = () => () => undefined;
29
- const idle = () => IDLE;
30
-
31
- /**
32
- * The engine's state as the kit's `SyncStatusIndicator` reads it (§2.3): `pending` = queued
33
- * and in flight (and the steps' pending), `waitingForPlan` = `waiting`, `blocked` = `blocked`
34
- * + `rejected`, `lastSyncedAt` from `meta`. `onSync` is "Sync now". Without an engine, an
35
- * idle status that follows the browser's connection.
36
- *
37
- * With a `null` engine (signed out, or a computer marked shared) `status.online` follows
38
- * `navigator.onLine` and its `online`/`offline` events, so an app may lean on
39
- * `status.online` for its own offline lock (kastlan's offline write lock) whether or not an
40
- * engine runs.
41
- */
42
- export function useSyncStatus(engine: SyncEngine | null): { status: SyncStatus; onSync: () => Promise<void> } {
43
- const state = useSyncExternalStore(
44
- engine ? engine.subscribe : noEngine,
45
- engine ? engine.getState : idle,
46
- engine ? engine.getState : idle,
47
- );
48
- const browserOnline = useSyncExternalStore(subscribeOnline, readOnline, () => true);
49
- const onSync = useCallback(async () => {
50
- await engine?.syncNow();
51
- }, [engine]);
52
- const status: SyncStatus = {
53
- phase: state.phase,
54
- online: engine ? state.online : browserOnline,
55
- pending: state.counts.pending,
56
- waitingForPlan: state.counts.waiting,
57
- blocked: state.counts.blocked + state.counts.rejected,
58
- lastSyncedAt: state.lastSyncedAt,
59
- };
60
- return { status, onSync };
61
- }
62
-
63
- function subscribeOnline(listener: () => void) {
64
- window.addEventListener("online", listener);
65
- window.addEventListener("offline", listener);
66
- return () => {
67
- window.removeEventListener("online", listener);
68
- window.removeEventListener("offline", listener);
69
- };
70
- }
71
- const readOnline = () => navigator.onLine !== false;
72
-
73
- /**
74
- * A read of the copy that follows every change to it (Dexie's `liveQuery`; kastlan's
75
- * `useLive`). `deps` names what `query` reads; `query` itself is rebuilt every render.
76
- * `query` gets the app's own database type (`HandoverDb`). Without a database (not open
77
- * yet) it answers `isLoading: true`, so a page shows no "empty" before the copy opens.
78
- */
79
- export function useSyncQuery<T, D extends SyncDb = SyncDb>(
80
- db: D | null,
81
- query: (db: D) => Promise<T>,
82
- deps: readonly unknown[],
83
- ): { data: T | undefined; isLoading: boolean } {
84
- const [state, setState] = useState<{ data: T | undefined; isLoading: boolean }>({ data: undefined, isLoading: true });
85
- useEffect(() => {
86
- if (!db) return;
87
- const subscription = liveQuery(() => query(db)).subscribe({
88
- next: (data) => setState({ data, isLoading: false }),
89
- error: () => setState({ data: undefined, isLoading: false }),
90
- });
91
- return () => subscription.unsubscribe();
92
- // `query` is rebuilt every render; `deps` names what it reads.
93
- // eslint-disable-next-line react-hooks/exhaustive-deps
94
- }, [db, ...deps]);
95
- return db ? state : NO_COPY;
96
- }
97
-
98
- const NO_COPY = { data: undefined, isLoading: true } as const;
@@ -1,73 +0,0 @@
1
- import type { SyncRequestBody, SyncResponseBody } from "./wire";
2
-
3
- /*
4
- * `@eifi1/ui-kit/sync/testing` — a scripted `/sync` server for an app's tests of the engine
5
- * (docs/local-first-harmonization.md §2.3). Pass `transport.send` as the engine's `send`.
6
- * Imports nothing (no Dexie): it is the engine's `send`, not a store.
7
- */
8
-
9
- /** One scripted answer: a body, a function of the request, or a failure. */
10
- export type FakeSyncAnswer =
11
- | SyncResponseBody
12
- | ((body: SyncRequestBody) => SyncResponseBody | Promise<SyncResponseBody>)
13
- | { fail: "offline" }
14
- | { fail: number; data?: unknown };
15
-
16
- export interface FakeSyncTransport {
17
- /** The engine's `send`. */
18
- send(body: SyncRequestBody, signal?: AbortSignal): Promise<SyncResponseBody>;
19
- /** Every request received, in order (the body as sent). */
20
- readonly requests: SyncRequestBody[];
21
- /** Queue answers for the next requests, in order; past them the default answers. */
22
- answer(...answers: FakeSyncAnswer[]): void;
23
- /** The next request meets no connection (an axios-like error with no response). */
24
- failOffline(): void;
25
- /** The next request answers `status` (a 5xx, a 402 `{code}`, a 403). */
26
- failStatus(status: number, data?: unknown): void;
27
- /** The default answer's server knowledge, raised by one for every request. */
28
- knowledge: number;
29
- }
30
-
31
- /** The error an axios client throws: `isAxiosError`, and `response` only with an answer. */
32
- function wireError(fail: "offline" | number, data?: unknown): Error {
33
- const err = new Error(fail === "offline" ? "Network Error" : `Request failed with status code ${fail}`);
34
- return Object.assign(err, {
35
- isAxiosError: true,
36
- response: fail === "offline" ? undefined : { status: fail, data: data ?? {} },
37
- });
38
- }
39
-
40
- /**
41
- * The default answer echoes every pushed change as applied, with a server id (`pk`, 100 on),
42
- * and an empty pull besides; `knowledge` goes up by one each request. Script anything else
43
- * with `answer(...)`, `failOffline()` and `failStatus(...)`.
44
- */
45
- export function createFakeSyncTransport(): FakeSyncTransport {
46
- const script: FakeSyncAnswer[] = [];
47
- let nextPk = 100;
48
- const transport: FakeSyncTransport = {
49
- requests: [],
50
- knowledge: 0,
51
- answer: (...answers) => void script.push(...answers),
52
- failOffline: () => void script.push({ fail: "offline" }),
53
- failStatus: (status, data) => void script.push({ fail: status, data }),
54
- async send(body) {
55
- transport.requests.push(structuredClone(body));
56
- const next = script.shift();
57
- if (next && typeof next === "object" && "fail" in next) {
58
- throw wireError(next.fail, "data" in next ? next.data : undefined);
59
- }
60
- if (typeof next === "function") return next(body);
61
- if (next) return next;
62
- transport.knowledge += 1;
63
- return {
64
- server_knowledge: transport.knowledge,
65
- changes: body.changes.map((change) => ({ ...change, pk: change.op === "delete" ? null : nextPk++ })),
66
- rejections: [],
67
- refused: null,
68
- page_cursor: null,
69
- };
70
- },
71
- };
72
- return transport;
73
- }
package/src/sync/wire.ts DELETED
@@ -1,61 +0,0 @@
1
- /*
2
- * The `/sync` wire as the engine speaks it: server-kit's `eifi1_server_kit.sync` shapes
3
- * (SyncRequest, SyncResponse, SyncRefusal, SyncRejection, SyncPageCursor; keksdose's, which
4
- * are canon, D10), plus kastlan's `pk` on a pulled change. Types only.
5
- */
6
-
7
- /** One row's delta on the wire. */
8
- export interface SyncWireChange {
9
- entity: string;
10
- id: string;
11
- op: "upsert" | "delete";
12
- data?: Record<string, unknown> | null;
13
- /** The device's edit time on a push (D2). */
14
- updated_at?: string | null;
15
- /** The server's id of the row, on a pull (kastlan). */
16
- pk?: number | null;
17
- knowledge?: number | null;
18
- }
19
-
20
- /** Where a paged pull stopped (server-kit `SyncPageCursor`); handed back as it came. */
21
- export interface SyncPageCursor {
22
- entity: string;
23
- knowledge?: number | null;
24
- id?: string | null;
25
- window_end: number;
26
- }
27
-
28
- export interface SyncRequestBody {
29
- scope: string;
30
- last_knowledge: number;
31
- changes: SyncWireChange[];
32
- /** This client keeps refused changes and reads `refused` and `rejections` (D1). */
33
- refusals: true;
34
- /** The device's clock as the body is built, fresh for every request (D2 amendment). */
35
- client_now: string;
36
- paged?: boolean;
37
- page_cursor?: SyncPageCursor | null;
38
- }
39
-
40
- /** The WHOLE push refused (a lapsed plan): the pull is served all the same. */
41
- export interface SyncRefusalBody {
42
- code: string;
43
- detail: string;
44
- change_ids: string[];
45
- }
46
-
47
- /** One pushed change the server did not apply, with its reason. */
48
- export interface SyncRejectionBody {
49
- change_id: string;
50
- code: string;
51
- detail: string;
52
- }
53
-
54
- export interface SyncResponseBody {
55
- server_knowledge: number;
56
- changes: SyncWireChange[];
57
- refused?: SyncRefusalBody | null;
58
- rejections?: SyncRejectionBody[];
59
- /** Set while the pull did not fit one page; `null` on the last page (D12). */
60
- page_cursor?: SyncPageCursor | null;
61
- }
package/src/sync.ts DELETED
@@ -1,37 +0,0 @@
1
- // `@eifi1/ui-kit/sync` — local-first phase 3 (docs/local-first-harmonization.md §2.3, 0.46):
2
- // the sync engine on a Dexie copy, its worker and status hooks, and the live read of the copy.
3
- //
4
- // The only entry point that imports `dexie` — an optional peer for that reason. It never loads
5
- // `/offline`'s TanStack and idb-keyval peers: the leaf utilities both entries export live in
6
- // one module of their own (src/offline/local-first.ts). NOT re-exported from the main barrel.
7
- export { createSyncDb, rowByPk, SYNC_DB_PK_INDEX } from "./sync/db";
8
- export type {
9
- CreateSyncDbOptions,
10
- OutboxChange,
11
- OutboxStatus,
12
- SyncDb,
13
- SyncDbUpgrade,
14
- SyncedRow,
15
- SyncMetaEntry,
16
- } from "./sync/db";
17
- export { createSyncEngine, DEFAULT_HOLD_CODES, releaseSyncEngine, syncEngineFor } from "./sync/engine";
18
- export type {
19
- SyncCounts,
20
- SyncEngine,
21
- SyncEngineOptions,
22
- SyncEngineState,
23
- SyncRoundResult,
24
- SyncStep,
25
- SyncStepContext,
26
- SyncStepResult,
27
- } from "./sync/engine";
28
- export { useSyncQuery, useSyncStatus, useSyncWorker } from "./sync/hooks";
29
- export type {
30
- SyncPageCursor,
31
- SyncRefusalBody,
32
- SyncRejectionBody,
33
- SyncRequestBody,
34
- SyncResponseBody,
35
- SyncWireChange,
36
- } from "./sync/wire";
37
- export { isOfflineError, readLocalFirst, stampAfter, uuid5, writeLocalFirst } from "./offline/local-first";
package/src/table-text.ts DELETED
@@ -1,8 +0,0 @@
1
- // `@eifi1/ui-kit/table-text` — the lexer for a table pasted out of a spreadsheet or read
2
- // from a CSV, and the three named rules for the comma. See the note at the top of
3
- // lib/table-text.ts.
4
- //
5
- // Pure functions over strings: no React, no DOM, nothing to install. It is its own
6
- // entry so an app that imports a CSV on a server, in a worker or in a script can take
7
- // it without reaching through a barrel of components.
8
- export * from "./lib/table-text";
@@ -1,112 +0,0 @@
1
- // GENERATED by scripts/gen-kit-css-variables.mjs — do not edit by hand. Re-run it after
2
- // changing tokens.css or upgrading Tailwind; src/__tests__/token-vars-declared.test.ts
3
- // fails while this is stale.
4
-
5
- /** Every custom property tokens.css declares, `@theme inline` names and `--app-nav-h`
6
- * left out (102 names). */
7
- export const KIT_NAMES =
8
- "--bg-active --bg-hover --bg-inverse --bg-page --bg-surface --bg-surface-2 --border " +
9
- "--border-strong --brand --brand-bg --brand-bg-hover --brand-contrast --brand-hover --brand-muted " +
10
- "--breakpoint-3xl --chart-1 --chart-2 --chart-3 --chart-4 --chart-5 --chart-6 --chart-7 --chart-8 " +
11
- "--chart-9 --chart-ink --chart-muted --danger --danger-bg --danger-border --danger-border-strong " +
12
- "--danger-contrast --danger-hover --flyout-from --focus-ring-width --hue-blue --hue-blue-bg " +
13
- "--hue-blue-border --hue-blue-contrast --hue-indigo --hue-indigo-bg --hue-indigo-border " +
14
- "--hue-indigo-contrast --hue-orange --hue-orange-bg --hue-orange-border --hue-orange-contrast " +
15
- "--hue-purple --hue-purple-bg --hue-purple-border --hue-purple-contrast --hue-teal --hue-teal-bg " +
16
- "--hue-teal-border --hue-teal-contrast --info --info-bg --info-border --info-contrast --media-ink " +
17
- "--media-scrim --media-scrim-hover --money-expense --money-expense-contrast --money-income " +
18
- "--money-income-contrast --money-net --money-net-contrast --money-neutral " +
19
- "--money-neutral-contrast --neutral --neutral-contrast --status-edited --status-error " +
20
- "--status-pending --status-synced --success --success-bg --success-border --success-contrast " +
21
- "--text-caption --text-inverse --text-micro --text-muted --text-placeholder --text-primary " +
22
- "--text-secondary --toast-action-bg --toast-action-fg --toast-danger-bg --toast-danger-border " +
23
- "--toast-info-bg --toast-info-border --toast-success-bg --toast-success-border --toast-warning-bg " +
24
- "--toast-warning-border --warning --warning-bg --warning-border --warning-border-strong " +
25
- "--warning-contrast --z-toast";
26
-
27
- /** The theme variables of Tailwind 4.3.3's `theme.css` (413 names). */
28
- export const TAILWIND_THEME_NAMES =
29
- "--animate-bounce --animate-ping --animate-pulse --animate-spin --aspect-video --blur-2xl " +
30
- "--blur-3xl --blur-lg --blur-md --blur-sm --blur-xl --blur-xs --breakpoint-2xl --breakpoint-lg " +
31
- "--breakpoint-md --breakpoint-sm --breakpoint-xl --color-amber-100 --color-amber-200 " +
32
- "--color-amber-300 --color-amber-400 --color-amber-50 --color-amber-500 --color-amber-600 " +
33
- "--color-amber-700 --color-amber-800 --color-amber-900 --color-amber-950 --color-black " +
34
- "--color-blue-100 --color-blue-200 --color-blue-300 --color-blue-400 --color-blue-50 " +
35
- "--color-blue-500 --color-blue-600 --color-blue-700 --color-blue-800 --color-blue-900 " +
36
- "--color-blue-950 --color-cyan-100 --color-cyan-200 --color-cyan-300 --color-cyan-400 " +
37
- "--color-cyan-50 --color-cyan-500 --color-cyan-600 --color-cyan-700 --color-cyan-800 " +
38
- "--color-cyan-900 --color-cyan-950 --color-emerald-100 --color-emerald-200 --color-emerald-300 " +
39
- "--color-emerald-400 --color-emerald-50 --color-emerald-500 --color-emerald-600 " +
40
- "--color-emerald-700 --color-emerald-800 --color-emerald-900 --color-emerald-950 " +
41
- "--color-fuchsia-100 --color-fuchsia-200 --color-fuchsia-300 --color-fuchsia-400 " +
42
- "--color-fuchsia-50 --color-fuchsia-500 --color-fuchsia-600 --color-fuchsia-700 " +
43
- "--color-fuchsia-800 --color-fuchsia-900 --color-fuchsia-950 --color-gray-100 --color-gray-200 " +
44
- "--color-gray-300 --color-gray-400 --color-gray-50 --color-gray-500 --color-gray-600 " +
45
- "--color-gray-700 --color-gray-800 --color-gray-900 --color-gray-950 --color-green-100 " +
46
- "--color-green-200 --color-green-300 --color-green-400 --color-green-50 --color-green-500 " +
47
- "--color-green-600 --color-green-700 --color-green-800 --color-green-900 --color-green-950 " +
48
- "--color-indigo-100 --color-indigo-200 --color-indigo-300 --color-indigo-400 --color-indigo-50 " +
49
- "--color-indigo-500 --color-indigo-600 --color-indigo-700 --color-indigo-800 --color-indigo-900 " +
50
- "--color-indigo-950 --color-lime-100 --color-lime-200 --color-lime-300 --color-lime-400 " +
51
- "--color-lime-50 --color-lime-500 --color-lime-600 --color-lime-700 --color-lime-800 " +
52
- "--color-lime-900 --color-lime-950 --color-mauve-100 --color-mauve-200 --color-mauve-300 " +
53
- "--color-mauve-400 --color-mauve-50 --color-mauve-500 --color-mauve-600 --color-mauve-700 " +
54
- "--color-mauve-800 --color-mauve-900 --color-mauve-950 --color-mist-100 --color-mist-200 " +
55
- "--color-mist-300 --color-mist-400 --color-mist-50 --color-mist-500 --color-mist-600 " +
56
- "--color-mist-700 --color-mist-800 --color-mist-900 --color-mist-950 --color-neutral-100 " +
57
- "--color-neutral-200 --color-neutral-300 --color-neutral-400 --color-neutral-50 " +
58
- "--color-neutral-500 --color-neutral-600 --color-neutral-700 --color-neutral-800 " +
59
- "--color-neutral-900 --color-neutral-950 --color-olive-100 --color-olive-200 --color-olive-300 " +
60
- "--color-olive-400 --color-olive-50 --color-olive-500 --color-olive-600 --color-olive-700 " +
61
- "--color-olive-800 --color-olive-900 --color-olive-950 --color-orange-100 --color-orange-200 " +
62
- "--color-orange-300 --color-orange-400 --color-orange-50 --color-orange-500 --color-orange-600 " +
63
- "--color-orange-700 --color-orange-800 --color-orange-900 --color-orange-950 --color-pink-100 " +
64
- "--color-pink-200 --color-pink-300 --color-pink-400 --color-pink-50 --color-pink-500 " +
65
- "--color-pink-600 --color-pink-700 --color-pink-800 --color-pink-900 --color-pink-950 " +
66
- "--color-purple-100 --color-purple-200 --color-purple-300 --color-purple-400 --color-purple-50 " +
67
- "--color-purple-500 --color-purple-600 --color-purple-700 --color-purple-800 --color-purple-900 " +
68
- "--color-purple-950 --color-red-100 --color-red-200 --color-red-300 --color-red-400 " +
69
- "--color-red-50 --color-red-500 --color-red-600 --color-red-700 --color-red-800 --color-red-900 " +
70
- "--color-red-950 --color-rose-100 --color-rose-200 --color-rose-300 --color-rose-400 " +
71
- "--color-rose-50 --color-rose-500 --color-rose-600 --color-rose-700 --color-rose-800 " +
72
- "--color-rose-900 --color-rose-950 --color-sky-100 --color-sky-200 --color-sky-300 " +
73
- "--color-sky-400 --color-sky-50 --color-sky-500 --color-sky-600 --color-sky-700 --color-sky-800 " +
74
- "--color-sky-900 --color-sky-950 --color-slate-100 --color-slate-200 --color-slate-300 " +
75
- "--color-slate-400 --color-slate-50 --color-slate-500 --color-slate-600 --color-slate-700 " +
76
- "--color-slate-800 --color-slate-900 --color-slate-950 --color-stone-100 --color-stone-200 " +
77
- "--color-stone-300 --color-stone-400 --color-stone-50 --color-stone-500 --color-stone-600 " +
78
- "--color-stone-700 --color-stone-800 --color-stone-900 --color-stone-950 --color-taupe-100 " +
79
- "--color-taupe-200 --color-taupe-300 --color-taupe-400 --color-taupe-50 --color-taupe-500 " +
80
- "--color-taupe-600 --color-taupe-700 --color-taupe-800 --color-taupe-900 --color-taupe-950 " +
81
- "--color-teal-100 --color-teal-200 --color-teal-300 --color-teal-400 --color-teal-50 " +
82
- "--color-teal-500 --color-teal-600 --color-teal-700 --color-teal-800 --color-teal-900 " +
83
- "--color-teal-950 --color-violet-100 --color-violet-200 --color-violet-300 --color-violet-400 " +
84
- "--color-violet-50 --color-violet-500 --color-violet-600 --color-violet-700 --color-violet-800 " +
85
- "--color-violet-900 --color-violet-950 --color-white --color-yellow-100 --color-yellow-200 " +
86
- "--color-yellow-300 --color-yellow-400 --color-yellow-50 --color-yellow-500 --color-yellow-600 " +
87
- "--color-yellow-700 --color-yellow-800 --color-yellow-900 --color-yellow-950 --color-zinc-100 " +
88
- "--color-zinc-200 --color-zinc-300 --color-zinc-400 --color-zinc-50 --color-zinc-500 " +
89
- "--color-zinc-600 --color-zinc-700 --color-zinc-800 --color-zinc-900 --color-zinc-950 " +
90
- "--container-2xl --container-2xs --container-3xl --container-3xs --container-4xl --container-5xl " +
91
- "--container-6xl --container-7xl --container-lg --container-md --container-sm --container-xl " +
92
- "--container-xs --default-font-family --default-font-feature-settings " +
93
- "--default-font-variation-settings --default-mono-font-family " +
94
- "--default-mono-font-feature-settings --default-mono-font-variation-settings " +
95
- "--default-transition-duration --default-transition-timing-function --drop-shadow-2xl " +
96
- "--drop-shadow-lg --drop-shadow-md --drop-shadow-sm --drop-shadow-xl --drop-shadow-xs --ease-in " +
97
- "--ease-in-out --ease-out --font-mono --font-sans --font-serif --font-weight-black " +
98
- "--font-weight-bold --font-weight-extrabold --font-weight-extralight --font-weight-light " +
99
- "--font-weight-medium --font-weight-normal --font-weight-semibold --font-weight-thin " +
100
- "--inset-shadow-2xs --inset-shadow-sm --inset-shadow-xs --leading-loose --leading-normal " +
101
- "--leading-relaxed --leading-snug --leading-tight --perspective-distant --perspective-dramatic " +
102
- "--perspective-midrange --perspective-near --perspective-normal --radius-2xl --radius-3xl " +
103
- "--radius-4xl --radius-lg --radius-md --radius-sm --radius-xl --radius-xs --shadow-2xl " +
104
- "--shadow-2xs --shadow-lg --shadow-md --shadow-sm --shadow-xl --shadow-xs --spacing --text-2xl " +
105
- "--text-2xl--line-height --text-3xl --text-3xl--line-height --text-4xl --text-4xl--line-height " +
106
- "--text-5xl --text-5xl--line-height --text-6xl --text-6xl--line-height --text-7xl " +
107
- "--text-7xl--line-height --text-8xl --text-8xl--line-height --text-9xl --text-9xl--line-height " +
108
- "--text-base --text-base--line-height --text-lg --text-lg--line-height --text-shadow-2xs " +
109
- "--text-shadow-lg --text-shadow-md --text-shadow-sm --text-shadow-xs --text-sm " +
110
- "--text-sm--line-height --text-xl --text-xl--line-height --text-xs --text-xs--line-height " +
111
- "--tracking-normal --tracking-tight --tracking-tighter --tracking-wide --tracking-wider " +
112
- "--tracking-widest";
@@ -1,189 +0,0 @@
1
- import { themeBlocks } from "../eslint/role-utilities";
2
- import { KIT_NAMES, TAILWIND_THEME_NAMES } from "./css-variables.generated";
3
-
4
- /**
5
- * The guard against an undeclared CSS custom property (0.33,
6
- * docs/colour-roles-harmonization.md §8, §12.5).
7
- *
8
- * A `var(--name)` with no fallback, where nothing declares `--name`, makes the whole
9
- * declaration invalid at computed-value time: `fill` inherits, `color` inherits, a
10
- * background goes transparent. Kurvenschmiede's control diagram painted
11
- * `fill-[var(--surface)]` — a token that never existed (the kit's is `--bg-surface`) —
12
- * and drew black boxes on a public page. The class compiled, the build passed, the type
13
- * checker had no opinion, and nothing in any suite noticed. This is the check that
14
- * notices, run from an app's own test over the source texts the app collects.
15
- *
16
- * Browser-safe on purpose, like the rest of the kit: it takes TEXTS, not paths, so an app
17
- * reads its files however its setup allows (`import.meta.glob` with `?raw`, or `node:fs`)
18
- * and the kit carries no `node:fs`.
19
- */
20
-
21
- /** Every custom property the installed kit declares or publishes to apps.
22
- *
23
- * Generated from `tokens.css` when the kit is built (scripts/gen-kit-css-variables.mjs),
24
- * so it is always the installed version's, and an app never searches `node_modules`.
25
- * It leaves out two kinds of name on purpose:
26
- * - a name declared only in an `@theme inline` block (`--text-color-muted`,
27
- * `--background-color-surface`): Tailwind emits no variable for it, so
28
- * `var(--text-color-muted)` would pass a guard that counted it and paint nothing;
29
- * - AppShell's measured `--app-nav-h`, which exists only while an AppShell is mounted —
30
- * on a landing, legal, sign-in or pay page it is undefined. Read it with a fallback,
31
- * `var(--app-nav-h,0px)`, as every kit read does.
32
- * Everything `applyTokenSet` and More contrast write on `<html>` is in, through the
33
- * stylesheet's `:root` / `.dark` mirror. Component internals (`--slider-fill`, `--fp-*`,
34
- * `--icon-button-tone`, `--label-strip-edge`) are not: an app that reads one depends on
35
- * the kit's internals, and the guard says so. */
36
- export const KIT_CSS_VARIABLES: ReadonlySet<string> = new Set(KIT_NAMES.split(" "));
37
-
38
- /** Tailwind's own theme variables (`--color-rose-500`, `--spacing`, `--text-sm` …), from
39
- * the `tailwindcss/theme.css` the kit builds with. Tailwind emits one when a scanned file
40
- * names it, so a `var()` of it resolves. */
41
- const TAILWIND_THEME: ReadonlySet<string> = new Set(TAILWIND_THEME_NAMES.split(" "));
42
-
43
- /** A Tailwind PALETTE colour: a hue with a shade, black or white. `refusePalette` reports
44
- * these although they resolve — an app that has no palette lint asks this test to be
45
- * its refusal. */
46
- const PALETTE_VARIABLE = /^--color-(?:[a-z]+-\d{2,3}|black|white)$/;
47
-
48
- /** Read only where it is set: the guard accepts it in a fallback use, never bare. */
49
- const APP_NAV_H = "--app-nav-h";
50
-
51
- export interface UndeclaredCssVariablesOptions {
52
- /** Variables a library writes at runtime, as names or patterns:
53
- * `["--radix-collapsible-content-height"]`. An app's own writes are found in its
54
- * source and need no listing. */
55
- runtime?: readonly (string | RegExp)[];
56
- /** Also check `var(--x, …)`. Off by default: a fallback says what happens when the
57
- * name is missing. `--app-nav-h` counts as declared only here. */
58
- checkFallbacks?: boolean;
59
- /** Report Tailwind palette variables (`--color-red-500`, `--color-white`) although
60
- * they resolve. Default false. */
61
- refusePalette?: boolean;
62
- }
63
-
64
- /** Comments are not CSS. `/* *\/` in both; `//` in TS only (not after a `:`, so a URL in a
65
- * string survives). Replaced by spaces of the same shape, so line numbers hold. */
66
- function stripComments(text: string, isCss: boolean): string {
67
- const blank = (m: string) => m.replace(/[^\n]/g, " ");
68
- const noBlocks = text.replace(/\/\*[\s\S]*?\*\//g, blank);
69
- return isCss ? noBlocks : noBlocks.replace(/(^|[^:])(\/\/[^\n]*)/g, (_, pre: string, c: string) => pre + blank(c));
70
- }
71
-
72
- /** The text with every `@theme … inline … { … }` block blanked out, braces and all. The
73
- * blocks are the kit's one block finder's, `themeBlocks` (src/eslint/role-utilities.ts,
74
- * which imports nothing): this was a second brace-counting copy of it, kept equal to the
75
- * generator's (scripts/gen-kit-css-variables.mjs, on `themeBlocks` since DUP-13) only by
76
- * token-vars-declared.test.ts (0.52 code review). */
77
- function withoutInlineTheme(css: string): string {
78
- let out = css;
79
- for (const { start, end } of themeBlocks(css, { inline: true })) {
80
- out = out.slice(0, start) + out.slice(start, end).replace(/[^\n]/g, " ") + out.slice(end);
81
- }
82
- return out;
83
- }
84
-
85
- /**
86
- * Every custom property a stylesheet declares (`--name:`), in any block — except a name
87
- * declared only inside `@theme inline`, which Tailwind never emits as a variable. Comments
88
- * are skipped. The same rule builds {@link KIT_CSS_VARIABLES} from `tokens.css`.
89
- */
90
- export function declaredCustomProperties(css: string): Set<string> {
91
- const code = withoutInlineTheme(stripComments(css, true));
92
- return new Set([...code.matchAll(/(--[a-zA-Z0-9_-]+)\s*:/g)].map((m) => m[1]));
93
- }
94
-
95
- /** What an app's source writes at runtime: `setProperty("--name"`, a React style key
96
- * `"--name":`, a Tailwind arbitrary property `[--name:…]`. */
97
- function runtimeWrites(code: string): string[] {
98
- return [
99
- ...code.matchAll(/setProperty\(\s*["'`](--[a-zA-Z0-9_-]+)["'`]/g),
100
- ...code.matchAll(/["'](--[a-zA-Z0-9_-]+)["']\s*:/g),
101
- ...code.matchAll(/\[(--[a-zA-Z0-9_-]+):/g),
102
- ].map((m) => m[1]);
103
- }
104
-
105
- /** A chart series' colour (`var(--color-total)`) is declared in a file with a `total: {`
106
- * config entry: the kit's ChartContainer writes `--color-<key>` for each key. */
107
- function chartKeys(code: string): Set<string> {
108
- return new Set([...code.matchAll(/(?:^|[\s{,])["']?([A-Za-z_][\w-]*)["']?\s*:\s*\{/g)].map((m) => m[1]));
109
- }
110
-
111
- const isCssPath = (path: string) => /\.css(?:\?|$)/.test(path);
112
-
113
- /**
114
- * Every `var(--name)` without a fallback that nothing declares, as `"path:line --name"`.
115
- *
116
- * `sources` maps a path to its text: the app's `.ts`, `.tsx` and `.css` source, tests
117
- * left out. A name counts as declared when it is:
118
- * 1. the kit's ({@link KIT_CSS_VARIABLES});
119
- * 2. declared in any `.css` entry of `sources` (outside `@theme inline`);
120
- * 3. written by the source at runtime (`setProperty`, a style key, `[--name:…]`);
121
- * 4. one of Tailwind's theme variables — unless `refusePalette` and it is a palette colour;
122
- * 5. a chart series' `--color-<key>`, in a file with a `<key>: {` entry;
123
- * 6. listed in `options.runtime`.
124
- *
125
- * Not counted: comments; a use with a fallback, unless `checkFallbacks`; a name built at
126
- * runtime (`` `var(--chart-${n})` `` — a name must be followed by `)` or `,`).
127
- *
128
- * It REFUSES A VACUOUS RUN: it throws when `sources` holds fewer than ten files, or when
129
- * a `.css` entry is empty. Vitest stubs every stylesheet with an empty string by default,
130
- * `?raw` included, so an app that reads its CSS that way without opting it out of the stub
131
- * (`test.css.include`) would otherwise lose every declaration and every use in it, and
132
- * this would pass or fail for the wrong reason.
133
- */
134
- export function undeclaredCssVariables(
135
- sources: Record<string, string>,
136
- options: UndeclaredCssVariablesOptions = {},
137
- ): string[] {
138
- const { runtime = [], checkFallbacks = false, refusePalette = false } = options;
139
- const entries = Object.entries(sources);
140
- if (entries.length < 10) {
141
- throw new Error(
142
- `undeclaredCssVariables: only ${entries.length} source file(s) — the glob or the file list found ` +
143
- `(almost) nothing, and a check over nothing passes. Pass the app's .ts/.tsx/.css source.`,
144
- );
145
- }
146
- const emptyCss = entries.filter(([path, text]) => isCssPath(path) && text.trim() === "").map(([path]) => path);
147
- if (emptyCss.length) {
148
- throw new Error(
149
- `undeclaredCssVariables: ${emptyCss.join(", ")} read as empty. Vitest stubs stylesheets with "" ` +
150
- `(\`?raw\` too) unless the file is listed in \`test.css.include\`.`,
151
- );
152
- }
153
-
154
- const code = entries.map(([path, text]) => [path, stripComments(text, isCssPath(path))] as const);
155
- const declared = new Set<string>();
156
- for (const [path, text] of code) {
157
- if (isCssPath(path)) for (const name of declaredCustomProperties(text)) declared.add(name);
158
- for (const name of runtimeWrites(text)) declared.add(name);
159
- }
160
- const listed = (name: string) => runtime.some((r) => (typeof r === "string" ? r === name : r.test(name)));
161
-
162
- const out: string[] = [];
163
- for (const [path, text] of code) {
164
- let keys: Set<string> | null = null;
165
- for (const m of text.matchAll(/var\(\s*(--[a-zA-Z0-9_-]+)\s*([,)])/g)) {
166
- const [, name, next] = m;
167
- const fallback = next === ",";
168
- if (fallback && !checkFallbacks) continue;
169
- if (KIT_CSS_VARIABLES.has(name) || declared.has(name) || listed(name)) continue;
170
- if (fallback && name === APP_NAV_H) continue;
171
- if (TAILWIND_THEME.has(name)) {
172
- if (refusePalette && PALETTE_VARIABLE.test(name)) {
173
- out.push(`${path}:${lineOf(text, m.index)} ${name} (a Tailwind palette colour; refusePalette is on)`);
174
- }
175
- continue;
176
- }
177
- const chart = /^--color-([A-Za-z_][\w-]*)$/.exec(name);
178
- if (chart && (keys ??= chartKeys(text)).has(chart[1])) continue;
179
- out.push(`${path}:${lineOf(text, m.index)} ${name}`);
180
- }
181
- }
182
- return out;
183
- }
184
-
185
- function lineOf(text: string, index: number): number {
186
- let line = 1;
187
- for (let i = 0; i < index; i++) if (text.charCodeAt(i) === 10) line++;
188
- return line;
189
- }
@@ -1,29 +0,0 @@
1
- // `@eifi1/ui-kit/testing` — helpers an app runs from its OWN test suite (0.33).
2
- //
3
- // Not part of the main barrel: nothing here renders, and an app's production bundle has
4
- // no business carrying it. Browser-safe like the rest of the kit (no `node:fs`): each
5
- // helper takes texts, so an app collects them with `import.meta.glob` or `node:fs`, as
6
- // its setup allows. The first content is the guard against undeclared CSS custom
7
- // properties (docs/colour-roles-harmonization.md §8).
8
- export {
9
- KIT_CSS_VARIABLES,
10
- declaredCustomProperties,
11
- undeclaredCssVariables,
12
- type UndeclaredCssVariablesOptions,
13
- } from "./css-variables";
14
- // 0.34 (refactor audit 2026-10, TST-10): the environment jsdom lacks — a `matchMedia`
15
- // that answers from a viewport width (right at every text size) and a `ResizeObserver`
16
- // the test drives. Framework-free: each returns its own undo. 0.35: `setViewportWidth`,
17
- // a live resize of the stub in force — its lists flip and fire `change` (keksdose).
18
- export {
19
- setViewportWidth,
20
- stubResizeObserver,
21
- stubViewportWidth,
22
- viewportMatchMedia,
23
- type ResizeObserverStub,
24
- type StubbedBoxSize,
25
- type ViewportOptions,
26
- } from "./viewport";
27
- // 0.50.1 (keksdose N4): a valid `TourStepContext` for a test that calls a step's
28
- // `beforeStep` or `when` itself — `beforeStep!(tourStepContext())`.
29
- export { tourStepContext, type TestTourStepContext, type TourStepContextOptions, type TourStepVia } from "./tour";