@eifi1/ui-kit 0.51.6 → 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 (805) hide show
  1. package/README.md +146 -26
  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 +3 -7
  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.d.ts +3 -2
  39. package/dist/auth/complete-name-dialog.js +3 -5
  40. package/dist/auth/complete-name-dialog.js.map +1 -1
  41. package/dist/auth/forgot-password-form-labels.js +1 -1
  42. package/dist/auth/forgot-password-form-labels.js.map +1 -1
  43. package/dist/auth/forgot-password-form.js +7 -2
  44. package/dist/auth/forgot-password-form.js.map +1 -1
  45. package/dist/auth/register-form-labels.js +1 -1
  46. package/dist/auth/register-form-labels.js.map +1 -1
  47. package/dist/auth/reset-password-form-labels.js +1 -1
  48. package/dist/auth/reset-password-form-labels.js.map +1 -1
  49. package/dist/auth/reset-password-form.js +5 -1
  50. package/dist/auth/reset-password-form.js.map +1 -1
  51. package/dist/auth/sign-in-form-labels.js +1 -1
  52. package/dist/auth/sign-in-form-labels.js.map +1 -1
  53. package/dist/auth/status-parts.d.ts +0 -3
  54. package/dist/auth/status-parts.js +0 -4
  55. package/dist/auth/status-parts.js.map +1 -1
  56. package/dist/auth/verify-email-labels.js +1 -1
  57. package/dist/auth/verify-email-labels.js.map +1 -1
  58. package/dist/auth/verify-email.js +7 -2
  59. package/dist/auth/verify-email.js.map +1 -1
  60. package/dist/billing/cancel-request.d.ts +11 -2
  61. package/dist/billing/cancel-request.js +15 -3
  62. package/dist/billing/cancel-request.js.map +1 -1
  63. package/dist/billing/cancel-subscription.d.ts +22 -10
  64. package/dist/billing/cancel-subscription.js +8 -11
  65. package/dist/billing/cancel-subscription.js.map +1 -1
  66. package/dist/billing/dialog-close.d.ts +29 -0
  67. package/dist/billing/dialog-close.js +8 -0
  68. package/dist/billing/dialog-close.js.map +1 -0
  69. package/dist/billing/plan-card.d.ts +14 -4
  70. package/dist/billing/plan-card.js +15 -8
  71. package/dist/billing/plan-card.js.map +1 -1
  72. package/dist/billing/plan-change-labels.d.ts +42 -0
  73. package/dist/billing/plan-change-labels.js +22 -0
  74. package/dist/billing/plan-change-labels.js.map +1 -0
  75. package/dist/billing/plan-switch.d.ts +21 -9
  76. package/dist/billing/plan-switch.js +10 -8
  77. package/dist/billing/plan-switch.js.map +1 -1
  78. package/dist/chart.d.ts +12 -0
  79. package/dist/chart.js +16 -1
  80. package/dist/chart.js.map +1 -1
  81. package/dist/components/account-chips.d.ts +5 -5
  82. package/dist/components/account-chips.js +11 -13
  83. package/dist/components/account-chips.js.map +1 -1
  84. package/dist/components/alert-banner.d.ts +16 -5
  85. package/dist/components/alert-banner.js +46 -1
  86. package/dist/components/alert-banner.js.map +1 -1
  87. package/dist/components/amount-input.d.ts +22 -4
  88. package/dist/components/amount-input.js +3 -3
  89. package/dist/components/amount-input.js.map +1 -1
  90. package/dist/components/autocomplete.js +57 -65
  91. package/dist/components/autocomplete.js.map +1 -1
  92. package/dist/components/bulk-action-bar.d.ts +12 -2
  93. package/dist/components/bulk-action-bar.js +65 -21
  94. package/dist/components/bulk-action-bar.js.map +1 -1
  95. package/dist/components/button-look.d.ts +5 -5
  96. package/dist/components/button-look.js.map +1 -1
  97. package/dist/components/button.d.ts +2 -2
  98. package/dist/components/button.js.map +1 -1
  99. package/dist/components/calculator.d.ts +21 -2
  100. package/dist/components/calculator.js +53 -14
  101. package/dist/components/calculator.js.map +1 -1
  102. package/dist/components/chart-edge.d.ts +16 -0
  103. package/dist/components/chart-edge.js +14 -1
  104. package/dist/components/chart-edge.js.map +1 -1
  105. package/dist/components/chart-figure.d.ts +13 -0
  106. package/dist/components/chart-figure.js +15 -0
  107. package/dist/components/chart-figure.js.map +1 -0
  108. package/dist/components/chart-zoom-core.js +1 -4
  109. package/dist/components/chart-zoom-core.js.map +1 -1
  110. package/dist/components/chart.d.ts +8 -1
  111. package/dist/components/chart.js +19 -10
  112. package/dist/components/chart.js.map +1 -1
  113. package/dist/components/combobox-core.d.ts +119 -7
  114. package/dist/components/combobox-core.js +151 -46
  115. package/dist/components/combobox-core.js.map +1 -1
  116. package/dist/components/combobox.d.ts +1 -1
  117. package/dist/components/combobox.js +142 -131
  118. package/dist/components/combobox.js.map +1 -1
  119. package/dist/components/copy-button.d.ts +6 -5
  120. package/dist/components/copy-button.js +5 -3
  121. package/dist/components/copy-button.js.map +1 -1
  122. package/dist/components/country-select.js +2 -2
  123. package/dist/components/country-select.js.map +1 -1
  124. package/dist/components/data-table-column-settings.d.ts +1 -1
  125. package/dist/components/data-table-column-settings.js +33 -7
  126. package/dist/components/data-table-column-settings.js.map +1 -1
  127. package/dist/components/data-table-filters.d.ts +4 -2
  128. package/dist/components/data-table-filters.js +2 -2
  129. package/dist/components/data-table-filters.js.map +1 -1
  130. package/dist/components/data-table-fit.d.ts +6 -4
  131. package/dist/components/data-table-fit.js +4 -1
  132. package/dist/components/data-table-fit.js.map +1 -1
  133. package/dist/components/data-table-groups.d.ts +1 -1
  134. package/dist/components/data-table-groups.js.map +1 -1
  135. package/dist/components/data-table-head.d.ts +1 -1
  136. package/dist/components/data-table-head.js +15 -12
  137. package/dist/components/data-table-head.js.map +1 -1
  138. package/dist/components/data-table-mobile.d.ts +36 -7
  139. package/dist/components/data-table-mobile.js +63 -31
  140. package/dist/components/data-table-mobile.js.map +1 -1
  141. package/dist/components/data-table-pagination.js +11 -6
  142. package/dist/components/data-table-pagination.js.map +1 -1
  143. package/dist/components/data-table-resize.d.ts +1 -1
  144. package/dist/components/data-table-resize.js.map +1 -1
  145. package/dist/components/data-table-row-actions.d.ts +2 -2
  146. package/dist/components/data-table-row-actions.js.map +1 -1
  147. package/dist/components/data-table-row.d.ts +6 -2
  148. package/dist/components/data-table-row.js +17 -10
  149. package/dist/components/data-table-row.js.map +1 -1
  150. package/dist/components/data-table-selection.d.ts +1 -1
  151. package/dist/components/data-table-selection.js.map +1 -1
  152. package/dist/components/data-table-shared.d.ts +10 -2
  153. package/dist/components/data-table-shared.js +18 -0
  154. package/dist/components/data-table-shared.js.map +1 -1
  155. package/dist/components/data-table-sort.d.ts +21 -2
  156. package/dist/components/data-table-sort.js +24 -0
  157. package/dist/components/data-table-sort.js.map +1 -1
  158. package/dist/components/data-table-virtual.d.ts +1 -1
  159. package/dist/components/data-table-virtual.js +18 -6
  160. package/dist/components/data-table-virtual.js.map +1 -1
  161. package/dist/components/data-table.d.ts +25 -8
  162. package/dist/components/data-table.js +154 -25
  163. package/dist/components/data-table.js.map +1 -1
  164. package/dist/components/date-field.d.ts +24 -2
  165. package/dist/components/date-field.js +33 -8
  166. package/dist/components/date-field.js.map +1 -1
  167. package/dist/components/date-picker.d.ts +15 -2
  168. package/dist/components/date-picker.js +55 -26
  169. package/dist/components/date-picker.js.map +1 -1
  170. package/dist/components/date-range-picker.d.ts +47 -20
  171. package/dist/components/date-range-picker.js +23 -7
  172. package/dist/components/date-range-picker.js.map +1 -1
  173. package/dist/components/dialog-frame.d.ts +2 -1
  174. package/dist/components/dialog-frame.js.map +1 -1
  175. package/dist/components/entity-combobox.js +4 -2
  176. package/dist/components/entity-combobox.js.map +1 -1
  177. package/dist/components/error-boundary.js +37 -30
  178. package/dist/components/error-boundary.js.map +1 -1
  179. package/dist/components/{ui-labels.d.ts → field-base-labels.d.ts} +0 -2
  180. package/dist/components/{ui-labels.js → field-base-labels.js} +2 -9
  181. package/dist/components/field-base-labels.js.map +1 -0
  182. package/dist/components/field-base.d.ts +4 -3
  183. package/dist/components/field-base.js +3 -3
  184. package/dist/components/field-base.js.map +1 -1
  185. package/dist/components/field-sync-labels.d.ts +1 -0
  186. package/dist/components/field-sync-labels.js.map +1 -1
  187. package/dist/components/field-sync.d.ts +23 -1
  188. package/dist/components/field-sync.js.map +1 -1
  189. package/dist/components/form-actions.js +11 -5
  190. package/dist/components/form-actions.js.map +1 -1
  191. package/dist/components/hover-menu.d.ts +3 -0
  192. package/dist/components/hover-menu.js +5 -3
  193. package/dist/components/hover-menu.js.map +1 -1
  194. package/dist/components/icon-button.js +14 -9
  195. package/dist/components/icon-button.js.map +1 -1
  196. package/dist/components/inline-confirm.d.ts +43 -0
  197. package/dist/components/inline-confirm.js +67 -0
  198. package/dist/components/inline-confirm.js.map +1 -0
  199. package/dist/components/inline-entity-combobox.d.ts +4 -3
  200. package/dist/components/inline-entity-combobox.js +150 -141
  201. package/dist/components/inline-entity-combobox.js.map +1 -1
  202. package/dist/components/input.js +1 -1
  203. package/dist/components/input.js.map +1 -1
  204. package/dist/components/jump-calendar.js +28 -112
  205. package/dist/components/jump-calendar.js.map +1 -1
  206. package/dist/components/legal-page.d.ts +3 -1
  207. package/dist/components/legal-page.js +3 -2
  208. package/dist/components/legal-page.js.map +1 -1
  209. package/dist/components/legal.d.ts +4 -2
  210. package/dist/components/legal.js.map +1 -1
  211. package/dist/components/lightbox.d.ts +2 -2
  212. package/dist/components/lightbox.js +17 -6
  213. package/dist/components/lightbox.js.map +1 -1
  214. package/dist/components/list.d.ts +6 -2
  215. package/dist/components/list.js +4 -3
  216. package/dist/components/list.js.map +1 -1
  217. package/dist/components/measured-grid.d.ts +1 -1
  218. package/dist/components/measured-grid.js +2 -1
  219. package/dist/components/measured-grid.js.map +1 -1
  220. package/dist/components/mini-calendar.js +3 -5
  221. package/dist/components/mini-calendar.js.map +1 -1
  222. package/dist/components/modal.d.ts +24 -0
  223. package/dist/components/modal.js +12 -4
  224. package/dist/components/modal.js.map +1 -1
  225. package/dist/components/money-draft.js +7 -5
  226. package/dist/components/money-draft.js.map +1 -1
  227. package/dist/components/money-field.d.ts +2 -2
  228. package/dist/components/money-field.js.map +1 -1
  229. package/dist/components/month-grid.d.ts +55 -0
  230. package/dist/components/month-grid.js +148 -0
  231. package/dist/components/month-grid.js.map +1 -0
  232. package/dist/components/month-picker.d.ts +36 -4
  233. package/dist/components/month-picker.js +123 -146
  234. package/dist/components/month-picker.js.map +1 -1
  235. package/dist/components/multi-entity-combobox.js +2 -1
  236. package/dist/components/multi-entity-combobox.js.map +1 -1
  237. package/dist/components/multi-select.d.ts +2 -2
  238. package/dist/components/multi-select.js +11 -6
  239. package/dist/components/multi-select.js.map +1 -1
  240. package/dist/components/number-field.d.ts +6 -4
  241. package/dist/components/number-field.js +3 -2
  242. package/dist/components/number-field.js.map +1 -1
  243. package/dist/components/number-input.d.ts +4 -1
  244. package/dist/components/number-input.js +3 -2
  245. package/dist/components/number-input.js.map +1 -1
  246. package/dist/components/numpad-sheet.js.map +1 -1
  247. package/dist/components/picker-sheet.js +2 -1
  248. package/dist/components/picker-sheet.js.map +1 -1
  249. package/dist/components/pie-chart-labels.d.ts +7 -0
  250. package/dist/components/pie-chart-labels.js +1 -0
  251. package/dist/components/pie-chart-labels.js.map +1 -1
  252. package/dist/components/pie-chart.d.ts +5 -3
  253. package/dist/components/pie-chart.js +7 -22
  254. package/dist/components/pie-chart.js.map +1 -1
  255. package/dist/components/popover.d.ts +3 -0
  256. package/dist/components/popover.js +7 -1
  257. package/dist/components/popover.js.map +1 -1
  258. package/dist/components/reauth-dialog.d.ts +4 -5
  259. package/dist/components/reauth-dialog.js +1 -4
  260. package/dist/components/reauth-dialog.js.map +1 -1
  261. package/dist/components/row-actions.js +2 -1
  262. package/dist/components/row-actions.js.map +1 -1
  263. package/dist/components/section-nav.d.ts +7 -0
  264. package/dist/components/section-nav.js.map +1 -1
  265. package/dist/components/series-chart-axes.d.ts +10 -3
  266. package/dist/components/series-chart-axes.js +1 -0
  267. package/dist/components/series-chart-axes.js.map +1 -1
  268. package/dist/components/series-chart-labels.d.ts +7 -4
  269. package/dist/components/series-chart-labels.js.map +1 -1
  270. package/dist/components/series-chart.d.ts +31 -7
  271. package/dist/components/series-chart.js +72 -29
  272. package/dist/components/series-chart.js.map +1 -1
  273. package/dist/components/share-card.js +3 -3
  274. package/dist/components/share-card.js.map +1 -1
  275. package/dist/components/sign-chip-labels.d.ts +1 -0
  276. package/dist/components/sign-chip-labels.js.map +1 -1
  277. package/dist/components/sign-chip.d.ts +10 -1
  278. package/dist/components/sign-chip.js.map +1 -1
  279. package/dist/components/tabs-labels.d.ts +2 -0
  280. package/dist/components/tabs-labels.js +11 -0
  281. package/dist/components/tabs-labels.js.map +1 -0
  282. package/dist/components/tabs.d.ts +1 -1
  283. package/dist/components/tabs.js +13 -11
  284. package/dist/components/tabs.js.map +1 -1
  285. package/dist/components/toggle-legend.d.ts +2 -2
  286. package/dist/components/toggle-legend.js +6 -6
  287. package/dist/components/toggle-legend.js.map +1 -1
  288. package/dist/components/translation-review-editor.d.ts +4 -2
  289. package/dist/components/translation-review-editor.js +2 -3
  290. package/dist/components/translation-review-editor.js.map +1 -1
  291. package/dist/components/translation-review.d.ts +2 -1
  292. package/dist/components/translation-review.js +2 -2
  293. package/dist/components/translation-review.js.map +1 -1
  294. package/dist/components/treemap-labels.d.ts +26 -0
  295. package/dist/components/treemap-labels.js +10 -0
  296. package/dist/components/treemap-labels.js.map +1 -0
  297. package/dist/components/treemap-layout.d.ts +62 -0
  298. package/dist/components/treemap-layout.js +126 -0
  299. package/dist/components/treemap-layout.js.map +1 -0
  300. package/dist/components/treemap.d.ts +140 -17
  301. package/dist/components/treemap.js +324 -97
  302. package/dist/components/treemap.js.map +1 -1
  303. package/dist/components/use-table-state.d.ts +5 -5
  304. package/dist/components/use-table-state.js +4 -1
  305. package/dist/components/use-table-state.js.map +1 -1
  306. package/dist/data-table.d.ts +6 -2
  307. package/dist/data-table.js +7 -2
  308. package/dist/data-table.js.map +1 -1
  309. package/dist/eslint/index.js +1 -1
  310. package/dist/eslint/role-utilities.d.ts +36 -7
  311. package/dist/eslint/role-utilities.js +42 -9
  312. package/dist/eslint/role-utilities.js.map +1 -1
  313. package/dist/feedback/feedback-dialog.d.ts +25 -16
  314. package/dist/feedback/feedback-dialog.js +6 -2
  315. package/dist/feedback/feedback-dialog.js.map +1 -1
  316. package/dist/feedback/feedback-mutation.d.ts +30 -0
  317. package/dist/feedback/feedback-mutation.js +16 -0
  318. package/dist/feedback/feedback-mutation.js.map +1 -0
  319. package/dist/feedback/feedback-page-link.d.ts +53 -0
  320. package/dist/feedback/feedback-page-link.js +37 -0
  321. package/dist/feedback/feedback-page-link.js.map +1 -0
  322. package/dist/feedback/feedback-public-list.d.ts +12 -3
  323. package/dist/feedback/feedback-public-list.js +2 -1
  324. package/dist/feedback/feedback-public-list.js.map +1 -1
  325. package/dist/feedback/feedback-replies.d.ts +3 -1
  326. package/dist/feedback/feedback-replies.js +5 -4
  327. package/dist/feedback/feedback-replies.js.map +1 -1
  328. package/dist/feedback/feedback-row-detail-labels.js +5 -0
  329. package/dist/feedback/feedback-row-detail-labels.js.map +1 -1
  330. package/dist/feedback/feedback-row-detail.d.ts +64 -28
  331. package/dist/feedback/feedback-row-detail.js +30 -28
  332. package/dist/feedback/feedback-row-detail.js.map +1 -1
  333. package/dist/feedback/feedback-status-undo.d.ts +30 -11
  334. package/dist/feedback/feedback-status-undo.js +10 -15
  335. package/dist/feedback/feedback-status-undo.js.map +1 -1
  336. package/dist/feedback/feedback-submit-dialog.d.ts +1 -1
  337. package/dist/feedback/feedback-submit-dialog.js +1 -1
  338. package/dist/feedback/feedback-submit-dialog.js.map +1 -1
  339. package/dist/feedback/feedback-submit.js +9 -3
  340. package/dist/feedback/feedback-submit.js.map +1 -1
  341. package/dist/feedback/feedback-swipe.d.ts +1 -1
  342. package/dist/feedback/feedback-swipe.js.map +1 -1
  343. package/dist/feedback/feedback-table.d.ts +21 -9
  344. package/dist/feedback/feedback-table.js +45 -25
  345. package/dist/feedback/feedback-table.js.map +1 -1
  346. package/dist/feedback/feedback-thread-labels.d.ts +2 -2
  347. package/dist/feedback/feedback-thread-labels.js.map +1 -1
  348. package/dist/feedback/feedback-thread.d.ts +24 -23
  349. package/dist/feedback/feedback-thread.js +2 -1
  350. package/dist/feedback/feedback-thread.js.map +1 -1
  351. package/dist/feedback.d.ts +34 -0
  352. package/dist/feedback.js +42 -0
  353. package/dist/feedback.js.map +1 -1
  354. package/dist/hooks/use-dismiss.js.map +1 -1
  355. package/dist/hooks/use-focus-trap.d.ts +35 -0
  356. package/dist/hooks/use-focus-trap.js +6 -4
  357. package/dist/hooks/use-focus-trap.js.map +1 -1
  358. package/dist/hooks/use-hotkey.d.ts +5 -2
  359. package/dist/hooks/use-hotkey.js +5 -4
  360. package/dist/hooks/use-hotkey.js.map +1 -1
  361. package/dist/hooks/use-long-press.d.ts +7 -4
  362. package/dist/hooks/use-long-press.js +3 -0
  363. package/dist/hooks/use-long-press.js.map +1 -1
  364. package/dist/hooks/use-media-query.js +12 -4
  365. package/dist/hooks/use-media-query.js.map +1 -1
  366. package/dist/hooks/use-mounted.d.ts +22 -0
  367. package/dist/hooks/use-mounted.js +24 -0
  368. package/dist/hooks/use-mounted.js.map +1 -0
  369. package/dist/hooks/use-overlay-history.d.ts +7 -1
  370. package/dist/hooks/use-overlay-history.js +35 -5
  371. package/dist/hooks/use-overlay-history.js.map +1 -1
  372. package/dist/i18n/defaults.js +4 -5
  373. package/dist/i18n/defaults.js.map +1 -1
  374. package/dist/i18n/german.js +7 -1
  375. package/dist/i18n/german.js.map +1 -1
  376. package/dist/i18n/kit-labels.d.ts +9 -2
  377. package/dist/i18n/kit-labels.js.map +1 -1
  378. package/dist/i18n/locales/en.js +20 -41
  379. package/dist/i18n/locales/en.js.map +3 -3
  380. package/dist/i18n/locales/es.js +7 -1
  381. package/dist/i18n/locales/es.js.map +1 -1
  382. package/dist/i18n/locales/fr.js +20 -10
  383. package/dist/i18n/locales/fr.js.map +1 -1
  384. package/dist/i18n/locales/hu.js +9 -1
  385. package/dist/i18n/locales/hu.js.map +1 -1
  386. package/dist/i18n/locales/it.js +7 -1
  387. package/dist/i18n/locales/it.js.map +1 -1
  388. package/dist/i18n/locales/zh.js +8 -1
  389. package/dist/i18n/locales/zh.js.map +1 -1
  390. package/dist/i18n/review.js +5 -0
  391. package/dist/i18n/review.js.map +1 -1
  392. package/dist/index.d.ts +64 -17
  393. package/dist/index.js +77 -12
  394. package/dist/index.js.map +1 -1
  395. package/dist/landing/routing.d.ts +3 -1
  396. package/dist/landing/routing.js +4 -7
  397. package/dist/landing/routing.js.map +1 -1
  398. package/dist/lib/broadcast.d.ts +17 -0
  399. package/dist/lib/broadcast.js +30 -0
  400. package/dist/lib/broadcast.js.map +1 -0
  401. package/dist/lib/calc.d.ts +7 -1
  402. package/dist/lib/calc.js +3 -1
  403. package/dist/lib/calc.js.map +1 -1
  404. package/dist/lib/clipboard-minus.d.ts +2 -2
  405. package/dist/lib/clipboard-minus.js +1 -1
  406. package/dist/lib/clipboard-minus.js.map +1 -1
  407. package/dist/lib/date-format.d.ts +37 -2
  408. package/dist/lib/date-format.js +34 -8
  409. package/dist/lib/date-format.js.map +1 -1
  410. package/dist/lib/day-format.d.ts +46 -0
  411. package/dist/lib/day-format.js +46 -0
  412. package/dist/lib/day-format.js.map +1 -0
  413. package/dist/lib/decimal-marks.d.ts +7 -1
  414. package/dist/lib/decimal-marks.js +5 -2
  415. package/dist/lib/decimal-marks.js.map +1 -1
  416. package/dist/lib/describe-failure.d.ts +14 -0
  417. package/dist/lib/describe-failure.js +9 -0
  418. package/dist/lib/describe-failure.js.map +1 -0
  419. package/dist/lib/direction.d.ts +16 -0
  420. package/dist/lib/direction.js +9 -1
  421. package/dist/lib/direction.js.map +1 -1
  422. package/dist/lib/focus-left.d.ts +63 -0
  423. package/dist/lib/focus-left.js +67 -0
  424. package/dist/lib/focus-left.js.map +1 -0
  425. package/dist/lib/format.d.ts +5 -3
  426. package/dist/lib/format.js +16 -13
  427. package/dist/lib/format.js.map +1 -1
  428. package/dist/lib/http-status.d.ts +24 -0
  429. package/dist/lib/http-status.js +14 -0
  430. package/dist/lib/http-status.js.map +1 -0
  431. package/dist/lib/intl-cache.d.ts +14 -0
  432. package/dist/lib/intl-cache.js +15 -0
  433. package/dist/lib/intl-cache.js.map +1 -0
  434. package/dist/lib/isin.d.ts +10 -0
  435. package/dist/lib/isin.js.map +1 -1
  436. package/dist/lib/iso-day.d.ts +11 -0
  437. package/dist/lib/iso-day.js +8 -0
  438. package/dist/lib/iso-day.js.map +1 -0
  439. package/dist/lib/lazy-with-fallback.d.ts +31 -0
  440. package/dist/lib/lazy-with-fallback.js +40 -0
  441. package/dist/lib/lazy-with-fallback.js.map +1 -0
  442. package/dist/lib/path-pattern.d.ts +34 -0
  443. package/dist/lib/path-pattern.js +24 -0
  444. package/dist/lib/path-pattern.js.map +1 -0
  445. package/dist/lib/reduced-motion.d.ts +2 -1
  446. package/dist/lib/reduced-motion.js.map +1 -1
  447. package/dist/lib/round.d.ts +2 -1
  448. package/dist/lib/round.js +2 -1
  449. package/dist/lib/round.js.map +1 -1
  450. package/dist/lib/safe-storage.d.ts +24 -5
  451. package/dist/lib/safe-storage.js +27 -2
  452. package/dist/lib/safe-storage.js.map +1 -1
  453. package/dist/lib/session-refresh.js +1 -1
  454. package/dist/lib/session-refresh.js.map +1 -1
  455. package/dist/lib/share-format.d.ts +13 -0
  456. package/dist/lib/share-format.js +10 -0
  457. package/dist/lib/share-format.js.map +1 -0
  458. package/dist/lib/text-case.d.ts +17 -0
  459. package/dist/lib/text-case.js +8 -0
  460. package/dist/lib/text-case.js.map +1 -0
  461. package/dist/lib/text-match.d.ts +38 -0
  462. package/dist/lib/text-match.js +24 -2
  463. package/dist/lib/text-match.js.map +1 -1
  464. package/dist/lib/thenable.d.ts +13 -0
  465. package/dist/lib/thenable.js +8 -0
  466. package/dist/lib/thenable.js.map +1 -0
  467. package/dist/lib/translation-review.d.ts +7 -2
  468. package/dist/lib/translation-review.js +4 -4
  469. package/dist/lib/translation-review.js.map +1 -1
  470. package/dist/notifications/device-zone-report.js +1 -1
  471. package/dist/notifications/device-zone-report.js.map +1 -1
  472. package/dist/notifications/notification-bell.d.ts +2 -1
  473. package/dist/notifications/notification-bell.js +3 -3
  474. package/dist/notifications/notification-bell.js.map +1 -1
  475. package/dist/notifications/notification-inbox.d.ts +10 -6
  476. package/dist/notifications/notification-inbox.js +26 -48
  477. package/dist/notifications/notification-inbox.js.map +1 -1
  478. package/dist/notifications/notification-parts.d.ts +3 -2
  479. package/dist/notifications/notification-parts.js +1 -3
  480. package/dist/notifications/notification-parts.js.map +1 -1
  481. package/dist/notifications/notification-types-setting.js +1 -1
  482. package/dist/notifications/notification-types-setting.js.map +1 -1
  483. package/dist/notifications/notifications-labels.d.ts +6 -0
  484. package/dist/notifications/notifications-labels.js +1 -0
  485. package/dist/notifications/notifications-labels.js.map +1 -1
  486. package/dist/notifications/push-device-setting.js +1 -1
  487. package/dist/notifications/push-device-setting.js.map +1 -1
  488. package/dist/notifications/push-devices-setting.d.ts +2 -1
  489. package/dist/notifications/push-devices-setting.js +27 -49
  490. package/dist/notifications/push-devices-setting.js.map +1 -1
  491. package/dist/notifications/quiet-hours-setting.d.ts +10 -3
  492. package/dist/notifications/quiet-hours-setting.js +65 -26
  493. package/dist/notifications/quiet-hours-setting.js.map +1 -1
  494. package/dist/notifications/unsubscribe-panel.js +4 -7
  495. package/dist/notifications/unsubscribe-panel.js.map +1 -1
  496. package/dist/notifications/use-push-device.d.ts +39 -1
  497. package/dist/notifications/use-push-device.js +28 -7
  498. package/dist/notifications/use-push-device.js.map +1 -1
  499. package/dist/offline/query-persistence.d.ts +3 -1
  500. package/dist/offline/query-persistence.js +19 -2
  501. package/dist/offline/query-persistence.js.map +1 -1
  502. package/dist/rhf/fields.d.ts +11 -4
  503. package/dist/rhf/fields.js.map +1 -1
  504. package/dist/search/command-palette.js +1 -1
  505. package/dist/search/command-palette.js.map +1 -1
  506. package/dist/search/global-search.js +19 -9
  507. package/dist/search/global-search.js.map +1 -1
  508. package/dist/search/use-command-key.d.ts +12 -1
  509. package/dist/search/use-command-key.js +3 -12
  510. package/dist/search/use-command-key.js.map +1 -1
  511. package/dist/search.d.ts +7 -0
  512. package/dist/search.js +10 -0
  513. package/dist/search.js.map +1 -1
  514. package/dist/settings/use-settings-focus.js +1 -0
  515. package/dist/settings/use-settings-focus.js.map +1 -1
  516. package/dist/shell/account-menu-language.d.ts +21 -5
  517. package/dist/shell/account-menu-language.js +3 -1
  518. package/dist/shell/account-menu-language.js.map +1 -1
  519. package/dist/shell/account-menu-text-size.d.ts +26 -9
  520. package/dist/shell/account-menu-text-size.js +3 -2
  521. package/dist/shell/account-menu-text-size.js.map +1 -1
  522. package/dist/shell/dev-menu.js +5 -18
  523. package/dist/shell/dev-menu.js.map +1 -1
  524. package/dist/shell/role-switcher.d.ts +7 -0
  525. package/dist/shell/role-switcher.js.map +1 -1
  526. package/dist/shell/top-bar-actions.d.ts +1 -1
  527. package/dist/shell/top-bar-actions.js.map +1 -1
  528. package/dist/shell/top-bar-parts-labels.d.ts +0 -2
  529. package/dist/shell/top-bar-parts-labels.js +0 -1
  530. package/dist/shell/top-bar-parts-labels.js.map +1 -1
  531. package/dist/shell.d.ts +27 -8
  532. package/dist/shell.js +28 -7
  533. package/dist/shell.js.map +1 -1
  534. package/dist/sync/engine.d.ts +30 -4
  535. package/dist/sync/engine.js +172 -52
  536. package/dist/sync/engine.js.map +1 -1
  537. package/dist/sync.d.ts +6 -2
  538. package/dist/sync.js +6 -1
  539. package/dist/sync.js.map +1 -1
  540. package/dist/testing/css-variables.js +3 -8
  541. package/dist/testing/css-variables.js.map +1 -1
  542. package/dist/theme/contrast.d.ts +2 -1
  543. package/dist/theme/contrast.js +3 -8
  544. package/dist/theme/contrast.js.map +1 -1
  545. package/dist/theme/palette-store.js +6 -6
  546. package/dist/theme/palette-store.js.map +1 -1
  547. package/dist/theme/text-size.js +3 -8
  548. package/dist/theme/text-size.js.map +1 -1
  549. package/dist/theme/theme-store.js +3 -6
  550. package/dist/theme/theme-store.js.map +1 -1
  551. package/dist/tour/tour-catalogue.d.ts +7 -4
  552. package/dist/tour/tour-catalogue.js +12 -10
  553. package/dist/tour/tour-catalogue.js.map +1 -1
  554. package/dist/tour/tour-dock.d.ts +0 -2
  555. package/dist/tour/tour-dock.js +0 -2
  556. package/dist/tour/tour-dock.js.map +1 -1
  557. package/dist/tour/tour-gates.d.ts +4 -0
  558. package/dist/tour/tour-gates.js +14 -0
  559. package/dist/tour/tour-gates.js.map +1 -1
  560. package/dist/tour/tour-overlay.d.ts +27 -0
  561. package/dist/tour/tour-overlay.js +741 -0
  562. package/dist/tour/tour-overlay.js.map +1 -0
  563. package/dist/tour/tour.d.ts +16 -4
  564. package/dist/tour/tour.js +62 -778
  565. package/dist/tour/tour.js.map +1 -1
  566. package/dist/tour/use-tour-progress.js +1 -1
  567. package/dist/tour/use-tour-progress.js.map +1 -1
  568. package/dist/tour/use-tour-url-sync.js +2 -2
  569. package/dist/tour/use-tour-url-sync.js.map +1 -1
  570. package/dist/wizard/stepper-nav.d.ts +5 -1
  571. package/dist/wizard/stepper-nav.js.map +1 -1
  572. package/dist/wizard/types.d.ts +6 -2
  573. package/dist/wizard/types.js.map +1 -1
  574. package/dist/wizard/use-wizard.d.ts +3 -1
  575. package/dist/wizard/use-wizard.js.map +1 -1
  576. package/dist/wizard/validation.d.ts +3 -1
  577. package/dist/wizard/validation.js.map +1 -1
  578. package/package.json +12 -8
  579. package/src/account/account-parts.ts +5 -25
  580. package/src/account/data-export-setting-labels.ts +1 -1
  581. package/src/account/delete-account-setting-labels.ts +1 -1
  582. package/src/account/email-change-setting-labels.ts +1 -1
  583. package/src/account/passkeys-setting.tsx +60 -38
  584. package/src/account/sessions-setting.tsx +18 -12
  585. package/src/admin/admin-action-confirm.tsx +5 -10
  586. package/src/admin/admin-parts.ts +11 -25
  587. package/src/admin/mail-test-card-labels.ts +1 -1
  588. package/src/admin/plan-change-labels.ts +5 -23
  589. package/src/admin/plan-change.tsx +7 -44
  590. package/src/admin/reviewer-scope-editor.tsx +3 -3
  591. package/src/auth/auth-errors-labels.ts +23 -0
  592. package/src/auth/auth-errors.ts +11 -38
  593. package/src/auth/complete-name-dialog.tsx +9 -8
  594. package/src/auth/forgot-password-form-labels.ts +1 -1
  595. package/src/auth/forgot-password-form.tsx +11 -6
  596. package/src/auth/register-form-labels.ts +1 -1
  597. package/src/auth/reset-password-form-labels.ts +1 -1
  598. package/src/auth/reset-password-form.tsx +8 -4
  599. package/src/auth/sign-in-form-labels.ts +1 -1
  600. package/src/auth/status-parts.tsx +0 -6
  601. package/src/auth/verify-email-labels.ts +1 -1
  602. package/src/auth/verify-email.tsx +11 -6
  603. package/src/billing/cancel-request.ts +28 -6
  604. package/src/billing/cancel-subscription.tsx +29 -22
  605. package/src/billing/dialog-close.ts +34 -0
  606. package/src/billing/plan-card.tsx +36 -11
  607. package/src/billing/plan-change-labels.ts +66 -0
  608. package/src/billing/plan-switch.tsx +31 -20
  609. package/src/chart.ts +21 -3
  610. package/src/components/account-chips.tsx +20 -23
  611. package/src/components/alert-banner.tsx +82 -5
  612. package/src/components/amount-input.tsx +32 -14
  613. package/src/components/autocomplete.tsx +64 -70
  614. package/src/components/bulk-action-bar.tsx +70 -2
  615. package/src/components/button-look.ts +5 -5
  616. package/src/components/button.tsx +2 -2
  617. package/src/components/calculator.tsx +98 -17
  618. package/src/components/chart-edge.ts +34 -1
  619. package/src/components/chart-figure.tsx +35 -0
  620. package/src/components/chart-zoom-core.tsx +6 -5
  621. package/src/components/chart.tsx +26 -5
  622. package/src/components/combobox-core.tsx +303 -69
  623. package/src/components/combobox.tsx +184 -155
  624. package/src/components/copy-button.tsx +34 -23
  625. package/src/components/country-select.tsx +16 -11
  626. package/src/components/data-table-column-settings.tsx +52 -10
  627. package/src/components/data-table-filters.ts +6 -4
  628. package/src/components/data-table-fit.ts +19 -5
  629. package/src/components/data-table-groups.tsx +1 -1
  630. package/src/components/data-table-head.tsx +32 -22
  631. package/src/components/data-table-mobile.tsx +110 -27
  632. package/src/components/data-table-pagination.tsx +21 -6
  633. package/src/components/data-table-resize.ts +1 -1
  634. package/src/components/data-table-row-actions.tsx +3 -3
  635. package/src/components/data-table-row.tsx +25 -14
  636. package/src/components/data-table-selection.ts +1 -1
  637. package/src/components/data-table-shared.tsx +33 -1
  638. package/src/components/data-table-sort.ts +57 -2
  639. package/src/components/data-table-virtual.ts +32 -8
  640. package/src/components/data-table.tsx +267 -41
  641. package/src/components/date-field.tsx +65 -8
  642. package/src/components/date-picker.tsx +125 -48
  643. package/src/components/date-range-picker.tsx +82 -31
  644. package/src/components/dialog-frame.tsx +2 -1
  645. package/src/components/entity-combobox.tsx +4 -1
  646. package/src/components/error-boundary.tsx +53 -39
  647. package/src/components/field-base-labels.ts +20 -0
  648. package/src/components/field-base.tsx +13 -7
  649. package/src/components/field-sync-labels.ts +1 -0
  650. package/src/components/field-sync.tsx +23 -1
  651. package/src/components/form-actions.tsx +20 -5
  652. package/src/components/hover-menu.tsx +18 -8
  653. package/src/components/icon-button.tsx +14 -9
  654. package/src/components/inline-confirm.tsx +116 -0
  655. package/src/components/inline-entity-combobox.tsx +198 -152
  656. package/src/components/input.tsx +1 -1
  657. package/src/components/jump-calendar.tsx +30 -146
  658. package/src/components/legal-page.tsx +10 -7
  659. package/src/components/legal.tsx +4 -2
  660. package/src/components/lightbox.tsx +21 -8
  661. package/src/components/list.tsx +14 -5
  662. package/src/components/measured-grid.tsx +8 -4
  663. package/src/components/mini-calendar.tsx +6 -5
  664. package/src/components/modal.tsx +45 -4
  665. package/src/components/money-draft.ts +16 -5
  666. package/src/components/money-field.tsx +2 -2
  667. package/src/components/month-grid.tsx +229 -0
  668. package/src/components/month-picker.tsx +192 -200
  669. package/src/components/multi-entity-combobox.tsx +1 -0
  670. package/src/components/multi-select.tsx +21 -9
  671. package/src/components/number-field.tsx +14 -7
  672. package/src/components/number-input.tsx +9 -3
  673. package/src/components/numpad-sheet.tsx +4 -3
  674. package/src/components/picker-sheet.tsx +12 -9
  675. package/src/components/pie-chart-labels.ts +8 -0
  676. package/src/components/pie-chart.tsx +22 -28
  677. package/src/components/popover.tsx +18 -1
  678. package/src/components/reauth-dialog.tsx +6 -10
  679. package/src/components/row-actions.tsx +2 -1
  680. package/src/components/section-nav.tsx +7 -0
  681. package/src/components/series-chart-axes.ts +11 -3
  682. package/src/components/series-chart-labels.ts +7 -4
  683. package/src/components/series-chart.tsx +178 -69
  684. package/src/components/share-card.tsx +6 -6
  685. package/src/components/sign-chip-labels.ts +1 -0
  686. package/src/components/sign-chip.tsx +10 -1
  687. package/src/components/tabs-labels.ts +13 -0
  688. package/src/components/tabs.tsx +35 -19
  689. package/src/components/toggle-legend.tsx +16 -11
  690. package/src/components/translation-review-editor.tsx +6 -5
  691. package/src/components/translation-review.tsx +4 -3
  692. package/src/components/treemap-labels.ts +39 -0
  693. package/src/components/treemap-layout.ts +210 -0
  694. package/src/components/treemap.tsx +722 -133
  695. package/src/components/use-table-state.ts +12 -9
  696. package/src/data-table.ts +9 -2
  697. package/src/eslint/role-utilities.ts +97 -19
  698. package/src/feedback/feedback-dialog.tsx +30 -19
  699. package/src/feedback/feedback-mutation.ts +41 -0
  700. package/src/feedback/feedback-page-link.ts +90 -0
  701. package/src/feedback/feedback-public-list.tsx +17 -5
  702. package/src/feedback/feedback-replies.tsx +13 -6
  703. package/src/feedback/feedback-row-detail-labels.ts +5 -0
  704. package/src/feedback/feedback-row-detail.tsx +103 -67
  705. package/src/feedback/feedback-status-undo.ts +41 -27
  706. package/src/feedback/feedback-submit-dialog.tsx +2 -2
  707. package/src/feedback/feedback-submit.tsx +21 -7
  708. package/src/feedback/feedback-swipe.tsx +1 -1
  709. package/src/feedback/feedback-table.tsx +86 -38
  710. package/src/feedback/feedback-thread-labels.ts +2 -2
  711. package/src/feedback/feedback-thread.tsx +27 -25
  712. package/src/feedback.ts +42 -0
  713. package/src/hooks/use-dismiss.ts +3 -2
  714. package/src/hooks/use-focus-trap.ts +8 -24
  715. package/src/hooks/use-hotkey.ts +24 -7
  716. package/src/hooks/use-long-press.ts +16 -2
  717. package/src/hooks/use-media-query.ts +20 -4
  718. package/src/hooks/use-mounted.ts +39 -0
  719. package/src/hooks/use-overlay-history.ts +70 -5
  720. package/src/i18n/defaults.ts +4 -5
  721. package/src/i18n/german.ts +8 -2
  722. package/src/i18n/kit-labels.tsx +9 -2
  723. package/src/i18n/locales/es.ts +8 -2
  724. package/src/i18n/locales/fr.ts +21 -13
  725. package/src/i18n/locales/hu.ts +10 -2
  726. package/src/i18n/locales/it.ts +8 -2
  727. package/src/i18n/locales/zh.ts +9 -2
  728. package/src/i18n/review.ts +5 -0
  729. package/src/index.ts +103 -13
  730. package/src/landing/routing.tsx +14 -10
  731. package/src/lib/broadcast.ts +52 -0
  732. package/src/lib/calc.ts +13 -2
  733. package/src/lib/clipboard-minus.ts +14 -4
  734. package/src/lib/date-format.ts +89 -13
  735. package/src/lib/day-format.ts +96 -0
  736. package/src/lib/decimal-marks.ts +12 -3
  737. package/src/lib/describe-failure.ts +18 -0
  738. package/src/lib/direction.ts +39 -0
  739. package/src/lib/focus-left.ts +156 -0
  740. package/src/lib/format.ts +34 -19
  741. package/src/lib/http-status.ts +38 -0
  742. package/src/lib/intl-cache.ts +25 -0
  743. package/src/lib/isin.ts +10 -0
  744. package/src/lib/iso-day.ts +13 -0
  745. package/src/lib/lazy-with-fallback.ts +82 -0
  746. package/src/lib/path-pattern.ts +55 -0
  747. package/src/lib/reduced-motion.ts +2 -1
  748. package/src/lib/round.ts +7 -2
  749. package/src/lib/safe-storage.ts +48 -6
  750. package/src/lib/session-refresh.ts +1 -1
  751. package/src/lib/share-format.ts +18 -0
  752. package/src/lib/text-case.ts +19 -0
  753. package/src/lib/text-match.ts +69 -2
  754. package/src/lib/thenable.ts +19 -0
  755. package/src/lib/translation-review.ts +13 -5
  756. package/src/notifications/device-zone-report.ts +1 -1
  757. package/src/notifications/notification-bell.tsx +7 -4
  758. package/src/notifications/notification-inbox.tsx +40 -58
  759. package/src/notifications/notification-parts.tsx +3 -4
  760. package/src/notifications/notification-types-setting.tsx +1 -1
  761. package/src/notifications/notifications-labels.ts +7 -0
  762. package/src/notifications/push-device-setting.tsx +1 -1
  763. package/src/notifications/push-devices-setting.tsx +30 -55
  764. package/src/notifications/quiet-hours-setting.tsx +93 -31
  765. package/src/notifications/unsubscribe-panel.tsx +4 -7
  766. package/src/notifications/use-push-device.ts +76 -10
  767. package/src/offline/query-persistence.ts +35 -3
  768. package/src/rhf/fields.tsx +11 -4
  769. package/src/search/command-palette.tsx +2 -4
  770. package/src/search/global-search.tsx +36 -15
  771. package/src/search/use-command-key.ts +13 -12
  772. package/src/search.ts +9 -0
  773. package/src/settings/use-settings-focus.ts +3 -0
  774. package/src/shell/account-menu-language.tsx +27 -5
  775. package/src/shell/account-menu-text-size.tsx +32 -10
  776. package/src/shell/dev-menu.tsx +7 -21
  777. package/src/shell/role-switcher.tsx +7 -0
  778. package/src/shell/top-bar-actions.tsx +1 -1
  779. package/src/shell/top-bar-parts-labels.ts +0 -3
  780. package/src/shell.ts +40 -9
  781. package/src/sync/engine.ts +339 -61
  782. package/src/sync.ts +8 -1
  783. package/src/testing/css-variables.ts +8 -9
  784. package/src/theme/contrast.ts +8 -9
  785. package/src/theme/palette-store.ts +9 -9
  786. package/src/theme/text-size.ts +6 -8
  787. package/src/theme/theme-store.ts +7 -9
  788. package/src/tour/tour-catalogue.tsx +26 -15
  789. package/src/tour/tour-dock.ts +0 -2
  790. package/src/tour/tour-gates.ts +23 -0
  791. package/src/tour/tour-overlay.tsx +1170 -0
  792. package/src/tour/tour.tsx +116 -1193
  793. package/src/tour/use-tour-progress.ts +1 -1
  794. package/src/tour/use-tour-url-sync.ts +7 -3
  795. package/src/wizard/stepper-nav.tsx +3 -1
  796. package/src/wizard/types.ts +11 -2
  797. package/src/wizard/use-wizard.ts +2 -1
  798. package/src/wizard/validation.ts +8 -2
  799. package/tokens.css +2 -1
  800. package/dist/components/ui-labels.js.map +0 -1
  801. package/dist/shell/dev-switchers.d.ts +0 -6
  802. package/dist/shell/dev-switchers.js +0 -12
  803. package/dist/shell/dev-switchers.js.map +0 -1
  804. package/src/components/ui-labels.ts +0 -24
  805. package/src/shell/dev-switchers.tsx +0 -18
