@eifi1/ui-kit 0.51.7 → 0.52.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 (746) hide show
  1. package/README.md +141 -23
  2. package/dist/account/account-parts.d.ts +10 -8
  3. package/dist/account/account-parts.js +1 -18
  4. package/dist/account/account-parts.js.map +1 -1
  5. package/dist/account/data-export-setting-labels.js +1 -1
  6. package/dist/account/data-export-setting-labels.js.map +1 -1
  7. package/dist/account/delete-account-setting-labels.js +1 -1
  8. package/dist/account/delete-account-setting-labels.js.map +1 -1
  9. package/dist/account/email-change-setting-labels.js +1 -1
  10. package/dist/account/email-change-setting-labels.js.map +1 -1
  11. package/dist/account/passkeys-setting.d.ts +9 -2
  12. package/dist/account/passkeys-setting.js +41 -29
  13. package/dist/account/passkeys-setting.js.map +1 -1
  14. package/dist/account/sessions-setting.d.ts +3 -2
  15. package/dist/account/sessions-setting.js +10 -8
  16. package/dist/account/sessions-setting.js.map +1 -1
  17. package/dist/admin/admin-action-confirm.js +1 -3
  18. package/dist/admin/admin-action-confirm.js.map +1 -1
  19. package/dist/admin/admin-parts.d.ts +6 -3
  20. package/dist/admin/admin-parts.js +6 -21
  21. package/dist/admin/admin-parts.js.map +1 -1
  22. package/dist/admin/mail-test-card-labels.js +1 -1
  23. package/dist/admin/mail-test-card-labels.js.map +1 -1
  24. package/dist/admin/plan-change-labels.d.ts +2 -2
  25. package/dist/admin/plan-change-labels.js +1 -17
  26. package/dist/admin/plan-change-labels.js.map +1 -1
  27. package/dist/admin/plan-change.d.ts +3 -42
  28. package/dist/admin/plan-change.js +1 -1
  29. package/dist/admin/plan-change.js.map +1 -1
  30. package/dist/admin/reviewer-scope-editor.js +3 -3
  31. package/dist/admin/reviewer-scope-editor.js.map +1 -1
  32. package/dist/auth/auth-errors-labels.d.ts +11 -0
  33. package/dist/auth/auth-errors-labels.js +13 -0
  34. package/dist/auth/auth-errors-labels.js.map +1 -0
  35. package/dist/auth/auth-errors.d.ts +7 -23
  36. package/dist/auth/auth-errors.js +2 -15
  37. package/dist/auth/auth-errors.js.map +1 -1
  38. package/dist/auth/complete-name-dialog.js +2 -1
  39. package/dist/auth/complete-name-dialog.js.map +1 -1
  40. package/dist/auth/forgot-password-form-labels.js +1 -1
  41. package/dist/auth/forgot-password-form-labels.js.map +1 -1
  42. package/dist/auth/forgot-password-form.js +7 -2
  43. package/dist/auth/forgot-password-form.js.map +1 -1
  44. package/dist/auth/register-form-labels.js +1 -1
  45. package/dist/auth/register-form-labels.js.map +1 -1
  46. package/dist/auth/reset-password-form-labels.js +1 -1
  47. package/dist/auth/reset-password-form-labels.js.map +1 -1
  48. package/dist/auth/reset-password-form.js +5 -1
  49. package/dist/auth/reset-password-form.js.map +1 -1
  50. package/dist/auth/sign-in-form-labels.js +1 -1
  51. package/dist/auth/sign-in-form-labels.js.map +1 -1
  52. package/dist/auth/status-parts.d.ts +0 -3
  53. package/dist/auth/status-parts.js +0 -4
  54. package/dist/auth/status-parts.js.map +1 -1
  55. package/dist/auth/verify-email-labels.js +1 -1
  56. package/dist/auth/verify-email-labels.js.map +1 -1
  57. package/dist/auth/verify-email.js +7 -2
  58. package/dist/auth/verify-email.js.map +1 -1
  59. package/dist/billing/cancel-subscription.d.ts +20 -8
  60. package/dist/billing/cancel-subscription.js +7 -5
  61. package/dist/billing/cancel-subscription.js.map +1 -1
  62. package/dist/billing/dialog-close.d.ts +29 -0
  63. package/dist/billing/dialog-close.js +8 -0
  64. package/dist/billing/dialog-close.js.map +1 -0
  65. package/dist/billing/plan-card.d.ts +14 -4
  66. package/dist/billing/plan-card.js +15 -8
  67. package/dist/billing/plan-card.js.map +1 -1
  68. package/dist/billing/plan-change-labels.d.ts +42 -0
  69. package/dist/billing/plan-change-labels.js +22 -0
  70. package/dist/billing/plan-change-labels.js.map +1 -0
  71. package/dist/billing/plan-switch.d.ts +19 -7
  72. package/dist/billing/plan-switch.js +8 -4
  73. package/dist/billing/plan-switch.js.map +1 -1
  74. package/dist/chart.d.ts +12 -0
  75. package/dist/chart.js +16 -1
  76. package/dist/chart.js.map +1 -1
  77. package/dist/components/account-chips.d.ts +5 -5
  78. package/dist/components/account-chips.js +11 -13
  79. package/dist/components/account-chips.js.map +1 -1
  80. package/dist/components/alert-banner.d.ts +16 -5
  81. package/dist/components/alert-banner.js +46 -1
  82. package/dist/components/alert-banner.js.map +1 -1
  83. package/dist/components/amount-input.d.ts +13 -0
  84. package/dist/components/amount-input.js +1 -0
  85. package/dist/components/amount-input.js.map +1 -1
  86. package/dist/components/autocomplete.js +57 -65
  87. package/dist/components/autocomplete.js.map +1 -1
  88. package/dist/components/bulk-action-bar.d.ts +12 -2
  89. package/dist/components/bulk-action-bar.js +65 -21
  90. package/dist/components/bulk-action-bar.js.map +1 -1
  91. package/dist/components/button-look.d.ts +5 -5
  92. package/dist/components/button-look.js.map +1 -1
  93. package/dist/components/button.d.ts +2 -2
  94. package/dist/components/button.js.map +1 -1
  95. package/dist/components/chart-edge.d.ts +16 -0
  96. package/dist/components/chart-edge.js +14 -1
  97. package/dist/components/chart-edge.js.map +1 -1
  98. package/dist/components/chart-figure.d.ts +13 -0
  99. package/dist/components/chart-figure.js +15 -0
  100. package/dist/components/chart-figure.js.map +1 -0
  101. package/dist/components/chart-zoom-core.js +1 -4
  102. package/dist/components/chart-zoom-core.js.map +1 -1
  103. package/dist/components/chart.d.ts +8 -1
  104. package/dist/components/chart.js +19 -10
  105. package/dist/components/chart.js.map +1 -1
  106. package/dist/components/combobox-core.d.ts +111 -2
  107. package/dist/components/combobox-core.js +148 -42
  108. package/dist/components/combobox-core.js.map +1 -1
  109. package/dist/components/combobox.d.ts +1 -1
  110. package/dist/components/combobox.js +141 -130
  111. package/dist/components/combobox.js.map +1 -1
  112. package/dist/components/copy-button.d.ts +6 -5
  113. package/dist/components/copy-button.js +5 -3
  114. package/dist/components/copy-button.js.map +1 -1
  115. package/dist/components/country-select.js +2 -2
  116. package/dist/components/country-select.js.map +1 -1
  117. package/dist/components/data-table-column-settings.d.ts +1 -1
  118. package/dist/components/data-table-column-settings.js +33 -7
  119. package/dist/components/data-table-column-settings.js.map +1 -1
  120. package/dist/components/data-table-filters.d.ts +4 -2
  121. package/dist/components/data-table-filters.js +2 -2
  122. package/dist/components/data-table-filters.js.map +1 -1
  123. package/dist/components/data-table-fit.d.ts +6 -4
  124. package/dist/components/data-table-fit.js +4 -1
  125. package/dist/components/data-table-fit.js.map +1 -1
  126. package/dist/components/data-table-groups.d.ts +1 -1
  127. package/dist/components/data-table-groups.js.map +1 -1
  128. package/dist/components/data-table-head.d.ts +1 -1
  129. package/dist/components/data-table-head.js +15 -12
  130. package/dist/components/data-table-head.js.map +1 -1
  131. package/dist/components/data-table-mobile.d.ts +12 -7
  132. package/dist/components/data-table-mobile.js +43 -30
  133. package/dist/components/data-table-mobile.js.map +1 -1
  134. package/dist/components/data-table-pagination.js +11 -6
  135. package/dist/components/data-table-pagination.js.map +1 -1
  136. package/dist/components/data-table-resize.d.ts +1 -1
  137. package/dist/components/data-table-resize.js.map +1 -1
  138. package/dist/components/data-table-row-actions.d.ts +2 -2
  139. package/dist/components/data-table-row-actions.js.map +1 -1
  140. package/dist/components/data-table-row.d.ts +6 -2
  141. package/dist/components/data-table-row.js +17 -10
  142. package/dist/components/data-table-row.js.map +1 -1
  143. package/dist/components/data-table-selection.d.ts +1 -1
  144. package/dist/components/data-table-selection.js.map +1 -1
  145. package/dist/components/data-table-shared.d.ts +10 -2
  146. package/dist/components/data-table-shared.js +18 -0
  147. package/dist/components/data-table-shared.js.map +1 -1
  148. package/dist/components/data-table-sort.d.ts +21 -2
  149. package/dist/components/data-table-sort.js +24 -0
  150. package/dist/components/data-table-sort.js.map +1 -1
  151. package/dist/components/data-table-virtual.d.ts +1 -1
  152. package/dist/components/data-table-virtual.js +18 -6
  153. package/dist/components/data-table-virtual.js.map +1 -1
  154. package/dist/components/data-table.d.ts +13 -4
  155. package/dist/components/data-table.js +139 -36
  156. package/dist/components/data-table.js.map +1 -1
  157. package/dist/components/date-field.d.ts +24 -2
  158. package/dist/components/date-field.js +33 -8
  159. package/dist/components/date-field.js.map +1 -1
  160. package/dist/components/date-picker.d.ts +15 -2
  161. package/dist/components/date-picker.js +55 -26
  162. package/dist/components/date-picker.js.map +1 -1
  163. package/dist/components/date-range-picker.d.ts +47 -20
  164. package/dist/components/date-range-picker.js +23 -7
  165. package/dist/components/date-range-picker.js.map +1 -1
  166. package/dist/components/error-boundary.js +37 -30
  167. package/dist/components/error-boundary.js.map +1 -1
  168. package/dist/components/{ui-labels.d.ts → field-base-labels.d.ts} +0 -2
  169. package/dist/components/{ui-labels.js → field-base-labels.js} +2 -9
  170. package/dist/components/field-base-labels.js.map +1 -0
  171. package/dist/components/field-base.d.ts +4 -3
  172. package/dist/components/field-base.js +3 -3
  173. package/dist/components/field-base.js.map +1 -1
  174. package/dist/components/field-sync-labels.d.ts +1 -0
  175. package/dist/components/field-sync-labels.js.map +1 -1
  176. package/dist/components/field-sync.d.ts +23 -1
  177. package/dist/components/field-sync.js.map +1 -1
  178. package/dist/components/form-actions.js +11 -5
  179. package/dist/components/form-actions.js.map +1 -1
  180. package/dist/components/hover-menu.d.ts +3 -0
  181. package/dist/components/hover-menu.js +5 -3
  182. package/dist/components/hover-menu.js.map +1 -1
  183. package/dist/components/icon-button.js +14 -9
  184. package/dist/components/icon-button.js.map +1 -1
  185. package/dist/components/inline-confirm.d.ts +43 -0
  186. package/dist/components/inline-confirm.js +67 -0
  187. package/dist/components/inline-confirm.js.map +1 -0
  188. package/dist/components/inline-entity-combobox.d.ts +4 -3
  189. package/dist/components/inline-entity-combobox.js +148 -140
  190. package/dist/components/inline-entity-combobox.js.map +1 -1
  191. package/dist/components/input.js +1 -1
  192. package/dist/components/input.js.map +1 -1
  193. package/dist/components/jump-calendar.js +28 -112
  194. package/dist/components/jump-calendar.js.map +1 -1
  195. package/dist/components/legal-page.d.ts +3 -1
  196. package/dist/components/legal-page.js +3 -2
  197. package/dist/components/legal-page.js.map +1 -1
  198. package/dist/components/legal.d.ts +4 -2
  199. package/dist/components/legal.js.map +1 -1
  200. package/dist/components/lightbox.d.ts +2 -2
  201. package/dist/components/lightbox.js +17 -6
  202. package/dist/components/lightbox.js.map +1 -1
  203. package/dist/components/list.d.ts +6 -2
  204. package/dist/components/list.js +3 -2
  205. package/dist/components/list.js.map +1 -1
  206. package/dist/components/measured-grid.d.ts +1 -1
  207. package/dist/components/measured-grid.js +2 -1
  208. package/dist/components/measured-grid.js.map +1 -1
  209. package/dist/components/mini-calendar.js +3 -5
  210. package/dist/components/mini-calendar.js.map +1 -1
  211. package/dist/components/modal.js +3 -1
  212. package/dist/components/modal.js.map +1 -1
  213. package/dist/components/month-grid.d.ts +55 -0
  214. package/dist/components/month-grid.js +148 -0
  215. package/dist/components/month-grid.js.map +1 -0
  216. package/dist/components/month-picker.d.ts +36 -4
  217. package/dist/components/month-picker.js +123 -146
  218. package/dist/components/month-picker.js.map +1 -1
  219. package/dist/components/multi-select.d.ts +2 -2
  220. package/dist/components/multi-select.js +11 -6
  221. package/dist/components/multi-select.js.map +1 -1
  222. package/dist/components/picker-sheet.js +2 -1
  223. package/dist/components/picker-sheet.js.map +1 -1
  224. package/dist/components/pie-chart-labels.d.ts +7 -0
  225. package/dist/components/pie-chart-labels.js +1 -0
  226. package/dist/components/pie-chart-labels.js.map +1 -1
  227. package/dist/components/pie-chart.d.ts +5 -3
  228. package/dist/components/pie-chart.js +7 -22
  229. package/dist/components/pie-chart.js.map +1 -1
  230. package/dist/components/popover.d.ts +3 -0
  231. package/dist/components/popover.js +7 -1
  232. package/dist/components/popover.js.map +1 -1
  233. package/dist/components/row-actions.js +2 -1
  234. package/dist/components/row-actions.js.map +1 -1
  235. package/dist/components/section-nav.d.ts +7 -0
  236. package/dist/components/section-nav.js.map +1 -1
  237. package/dist/components/series-chart-axes.d.ts +3 -3
  238. package/dist/components/series-chart-axes.js.map +1 -1
  239. package/dist/components/series-chart-labels.d.ts +7 -4
  240. package/dist/components/series-chart-labels.js.map +1 -1
  241. package/dist/components/series-chart.d.ts +31 -7
  242. package/dist/components/series-chart.js +72 -29
  243. package/dist/components/series-chart.js.map +1 -1
  244. package/dist/components/share-card.js +3 -3
  245. package/dist/components/share-card.js.map +1 -1
  246. package/dist/components/sign-chip-labels.d.ts +1 -0
  247. package/dist/components/sign-chip-labels.js.map +1 -1
  248. package/dist/components/sign-chip.d.ts +10 -1
  249. package/dist/components/sign-chip.js.map +1 -1
  250. package/dist/components/tabs-labels.d.ts +2 -0
  251. package/dist/components/tabs-labels.js +11 -0
  252. package/dist/components/tabs-labels.js.map +1 -0
  253. package/dist/components/tabs.d.ts +1 -1
  254. package/dist/components/tabs.js +1 -1
  255. package/dist/components/tabs.js.map +1 -1
  256. package/dist/components/toggle-legend.d.ts +2 -2
  257. package/dist/components/toggle-legend.js +6 -6
  258. package/dist/components/toggle-legend.js.map +1 -1
  259. package/dist/components/translation-review-editor.d.ts +4 -2
  260. package/dist/components/translation-review-editor.js +2 -3
  261. package/dist/components/translation-review-editor.js.map +1 -1
  262. package/dist/components/translation-review.d.ts +2 -1
  263. package/dist/components/translation-review.js +2 -2
  264. package/dist/components/translation-review.js.map +1 -1
  265. package/dist/components/treemap-labels.d.ts +26 -0
  266. package/dist/components/treemap-labels.js +10 -0
  267. package/dist/components/treemap-labels.js.map +1 -0
  268. package/dist/components/treemap-layout.d.ts +62 -0
  269. package/dist/components/treemap-layout.js +126 -0
  270. package/dist/components/treemap-layout.js.map +1 -0
  271. package/dist/components/treemap.d.ts +140 -17
  272. package/dist/components/treemap.js +324 -97
  273. package/dist/components/treemap.js.map +1 -1
  274. package/dist/components/use-table-state.d.ts +5 -5
  275. package/dist/components/use-table-state.js +4 -1
  276. package/dist/components/use-table-state.js.map +1 -1
  277. package/dist/data-table.d.ts +6 -2
  278. package/dist/data-table.js +7 -2
  279. package/dist/data-table.js.map +1 -1
  280. package/dist/eslint/index.js +1 -1
  281. package/dist/eslint/role-utilities.d.ts +36 -7
  282. package/dist/eslint/role-utilities.js +42 -9
  283. package/dist/eslint/role-utilities.js.map +1 -1
  284. package/dist/feedback/feedback-dialog.d.ts +25 -16
  285. package/dist/feedback/feedback-dialog.js +6 -2
  286. package/dist/feedback/feedback-dialog.js.map +1 -1
  287. package/dist/feedback/feedback-mutation.d.ts +30 -0
  288. package/dist/feedback/feedback-mutation.js +16 -0
  289. package/dist/feedback/feedback-mutation.js.map +1 -0
  290. package/dist/feedback/feedback-page-link.d.ts +53 -0
  291. package/dist/feedback/feedback-page-link.js +37 -0
  292. package/dist/feedback/feedback-page-link.js.map +1 -0
  293. package/dist/feedback/feedback-public-list.d.ts +12 -3
  294. package/dist/feedback/feedback-public-list.js +2 -1
  295. package/dist/feedback/feedback-public-list.js.map +1 -1
  296. package/dist/feedback/feedback-replies.d.ts +3 -1
  297. package/dist/feedback/feedback-replies.js +5 -4
  298. package/dist/feedback/feedback-replies.js.map +1 -1
  299. package/dist/feedback/feedback-row-detail-labels.js +5 -0
  300. package/dist/feedback/feedback-row-detail-labels.js.map +1 -1
  301. package/dist/feedback/feedback-row-detail.d.ts +64 -28
  302. package/dist/feedback/feedback-row-detail.js +30 -28
  303. package/dist/feedback/feedback-row-detail.js.map +1 -1
  304. package/dist/feedback/feedback-status-undo.d.ts +30 -11
  305. package/dist/feedback/feedback-status-undo.js +10 -15
  306. package/dist/feedback/feedback-status-undo.js.map +1 -1
  307. package/dist/feedback/feedback-submit-dialog.d.ts +1 -1
  308. package/dist/feedback/feedback-submit-dialog.js +1 -1
  309. package/dist/feedback/feedback-submit-dialog.js.map +1 -1
  310. package/dist/feedback/feedback-submit.js +9 -3
  311. package/dist/feedback/feedback-submit.js.map +1 -1
  312. package/dist/feedback/feedback-swipe.d.ts +1 -1
  313. package/dist/feedback/feedback-swipe.js.map +1 -1
  314. package/dist/feedback/feedback-table.d.ts +21 -9
  315. package/dist/feedback/feedback-table.js +45 -25
  316. package/dist/feedback/feedback-table.js.map +1 -1
  317. package/dist/feedback/feedback-thread-labels.d.ts +2 -2
  318. package/dist/feedback/feedback-thread-labels.js.map +1 -1
  319. package/dist/feedback/feedback-thread.d.ts +24 -23
  320. package/dist/feedback/feedback-thread.js +2 -1
  321. package/dist/feedback/feedback-thread.js.map +1 -1
  322. package/dist/feedback.d.ts +34 -0
  323. package/dist/feedback.js +42 -0
  324. package/dist/feedback.js.map +1 -1
  325. package/dist/hooks/use-focus-trap.d.ts +35 -0
  326. package/dist/hooks/use-focus-trap.js +6 -4
  327. package/dist/hooks/use-focus-trap.js.map +1 -1
  328. package/dist/hooks/use-hotkey.d.ts +5 -2
  329. package/dist/hooks/use-hotkey.js +5 -4
  330. package/dist/hooks/use-hotkey.js.map +1 -1
  331. package/dist/hooks/use-long-press.d.ts +7 -4
  332. package/dist/hooks/use-long-press.js +3 -0
  333. package/dist/hooks/use-long-press.js.map +1 -1
  334. package/dist/hooks/use-media-query.js +12 -4
  335. package/dist/hooks/use-media-query.js.map +1 -1
  336. package/dist/hooks/use-mounted.d.ts +22 -0
  337. package/dist/hooks/use-mounted.js +24 -0
  338. package/dist/hooks/use-mounted.js.map +1 -0
  339. package/dist/hooks/use-overlay-history.js +19 -3
  340. package/dist/hooks/use-overlay-history.js.map +1 -1
  341. package/dist/i18n/defaults.js +4 -5
  342. package/dist/i18n/defaults.js.map +1 -1
  343. package/dist/i18n/german.js +7 -1
  344. package/dist/i18n/german.js.map +1 -1
  345. package/dist/i18n/kit-labels.d.ts +9 -2
  346. package/dist/i18n/kit-labels.js.map +1 -1
  347. package/dist/i18n/locales/en.js +20 -41
  348. package/dist/i18n/locales/en.js.map +3 -3
  349. package/dist/i18n/locales/es.js +7 -1
  350. package/dist/i18n/locales/es.js.map +1 -1
  351. package/dist/i18n/locales/fr.js +20 -10
  352. package/dist/i18n/locales/fr.js.map +1 -1
  353. package/dist/i18n/locales/hu.js +9 -1
  354. package/dist/i18n/locales/hu.js.map +1 -1
  355. package/dist/i18n/locales/it.js +7 -1
  356. package/dist/i18n/locales/it.js.map +1 -1
  357. package/dist/i18n/locales/zh.js +8 -1
  358. package/dist/i18n/locales/zh.js.map +1 -1
  359. package/dist/i18n/review.js +5 -0
  360. package/dist/i18n/review.js.map +1 -1
  361. package/dist/index.d.ts +64 -17
  362. package/dist/index.js +77 -12
  363. package/dist/index.js.map +1 -1
  364. package/dist/landing/routing.d.ts +3 -1
  365. package/dist/landing/routing.js +4 -7
  366. package/dist/landing/routing.js.map +1 -1
  367. package/dist/lib/broadcast.d.ts +17 -0
  368. package/dist/lib/broadcast.js +30 -0
  369. package/dist/lib/broadcast.js.map +1 -0
  370. package/dist/lib/date-format.d.ts +37 -2
  371. package/dist/lib/date-format.js +34 -8
  372. package/dist/lib/date-format.js.map +1 -1
  373. package/dist/lib/day-format.d.ts +46 -0
  374. package/dist/lib/day-format.js +46 -0
  375. package/dist/lib/day-format.js.map +1 -0
  376. package/dist/lib/describe-failure.d.ts +14 -0
  377. package/dist/lib/describe-failure.js +9 -0
  378. package/dist/lib/describe-failure.js.map +1 -0
  379. package/dist/lib/direction.d.ts +16 -0
  380. package/dist/lib/direction.js +9 -1
  381. package/dist/lib/direction.js.map +1 -1
  382. package/dist/lib/focus-left.d.ts +63 -0
  383. package/dist/lib/focus-left.js +67 -0
  384. package/dist/lib/focus-left.js.map +1 -0
  385. package/dist/lib/format.js +5 -14
  386. package/dist/lib/format.js.map +1 -1
  387. package/dist/lib/http-status.d.ts +24 -0
  388. package/dist/lib/http-status.js +14 -0
  389. package/dist/lib/http-status.js.map +1 -0
  390. package/dist/lib/intl-cache.d.ts +14 -0
  391. package/dist/lib/intl-cache.js +15 -0
  392. package/dist/lib/intl-cache.js.map +1 -0
  393. package/dist/lib/isin.d.ts +10 -0
  394. package/dist/lib/isin.js.map +1 -1
  395. package/dist/lib/iso-day.d.ts +11 -0
  396. package/dist/lib/iso-day.js +8 -0
  397. package/dist/lib/iso-day.js.map +1 -0
  398. package/dist/lib/lazy-with-fallback.d.ts +31 -0
  399. package/dist/lib/lazy-with-fallback.js +40 -0
  400. package/dist/lib/lazy-with-fallback.js.map +1 -0
  401. package/dist/lib/path-pattern.d.ts +34 -0
  402. package/dist/lib/path-pattern.js +24 -0
  403. package/dist/lib/path-pattern.js.map +1 -0
  404. package/dist/lib/reduced-motion.d.ts +2 -1
  405. package/dist/lib/reduced-motion.js.map +1 -1
  406. package/dist/lib/round.d.ts +2 -1
  407. package/dist/lib/round.js +2 -1
  408. package/dist/lib/round.js.map +1 -1
  409. package/dist/lib/safe-storage.d.ts +24 -5
  410. package/dist/lib/safe-storage.js +27 -2
  411. package/dist/lib/safe-storage.js.map +1 -1
  412. package/dist/lib/session-refresh.js +1 -1
  413. package/dist/lib/session-refresh.js.map +1 -1
  414. package/dist/lib/share-format.d.ts +13 -0
  415. package/dist/lib/share-format.js +10 -0
  416. package/dist/lib/share-format.js.map +1 -0
  417. package/dist/lib/text-case.d.ts +17 -0
  418. package/dist/lib/text-case.js +8 -0
  419. package/dist/lib/text-case.js.map +1 -0
  420. package/dist/lib/text-match.d.ts +29 -0
  421. package/dist/lib/text-match.js +20 -2
  422. package/dist/lib/text-match.js.map +1 -1
  423. package/dist/lib/thenable.d.ts +13 -0
  424. package/dist/lib/thenable.js +8 -0
  425. package/dist/lib/thenable.js.map +1 -0
  426. package/dist/lib/translation-review.d.ts +7 -2
  427. package/dist/lib/translation-review.js +4 -4
  428. package/dist/lib/translation-review.js.map +1 -1
  429. package/dist/notifications/device-zone-report.js +1 -1
  430. package/dist/notifications/device-zone-report.js.map +1 -1
  431. package/dist/notifications/notification-bell.d.ts +2 -1
  432. package/dist/notifications/notification-bell.js +3 -3
  433. package/dist/notifications/notification-bell.js.map +1 -1
  434. package/dist/notifications/notification-inbox.d.ts +10 -6
  435. package/dist/notifications/notification-inbox.js +26 -48
  436. package/dist/notifications/notification-inbox.js.map +1 -1
  437. package/dist/notifications/notification-parts.d.ts +3 -2
  438. package/dist/notifications/notification-parts.js +1 -3
  439. package/dist/notifications/notification-parts.js.map +1 -1
  440. package/dist/notifications/notification-types-setting.js +1 -1
  441. package/dist/notifications/notification-types-setting.js.map +1 -1
  442. package/dist/notifications/notifications-labels.d.ts +6 -0
  443. package/dist/notifications/notifications-labels.js +1 -0
  444. package/dist/notifications/notifications-labels.js.map +1 -1
  445. package/dist/notifications/push-device-setting.js +1 -1
  446. package/dist/notifications/push-device-setting.js.map +1 -1
  447. package/dist/notifications/push-devices-setting.d.ts +2 -1
  448. package/dist/notifications/push-devices-setting.js +27 -49
  449. package/dist/notifications/push-devices-setting.js.map +1 -1
  450. package/dist/notifications/quiet-hours-setting.d.ts +10 -3
  451. package/dist/notifications/quiet-hours-setting.js +65 -26
  452. package/dist/notifications/quiet-hours-setting.js.map +1 -1
  453. package/dist/notifications/unsubscribe-panel.js +4 -7
  454. package/dist/notifications/unsubscribe-panel.js.map +1 -1
  455. package/dist/notifications/use-push-device.d.ts +39 -1
  456. package/dist/notifications/use-push-device.js +28 -7
  457. package/dist/notifications/use-push-device.js.map +1 -1
  458. package/dist/offline/query-persistence.d.ts +3 -1
  459. package/dist/offline/query-persistence.js +19 -2
  460. package/dist/offline/query-persistence.js.map +1 -1
  461. package/dist/rhf/fields.d.ts +11 -4
  462. package/dist/rhf/fields.js.map +1 -1
  463. package/dist/search/command-palette.js +1 -1
  464. package/dist/search/command-palette.js.map +1 -1
  465. package/dist/search/global-search.js +19 -9
  466. package/dist/search/global-search.js.map +1 -1
  467. package/dist/search/use-command-key.d.ts +12 -1
  468. package/dist/search/use-command-key.js +3 -12
  469. package/dist/search/use-command-key.js.map +1 -1
  470. package/dist/search.d.ts +7 -0
  471. package/dist/search.js +10 -0
  472. package/dist/search.js.map +1 -1
  473. package/dist/settings/use-settings-focus.js +1 -0
  474. package/dist/settings/use-settings-focus.js.map +1 -1
  475. package/dist/shell/account-menu-language.d.ts +21 -5
  476. package/dist/shell/account-menu-language.js +3 -1
  477. package/dist/shell/account-menu-language.js.map +1 -1
  478. package/dist/shell/account-menu-text-size.d.ts +26 -9
  479. package/dist/shell/account-menu-text-size.js +3 -2
  480. package/dist/shell/account-menu-text-size.js.map +1 -1
  481. package/dist/shell/dev-menu.js +5 -18
  482. package/dist/shell/dev-menu.js.map +1 -1
  483. package/dist/shell/role-switcher.d.ts +7 -0
  484. package/dist/shell/role-switcher.js.map +1 -1
  485. package/dist/shell/top-bar-actions.d.ts +1 -1
  486. package/dist/shell/top-bar-actions.js.map +1 -1
  487. package/dist/shell/top-bar-parts-labels.d.ts +0 -2
  488. package/dist/shell/top-bar-parts-labels.js +0 -1
  489. package/dist/shell/top-bar-parts-labels.js.map +1 -1
  490. package/dist/shell.d.ts +27 -8
  491. package/dist/shell.js +28 -7
  492. package/dist/shell.js.map +1 -1
  493. package/dist/sync/engine.d.ts +30 -4
  494. package/dist/sync/engine.js +172 -52
  495. package/dist/sync/engine.js.map +1 -1
  496. package/dist/sync.d.ts +6 -2
  497. package/dist/sync.js +6 -1
  498. package/dist/sync.js.map +1 -1
  499. package/dist/testing/css-variables.js +3 -8
  500. package/dist/testing/css-variables.js.map +1 -1
  501. package/dist/theme/contrast.d.ts +2 -1
  502. package/dist/theme/contrast.js +3 -8
  503. package/dist/theme/contrast.js.map +1 -1
  504. package/dist/theme/palette-store.js +6 -6
  505. package/dist/theme/palette-store.js.map +1 -1
  506. package/dist/theme/text-size.js +3 -8
  507. package/dist/theme/text-size.js.map +1 -1
  508. package/dist/theme/theme-store.js +3 -6
  509. package/dist/theme/theme-store.js.map +1 -1
  510. package/dist/tour/tour-catalogue.d.ts +7 -4
  511. package/dist/tour/tour-catalogue.js +12 -10
  512. package/dist/tour/tour-catalogue.js.map +1 -1
  513. package/dist/tour/tour-dock.d.ts +0 -2
  514. package/dist/tour/tour-dock.js +0 -2
  515. package/dist/tour/tour-dock.js.map +1 -1
  516. package/dist/tour/tour-gates.d.ts +4 -0
  517. package/dist/tour/tour-gates.js +14 -0
  518. package/dist/tour/tour-gates.js.map +1 -1
  519. package/dist/tour/tour-overlay.d.ts +27 -0
  520. package/dist/tour/tour-overlay.js +741 -0
  521. package/dist/tour/tour-overlay.js.map +1 -0
  522. package/dist/tour/tour.d.ts +13 -3
  523. package/dist/tour/tour.js +59 -781
  524. package/dist/tour/tour.js.map +1 -1
  525. package/dist/tour/use-tour-progress.js +1 -1
  526. package/dist/tour/use-tour-progress.js.map +1 -1
  527. package/dist/wizard/stepper-nav.d.ts +5 -1
  528. package/dist/wizard/stepper-nav.js.map +1 -1
  529. package/dist/wizard/types.d.ts +6 -2
  530. package/dist/wizard/types.js.map +1 -1
  531. package/dist/wizard/use-wizard.d.ts +3 -1
  532. package/dist/wizard/use-wizard.js.map +1 -1
  533. package/dist/wizard/validation.d.ts +3 -1
  534. package/dist/wizard/validation.js.map +1 -1
  535. package/package.json +10 -6
  536. package/src/account/account-parts.ts +5 -25
  537. package/src/account/data-export-setting-labels.ts +1 -1
  538. package/src/account/delete-account-setting-labels.ts +1 -1
  539. package/src/account/email-change-setting-labels.ts +1 -1
  540. package/src/account/passkeys-setting.tsx +60 -38
  541. package/src/account/sessions-setting.tsx +18 -12
  542. package/src/admin/admin-action-confirm.tsx +1 -5
  543. package/src/admin/admin-parts.ts +11 -25
  544. package/src/admin/mail-test-card-labels.ts +1 -1
  545. package/src/admin/plan-change-labels.ts +5 -23
  546. package/src/admin/plan-change.tsx +7 -44
  547. package/src/admin/reviewer-scope-editor.tsx +3 -3
  548. package/src/auth/auth-errors-labels.ts +23 -0
  549. package/src/auth/auth-errors.ts +11 -38
  550. package/src/auth/complete-name-dialog.tsx +4 -1
  551. package/src/auth/forgot-password-form-labels.ts +1 -1
  552. package/src/auth/forgot-password-form.tsx +11 -6
  553. package/src/auth/register-form-labels.ts +1 -1
  554. package/src/auth/reset-password-form-labels.ts +1 -1
  555. package/src/auth/reset-password-form.tsx +8 -4
  556. package/src/auth/sign-in-form-labels.ts +1 -1
  557. package/src/auth/status-parts.tsx +0 -6
  558. package/src/auth/verify-email-labels.ts +1 -1
  559. package/src/auth/verify-email.tsx +11 -6
  560. package/src/billing/cancel-subscription.tsx +26 -12
  561. package/src/billing/dialog-close.ts +34 -0
  562. package/src/billing/plan-card.tsx +36 -11
  563. package/src/billing/plan-change-labels.ts +66 -0
  564. package/src/billing/plan-switch.tsx +26 -12
  565. package/src/chart.ts +21 -3
  566. package/src/components/account-chips.tsx +20 -23
  567. package/src/components/alert-banner.tsx +82 -5
  568. package/src/components/amount-input.tsx +18 -7
  569. package/src/components/autocomplete.tsx +64 -70
  570. package/src/components/bulk-action-bar.tsx +70 -2
  571. package/src/components/button-look.ts +5 -5
  572. package/src/components/button.tsx +2 -2
  573. package/src/components/chart-edge.ts +34 -1
  574. package/src/components/chart-figure.tsx +35 -0
  575. package/src/components/chart-zoom-core.tsx +6 -5
  576. package/src/components/chart.tsx +26 -5
  577. package/src/components/combobox-core.tsx +293 -62
  578. package/src/components/combobox.tsx +183 -153
  579. package/src/components/copy-button.tsx +34 -23
  580. package/src/components/country-select.tsx +16 -11
  581. package/src/components/data-table-column-settings.tsx +52 -10
  582. package/src/components/data-table-filters.ts +6 -4
  583. package/src/components/data-table-fit.ts +19 -5
  584. package/src/components/data-table-groups.tsx +1 -1
  585. package/src/components/data-table-head.tsx +32 -22
  586. package/src/components/data-table-mobile.tsx +61 -26
  587. package/src/components/data-table-pagination.tsx +21 -6
  588. package/src/components/data-table-resize.ts +1 -1
  589. package/src/components/data-table-row-actions.tsx +3 -3
  590. package/src/components/data-table-row.tsx +25 -14
  591. package/src/components/data-table-selection.ts +1 -1
  592. package/src/components/data-table-shared.tsx +33 -1
  593. package/src/components/data-table-sort.ts +57 -2
  594. package/src/components/data-table-virtual.ts +32 -8
  595. package/src/components/data-table.tsx +239 -68
  596. package/src/components/date-field.tsx +65 -8
  597. package/src/components/date-picker.tsx +125 -48
  598. package/src/components/date-range-picker.tsx +82 -31
  599. package/src/components/error-boundary.tsx +53 -39
  600. package/src/components/field-base-labels.ts +20 -0
  601. package/src/components/field-base.tsx +13 -7
  602. package/src/components/field-sync-labels.ts +1 -0
  603. package/src/components/field-sync.tsx +23 -1
  604. package/src/components/form-actions.tsx +20 -5
  605. package/src/components/hover-menu.tsx +18 -8
  606. package/src/components/icon-button.tsx +14 -9
  607. package/src/components/inline-confirm.tsx +116 -0
  608. package/src/components/inline-entity-combobox.tsx +197 -153
  609. package/src/components/input.tsx +1 -1
  610. package/src/components/jump-calendar.tsx +30 -146
  611. package/src/components/legal-page.tsx +10 -7
  612. package/src/components/legal.tsx +4 -2
  613. package/src/components/lightbox.tsx +21 -8
  614. package/src/components/list.tsx +10 -4
  615. package/src/components/measured-grid.tsx +8 -4
  616. package/src/components/mini-calendar.tsx +6 -5
  617. package/src/components/modal.tsx +6 -1
  618. package/src/components/month-grid.tsx +229 -0
  619. package/src/components/month-picker.tsx +192 -200
  620. package/src/components/multi-select.tsx +21 -9
  621. package/src/components/picker-sheet.tsx +12 -9
  622. package/src/components/pie-chart-labels.ts +8 -0
  623. package/src/components/pie-chart.tsx +22 -28
  624. package/src/components/popover.tsx +18 -1
  625. package/src/components/row-actions.tsx +2 -1
  626. package/src/components/section-nav.tsx +7 -0
  627. package/src/components/series-chart-axes.ts +3 -3
  628. package/src/components/series-chart-labels.ts +7 -4
  629. package/src/components/series-chart.tsx +178 -69
  630. package/src/components/share-card.tsx +6 -6
  631. package/src/components/sign-chip-labels.ts +1 -0
  632. package/src/components/sign-chip.tsx +10 -1
  633. package/src/components/tabs-labels.ts +13 -0
  634. package/src/components/tabs.tsx +2 -2
  635. package/src/components/toggle-legend.tsx +16 -11
  636. package/src/components/translation-review-editor.tsx +6 -5
  637. package/src/components/translation-review.tsx +4 -3
  638. package/src/components/treemap-labels.ts +39 -0
  639. package/src/components/treemap-layout.ts +210 -0
  640. package/src/components/treemap.tsx +722 -133
  641. package/src/components/use-table-state.ts +12 -9
  642. package/src/data-table.ts +9 -2
  643. package/src/eslint/role-utilities.ts +97 -19
  644. package/src/feedback/feedback-dialog.tsx +30 -19
  645. package/src/feedback/feedback-mutation.ts +41 -0
  646. package/src/feedback/feedback-page-link.ts +90 -0
  647. package/src/feedback/feedback-public-list.tsx +17 -5
  648. package/src/feedback/feedback-replies.tsx +13 -6
  649. package/src/feedback/feedback-row-detail-labels.ts +5 -0
  650. package/src/feedback/feedback-row-detail.tsx +103 -67
  651. package/src/feedback/feedback-status-undo.ts +41 -27
  652. package/src/feedback/feedback-submit-dialog.tsx +2 -2
  653. package/src/feedback/feedback-submit.tsx +21 -7
  654. package/src/feedback/feedback-swipe.tsx +1 -1
  655. package/src/feedback/feedback-table.tsx +86 -38
  656. package/src/feedback/feedback-thread-labels.ts +2 -2
  657. package/src/feedback/feedback-thread.tsx +27 -25
  658. package/src/feedback.ts +42 -0
  659. package/src/hooks/use-focus-trap.ts +8 -24
  660. package/src/hooks/use-hotkey.ts +24 -7
  661. package/src/hooks/use-long-press.ts +16 -2
  662. package/src/hooks/use-media-query.ts +20 -4
  663. package/src/hooks/use-mounted.ts +39 -0
  664. package/src/hooks/use-overlay-history.ts +32 -3
  665. package/src/i18n/defaults.ts +4 -5
  666. package/src/i18n/german.ts +8 -2
  667. package/src/i18n/kit-labels.tsx +9 -2
  668. package/src/i18n/locales/es.ts +8 -2
  669. package/src/i18n/locales/fr.ts +21 -13
  670. package/src/i18n/locales/hu.ts +10 -2
  671. package/src/i18n/locales/it.ts +8 -2
  672. package/src/i18n/locales/zh.ts +9 -2
  673. package/src/i18n/review.ts +5 -0
  674. package/src/index.ts +103 -13
  675. package/src/landing/routing.tsx +14 -10
  676. package/src/lib/broadcast.ts +52 -0
  677. package/src/lib/date-format.ts +89 -13
  678. package/src/lib/day-format.ts +96 -0
  679. package/src/lib/describe-failure.ts +18 -0
  680. package/src/lib/direction.ts +39 -0
  681. package/src/lib/focus-left.ts +156 -0
  682. package/src/lib/format.ts +5 -17
  683. package/src/lib/http-status.ts +38 -0
  684. package/src/lib/intl-cache.ts +25 -0
  685. package/src/lib/isin.ts +10 -0
  686. package/src/lib/iso-day.ts +13 -0
  687. package/src/lib/lazy-with-fallback.ts +82 -0
  688. package/src/lib/path-pattern.ts +55 -0
  689. package/src/lib/reduced-motion.ts +2 -1
  690. package/src/lib/round.ts +7 -2
  691. package/src/lib/safe-storage.ts +48 -6
  692. package/src/lib/session-refresh.ts +1 -1
  693. package/src/lib/share-format.ts +18 -0
  694. package/src/lib/text-case.ts +19 -0
  695. package/src/lib/text-match.ts +57 -2
  696. package/src/lib/thenable.ts +19 -0
  697. package/src/lib/translation-review.ts +13 -5
  698. package/src/notifications/device-zone-report.ts +1 -1
  699. package/src/notifications/notification-bell.tsx +7 -4
  700. package/src/notifications/notification-inbox.tsx +40 -58
  701. package/src/notifications/notification-parts.tsx +3 -4
  702. package/src/notifications/notification-types-setting.tsx +1 -1
  703. package/src/notifications/notifications-labels.ts +7 -0
  704. package/src/notifications/push-device-setting.tsx +1 -1
  705. package/src/notifications/push-devices-setting.tsx +30 -55
  706. package/src/notifications/quiet-hours-setting.tsx +93 -31
  707. package/src/notifications/unsubscribe-panel.tsx +4 -7
  708. package/src/notifications/use-push-device.ts +76 -10
  709. package/src/offline/query-persistence.ts +35 -3
  710. package/src/rhf/fields.tsx +11 -4
  711. package/src/search/command-palette.tsx +2 -4
  712. package/src/search/global-search.tsx +36 -15
  713. package/src/search/use-command-key.ts +13 -12
  714. package/src/search.ts +9 -0
  715. package/src/settings/use-settings-focus.ts +3 -0
  716. package/src/shell/account-menu-language.tsx +27 -5
  717. package/src/shell/account-menu-text-size.tsx +32 -10
  718. package/src/shell/dev-menu.tsx +7 -21
  719. package/src/shell/role-switcher.tsx +7 -0
  720. package/src/shell/top-bar-actions.tsx +1 -1
  721. package/src/shell/top-bar-parts-labels.ts +0 -3
  722. package/src/shell.ts +40 -9
  723. package/src/sync/engine.ts +339 -61
  724. package/src/sync.ts +8 -1
  725. package/src/testing/css-variables.ts +8 -9
  726. package/src/theme/contrast.ts +8 -9
  727. package/src/theme/palette-store.ts +9 -9
  728. package/src/theme/text-size.ts +6 -8
  729. package/src/theme/theme-store.ts +7 -9
  730. package/src/tour/tour-catalogue.tsx +26 -15
  731. package/src/tour/tour-dock.ts +0 -2
  732. package/src/tour/tour-gates.ts +23 -0
  733. package/src/tour/tour-overlay.tsx +1170 -0
  734. package/src/tour/tour.tsx +108 -1202
  735. package/src/tour/use-tour-progress.ts +1 -1
  736. package/src/wizard/stepper-nav.tsx +3 -1
  737. package/src/wizard/types.ts +11 -2
  738. package/src/wizard/use-wizard.ts +2 -1
  739. package/src/wizard/validation.ts +8 -2
  740. package/tokens.css +2 -1
  741. package/dist/components/ui-labels.js.map +0 -1
  742. package/dist/shell/dev-switchers.d.ts +0 -6
  743. package/dist/shell/dev-switchers.js +0 -12
  744. package/dist/shell/dev-switchers.js.map +0 -1
  745. package/src/components/ui-labels.ts +0 -24
  746. package/src/shell/dev-switchers.tsx +0 -18
