@eifi1/ui-kit 0.33.0 → 0.34.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 (1539) hide show
  1. package/README.md +445 -283
  2. package/dist/account/account-parts.d.ts +6 -8
  3. package/dist/account/account-parts.js +1 -2
  4. package/dist/account/account-parts.js.map +1 -1
  5. package/dist/{components → account}/account-settings-labels.d.ts +16 -10
  6. package/dist/{components → account}/account-settings-labels.js +3 -1
  7. package/dist/account/account-settings-labels.js.map +1 -0
  8. package/dist/{components → account}/account-settings.d.ts +53 -23
  9. package/dist/{components → account}/account-settings.js +97 -26
  10. package/dist/account/account-settings.js.map +1 -0
  11. package/dist/account/data-export-setting-labels.d.ts +2 -0
  12. package/dist/account/data-export-setting-labels.js +15 -0
  13. package/dist/account/data-export-setting-labels.js.map +1 -0
  14. package/dist/account/data-export-setting.d.ts +9 -11
  15. package/dist/account/data-export-setting.js +11 -27
  16. package/dist/account/data-export-setting.js.map +1 -1
  17. package/dist/account/delete-account-setting-labels.d.ts +2 -0
  18. package/dist/account/delete-account-setting-labels.js +23 -0
  19. package/dist/account/delete-account-setting-labels.js.map +1 -0
  20. package/dist/account/delete-account-setting.d.ts +132 -100
  21. package/dist/account/delete-account-setting.js +7 -23
  22. package/dist/account/delete-account-setting.js.map +1 -1
  23. package/dist/account/email-change-setting-labels.d.ts +2 -0
  24. package/dist/account/email-change-setting-labels.js +28 -0
  25. package/dist/account/email-change-setting-labels.js.map +1 -0
  26. package/dist/account/email-change-setting.d.ts +10 -12
  27. package/dist/account/email-change-setting.js +11 -30
  28. package/dist/account/email-change-setting.js.map +1 -1
  29. package/dist/{components → account}/passkeys-setting.d.ts +9 -12
  30. package/dist/{components → account}/passkeys-setting.js +10 -7
  31. package/dist/account/passkeys-setting.js.map +1 -0
  32. package/dist/account/sessions-setting-labels.d.ts +2 -0
  33. package/dist/account/sessions-setting-labels.js +22 -0
  34. package/dist/account/sessions-setting-labels.js.map +1 -0
  35. package/dist/account/sessions-setting.d.ts +12 -14
  36. package/dist/account/sessions-setting.js +8 -23
  37. package/dist/account/sessions-setting.js.map +1 -1
  38. package/dist/admin/admin-action-confirm-labels.d.ts +2 -0
  39. package/dist/admin/admin-action-confirm-labels.js +16 -0
  40. package/dist/admin/admin-action-confirm-labels.js.map +1 -0
  41. package/dist/admin/admin-action-confirm.d.ts +156 -100
  42. package/dist/admin/admin-action-confirm.js +17 -22
  43. package/dist/admin/admin-action-confirm.js.map +1 -1
  44. package/dist/admin/admin-action-log-labels.d.ts +2 -0
  45. package/dist/admin/admin-action-log-labels.js +73 -0
  46. package/dist/admin/admin-action-log-labels.js.map +1 -0
  47. package/dist/admin/admin-action-log.d.ts +98 -22
  48. package/dist/admin/admin-action-log.js +48 -45
  49. package/dist/admin/admin-action-log.js.map +1 -1
  50. package/dist/admin/admin-parts.d.ts +7 -14
  51. package/dist/admin/admin-parts.js +0 -4
  52. package/dist/admin/admin-parts.js.map +1 -1
  53. package/dist/admin/invitations-panel-labels.d.ts +2 -0
  54. package/dist/admin/invitations-panel-labels.js +29 -0
  55. package/dist/admin/invitations-panel-labels.js.map +1 -0
  56. package/dist/admin/invitations-panel.d.ts +167 -100
  57. package/dist/admin/invitations-panel.js +12 -31
  58. package/dist/admin/invitations-panel.js.map +1 -1
  59. package/dist/admin/plan-change-labels.d.ts +2 -0
  60. package/dist/admin/plan-change-labels.js +22 -0
  61. package/dist/admin/plan-change-labels.js.map +1 -0
  62. package/dist/admin/plan-change.d.ts +244 -100
  63. package/dist/admin/plan-change.js +17 -23
  64. package/dist/admin/plan-change.js.map +1 -1
  65. package/dist/admin/reviewer-scope-editor-labels.d.ts +2 -0
  66. package/dist/admin/reviewer-scope-editor-labels.js +14 -0
  67. package/dist/admin/reviewer-scope-editor-labels.js.map +1 -0
  68. package/dist/admin/reviewer-scope-editor.d.ts +95 -100
  69. package/dist/admin/reviewer-scope-editor.js +5 -13
  70. package/dist/admin/reviewer-scope-editor.js.map +1 -1
  71. package/dist/admin/role-select-labels.d.ts +2 -0
  72. package/dist/admin/role-select-labels.js +15 -0
  73. package/dist/admin/role-select-labels.js.map +1 -0
  74. package/dist/admin/role-select.d.ts +136 -100
  75. package/dist/admin/role-select.js +7 -18
  76. package/dist/admin/role-select.js.map +1 -1
  77. package/dist/admin/transfer-ownership-dialog-labels.d.ts +2 -0
  78. package/dist/admin/transfer-ownership-dialog-labels.js +18 -0
  79. package/dist/admin/transfer-ownership-dialog-labels.js.map +1 -0
  80. package/dist/admin/transfer-ownership-dialog.d.ts +81 -100
  81. package/dist/admin/transfer-ownership-dialog.js +3 -15
  82. package/dist/admin/transfer-ownership-dialog.js.map +1 -1
  83. package/dist/admin/user-roster-labels.d.ts +2 -0
  84. package/dist/admin/user-roster-labels.js +16 -0
  85. package/dist/admin/user-roster-labels.js.map +1 -0
  86. package/dist/admin/user-roster.d.ts +225 -100
  87. package/dist/admin/user-roster.js +4 -14
  88. package/dist/admin/user-roster.js.map +1 -1
  89. package/dist/auth/accept-invitation-labels.d.ts +2 -0
  90. package/dist/auth/accept-invitation-labels.js +20 -0
  91. package/dist/auth/accept-invitation-labels.js.map +1 -0
  92. package/dist/auth/accept-invitation.d.ts +11 -13
  93. package/dist/auth/accept-invitation.js +3 -16
  94. package/dist/auth/accept-invitation.js.map +1 -1
  95. package/dist/auth/auth-errors.d.ts +34 -23
  96. package/dist/auth/auth-errors.js +8 -4
  97. package/dist/auth/auth-errors.js.map +1 -1
  98. package/dist/auth/complete-name-dialog-labels.d.ts +2 -0
  99. package/dist/auth/complete-name-dialog-labels.js +14 -0
  100. package/dist/auth/complete-name-dialog-labels.js.map +1 -0
  101. package/dist/auth/complete-name-dialog.d.ts +9 -11
  102. package/dist/auth/complete-name-dialog.js +4 -11
  103. package/dist/auth/complete-name-dialog.js.map +1 -1
  104. package/dist/auth/email-tag.d.ts +2 -4
  105. package/dist/auth/forgot-password-form-labels.d.ts +3 -0
  106. package/dist/auth/forgot-password-form-labels.js +17 -0
  107. package/dist/auth/forgot-password-form-labels.js.map +1 -0
  108. package/dist/auth/forgot-password-form.d.ts +9 -12
  109. package/dist/auth/forgot-password-form.js +6 -15
  110. package/dist/auth/forgot-password-form.js.map +1 -1
  111. package/dist/auth/form-rules.d.ts +5 -7
  112. package/dist/auth/new-password-fields.d.ts +4 -8
  113. package/dist/auth/new-password-fields.js +1 -1
  114. package/dist/auth/new-password-fields.js.map +1 -1
  115. package/dist/auth/not-found-page-labels.d.ts +2 -0
  116. package/dist/auth/not-found-page-labels.js +11 -0
  117. package/dist/auth/not-found-page-labels.js.map +1 -0
  118. package/dist/auth/not-found-page.d.ts +9 -11
  119. package/dist/auth/not-found-page.js +5 -10
  120. package/dist/auth/not-found-page.js.map +1 -1
  121. package/dist/auth/register-form-labels.d.ts +3 -0
  122. package/dist/auth/register-form-labels.js +28 -0
  123. package/dist/auth/register-form-labels.js.map +1 -0
  124. package/dist/auth/register-form.d.ts +174 -100
  125. package/dist/auth/register-form.js +11 -31
  126. package/dist/auth/register-form.js.map +1 -1
  127. package/dist/auth/reset-password-form-labels.d.ts +3 -0
  128. package/dist/auth/reset-password-form-labels.js +24 -0
  129. package/dist/auth/reset-password-form-labels.js.map +1 -0
  130. package/dist/auth/reset-password-form.d.ts +12 -15
  131. package/dist/auth/reset-password-form.js +6 -22
  132. package/dist/auth/reset-password-form.js.map +1 -1
  133. package/dist/auth/sign-in-form-labels.d.ts +3 -0
  134. package/dist/auth/sign-in-form-labels.js +42 -0
  135. package/dist/auth/sign-in-form-labels.js.map +1 -0
  136. package/dist/auth/sign-in-form.d.ts +15 -19
  137. package/dist/auth/sign-in-form.js +12 -46
  138. package/dist/auth/sign-in-form.js.map +1 -1
  139. package/dist/auth/status-parts.d.ts +13 -17
  140. package/dist/auth/status-parts.js +3 -3
  141. package/dist/auth/status-parts.js.map +1 -1
  142. package/dist/auth/verify-email-labels.d.ts +2 -0
  143. package/dist/auth/verify-email-labels.js +25 -0
  144. package/dist/auth/verify-email-labels.js.map +1 -0
  145. package/dist/auth/verify-email.d.ts +15 -17
  146. package/dist/auth/verify-email.js +4 -21
  147. package/dist/auth/verify-email.js.map +1 -1
  148. package/dist/billing/billing-banner.d.ts +8 -108
  149. package/dist/billing/billing-banner.js +2 -1
  150. package/dist/billing/billing-banner.js.map +1 -1
  151. package/dist/billing/billing-labels.d.ts +168 -100
  152. package/dist/billing/billing-labels.js.map +1 -1
  153. package/dist/billing/billing-lock.d.ts +10 -109
  154. package/dist/billing/billing-overview.d.ts +7 -108
  155. package/dist/billing/billing-standing.d.ts +6 -107
  156. package/dist/billing/checkout-processing.d.ts +8 -110
  157. package/dist/billing/checkout-processing.js +2 -9
  158. package/dist/billing/checkout-processing.js.map +1 -1
  159. package/dist/billing/checkout-return.d.ts +5 -7
  160. package/dist/billing/pay-page.d.ts +22 -119
  161. package/dist/billing/pay-page.js.map +1 -1
  162. package/dist/billing/plan-card.d.ts +14 -114
  163. package/dist/billing/plan-card.js +15 -13
  164. package/dist/billing/plan-card.js.map +1 -1
  165. package/dist/billing/plan-limit-notice.d.ts +8 -108
  166. package/dist/billing/plan-limit-notice.js +1 -1
  167. package/dist/billing/plan-limit-notice.js.map +1 -1
  168. package/dist/billing/plan-limit-toast.d.ts +6 -106
  169. package/dist/billing/plan-limit.d.ts +2 -4
  170. package/dist/billing/plan-price.d.ts +10 -12
  171. package/dist/billing/subscription-actions.d.ts +6 -108
  172. package/dist/billing/subscription-actions.js +2 -2
  173. package/dist/billing/subscription-actions.js.map +1 -1
  174. package/dist/billing/subscription-status-chip.d.ts +7 -107
  175. package/dist/chart.d.ts +12 -112
  176. package/dist/chart.js +4 -0
  177. package/dist/chart.js.map +1 -1
  178. package/dist/components/account-chips-labels.d.ts +10 -0
  179. package/dist/components/account-chips-labels.js +15 -0
  180. package/dist/components/account-chips-labels.js.map +1 -0
  181. package/dist/components/account-chips.d.ts +22 -44
  182. package/dist/components/account-chips.js +9 -14
  183. package/dist/components/account-chips.js.map +1 -1
  184. package/dist/components/alert-banner.d.ts +15 -11
  185. package/dist/components/alert-banner.js +28 -18
  186. package/dist/components/alert-banner.js.map +1 -1
  187. package/dist/components/amount-input.d.ts +66 -109
  188. package/dist/components/amount-input.js +259 -283
  189. package/dist/components/amount-input.js.map +1 -1
  190. package/dist/components/appearance-labels.d.ts +6 -10
  191. package/dist/components/appearance-labels.js.map +1 -1
  192. package/dist/components/authed-image-labels.d.ts +2 -0
  193. package/dist/components/authed-image-labels.js +10 -0
  194. package/dist/components/authed-image-labels.js.map +1 -0
  195. package/dist/components/authed-image.d.ts +11 -13
  196. package/dist/components/authed-image.js +2 -6
  197. package/dist/components/authed-image.js.map +1 -1
  198. package/dist/components/autocomplete.d.ts +13 -11
  199. package/dist/components/autocomplete.js +35 -30
  200. package/dist/components/autocomplete.js.map +1 -1
  201. package/dist/components/breadcrumbs-labels.d.ts +2 -0
  202. package/dist/components/breadcrumbs-labels.js +9 -0
  203. package/dist/components/breadcrumbs-labels.js.map +1 -0
  204. package/dist/components/breadcrumbs.d.ts +10 -12
  205. package/dist/components/breadcrumbs.js +7 -10
  206. package/dist/components/breadcrumbs.js.map +1 -1
  207. package/dist/components/bulk-action-bar-labels.d.ts +2 -0
  208. package/dist/components/bulk-action-bar-labels.js +10 -0
  209. package/dist/components/bulk-action-bar-labels.js.map +1 -0
  210. package/dist/components/bulk-action-bar.d.ts +10 -12
  211. package/dist/components/bulk-action-bar.js +9 -12
  212. package/dist/components/bulk-action-bar.js.map +1 -1
  213. package/dist/components/button-group.d.ts +7 -109
  214. package/dist/components/button-group.js +5 -5
  215. package/dist/components/button-group.js.map +1 -1
  216. package/dist/components/button-look.d.ts +88 -0
  217. package/dist/components/button-look.js +91 -0
  218. package/dist/components/button-look.js.map +1 -0
  219. package/dist/components/button.d.ts +153 -0
  220. package/dist/components/button.js +165 -0
  221. package/dist/components/button.js.map +1 -0
  222. package/dist/components/calculator.d.ts +8 -106
  223. package/dist/components/calculator.js +10 -7
  224. package/dist/components/calculator.js.map +1 -1
  225. package/dist/components/calendar-heatmap-labels.d.ts +3 -0
  226. package/dist/components/calendar-heatmap-labels.js +12 -0
  227. package/dist/components/calendar-heatmap-labels.js.map +1 -0
  228. package/dist/components/calendar-heatmap.d.ts +13 -16
  229. package/dist/components/calendar-heatmap.js +7 -13
  230. package/dist/components/calendar-heatmap.js.map +1 -1
  231. package/dist/components/card.d.ts +145 -0
  232. package/dist/components/card.js +186 -0
  233. package/dist/components/card.js.map +1 -0
  234. package/dist/components/chart-height.d.ts +4 -7
  235. package/dist/components/chart-zoom-core.d.ts +202 -0
  236. package/dist/components/chart-zoom-core.js +334 -0
  237. package/dist/components/chart-zoom-core.js.map +1 -0
  238. package/dist/components/chart-zoom.d.ts +39 -205
  239. package/dist/components/chart-zoom.js +15 -316
  240. package/dist/components/chart-zoom.js.map +1 -1
  241. package/dist/components/chart.d.ts +11 -15
  242. package/dist/components/chart.js +11 -11
  243. package/dist/components/chart.js.map +1 -1
  244. package/dist/components/checkbox-group.d.ts +6 -10
  245. package/dist/components/checkbox-group.js +10 -9
  246. package/dist/components/checkbox-group.js.map +1 -1
  247. package/dist/components/checkbox.d.ts +8 -12
  248. package/dist/components/checkbox.js +20 -18
  249. package/dist/components/checkbox.js.map +1 -1
  250. package/dist/components/chip-input.d.ts +73 -0
  251. package/dist/components/chip-input.js +224 -0
  252. package/dist/components/chip-input.js.map +1 -0
  253. package/dist/components/chip-labels.d.ts +2 -0
  254. package/dist/components/chip-labels.js +12 -0
  255. package/dist/components/chip-labels.js.map +1 -0
  256. package/dist/components/chip.d.ts +18 -93
  257. package/dist/components/chip.js +74 -426
  258. package/dist/components/chip.js.map +1 -1
  259. package/dist/components/choice-card.d.ts +21 -18
  260. package/dist/components/choice-card.js +45 -45
  261. package/dist/components/choice-card.js.map +1 -1
  262. package/dist/components/column-mapper-labels.d.ts +5 -0
  263. package/dist/components/column-mapper-labels.js +34 -0
  264. package/dist/components/column-mapper-labels.js.map +1 -0
  265. package/dist/components/column-mapper.d.ts +15 -17
  266. package/dist/components/column-mapper.js +11 -37
  267. package/dist/components/column-mapper.js.map +1 -1
  268. package/dist/components/combobox-core.d.ts +79 -40
  269. package/dist/components/combobox-core.js +189 -122
  270. package/dist/components/combobox-core.js.map +1 -1
  271. package/dist/components/combobox-suggestions.d.ts +76 -0
  272. package/dist/components/combobox-suggestions.js +56 -0
  273. package/dist/components/combobox-suggestions.js.map +1 -0
  274. package/dist/components/combobox.d.ts +14 -159
  275. package/dist/components/combobox.js +40 -507
  276. package/dist/components/combobox.js.map +1 -1
  277. package/dist/components/confirm-dialog-labels.d.ts +7 -0
  278. package/dist/components/confirm-dialog-labels.js +10 -0
  279. package/dist/components/confirm-dialog-labels.js.map +1 -0
  280. package/dist/components/confirm-dialog.d.ts +165 -100
  281. package/dist/components/confirm-dialog.js +2 -6
  282. package/dist/components/confirm-dialog.js.map +1 -1
  283. package/dist/components/copy-button-labels.d.ts +2 -0
  284. package/dist/components/copy-button-labels.js +12 -0
  285. package/dist/components/copy-button-labels.js.map +1 -0
  286. package/dist/components/copy-button.d.ts +70 -100
  287. package/dist/components/copy-button.js +4 -9
  288. package/dist/components/copy-button.js.map +1 -1
  289. package/dist/components/country-select-labels.d.ts +2 -0
  290. package/dist/components/country-select-labels.js +10 -0
  291. package/dist/components/country-select-labels.js.map +1 -0
  292. package/dist/components/country-select.d.ts +18 -15
  293. package/dist/components/country-select.js +49 -64
  294. package/dist/components/country-select.js.map +1 -1
  295. package/dist/components/currency-option-list.d.ts +63 -0
  296. package/dist/components/currency-option-list.js +135 -0
  297. package/dist/components/currency-option-list.js.map +1 -0
  298. package/dist/components/currency-select.d.ts +10 -30
  299. package/dist/components/currency-select.js +50 -133
  300. package/dist/components/currency-select.js.map +1 -1
  301. package/dist/components/danger-confirm-labels.d.ts +14 -0
  302. package/dist/components/danger-confirm-labels.js +17 -0
  303. package/dist/components/danger-confirm-labels.js.map +1 -0
  304. package/dist/components/danger-confirm.d.ts +448 -100
  305. package/dist/components/danger-confirm.js +40 -46
  306. package/dist/components/danger-confirm.js.map +1 -1
  307. package/dist/components/data-table-cells.d.ts +9 -24
  308. package/dist/components/data-table-cells.js +1 -1
  309. package/dist/components/data-table-cells.js.map +1 -1
  310. package/dist/components/data-table-column-settings.d.ts +16 -0
  311. package/dist/components/data-table-column-settings.js +119 -0
  312. package/dist/components/data-table-column-settings.js.map +1 -0
  313. package/dist/components/data-table-filter-popover.d.ts +5 -19
  314. package/dist/components/data-table-filter-popover.js +39 -22
  315. package/dist/components/data-table-filter-popover.js.map +1 -1
  316. package/dist/components/data-table-filters.d.ts +93 -15
  317. package/dist/components/data-table-filters.js +22 -7
  318. package/dist/components/data-table-filters.js.map +1 -1
  319. package/dist/components/data-table-head.d.ts +36 -0
  320. package/dist/components/data-table-head.js +190 -0
  321. package/dist/components/data-table-head.js.map +1 -0
  322. package/dist/components/data-table-labels.d.ts +124 -15
  323. package/dist/components/data-table-labels.js +9 -5
  324. package/dist/components/data-table-labels.js.map +1 -1
  325. package/dist/components/data-table-mobile.d.ts +106 -0
  326. package/dist/components/data-table-mobile.js +412 -0
  327. package/dist/components/data-table-mobile.js.map +1 -0
  328. package/dist/components/data-table-pagination.d.ts +6 -21
  329. package/dist/components/data-table-pagination.js +7 -7
  330. package/dist/components/data-table-pagination.js.map +1 -1
  331. package/dist/components/data-table-resize.d.ts +37 -0
  332. package/dist/components/data-table-resize.js +103 -0
  333. package/dist/components/data-table-resize.js.map +1 -0
  334. package/dist/components/data-table-row-actions.d.ts +24 -0
  335. package/dist/components/data-table-row-actions.js +95 -0
  336. package/dist/components/data-table-row-actions.js.map +1 -0
  337. package/dist/components/data-table-selection.d.ts +21 -0
  338. package/dist/components/data-table-selection.js +30 -0
  339. package/dist/components/data-table-selection.js.map +1 -0
  340. package/dist/components/data-table-shared.d.ts +77 -0
  341. package/dist/components/data-table-shared.js +77 -0
  342. package/dist/components/data-table-shared.js.map +1 -0
  343. package/dist/components/data-table-sort.d.ts +8 -10
  344. package/dist/components/data-table.d.ts +603 -15
  345. package/dist/components/data-table.js +134 -927
  346. package/dist/components/data-table.js.map +1 -1
  347. package/dist/components/date-field.d.ts +203 -0
  348. package/dist/components/date-field.js +270 -0
  349. package/dist/components/date-field.js.map +1 -0
  350. package/dist/components/date-picker.d.ts +6 -261
  351. package/dist/components/date-picker.js +24 -760
  352. package/dist/components/date-picker.js.map +1 -1
  353. package/dist/components/date-range-picker.d.ts +125 -0
  354. package/dist/components/date-range-picker.js +261 -0
  355. package/dist/components/date-range-picker.js.map +1 -0
  356. package/dist/components/description-list-labels.d.ts +2 -0
  357. package/dist/components/description-list-labels.js +8 -0
  358. package/dist/components/description-list-labels.js.map +1 -0
  359. package/dist/components/description-list.d.ts +13 -15
  360. package/dist/components/description-list.js +17 -11
  361. package/dist/components/description-list.js.map +1 -1
  362. package/dist/components/dialog-frame-labels.d.ts +2 -0
  363. package/dist/components/dialog-frame-labels.js +6 -0
  364. package/dist/components/dialog-frame-labels.js.map +1 -0
  365. package/dist/components/dialog-frame.d.ts +7 -11
  366. package/dist/components/dialog-frame.js +6 -6
  367. package/dist/components/dialog-frame.js.map +1 -1
  368. package/dist/components/disclosure.d.ts +6 -10
  369. package/dist/components/disclosure.js +11 -11
  370. package/dist/components/disclosure.js.map +1 -1
  371. package/dist/components/dropdown.d.ts +55 -27
  372. package/dist/components/dropdown.js +62 -31
  373. package/dist/components/dropdown.js.map +1 -1
  374. package/dist/components/empty-state.d.ts +64 -0
  375. package/dist/components/empty-state.js +70 -0
  376. package/dist/components/empty-state.js.map +1 -0
  377. package/dist/components/entity-combobox.d.ts +10 -11
  378. package/dist/components/entity-combobox.js +14 -13
  379. package/dist/components/entity-combobox.js.map +1 -1
  380. package/dist/components/error-boundary-labels.d.ts +2 -0
  381. package/dist/components/error-boundary-labels.js +19 -0
  382. package/dist/components/error-boundary-labels.js.map +1 -0
  383. package/dist/components/error-boundary.d.ts +17 -17
  384. package/dist/components/error-boundary.js +5 -17
  385. package/dist/components/error-boundary.js.map +1 -1
  386. package/dist/components/facing-pair.d.ts +7 -115
  387. package/dist/components/facing-pair.js +1 -1
  388. package/dist/components/facing-pair.js.map +1 -1
  389. package/dist/components/field-base.d.ts +260 -0
  390. package/dist/components/field-base.js +228 -0
  391. package/dist/components/field-base.js.map +1 -0
  392. package/dist/components/field-parts.d.ts +188 -87
  393. package/dist/components/field-parts.js +60 -33
  394. package/dist/components/field-parts.js.map +1 -1
  395. package/dist/components/field-strip.d.ts +19 -28
  396. package/dist/components/field-strip.js +2 -2
  397. package/dist/components/field-strip.js.map +1 -1
  398. package/dist/components/field-sync-labels.d.ts +2 -0
  399. package/dist/components/field-sync-labels.js +12 -0
  400. package/dist/components/field-sync-labels.js.map +1 -0
  401. package/dist/components/field-sync.d.ts +20 -19
  402. package/dist/components/field-sync.js +4 -10
  403. package/dist/components/field-sync.js.map +1 -1
  404. package/dist/components/field.d.ts +45 -10
  405. package/dist/components/field.js +10 -8
  406. package/dist/components/field.js.map +1 -1
  407. package/dist/components/file-button.d.ts +85 -100
  408. package/dist/components/file-button.js +23 -169
  409. package/dist/components/file-button.js.map +1 -1
  410. package/dist/components/file-dropzone.d.ts +9 -109
  411. package/dist/components/file-dropzone.js +22 -22
  412. package/dist/components/file-dropzone.js.map +1 -1
  413. package/dist/components/floating-panel-labels.d.ts +2 -0
  414. package/dist/components/floating-panel-labels.js +9 -0
  415. package/dist/components/floating-panel-labels.js.map +1 -0
  416. package/dist/components/floating-panel.d.ts +17 -21
  417. package/dist/components/floating-panel.js +19 -18
  418. package/dist/components/floating-panel.js.map +1 -1
  419. package/dist/components/focus-ring.d.ts +9 -6
  420. package/dist/components/focus-ring.js +2 -2
  421. package/dist/components/focus-ring.js.map +1 -1
  422. package/dist/components/form-actions-labels.d.ts +2 -0
  423. package/dist/components/form-actions-labels.js +10 -0
  424. package/dist/components/form-actions-labels.js.map +1 -0
  425. package/dist/components/form-actions.d.ts +280 -100
  426. package/dist/components/form-actions.js +10 -20
  427. package/dist/components/form-actions.js.map +1 -1
  428. package/dist/components/full-bleed-dialog.d.ts +7 -8
  429. package/dist/components/full-bleed-dialog.js +14 -13
  430. package/dist/components/full-bleed-dialog.js.map +1 -1
  431. package/dist/components/grouped-picker.d.ts +21 -16
  432. package/dist/components/grouped-picker.js +76 -62
  433. package/dist/components/grouped-picker.js.map +1 -1
  434. package/dist/components/help-popover.d.ts +60 -0
  435. package/dist/components/help-popover.js +48 -0
  436. package/dist/components/help-popover.js.map +1 -0
  437. package/dist/components/hover-menu.d.ts +17 -16
  438. package/dist/components/hover-menu.js +18 -17
  439. package/dist/components/hover-menu.js.map +1 -1
  440. package/dist/components/iban-input-labels.d.ts +2 -0
  441. package/dist/components/iban-input-labels.js +13 -0
  442. package/dist/components/iban-input-labels.js.map +1 -0
  443. package/dist/components/iban-input.d.ts +73 -100
  444. package/dist/components/iban-input.js +22 -15
  445. package/dist/components/iban-input.js.map +1 -1
  446. package/dist/components/icon-button.d.ts +300 -0
  447. package/dist/components/icon-button.js +465 -0
  448. package/dist/components/icon-button.js.map +1 -0
  449. package/dist/components/icon-picker-labels.d.ts +2 -0
  450. package/dist/components/icon-picker-labels.js +12 -0
  451. package/dist/components/icon-picker-labels.js.map +1 -0
  452. package/dist/components/icon-picker.d.ts +13 -13
  453. package/dist/components/icon-picker.js +18 -17
  454. package/dist/components/icon-picker.js.map +1 -1
  455. package/dist/components/image-grid-labels.d.ts +2 -0
  456. package/dist/components/image-grid-labels.js +10 -0
  457. package/dist/components/image-grid-labels.js.map +1 -0
  458. package/dist/components/image-grid.d.ts +12 -14
  459. package/dist/components/image-grid.js +6 -10
  460. package/dist/components/image-grid.js.map +1 -1
  461. package/dist/components/inline-edit-field-labels.d.ts +2 -0
  462. package/dist/components/inline-edit-field-labels.js +10 -0
  463. package/dist/components/inline-edit-field-labels.js.map +1 -0
  464. package/dist/components/inline-edit-field.d.ts +11 -13
  465. package/dist/components/inline-edit-field.js +11 -13
  466. package/dist/components/inline-edit-field.js.map +1 -1
  467. package/dist/components/inline-entity-combobox.d.ts +155 -0
  468. package/dist/components/inline-entity-combobox.js +467 -0
  469. package/dist/components/inline-entity-combobox.js.map +1 -0
  470. package/dist/components/input.d.ts +98 -0
  471. package/dist/components/input.js +219 -0
  472. package/dist/components/input.js.map +1 -0
  473. package/dist/components/jump-calendar.d.ts +8 -0
  474. package/dist/components/jump-calendar.js +274 -0
  475. package/dist/components/jump-calendar.js.map +1 -0
  476. package/dist/components/language-select.d.ts +20 -110
  477. package/dist/components/language-select.js +12 -7
  478. package/dist/components/language-select.js.map +1 -1
  479. package/dist/components/legal-labels.d.ts +2 -0
  480. package/dist/components/legal-labels.js +100 -0
  481. package/dist/components/legal-labels.js.map +1 -0
  482. package/dist/components/legal-page.d.ts +17 -117
  483. package/dist/components/legal-page.js +2 -2
  484. package/dist/components/legal-page.js.map +1 -1
  485. package/dist/components/legal.d.ts +353 -100
  486. package/dist/components/legal.js +7 -101
  487. package/dist/components/legal.js.map +1 -1
  488. package/dist/components/lightbox-labels.d.ts +2 -0
  489. package/dist/components/lightbox-labels.js +17 -0
  490. package/dist/components/lightbox-labels.js.map +1 -0
  491. package/dist/components/lightbox.d.ts +12 -14
  492. package/dist/components/lightbox.js +9 -19
  493. package/dist/components/lightbox.js.map +1 -1
  494. package/dist/components/line-items-labels.d.ts +2 -0
  495. package/dist/components/line-items-labels.js +13 -0
  496. package/dist/components/line-items-labels.js.map +1 -0
  497. package/dist/components/line-items.d.ts +16 -18
  498. package/dist/components/line-items.js +18 -26
  499. package/dist/components/line-items.js.map +1 -1
  500. package/dist/components/list-labels.d.ts +2 -0
  501. package/dist/components/list-labels.js +9 -0
  502. package/dist/components/list-labels.js.map +1 -0
  503. package/dist/components/list.d.ts +32 -21
  504. package/dist/components/list.js +41 -25
  505. package/dist/components/list.js.map +1 -1
  506. package/dist/components/loading-state.d.ts +5 -9
  507. package/dist/components/loading-state.js +2 -2
  508. package/dist/components/loading-state.js.map +1 -1
  509. package/dist/components/measured-grid-labels.d.ts +4 -0
  510. package/dist/components/measured-grid-labels.js +21 -0
  511. package/dist/components/measured-grid-labels.js.map +1 -0
  512. package/dist/components/measured-grid.d.ts +13 -17
  513. package/dist/components/measured-grid.js +31 -50
  514. package/dist/components/measured-grid.js.map +1 -1
  515. package/dist/components/menu-item.d.ts +10 -10
  516. package/dist/components/menu-item.js +9 -9
  517. package/dist/components/menu-item.js.map +1 -1
  518. package/dist/components/mini-calendar-labels.d.ts +4 -0
  519. package/dist/components/mini-calendar-labels.js +14 -0
  520. package/dist/components/mini-calendar-labels.js.map +1 -0
  521. package/dist/components/mini-calendar.d.ts +10 -14
  522. package/dist/components/mini-calendar.js +22 -29
  523. package/dist/components/mini-calendar.js.map +1 -1
  524. package/dist/components/modal.d.ts +26 -18
  525. package/dist/components/modal.js +8 -11
  526. package/dist/components/modal.js.map +1 -1
  527. package/dist/components/money-draft.d.ts +34 -0
  528. package/dist/components/money-draft.js +39 -0
  529. package/dist/components/money-draft.js.map +1 -0
  530. package/dist/components/money-field.d.ts +13 -110
  531. package/dist/components/money-field.js +6 -22
  532. package/dist/components/money-field.js.map +1 -1
  533. package/dist/components/month-picker-labels.d.ts +5 -0
  534. package/dist/components/month-picker-labels.js +18 -0
  535. package/dist/components/month-picker-labels.js.map +1 -0
  536. package/dist/components/month-picker.d.ts +15 -13
  537. package/dist/components/month-picker.js +34 -32
  538. package/dist/components/month-picker.js.map +1 -1
  539. package/dist/components/multi-entity-combobox.d.ts +9 -11
  540. package/dist/components/multi-entity-combobox.js +14 -13
  541. package/dist/components/multi-entity-combobox.js.map +1 -1
  542. package/dist/components/multi-select.d.ts +81 -21
  543. package/dist/components/multi-select.js +171 -197
  544. package/dist/components/multi-select.js.map +1 -1
  545. package/dist/components/nav-pills.d.ts +9 -10
  546. package/dist/components/nav-pills.js +53 -42
  547. package/dist/components/nav-pills.js.map +1 -1
  548. package/dist/components/number-field.d.ts +13 -110
  549. package/dist/components/number-field.js +2 -3
  550. package/dist/components/number-field.js.map +1 -1
  551. package/dist/components/number-input.d.ts +55 -109
  552. package/dist/components/number-input.js +50 -67
  553. package/dist/components/number-input.js.map +1 -1
  554. package/dist/components/numeric-field.d.ts +85 -0
  555. package/dist/components/numeric-field.js +71 -0
  556. package/dist/components/numeric-field.js.map +1 -0
  557. package/dist/components/numpad-sheet.d.ts +5 -107
  558. package/dist/components/numpad-sheet.js +7 -7
  559. package/dist/components/numpad-sheet.js.map +1 -1
  560. package/dist/components/one-time-code-input.d.ts +6 -7
  561. package/dist/components/one-time-code-input.js +119 -124
  562. package/dist/components/one-time-code-input.js.map +1 -1
  563. package/dist/components/page-contents-labels.d.ts +2 -0
  564. package/dist/components/page-contents-labels.js +8 -0
  565. package/dist/components/page-contents-labels.js.map +1 -0
  566. package/dist/components/page-contents.d.ts +13 -15
  567. package/dist/components/page-contents.js +7 -9
  568. package/dist/components/page-contents.js.map +1 -1
  569. package/dist/components/page-header.d.ts +10 -10
  570. package/dist/components/page-header.js +3 -3
  571. package/dist/components/page-header.js.map +1 -1
  572. package/dist/components/password-strength-labels.d.ts +2 -0
  573. package/dist/components/password-strength-labels.js +21 -0
  574. package/dist/components/password-strength-labels.js.map +1 -0
  575. package/dist/components/password-strength.d.ts +15 -17
  576. package/dist/components/password-strength.js +7 -22
  577. package/dist/components/password-strength.js.map +1 -1
  578. package/dist/components/phone-input-labels.d.ts +2 -0
  579. package/dist/components/phone-input-labels.js +9 -0
  580. package/dist/components/phone-input-labels.js.map +1 -0
  581. package/dist/components/phone-input.d.ts +75 -100
  582. package/dist/components/phone-input.js +20 -23
  583. package/dist/components/phone-input.js.map +1 -1
  584. package/dist/components/picker-sheet.d.ts +20 -8
  585. package/dist/components/picker-sheet.js +22 -11
  586. package/dist/components/picker-sheet.js.map +1 -1
  587. package/dist/components/pie-chart-labels.d.ts +2 -4
  588. package/dist/components/pie-chart.d.ts +8 -11
  589. package/dist/components/pie-chart.js +5 -5
  590. package/dist/components/pie-chart.js.map +1 -1
  591. package/dist/components/popover-labels.d.ts +2 -0
  592. package/dist/components/popover-labels.js +11 -0
  593. package/dist/components/popover-labels.js.map +1 -0
  594. package/dist/components/popover.d.ts +13 -11
  595. package/dist/components/popover.js +21 -23
  596. package/dist/components/popover.js.map +1 -1
  597. package/dist/components/progress-bar-labels.d.ts +2 -0
  598. package/dist/components/progress-bar-labels.js +9 -0
  599. package/dist/components/progress-bar-labels.js.map +1 -0
  600. package/dist/components/progress-bar.d.ts +16 -15
  601. package/dist/components/progress-bar.js +22 -20
  602. package/dist/components/progress-bar.js.map +1 -1
  603. package/dist/components/qr-code.d.ts +4 -8
  604. package/dist/components/qr-code.js.map +1 -1
  605. package/dist/components/reauth-dialog-labels.d.ts +2 -0
  606. package/dist/components/reauth-dialog-labels.js +12 -0
  607. package/dist/components/reauth-dialog-labels.js.map +1 -0
  608. package/dist/components/reauth-dialog.d.ts +8 -10
  609. package/dist/components/reauth-dialog.js +3 -8
  610. package/dist/components/reauth-dialog.js.map +1 -1
  611. package/dist/components/row-actions-labels.d.ts +2 -0
  612. package/dist/components/row-actions-labels.js +9 -0
  613. package/dist/components/row-actions-labels.js.map +1 -0
  614. package/dist/components/row-actions.d.ts +224 -100
  615. package/dist/components/row-actions.js +4 -5
  616. package/dist/components/row-actions.js.map +1 -1
  617. package/dist/components/scroll-area.d.ts +6 -9
  618. package/dist/components/scroll-area.js +4 -10
  619. package/dist/components/scroll-area.js.map +1 -1
  620. package/dist/components/search-field.d.ts +12 -27
  621. package/dist/components/search-field.js +13 -16
  622. package/dist/components/search-field.js.map +1 -1
  623. package/dist/components/select.d.ts +69 -0
  624. package/dist/components/select.js +164 -0
  625. package/dist/components/select.js.map +1 -0
  626. package/dist/components/separator.d.ts +3 -7
  627. package/dist/components/separator.js.map +1 -1
  628. package/dist/components/series-chart-axes.d.ts +120 -0
  629. package/dist/components/series-chart-axes.js +164 -0
  630. package/dist/components/series-chart-axes.js.map +1 -0
  631. package/dist/components/series-chart-budget.d.ts +8 -9
  632. package/dist/components/series-chart-labels.d.ts +2 -4
  633. package/dist/components/series-chart-thin.d.ts +34 -0
  634. package/dist/components/series-chart-thin.js +103 -0
  635. package/dist/components/series-chart-thin.js.map +1 -0
  636. package/dist/components/series-chart-ticks.d.ts +9 -11
  637. package/dist/components/series-chart.d.ts +64 -213
  638. package/dist/components/series-chart.js +69 -160
  639. package/dist/components/series-chart.js.map +1 -1
  640. package/dist/components/server-wake-labels.d.ts +2 -0
  641. package/dist/components/server-wake-labels.js +9 -0
  642. package/dist/components/server-wake-labels.js.map +1 -0
  643. package/dist/components/server-wake.d.ts +32 -23
  644. package/dist/components/server-wake.js +15 -35
  645. package/dist/components/server-wake.js.map +1 -1
  646. package/dist/components/settings-fields.d.ts +46 -117
  647. package/dist/components/settings-fields.js +13 -3
  648. package/dist/components/settings-fields.js.map +1 -1
  649. package/dist/components/share-card-labels.d.ts +2 -0
  650. package/dist/components/share-card-labels.js +29 -0
  651. package/dist/components/share-card-labels.js.map +1 -0
  652. package/dist/components/share-card.d.ts +188 -100
  653. package/dist/components/share-card.js +16 -34
  654. package/dist/components/share-card.js.map +1 -1
  655. package/dist/components/sign-chip-labels.d.ts +2 -0
  656. package/dist/components/sign-chip-labels.js +11 -0
  657. package/dist/components/sign-chip-labels.js.map +1 -0
  658. package/dist/components/sign-chip.d.ts +7 -9
  659. package/dist/components/sign-chip.js +2 -7
  660. package/dist/components/sign-chip.js.map +1 -1
  661. package/dist/components/signature-pad-labels.d.ts +2 -0
  662. package/dist/components/signature-pad-labels.js +23 -0
  663. package/dist/components/signature-pad-labels.js.map +1 -0
  664. package/dist/components/signature-pad.d.ts +16 -15
  665. package/dist/components/signature-pad.js +22 -35
  666. package/dist/components/signature-pad.js.map +1 -1
  667. package/dist/components/signed-amount-labels.d.ts +2 -0
  668. package/dist/components/signed-amount-labels.js +9 -0
  669. package/dist/components/signed-amount-labels.js.map +1 -0
  670. package/dist/components/signed-amount.d.ts +19 -21
  671. package/dist/components/signed-amount.js +12 -15
  672. package/dist/components/signed-amount.js.map +1 -1
  673. package/dist/components/skeleton.d.ts +13 -9
  674. package/dist/components/skeleton.js +1 -1
  675. package/dist/components/skeleton.js.map +1 -1
  676. package/dist/components/slider.d.ts +16 -11
  677. package/dist/components/slider.js +23 -18
  678. package/dist/components/slider.js.map +1 -1
  679. package/dist/components/sparkline-labels.d.ts +2 -0
  680. package/dist/components/sparkline-labels.js +13 -0
  681. package/dist/components/sparkline-labels.js.map +1 -0
  682. package/dist/components/sparkline.d.ts +10 -12
  683. package/dist/components/sparkline.js +10 -17
  684. package/dist/components/sparkline.js.map +1 -1
  685. package/dist/components/spinner.d.ts +45 -0
  686. package/dist/components/spinner.js +39 -0
  687. package/dist/components/spinner.js.map +1 -0
  688. package/dist/components/stat-tile-labels.d.ts +2 -0
  689. package/dist/components/stat-tile-labels.js +14 -0
  690. package/dist/components/stat-tile-labels.js.map +1 -0
  691. package/dist/components/stat-tile.d.ts +15 -17
  692. package/dist/components/stat-tile.js +25 -32
  693. package/dist/components/stat-tile.js.map +1 -1
  694. package/dist/components/status-dot.d.ts +8 -20
  695. package/dist/components/status-dot.js +13 -12
  696. package/dist/components/status-dot.js.map +1 -1
  697. package/dist/components/swatch-picker-labels.d.ts +2 -0
  698. package/dist/components/swatch-picker-labels.js +9 -0
  699. package/dist/components/swatch-picker-labels.js.map +1 -0
  700. package/dist/components/swatch-picker.d.ts +14 -14
  701. package/dist/components/swatch-picker.js +14 -8
  702. package/dist/components/swatch-picker.js.map +1 -1
  703. package/dist/components/swipeable-row.d.ts +14 -27
  704. package/dist/components/swipeable-row.js +2 -2
  705. package/dist/components/swipeable-row.js.map +1 -1
  706. package/dist/components/switch.d.ts +10 -13
  707. package/dist/components/switch.js +13 -12
  708. package/dist/components/switch.js.map +1 -1
  709. package/dist/components/table.d.ts +28 -31
  710. package/dist/components/table.js +15 -15
  711. package/dist/components/table.js.map +1 -1
  712. package/dist/components/tabs.d.ts +182 -0
  713. package/dist/components/tabs.js +312 -0
  714. package/dist/components/tabs.js.map +1 -0
  715. package/dist/components/text-link.d.ts +17 -118
  716. package/dist/components/text-link.js +7 -7
  717. package/dist/components/text-link.js.map +1 -1
  718. package/dist/components/text.d.ts +14 -13
  719. package/dist/components/text.js +5 -5
  720. package/dist/components/text.js.map +1 -1
  721. package/dist/components/textarea.d.ts +20 -0
  722. package/dist/components/textarea.js +161 -0
  723. package/dist/components/textarea.js.map +1 -0
  724. package/dist/components/tile-radio.d.ts +6 -10
  725. package/dist/components/tile-radio.js +6 -6
  726. package/dist/components/tile-radio.js.map +1 -1
  727. package/dist/components/time-input.d.ts +5 -107
  728. package/dist/components/time-input.js +14 -5
  729. package/dist/components/time-input.js.map +1 -1
  730. package/dist/components/toast-labels.d.ts +2 -0
  731. package/dist/components/toast-labels.js +11 -0
  732. package/dist/components/toast-labels.js.map +1 -0
  733. package/dist/components/toast.d.ts +21 -23
  734. package/dist/components/toast.js +1 -6
  735. package/dist/components/toast.js.map +1 -1
  736. package/dist/components/toggle-group.d.ts +26 -26
  737. package/dist/components/toggle-group.js +43 -19
  738. package/dist/components/toggle-group.js.map +1 -1
  739. package/dist/components/toggle-legend.d.ts +18 -21
  740. package/dist/components/toggle-legend.js +3 -3
  741. package/dist/components/toggle-legend.js.map +1 -1
  742. package/dist/components/tooltip.d.ts +16 -15
  743. package/dist/components/tooltip.js +4 -9
  744. package/dist/components/tooltip.js.map +1 -1
  745. package/dist/components/translation-review-editor.d.ts +8 -10
  746. package/dist/components/translation-review-editor.js +6 -5
  747. package/dist/components/translation-review-editor.js.map +1 -1
  748. package/dist/components/translation-review-labels.d.ts +4 -7
  749. package/dist/components/translation-review-parts.d.ts +19 -28
  750. package/dist/components/translation-review-parts.js +4 -7
  751. package/dist/components/translation-review-parts.js.map +1 -1
  752. package/dist/components/translation-review.d.ts +26 -24
  753. package/dist/components/translation-review.js +13 -10
  754. package/dist/components/translation-review.js.map +1 -1
  755. package/dist/components/tree-view.d.ts +7 -11
  756. package/dist/components/tree-view.js +8 -8
  757. package/dist/components/tree-view.js.map +1 -1
  758. package/dist/components/treemap.d.ts +9 -13
  759. package/dist/components/trigger-aria.d.ts +2 -4
  760. package/dist/components/ui-labels.d.ts +5 -0
  761. package/dist/components/ui-labels.js +20 -0
  762. package/dist/components/ui-labels.js.map +1 -0
  763. package/dist/components/use-anchor-dir.d.ts +3 -6
  764. package/dist/components/use-mobile-reveal.d.ts +2 -6
  765. package/dist/components/use-table-state.d.ts +154 -15
  766. package/dist/components/user-avatar.d.ts +8 -21
  767. package/dist/components/user-avatar.js +1 -1
  768. package/dist/components/user-avatar.js.map +1 -1
  769. package/dist/components/wizard-stepper.d.ts +6 -6
  770. package/dist/components/wizard-stepper.js +4 -3
  771. package/dist/components/wizard-stepper.js.map +1 -1
  772. package/dist/components/write-lock-labels.d.ts +2 -0
  773. package/dist/components/write-lock-labels.js +8 -0
  774. package/dist/components/write-lock-labels.js.map +1 -0
  775. package/dist/components/write-lock.d.ts +16 -18
  776. package/dist/components/write-lock.js +4 -8
  777. package/dist/components/write-lock.js.map +1 -1
  778. package/dist/data-table.d.ts +10 -18
  779. package/dist/data-table.js.map +1 -1
  780. package/dist/demo/demo-banner.d.ts +10 -13
  781. package/dist/demo/demo-banner.js +5 -19
  782. package/dist/demo/demo-banner.js.map +1 -1
  783. package/dist/demo/demo-countdown.d.ts +7 -9
  784. package/dist/demo/demo-ended.d.ts +10 -13
  785. package/dist/demo/demo-ended.js +4 -4
  786. package/dist/demo/demo-ended.js.map +1 -1
  787. package/dist/demo/demo-labels.d.ts +4 -5
  788. package/dist/demo/demo-labels.js.map +1 -1
  789. package/dist/demo/demo-session.d.ts +3 -5
  790. package/dist/demo/demo-start.d.ts +8 -11
  791. package/dist/demo/demo-start.js +3 -2
  792. package/dist/demo/demo-start.js.map +1 -1
  793. package/dist/feedback/feedback-attachment-labels.d.ts +16 -0
  794. package/dist/feedback/feedback-attachment-labels.js +17 -0
  795. package/dist/feedback/feedback-attachment-labels.js.map +1 -0
  796. package/dist/feedback/feedback-attachment.d.ts +312 -100
  797. package/dist/feedback/feedback-attachment.js +31 -42
  798. package/dist/feedback/feedback-attachment.js.map +1 -1
  799. package/dist/feedback/feedback-capture.d.ts +2 -4
  800. package/dist/feedback/feedback-context-labels.d.ts +2 -0
  801. package/dist/feedback/feedback-context-labels.js +9 -0
  802. package/dist/feedback/feedback-context-labels.js.map +1 -0
  803. package/dist/feedback/feedback-context.d.ts +110 -100
  804. package/dist/feedback/feedback-context.js +4 -7
  805. package/dist/feedback/feedback-context.js.map +1 -1
  806. package/dist/feedback/feedback-crash.d.ts +8 -109
  807. package/dist/feedback/feedback-dialog-labels.d.ts +12 -0
  808. package/dist/feedback/feedback-dialog-labels.js +17 -0
  809. package/dist/feedback/feedback-dialog-labels.js.map +1 -0
  810. package/dist/feedback/feedback-dialog.d.ts +186 -100
  811. package/dist/feedback/feedback-dialog.js +8 -18
  812. package/dist/feedback/feedback-dialog.js.map +1 -1
  813. package/dist/feedback/feedback-inbox.d.ts +236 -100
  814. package/dist/feedback/feedback-inbox.js +31 -141
  815. package/dist/feedback/feedback-inbox.js.map +1 -1
  816. package/dist/feedback/feedback-labels.d.ts +83 -100
  817. package/dist/feedback/feedback-labels.js.map +1 -1
  818. package/dist/feedback/feedback-menu-labels.d.ts +2 -0
  819. package/dist/feedback/feedback-menu-labels.js +10 -0
  820. package/dist/feedback/feedback-menu-labels.js.map +1 -0
  821. package/dist/feedback/feedback-menu.d.ts +83 -100
  822. package/dist/feedback/feedback-menu.js +3 -7
  823. package/dist/feedback/feedback-menu.js.map +1 -1
  824. package/dist/feedback/feedback-record.d.ts +239 -100
  825. package/dist/feedback/feedback-record.js +7 -2
  826. package/dist/feedback/feedback-record.js.map +1 -1
  827. package/dist/feedback/feedback-row-detail-labels.d.ts +2 -0
  828. package/dist/feedback/feedback-row-detail-labels.js +31 -0
  829. package/dist/feedback/feedback-row-detail-labels.js.map +1 -0
  830. package/dist/feedback/feedback-row-detail.d.ts +315 -100
  831. package/dist/feedback/feedback-row-detail.js +11 -37
  832. package/dist/feedback/feedback-row-detail.js.map +1 -1
  833. package/dist/feedback/feedback-status-undo.d.ts +66 -100
  834. package/dist/feedback/feedback-status-undo.js.map +1 -1
  835. package/dist/feedback/feedback-submit-dialog.d.ts +39 -0
  836. package/dist/feedback/feedback-submit-dialog.js +66 -0
  837. package/dist/feedback/feedback-submit-dialog.js.map +1 -0
  838. package/dist/feedback/feedback-submit.d.ts +13 -108
  839. package/dist/feedback/feedback-submit.js +19 -40
  840. package/dist/feedback/feedback-submit.js.map +1 -1
  841. package/dist/feedback/feedback-swipe.d.ts +9 -109
  842. package/dist/feedback/feedback-swipe.js +1 -1
  843. package/dist/feedback/feedback-swipe.js.map +1 -1
  844. package/dist/feedback/feedback-table-labels.d.ts +2 -0
  845. package/dist/feedback/feedback-table-labels.js +26 -0
  846. package/dist/feedback/feedback-table-labels.js.map +1 -0
  847. package/dist/feedback/feedback-table.d.ts +314 -100
  848. package/dist/feedback/feedback-table.js +11 -31
  849. package/dist/feedback/feedback-table.js.map +1 -1
  850. package/dist/feedback/feedback-thread-labels.d.ts +3 -0
  851. package/dist/feedback/feedback-thread-labels.js +21 -0
  852. package/dist/feedback/feedback-thread-labels.js.map +1 -0
  853. package/dist/feedback/feedback-thread.d.ts +378 -100
  854. package/dist/feedback/feedback-thread.js +32 -35
  855. package/dist/feedback/feedback-thread.js.map +1 -1
  856. package/dist/feedback/feedback-vocabulary.d.ts +98 -0
  857. package/dist/feedback/feedback-vocabulary.js +143 -0
  858. package/dist/feedback/feedback-vocabulary.js.map +1 -0
  859. package/dist/feedback.d.ts +15 -104
  860. package/dist/hooks/use-anchored-panel.d.ts +109 -17
  861. package/dist/hooks/use-anchored-panel.js +38 -6
  862. package/dist/hooks/use-anchored-panel.js.map +1 -1
  863. package/dist/hooks/use-anchored-rect.d.ts +15 -6
  864. package/dist/hooks/use-anchored-rect.js +2 -1
  865. package/dist/hooks/use-anchored-rect.js.map +1 -1
  866. package/dist/hooks/use-announce.d.ts +4 -6
  867. package/dist/hooks/use-authed-src.d.ts +5 -7
  868. package/dist/hooks/use-authed-src.js +3 -7
  869. package/dist/hooks/use-authed-src.js.map +1 -1
  870. package/dist/hooks/use-body-scroll-lock.d.ts +1 -3
  871. package/dist/hooks/use-breakpoint.d.ts +16 -17
  872. package/dist/hooks/use-breakpoint.js.map +1 -1
  873. package/dist/hooks/use-close-transition.d.ts +8 -8
  874. package/dist/hooks/use-close-transition.js +5 -4
  875. package/dist/hooks/use-close-transition.js.map +1 -1
  876. package/dist/hooks/use-copy-to-clipboard.d.ts +5 -7
  877. package/dist/hooks/use-debounce.d.ts +13 -6
  878. package/dist/hooks/use-debounce.js.map +1 -1
  879. package/dist/hooks/use-dismiss.d.ts +37 -11
  880. package/dist/hooks/use-dismiss.js +69 -10
  881. package/dist/hooks/use-dismiss.js.map +1 -1
  882. package/dist/hooks/use-file-drop.d.ts +8 -109
  883. package/dist/hooks/use-file-drop.js +1 -1
  884. package/dist/hooks/use-file-drop.js.map +1 -1
  885. package/dist/hooks/use-file-picker-labels.d.ts +2 -0
  886. package/dist/hooks/use-file-picker-labels.js +25 -0
  887. package/dist/hooks/use-file-picker-labels.js.map +1 -0
  888. package/dist/hooks/use-file-picker.d.ts +164 -0
  889. package/dist/hooks/use-file-picker.js +149 -0
  890. package/dist/hooks/use-file-picker.js.map +1 -0
  891. package/dist/hooks/use-focus-trap.d.ts +10 -4
  892. package/dist/hooks/use-focus-trap.js +19 -12
  893. package/dist/hooks/use-focus-trap.js.map +1 -1
  894. package/dist/hooks/use-hotkey.d.ts +7 -9
  895. package/dist/hooks/use-large-text.d.ts +3 -5
  896. package/dist/hooks/use-media-query.d.ts +1 -3
  897. package/dist/hooks/use-noindex.d.ts +1 -3
  898. package/dist/hooks/use-overlay-history.d.ts +1 -3
  899. package/dist/hooks/use-row-swipe.d.ts +5 -8
  900. package/dist/hooks/use-search-param-state.d.ts +10 -11
  901. package/dist/hooks/use-windowed-rows.d.ts +4 -7
  902. package/dist/i18n/defaults.d.ts +11 -104
  903. package/dist/i18n/defaults.js +82 -82
  904. package/dist/i18n/defaults.js.map +1 -1
  905. package/dist/i18n/german.d.ts +2 -104
  906. package/dist/i18n/german.js +56 -9
  907. package/dist/i18n/german.js.map +1 -1
  908. package/dist/i18n/kit-labels.d.ts +609 -100
  909. package/dist/i18n/kit-labels.js +22 -97
  910. package/dist/i18n/kit-labels.js.map +1 -1
  911. package/dist/i18n/languages.d.ts +197 -100
  912. package/dist/i18n/locales/de-CH.d.ts +3 -105
  913. package/dist/i18n/locales/en.d.ts +4 -104
  914. package/dist/i18n/locales/en.js +1834 -4
  915. package/dist/i18n/locales/en.js.map +7 -1
  916. package/dist/i18n/locales/es.d.ts +3 -105
  917. package/dist/i18n/locales/es.js +54 -9
  918. package/dist/i18n/locales/es.js.map +1 -1
  919. package/dist/i18n/locales/fr.d.ts +3 -105
  920. package/dist/i18n/locales/fr.js +56 -9
  921. package/dist/i18n/locales/fr.js.map +1 -1
  922. package/dist/i18n/locales/hu.d.ts +3 -105
  923. package/dist/i18n/locales/hu.js +56 -10
  924. package/dist/i18n/locales/hu.js.map +1 -1
  925. package/dist/i18n/locales/it.d.ts +3 -105
  926. package/dist/i18n/locales/it.js +55 -9
  927. package/dist/i18n/locales/it.js.map +1 -1
  928. package/dist/i18n/locales/zh.d.ts +3 -105
  929. package/dist/i18n/locales/zh.js +52 -8
  930. package/dist/i18n/locales/zh.js.map +1 -1
  931. package/dist/i18n/plurals.d.ts +20 -3
  932. package/dist/i18n/plurals.js +11 -0
  933. package/dist/i18n/plurals.js.map +1 -1
  934. package/dist/i18n/review.d.ts +5 -106
  935. package/dist/i18n/review.js +4 -0
  936. package/dist/i18n/review.js.map +1 -1
  937. package/dist/i18n/shared-labels.d.ts +17 -0
  938. package/dist/i18n/shared-labels.js +111 -0
  939. package/dist/i18n/shared-labels.js.map +1 -0
  940. package/dist/i18n/swiss.d.ts +1 -3
  941. package/dist/index.d.ts +329 -249
  942. package/dist/index.js +188 -215
  943. package/dist/index.js.map +1 -1
  944. package/dist/landing/access.d.ts +7 -9
  945. package/dist/landing/access.js.map +1 -1
  946. package/dist/landing/landing-actions.d.ts +9 -108
  947. package/dist/landing/landing-actions.js +1 -1
  948. package/dist/landing/landing-actions.js.map +1 -1
  949. package/dist/landing/landing-labels.d.ts +4 -5
  950. package/dist/landing/landing-labels.js.map +1 -1
  951. package/dist/landing/landing-sections.d.ts +21 -120
  952. package/dist/landing/landing-sections.js +15 -15
  953. package/dist/landing/landing-sections.js.map +1 -1
  954. package/dist/landing/page-seo.d.ts +7 -9
  955. package/dist/landing/public-header.d.ts +10 -110
  956. package/dist/landing/public-header.js +1 -1
  957. package/dist/landing/public-header.js.map +1 -1
  958. package/dist/landing/routing.d.ts +16 -119
  959. package/dist/landing/routing.js +2 -6
  960. package/dist/landing/routing.js.map +1 -1
  961. package/dist/lib/calc.d.ts +7 -9
  962. package/dist/lib/chip-edge-snap.d.ts +10 -0
  963. package/dist/lib/chip-edge-snap.js +131 -0
  964. package/dist/lib/chip-edge-snap.js.map +1 -0
  965. package/dist/lib/clipping.d.ts +2 -4
  966. package/dist/lib/cn.d.ts +2 -5
  967. package/dist/lib/cn.js +6 -1
  968. package/dist/lib/cn.js.map +1 -1
  969. package/dist/lib/column-mapping.d.ts +10 -13
  970. package/dist/lib/countries.d.ts +3 -5
  971. package/dist/lib/dates.d.ts +25 -25
  972. package/dist/lib/dates.js.map +1 -1
  973. package/dist/lib/decimal-marks.d.ts +8 -8
  974. package/dist/lib/decimal-marks.js +1 -1
  975. package/dist/lib/decimal-marks.js.map +1 -1
  976. package/dist/lib/direction.d.ts +4 -6
  977. package/dist/lib/document-navigation.d.ts +1 -3
  978. package/dist/lib/download.d.ts +67 -0
  979. package/dist/lib/download.js +89 -0
  980. package/dist/lib/download.js.map +1 -0
  981. package/dist/lib/floating-stack.d.ts +8 -6
  982. package/dist/lib/floating-stack.js.map +1 -1
  983. package/dist/lib/format.d.ts +24 -23
  984. package/dist/lib/format.js +3 -3
  985. package/dist/lib/format.js.map +1 -1
  986. package/dist/lib/iban.d.ts +9 -11
  987. package/dist/lib/ime.d.ts +17 -0
  988. package/dist/lib/ime.js +13 -0
  989. package/dist/lib/ime.js.map +1 -0
  990. package/dist/lib/isin.d.ts +3 -5
  991. package/dist/lib/logger.d.ts +4 -6
  992. package/dist/lib/person-name.d.ts +3 -5
  993. package/dist/lib/phone.d.ts +9 -11
  994. package/dist/lib/presence.d.ts +15 -0
  995. package/dist/lib/presence.js +8 -0
  996. package/dist/lib/presence.js.map +1 -0
  997. package/dist/lib/qr-encode.d.ts +4 -6
  998. package/dist/lib/reduced-motion.d.ts +18 -0
  999. package/dist/lib/reduced-motion.js +9 -0
  1000. package/dist/lib/reduced-motion.js.map +1 -0
  1001. package/dist/lib/round.d.ts +22 -0
  1002. package/dist/lib/round.js +15 -0
  1003. package/dist/lib/round.js.map +1 -0
  1004. package/dist/lib/safe-storage.d.ts +14 -4
  1005. package/dist/lib/safe-storage.js +24 -9
  1006. package/dist/lib/safe-storage.js.map +1 -1
  1007. package/dist/lib/server-wake.d.ts +13 -14
  1008. package/dist/lib/session-refresh.d.ts +200 -0
  1009. package/dist/lib/session-refresh.js +187 -0
  1010. package/dist/lib/session-refresh.js.map +1 -0
  1011. package/dist/lib/strip-fade.d.ts +10 -13
  1012. package/dist/lib/table-text.d.ts +14 -16
  1013. package/dist/lib/text-match.d.ts +41 -0
  1014. package/dist/lib/text-match.js +23 -0
  1015. package/dist/lib/text-match.js.map +1 -0
  1016. package/dist/lib/translation-review.d.ts +44 -45
  1017. package/dist/lib/translation-review.js +3 -2
  1018. package/dist/lib/translation-review.js.map +1 -1
  1019. package/dist/rhf/fields.d.ts +123 -188
  1020. package/dist/rhf/fields.js +46 -54
  1021. package/dist/rhf/fields.js.map +1 -1
  1022. package/dist/rhf/form-core.d.ts +153 -0
  1023. package/dist/rhf/form-core.js +143 -0
  1024. package/dist/rhf/form-core.js.map +1 -0
  1025. package/dist/rhf/form.d.ts +38 -174
  1026. package/dist/rhf/form.js +9 -131
  1027. package/dist/rhf/form.js.map +1 -1
  1028. package/dist/rhf/line-items.d.ts +40 -11
  1029. package/dist/rhf/line-items.js.map +1 -1
  1030. package/dist/rhf/use-rhf-wizard-step.d.ts +3 -6
  1031. package/dist/rhf.d.ts +4 -117
  1032. package/dist/rhf.js.map +1 -1
  1033. package/dist/search/command-palette-labels.d.ts +2 -0
  1034. package/dist/search/command-palette-labels.js +15 -0
  1035. package/dist/search/command-palette-labels.js.map +1 -0
  1036. package/dist/search/command-palette.d.ts +10 -13
  1037. package/dist/search/command-palette.js +25 -44
  1038. package/dist/search/command-palette.js.map +1 -1
  1039. package/dist/search/global-search-labels.d.ts +2 -0
  1040. package/dist/search/global-search-labels.js +12 -0
  1041. package/dist/search/global-search-labels.js.map +1 -0
  1042. package/dist/search/global-search.d.ts +17 -16
  1043. package/dist/search/global-search.js +12 -12
  1044. package/dist/search/global-search.js.map +1 -1
  1045. package/dist/search/search-index.d.ts +13 -14
  1046. package/dist/search/search-index.js +2 -1
  1047. package/dist/search/search-index.js.map +1 -1
  1048. package/dist/search/use-command-key.d.ts +9 -0
  1049. package/dist/search/use-command-key.js +18 -0
  1050. package/dist/search/use-command-key.js.map +1 -0
  1051. package/dist/search.d.ts +3 -4
  1052. package/dist/settings/settings-card-classes.d.ts +11 -0
  1053. package/dist/settings/settings-card-classes.js +8 -0
  1054. package/dist/settings/settings-card-classes.js.map +1 -0
  1055. package/dist/settings/settings-catalogue.d.ts +11 -14
  1056. package/dist/settings/settings-context.d.ts +4 -8
  1057. package/dist/settings/settings-heading.d.ts +8 -12
  1058. package/dist/settings/settings-heading.js +1 -1
  1059. package/dist/settings/settings-heading.js.map +1 -1
  1060. package/dist/settings/settings-labels.d.ts +6 -7
  1061. package/dist/settings/settings-labels.js.map +1 -1
  1062. package/dist/settings/settings-layout.d.ts +36 -13
  1063. package/dist/settings/settings-layout.js +25 -4
  1064. package/dist/settings/settings-layout.js.map +1 -1
  1065. package/dist/settings/settings-section.d.ts +4 -106
  1066. package/dist/settings/settings-section.js +2 -2
  1067. package/dist/settings/settings-section.js.map +1 -1
  1068. package/dist/settings/use-account-appearance.d.ts +11 -16
  1069. package/dist/settings/use-account-language.d.ts +8 -10
  1070. package/dist/settings/use-settings-focus.d.ts +3 -5
  1071. package/dist/settings/use-settings-focus.js +2 -4
  1072. package/dist/settings/use-settings-focus.js.map +1 -1
  1073. package/dist/settings/use-settings-route.d.ts +11 -16
  1074. package/dist/shell/app-shell-labels.d.ts +2 -0
  1075. package/dist/shell/app-shell-labels.js +9 -0
  1076. package/dist/shell/app-shell-labels.js.map +1 -0
  1077. package/dist/shell/app-shell.d.ts +216 -100
  1078. package/dist/shell/app-shell.js +51 -35
  1079. package/dist/shell/app-shell.js.map +1 -1
  1080. package/dist/shell/auth-layout.d.ts +6 -9
  1081. package/dist/shell/auth-layout.js +6 -6
  1082. package/dist/shell/auth-layout.js.map +1 -1
  1083. package/dist/shell/company-switcher-labels.d.ts +2 -0
  1084. package/dist/shell/company-switcher-labels.js +12 -0
  1085. package/dist/shell/company-switcher-labels.js.map +1 -0
  1086. package/dist/shell/company-switcher.d.ts +9 -11
  1087. package/dist/shell/company-switcher.js +3 -9
  1088. package/dist/shell/company-switcher.js.map +1 -1
  1089. package/dist/shell/option-switcher-menu.d.ts +19 -9
  1090. package/dist/shell/option-switcher-menu.js +6 -4
  1091. package/dist/shell/option-switcher-menu.js.map +1 -1
  1092. package/dist/shell/role-switcher.d.ts +5 -6
  1093. package/dist/shell/role-switcher.js +4 -3
  1094. package/dist/shell/role-switcher.js.map +1 -1
  1095. package/dist/shell/top-bar-brand.d.ts +4 -106
  1096. package/dist/shell/top-bar-brand.js +1 -1
  1097. package/dist/shell/top-bar-brand.js.map +1 -1
  1098. package/dist/shell/top-bar.d.ts +6 -9
  1099. package/dist/shell/top-bar.js +1 -1
  1100. package/dist/shell/top-bar.js.map +1 -1
  1101. package/dist/shell/topbar-action-menu.d.ts +30 -31
  1102. package/dist/shell/topbar-action-menu.js +12 -10
  1103. package/dist/shell/topbar-action-menu.js.map +1 -1
  1104. package/dist/shell/topbar-controls.d.ts +20 -18
  1105. package/dist/shell/topbar-controls.js +14 -11
  1106. package/dist/shell/topbar-controls.js.map +1 -1
  1107. package/dist/shell.d.ts +25 -115
  1108. package/dist/shell.js.map +1 -1
  1109. package/dist/table-text.d.ts +1 -1
  1110. package/dist/testing/css-variables.d.ts +4 -6
  1111. package/dist/testing/css-variables.generated.d.ts +2 -4
  1112. package/dist/testing/index.d.ts +2 -1
  1113. package/dist/testing/index.js +9 -1
  1114. package/dist/testing/index.js.map +1 -1
  1115. package/dist/testing/viewport.d.ts +93 -0
  1116. package/dist/testing/viewport.js +152 -0
  1117. package/dist/testing/viewport.js.map +1 -0
  1118. package/dist/theme/chart-palette.d.ts +7 -9
  1119. package/dist/theme/color.d.ts +14 -16
  1120. package/dist/theme/color.js +2 -1
  1121. package/dist/theme/color.js.map +1 -1
  1122. package/dist/theme/contrast-tokens.d.ts +13 -17
  1123. package/dist/theme/contrast.d.ts +22 -27
  1124. package/dist/theme/palette-derive.d.ts +16 -22
  1125. package/dist/theme/palette-derive.js +15 -7
  1126. package/dist/theme/palette-derive.js.map +1 -1
  1127. package/dist/theme/palette-presets.d.ts +25 -15
  1128. package/dist/theme/palette-presets.js +66 -66
  1129. package/dist/theme/palette-presets.js.map +1 -1
  1130. package/dist/theme/palette-store.d.ts +10 -13
  1131. package/dist/theme/text-size.d.ts +21 -26
  1132. package/dist/theme/theme-store.d.ts +9 -14
  1133. package/dist/tour/tour-labels.d.ts +2 -0
  1134. package/dist/tour/tour-labels.js +13 -0
  1135. package/dist/tour/tour-labels.js.map +1 -0
  1136. package/dist/tour/tour.d.ts +12 -14
  1137. package/dist/tour/tour.js +9 -20
  1138. package/dist/tour/tour.js.map +1 -1
  1139. package/dist/tour.d.ts +1 -2
  1140. package/dist/wizard/stepper-nav.d.ts +8 -107
  1141. package/dist/wizard/stepper-nav.js +15 -14
  1142. package/dist/wizard/stepper-nav.js.map +1 -1
  1143. package/dist/wizard/types.d.ts +18 -18
  1144. package/dist/wizard/types.js +1 -19
  1145. package/dist/wizard/types.js.map +1 -1
  1146. package/dist/wizard/use-wizard.d.ts +2 -6
  1147. package/dist/wizard/validation.d.ts +3 -7
  1148. package/dist/wizard/wizard-context.d.ts +7 -11
  1149. package/dist/wizard/wizard-labels.d.ts +4 -0
  1150. package/dist/wizard/wizard-labels.js +24 -0
  1151. package/dist/wizard/wizard-labels.js.map +1 -0
  1152. package/dist/wizard/wizard-step.d.ts +3 -7
  1153. package/dist/wizard/wizard-step.js +2 -2
  1154. package/dist/wizard/wizard-step.js.map +1 -1
  1155. package/dist/wizard/wizard-summary.d.ts +5 -8
  1156. package/dist/wizard/wizard-summary.js +6 -5
  1157. package/dist/wizard/wizard-summary.js.map +1 -1
  1158. package/dist/wizard.d.ts +7 -106
  1159. package/package.json +9 -6
  1160. package/src/account/account-parts.ts +3 -3
  1161. package/src/{components → account}/account-settings-labels.ts +11 -1
  1162. package/src/{components → account}/account-settings.tsx +145 -34
  1163. package/src/account/data-export-setting-labels.ts +20 -0
  1164. package/src/account/data-export-setting.tsx +19 -38
  1165. package/src/account/delete-account-setting-labels.ts +33 -0
  1166. package/src/account/delete-account-setting.tsx +13 -35
  1167. package/src/account/email-change-setting-labels.ts +32 -0
  1168. package/src/account/email-change-setting.tsx +17 -36
  1169. package/src/{components → account}/passkeys-setting.tsx +14 -9
  1170. package/src/account/sessions-setting-labels.ts +24 -0
  1171. package/src/account/sessions-setting.tsx +14 -28
  1172. package/src/admin/admin-action-confirm-labels.ts +19 -0
  1173. package/src/admin/admin-action-confirm.tsx +59 -38
  1174. package/src/admin/admin-action-log-labels.ts +74 -0
  1175. package/src/admin/admin-action-log.tsx +180 -54
  1176. package/src/admin/admin-parts.ts +0 -7
  1177. package/src/admin/invitations-panel-labels.ts +31 -0
  1178. package/src/admin/invitations-panel.tsx +16 -34
  1179. package/src/admin/plan-change-labels.ts +23 -0
  1180. package/src/admin/plan-change.tsx +89 -37
  1181. package/src/admin/reviewer-scope-editor-labels.ts +16 -0
  1182. package/src/admin/reviewer-scope-editor.tsx +9 -15
  1183. package/src/admin/role-select-labels.ts +16 -0
  1184. package/src/admin/role-select.tsx +13 -23
  1185. package/src/admin/transfer-ownership-dialog-labels.ts +20 -0
  1186. package/src/admin/transfer-ownership-dialog.tsx +7 -17
  1187. package/src/admin/user-roster-labels.ts +17 -0
  1188. package/src/admin/user-roster.tsx +9 -17
  1189. package/src/auth/accept-invitation-labels.ts +21 -0
  1190. package/src/auth/accept-invitation.tsx +9 -20
  1191. package/src/auth/auth-errors.ts +29 -13
  1192. package/src/auth/complete-name-dialog-labels.ts +16 -0
  1193. package/src/auth/complete-name-dialog.tsx +8 -13
  1194. package/src/auth/forgot-password-form-labels.ts +20 -0
  1195. package/src/auth/forgot-password-form.tsx +12 -20
  1196. package/src/auth/new-password-fields.tsx +1 -1
  1197. package/src/auth/not-found-page-labels.ts +12 -0
  1198. package/src/auth/not-found-page.tsx +11 -14
  1199. package/src/auth/register-form-labels.ts +31 -0
  1200. package/src/auth/register-form.tsx +18 -38
  1201. package/src/auth/reset-password-form-labels.ts +27 -0
  1202. package/src/auth/reset-password-form.tsx +12 -27
  1203. package/src/auth/sign-in-form-labels.ts +44 -0
  1204. package/src/auth/sign-in-form.tsx +18 -51
  1205. package/src/auth/status-parts.tsx +3 -3
  1206. package/src/auth/verify-email-labels.ts +26 -0
  1207. package/src/auth/verify-email.tsx +15 -30
  1208. package/src/billing/billing-banner.tsx +2 -1
  1209. package/src/billing/billing-labels.ts +1 -1
  1210. package/src/billing/checkout-processing.ts +2 -12
  1211. package/src/billing/pay-page.ts +9 -5
  1212. package/src/billing/plan-card.tsx +26 -27
  1213. package/src/billing/plan-limit-notice.tsx +1 -1
  1214. package/src/billing/subscription-actions.tsx +4 -4
  1215. package/src/chart.ts +7 -1
  1216. package/src/components/account-chips-labels.ts +16 -0
  1217. package/src/components/account-chips.tsx +13 -16
  1218. package/src/components/alert-banner.tsx +39 -19
  1219. package/src/components/amount-input.tsx +461 -405
  1220. package/src/components/appearance-labels.ts +2 -2
  1221. package/src/components/authed-image-labels.ts +11 -0
  1222. package/src/components/authed-image.tsx +6 -8
  1223. package/src/components/autocomplete.tsx +84 -80
  1224. package/src/components/breadcrumbs-labels.ts +10 -0
  1225. package/src/components/breadcrumbs.tsx +17 -14
  1226. package/src/components/bulk-action-bar-labels.ts +11 -0
  1227. package/src/components/bulk-action-bar.tsx +15 -16
  1228. package/src/components/button-group.tsx +7 -7
  1229. package/src/components/button-look.ts +230 -0
  1230. package/src/components/button.tsx +339 -0
  1231. package/src/components/calculator.tsx +18 -11
  1232. package/src/components/calendar-heatmap-labels.ts +15 -0
  1233. package/src/components/calendar-heatmap.tsx +13 -19
  1234. package/src/components/card.tsx +381 -0
  1235. package/src/components/chart-zoom-core.tsx +653 -0
  1236. package/src/components/chart-zoom.tsx +64 -648
  1237. package/src/components/chart.tsx +11 -11
  1238. package/src/components/checkbox-group.tsx +13 -10
  1239. package/src/components/checkbox.tsx +43 -42
  1240. package/src/components/chip-input.tsx +377 -0
  1241. package/src/components/chip-labels.ts +13 -0
  1242. package/src/components/chip.tsx +115 -711
  1243. package/src/components/choice-card.tsx +83 -85
  1244. package/src/components/column-mapper-labels.ts +45 -0
  1245. package/src/components/column-mapper.tsx +16 -51
  1246. package/src/components/combobox-core.tsx +351 -196
  1247. package/src/components/combobox-suggestions.tsx +129 -0
  1248. package/src/components/combobox.tsx +69 -893
  1249. package/src/components/confirm-dialog-labels.ts +13 -0
  1250. package/src/components/confirm-dialog.tsx +4 -8
  1251. package/src/components/copy-button-labels.ts +13 -0
  1252. package/src/components/copy-button.tsx +10 -12
  1253. package/src/components/country-select-labels.ts +11 -0
  1254. package/src/components/country-select.tsx +74 -89
  1255. package/src/components/currency-option-list.tsx +216 -0
  1256. package/src/components/currency-select.tsx +85 -196
  1257. package/src/components/danger-confirm-labels.ts +20 -0
  1258. package/src/components/danger-confirm.tsx +69 -77
  1259. package/src/components/data-table-cells.tsx +5 -5
  1260. package/src/components/data-table-column-settings.tsx +137 -0
  1261. package/src/components/data-table-filter-popover.tsx +49 -24
  1262. package/src/components/data-table-filters.ts +48 -11
  1263. package/src/components/data-table-head.tsx +258 -0
  1264. package/src/components/data-table-labels.ts +43 -11
  1265. package/src/components/data-table-mobile.tsx +594 -0
  1266. package/src/components/data-table-pagination.tsx +11 -10
  1267. package/src/components/data-table-resize.ts +187 -0
  1268. package/src/components/data-table-row-actions.tsx +152 -0
  1269. package/src/components/data-table-selection.ts +55 -0
  1270. package/src/components/data-table-shared.tsx +172 -0
  1271. package/src/components/data-table.tsx +178 -1300
  1272. package/src/components/date-field.tsx +627 -0
  1273. package/src/components/date-picker.tsx +58 -1446
  1274. package/src/components/date-range-picker.tsx +490 -0
  1275. package/src/components/description-list-labels.ts +9 -0
  1276. package/src/components/description-list.tsx +31 -15
  1277. package/src/components/dialog-frame-labels.ts +7 -0
  1278. package/src/components/dialog-frame.tsx +8 -6
  1279. package/src/components/disclosure.tsx +14 -14
  1280. package/src/components/dropdown.tsx +114 -42
  1281. package/src/components/empty-state.tsx +137 -0
  1282. package/src/components/entity-combobox.tsx +17 -12
  1283. package/src/components/error-boundary-labels.ts +20 -0
  1284. package/src/components/error-boundary.tsx +10 -20
  1285. package/src/components/facing-pair.ts +1 -1
  1286. package/src/components/field-base.tsx +615 -0
  1287. package/src/components/field-parts.tsx +206 -77
  1288. package/src/components/field-strip.tsx +16 -21
  1289. package/src/components/field-sync-labels.ts +13 -0
  1290. package/src/components/field-sync.tsx +11 -12
  1291. package/src/components/field.tsx +13 -11
  1292. package/src/components/file-button.tsx +64 -412
  1293. package/src/components/file-dropzone.tsx +36 -33
  1294. package/src/components/floating-panel-labels.ts +10 -0
  1295. package/src/components/floating-panel.tsx +32 -21
  1296. package/src/components/focus-ring.ts +9 -4
  1297. package/src/components/form-actions-labels.ts +11 -0
  1298. package/src/components/form-actions.tsx +17 -21
  1299. package/src/components/full-bleed-dialog.tsx +33 -25
  1300. package/src/components/grouped-picker.tsx +118 -96
  1301. package/src/components/help-popover.tsx +115 -0
  1302. package/src/components/hover-menu.tsx +46 -35
  1303. package/src/components/iban-input-labels.ts +15 -0
  1304. package/src/components/iban-input.tsx +25 -20
  1305. package/src/components/icon-button.tsx +945 -0
  1306. package/src/components/icon-picker-labels.ts +13 -0
  1307. package/src/components/icon-picker.tsx +27 -24
  1308. package/src/components/image-grid-labels.ts +11 -0
  1309. package/src/components/image-grid.tsx +13 -15
  1310. package/src/components/inline-edit-field-labels.ts +11 -0
  1311. package/src/components/inline-edit-field.tsx +20 -19
  1312. package/src/components/inline-entity-combobox.tsx +789 -0
  1313. package/src/components/input.tsx +380 -0
  1314. package/src/components/jump-calendar.tsx +385 -0
  1315. package/src/components/language-select.tsx +31 -16
  1316. package/src/components/legal-labels.ts +99 -0
  1317. package/src/components/legal-page.tsx +2 -2
  1318. package/src/components/legal.tsx +11 -101
  1319. package/src/components/lightbox-labels.ts +18 -0
  1320. package/src/components/lightbox.tsx +13 -21
  1321. package/src/components/line-items-labels.ts +14 -0
  1322. package/src/components/line-items.tsx +24 -31
  1323. package/src/components/list-labels.ts +10 -0
  1324. package/src/components/list.tsx +98 -75
  1325. package/src/components/loading-state.tsx +4 -4
  1326. package/src/components/measured-grid-labels.ts +25 -0
  1327. package/src/components/measured-grid.tsx +39 -62
  1328. package/src/components/menu-item.tsx +29 -26
  1329. package/src/components/mini-calendar-labels.ts +17 -0
  1330. package/src/components/mini-calendar.tsx +38 -45
  1331. package/src/components/modal.tsx +36 -18
  1332. package/src/components/money-draft.ts +72 -0
  1333. package/src/components/money-field.tsx +16 -30
  1334. package/src/components/month-picker-labels.ts +22 -0
  1335. package/src/components/month-picker.tsx +59 -45
  1336. package/src/components/multi-entity-combobox.tsx +17 -12
  1337. package/src/components/multi-select.tsx +313 -288
  1338. package/src/components/nav-pills.tsx +19 -8
  1339. package/src/components/number-field.tsx +14 -5
  1340. package/src/components/number-input.tsx +125 -90
  1341. package/src/components/numeric-field.ts +161 -0
  1342. package/src/components/numpad-sheet.tsx +16 -16
  1343. package/src/components/one-time-code-input.tsx +154 -169
  1344. package/src/components/page-contents-labels.ts +9 -0
  1345. package/src/components/page-contents.tsx +15 -15
  1346. package/src/components/page-header.tsx +9 -5
  1347. package/src/components/password-strength-labels.ts +23 -0
  1348. package/src/components/password-strength.tsx +13 -27
  1349. package/src/components/phone-input-labels.ts +10 -0
  1350. package/src/components/phone-input.tsx +42 -57
  1351. package/src/components/picker-sheet.tsx +47 -18
  1352. package/src/components/pie-chart.tsx +11 -9
  1353. package/src/components/popover-labels.ts +14 -0
  1354. package/src/components/popover.tsx +40 -39
  1355. package/src/components/progress-bar-labels.ts +10 -0
  1356. package/src/components/progress-bar.tsx +32 -23
  1357. package/src/components/qr-code.tsx +2 -2
  1358. package/src/components/reauth-dialog-labels.ts +13 -0
  1359. package/src/components/reauth-dialog.tsx +7 -10
  1360. package/src/components/row-actions-labels.ts +10 -0
  1361. package/src/components/row-actions.tsx +11 -10
  1362. package/src/components/scroll-area.tsx +4 -10
  1363. package/src/components/search-field.tsx +35 -49
  1364. package/src/components/select.tsx +302 -0
  1365. package/src/components/separator.tsx +2 -2
  1366. package/src/components/series-chart-axes.ts +329 -0
  1367. package/src/components/series-chart-thin.ts +180 -0
  1368. package/src/components/series-chart.tsx +124 -325
  1369. package/src/components/server-wake-labels.ts +11 -0
  1370. package/src/components/server-wake.tsx +42 -63
  1371. package/src/components/settings-fields.tsx +46 -17
  1372. package/src/components/share-card-labels.ts +30 -0
  1373. package/src/components/share-card.tsx +22 -37
  1374. package/src/components/sign-chip-labels.ts +12 -0
  1375. package/src/components/sign-chip.tsx +6 -9
  1376. package/src/components/signature-pad-labels.ts +24 -0
  1377. package/src/components/signature-pad.tsx +48 -57
  1378. package/src/components/signed-amount-labels.ts +10 -0
  1379. package/src/components/signed-amount.tsx +21 -22
  1380. package/src/components/skeleton.tsx +11 -3
  1381. package/src/components/slider.tsx +51 -39
  1382. package/src/components/sparkline-labels.ts +14 -0
  1383. package/src/components/sparkline.tsx +16 -21
  1384. package/src/components/spinner.tsx +81 -0
  1385. package/src/components/stat-tile-labels.ts +15 -0
  1386. package/src/components/stat-tile.tsx +32 -37
  1387. package/src/components/status-dot.tsx +17 -14
  1388. package/src/components/swatch-picker-labels.ts +10 -0
  1389. package/src/components/swatch-picker.tsx +23 -16
  1390. package/src/components/swipeable-row.tsx +7 -7
  1391. package/src/components/switch.tsx +33 -32
  1392. package/src/components/table.tsx +15 -15
  1393. package/src/components/tabs.tsx +660 -0
  1394. package/src/components/text-link.tsx +7 -7
  1395. package/src/components/text.tsx +10 -6
  1396. package/src/components/textarea.tsx +323 -0
  1397. package/src/components/tile-radio.tsx +6 -6
  1398. package/src/components/time-input.tsx +15 -7
  1399. package/src/components/toast-labels.ts +12 -0
  1400. package/src/components/toast.tsx +5 -8
  1401. package/src/components/toggle-group.tsx +105 -42
  1402. package/src/components/toggle-legend.tsx +6 -6
  1403. package/src/components/tooltip.tsx +10 -21
  1404. package/src/components/translation-review-editor.tsx +8 -7
  1405. package/src/components/translation-review-parts.tsx +9 -13
  1406. package/src/components/translation-review.tsx +26 -14
  1407. package/src/components/tree-view.tsx +14 -12
  1408. package/src/components/ui-labels.ts +22 -0
  1409. package/src/components/user-avatar.tsx +3 -3
  1410. package/src/components/wizard-stepper.tsx +10 -5
  1411. package/src/components/write-lock-labels.ts +9 -0
  1412. package/src/components/write-lock.tsx +10 -12
  1413. package/src/data-table.ts +4 -0
  1414. package/src/demo/demo-banner.tsx +9 -25
  1415. package/src/demo/demo-ended.tsx +8 -7
  1416. package/src/demo/demo-labels.ts +2 -2
  1417. package/src/demo/demo-start.tsx +7 -5
  1418. package/src/feedback/feedback-attachment-labels.ts +36 -0
  1419. package/src/feedback/feedback-attachment.tsx +42 -66
  1420. package/src/feedback/feedback-context-labels.ts +10 -0
  1421. package/src/feedback/feedback-context.tsx +8 -9
  1422. package/src/feedback/feedback-dialog-labels.ts +28 -0
  1423. package/src/feedback/feedback-dialog.tsx +14 -44
  1424. package/src/feedback/feedback-inbox.tsx +49 -252
  1425. package/src/feedback/feedback-labels.ts +5 -5
  1426. package/src/feedback/feedback-menu-labels.ts +11 -0
  1427. package/src/feedback/feedback-menu.tsx +13 -11
  1428. package/src/feedback/feedback-record.ts +21 -7
  1429. package/src/feedback/feedback-row-detail-labels.ts +33 -0
  1430. package/src/feedback/feedback-row-detail.tsx +30 -43
  1431. package/src/feedback/feedback-status-undo.ts +3 -2
  1432. package/src/feedback/feedback-submit-dialog.tsx +109 -0
  1433. package/src/feedback/feedback-submit.tsx +45 -55
  1434. package/src/feedback/feedback-swipe.tsx +1 -1
  1435. package/src/feedback/feedback-table-labels.ts +27 -0
  1436. package/src/feedback/feedback-table.tsx +24 -40
  1437. package/src/feedback/feedback-thread-labels.ts +22 -0
  1438. package/src/feedback/feedback-thread.tsx +68 -48
  1439. package/src/feedback/feedback-vocabulary.ts +252 -0
  1440. package/src/hooks/use-anchored-panel.ts +155 -9
  1441. package/src/hooks/use-anchored-rect.ts +11 -9
  1442. package/src/hooks/use-authed-src.ts +13 -7
  1443. package/src/hooks/use-breakpoint.ts +5 -4
  1444. package/src/hooks/use-close-transition.ts +9 -10
  1445. package/src/hooks/use-debounce.ts +9 -0
  1446. package/src/hooks/use-dismiss.ts +176 -19
  1447. package/src/hooks/use-file-drop.ts +2 -2
  1448. package/src/hooks/use-file-picker-labels.ts +29 -0
  1449. package/src/hooks/use-file-picker.tsx +363 -0
  1450. package/src/hooks/use-focus-trap.ts +74 -18
  1451. package/src/i18n/defaults.ts +91 -82
  1452. package/src/i18n/german.ts +54 -7
  1453. package/src/i18n/kit-labels.tsx +70 -119
  1454. package/src/i18n/locales/en.ts +46 -0
  1455. package/src/i18n/locales/es.ts +52 -7
  1456. package/src/i18n/locales/fr.ts +55 -8
  1457. package/src/i18n/locales/hu.ts +54 -8
  1458. package/src/i18n/locales/it.ts +53 -7
  1459. package/src/i18n/locales/zh.ts +50 -6
  1460. package/src/i18n/plurals.ts +29 -0
  1461. package/src/i18n/review.ts +4 -0
  1462. package/src/i18n/shared-labels.ts +135 -0
  1463. package/src/index.ts +412 -402
  1464. package/src/landing/access.ts +2 -1
  1465. package/src/landing/landing-actions.tsx +6 -5
  1466. package/src/landing/landing-labels.ts +2 -2
  1467. package/src/landing/landing-sections.tsx +24 -23
  1468. package/src/landing/public-header.tsx +3 -2
  1469. package/src/landing/routing.tsx +2 -7
  1470. package/src/lib/chip-edge-snap.ts +212 -0
  1471. package/src/lib/cn.ts +13 -1
  1472. package/src/lib/dates.ts +4 -2
  1473. package/src/lib/decimal-marks.ts +4 -2
  1474. package/src/lib/download.ts +172 -0
  1475. package/src/lib/floating-stack.ts +5 -1
  1476. package/src/lib/format.ts +5 -3
  1477. package/src/lib/ime.ts +24 -0
  1478. package/src/lib/presence.ts +18 -0
  1479. package/src/lib/reduced-motion.ts +21 -0
  1480. package/src/lib/round.ts +38 -0
  1481. package/src/lib/safe-storage.ts +35 -11
  1482. package/src/lib/session-refresh.ts +473 -0
  1483. package/src/lib/text-match.ts +60 -0
  1484. package/src/lib/translation-review.ts +7 -6
  1485. package/src/rhf/fields.tsx +131 -179
  1486. package/src/rhf/form-core.tsx +327 -0
  1487. package/src/rhf/form.tsx +46 -321
  1488. package/src/rhf/line-items.tsx +1 -1
  1489. package/src/rhf.ts +3 -2
  1490. package/src/search/command-palette-labels.ts +16 -0
  1491. package/src/search/command-palette.tsx +37 -50
  1492. package/src/search/global-search-labels.ts +13 -0
  1493. package/src/search/global-search.tsx +50 -24
  1494. package/src/search/search-index.ts +5 -6
  1495. package/src/search/use-command-key.ts +22 -0
  1496. package/src/settings/settings-card-classes.ts +11 -0
  1497. package/src/settings/settings-heading.tsx +1 -1
  1498. package/src/settings/settings-labels.ts +2 -2
  1499. package/src/settings/settings-layout.tsx +65 -6
  1500. package/src/settings/settings-section.tsx +5 -5
  1501. package/src/settings/use-settings-focus.ts +2 -5
  1502. package/src/shell/app-shell-labels.ts +10 -0
  1503. package/src/shell/app-shell.tsx +79 -53
  1504. package/src/shell/auth-layout.tsx +11 -10
  1505. package/src/shell/company-switcher-labels.ts +13 -0
  1506. package/src/shell/company-switcher.tsx +7 -11
  1507. package/src/shell/option-switcher-menu.tsx +25 -6
  1508. package/src/shell/role-switcher.tsx +7 -3
  1509. package/src/shell/top-bar-brand.tsx +1 -1
  1510. package/src/shell/top-bar.tsx +6 -5
  1511. package/src/shell/topbar-action-menu.tsx +39 -20
  1512. package/src/shell/topbar-controls.tsx +24 -12
  1513. package/src/shell.ts +1 -1
  1514. package/src/testing/index.ts +11 -0
  1515. package/src/testing/viewport.ts +251 -0
  1516. package/src/theme/color.ts +7 -1
  1517. package/src/theme/palette-derive.ts +29 -7
  1518. package/src/theme/palette-presets.ts +81 -68
  1519. package/src/tour/tour-labels.ts +14 -0
  1520. package/src/tour/tour.tsx +13 -23
  1521. package/src/wizard/stepper-nav.tsx +19 -18
  1522. package/src/wizard/types.ts +7 -22
  1523. package/src/wizard/wizard-labels.ts +29 -0
  1524. package/src/wizard/wizard-step.tsx +2 -2
  1525. package/src/wizard/wizard-summary.tsx +8 -7
  1526. package/tokens.css +63 -14
  1527. package/dist/components/account-settings-labels.js.map +0 -1
  1528. package/dist/components/account-settings.js.map +0 -1
  1529. package/dist/components/choice-parts.d.ts +0 -24
  1530. package/dist/components/choice-parts.js +0 -18
  1531. package/dist/components/choice-parts.js.map +0 -1
  1532. package/dist/components/passkeys-setting.js.map +0 -1
  1533. package/dist/components/ui.d.ts +0 -100
  1534. package/dist/components/ui.js +0 -1955
  1535. package/dist/components/ui.js.map +0 -1
  1536. package/dist/data-table-labels-BJ5JE_X2.d.ts +0 -923
  1537. package/dist/delete-account-setting-DiPX4Vue.d.ts +0 -8130
  1538. package/src/components/choice-parts.ts +0 -33
  1539. package/src/components/ui.tsx +0 -4233
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/session-refresh.ts"],"sourcesContent":["/**\n * Renewing a session when the access token runs out: the client half of\n * docs/auth-harmonization.md §11 (round 0.34 C7, KS U6), lifted from keksdose's\n * `refreshOnce` (Kurvenschmiede's is the same, line for line) and corrected where the\n * three apps' reviews found it wrong. It ends kastlan's sign-out over a network blip (B3).\n *\n * THE KIT OWNS THE RULE, THE APP OWNS THE CALL (§11.2, decision 1). The kit decides when\n * to refresh, who waits, what a failure means, when the session is over and whether a\n * renewal may still be stored. The app keeps its endpoint, its token storage, its\n * sign-out and where it navigates, and hands them in as {@link SessionRefreshOptions}.\n *\n * - **One flight per tab** (decision 2): every 401 that arrives while a refresh runs\n * waits for it, and so does `session.refresh()` (kastlan's boot).\n * - **Definitive** (decision 3): the device holds no refresh token (`refresh` resolves\n * `null`), the refresh answers 401 or 403, or the request replayed with the fresh\n * token gets a 401 again. Only then does the app sign out (`onEnded`), and only while\n * that session is still the app's.\n * - **Transient** (decision 4): everything else. The session stays: nothing is signed\n * out, stored or redirected, and the kit shows nothing. The request rejects with its\n * OWN 401, marked ({@link isTransientRefreshFailure}), so the app's message can say\n * \"can't reach the server\" instead of \"not signed in\".\n * - **Retries only where waiting helps** (decision 5, KS 7): no answer, the kit's own\n * timeout, 408, 429 and 5xx get up to three attempts, 1 s and then 3 s apart, each cut\n * off after 15 s; none while the browser reports itself offline. Any other answer, and\n * anything that is not an HTTP error, ends the flight at the first attempt.\n * - **A stale session is never written back** (§11.7, ka 3, KS 3, KS 4): every request\n * is stamped with `currentToken()` when it goes out, and every flight notes it when it\n * starts. A 401 to a request sent with an older token replays it with the app's token\n * now, without a refresh; a flight whose session changed while it ran stores nothing\n * and ends nothing. The access token is the session's identity because every change\n * the apps make replaces it — a refresh, another tab, a company switch, a password\n * change, a sign-in, a demo start, a sign-out.\n *\n * Framework-free like `server-wake.ts`: {@link attachSessionRefresh} takes the app's\n * axios instance as an ARGUMENT, typed structurally, so the kit never imports axios.\n */\n\nimport type { AxiosLikeInstance, ServerWakeAxiosConfig } from \"./server-wake\";\nimport { httpStatusOf } from \"../auth/auth-errors\";\n\n/** What the app's `refresh` resolves: the new access token, plus whatever its `store`\n * needs (its refresh token, the user). */\nexport interface SessionRenewal {\n /** The new access token; the waiting requests are replayed with it. */\n token: string;\n /**\n * `false`: store the renewal, but replay nothing — each waiting request rejects with\n * its 401, unmarked. kastlan's refresh can land in another company (§11.5, ka 3): a\n * waiting write, such as the handover's `POST /sync`, must not be replayed into it.\n */\n replay?: false;\n}\n\n/** What the app hands {@link createSessionRefresh} (§11.4). */\nexport interface SessionRefreshOptions<R extends SessionRenewal> {\n /**\n * The app's own `POST /auth/refresh`, on a BARE client — never the instance the kit is\n * attached to, so the refresh cannot re-enter the interceptor. It **writes nothing**:\n * the kit hands the answer to `store`, and only while the session is unchanged.\n *\n * Resolves the answer as a renewal, or `null` when the device holds no refresh token.\n * Throws on failure, and the kit classifies the throw: a 401 or 403 is definitive; no\n * answer (an axios error without a `response`), the kit's own timeout, 408, 429 and\n * 5xx are transient and retried; any other answer, and anything that is not an HTTP\n * error (a bug in this function), is transient and not retried. The status is read\n * from `err.response.status` (axios), `err.status` or `err.statusCode`.\n *\n * `signal` aborts when the attempt runs past `timeoutMs`; pass it to the request.\n */\n refresh: (signal: AbortSignal) => Promise<R | null>;\n /** Writes the renewal: the tokens and the user (a missing refresh token keeps the\n * stored one). Called only while the session the flight renews is still the app's,\n * and before the waiting requests are replayed — so it writes the token SYNCHRONOUSLY\n * where `currentToken` reads it: the replay goes through the app's own request\n * interceptor again, and is stamped then. A throw is the app's bug: the waiting\n * requests and `session.refresh()` reject with it. */\n store: (renewal: R) => void;\n /** The access token the app sends NOW, read where its request interceptor reads it;\n * `null` when there is none. */\n currentToken: () => string | null;\n /** Whether the session is a demo: a demo's 401 ends it, with no refresh tried\n * (landing-demo §5.5). */\n isDemo: () => boolean;\n /**\n * The session is over: drop the tokens and the user, then navigate — `/demo/ended` for\n * a demo, else the sign-in with the page it came from (auth §5.2). Called once per\n * session, however many requests found out (KS 8), and never by `session.refresh()`.\n */\n onEnded: (ended: { demo: boolean }) => void;\n /** Whether a URL is a signed-out step, whose 401 judges the form and never the\n * session. Replaces the default list, {@link isSignedOutStep}. */\n isSignedOutStep?: (url: string) => boolean;\n /** Attempts for a refresh that got no answer, timed out, or got a 408, 429 or 5xx.\n * Default 3. */\n attempts?: number;\n /** The waits before the second and later attempts; the last one repeats. Default\n * `[1000, 3000]`. */\n backoffMs?: readonly number[];\n /** Each attempt is cut off after this, and its `signal` aborted. Default 15 000. */\n timeoutMs?: number;\n}\n\n/** What `session.refresh()` resolves (§11.4), by `result`:\n *\n * | `result` | When | What the kit has done |\n * |---|---|---|\n * | `\"renewed\"` | a renewal while the session was unchanged | `store(renewal)` |\n * | `\"ended\"` | definitive | nothing; `onEnded` only for requests that waited on the same flight |\n * | `\"transient\"` | transient | nothing |\n * | `\"changed\"` | the session changed while it ran | nothing; read the app's own state |\n */\nexport type SessionRefreshOutcome<R extends SessionRenewal = SessionRenewal> =\n | { result: \"renewed\"; renewal: R }\n | { result: \"ended\" }\n | { result: \"transient\" }\n | { result: \"changed\" };\n\n/** The flight {@link createSessionRefresh} makes; {@link attachSessionRefresh} hooks it\n * to an axios instance. */\nexport interface SessionRefresh<R extends SessionRenewal = SessionRenewal> {\n /**\n * The same flight, for a caller outside the interceptor — kastlan's boot. Joins a\n * running flight, or starts one. Never calls `onEnded`: the caller decides what an\n * `\"ended\"` means for it.\n */\n refresh(): Promise<SessionRefreshOutcome<R>>;\n}\n\n// ── The signed-out steps ──────────────────────────────────────────────────────\n\n/**\n * Every `/auth/` call made without a session, the union of the three apps' lists\n * (§11.3): signing in (with its `2fa` and `set-password` steps, and a passkey's), up,\n * into a demo, a password reset, the verification link, the invitation check, the email\n * change's confirmation link, and the refresh itself. NOT `resend-verification` (KS 1):\n * in keksdose and Kurvenschmiede it needs a session; in kastlan it never answers 401.\n */\nconst SIGNED_OUT_STEPS = [\n \"login\",\n \"passkey/login\",\n \"register\",\n \"demo-session\",\n \"password-reset\",\n \"verify-email\",\n \"invitations/check\",\n \"me/email/confirm\",\n \"refresh\",\n] as const;\n\n/**\n * Whether a request's URL is a signed-out step — the kit's default list (§11.3), exported\n * for an app's tests and for an app's own `isSignedOutStep` that adds to it.\n *\n * **Whole steps only** (KS 2): the part of the path after its `auth/` segment, without\n * the query string, is the entry itself or starts with the entry and a `/`. So\n * `login/2fa` is `login`'s, but `register` never catches `/auth/passkey/register/begin`\n * (adding a passkey, which needs a session), `invitations/check` never\n * `/auth/invitations/accept`, and `me/email/confirm` never `/auth/me/email`. Relative and\n * absolute URLs alike; a URL with no `auth` segment is no step.\n */\nexport function isSignedOutStep(url: string): boolean {\n const path = url.replace(/[?#].*$/s, \"\").replace(/^([a-z][a-z\\d+.-]*:)?\\/\\/[^/]*/i, \"\");\n const segments = path.split(\"/\");\n const at = segments.indexOf(\"auth\");\n if (at < 0) return false;\n const step = segments.slice(at + 1).join(\"/\");\n return SIGNED_OUT_STEPS.some((entry) => step === entry || step.startsWith(`${entry}/`));\n}\n\n// ── The marker ────────────────────────────────────────────────────────────────\n\n/** On the request's own axios error, after a transient failure (decision 8). A\n * `Symbol.for` key: shared by every copy of the kit in a page, and left out of\n * `JSON.stringify`, so a log that serialises the error doesn't print it (kk 2). */\nconst TRANSIENT = Symbol.for(\"@eifi1/ui-kit:session-refresh.transient\");\n\n/**\n * Whether a request was refused because the refresh behind it failed TRANSIENTLY —\n * offline, a timeout, a 5xx — and not because the session is over (decision 8). The\n * error is the request's own 401, `err.response?.status` and every check an app already\n * has keep working; this reads the mark the kit put on it, so the app's message can say\n * \"can't reach the server\" instead of \"not signed in\". Read it FIRST: keksdose's sync\n * chip, kastlan's handover sync and Kurvenschmiede's `apiErrorMessage` count it as\n * offline (§11.5).\n *\n * Not the refresh's own error: its config carries the refresh token in its body, into any\n * log or crash report that keeps the error.\n */\nexport function isTransientRefreshFailure(error: unknown): boolean {\n return typeof error === \"object\" && error !== null && (error as Record<symbol, unknown>)[TRANSIENT] === true;\n}\n\n// ── The flight ────────────────────────────────────────────────────────────────\n\n/** A flight's result, as the interceptor needs it: `\"ended\"` keeps the session it ended. */\ntype Flight<R extends SessionRenewal> =\n | { result: \"renewed\"; renewal: R }\n | { result: \"ended\"; token: string | null }\n | { result: \"transient\" }\n | { result: \"changed\" };\n\n/** What one attempt came to. */\ntype Attempt<R> = { renewal: R } | \"definitive\" | \"retry\" | \"transient\";\n\n/** What {@link attachSessionRefresh} needs of a session. Kept off the public interface:\n * only what {@link createSessionRefresh} made can be attached. */\ninterface Engine {\n token(): string | null;\n isDemo(): boolean;\n isSignedOutStep(url: string): boolean;\n join(): Promise<Flight<SessionRenewal>>;\n end(token: string | null, demo: boolean): void;\n}\n\nconst engines = new WeakMap<SessionRefresh<SessionRenewal>, Engine>();\n\n/** The kit's own timeout, told apart from anything the app's `refresh` throws. */\nconst TIMED_OUT = Symbol(\"timed out\");\n\nfunction isOffline(): boolean {\n return typeof navigator !== \"undefined\" && navigator.onLine === false;\n}\n\n/** A refresh's throw, classified (§11.4). The status is read where `isRateLimited` reads\n * it — `httpStatusOf`, one probe for axios, ofetch and Node errors (DUP-11). */\nfunction classify(error: unknown): \"definitive\" | \"retry\" | \"transient\" {\n if (error === TIMED_OUT) return \"retry\";\n if (typeof error !== \"object\" || error === null) return \"transient\";\n const status = httpStatusOf(error);\n if (status === undefined) {\n // No answer: axios marks its own errors, and one without a response never reached a\n // server (offline, DNS, CORS, its own timeout). Anything else is a bug in `refresh`.\n return (error as { isAxiosError?: unknown }).isAxiosError === true ? \"retry\" : \"transient\";\n }\n if (status === 401 || status === 403) return \"definitive\";\n if (status === 408 || status === 429 || status >= 500) return \"retry\";\n return \"transient\";\n}\n\nconst sleep = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));\n\n/**\n * Make the flight: `const session = createSessionRefresh({ refresh, store, currentToken,\n * isDemo, onEnded })`, then {@link attachSessionRefresh}`(api, session)`. One per tab.\n */\nexport function createSessionRefresh<R extends SessionRenewal>(options: SessionRefreshOptions<R>): SessionRefresh<R> {\n const { attempts = 3, backoffMs = [1000, 3000], timeoutMs = 15_000 } = options;\n // An empty string is no token: the stamp and the flight compare tokens, and \"\" against\n // `null` must not read as a change of session.\n const token = () => options.currentToken() || null;\n\n /** One call of the app's `refresh`, cut off after `timeoutMs` even if it ignores the\n * signal. */\n const attempt = async (): Promise<Attempt<R>> => {\n const controller = new AbortController();\n let timer: ReturnType<typeof setTimeout> | undefined;\n const timeout = new Promise<never>((_, reject) => {\n timer = setTimeout(() => {\n reject(TIMED_OUT);\n controller.abort();\n }, timeoutMs);\n });\n try {\n // Through `then`, so a `refresh` that throws before it returns a promise is\n // classified like one that rejects.\n const renewal = await Promise.race([Promise.resolve().then(() => options.refresh(controller.signal)), timeout]);\n return renewal ? { renewal } : \"definitive\";\n } catch (error) {\n return classify(error);\n } finally {\n clearTimeout(timer);\n }\n };\n\n const run = async (): Promise<Flight<R>> => {\n // The session this flight renews (§11.3 step 5).\n const noted = token();\n const changed = () => token() !== noted;\n let outcome = await attempt();\n for (let made = 1; outcome === \"retry\"; made += 1) {\n // No further attempt while the browser says it is offline, nor for a session that\n // is no longer the app's: whatever the answer, it would be \"changed\".\n if (made >= attempts || isOffline() || changed()) break;\n await sleep(backoffMs[made - 1] ?? backoffMs[backoffMs.length - 1] ?? 0);\n if (isOffline() || changed()) break;\n outcome = await attempt();\n }\n // A late answer never writes the old session back over a sign-out, a demo start or a\n // password change, and the old session's refusal never signs anyone out (KS 3).\n if (changed()) return { result: \"changed\" };\n if (outcome === \"definitive\") return { result: \"ended\", token: noted };\n if (outcome === \"retry\" || outcome === \"transient\") return { result: \"transient\" };\n options.store(outcome.renewal);\n return { result: \"renewed\", renewal: outcome.renewal };\n };\n\n let flight: Promise<Flight<R>> | null = null;\n const join = () => {\n // Cleared before any waiter resumes (`finally` settles first), so a waiter that\n // needs another flight starts a new one.\n flight ??= run().finally(() => {\n flight = null;\n });\n return flight;\n };\n\n /** The session `onEnded` was last called for: once per session (KS 8). */\n let ended: { token: string | null } | undefined;\n\n const session: SessionRefresh<R> = {\n async refresh() {\n const outcome = await join();\n return outcome.result === \"ended\" ? { result: \"ended\" } : outcome;\n },\n };\n engines.set(session, {\n token,\n isDemo: () => options.isDemo(),\n isSignedOutStep: options.isSignedOutStep ?? isSignedOutStep,\n join,\n end(endedToken, demo) {\n if (ended && ended.token === endedToken) return;\n ended = { token: endedToken };\n options.onEnded({ demo });\n },\n });\n return session;\n}\n\n// ── axios ─────────────────────────────────────────────────────────────────────\n\n/** The config fields the kit reads and writes — what axios's request config has. */\ninterface SessionRefreshAxiosConfig extends ServerWakeAxiosConfig {\n /** axios's `AxiosHeaders` (written through its `set`), or a plain record. */\n headers?: unknown;\n}\n\n/** An axios instance, structurally: {@link AxiosLikeInstance}, plus `request(config)` for\n * the replay. `axios.create()`'s result fits it as is. `NoInfer`, because axios's\n * `request` takes the WIDER `AxiosRequestConfig`: inferred from there, the config type\n * no longer fits the interceptors, which hand out `InternalAxiosRequestConfig`. */\ninterface SessionRefreshInstance<C extends SessionRefreshAxiosConfig, R extends { config: C }>\n extends AxiosLikeInstance<C, R> {\n request(config: NoInfer<C>): Promise<unknown>;\n}\n\n/** The keys the kit keeps on a request's config, as `attachServerWake` keeps\n * `_serverWake`: never a header. Plain string keys holding primitives, because axios\n * copies the config on a replay (`mergeConfig`) and a symbol key would be dropped. */\nconst STAMP = \"_sessionStamp\";\nconst REFRESHED = \"_sessionRefreshed\";\nconst RESTAMPED = \"_sessionRestamped\";\ntype Marked = {\n /** `currentToken()` when the request went out. */\n [STAMP]?: string | null;\n /** Replayed after a refresh: a 401 now is definitive (decision 3). */\n [REFRESHED]?: boolean;\n /** Replayed because it was sent with an older token: once for this reason. */\n [RESTAMPED]?: boolean;\n};\n\n/** `Authorization: Bearer <token>` on a config about to be replayed. The app's own\n * request interceptor runs again on the replay and writes the same, from the same\n * source. */\nfunction authorize(config: SessionRefreshAxiosConfig, token: string): void {\n const value = `Bearer ${token}`;\n const headers = config.headers;\n if (typeof headers !== \"object\" || headers === null) {\n config.headers = { Authorization: value };\n } else if (typeof (headers as { set?: unknown }).set === \"function\") {\n (headers as { set(name: string, value: string): unknown }).set(\"Authorization\", value);\n } else {\n (headers as Record<string, unknown>).Authorization = value;\n }\n}\n\n/**\n * Hook a session to an axios instance: `attachSessionRefresh(api, session)`. Adds a\n * request interceptor (the stamp) and a response interceptor (the 401), and returns a\n * function that ejects both.\n *\n * Attach it LAST (§11.3, kk 4): after `attachServerWake`, which asks to be first, and\n * after the app's own response interceptors (logging, a watchdog of its own). axios runs\n * response interceptors in the order they were added, and each of those must see the 401\n * settle before the refresh is awaited. The request side's order does not matter.\n *\n * On a 401, in this order (§11.3):\n *\n * 1. a signed-out step → reject, nothing else;\n * 2. sent with an older token → replayed with the app's token now, with no refresh, once\n * for this reason; with no token now, reject;\n * 3. a demo → `onEnded({ demo: true })`, reject;\n * 4. already replayed after a refresh → definitive: `onEnded({ demo: false })`, reject;\n * 5. otherwise it joins the flight, or starts it. A renewal replays it once with the\n * renewal's token (`replay: false`: rejects, unmarked); definitive ends the session;\n * transient rejects, marked; a session that changed meanwhile sends it through step\n * 2 again.\n *\n * Every rejection is the request's OWN error. Any other status passes through untouched.\n */\nexport function attachSessionRefresh<C extends SessionRefreshAxiosConfig, R extends { config: C }>(\n instance: SessionRefreshInstance<C, R>,\n session: SessionRefresh<SessionRenewal>,\n): () => void {\n const engine = engines.get(session);\n if (!engine) throw new TypeError(\"attachSessionRefresh takes the session createSessionRefresh made\");\n\n const onUnauthorized = async (error: object, config: C & Marked): Promise<unknown> => {\n if (engine.isSignedOutStep(config.url ?? \"\")) throw error;\n // A config the kit never stamped (sent before it was attached) counts as current.\n const stamp = config[STAMP] === undefined ? engine.token() : config[STAMP];\n const replay = (token: string) => {\n authorize(config, token);\n return instance.request(config);\n };\n for (;;) {\n const now = engine.token();\n // 2. The session it was sent for is gone, and whatever ended it has already done\n // what follows (ka 3, KS 3, KS 4).\n if (stamp !== now) {\n if (now === null || config[RESTAMPED]) throw error;\n config[RESTAMPED] = true;\n return replay(now);\n }\n // 3. A demo has nothing to refresh: its token lives as long as its account\n // (landing-demo §5.5).\n if (engine.isDemo()) {\n engine.end(now, true);\n throw error;\n }\n // 4. A replay for an older token doesn't count here: the app's current token may\n // simply have expired too, which needs a refresh, not a sign-out.\n if (config[REFRESHED]) {\n engine.end(now, false);\n throw error;\n }\n // 5. The flight.\n const flight = await engine.join();\n if (flight.result === \"changed\") continue;\n if (flight.result === \"ended\") {\n engine.end(flight.token, false);\n throw error;\n }\n if (flight.result === \"transient\") {\n (error as Record<symbol, unknown>)[TRANSIENT] = true;\n throw error;\n }\n if (flight.renewal.replay === false) throw error;\n config[REFRESHED] = true;\n return replay(flight.renewal.token);\n }\n };\n\n const request = instance.interceptors.request.use(\n (config) => {\n (config as C & Marked)[STAMP] = engine.token();\n return config;\n },\n (error) => Promise.reject(error),\n );\n const response = instance.interceptors.response.use(\n (res) => res,\n (error) => {\n const failed = error as { config?: C & Marked; response?: { status?: unknown } } | null;\n if (failed?.response?.status !== 401 || !failed.config) return Promise.reject(error);\n return onUnauthorized(failed, failed.config);\n },\n );\n return () => {\n instance.interceptors.request.eject(request);\n instance.interceptors.response.eject(response);\n };\n}\n"],"mappings":";AAsCA,SAAS,oBAAoB;AAmG7B,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAaO,SAAS,gBAAgB,KAAsB;AACpD,QAAM,OAAO,IAAI,QAAQ,YAAY,EAAE,EAAE,QAAQ,mCAAmC,EAAE;AACtF,QAAM,WAAW,KAAK,MAAM,GAAG;AAC/B,QAAM,KAAK,SAAS,QAAQ,MAAM;AAClC,MAAI,KAAK,EAAG,QAAO;AACnB,QAAM,OAAO,SAAS,MAAM,KAAK,CAAC,EAAE,KAAK,GAAG;AAC5C,SAAO,iBAAiB,KAAK,CAAC,UAAU,SAAS,SAAS,KAAK,WAAW,GAAG,KAAK,GAAG,CAAC;AACxF;AAOA,MAAM,YAAY,uBAAO,IAAI,yCAAyC;AAc/D,SAAS,0BAA0B,OAAyB;AACjE,SAAO,OAAO,UAAU,YAAY,UAAU,QAAS,MAAkC,SAAS,MAAM;AAC1G;AAwBA,MAAM,UAAU,oBAAI,QAAgD;AAGpE,MAAM,YAAY,uBAAO,WAAW;AAEpC,SAAS,YAAqB;AAC5B,SAAO,OAAO,cAAc,eAAe,UAAU,WAAW;AAClE;AAIA,SAAS,SAAS,OAAsD;AACtE,MAAI,UAAU,UAAW,QAAO;AAChC,MAAI,OAAO,UAAU,YAAY,UAAU,KAAM,QAAO;AACxD,QAAM,SAAS,aAAa,KAAK;AACjC,MAAI,WAAW,QAAW;AAGxB,WAAQ,MAAqC,iBAAiB,OAAO,UAAU;AAAA,EACjF;AACA,MAAI,WAAW,OAAO,WAAW,IAAK,QAAO;AAC7C,MAAI,WAAW,OAAO,WAAW,OAAO,UAAU,IAAK,QAAO;AAC9D,SAAO;AACT;AAEA,MAAM,QAAQ,CAAC,OAAe,IAAI,QAAc,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAM7E,SAAS,qBAA+C,SAAsD;AACnH,QAAM,EAAE,WAAW,GAAG,YAAY,CAAC,KAAM,GAAI,GAAG,YAAY,KAAO,IAAI;AAGvE,QAAM,QAAQ,MAAM,QAAQ,aAAa,KAAK;AAI9C,QAAM,UAAU,YAAiC;AAC/C,UAAM,aAAa,IAAI,gBAAgB;AACvC,QAAI;AACJ,UAAM,UAAU,IAAI,QAAe,CAAC,GAAG,WAAW;AAChD,cAAQ,WAAW,MAAM;AACvB,eAAO,SAAS;AAChB,mBAAW,MAAM;AAAA,MACnB,GAAG,SAAS;AAAA,IACd,CAAC;AACD,QAAI;AAGF,YAAM,UAAU,MAAM,QAAQ,KAAK,CAAC,QAAQ,QAAQ,EAAE,KAAK,MAAM,QAAQ,QAAQ,WAAW,MAAM,CAAC,GAAG,OAAO,CAAC;AAC9G,aAAO,UAAU,EAAE,QAAQ,IAAI;AAAA,IACjC,SAAS,OAAO;AACd,aAAO,SAAS,KAAK;AAAA,IACvB,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,MAAM,YAAgC;AAE1C,UAAM,QAAQ,MAAM;AACpB,UAAM,UAAU,MAAM,MAAM,MAAM;AAClC,QAAI,UAAU,MAAM,QAAQ;AAC5B,aAAS,OAAO,GAAG,YAAY,SAAS,QAAQ,GAAG;AAGjD,UAAI,QAAQ,YAAY,UAAU,KAAK,QAAQ,EAAG;AAClD,YAAM,MAAM,UAAU,OAAO,CAAC,KAAK,UAAU,UAAU,SAAS,CAAC,KAAK,CAAC;AACvE,UAAI,UAAU,KAAK,QAAQ,EAAG;AAC9B,gBAAU,MAAM,QAAQ;AAAA,IAC1B;AAGA,QAAI,QAAQ,EAAG,QAAO,EAAE,QAAQ,UAAU;AAC1C,QAAI,YAAY,aAAc,QAAO,EAAE,QAAQ,SAAS,OAAO,MAAM;AACrE,QAAI,YAAY,WAAW,YAAY,YAAa,QAAO,EAAE,QAAQ,YAAY;AACjF,YAAQ,MAAM,QAAQ,OAAO;AAC7B,WAAO,EAAE,QAAQ,WAAW,SAAS,QAAQ,QAAQ;AAAA,EACvD;AAEA,MAAI,SAAoC;AACxC,QAAM,OAAO,MAAM;AAGjB,eAAW,IAAI,EAAE,QAAQ,MAAM;AAC7B,eAAS;AAAA,IACX,CAAC;AACD,WAAO;AAAA,EACT;AAGA,MAAI;AAEJ,QAAM,UAA6B;AAAA,IACjC,MAAM,UAAU;AACd,YAAM,UAAU,MAAM,KAAK;AAC3B,aAAO,QAAQ,WAAW,UAAU,EAAE,QAAQ,QAAQ,IAAI;AAAA,IAC5D;AAAA,EACF;AACA,UAAQ,IAAI,SAAS;AAAA,IACnB;AAAA,IACA,QAAQ,MAAM,QAAQ,OAAO;AAAA,IAC7B,iBAAiB,QAAQ,mBAAmB;AAAA,IAC5C;AAAA,IACA,IAAI,YAAY,MAAM;AACpB,UAAI,SAAS,MAAM,UAAU,WAAY;AACzC,cAAQ,EAAE,OAAO,WAAW;AAC5B,cAAQ,QAAQ,EAAE,KAAK,CAAC;AAAA,IAC1B;AAAA,EACF,CAAC;AACD,SAAO;AACT;AAsBA,MAAM,QAAQ;AACd,MAAM,YAAY;AAClB,MAAM,YAAY;AAalB,SAAS,UAAU,QAAmC,OAAqB;AACzE,QAAM,QAAQ,UAAU,KAAK;AAC7B,QAAM,UAAU,OAAO;AACvB,MAAI,OAAO,YAAY,YAAY,YAAY,MAAM;AACnD,WAAO,UAAU,EAAE,eAAe,MAAM;AAAA,EAC1C,WAAW,OAAQ,QAA8B,QAAQ,YAAY;AACnE,IAAC,QAA0D,IAAI,iBAAiB,KAAK;AAAA,EACvF,OAAO;AACL,IAAC,QAAoC,gBAAgB;AAAA,EACvD;AACF;AA0BO,SAAS,qBACd,UACA,SACY;AACZ,QAAM,SAAS,QAAQ,IAAI,OAAO;AAClC,MAAI,CAAC,OAAQ,OAAM,IAAI,UAAU,kEAAkE;AAEnG,QAAM,iBAAiB,OAAO,OAAe,WAAyC;AACpF,QAAI,OAAO,gBAAgB,OAAO,OAAO,EAAE,EAAG,OAAM;AAEpD,UAAM,QAAQ,OAAO,KAAK,MAAM,SAAY,OAAO,MAAM,IAAI,OAAO,KAAK;AACzE,UAAM,SAAS,CAAC,UAAkB;AAChC,gBAAU,QAAQ,KAAK;AACvB,aAAO,SAAS,QAAQ,MAAM;AAAA,IAChC;AACA,eAAS;AACP,YAAM,MAAM,OAAO,MAAM;AAGzB,UAAI,UAAU,KAAK;AACjB,YAAI,QAAQ,QAAQ,OAAO,SAAS,EAAG,OAAM;AAC7C,eAAO,SAAS,IAAI;AACpB,eAAO,OAAO,GAAG;AAAA,MACnB;AAGA,UAAI,OAAO,OAAO,GAAG;AACnB,eAAO,IAAI,KAAK,IAAI;AACpB,cAAM;AAAA,MACR;AAGA,UAAI,OAAO,SAAS,GAAG;AACrB,eAAO,IAAI,KAAK,KAAK;AACrB,cAAM;AAAA,MACR;AAEA,YAAM,SAAS,MAAM,OAAO,KAAK;AACjC,UAAI,OAAO,WAAW,UAAW;AACjC,UAAI,OAAO,WAAW,SAAS;AAC7B,eAAO,IAAI,OAAO,OAAO,KAAK;AAC9B,cAAM;AAAA,MACR;AACA,UAAI,OAAO,WAAW,aAAa;AACjC,QAAC,MAAkC,SAAS,IAAI;AAChD,cAAM;AAAA,MACR;AACA,UAAI,OAAO,QAAQ,WAAW,MAAO,OAAM;AAC3C,aAAO,SAAS,IAAI;AACpB,aAAO,OAAO,OAAO,QAAQ,KAAK;AAAA,IACpC;AAAA,EACF;AAEA,QAAM,UAAU,SAAS,aAAa,QAAQ;AAAA,IAC5C,CAAC,WAAW;AACV,MAAC,OAAsB,KAAK,IAAI,OAAO,MAAM;AAC7C,aAAO;AAAA,IACT;AAAA,IACA,CAAC,UAAU,QAAQ,OAAO,KAAK;AAAA,EACjC;AACA,QAAM,WAAW,SAAS,aAAa,SAAS;AAAA,IAC9C,CAAC,QAAQ;AAAA,IACT,CAAC,UAAU;AACT,YAAM,SAAS;AACf,UAAI,QAAQ,UAAU,WAAW,OAAO,CAAC,OAAO,OAAQ,QAAO,QAAQ,OAAO,KAAK;AACnF,aAAO,eAAe,QAAQ,OAAO,MAAM;AAAA,IAC7C;AAAA,EACF;AACA,SAAO,MAAM;AACX,aAAS,aAAa,QAAQ,MAAM,OAAO;AAC3C,aAAS,aAAa,SAAS,MAAM,QAAQ;AAAA,EAC/C;AACF;","names":[]}
@@ -1,10 +1,9 @@
1
- import { CSSProperties, FocusEvent, RefObject } from 'react';
2
-
3
- declare const TAB_FADE_PX = 24;
1
+ import type { CSSProperties, FocusEvent, RefObject } from "react";
2
+ export declare const TAB_FADE_PX = 24;
4
3
  /**
5
4
  * What {@link useStripFade} can be asked to do beyond the strip it was written for.
6
5
  */