@@ -1,13 +1,15 @@
1
- import { lazy, Suspense, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
2
- import type { ReactNode } from "react";
1
+ import { Suspense, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
2
+ import type { ComponentProps, ReactNode } from "react";
3
3
  import { useHref, useInRouterContext, useNavigate } from "react-router";
4
4
  import { AlertCircle, Loader2, Search } from "lucide-react";
5
5
  import { Tooltip } from "../components/tooltip";
6
6
  import { TOPBAR_TRIGGER_CLASS } from "../shell/topbar-controls";
7
7
  import { cn } from "../lib/cn";
8
+ import { lazyWithFallback, type LazyFallbackProps } from "../lib/lazy-with-fallback";
9
+ import { isApplePlatform } from "../hooks/use-hotkey";
8
10
  import { useKitLabels, type LabelOverride } from "../i18n/kit-labels";
9
11
  // Types only from ./command-palette, gone from the built module: the palette loads late.
10
- import type { CommandItem, CommandPaletteDensity, CommandPaletteLabels } from "./command-palette";
12
+ import type { CommandItem, CommandPalette, CommandPaletteDensity, CommandPaletteLabels } from "./command-palette";
11
13
  import { DEFAULT_COMMAND_PALETTE_LABELS } from "./command-palette-labels";
12
14
  import { useCommandKey } from "./use-command-key";
13
15
  import { createSearchIndex } from "./search-index";
@@ -20,11 +22,32 @@ import { DEFAULT_GLOBAL_SEARCH_LABELS } from "./global-search-labels";
20
22
  * entry chunks, for a dialog drawn only once somebody searches. A LITERAL relative
21
23
  * `import()`, as the catalogue loaders are (i18n/languages.ts), so the library build keeps
22
24
  * the module its own and an app's bundler splits it off.
25
+ *
26
+ * A fetch that fails — a tab left open across a deploy, offline — closes the search rather
27
+ * than throwing (0.52 code review, tour.tsx): the top bar sits above the routes' error
28
+ * boundaries in these apps, so the rejected import took the whole shell down on ⌘K.
23
29
  */
24
- const LazyCommandPalette = lazy(() =>
25
- import("./command-palette").then((module) => ({ default: module.CommandPalette })),
30
+ const LazyCommandPalette = lazyWithFallback(
31
+ () => import("./command-palette").then((module) => module.CommandPalette),
32
+ PaletteUnavailable,
26
33
  );
27
34
 
35
+ /**
36
+ * Stands in for a palette whose chunk did not arrive. Mounted open — this attempt's fetch
37
+ * failed — it closes the search, so the trigger and ⌘K work again; opened after that, it
38
+ * fetches again, and the palette appears if it comes. Never both in one open: offline, a
39
+ * retry on the open it closes would fetch in a loop.
40
+ */
41
+ function PaletteUnavailable({ open, onClose, retry }: ComponentProps<typeof CommandPalette> & LazyFallbackProps) {
42
+ const failedOpen = useRef(open);
43
+ useLayoutEffect(() => {
44
+ if (!open) failedOpen.current = false;
45
+ else if (failedOpen.current) onClose();
46
+ else retry();
47
+ }, [open, onClose, retry]);
48
+ return null;
49
+ }
50
+
28
51
  export interface GlobalSearchLabels {
29
52
  /** The trigger's accessible name, and the dialog's. */
30
53
  trigger: string;
@@ -193,12 +216,6 @@ export interface GlobalSearchProps {
193
216
  [key: `data-${string}`]: string | number | boolean | undefined;
194
217
  }
195
218
 
196
- function isApplePlatform(): boolean {
197
- if (typeof navigator === "undefined") return false;
198
- const nav = navigator as Navigator & { userAgentData?: { platform?: string } };
199
- return /mac|iphone|ipad|ipod/i.test(nav.userAgentData?.platform || nav.platform || nav.userAgent);
200
- }
201
-
202
219
  const pageLoad = (href: string) => window.location.assign(href);
203
220
  const identity = (href: string) => href;
204
221
 
@@ -347,7 +364,8 @@ function GlobalSearchImpl({
347
364
 
348
365
  const openSearch = useCallback(() => setOpen(true), [setOpen]);
349
366
  const noop = useCallback(() => {}, []);
350
- useCommandKey(shortcut ? openSearch : noop);
367
+ // Off, not a no-op: a no-op still cancelled every Mod+K (0.52 code review, global-search.tsx).
368
+ useCommandKey(openSearch, { enabled: shortcut });
351
369
 
352
370
  /* ── the static index ─────────────────────────────────────────────────── */
353
371
 
@@ -572,6 +590,7 @@ function GlobalSearchImpl({
572
590
  [l.trigger, l.placeholder, paletteLabels],
573
591
  );
574
592
 
593
+ // `useHotkey`'s own platform check, so the label and the chord it answers never disagree.
575
594
  const apple = useMemo(() => isApplePlatform(), []);
576
595
  const keys = apple ? "⌘K" : "Ctrl K";
577
596
  const triggerLabel = triggerName === "withShortcut" ? l.shortcut(keys) : l.trigger;
@@ -580,7 +599,10 @@ function GlobalSearchImpl({
580
599
  label: triggerLabel,
581
600
  tooltip: l.shortcut(keys),
582
601
  keys,
583
- ariaKeyShortcuts: "Meta+K Control+K",
602
+ // The one chord that opens it here: Mod+K since 0.52 (DUP-12). Both were announced,
603
+ // and on every platform one of them did nothing — Control+K is a Mac text field's
604
+ // kill-line (0.52 code review, global-search.tsx).
605
+ ariaKeyShortcuts: apple ? "Meta+K" : "Control+K",
584
606
  };
585
607
 
586
608
  return (
@@ -613,8 +635,7 @@ function GlobalSearchImpl({
613
635
  </Tooltip>
614
636
  )}
615
637
  {/* Nothing is drawn while the palette's module is on its way (a few milliseconds,
616
- once per page load). A failed load is a chunk-load error for the app's error
617
- boundary, as a lazy route's is. */}
638
+ once per page load). A failed load closes the search (`PaletteUnavailable`). */}
618
639
  {paletteMounted && (
619
640
  <Suspense fallback={null}>
620
641
  <LazyCommandPalette
@@ -1,4 +1,4 @@
1
- import { useEffect } from "react";
1
+ import { useHotkey, type UseHotkeyOptions } from "../hooks/use-hotkey";
2
2
 
3
3
  /**
4
4
  * Registers a global ⌘K / Ctrl-K shortcut that calls `onOpen`.
@@ -7,16 +7,17 @@ import { useEffect } from "react";
7
7
  * the shortcut from the moment the top bar mounts but loads the palette only when it is
8
8
  * first opened, and a hook imported from command-palette.tsx would have brought the
9
9
  * palette along with it. Still exported from command-palette.tsx, where it always was.
10
+ *
11
+ * `useHotkey("Mod+K")` since 0.52 (refactor audit 2026-10-30, DUP-12): Cmd+K on a Mac,
12
+ * Ctrl+K elsewhere, with no other modifier, once per press. Hand-rolled, it took Ctrl+K
13
+ * on a Mac as well — a text field's kill-line there — and Ctrl+Shift+K, Cmd+Alt+K and
14
+ * every repeat of a held key. It still fires from inside a text field: the palette is
15
+ * where a search starts, whatever has focus.
16
+ *
17
+ * `enabled: false` lets Mod+K go (0.52 code review, global-search.tsx): `GlobalSearch
18
+ * shortcut={false}` passed a no-op, and the listener still cancelled every Mod+K — the
19
+ * browser's own Ctrl+K and any other handler on the page that checks `defaultPrevented`.
10
20
  */
11
- export function useCommandKey(onOpen: () => void): void {
12
- useEffect(() => {
13
- const handler = (e: KeyboardEvent) => {
14
- if ((e.metaKey || e.ctrlKey) && (e.key === "k" || e.key === "K")) {
15
- e.preventDefault();
16
- onOpen();
17
- }
18
- };
19
- document.addEventListener("keydown", handler);
20
- return () => document.removeEventListener("keydown", handler);
21
- }, [onOpen]);
21
+ export function useCommandKey(onOpen: () => void, options: Pick<UseHotkeyOptions, "enabled"> = {}): void {
22
+ useHotkey("Mod+K", () => onOpen(), { allowInInputs: true, enabled: options.enabled });
22
23
  }
package/src/search.ts CHANGED
@@ -2,4 +2,13 @@
2
2
  // A re-slicing of the main barrel, not a new API.
3
3
  export * from "./search/command-palette";
4
4
  export * from "./search/search-index";
5
+ // 0.52: the slice's share of the 55 names no app reads (refactor audit 2026-10-30, API-4).
6
+ export {
7
+ /** @deprecated 0.52 — `createSearchIndex`, whose ranking tiers it spaces (API-4); removed in 0.53 */
8
+ SEARCH_TIER_POINTS,
9
+ /** @deprecated 0.52 — `createSearchIndex(entries).search(query)`, the same match (API-4); removed in 0.53 */
10
+ matchEntries,
11
+ /** @deprecated 0.52 — `foldForSearch`, the list fold it builds on (API-4); removed in 0.53 */
12
+ normalizeSearchText,
13
+ } from "./search/search-index";
5
14
  export * from "./search/global-search";
@@ -59,6 +59,9 @@ export function useSettingsFocus(anchor?: string | null): void {
59
59
  if (ring.current) {
60
60
  window.clearTimeout(ring.current.timer);
61
61
  ring.current.el.classList.remove(...SETTINGS_FOCUS_RING);
62
+ // The mark goes with the ring, as the timer's own end takes both: left behind, the
63
+ // first card stayed "focused" for good (keksdose's matching-tab test reads it).
64
+ ring.current.el.removeAttribute("data-settings-focus");
62
65
  }
63
66
  el.classList.add(...SETTINGS_FOCUS_RING);
64
67
  el.setAttribute("data-settings-focus", "");
@@ -39,13 +39,11 @@ function flagOf(lang: AccountMenuLanguageOption): ReactNode {
39
39
  );
40
40
  }
41
41
 
42
- export interface AccountMenuLanguageProps {
42
+ /** {@link AccountMenuLanguageProps} but the handler. */
43
+ interface AccountMenuLanguageBaseProps {
43
44
  languages: readonly AccountMenuLanguageOption[];
44
45
  /** The active language's code. */
45
46
  value: string | undefined;
46
- /** A pick: the app sets the device's language and, signed in, the account's
47
- * (settings §6.2). */
48
- onPick: (code: string) => void;
49
47
  /** The account menu's `close` (from `TopBarActionMenu`'s `children`): a pick shuts it. */
50
48
  close?: () => void;
51
49
  /** The row's name. Default: `topBar.language` ("Language"). */
@@ -54,6 +52,28 @@ export interface AccountMenuLanguageProps {
54
52
  defaultOpen?: boolean;
55
53
  }
56
54
 
55
+ /**
56
+ * `onChange`, or the deprecated `onPick`, is required: with both optional, a row an app
57
+ * moved off `onPick` without adding `onChange` — or with it misspelt — compiled, and a
58
+ * pick only closed the menu (0.52 code review, account-menu-language.tsx).
59
+ */
60
+ export type AccountMenuLanguageProps = AccountMenuLanguageBaseProps &
61
+ (
62
+ | {
63
+ /** A pick: the app sets the device's language and, signed in, the account's
64
+ * (settings §6.2). `value` + `onChange`, as every kit control pairs them
65
+ * (CONTRIBUTING §4; refactor audit 2026-10-30, API-5). */
66
+ onChange: (code: string) => void;
67
+ /** @deprecated 0.52 — `onChange` (the same call); removed in 0.53. */
68
+ onPick?: (code: string) => void;
69
+ }
70
+ | {
71
+ onChange?: undefined;
72
+ /** @deprecated 0.52 — `onChange` (the same call); removed in 0.53. */
73
+ onPick: (code: string) => void;
74
+ }
75
+ );
76
+
57
77
  /**
58
78
  * The language choice INSIDE the account menu (docs/top-bar-harmonization.md §2.3),
59
79
  * keksdose's sub-list: a `Disclosure variant="menu"` row — the globe, "Language", the
@@ -68,11 +88,13 @@ export interface AccountMenuLanguageProps {
68
88
  export function AccountMenuLanguage({
69
89
  languages,
70
90
  value,
91
+ onChange,
71
92
  onPick,
72
93
  close,
73
94
  label,
74
95
  defaultOpen = false,
75
96
  }: AccountMenuLanguageProps) {
97
+ const change = onChange ?? onPick;
76
98
  const words = useKitLabels("topBar", DEFAULT_TOP_BAR_LABELS);
77
99
  const [open, setOpen] = useState(defaultOpen);
78
100
  const active = languages.find((l) => l.code === value);
@@ -109,7 +131,7 @@ export function AccountMenuLanguage({
109
131
  <MenuItem
110
132
  checked={lang.code === value}
111
133
  onClick={() => {
112
- onPick(lang.code);
134
+ change?.(lang.code);
113
135
  setOpen(false);
114
136
  close?.();
115
137
  }}
@@ -4,23 +4,44 @@ import { useAppearanceLabels, type AppearanceLabels } from "../components/appear
4
4
  import type { LabelOverride } from "../i18n/kit-labels";
5
5
  import { TEXT_SIZES, useTextSize, type TextSize } from "../theme/text-size";
6
6
 
7
- export interface AccountMenuTextSizeProps {
7
+ /** {@link AccountMenuTextSizeProps} but the handler. */
8
+ interface AccountMenuTextSizeBaseProps {
8
9
  /** The size in force. Default: the one on `<html>` ({@link useTextSize}), which is the
9
10
  * size whoever applied it put there. */
10
11
  value?: TextSize;
11
- /**
12
- * A step: the next size down or up. The app applies it and keeps it as its Settings ▸
13
- * Appearance does — `useAccountAppearance`'s `pickTextSize` (this device, and the
14
- * account when signed in), with `appearance.saveFailed` as the toast when the account
15
- * refused. The kit does not apply it itself, so the two places can never disagree.
16
- */
17
- onPick: (size: TextSize) => void;
18
12
  /** The row's name. Default: `appearance.textSize` ("Text size"). */
19
13
  label?: string;
20
14
  /** The `appearance` words (`textSize`, `textSizes`, `textSmaller`, `textLarger`). */
21
15
  labels?: LabelOverride<AppearanceLabels>;
22
16
  }
23
17
 
18
+ /**
19
+ * `onChange`, or the deprecated `onPick`, is required: with both optional, a row an app
20
+ * moved off `onPick` without adding `onChange` — or with it misspelt — compiled, and A− /
21
+ * A+ stayed enabled and changed nothing (0.52 code review, account-menu-language.tsx).
22
+ */
23
+ export type AccountMenuTextSizeProps = AccountMenuTextSizeBaseProps &
24
+ (
25
+ | {
26
+ /**
27
+ * A step: the next size down or up. The app applies it and keeps it as its
28
+ * Settings ▸ Appearance does — `useAccountAppearance`'s `pickTextSize` (this
29
+ * device, and the account when signed in), with `appearance.saveFailed` as the
30
+ * toast when the account refused. The kit does not apply it itself, so the two
31
+ * places can never disagree. `value` + `onChange`, as every kit control pairs them
32
+ * (CONTRIBUTING §4; refactor audit 2026-10-30, API-5).
33
+ */
34
+ onChange: (size: TextSize) => void;
35
+ /** @deprecated 0.52 — `onChange` (the same call); removed in 0.53. */
36
+ onPick?: (size: TextSize) => void;
37
+ }
38
+ | {
39
+ onChange?: undefined;
40
+ /** @deprecated 0.52 — `onChange` (the same call); removed in 0.53. */
41
+ onPick: (size: TextSize) => void;
42
+ }
43
+ );
44
+
24
45
  /**
25
46
  * The text size one tap away, INSIDE the account menu (0.46, keksdose live #426, its
26
47
  * `TextSizeRow`): the row's icon and name, the size in force, and A− / A+, which step
@@ -34,14 +55,15 @@ export interface AccountMenuTextSizeProps {
34
55
  * behind it and can step again. The size's name is a polite live region, so a step is
35
56
  * announced.
36
57
  */
37
- export function AccountMenuTextSize({ value, onPick, label, labels: labelsProp }: AccountMenuTextSizeProps) {
58
+ export function AccountMenuTextSize({ value, onChange, onPick, label, labels: labelsProp }: AccountMenuTextSizeProps) {
59
+ const change = onChange ?? onPick;
38
60
  const labels = useAppearanceLabels(labelsProp);
39
61
  const onHtml = useTextSize().size;
40
62
  const size = value ?? onHtml;
41
63
  const index = TEXT_SIZES.indexOf(size);
42
64
  const step = (by: -1 | 1) => {
43
65
  const next = TEXT_SIZES[index + by];
44
- if (next) onPick(next);
66
+ if (next) change?.(next);
45
67
  };
46
68
  return (
47
69
  <li data-account-menu-text-size="" className="flex items-center gap-2 px-3 py-1.5 text-sm">
@@ -4,27 +4,13 @@ import { FlaskConical, Undo2 } from "lucide-react";
4
4
  import { DEFAULT_TOP_BAR_LABELS, useKitLabels, type LabelOverride } from "../i18n/kit-labels";
5
5
  import { TopBarActionMenu, type TopBarMenuEntry } from "./topbar-action-menu";
6
6
  import { useTopBarPartsLabels, type DevSwitchersLabels } from "./top-bar-parts-labels";
7
+ // The kit's one storage guard, which 0.51 wrote here again by hand (DUP-8, refactor audit
8
+ // 2026-10-30). Storage blocked, "Back to" lasts as long as this page.
9
+ import { readSessionStored, writeSessionStored } from "../lib/safe-storage";
7
10
 
8
11
  /** Where the role the session started with is kept, unless the app names its own key. */
9
12
  export const DEV_ORIGINAL_ROLE_KEY = "ui-kit:dev-original-role";
10
13
 
11
- function readKey(key: string): string | null {
12
- try {
13
- return sessionStorage.getItem(key);
14
- } catch {
15
- return null;
16
- }
17
- }
18
-
19
- function writeKey(key: string, value: string | null): void {
20
- try {
21
- if (value === null) sessionStorage.removeItem(key);
22
- else sessionStorage.setItem(key, value);
23
- } catch {
24
- /* storage blocked: "Back to" lasts as long as this page */
25
- }
26
- }
27
-
28
14
  /**
29
15
  * One of the app's own groups in the {@link DevMenu} (docs/top-bar-harmonization.md
30
16
  * §2.7.1): keksdose's budget role, its "today" override, its resets.
@@ -151,14 +137,14 @@ export function DevMenu<R extends string, P extends string>({
151
137
  }: DevMenuProps<R, P>) {
152
138
  const bar = useKitLabels("topBar", DEFAULT_TOP_BAR_LABELS);
153
139
  const words = useTopBarPartsLabels(labelsProp ? { dev: labelsProp } : undefined).dev;
154
- const [kept, setKept] = useState<string | null>(() => (enabled ? readKey(storageKey) : null));
140
+ const [kept, setKept] = useState<string | null>(() => (enabled ? readSessionStored(storageKey) : null));
155
141
  // 0.43 (keksdose): `enabled` may start false and turn true — an app's GET probe of the
156
142
  // dev route — so the kept role is read again then, or "Back to {role}" is lost after a
157
143
  // reload. Adjusted during render, React's pattern for state that follows a prop.
158
144
  const [wasEnabled, setWasEnabled] = useState(enabled);
159
145
  if (wasEnabled !== enabled) {
160
146
  setWasEnabled(enabled);
161
- if (enabled) setKept(readKey(storageKey));
147
+ if (enabled) setKept(readSessionStored(storageKey));
162
148
  }
163
149
  if (!enabled) return null;
164
150
 
@@ -168,10 +154,10 @@ export function DevMenu<R extends string, P extends string>({
168
154
  if (originalRole === undefined) {
169
155
  if (next === original) {
170
156
  // Back where the session began: nothing left to go back to.
171
- writeKey(storageKey, null);
157
+ writeSessionStored(storageKey, null);
172
158
  setKept(null);
173
159
  } else if (kept === null && role !== undefined && next !== role) {
174
- writeKey(storageKey, role);
160
+ writeSessionStored(storageKey, role);
175
161
  setKept(role);
176
162
  }
177
163
  }
@@ -2,6 +2,7 @@ import { FlaskConical } from "lucide-react";
2
2
  import { OptionSwitcherMenu } from "./option-switcher-menu";
3
3
  import { DEFAULT_TOP_BAR_LABELS, useKitLabels } from "../i18n/kit-labels";
4
4
 
5
+ /** @deprecated 0.52 — `DevMenuProps` (`roles`, `currentRole`, `onRole`) (MOD-5); removed in 0.53. */
5
6
  export interface RoleSwitcherProps<R extends string> {
6
7
  roles: readonly R[];
7
8
  value: R;
@@ -22,6 +23,12 @@ export interface RoleSwitcherProps<R extends string> {
22
23
  * The flask wears `--warning` rather than a fixed `amber-500`: it is a caution
23
24
  * marker — the app is not showing you your own role — and the token carries that
24
25
  * amber across both themes instead of pinning one hue onto every palette.
26
+ *
27
+ * Deprecated in 0.52, removed in 0.53 (decision 4 of the refactor audit 2026-10-30,
28
+ * MOD-5): the role switch every app draws is `DevMenu`'s Account section (0.51), and no
29
+ * app renders this one.
30
+ *
31
+ * @deprecated 0.52 — `DevMenu` with `roles`, `currentRole` and `onRole` (MOD-5); removed in 0.53.
25
32
  */
26
33
  export function RoleSwitcher<R extends string>({
27
34
  roles,
@@ -23,7 +23,7 @@ export interface TopBarActionsProps {
23
23
  /** `DevMenu` (0.51, docs/top-bar-harmonization.md §2.7.1): the one flask — the role,
24
24
  * the plan, then the app's own dev sections. Fill it only behind
25
25
  * `import.meta.env.DEV`, so a production build drops the branch. (0.42's
26
- * `DevSwitchers`, deprecated, is a DevMenu with no sections.) */
26
+ * `DevSwitchers` was a DevMenu with no sections; removed in 0.52.) */
27
27
  dev?: ReactNode;
28
28
  /** kastlan's platform button. */
29
29
  platform?: ReactNode;
@@ -82,8 +82,6 @@ export interface DevSwitchersLabels {
82
82
  overridesOn: string;
83
83
  /** The heading of the role group. */
84
84
  roleHeading: string;
85
- /** @deprecated 0.51 — DevMenu's one flask is named by `menu`; removed in 0.52. */
86
- switchPlan: string;
87
85
  /** The plan in the flask's name, given the active plan. */
88
86
  plan: (value: string) => string;
89
87
  /** The heading of the plan group. */
@@ -137,7 +135,6 @@ export const DEFAULT_TOP_BAR_PARTS_LABELS: TopBarPartsLabels = {
137
135
  menu: "Dev tools",
138
136
  overridesOn: "Overrides on",
139
137
  roleHeading: "Dev · role",
140
- switchPlan: "Switch plan",
141
138
  plan: (value) => `Plan: ${value}`,
142
139
  planHeading: "Dev · plan",
143
140
  backTo: (role) => `Back to ${role}`,
package/src/shell.ts CHANGED
@@ -5,6 +5,14 @@
5
5
  export * from "./shell/topbar-controls";
6
6
  export * from "./shell/top-bar";
7
7
  export * from "./shell/app-shell";
8
+ // 0.52: the slice's share of the 55 names no app reads (refactor audit 2026-10-30, API-4,
9
+ // decision 4), tagged on their specifiers as the barrel's are — the modules keep them.
10
+ export {
11
+ /** @deprecated 0.52 — `AppShell`, which picks its phone bar with it (API-4); removed in 0.53 */
12
+ pickMobileBar,
13
+ /** @deprecated 0.52 — `AppShell`, which splits its phone bar with it (API-4); removed in 0.53 */
14
+ splitMobileBar,
15
+ } from "./shell/app-shell";
8
16
  export * from "./shell/option-switcher-menu";
9
17
  export * from "./shell/role-switcher";
10
18
  export * from "./shell/topbar-action-menu";
@@ -25,12 +33,18 @@ export type { UseAdminMenuEntryOptions } from "./shell/admin-menu";
25
33
  export { AdminWaitingBadge } from "./shell/admin-menu";
26
34
  export type { AdminWaitingBadgeProps } from "./shell/admin-menu";
27
35
  // 0.31.0: the settings and admin pages' shell (docs/settings-harmonization.md §3, §5).
28
- export { SettingsLayout, SETTINGS_SEARCH_THRESHOLD } from "./settings/settings-layout";
36
+ export {
37
+ SettingsLayout,
38
+ /** @deprecated 0.52 — `SettingsLayout`, which shows its search past that many entries (API-4); removed in 0.53 */
39
+ SETTINGS_SEARCH_THRESHOLD,
40
+ } from "./settings/settings-layout";
29
41
  export type { SettingsLayoutProps, SettingsLayoutWidth, SettingsDocumentTitleParts } from "./settings/settings-layout";
30
42
  export {
31
43
  useSettingsRoute,
44
+ /** @deprecated 0.52 — `useSettingsRoute`, which resolves the location with it (API-4); removed in 0.53 */
32
45
  resolveSettingsLocation,
33
46
  settingsFromListState,
47
+ /** @deprecated 0.52 — `settingsFromListState` and `useSettingsRoute`, which write and read it (API-4); removed in 0.53 */
34
48
  SETTINGS_FROM_LIST_STATE,
35
49
  } from "./settings/use-settings-route";
36
50
  export type {
@@ -41,7 +55,14 @@ export type {
41
55
  SettingsLocationRules,
42
56
  SettingsLocationResult,
43
57
  } from "./settings/use-settings-route";
44
- export { useSettingsFocus, useFocusParam, SETTINGS_FOCUS_RING, SETTINGS_FOCUS_MS } from "./settings/use-settings-focus";
58
+ export {
59
+ useSettingsFocus,
60
+ useFocusParam,
61
+ /** @deprecated 0.52 — `useSettingsFocus` / `useFocusParam`, which ring the card with it (API-4); removed in 0.53 */
62
+ SETTINGS_FOCUS_RING,
63
+ /** @deprecated 0.52 — `useSettingsFocus` / `useFocusParam`, which hold the ring that long (API-4); removed in 0.53 */
64
+ SETTINGS_FOCUS_MS,
65
+ } from "./settings/use-settings-focus";
45
66
  export { SettingsSection } from "./settings/settings-section";
46
67
  export type { SettingsSectionProps } from "./settings/settings-section";
47
68
  export { useSettingsLayout } from "./settings/settings-context";
@@ -77,8 +98,12 @@ export { PublicHeader } from "./landing/public-header";
77
98
  export type { PublicHeaderProps, PublicHeaderBrand } from "./landing/public-header";
78
99
  // 0.42.0: the top bar's shared parts (docs/top-bar-harmonization.md §3.1) — the slots in
79
100
  // §2.1's order, the account menu's language sub-list, the tours menu, the sync status, the
80
- // local-dev switchers, and their words.
81
- export { TopBarActions, TOP_BAR_ACTION_ORDER } from "./shell/top-bar-actions";
101
+ // local-dev menu, and their words.
102
+ export {
103
+ TopBarActions,
104
+ /** @deprecated 0.52 — `TopBarActions`, which puts its slots in that order (API-4); removed in 0.53 */
105
+ TOP_BAR_ACTION_ORDER,
106
+ } from "./shell/top-bar-actions";
82
107
  export type { TopBarActionsProps } from "./shell/top-bar-actions";
83
108
  export { AccountMenuLanguage } from "./shell/account-menu-language";
84
109
  export type { AccountMenuLanguageProps, AccountMenuLanguageOption } from "./shell/account-menu-language";
@@ -87,14 +112,20 @@ export { AccountMenuTextSize } from "./shell/account-menu-text-size";
87
112
  export type { AccountMenuTextSizeProps } from "./shell/account-menu-text-size";
88
113
  export { TourMenu } from "./shell/tour-menu";
89
114
  export type { TourMenuProps, TourMenuTour } from "./shell/tour-menu";
90
- export { SyncStatusIndicator, syncState } from "./shell/sync-status-indicator";
115
+ export {
116
+ SyncStatusIndicator,
117
+ /** @deprecated 0.52 — `SyncStatusIndicator`, which derives its state with it (API-4); removed in 0.53 */
118
+ syncState,
119
+ } from "./shell/sync-status-indicator";
91
120
  export type { SyncStatus, SyncState, SyncStatusScope, SyncStatusIndicatorProps } from "./shell/sync-status-indicator";
92
121
  // 0.51 (§2.7.1, keksdose): one flask, the kit's Account section and the app's own dev
93
- // sections; `DevSwitchers` is a deprecated wrapper over it until 0.52.
94
- export { DevMenu, DEV_ORIGINAL_ROLE_KEY } from "./shell/dev-menu";
122
+ // sections. 0.42's `DevSwitchers`, a DevMenu with no sections since 0.51, went in 0.52.
123
+ export {
124
+ DevMenu,
125
+ /** @deprecated 0.52 — `DevMenu`, which keeps the role there unless `storageKey` names another key (API-4); removed in 0.53 */
126
+ DEV_ORIGINAL_ROLE_KEY,
127
+ } from "./shell/dev-menu";
95
128
  export type { DevMenuProps, DevMenuSection } from "./shell/dev-menu";
96
- export { DevSwitchers } from "./shell/dev-switchers";
97
- export type { DevSwitchersProps } from "./shell/dev-switchers";
98
129
  export { DEFAULT_TOP_BAR_PARTS_LABELS, useTopBarPartsLabels } from "./shell/top-bar-parts-labels";
99
130
  export type {
100
131
  TopBarPartsLabels,