package/README.md CHANGED
@@ -134,6 +134,7 @@ resolve: {
134
134
  @import "tailwindcss";
135
135
  @import "@eifi1/ui-kit/tokens.css"; /* design tokens, semantic utilities, chrome */
136
136
  @source "../../node_modules/@eifi1/ui-kit/dist"; /* keep the class names @eifi1/ui-kit uses */
137
+ @source not "../../node_modules/@eifi1/ui-kit/dist/**/*.{map,d.ts}"; /* …and not its comments */
137
138
  ```
138
139
 
139
140
  **Get this path right, and check it.** Tailwind never scans `node_modules`, so without
@@ -149,10 +150,17 @@ package uses.
149
150
  npm run build && grep -c 'pointer-events-auto' dist/assets/*.css # 0 means the scan missed
150
151
  ```
151
152
 
152
- Scanning `dist` is the recommended path: it is published by every version. From
153
- v0.5.0 the tarball also ships `src`, so `@source ".../@eifi1/ui-kit/src"` works too and
154
- scans the original TSX rather than transpiled output — but it is not present in
155
- v0.4.x, and an `@source` pointing at a directory that does not exist fails silently.
153
+ **Keep the `@source not` line.** Beside each built module, `dist` holds its `.d.ts` (the
154
+ JSDoc) and its `.js.map` (whose `sourcesContent` is the commented source), and Tailwind
155
+ turns every class-like word in a comment into a rule: a doc comment that mentions
156
+ `bg-green-500` puts `.bg-green-500` in your stylesheet. Measured on 0.51.7 with Tailwind
157
+ 4.3.3: the directory alone gives 3,005 rules and 227,137 B; with the exclusion 2,824 rules
158
+ and 216,056 B (−181 rules, −11 KB), exactly what the `.js` files give on their own, and the
159
+ `.js` holds every class a component renders. **A glob such as `dist/**/*.js` does not
160
+ narrow the scan**: an explicit `@source` into an ignored folder un-ignores the folder, and
161
+ Tailwind's root detection then walks every file in it, so the stylesheet comes out
162
+ byte-identical to the directory line. Exclude with `@source not` instead. Don't scan the
163
+ tarball's `src` either: it is the commented source, with the same extra rules.
156
164
 
157
165
  ### 3. Appearance stores (own persistence keys)
158
166
 
@@ -455,7 +463,7 @@ because they answer different questions.
455
463
  |---|---|---|
456
464
  | **Semantic UI** | `--danger*` `--warning*` `--info*` `--success*`, `--status-*` | *What does this mean?* Danger is red because every other interface the reader has used made it red. Fixed meanings, so they live in `tokens.css` and are **not** part of `TokenSet` — a destructive action must not change colour because somebody picked a different preset. |
457
465
  | **Semantic data** | `--money-income` `--money-expense` `--money-net` `--money-neutral` | *Which direction is this number?* Never red/green: that pair is exactly the axis dichromacy collapses. Always paired with a `+`/`−` or an arrow at the call site, so colour is never the only signal. |
458
- | **Categorical chart** | `--chart-1` … `--chart-8` (`--chart-9` repeats slot 1) | *Which series is this?* No meaning and no order — eight hues that must stay separable from each other: anyplot's "Imprint" set (0.49; Paul Tol's "Muted" is the `paul-tol` preset), the same in light and dark, CVD-safe across protan/deutan/tritan. `paletteFor(i)` returns the CSS var (cycling eight, series 1 always the green; `{ order: "cvd" }` for anyplot's CVD order), so a Recharts series is theme-aware for free. A hue under 3:1 on the ground gets a 1px ink edge on bars, areas and treemap tiles (`chartEdge`). |
466
+ | **Categorical chart** | `--chart-1` … `--chart-8` (`--chart-9` repeats slot 1) | *Which series is this?* No meaning and no order — eight hues that must stay separable from each other: anyplot's "Imprint" set (0.49; Paul Tol's "Muted" is the `paul-tol` preset), the same in light and dark, CVD-safe across protan/deutan/tritan. `paletteFor(i)` returns the CSS var (cycling eight, series 1 always the green; `{ order: "cvd" }` for anyplot's CVD order), so a Recharts series is theme-aware for free. A hue under 3:1 on the ground gets a 1px ink edge on bars, areas and treemap tiles (`chartEdge`) under More contrast; at Standard contrast no mark gets a per-hue edge (`edges="auto"`, Treemap 0.51.6, SeriesChart 0.52). A Treemap node with `children` is a group, drawn as a labelled frame round its tiles (0.52): its `fill` is its tiles' default, `shade` mixes a hue into the surface as a measured hex, `onGroupClick` makes the frames buttons, and a group's name band shows once the group is 44px wide and 61px tall at Normal text. A group's frame is given area of its own, so a tile's area is its share of the whole in any group. |
459
467
  | **Chart inks** | `--chart-ink` `--chart-muted` | The only chart colours that change with the theme. `CHART_ROLES`: total / baseline / outline in ink; other / rest / disabled and confidence bands in muted ink. |
460
468
 
461
469
  Optimising a set for one of these makes it worse at the others. A UI colour needs contrast
@@ -570,20 +578,21 @@ columns, strings and permissions (see the note at the top of `src/feedback/feedb
570
578
 
571
579
  <!-- BEGIN GENERATED: exports — node scripts/gen-export-inventory.mjs -->
572
580
 
573
- **2198 names from 363 modules** — 1017 values and 1181 types. _Italic_ is a type-only export.
581
+ **2213 names from 365 modules** in the main barrel — 1028 values and 1185 types — and 189 more in 16 standalone entries. _Italic_ is a type-only export.
574
582
 
575
- Generated from `dist/index.d.ts` by `node scripts/gen-export-inventory.mjs`; the count
576
- is pinned by `src/__tests__/public-surface.test.ts`. Do not edit between the markers.
583
+ Generated from `dist/index.d.ts` and each standalone entry's own `.d.ts` by
584
+ `node scripts/gen-export-inventory.mjs`; the counts are pinned by
585
+ `src/__tests__/public-surface.test.ts`. Do not edit between the markers.
577
586
 
578
587
  | Entry point | Names |
579
588
  |---|---|
580
- | `@eifi1/ui-kit` | 2198 |
581
- | `@eifi1/ui-kit/chart` | 101 |
582
- | `@eifi1/ui-kit/shell` | 120 |
583
- | `@eifi1/ui-kit/data-table` | 56 |
589
+ | `@eifi1/ui-kit` | 2213 |
590
+ | `@eifi1/ui-kit/chart` | 103 |
591
+ | `@eifi1/ui-kit/shell` | 118 |
592
+ | `@eifi1/ui-kit/data-table` | 57 |
584
593
  | `@eifi1/ui-kit/wizard` | 25 |
585
594
  | `@eifi1/ui-kit/tour` | 49 |
586
- | `@eifi1/ui-kit/feedback` | 212 |
595
+ | `@eifi1/ui-kit/feedback` | 214 |
587
596
  | `@eifi1/ui-kit/search` | 23 |
588
597
  | `@eifi1/ui-kit/dates` | 22 |
589
598
  | `@eifi1/ui-kit/table-text` | 14 |
@@ -596,9 +605,16 @@ is pinned by `src/__tests__/public-surface.test.ts`. Do not edit between the mar
596
605
  | `@eifi1/ui-kit/sync` | 38 |
597
606
  | `@eifi1/ui-kit/sync/testing` | 3 |
598
607
  | `@eifi1/ui-kit/push-worker` | 10 |
608
+ | `@eifi1/ui-kit/i18n/de-CH` | 2 |
609
+ | `@eifi1/ui-kit/i18n/en` | 1 |
610
+ | `@eifi1/ui-kit/i18n/es` | 2 |
611
+ | `@eifi1/ui-kit/i18n/fr` | 2 |
612
+ | `@eifi1/ui-kit/i18n/hu` | 2 |
613
+ | `@eifi1/ui-kit/i18n/it` | 2 |
614
+ | `@eifi1/ui-kit/i18n/zh` | 2 |
599
615
 
600
- Everything below is reachable from the main `@eifi1/ui-kit` barrel. The subpaths are a
601
- re-slicing of it, never a second API.
616
+ The main barrel's names first; the standalone entries follow and share no name with it.
617
+ Every other subpath is a re-slicing of the barrel, never a second API.
602
618
 
603
619
  ### lib — pure helpers
604
620
 
@@ -608,7 +624,8 @@ re-slicing of it, never a second API.
608
624
  | `lib/cn` | `cn` |
609
625
  | `lib/logger` | `logger`, `setStoreLog` |
610
626
  | `lib/format` | `currencyMinorDigits`, `EMPTY_FORMATTED_VALUE`, `formatDate`, `formatMoney`, `formatNumber`, `formatPercent`, `formatRelativeTime`, `roundToCurrency`, `toDate`, `useKitFormat`, _`DateInput`_, _`FormatDateOptions`_, _`FormatDateStyle`_, _`FormatDigits`_, _`FormatMoneyOptions`_, _`FormatNumberBaseOptions`_, _`FormatNumberOptions`_, _`FormatPercentOptions`_, _`FormatRelativeTimeOptions`_, _`FormattableNumber`_, _`KitFormat`_, _`RoundToCurrencyOptions`_ |
611
- | `lib/safe-storage` | `readStored`, `writeStored` |
627
+ | `lib/safe-storage` | `readSessionStored`, `readStored`, `readStoredJson`, `removeStored`, `writeSessionStored`, `writeStored`, `writeStoredJson` |
628
+ | `lib/reduced-motion` | `prefersReducedMotion` |
612
629
  | `lib/download` | `filenameFromDisposition`, `saveBlob` |
613
630
  | `lib/text-match` | `foldForSearch`, `matchesSearch`, `rankMatch`, `searchWords`, _`MatchRank`_ |
614
631
  | `lib/qr-encode` | `encodeQr`, _`QrEncodeOptions`_, _`QrErrorCorrection`_, _`QrMatrix`_ |
@@ -624,7 +641,7 @@ re-slicing of it, never a second API.
624
641
  | `lib/clipboard-minus` | `asciiMinusInNumbers` |
625
642
  | `lib/document-title` | `DEFAULT_DOCUMENT_TITLE_FORMAT`, `formatDocumentTitle`, _`DocumentTitleParts`_ |
626
643
  | `lib/status-tone` | `STATUS_KINDS`, `statusTone`, _`StatusKind`_, _`StatusTone`_ |
627
- | `lib/date-format` | `DATE_FORMAT_PREFERENCES`, `dateFormatSample`, `dateFormatterFor`, `formatDateWithPreference`, `isDateFormatPreference`, `resolveDateFormat`, _`DateFormatOptions`_, _`DateFormatPreference`_, _`ResolvedDateFormat`_ |
644
+ | `lib/date-format` | `DATE_FORMAT_PREFERENCES`, `dateFormatSample`, `dateFormatterFor`, `formatDateTimeWithPreference`, `formatDateWithPreference`, `isDateFormatPreference`, `resolveDateFormat`, _`DateFormatOptions`_, _`DateFormatPreference`_, _`ResolvedDateFormat`_ |
628
645
  | `lib/device-settings` | `deviceSettings`, `registerDeviceSetting`, `resetDeviceSettings`, _`DeviceSetting`_, _`DeviceSettingKind`_ |
629
646
  | `lib/minus` | `formatWithMinus`, _`MinusStyle`_ |
630
647
  | `lib/clipping` | `CLIPS_ATTRIBUTE` |
@@ -644,6 +661,7 @@ re-slicing of it, never a second API.
644
661
  | `hooks/use-overlay-history` | `useOverlayHistory` |
645
662
  | `hooks/use-close-transition` | `OVERLAY_EXIT_MS`, `useCloseTransition` |
646
663
  | `hooks/use-row-swipe` | `useRowSwipe`, _`RowSwipeOptions`_, _`RowSwipeReturn`_, _`SwipeStage`_ |
664
+ | `hooks/use-long-press` | `useLongPress`, _`LongPressOptions`_, _`LongPressResult`_ |
647
665
  | `hooks/use-noindex` | `useNoIndex` |
648
666
  | `hooks/use-document-title` | `useDocumentTitle` |
649
667
  | `hooks/use-file-drop` | `dragHasFiles`, `useFileDrop`, _`FileDropProps`_, _`UseFileDropOptions`_, _`UseFileDropReturn`_ |
@@ -707,7 +725,7 @@ re-slicing of it, never a second API.
707
725
  | `components/numpad-sheet` | `NumberPadSheet`, _`NumberPadSheetLabels`_ |
708
726
  | `components/number-input` | `NumberInput`, `stepNumber`, _`NumberInputProps`_ |
709
727
  | `components/currency-select` | `CURRENCIES`, `CurrencyFlag`, `currencyName`, `CurrencySelect`, `getCurrency`, _`CurrencyFlagProps`_, _`CurrencyOption`_, _`CurrencySelectProps`_ |
710
- | `components/amount-input` | `AmountInput`, _`AmountInputProps`_ |
728
+ | `components/amount-input` | `AMOUNT_TONE_CLASS`, `AmountInput`, _`AmountInputProps`_ |
711
729
  | `components/money-field` | `MoneyField`, _`MoneyFieldProps`_ |
712
730
  | `components/combobox` | `Combobox`, _`ComboboxProps`_ |
713
731
  | `components/picker-sheet` | `PickerSheet`, `SHEET_ROW_CLASS`, _`PickerSheetProps`_ |
@@ -744,6 +762,7 @@ re-slicing of it, never a second API.
744
762
  | `components/file-button` | `DEFAULT_FILE_PICKER_LABELS`, `FileButton`, _`FileButtonProps`_ |
745
763
  | `components/chart` | `ChartContainer`, `ChartLegend`, `ChartLegendContent`, `ChartTooltip`, `ChartTooltipContent`, `useChart`, _`ChartConfig`_, _`ChartSeriesConfig`_ |
746
764
  | `components/treemap` | `fitLabel`, `Treemap`, `TreemapCell`, _`TreemapCellProps`_, _`TreemapEdges`_, _`TreemapNode`_, _`TreemapProps`_ |
765
+ | `components/treemap-labels` | `DEFAULT_TREEMAP_LABELS`, _`TreemapLabels`_ |
747
766
  | `components/series-chart` | `resolveTooltipPlacement`, `SeriesChart`, `seriesLegendEntries`, `StaticSeriesChart`, _`SeriesChartAxis`_, _`SeriesChartHit`_, _`SeriesChartMarker`_, _`SeriesChartPoint`_, _`SeriesChartProps`_, _`SeriesChartReference`_, _`SeriesChartRow`_, _`SeriesChartSeries`_, _`SeriesChartSpan`_, _`SeriesChartTickValues`_, _`SeriesChartTone`_, _`SeriesChartTooltip`_, _`SeriesChartTooltipPlacement`_, _`SeriesChartType`_, _`SeriesChartX`_, _`SeriesChartXTick`_, _`SeriesChartXValue`_, _`SeriesLegendAxes`_ |
748
767
  | `components/chart-height` | _`ChartHeight`_ |
749
768
  | `components/chart-zoom-core` | `SharedXZoom`, _`ZoomAxes`_, _`ZoomAxesSetting`_, _`ZoomBinding`_, _`ZoomDrag`_, _`ZoomFitSeries`_, _`ZoomFitSource`_, _`ZoomRow`_, _`ZoomSelection`_, _`ZoomState`_, _`ZoomTarget`_ |
@@ -816,7 +835,7 @@ re-slicing of it, never a second API.
816
835
  | `components/field-strip` | `FieldStrip`, _`FieldStripIds`_, _`FieldStripProps`_ |
817
836
  | `components/column-mapper` | `ColumnMapper`, `ColumnRoleTable`, `DEFAULT_COLUMN_MAPPER_LABELS`, _`ColumnMapperLabels`_, _`ColumnMapperProps`_, _`ColumnRoleTableBodyProps`_, _`ColumnRoleTableProps`_, _`ColumnRoleTableRowProps`_ |
818
837
  | `components/data-table-labels` | `DEFAULT_DATA_TABLE_LABELS`, _`DataTableLabels`_ |
819
- | `components/data-table-sort` | `decodeSorts`, `encodeSorts`, `nextSorts`, `normalizeSorts`, _`SortCycle`_, _`SortDir`_, _`SortState`_, _`SortStepOptions`_ |
838
+ | `components/data-table-sort` | `compareSortValues`, `decodeSorts`, `encodeSorts`, `nextSorts`, `normalizeSorts`, _`SortCycle`_, _`SortDir`_, _`SortState`_, _`SortStepOptions`_ |
820
839
  | `components/data-table-filters` | `dateFilter`, `decodeFilterValue`, `decodeFilterValueOfType`, `defaultFilterState`, `encodeFilterValue`, `filterHref`, `isFilterActive`, `numberFilter`, `resolveFilter`, `rowMatches`, `selectFilter`, `textFilter`, _`ColumnFilter`_, _`FilterValue`_ |
821
840
  | `components/data-table-pagination` | `PAGE_SIZE_OPTIONS`, `Pagination` |
822
841
  | `components/data-table-filter-popover` | `FilterPopover` |
@@ -857,7 +876,6 @@ re-slicing of it, never a second API.
857
876
  | `shell/tour-menu` | `TourMenu`, _`TourMenuProps`_, _`TourMenuTour`_ |
858
877
  | `shell/sync-status-indicator` | `syncState`, `SyncStatusIndicator`, _`SyncState`_, _`SyncStatus`_, _`SyncStatusIndicatorProps`_, _`SyncStatusScope`_ |
859
878
  | `shell/dev-menu` | `DEV_ORIGINAL_ROLE_KEY`, `DevMenu`, _`DevMenuProps`_, _`DevMenuSection`_ |
860
- | `shell/dev-switchers` | `DevSwitchers`, _`DevSwitchersProps`_ |
861
879
  | `shell/top-bar-parts-labels` | `DEFAULT_TOP_BAR_PARTS_LABELS`, `useTopBarPartsLabels`, _`DevSwitchersLabels`_, _`SyncStatusLabels`_, _`TopBarPartsLabels`_, _`TourMenuLabels`_ |
862
880
  | `shell/company-switcher` | `CompanySwitcher`, `DEFAULT_COMPANY_SWITCHER_LABELS`, _`CompanySwitcherCompany`_, _`CompanySwitcherLabels`_, _`CompanySwitcherProps`_ |
863
881
 
@@ -900,14 +918,14 @@ re-slicing of it, never a second API.
900
918
  | `feedback/feedback-thread` | `ChatComposer`, `DEFAULT_FEEDBACK_COMPOSER_LABELS`, `DEFAULT_FEEDBACK_THREAD_LABELS`, `FeedbackThread`, _`ChatComposerHandle`_, _`ChatComposerLabels`_, _`ChatComposerProps`_, _`ChatComposerSlotContext`_, _`FeedbackComposerAttachment`_, _`FeedbackComposerHandle`_, _`FeedbackComposerLabels`_, _`FeedbackComposerProps`_, _`FeedbackComposerSlotContext`_, _`FeedbackThreadAttachment`_, _`FeedbackThreadEvent`_, _`FeedbackThreadItem`_, _`FeedbackThreadLabels`_, _`FeedbackThreadMessage`_, _`FeedbackThreadProps`_ |
901
919
  | `feedback/feedback-record` | `appendRework`, `attachmentName`, `FEEDBACK_ATTACHMENT_ACCEPT`, `FEEDBACK_AUTHOR_EDITABLE_STATUSES`, `FEEDBACK_AWAITING_STATUSES`, `FEEDBACK_COMMENT_MAX`, `FEEDBACK_DECIDED_STATUSES`, `FEEDBACK_PICKABLE_CATEGORIES`, `FEEDBACK_QUEUE_STATUSES`, `FEEDBACK_REPLY_MAX`, `FEEDBACK_REWORKABLE_STATUSES`, `feedbackAttachmentLine`, `feedbackReworkCount`, `isImageAttachment`, `replaceDescription`, `reworkCount`, `splitBodyAttachments`, `splitDescription`, _`FeedbackContext`_, _`FeedbackEnvironment`_, _`FeedbackRecord`_ |
902
920
  | `feedback/feedback-labels` | `DEFAULT_FEEDBACK_CATEGORY_LABELS`, `DEFAULT_FEEDBACK_STATUS_LABELS`, `DEFAULT_FEEDBACK_TOAST_LABELS`, `useFeedbackCategoryLabels`, `useFeedbackStatusLabels`, `useFeedbackToastLabels`, _`FeedbackCategoryLabels`_, _`FeedbackStatusLabels`_, _`FeedbackToastLabels`_ |
903
- | `feedback/feedback-status-undo` | `FEEDBACK_UNDO_DURATION`, `useFeedbackStatusUndo`, _`FeedbackStatusChange`_, _`FeedbackStatusMutate`_, _`FeedbackStatusPatch`_, _`FeedbackStatusRow`_, _`FeedbackStatusUndoOptions`_ |
921
+ | `feedback/feedback-status-undo` | `FEEDBACK_UNDO_DURATION`, `useFeedbackStatusUndo`, _`FeedbackStatusChange`_, _`FeedbackStatusMutate`_, _`FeedbackStatusMutateAsync`_, _`FeedbackStatusPatch`_, _`FeedbackStatusRow`_, _`FeedbackStatusUndoOptions`_ |
904
922
  | `feedback/feedback-swipe` | `DEFAULT_FEEDBACK_SWIPE`, `FEEDBACK_SWIPE_ACTIONS`, `feedbackSwipeOmitShown`, `feedbackSwipePlan`, _`FeedbackSwipeAction`_, _`FeedbackSwipeBinding`_, _`FeedbackSwipeOptions`_ |
905
923
  | `feedback/feedback-menu` | `DEFAULT_FEEDBACK_MENU_LABELS`, `FeedbackMenu`, _`FeedbackMenuLabels`_, _`FeedbackMenuProps`_ |
906
924
  | `feedback/feedback-context` | `DEFAULT_FEEDBACK_CONTEXT_LABELS`, `feedbackContext`, `FeedbackContextBox`, _`FeedbackContextBoxProps`_, _`FeedbackContextInput`_, _`FeedbackContextLabels`_, _`FeedbackSubmitter`_ |
907
925
  | `feedback/feedback-capture` | `captureAppScreenshot`, _`CaptureAppScreenshotOptions`_ |
908
926
  | `feedback/feedback-submit` | `useFeedbackSubmit`, _`FeedbackCreatePayload`_, _`FeedbackSubmit`_, _`UseFeedbackSubmitOptions`_ |
909
927
  | `feedback/feedback-table` | `DEFAULT_FEEDBACK_PAGE_LABELS`, `FeedbackAwaitingToggle`, `feedbackColumns`, `FeedbackEmptyState`, `feedbackEnvironment`, `FeedbackMobileCard`, `feedbackMobileGroupBy`, `FeedbackSubject`, `feedbackSubmitter`, `feedbackSubmitterEmail`, `isFeedbackAwaiting`, `useFeedbackColumns`, `useFeedbackPageLabels`, `useFeedbackRenderDate`, _`FeedbackAwaitingToggleProps`_, _`FeedbackColumnsOptions`_, _`FeedbackEmptyStateProps`_, _`FeedbackMobileCardProps`_, _`FeedbackPageLabels`_, _`FeedbackRenderDate`_, _`FeedbackSubjectProps`_, _`FeedbackTableRow`_, _`UseFeedbackColumnsOptions`_ |
910
- | `feedback/feedback-row-detail` | `DEFAULT_FEEDBACK_DETAIL_LABELS`, `feedbackAttachmentUrls`, `feedbackPageHref`, `feedbackPagePath`, `feedbackPageUrl`, `FeedbackReworkSection`, `feedbackRowAccess`, `FeedbackRowDetail`, `useFeedbackDetailLabels`, _`FeedbackDetailLabels`_, _`FeedbackDetailPatch`_, _`FeedbackDetailUpdate`_, _`FeedbackReworkSectionProps`_, _`FeedbackReworkSend`_, _`FeedbackRowAccess`_, _`FeedbackRowDetailProps`_, _`FeedbackUpload`_ |
928
+ | `feedback/feedback-row-detail` | `DEFAULT_FEEDBACK_DETAIL_LABELS`, `feedbackAttachmentUrls`, `feedbackPageHref`, `feedbackPagePath`, `feedbackPageUrl`, `FeedbackReworkSection`, `feedbackRowAccess`, `FeedbackRowDetail`, `useFeedbackDetailLabels`, _`FeedbackDetailLabels`_, _`FeedbackDetailPatch`_, _`FeedbackDetailUpdate`_, _`FeedbackDetailUpdateAsync`_, _`FeedbackReworkSectionProps`_, _`FeedbackReworkSend`_, _`FeedbackRowAccess`_, _`FeedbackRowDetailProps`_, _`FeedbackUpload`_ |
911
929
  | `feedback/feedback-crash` | `createCrashReporter`, _`CrashFiling`_, _`CrashReportCreate`_, _`CrashReporter`_, _`CrashReporterOptions`_, _`CrashReportResponse`_ |
912
930
  | `feedback/feedback-public-switch` | `FeedbackPublicSwitch`, `feedbackPublicSwitchAllowed`, _`FeedbackPublicSwitchProps`_, _`FeedbackPublicSwitchRow`_, _`FeedbackPublicSwitchViewer`_ |
913
931
  | `feedback/feedback-public-list` | `DEFAULT_FEEDBACK_PUBLIC_LABELS`, `FeedbackPublicDetail`, `FeedbackPublicList`, `useFeedbackPublicLabels`, _`FeedbackPublicDetailProps`_, _`FeedbackPublicLabels`_, _`FeedbackPublicListProps`_ |
@@ -1034,7 +1052,7 @@ re-slicing of it, never a second API.
1034
1052
  | `notifications/notification-inbox` | `INBOX_BADGE_INTERVAL`, `NotificationInbox`, _`NotificationInboxAction`_, _`NotificationInboxItem`_, _`NotificationInboxProps`_ |
1035
1053
  | `notifications/notification-bell` | `NotificationBell`, _`NotificationBellProps`_ |
1036
1054
  | `notifications/device-zone-report` | `deviceTimeZone`, `useDeviceZoneReport`, _`DeviceZoneReportOptions`_ |
1037
- | `notifications/use-push-device` | `notifyPushSubscriptionChanged`, `PUSH_SUBSCRIPTION_CHANGED`, `PushDeviceError`, `pushSupported`, `usePushDevice`, _`PushDevice`_, _`PushDeviceErrorCode`_, _`PushPermission`_, _`PushSubscriptionInput`_, _`UsePushDeviceOptions`_ |
1055
+ | `notifications/use-push-device` | `notifyPushSubscriptionChanged`, `PUSH_SUBSCRIPTION_CHANGED`, `PushDeviceError`, `pushSupported`, `releaseThisDevicePush`, `usePushDevice`, _`PushDevice`_, _`PushDeviceErrorCode`_, _`PushPermission`_, _`PushSubscriptionInput`_, _`UsePushDeviceOptions`_ |
1038
1056
  | `notifications/push-worker` | `handlePushSubscriptionChange`, `pushSubscriptionInput`, `resubscribeAfterChange`, _`PushReplaceInput`_, _`PushResubscribeOutcome`_, _`PushSubscriptionChangeEventLike`_, _`PushSubscriptionChangeOptions`_, _`PushWorkerScope`_ |
1039
1057
  | `notifications/push-device-setting` | `PushDeviceSetting`, _`PushDeviceAction`_, _`PushDeviceSettingProps`_ |
1040
1058
  | `notifications/push-devices-setting` | `describeUserAgent`, `PushDevicesSetting`, _`PushDevicesSettingProps`_ |
@@ -1058,6 +1076,86 @@ re-slicing of it, never a second API.
1058
1076
  |---|---|
1059
1077
  | `currencies` | `CURRENCY_COUNTRIES` |
1060
1078
 
1079
+ ### @eifi1/ui-kit/dates (standalone)
1080
+
1081
+ | Module | Exports |
1082
+ |---|---|
1083
+ | `lib/dates` | `addDaysIso`, `addMonthsClamped`, `calendarMonthPresets`, `dateRangePresets`, `endOfMonthIso`, `endOfYearIso`, `formatIsoDate`, `lastFullMonthsRange`, `lastFullYearsRange`, `localeWeekStart`, `monthKey`, `pad`, `parseIsoDate`, `sameYmd`, `shiftIso`, `startOfMonthIso`, `startOfWeekIso`, `startOfYearIso`, `todayIso`, `toLocalIso`, _`CalendarMonthPresetOptions`_, _`DateRangePreset`_ |
1084
+
1085
+ ### @eifi1/ui-kit/table-text (standalone)
1086
+
1087
+ | Module | Exports |
1088
+ |---|---|
1089
+ | `lib/table-text` | `cellNumber`, `isCellNumber`, `parseRows`, `parseTable`, `parseTextTable`, `splitRow`, `tableNumber`, _`DecimalRule`_, _`ParsedTable`_, _`ParseTableOptions`_, _`ParseTextTableOptions`_, _`TableLine`_, _`TableSeparator`_, _`TextTable`_ |
1090
+
1091
+ ### @eifi1/ui-kit/eslint (standalone)
1092
+
1093
+ | Module | Exports |
1094
+ |---|---|
1095
+ | `eslint/index` | `default` |
1096
+
1097
+ ### @eifi1/ui-kit/testing (standalone)
1098
+
1099
+ | Module | Exports |
1100
+ |---|---|
1101
+ | `testing/css-variables` | `declaredCustomProperties`, `KIT_CSS_VARIABLES`, `undeclaredCssVariables`, _`UndeclaredCssVariablesOptions`_ |
1102
+ | `testing/viewport` | `setViewportWidth`, `stubResizeObserver`, `stubViewportWidth`, `viewportMatchMedia`, _`ResizeObserverStub`_, _`StubbedBoxSize`_, _`ViewportOptions`_ |
1103
+ | `testing/tour` | `tourStepContext`, _`TestTourStepContext`_, _`TourStepContextOptions`_, _`TourStepVia`_ |
1104
+
1105
+ ### @eifi1/ui-kit/testing/react (standalone)
1106
+
1107
+ | Module | Exports |
1108
+ |---|---|
1109
+ | `testing/react` | `rowMenuAction`, _`RowMenuLabels`_ |
1110
+
1111
+ ### @eifi1/ui-kit/rhf (standalone)
1112
+
1113
+ | Module | Exports |
1114
+ |---|---|
1115
+ | `rhf/form-core` | `Form` |
1116
+ | `rhf/use-rhf-wizard-step` | `useRhfWizardStep`, _`RhfWizardStepOptions`_ |
1117
+ | `rhf/fields` | `RhfCheckbox`, `RhfCombobox`, `RhfCountrySelect`, `RhfDateField`, `RhfDateRangePicker`, `RhfField`, `RhfIbanInput`, `RhfInlineEntityCombobox`, `RhfIntegerField`, `RhfMoneyField`, `RhfMonthPicker`, `RhfNumberField`, `RhfPhoneInput`, `RhfSelect`, `RhfTextarea`, `RhfTextCombobox`, `RhfTextField`, `RhfTimeInput`, `RhfToggleGroup`, _`RhfCheckboxProps`_, _`RhfComboboxProps`_, _`RhfCountrySelectProps`_, _`RhfDateFieldProps`_, _`RhfDateRangePickerProps`_, _`RhfFieldBaseProps`_, _`RhfFieldProps`_, _`RhfFieldRenderContext`_, _`RhfIbanInputProps`_, _`RhfInlineEntityComboboxProps`_, _`RhfIntegerFieldProps`_, _`RhfMoneyFieldProps`_, _`RhfMonthPickerProps`_, _`RhfNumberFieldProps`_, _`RhfPhoneInputProps`_, _`RhfSelectOption`_, _`RhfSelectProps`_, _`RhfTextareaProps`_, _`RhfTextComboboxProps`_, _`RhfTextFieldProps`_, _`RhfTimeInputProps`_, _`RhfToggleGroupProps`_ |
1118
+ | `rhf/line-items` | `RhfLineItems`, _`RhfLineItemCellContext`_, _`RhfLineItemsColumn`_, _`RhfLineItemsProps`_ |
1119
+
1120
+ ### @eifi1/ui-kit/offline (standalone)
1121
+
1122
+ | Module | Exports |
1123
+ |---|---|
1124
+ | `offline/query-persistence` | `createQueryPersistence`, `DEFAULT_SCRUB_FIELDS`, `isCacheSafe`, `removeStaleQueryCopies`, _`QueryPersistence`_, _`QueryPersistenceOptions`_, _`QueryPersistenceStorage`_, _`RemoveStaleQueryCopiesOptions`_, _`ScrubField`_ |
1125
+ | `offline/sign-out-pending-dialog` | `DEFAULT_SIGN_OUT_PENDING_DIALOG_LABELS`, `SignOutPendingDialog`, _`SignOutPendingDialogLabels`_, _`SignOutPendingDialogProps`_ |
1126
+ | `offline/pwa-update-prompt` | `DEFAULT_PWA_UPDATE_PROMPT_LABELS`, `PwaUpdatePrompt`, _`PwaUpdatePromptLabels`_, _`PwaUpdatePromptProps`_ |
1127
+ | `offline/service-worker-updates` | `createServiceWorkerUpdates`, `useServiceWorkerUpdate`, _`RegisterServiceWorker`_, _`ServiceWorkerUpdates`_ |
1128
+ | `offline/shared-computer` | `DEFAULT_SHARED_COMPUTER_LABELS`, `isSharedComputer`, `setSharedComputer`, `SharedComputerChoice`, _`SharedComputerChoiceProps`_, _`SharedComputerLabels`_, _`SharedComputerStorage`_ |
1129
+ | `offline/local-first` | `isOfflineError`, `readLocalFirst`, `stampAfter`, `uuid5`, `writeLocalFirst` |
1130
+
1131
+ ### @eifi1/ui-kit/sync (standalone)
1132
+
1133
+ | Module | Exports |
1134
+ |---|---|
1135
+ | `sync/db` | `createSyncDb`, `rowByPk`, `SYNC_DB_PK_INDEX`, `SYNC_DB_STORES`, _`CreateSyncDbOptions`_, _`OutboxChange`_, _`OutboxStatus`_, _`SyncDb`_, _`SyncDbUpgrade`_, _`SyncedRow`_, _`SyncMetaEntry`_ |
1136
+ | `sync/engine` | `createSyncEngine`, `DEFAULT_HOLD_CODES`, `DEFAULT_SYNC_BACKOFF_MS`, `releaseSyncEngine`, `syncEngineFor`, _`SyncCounts`_, _`SyncEngine`_, _`SyncEngineOptions`_, _`SyncEngineState`_, _`SyncRoundResult`_, _`SyncStep`_, _`SyncStepContext`_, _`SyncStepResult`_ |
1137
+ | `sync/hooks` | `useSyncQuery`, `useSyncStatus`, `useSyncWorker` |
1138
+ | `sync/wire` | _`SyncPageCursor`_, _`SyncRefusalBody`_, _`SyncRejectionBody`_, _`SyncRequestBody`_, _`SyncResponseBody`_, _`SyncWireChange`_ |
1139
+ | `offline/local-first` | `isOfflineError`, `readLocalFirst`, `stampAfter`, `uuid5`, `writeLocalFirst` |
1140
+
1141
+ ### @eifi1/ui-kit/sync/testing (standalone)
1142
+
1143
+ | Module | Exports |
1144
+ |---|---|
1145
+ | `sync/testing` | `createFakeSyncTransport`, _`FakeSyncAnswer`_, _`FakeSyncTransport`_ |
1146
+
1147
+ ### @eifi1/ui-kit/i18n/* (standalone)
1148
+
1149
+ | Entry point | Exports |
1150
+ |---|---|
1151
+ | `@eifi1/ui-kit/i18n/de-CH` | `UI_KIT_LABELS_DE_CH`, `uiKitLabelsDeCh` |
1152
+ | `@eifi1/ui-kit/i18n/en` | `uiKitLabelsEn` |
1153
+ | `@eifi1/ui-kit/i18n/es` | `UI_KIT_LABELS_ES`, `uiKitLabelsEs` |
1154
+ | `@eifi1/ui-kit/i18n/fr` | `UI_KIT_LABELS_FR`, `uiKitLabelsFr` |
1155
+ | `@eifi1/ui-kit/i18n/hu` | `UI_KIT_LABELS_HU`, `uiKitLabelsHu` |
1156
+ | `@eifi1/ui-kit/i18n/it` | `UI_KIT_LABELS_IT`, `uiKitLabelsIt` |
1157
+ | `@eifi1/ui-kit/i18n/zh` | `UI_KIT_LABELS_ZH`, `uiKitLabelsZh` |
1158
+
1061
1159
  <!-- END GENERATED: exports -->
1062
1160
 
1063
1161
  ## Forms / refs
@@ -1120,6 +1218,26 @@ than a guess.
1120
1218
  Not handled, on purpose: thousands separators (reported, not guessed), quoted fields,
1121
1219
  empty cells held open as holes.
1122
1220
 
1221
+ ## Offline and sync
1222
+
1223
+ Two standalone entries, each with optional peers of its own, so an online-only app installs
1224
+ neither (their names are in the export inventory above):
1225
+
1226
+ - **`@eifi1/ui-kit/offline`** — the query cache kept on the device with its scrub list
1227
+ (`createQueryPersistence`), the question at sign-out while changes wait
1228
+ (`SignOutPendingDialog`), the service-worker update prompt (`PwaUpdatePrompt`) and the
1229
+ shared-computer choice. Peers: `@tanstack/react-query`,
1230
+ `@tanstack/react-query-persist-client`, `@tanstack/query-async-storage-persister`,
1231
+ `idb-keyval`.
1232
+ - **`@eifi1/ui-kit/sync`** — the sync engine, one per Dexie database (`createSyncDb`,
1233
+ `createSyncEngine`, `useSyncWorker`, `useSyncStatus`, `useSyncQuery`), speaking
1234
+ server-kit's `POST /sync`; `@eifi1/ui-kit/sync/testing` has a fake transport. Peer:
1235
+ `dexie`.
1236
+
1237
+ What works offline, the merge rule, sign-out on a shared computer and the engine's round
1238
+ are the contract's:
1239
+ [docs/local-first-harmonization.md](https://github.com/Eifi1/ui-kit/blob/main/docs/local-first-harmonization.md).
1240
+
1123
1241
  ## i18n
1124
1242
 
1125
1243
  **The kit renders only labels; it ships seven catalogues; the app decides the language.**
@@ -1,3 +1,9 @@
1
+ /**
2
+ * What the account's own settings parts share (docs/user-admin-harmonization.md §6):
3
+ * the companies a refusal names and the card's type (the mounted guard re-exported).
4
+ *
5
+ * @internal Not part of the barrel; the parts are.
6
+ */
1
7
  /**
2
8
  * The companies a `last_admin` refusal names — kastlan checks the last admin per company
3
9
  * and answers `409 {detail, code: "last_admin", companies: ["Example AG"]}` (§6.4,
@@ -6,14 +12,10 @@
6
12
  * a body thrown as it came. `undefined` when there is no such list.
7
13
  */
8
14
  export declare function refusalCompanies(err: unknown): string[] | undefined;
9
- /** Whether the component is still mounted — a late answer after the app navigated away
10
- * (the deletion signs out) must not set state. */
11
- export declare function useMounted(): {
12
- readonly current: boolean;
13
- };
14
- /** Call `call` and hand back a promise, a throw included — a callback may return
15
- * nothing (done at once), a promise, or throw before it returns one. */
16
- export declare function settle(call: () => unknown): Promise<unknown>;
15
+ /** The mounted guard and the callback-to-promise bridge, in `hooks/use-mounted.ts` since
16
+ * 0.52: seven notifications modules imported them from here (refactor audit
17
+ * 2026-10-30, MOD-6). Re-exported for the account parts that still do. */
18
+ export { settle, useMounted } from "../hooks/use-mounted.js";
17
19
  /** The settings cards' type scale, PasskeysSetting's: a small title and a muted line.
18
20
  * Defined with the card look in settings/ since 0.34 (MOD-8, refactor audit 2026-10). */
19
21
  export { CARD_DESCRIPTION_CLASS, CARD_TITLE_CLASS } from "../settings/settings-card-classes.js";
@@ -1,5 +1,4 @@
1
1
  "use client";
2
- import { useEffect, useRef } from "react";
3
2
  const isBag = (value) => typeof value === "object" && value !== null;
4
3
  function companiesOfBody(body) {
5
4
  if (!isBag(body)) return void 0;
@@ -11,23 +10,7 @@ function refusalCompanies(err) {
11
10
  const response = err.response;
12
11
  return (isBag(response) ? companiesOfBody(response.data) : void 0) ?? companiesOfBody(err.data) ?? companiesOfBody(err.body) ?? companiesOfBody(err);
13
12
  }
14
- function useMounted() {
15
- const mounted = useRef(true);
16
- useEffect(() => {
17
- mounted.current = true;
18
- return () => {
19
- mounted.current = false;
20
- };
21
- }, []);
22
- return mounted;
23
- }
24
- function settle(call) {
25
- try {
26
- return Promise.resolve(call());
27
- } catch (error) {
28
- return Promise.reject(error);
29
- }
30
- }
13
+ import { settle, useMounted } from "../hooks/use-mounted.js";
31
14
  import { CARD_DESCRIPTION_CLASS, CARD_TITLE_CLASS } from "../settings/settings-card-classes.js";
32
15
  export {
33
16
  CARD_DESCRIPTION_CLASS,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/account/account-parts.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\n/**\n * What the account's own settings parts share (docs/user-admin-harmonization.md §6):\n * the companies a refusal names, a mounted guard, and the card's type.\n *\n * @internal Not part of the barrel; the parts are.\n */\n\ntype Bag = Record<string, unknown>;\n\nconst isBag = (value: unknown): value is Bag => typeof value === \"object\" && value !== null;\n\n/** `companies` on a parsed body, or under FastAPI's nested `detail`: a list of names. */\nfunction companiesOfBody(body: unknown): string[] | undefined {\n if (!isBag(body)) return undefined;\n const pick = (value: unknown) =>\n Array.isArray(value) && value.length > 0 && value.every((item) => typeof item === \"string\")\n ? (value as string[])\n : undefined;\n return pick(body.companies) ?? (isBag(body.detail) ? pick(body.detail.companies) : undefined);\n}\n\n/**\n * The companies a `last_admin` refusal names — kastlan checks the last admin per company\n * and answers `409 {detail, code: \"last_admin\", companies: [\"Example AG\"]}` (§6.4,\n * server-kit's `AccountError(…, extra={\"companies\": …})`). Read where `authErrorCode`\n * reads the code: axios' `response.data`, ofetch's `data`, a generated client's `body`,\n * a body thrown as it came. `undefined` when there is no such list.\n */\nexport function refusalCompanies(err: unknown): string[] | undefined {\n if (!isBag(err)) return undefined;\n const response = err.response;\n return (\n (isBag(response) ? companiesOfBody(response.data) : undefined) ??\n companiesOfBody(err.data) ??\n companiesOfBody(err.body) ??\n companiesOfBody(err)\n );\n}\n\n/** Whether the component is still mounted — a late answer after the app navigated away\n * (the deletion signs out) must not set state. */\nexport function useMounted(): { readonly current: boolean } {\n const mounted = useRef(true);\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n }, []);\n return mounted;\n}\n\n/** Call `call` and hand back a promise, a throw included — a callback may return\n * nothing (done at once), a promise, or throw before it returns one. */\nexport function settle(call: () => unknown): Promise<unknown> {\n try {\n return Promise.resolve(call());\n } catch (error) {\n return Promise.reject(error);\n }\n}\n\n/** The settings cards' type scale, PasskeysSetting's: a small title and a muted line.\n * Defined with the card look in settings/ since 0.34 (MOD-8, refactor audit 2026-10). */\nexport { CARD_DESCRIPTION_CLASS, CARD_TITLE_CLASS } from \"../settings/settings-card-classes\";\n"],"mappings":";AAAA,SAAS,WAAW,cAAc;AAWlC,MAAM,QAAQ,CAAC,UAAiC,OAAO,UAAU,YAAY,UAAU;AAGvF,SAAS,gBAAgB,MAAqC;AAC5D,MAAI,CAAC,MAAM,IAAI,EAAG,QAAO;AACzB,QAAM,OAAO,CAAC,UACZ,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,KAAK,MAAM,MAAM,CAAC,SAAS,OAAO,SAAS,QAAQ,IACrF,QACD;AACN,SAAO,KAAK,KAAK,SAAS,MAAM,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,SAAS,IAAI;AACrF;AASO,SAAS,iBAAiB,KAAoC;AACnE,MAAI,CAAC,MAAM,GAAG,EAAG,QAAO;AACxB,QAAM,WAAW,IAAI;AACrB,UACG,MAAM,QAAQ,IAAI,gBAAgB,SAAS,IAAI,IAAI,WACpD,gBAAgB,IAAI,IAAI,KACxB,gBAAgB,IAAI,IAAI,KACxB,gBAAgB,GAAG;AAEvB;AAIO,SAAS,aAA4C;AAC1D,QAAM,UAAU,OAAO,IAAI;AAC3B,YAAU,MAAM;AACd,YAAQ,UAAU;AAClB,WAAO,MAAM;AACX,cAAQ,UAAU;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,CAAC;AACL,SAAO;AACT;AAIO,SAAS,OAAO,MAAuC;AAC5D,MAAI;AACF,WAAO,QAAQ,QAAQ,KAAK,CAAC;AAAA,EAC/B,SAAS,OAAO;AACd,WAAO,QAAQ,OAAO,KAAK;AAAA,EAC7B;AACF;AAIA,SAAS,wBAAwB,wBAAwB;","names":[]}
1
+ {"version":3,"sources":["../../src/account/account-parts.ts"],"sourcesContent":["/**\n * What the account's own settings parts share (docs/user-admin-harmonization.md §6):\n * the companies a refusal names and the card's type (the mounted guard re-exported).\n *\n * @internal Not part of the barrel; the parts are.\n */\n\ntype Bag = Record<string, unknown>;\n\nconst isBag = (value: unknown): value is Bag => typeof value === \"object\" && value !== null;\n\n/** `companies` on a parsed body, or under FastAPI's nested `detail`: a list of names. */\nfunction companiesOfBody(body: unknown): string[] | undefined {\n if (!isBag(body)) return undefined;\n const pick = (value: unknown) =>\n Array.isArray(value) && value.length > 0 && value.every((item) => typeof item === \"string\")\n ? (value as string[])\n : undefined;\n return pick(body.companies) ?? (isBag(body.detail) ? pick(body.detail.companies) : undefined);\n}\n\n/**\n * The companies a `last_admin` refusal names — kastlan checks the last admin per company\n * and answers `409 {detail, code: \"last_admin\", companies: [\"Example AG\"]}` (§6.4,\n * server-kit's `AccountError(…, extra={\"companies\": …})`). Read where `authErrorCode`\n * reads the code: axios' `response.data`, ofetch's `data`, a generated client's `body`,\n * a body thrown as it came. `undefined` when there is no such list.\n */\nexport function refusalCompanies(err: unknown): string[] | undefined {\n if (!isBag(err)) return undefined;\n const response = err.response;\n return (\n (isBag(response) ? companiesOfBody(response.data) : undefined) ??\n companiesOfBody(err.data) ??\n companiesOfBody(err.body) ??\n companiesOfBody(err)\n );\n}\n\n/** The mounted guard and the callback-to-promise bridge, in `hooks/use-mounted.ts` since\n * 0.52: seven notifications modules imported them from here (refactor audit\n * 2026-10-30, MOD-6). Re-exported for the account parts that still do. */\nexport { settle, useMounted } from \"../hooks/use-mounted\";\n\n/** The settings cards' type scale, PasskeysSetting's: a small title and a muted line.\n * Defined with the card look in settings/ since 0.34 (MOD-8, refactor audit 2026-10). */\nexport { CARD_DESCRIPTION_CLASS, CARD_TITLE_CLASS } from \"../settings/settings-card-classes\";\n"],"mappings":";AASA,MAAM,QAAQ,CAAC,UAAiC,OAAO,UAAU,YAAY,UAAU;AAGvF,SAAS,gBAAgB,MAAqC;AAC5D,MAAI,CAAC,MAAM,IAAI,EAAG,QAAO;AACzB,QAAM,OAAO,CAAC,UACZ,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,KAAK,MAAM,MAAM,CAAC,SAAS,OAAO,SAAS,QAAQ,IACrF,QACD;AACN,SAAO,KAAK,KAAK,SAAS,MAAM,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,SAAS,IAAI;AACrF;AASO,SAAS,iBAAiB,KAAoC;AACnE,MAAI,CAAC,MAAM,GAAG,EAAG,QAAO;AACxB,QAAM,WAAW,IAAI;AACrB,UACG,MAAM,QAAQ,IAAI,gBAAgB,SAAS,IAAI,IAAI,WACpD,gBAAgB,IAAI,IAAI,KACxB,gBAAgB,IAAI,IAAI,KACxB,gBAAgB,GAAG;AAEvB;AAKA,SAAS,QAAQ,kBAAkB;AAInC,SAAS,wBAAwB,wBAAwB;","names":[]}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { englishWait } from "../auth/auth-errors.js";
2
+ import { englishWait } from "../auth/auth-errors-labels.js";
3
3
  const DEFAULT_DATA_EXPORT_LABELS = {
4
4
  title: "Export your data",
5
5
  description: "Download a copy of your account\u2019s data as a JSON file.",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/account/data-export-setting-labels.ts"],"sourcesContent":["// The English words of ./data-export-setting, in a module with no component code: the\n// English catalogue (src/i18n/defaults.ts) imports them without the component, so `en`\n// loads as one chunk like the other languages (0.34, KS U8). ./data-export-setting\n// re-exports them.\n\nimport { englishWait } from \"../auth/auth-errors\";\nimport type { DataExportLabels } from \"./data-export-setting\";\n\nexport const DEFAULT_DATA_EXPORT_LABELS: DataExportLabels = {\n title: \"Export your data\",\n description: \"Download a copy of your account’s data as a JSON file.\",\n download: \"Download my data\",\n started: \"Your download has started.\",\n saveAgain: \"Didn’t start? Save the file\",\n rateLimited: (seconds) =>\n seconds && seconds > 0\n ? `You exported your data a moment ago. Try again in ${englishWait(seconds)}.`\n : \"You exported your data a moment ago. Please try again in a minute.\",\n failed: \"The export failed. Please try again.\",\n};\n"],"mappings":";AAKA,SAAS,mBAAmB;AAGrB,MAAM,6BAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,aAAa,CAAC,YACZ,WAAW,UAAU,IACjB,qDAAqD,YAAY,OAAO,CAAC,MACzE;AAAA,EACN,QAAQ;AACV;","names":[]}
1
+ {"version":3,"sources":["../../src/account/data-export-setting-labels.ts"],"sourcesContent":["// The English words of ./data-export-setting, in a module with no component code: the\n// English catalogue (src/i18n/defaults.ts) imports them without the component, so `en`\n// loads as one chunk like the other languages (0.34, KS U8). ./data-export-setting\n// re-exports them.\n\nimport { englishWait } from \"../auth/auth-errors-labels\";\nimport type { DataExportLabels } from \"./data-export-setting\";\n\nexport const DEFAULT_DATA_EXPORT_LABELS: DataExportLabels = {\n title: \"Export your data\",\n description: \"Download a copy of your account’s data as a JSON file.\",\n download: \"Download my data\",\n started: \"Your download has started.\",\n saveAgain: \"Didn’t start? Save the file\",\n rateLimited: (seconds) =>\n seconds && seconds > 0\n ? `You exported your data a moment ago. Try again in ${englishWait(seconds)}.`\n : \"You exported your data a moment ago. Please try again in a minute.\",\n failed: \"The export failed. Please try again.\",\n};\n"],"mappings":";AAKA,SAAS,mBAAmB;AAGrB,MAAM,6BAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,aAAa,CAAC,YACZ,WAAW,UAAU,IACjB,qDAAqD,YAAY,OAAO,CAAC,MACzE;AAAA,EACN,QAAQ;AACV;","names":[]}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { englishRateLimited } from "../auth/auth-errors.js";
2
+ import { englishRateLimited } from "../auth/auth-errors-labels.js";
3
3
  const DEFAULT_DELETE_ACCOUNT_LABELS = {
4
4
  title: "Delete account",
5
5
  afterDays: (days) => days === 1 ? "Your account is deactivated at once and erased for good 1 day later." : `Your account is deactivated at once and erased for good ${days} days later.`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/account/delete-account-setting-labels.ts"],"sourcesContent":["// The English words of ./delete-account-setting, in a module with no component code: the\n// English catalogue (src/i18n/defaults.ts) imports them without the component, so `en`\n// loads as one chunk like the other languages (0.34, KS U8). ./delete-account-setting\n// re-exports them.\n\nimport { englishRateLimited } from \"../auth/auth-errors\";\nimport type { DeleteAccountLabels } from \"./delete-account-setting\";\n\nexport const DEFAULT_DELETE_ACCOUNT_LABELS: DeleteAccountLabels = {\n title: \"Delete account\",\n afterDays: (days) =>\n days === 1\n ? \"Your account is deactivated at once and erased for good 1 day later.\"\n : `Your account is deactivated at once and erased for good ${days} days later.`,\n operator: \"Your account is deactivated at once, and an operator will erase it for good.\",\n arm: \"Delete account…\",\n prompt: \"You will be signed out on every device, and your account can no longer be used.\",\n handOver: (count) =>\n count === 1\n ? \"1 item others can see will pass to an administrator.\"\n : `${count} items others can see will pass to an administrator.`,\n confirm: \"Delete my account\",\n done: \"Your account is deactivated. You are being signed out.\",\n wrongPassword: \"The password is incorrect.\",\n confirmationMismatch: \"This is not your account’s address.\",\n lastAdmin: \"You are the last administrator. Make someone else an administrator first.\",\n lastAdminOf: (companies) =>\n `You are the last administrator of ${companies}. Make someone else an administrator there first.`,\n householdHasMembers:\n \"Your household has other members, so the account can’t be deleted here. Please write to the operator.\",\n rateLimited: englishRateLimited,\n failed: \"Your account could not be deleted. Please try again.\",\n};\n"],"mappings":";AAKA,SAAS,0BAA0B;AAG5B,MAAM,gCAAqD;AAAA,EAChE,OAAO;AAAA,EACP,WAAW,CAAC,SACV,SAAS,IACL,yEACA,2DAA2D,IAAI;AAAA,EACrE,UAAU;AAAA,EACV,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU,CAAC,UACT,UAAU,IACN,yDACA,GAAG,KAAK;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,WAAW;AAAA,EACX,aAAa,CAAC,cACZ,qCAAqC,SAAS;AAAA,EAChD,qBACE;AAAA,EACF,aAAa;AAAA,EACb,QAAQ;AACV;","names":[]}
1
+ {"version":3,"sources":["../../src/account/delete-account-setting-labels.ts"],"sourcesContent":["// The English words of ./delete-account-setting, in a module with no component code: the\n// English catalogue (src/i18n/defaults.ts) imports them without the component, so `en`\n// loads as one chunk like the other languages (0.34, KS U8). ./delete-account-setting\n// re-exports them.\n\nimport { englishRateLimited } from \"../auth/auth-errors-labels\";\nimport type { DeleteAccountLabels } from \"./delete-account-setting\";\n\nexport const DEFAULT_DELETE_ACCOUNT_LABELS: DeleteAccountLabels = {\n title: \"Delete account\",\n afterDays: (days) =>\n days === 1\n ? \"Your account is deactivated at once and erased for good 1 day later.\"\n : `Your account is deactivated at once and erased for good ${days} days later.`,\n operator: \"Your account is deactivated at once, and an operator will erase it for good.\",\n arm: \"Delete account…\",\n prompt: \"You will be signed out on every device, and your account can no longer be used.\",\n handOver: (count) =>\n count === 1\n ? \"1 item others can see will pass to an administrator.\"\n : `${count} items others can see will pass to an administrator.`,\n confirm: \"Delete my account\",\n done: \"Your account is deactivated. You are being signed out.\",\n wrongPassword: \"The password is incorrect.\",\n confirmationMismatch: \"This is not your account’s address.\",\n lastAdmin: \"You are the last administrator. Make someone else an administrator first.\",\n lastAdminOf: (companies) =>\n `You are the last administrator of ${companies}. Make someone else an administrator there first.`,\n householdHasMembers:\n \"Your household has other members, so the account can’t be deleted here. Please write to the operator.\",\n rateLimited: englishRateLimited,\n failed: \"Your account could not be deleted. Please try again.\",\n};\n"],"mappings":";AAKA,SAAS,0BAA0B;AAG5B,MAAM,gCAAqD;AAAA,EAChE,OAAO;AAAA,EACP,WAAW,CAAC,SACV,SAAS,IACL,yEACA,2DAA2D,IAAI;AAAA,EACrE,UAAU;AAAA,EACV,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU,CAAC,UACT,UAAU,IACN,yDACA,GAAG,KAAK;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,WAAW;AAAA,EACX,aAAa,CAAC,cACZ,qCAAqC,SAAS;AAAA,EAChD,qBACE;AAAA,EACF,aAAa;AAAA,EACb,QAAQ;AACV;","names":[]}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { englishRateLimited } from "../auth/auth-errors.js";
2
+ import { englishRateLimited } from "../auth/auth-errors-labels.js";
3
3
  const DEFAULT_EMAIL_CHANGE_LABELS = {
4
4
  title: "Email address",
5
5
  current: "Current address",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/account/email-change-setting-labels.ts"],"sourcesContent":["// The English words of ./email-change-setting, in a module with no component code: the\n// English catalogue (src/i18n/defaults.ts) imports them without the component, so `en`\n// loads as one chunk like the other languages (0.34, KS U8). ./email-change-setting\n// re-exports them.\n\nimport { englishRateLimited } from \"../auth/auth-errors\";\nimport type { EmailChangeLabels } from \"./email-change-setting\";\n\nexport const DEFAULT_EMAIL_CHANGE_LABELS: EmailChangeLabels = {\n title: \"Email address\",\n current: \"Current address\",\n newEmail: \"New email address\",\n password: \"Current password\",\n passwordHint: \"Your address is how you sign in, so changing it takes your password.\",\n emailTagUse: (address) => `Use ${address}`,\n emailTagHint:\n \"Many providers deliver name+tag@… to the same inbox, so mail from this app is easy to filter and trace. Check yours does before you rely on it: you would sign in with the tagged address.\",\n submit: \"Change email address\",\n sameAsCurrent: \"This is already your address.\",\n emailTaken: \"An account with this email address already exists.\",\n wrongPassword: \"The password is incorrect.\",\n pending: (newEmail) => `Confirm the link we sent to ${newEmail}.`,\n pendingHint: (currentEmail) => `Until you do, you keep signing in with ${currentEmail}. Check your spam folder too.`,\n resend: \"Send the link again\",\n resent: \"We sent the link again.\",\n cancel: \"Cancel the change\",\n confirmed: (email) => `Your email address is now ${email}.`,\n passkeyNote: \"Your passkeys keep working. Your device may still list them under your old address.\",\n rateLimited: englishRateLimited,\n failed: \"That didn’t work. Please try again.\",\n};\n"],"mappings":";AAKA,SAAS,0BAA0B;AAG5B,MAAM,8BAAiD;AAAA,EAC5D,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa,CAAC,YAAY,OAAO,OAAO;AAAA,EACxC,cACE;AAAA,EACF,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,SAAS,CAAC,aAAa,+BAA+B,QAAQ;AAAA,EAC9D,aAAa,CAAC,iBAAiB,0CAA0C,YAAY;AAAA,EACrF,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,WAAW,CAAC,UAAU,6BAA6B,KAAK;AAAA,EACxD,aAAa;AAAA,EACb,aAAa;AAAA,EACb,QAAQ;AACV;","names":[]}
1
+ {"version":3,"sources":["../../src/account/email-change-setting-labels.ts"],"sourcesContent":["// The English words of ./email-change-setting, in a module with no component code: the\n// English catalogue (src/i18n/defaults.ts) imports them without the component, so `en`\n// loads as one chunk like the other languages (0.34, KS U8). ./email-change-setting\n// re-exports them.\n\nimport { englishRateLimited } from \"../auth/auth-errors-labels\";\nimport type { EmailChangeLabels } from \"./email-change-setting\";\n\nexport const DEFAULT_EMAIL_CHANGE_LABELS: EmailChangeLabels = {\n title: \"Email address\",\n current: \"Current address\",\n newEmail: \"New email address\",\n password: \"Current password\",\n passwordHint: \"Your address is how you sign in, so changing it takes your password.\",\n emailTagUse: (address) => `Use ${address}`,\n emailTagHint:\n \"Many providers deliver name+tag@… to the same inbox, so mail from this app is easy to filter and trace. Check yours does before you rely on it: you would sign in with the tagged address.\",\n submit: \"Change email address\",\n sameAsCurrent: \"This is already your address.\",\n emailTaken: \"An account with this email address already exists.\",\n wrongPassword: \"The password is incorrect.\",\n pending: (newEmail) => `Confirm the link we sent to ${newEmail}.`,\n pendingHint: (currentEmail) => `Until you do, you keep signing in with ${currentEmail}. Check your spam folder too.`,\n resend: \"Send the link again\",\n resent: \"We sent the link again.\",\n cancel: \"Cancel the change\",\n confirmed: (email) => `Your email address is now ${email}.`,\n passkeyNote: \"Your passkeys keep working. Your device may still list them under your old address.\",\n rateLimited: englishRateLimited,\n failed: \"That didn’t work. Please try again.\",\n};\n"],"mappings":";AAKA,SAAS,0BAA0B;AAG5B,MAAM,8BAAiD;AAAA,EAC5D,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa,CAAC,YAAY,OAAO,OAAO;AAAA,EACxC,cACE;AAAA,EACF,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,SAAS,CAAC,aAAa,+BAA+B,QAAQ;AAAA,EAC9D,aAAa,CAAC,iBAAiB,0CAA0C,YAAY;AAAA,EACrF,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,WAAW,CAAC,UAAU,6BAA6B,KAAK;AAAA,EACxD,aAAa;AAAA,EACb,aAAa;AAAA,EACb,QAAQ;AACV;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import { type LabelOverride } from "../i18n/kit-labels.js";
2
+ import type { LabelOverride } from "../i18n/kit-labels.js";
3
3
  import type { PasskeysSettingLabels } from "./account-settings-labels.js";
4
4
  /** What a passkey's `id` may be: the app's own key type, string or numeric. */
5
5
  export type PasskeyId = string | number;
@@ -76,7 +76,9 @@ export interface PasskeysSettingProps<Id extends PasskeyId = PasskeyId> extends
76
76
  * app knows which of those it detected.
77
77
  */
78
78
  unavailable?: ReactNode;
79
- /** A date for the "Added …" / "Last used …" lines. Default: the locale's medium date. */
79
+ /** A date for the "Added …" / "Last used …" lines. Default: the provider's `formatDate`
80
+ * (the app's date preference), else a medium date in the provider's locale and
81
+ * `timeZone`. */
80
82
  formatDate?: (date: Date) => string;
81
83
  /** Overrides the provider's locale for the default date format. */
82
84
  locale?: string;
@@ -106,5 +108,10 @@ export interface PasskeysSettingProps<Id extends PasskeyId = PasskeyId> extends
106
108
  * must work in an app without a `ConfirmProvider`, and the question belongs next to
107
109
  * the passkey it names. Focus moves to Cancel, as in every destructive confirm in the
108
110
  * kit, so the Enter that pressed Delete cannot also answer it.
111
+ *
112
+ * **Under a write lock** (0.52) Add, Rename, Delete and the confirm are `commit` controls
113
+ * exempt from billing — a lapsed plan still lets the account manage how it signs in, the
114
+ * demo does not. Until 0.52 the passkeys' confirm was the one inline confirm without it,
115
+ * so the demo could delete, rename and add (refactor audit 2026-10-30, DUP-10).
109
116
  */
110
117
  export declare function PasskeysSetting<Id extends PasskeyId = PasskeyId>({ passkeys, loading, onAdd, beforeAdd, mode, adding, onRename, onDelete, busyId, nameField, unavailable, formatDate, locale: localeProp, labels: labelsProp, className, rowProps, ...rest }: PasskeysSettingProps<Id>): import("react").JSX.Element;