7
- interface StripFadeOptions {
6
+ export interface StripFadeOptions {
8
7
  /**
9
8
  * Keep the strip's own SCROLLBARS out of the fade (0.25, for the kit Table's and
10
9
  * DataTable's `edgeFade`). A `mask-image` masks everything the element paints, and
@@ -22,7 +21,7 @@ interface StripFadeOptions {
22
21
  spareScrollbars?: boolean;
23
22
  }
24
23
  /** The room the classic scrollbars of a strip take, and the borders beside them. */
25
- interface StripScrollbars {
24
+ export interface StripScrollbars {
26
25
  /** Vertical scrollbar on the left (RTL in Chromium and Firefox), in px. */
27
26
  left: number;
28
27
  /** Vertical scrollbar on the right, in px. */
@@ -40,7 +39,7 @@ interface StripScrollbars {
40
39
  * and its tests; `scrollbars` (see {@link StripFadeOptions.spareScrollbars}) keeps
41
40
  * those bands opaque and starts the fade at the content's edge instead of the box's.
42
41
  */
43
- declare function stripFadeMask(edges: {
42
+ export declare function stripFadeMask(edges: {
44
43
  left: boolean;
45
44
  right: boolean;
46
45
  }, scrollbars?: StripScrollbars): string | undefined;
@@ -61,7 +60,7 @@ declare function stripFadeMask(edges: {
61
60
  * element, and `scrollLeft` is a magnitude here because an RTL strip counts it
62
61
  * negative from the start edge.
63
62
  */
64
- declare function useStripFade(ref: RefObject<HTMLElement | null>, options?: StripFadeOptions): {
63
+ export declare function useStripFade(ref: RefObject<HTMLElement | null>, options?: StripFadeOptions): {
65
64
  mask: string | undefined;
66
65
  overflow: "start" | "end" | "both" | undefined;
67
66
  };
@@ -75,7 +74,7 @@ declare function useStripFade(ref: RefObject<HTMLElement | null>, options?: Stri
75
74
  * scrolled into, and {@link StripFadeOptions.spareScrollbars} starts the fade inside
76
75
  * the scrollbar. A Tabs strip has neither, so its edges are where they were.
77
76
  */
78
- declare function scrollIntoStrip(strip: HTMLElement, item: HTMLElement): void;
77
+ export declare function scrollIntoStrip(strip: HTMLElement, item: HTMLElement): void;
79
78
  /**
80
79
  * Focus landed on `focused` inside a faded table's scroller (0.25, Table and
81
80
  * DataTable `edgeFade`): bring it clear of the fade. The browser's own focus scroll
@@ -86,9 +85,9 @@ declare function scrollIntoStrip(strip: HTMLElement, item: HTMLElement): void;
86
85
  * its end — would be brought in by its start and leave the link out, so then the
87
86
  * focused element itself is what is scrolled clear.
88
87
  */
89
- declare function scrollFocusIntoStrip(strip: HTMLElement, focused: HTMLElement): void;
88
+ export declare function scrollFocusIntoStrip(strip: HTMLElement, focused: HTMLElement): void;
90
89
  /** What {@link useEdgeFade} puts on the scroller; every field `undefined` while off. */
91
- interface EdgeFadeProps {
90
+ export interface EdgeFadeProps {
92
91
  "data-overflow": "start" | "end" | "both" | undefined;
93
92
  style: CSSProperties | undefined;
94
93
  onFocus: ((event: FocusEvent<HTMLElement>) => void) | undefined;
@@ -105,6 +104,4 @@ interface EdgeFadeProps {
105
104
  *
106
105
  * `style` is the mask alone; a caller with a style of its own spreads it over that.
107
106
  */
108
- declare function useEdgeFade(scroller: RefObject<HTMLElement | null>, on: boolean): EdgeFadeProps;
109
-
110
- export { type EdgeFadeProps, type StripFadeOptions, type StripScrollbars, TAB_FADE_PX, scrollFocusIntoStrip, scrollIntoStrip, stripFadeMask, useEdgeFade, useStripFade };
107
+ export declare function useEdgeFade(scroller: RefObject<HTMLElement | null>, on: boolean): EdgeFadeProps;
@@ -54,8 +54,8 @@
54
54
  */
55
55
  /** Where the decision about the comma is taken. See the module docstring: the
56
56
  * file door decides once for the whole text, the paste door decides per line. */
57
- type DecimalRule = "per-line" | "whole-text";
58
- interface ParseTableOptions {
57
+ export type DecimalRule = "per-line" | "whole-text";
58
+ export interface ParseTableOptions {
59
59
  decimal: DecimalRule;
60
60
  /**
61
61
  * How many columns the caller already knows the table has. A grid with fixed
@@ -72,7 +72,7 @@ interface ParseTableOptions {
72
72
  */
73
73
  headerLines?: number;
74
74
  }
75
- interface ParsedTable {
75
+ export interface ParsedTable {
76
76
  rows: number[][];
77
77
  /** The first header line's fields — the column *names*. A units line under it
78
78
  * is absorbed and not returned: what a column is measured in is the caller's to
@@ -97,7 +97,7 @@ interface ParsedTable {
97
97
  * person who pasted it can see which column went wrong. Dropping it here would
98
98
  * shift every column after it and lose the evidence.
99
99
  */
100
- declare function splitRow(line: string): string[];
100
+ export declare function splitRow(line: string): string[];
101
101
  /**
102
102
  * A pasted table, or the lines of it that are not one.
103
103
  *
@@ -105,7 +105,7 @@ declare function splitRow(line: string): string[];
105
105
  * banners, decides what separates the columns, takes the header off the top and
106
106
  * converts what is left.
107
107
  */
108
- declare function parseTable(text: string, options: ParseTableOptions): ParsedTable;
108
+ export declare function parseTable(text: string, options: ParseTableOptions): ParsedTable;
109
109
  /**
110
110
  * The paste door: a fixed number of columns, and the line that stopped it.
111
111
  *
@@ -117,31 +117,31 @@ declare function parseTable(text: string, options: ParseTableOptions): ParsedTab
117
117
  * produced no row at all is an error naming its first unreadable line, never
118
118
  * `{ rows: [] }`.
119
119
  */
120
- declare function parseRows(text: string, columns: number): {
120
+ export declare function parseRows(text: string, columns: number): {
121
121
  rows: number[][];
122
122
  } | {
123
123
  error: number;
124
124
  };
125
125
  /** One cell as a number. Unconditional: a cell has no columns in it, so a comma
126
126
  * in one is a decimal mark and nothing else. */
127
- declare const cellNumber: (cell: string) => number;
127
+ export declare const cellNumber: (cell: string) => number;
128
128
  /** Whether one cell holds a number yet. An empty cell is not one — it is a hole
129
129
  * in the measurement, which is a different thing from a zero. */
130
- declare const isCellNumber: (cell: string) => boolean;
130
+ export declare const isCellNumber: (cell: string) => boolean;
131
131
  /**
132
132
  * What separates the columns of a {@link TextTable}, named. `" "` is a run of
133
133
  * whitespace — one separator however many spaces or tabs it is made of — as in a
134
134
  * printed or MATLAB-dumped table.
135
135
  */
136
- type TableSeparator = "\t" | ";" | "," | " ";
136
+ export type TableSeparator = "\t" | ";" | "," | " ";
137
137
  /** One line of the text as it was handed over: its 1-based number (blank lines
138
138
  * counted, so a reader can count to it in the box they pasted into) and its text,
139
139
  * trimmed. */
140
- interface TableLine {
140
+ export interface TableLine {
141
141
  line: number;
142
142
  text: string;
143
143
  }
144
- interface ParseTextTableOptions {
144
+ export interface ParseTextTableOptions {
145
145
  /** The separator, decided by the caller — a "separated by" override, a format
146
146
  * the app already knows. Default: detected (see {@link parseTextTable}). */
147
147
  separator?: TableSeparator;
@@ -160,7 +160,7 @@ interface ParseTextTableOptions {
160
160
  * mark that were assumed, and the lines that were not read, with their number and
161
161
  * their text — because a guess nobody can see is a guess nobody can correct.
162
162
  */
163
- interface TextTable {
163
+ export interface TextTable {
164
164
  /** The first line's cells, when it names the columns; `null` when it is data. */
165
165
  header: string[] | null;
166
166
  /** Each read row, `width` cells long. An empty cell is `""`, kept in its place. */
@@ -218,7 +218,7 @@ interface TextTable {
218
218
  *
219
219
  * Blank lines and `#` banners are skipped, as by the numeric lexer.
220
220
  */
221
- declare function parseTextTable(text: string, options?: ParseTextTableOptions): TextTable;
221
+ export declare function parseTextTable(text: string, options?: ParseTextTableOptions): TextTable;
222
222
  /**
223
223
  * One cell of a {@link TextTable} as a number, read in the table's convention.
224
224
  *
@@ -230,6 +230,4 @@ declare function parseTextTable(text: string, options?: ParseTextTableOptions):
230
230
  * lexer does not read grouped numbers, it reports them. An empty cell is `NaN` too —
231
231
  * a hole in the table, not a zero.
232
232
  */
233
- declare function tableNumber(cell: string, decimalComma: boolean): number;
234
-
235
- export { type DecimalRule, type ParseTableOptions, type ParseTextTableOptions, type ParsedTable, type TableLine, type TableSeparator, type TextTable, cellNumber, isCellNumber, parseRows, parseTable, parseTextTable, splitRow, tableNumber };
233
+ export declare function tableNumber(cell: string, decimalComma: boolean): number;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * How typing into a kit list matches its rows — one rule for every list (DUP-5, refactor
3
+ * audit 2026-10).
4
+ *
5
+ * There were six. "zurich" found Zürich in CountrySelect and the command palette and in no
6
+ * EntityCombobox, Combobox, MultiSelect or DataTable text filter, where keksdose's
7
+ * Swiss-German payees and categories and kastlan's eighteen entity pickers live; "İ"
8
+ * folded by the locale in GroupedPicker and nowhere in the combobox family. The folding
9
+ * only ever widens a match, so moving every list onto it took nothing away.
10
+ */
11
+ /**
12
+ * A text as search compares it: the locale's lower case, accents off, ß spelt "ss" —
13
+ * "Zürich" and "ZURICH" both read "zurich", "Straße" reads "strasse". Punctuation and
14
+ * symbols stay: a currency is found by its "€", and "c++" is not the empty query.
15
+ *
16
+ * Lower-cased by the locale FIRST, then decomposed: the Turkish "İ" lower-cases to "i"
17
+ * and the dotted capital's mark is then dropped like any other, so "istanbul" finds
18
+ * "İSTANBUL" in every locale, while "I" folds to the dotless "ı" in Turkish alone.
19
+ * `locale` left out is the runtime's default; a malformed tag folds as if left out.
20
+ */
21
+ export declare function foldForSearch(text: string, locale?: string): string;
22
+ /** {@link rankMatch}'s answer: lower is better, `-1` is no match. */
23
+ export type MatchRank = -1 | 0 | 1 | 2;
24
+ /**
25
+ * How well `label` answers `query` — CountrySelect's ranking, for every list that orders
26
+ * its hits:
27
+ *
28
+ * - `0`: the query IS the row — its `code` ("ch" means Switzerland before it means Chad)
29
+ * or the whole label;
30
+ * - `1`: the label starts with it;
31
+ * - `2`: the label contains it;
32
+ * - `-1`: no match.
33
+ *
34
+ * Both sides are folded here ({@link foldForSearch}, by `locale`), so pass them as typed
35
+ * and as shown. An empty query matches every row alike (`0`). Sort by the rank with a
36
+ * stable sort, and rows of one rank keep the order they came in.
37
+ */
38
+ export declare function rankMatch(label: string, query: string, { code, locale }?: {
39
+ code?: string;
40
+ locale?: string;
41
+ }): MatchRank;
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ function foldForSearch(text, locale) {
3
+ let lower;
4
+ try {
5
+ lower = text.toLocaleLowerCase(locale);
6
+ } catch {
7
+ lower = text.toLocaleLowerCase();
8
+ }
9
+ return lower.normalize("NFD").replace(/\p{M}+/gu, "").replace(/ß/g, "ss");
10
+ }
11
+ function rankMatch(label, query, { code, locale } = {}) {
12
+ const q = foldForSearch(query.trim(), locale);
13
+ if (!q) return 0;
14
+ const text = foldForSearch(label, locale);
15
+ if (text === q || code !== void 0 && foldForSearch(code, locale) === q) return 0;
16
+ if (text.startsWith(q)) return 1;
17
+ return text.includes(q) ? 2 : -1;
18
+ }
19
+ export {
20
+ foldForSearch,
21
+ rankMatch
22
+ };
23
+ //# sourceMappingURL=text-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/text-match.ts"],"sourcesContent":["/**\n * How typing into a kit list matches its rows — one rule for every list (DUP-5, refactor\n * audit 2026-10).\n *\n * There were six. \"zurich\" found Zürich in CountrySelect and the command palette and in no\n * EntityCombobox, Combobox, MultiSelect or DataTable text filter, where keksdose's\n * Swiss-German payees and categories and kastlan's eighteen entity pickers live; \"İ\"\n * folded by the locale in GroupedPicker and nowhere in the combobox family. The folding\n * only ever widens a match, so moving every list onto it took nothing away.\n */\n\n/**\n * A text as search compares it: the locale's lower case, accents off, ß spelt \"ss\" —\n * \"Zürich\" and \"ZURICH\" both read \"zurich\", \"Straße\" reads \"strasse\". Punctuation and\n * symbols stay: a currency is found by its \"€\", and \"c++\" is not the empty query.\n *\n * Lower-cased by the locale FIRST, then decomposed: the Turkish \"İ\" lower-cases to \"i\"\n * and the dotted capital's mark is then dropped like any other, so \"istanbul\" finds\n * \"İSTANBUL\" in every locale, while \"I\" folds to the dotless \"ı\" in Turkish alone.\n * `locale` left out is the runtime's default; a malformed tag folds as if left out.\n */\nexport function foldForSearch(text: string, locale?: string): string {\n let lower: string;\n try {\n lower = text.toLocaleLowerCase(locale);\n } catch {\n lower = text.toLocaleLowerCase();\n }\n return lower.normalize(\"NFD\").replace(/\\p{M}+/gu, \"\").replace(/ß/g, \"ss\");\n}\n\n/** {@link rankMatch}'s answer: lower is better, `-1` is no match. */\nexport type MatchRank = -1 | 0 | 1 | 2;\n\n/**\n * How well `label` answers `query` — CountrySelect's ranking, for every list that orders\n * its hits:\n *\n * - `0`: the query IS the row — its `code` (\"ch\" means Switzerland before it means Chad)\n * or the whole label;\n * - `1`: the label starts with it;\n * - `2`: the label contains it;\n * - `-1`: no match.\n *\n * Both sides are folded here ({@link foldForSearch}, by `locale`), so pass them as typed\n * and as shown. An empty query matches every row alike (`0`). Sort by the rank with a\n * stable sort, and rows of one rank keep the order they came in.\n */\nexport function rankMatch(\n label: string,\n query: string,\n { code, locale }: { code?: string; locale?: string } = {},\n): MatchRank {\n const q = foldForSearch(query.trim(), locale);\n if (!q) return 0;\n const text = foldForSearch(label, locale);\n if (text === q || (code !== undefined && foldForSearch(code, locale) === q)) return 0;\n if (text.startsWith(q)) return 1;\n return text.includes(q) ? 2 : -1;\n}\n"],"mappings":";AAqBO,SAAS,cAAc,MAAc,QAAyB;AACnE,MAAI;AACJ,MAAI;AACF,YAAQ,KAAK,kBAAkB,MAAM;AAAA,EACvC,QAAQ;AACN,YAAQ,KAAK,kBAAkB;AAAA,EACjC;AACA,SAAO,MAAM,UAAU,KAAK,EAAE,QAAQ,YAAY,EAAE,EAAE,QAAQ,MAAM,IAAI;AAC1E;AAmBO,SAAS,UACd,OACA,OACA,EAAE,MAAM,OAAO,IAAwC,CAAC,GAC7C;AACX,QAAM,IAAI,cAAc,MAAM,KAAK,GAAG,MAAM;AAC5C,MAAI,CAAC,EAAG,QAAO;AACf,QAAM,OAAO,cAAc,OAAO,MAAM;AACxC,MAAI,SAAS,KAAM,SAAS,UAAa,cAAc,MAAM,MAAM,MAAM,EAAI,QAAO;AACpF,MAAI,KAAK,WAAW,CAAC,EAAG,QAAO;AAC/B,SAAO,KAAK,SAAS,CAAC,IAAI,IAAI;AAChC;","names":[]}
@@ -21,9 +21,9 @@
21
21
  * {@link toApiWrite} are the two lines each app would otherwise write — both apps speak
22
22
  * the same contract, so the mapping is written once, here.
23
23
  */
24
- type TranslationVerdict = "APPROVED" | "NEEDS_CHANGE";
24
+ export type TranslationVerdict = "APPROVED" | "NEEDS_CHANGE";
25
25
  /** One stored verdict: what a reviewer said about one string in one locale. */
26
- interface TranslationReview {
26
+ export interface TranslationReview {
27
27
  locale: string;
28
28
  key: string;
29
29
  /** The wording that was judged — compared with today's to notice a change. Empty for
@@ -41,7 +41,7 @@ interface TranslationReview {
41
41
  reviewedAt: string;
42
42
  }
43
43
  /** What a save sends: the verdict plus the wording it is given on. */
44
- interface TranslationReviewWrite {
44
+ export interface TranslationReviewWrite {
45
45
  locale: string;
46
46
  key: string;
47
47
  text: string;
@@ -51,7 +51,7 @@ interface TranslationReviewWrite {
51
51
  suggestion: string | null;
52
52
  }
53
53
  /** What a reset sends: back to "unreviewed". */
54
- interface TranslationReviewKey {
54
+ export interface TranslationReviewKey {
55
55
  locale: string;
56
56
  key: string;
57
57
  }
@@ -61,9 +61,9 @@ interface TranslationReviewKey {
61
61
  * what is done. `missing` never occurs for an app whose locales have every key
62
62
  * (keksdose); kastlan's French lacks 172 screen texts.
63
63
  */
64
- type ReviewStatus = "missing" | "unreviewed" | "changed" | "needs_change" | "approved";
65
- declare const REVIEW_STATUSES: readonly ReviewStatus[];
66
- interface TranslationRow {
64
+ export type ReviewStatus = "missing" | "unreviewed" | "changed" | "needs_change" | "approved";
65
+ export declare const REVIEW_STATUSES: readonly ReviewStatus[];
66
+ export interface TranslationRow {
67
67
  /** `${locale}|${key}` — unique across every locale on a page. A bar, not a colon:
68
68
  * kastlan's keys contain colons (`common:actions.save`). */
69
69
  id: string;
@@ -88,7 +88,7 @@ interface TranslationRow {
88
88
  }
89
89
  /** A verdict as `GET /translations/reviews` returns it (H1's shared contract). Typed
90
90
  * structurally, so an app's generated OpenAPI type fits without a cast. */
91
- interface ApiTranslationReview {
91
+ export interface ApiTranslationReview {
92
92
  locale: string;
93
93
  key: string;
94
94
  text: string;
@@ -100,7 +100,7 @@ interface ApiTranslationReview {
100
100
  reviewed_at: string;
101
101
  }
102
102
  /** One item of `PUT /translations/reviews`. */
103
- interface ApiTranslationReviewWrite {
103
+ export interface ApiTranslationReviewWrite {
104
104
  locale: string;
105
105
  key: string;
106
106
  text: string;
@@ -110,10 +110,10 @@ interface ApiTranslationReviewWrite {
110
110
  suggestion: string | null;
111
111
  }
112
112
  /** A verdict from the server, in the kit's spelling. */
113
- declare function fromApiReview(review: ApiTranslationReview): TranslationReview;
113
+ export declare function fromApiReview(review: ApiTranslationReview): TranslationReview;
114
114
  /** A save, in the server's spelling. `TranslationReviewKey` needs no mapping — it is
115
115
  * `{ locale, key }` on both sides. */
116
- declare function toApiWrite(write: TranslationReviewWrite): ApiTranslationReviewWrite;
116
+ export declare function toApiWrite(write: TranslationReviewWrite): ApiTranslationReviewWrite;
117
117
  /**
118
118
  * A nested bundle as `key → string`, in the bundle's own order. Non-string leaves are
119
119
  * skipped rather than stringified into something nobody wrote.
@@ -124,7 +124,7 @@ declare function toApiWrite(write: TranslationReviewWrite): ApiTranslationReview
124
124
  * the kit's own words as `kit.combobox.resultCount(3)` — already flat, so only the prefix
125
125
  * is added.
126
126
  */
127
- declare function flattenStrings(tree: Readonly<Record<string, unknown>>, prefix?: string): Record<string, string>;
127
+ export declare function flattenStrings(tree: Readonly<Record<string, unknown>>, prefix?: string): Record<string, string>;
128
128
  /**
129
129
  * The key's group, for the namespace filter: the part before a colon when there is one
130
130
  * (kastlan's `common:actions.save` → `common`, `doc_text.invoice:due` →
@@ -132,13 +132,13 @@ declare function flattenStrings(tree: Readonly<Record<string, unknown>>, prefix?
132
132
  * `budget`, the kit's `kit.combobox.resultCount(3)` → `kit`). Only the part before a
133
133
  * sample's `(` is looked at, so a colon inside one cannot move the split.
134
134
  */
135
- declare function keyNamespace(key: string): string;
135
+ export declare function keyNamespace(key: string): string;
136
136
  /** The placeholders in a string, as a sorted multiset: `{{count}}`, `{date}`, `<1>`,
137
137
  * `$t(common.save)`. */
138
- declare function placeholderTokens(text: string): string[];
138
+ export declare function placeholderTokens(text: string): string[];
139
139
  /** Whether `text` has other placeholders than `reference` — dropped, renamed or added.
140
140
  * Moving one is fine: a translation reorders a sentence. */
141
- declare function placeholderMismatch(text: string, reference: string): boolean;
141
+ export declare function placeholderMismatch(text: string, reference: string): boolean;
142
142
  /**
143
143
  * A verdict counts only for the wording it was given on. If the string or its reference
144
144
  * changed since, it is `changed` — read it again — whatever the verdict was. A string the
@@ -146,7 +146,7 @@ declare function placeholderMismatch(text: string, reference: string): boolean;
146
146
  * NEEDS_CHANGE on the empty text, so it reads `needs_change`, and `changed` once a
147
147
  * developer adds the string).
148
148
  */
149
- declare function reviewStatus(review: TranslationReview | null | undefined, text: string, reference: string): ReviewStatus;
149
+ export declare function reviewStatus(review: TranslationReview | null | undefined, text: string, reference: string): ReviewStatus;
150
150
  /**
151
151
  * Whether `key` lies in `area`: the key IS the area, or sits under it — `legal.terms`
152
152
  * and kastlan's `legal:terms` are in `legal`, `legalese.title` is not.
@@ -159,7 +159,7 @@ declare function reviewStatus(review: TranslationReview | null | undefined, text
159
159
  * the verdicts (docs/legal-harmonization.md §7.5). server-kit's `in_areas` and the apps'
160
160
  * copies of it apply the same rule.
161
161
  */
162
- declare function keyInArea(key: string, area: string): boolean;
162
+ export declare function keyInArea(key: string, area: string): boolean;
163
163
  /**
164
164
  * The area of `areas` that `key` lies in ({@link keyInArea}), or `undefined` — the
165
165
  * translation page's grouping by the same rule the filter and the server use, so
@@ -172,15 +172,15 @@ declare function keyInArea(key: string, area: string): boolean;
172
172
  * specific — wins, whatever their order. `inArea` is the app's own rule, as for
173
173
  * {@link keyInAreas}.
174
174
  */
175
- declare function reviewAreaOf(key: string, areas: readonly string[], inArea?: (key: string, area: string) => boolean): string | undefined;
175
+ export declare function reviewAreaOf(key: string, areas: readonly string[], inArea?: (key: string, area: string) => boolean): string | undefined;
176
176
  /**
177
177
  * Whether `key` lies in one of `areas` — the scope a reviewer may be limited to
178
178
  * (keksdose: `["legal"]`, a lawyer who judges the Imprint, the Privacy Policy and the
179
179
  * Terms and sees nothing else). `null`/`undefined` is every area. The server applies the
180
180
  * same rule and refuses verdicts outside; this decides only what is listed.
181
181
  */
182
- declare function keyInAreas(key: string, areas: readonly string[] | null | undefined, inArea?: (key: string, area: string) => boolean): boolean;
183
- interface TranslationRowsInput {
182
+ export declare function keyInAreas(key: string, areas: readonly string[] | null | undefined, inArea?: (key: string, area: string) => boolean): boolean;
183
+ export interface TranslationRowsInput {
184
184
  locale: string;
185
185
  /** The locale's strings, `key → text` ({@link flattenStrings}). */
186
186
  strings: Readonly<Record<string, string>>;
@@ -205,25 +205,26 @@ interface TranslationRowsInput {
205
205
  * rather than dropped (a parity test should forbid it, but the page should not lie if one
206
206
  * slips through).
207
207
  */
208
- declare function translationRows({ locale, strings, reference, reviews, namespaceOf: groupOf, sourceOf, areas, inArea, }: TranslationRowsInput): TranslationRow[];
208
+ export declare function translationRows({ locale, strings, reference, reviews, namespaceOf: groupOf, sourceOf, areas, inArea, }: TranslationRowsInput): TranslationRow[];
209
209
  /** How many rows stand where, and how many there are. */
210
- type TranslationSummary = Record<ReviewStatus, number> & {
210
+ export type TranslationSummary = Record<ReviewStatus, number> & {
211
211
  total: number;
212
212
  };
213
- declare function summariseRows(rows: readonly TranslationRow[]): TranslationSummary;
213
+ export declare function summariseRows(rows: readonly TranslationRow[]): TranslationSummary;
214
214
  /** The panel's filters. `"all"` switches one off. */
215
- interface TranslationReviewFilter {
215
+ export interface TranslationReviewFilter {
216
216
  status: ReviewStatus | "all";
217
217
  source: string;
218
218
  namespace: string;
219
- /** Searched in the key, the text and the reference, case-insensitively. */
219
+ /** Searched in the key, the text and the reference, folded as every kit list's search
220
+ * is (`foldForSearch`): no case, no accents — "uberweisung" finds "Überweisung". */
220
221
  query: string;
221
222
  placeholdersOnly: boolean;
222
223
  }
223
- declare const DEFAULT_TRANSLATION_REVIEW_FILTER: TranslationReviewFilter;
224
- declare function filterTranslationRows(rows: readonly TranslationRow[], filter: Partial<TranslationReviewFilter>): TranslationRow[];
224
+ export declare const DEFAULT_TRANSLATION_REVIEW_FILTER: TranslationReviewFilter;
225
+ export declare function filterTranslationRows(rows: readonly TranslationRow[], filter: Partial<TranslationReviewFilter>): TranslationRow[];
225
226
  /** One group of rows — an area, a source — and how they stand. */
226
- interface TranslationRowGroup {
227
+ export interface TranslationRowGroup {
227
228
  key: string;
228
229
  rows: TranslationRow[];
229
230
  summary: TranslationSummary;
@@ -238,19 +239,19 @@ interface TranslationRowGroup {
238
239
  * `groupOf` names a row's group: `(row) => row.namespace` for the areas,
239
240
  * `(row) => row.source` for kastlan's screen texts and documents.
240
241
  */
241
- declare function groupTranslationRows(rows: readonly TranslationRow[], groupOf: (row: TranslationRow) => string): TranslationRowGroup[];
242
+ export declare function groupTranslationRows(rows: readonly TranslationRow[], groupOf: (row: TranslationRow) => string): TranslationRowGroup[];
242
243
  /**
243
244
  * The rows a group's "Approve the unreviewed" takes: the ones nobody has given a verdict
244
245
  * and that have a text. Not `changed` — a string that moved since it was judged asks to
245
246
  * be READ again, which a bulk action is the opposite of — and not `missing`, which has
246
247
  * nothing to approve.
247
248
  */
248
- declare function unreviewedRows(rows: readonly TranslationRow[]): TranslationRow[];
249
+ export declare function unreviewedRows(rows: readonly TranslationRow[]): TranslationRow[];
249
250
  /** What gets stored for a verdict: the wording it was given on, so a later change of the
250
251
  * string (or of its reference) shows up as `changed`. */
251
- declare function reviewWrite(row: TranslationRow, verdict: TranslationVerdict, note?: string | null, suggestion?: string | null): TranslationReviewWrite;
252
+ export declare function reviewWrite(row: TranslationRow, verdict: TranslationVerdict, note?: string | null, suggestion?: string | null): TranslationReviewWrite;
252
253
  /** What takes a set of verdicts back: see {@link reviewUndo}. */
253
- interface TranslationReviewUndo {
254
+ export interface TranslationReviewUndo {
254
255
  /** The verdicts the rows had before, to store again — each on the wording it was
255
256
  * given on, so a row that was `changed` reads `changed` again. */
256
257
  writes: TranslationReviewWrite[];
@@ -268,14 +269,14 @@ interface TranslationReviewUndo {
268
269
  * with the person undoing and the time, as it stamps every write — the contract has no
269
270
  * way to write a verdict in somebody else's name, and should not.
270
271
  */
271
- declare function reviewUndo(rows: readonly TranslationRow[]): TranslationReviewUndo;
272
+ export declare function reviewUndo(rows: readonly TranslationRow[]): TranslationReviewUndo;
272
273
  /** The app's cached verdict list with `written` in place of what was said before — a
273
274
  * save answers with the rows it wrote, so a page patches its copy instead of
274
275
  * downloading every verdict again after each click. Any spelling with `locale` and
275
276
  * `key` (the API's or the kit's). */
276
- declare function mergeReviews<T extends TranslationReviewKey>(prev: readonly T[], written: readonly T[]): T[];
277
+ export declare function mergeReviews<T extends TranslationReviewKey>(prev: readonly T[], written: readonly T[]): T[];
277
278
  /** The cached list without the verdicts on `cleared`. */
278
- declare function dropReviews<T extends TranslationReviewKey>(prev: readonly T[], cleared: readonly TranslationReviewKey[]): T[];
279
+ export declare function dropReviews<T extends TranslationReviewKey>(prev: readonly T[], cleared: readonly TranslationReviewKey[]): T[];
279
280
  /**
280
281
  * What a phone card's swipe can be bound to in `TranslationReviewPanel`'s `swipe`
281
282
  * (keksdose — Marcel's live #377 rework, 2026-10-03: *"Add the swipe options to be shown
@@ -300,9 +301,9 @@ declare function dropReviews<T extends TranslationReviewKey>(prev: readonly T[],
300
301
  * a second threshold that does what the first already did: the duplicate keksdose's
301
302
  * `resolveSwipePlan` drops for exactly that reason.
302
303
  */
303
- declare const TRANSLATION_REVIEW_SWIPE_ACTIONS: readonly ["approve", "edit", "clear"];
304
+ export declare const TRANSLATION_REVIEW_SWIPE_ACTIONS: readonly ["approve", "edit", "clear"];
304
305
  /** One of {@link TRANSLATION_REVIEW_SWIPE_ACTIONS}. */
305
- type TranslationReviewSwipeAction = (typeof TRANSLATION_REVIEW_SWIPE_ACTIONS)[number];
306
+ export type TranslationReviewSwipeAction = (typeof TRANSLATION_REVIEW_SWIPE_ACTIONS)[number];
306
307
  /**
307
308
  * Which swipe does what on a phone card — `TranslationReviewPanel`'s `swipe`. Each side is
308
309
  * an ordered ladder, exactly as `SwipeableRow` and DataTable's `mobileSwipeActions` model
@@ -315,7 +316,7 @@ type TranslationReviewSwipeAction = (typeof TRANSLATION_REVIEW_SWIPE_ACTIONS)[nu
315
316
  * binding holds in both directions. An app whose settings store physical sides (keksdose's
316
317
  * `right`/`left`) hands `right` as `end` for a left-to-right page.
317
318
  */
318
- interface TranslationReviewSwipeBinding {
319
+ export interface TranslationReviewSwipeBinding {
319
320
  /** A drag toward the reading START, nearest threshold first. */
320
321
  start?: readonly TranslationReviewSwipeAction[];
321
322
  /** A drag toward the reading END, nearest threshold first. */
@@ -323,9 +324,9 @@ interface TranslationReviewSwipeBinding {
323
324
  }
324
325
  /** What `swipe={true}` means — 0.25's fixed mapping: approve toward the end, open the
325
326
  * editor ("Needs a change") toward the start. A settings page's "reset" goes back here. */
326
- declare const DEFAULT_TRANSLATION_REVIEW_SWIPE: TranslationReviewSwipeBinding;
327
+ export declare const DEFAULT_TRANSLATION_REVIEW_SWIPE: TranslationReviewSwipeBinding;
327
328
  /** The ladders one row actually offers, from a {@link TranslationReviewSwipeBinding}. */
328
- interface TranslationReviewSwipePlan {
329
+ export interface TranslationReviewSwipePlan {
329
330
  start: TranslationReviewSwipeAction[];
330
331
  end: TranslationReviewSwipeAction[];
331
332
  }
@@ -348,7 +349,7 @@ interface TranslationReviewSwipePlan {
348
349
  * `onSave`, a write lock, the row's own write still out — is the panel's, and then no
349
350
  * side swipes.
350
351
  */
351
- declare function translationReviewSwipePlan(binding: TranslationReviewSwipeBinding, row: TranslationRow, { canClear }?: {
352
+ export declare function translationReviewSwipePlan(binding: TranslationReviewSwipeBinding, row: TranslationRow, { canClear }?: {
352
353
  canClear?: boolean;
353
354
  }): TranslationReviewSwipePlan;
354
355
  /**
@@ -356,7 +357,7 @@ declare function translationReviewSwipePlan(binding: TranslationReviewSwipeBindi
356
357
  * to the bundle without opening the page. snake_case `reviewed_at` on purpose: this is a
357
358
  * FILE, the one keksdose and kastlan already write, beside an API spelled that way.
358
359
  */
359
- interface TranslationCorrection {
360
+ export interface TranslationCorrection {
360
361
  locale: string;
361
362
  key: string;
362
363
  status: ReviewStatus;
@@ -369,6 +370,4 @@ interface TranslationCorrection {
369
370
  }
370
371
  /** The rows sent back (verdict NEEDS_CHANGE — a suggested translation for a missing
371
372
  * string included), as the export file lists them. */
372
- declare function translationCorrections(rows: readonly TranslationRow[]): TranslationCorrection[];
373
-
374
- export { type ApiTranslationReview, type ApiTranslationReviewWrite, DEFAULT_TRANSLATION_REVIEW_FILTER, DEFAULT_TRANSLATION_REVIEW_SWIPE, REVIEW_STATUSES, type ReviewStatus, TRANSLATION_REVIEW_SWIPE_ACTIONS, type TranslationCorrection, type TranslationReview, type TranslationReviewFilter, type TranslationReviewKey, type TranslationReviewSwipeAction, type TranslationReviewSwipeBinding, type TranslationReviewSwipePlan, type TranslationReviewUndo, type TranslationReviewWrite, type TranslationRow, type TranslationRowGroup, type TranslationRowsInput, type TranslationSummary, type TranslationVerdict, dropReviews, filterTranslationRows, flattenStrings, fromApiReview, groupTranslationRows, keyInArea, keyInAreas, keyNamespace, mergeReviews, placeholderMismatch, placeholderTokens, reviewAreaOf, reviewStatus, reviewUndo, reviewWrite, summariseRows, toApiWrite, translationCorrections, translationReviewSwipePlan, translationRows, unreviewedRows };
373
+ export declare function translationCorrections(rows: readonly TranslationRow[]): TranslationCorrection[];
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { foldForSearch } from "./text-match.js";
2
3
  const REVIEW_STATUSES = [
3
4
  "missing",
4
5
  "unreviewed",
@@ -140,9 +141,9 @@ const DEFAULT_TRANSLATION_REVIEW_FILTER = {
140
141
  };
141
142
  function filterTranslationRows(rows, filter) {
142
143
  const f = { ...DEFAULT_TRANSLATION_REVIEW_FILTER, ...filter };
143
- const q = f.query.trim().toLowerCase();
144
+ const q = foldForSearch(f.query.trim());
144
145
  return rows.filter(
145
- (row) => (f.status === "all" || row.status === f.status) && (f.source === "all" || row.source === f.source) && (f.namespace === "all" || row.namespace === f.namespace) && (!f.placeholdersOnly || row.placeholderMismatch) && (!q || row.key.toLowerCase().includes(q) || row.text.toLowerCase().includes(q) || row.reference.toLowerCase().includes(q))
146
+ (row) => (f.status === "all" || row.status === f.status) && (f.source === "all" || row.source === f.source) && (f.namespace === "all" || row.namespace === f.namespace) && (!f.placeholdersOnly || row.placeholderMismatch) && (!q || [row.key, row.text, row.reference].some((s) => foldForSearch(s).includes(q)))
146
147
  );
147
148
  }
148
149
  function groupTranslationRows(rows, groupOf) {