@eifi1/ui-kit 0.51.3 → 0.51.5

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 (780) hide show
  1. package/README.md +6 -6
  2. package/dist/account/account-settings-labels.js.map +1 -1
  3. package/dist/account/account-settings.js +11 -9
  4. package/dist/account/account-settings.js.map +1 -1
  5. package/dist/account/delete-account-setting.js +56 -65
  6. package/dist/account/delete-account-setting.js.map +1 -1
  7. package/dist/account/email-change-setting-labels.js.map +1 -1
  8. package/dist/account/email-change-setting.js.map +1 -1
  9. package/dist/account/passkeys-setting.js.map +1 -1
  10. package/dist/account/sessions-setting.js.map +1 -1
  11. package/dist/admin/admin-action-confirm.js +1 -3
  12. package/dist/admin/admin-action-confirm.js.map +1 -1
  13. package/dist/admin/admin-action-log.js.map +1 -1
  14. package/dist/admin/admin-area-labels.js +4 -1
  15. package/dist/admin/admin-area-labels.js.map +1 -1
  16. package/dist/admin/admin-overview.js +19 -11
  17. package/dist/admin/admin-overview.js.map +1 -1
  18. package/dist/admin/admin-sections.js.map +1 -1
  19. package/dist/admin/admin-tool-links.d.ts +1 -1
  20. package/dist/admin/admin-tool-links.js +7 -1
  21. package/dist/admin/admin-tool-links.js.map +1 -1
  22. package/dist/admin/invitations-panel.js +2 -13
  23. package/dist/admin/invitations-panel.js.map +1 -1
  24. package/dist/admin/mail-test-card.js.map +1 -1
  25. package/dist/admin/reviewer-scope-editor.js +4 -11
  26. package/dist/admin/reviewer-scope-editor.js.map +1 -1
  27. package/dist/admin/role-select.js.map +1 -1
  28. package/dist/admin/user-roster.js +1 -9
  29. package/dist/admin/user-roster.js.map +1 -1
  30. package/dist/auth/accept-invitation.js.map +1 -1
  31. package/dist/auth/auth-errors.js.map +1 -1
  32. package/dist/auth/forgot-password-form.js +23 -31
  33. package/dist/auth/forgot-password-form.js.map +1 -1
  34. package/dist/auth/register-form.js.map +1 -1
  35. package/dist/auth/reset-password-form.js.map +1 -1
  36. package/dist/auth/sign-in-form.js +13 -5
  37. package/dist/auth/sign-in-form.js.map +1 -1
  38. package/dist/auth/verify-email.js +1 -8
  39. package/dist/auth/verify-email.js.map +1 -1
  40. package/dist/billing/billing-banner.js.map +1 -1
  41. package/dist/billing/billing-labels.js.map +1 -1
  42. package/dist/billing/checkout-processing.js.map +1 -1
  43. package/dist/billing/plan-card.js +91 -85
  44. package/dist/billing/plan-card.js.map +1 -1
  45. package/dist/billing/plan-limit-toast.js.map +1 -1
  46. package/dist/billing/plan-limit.js.map +1 -1
  47. package/dist/billing/plan-price.js.map +1 -1
  48. package/dist/billing/plan-switch.js.map +1 -1
  49. package/dist/billing/subscription-actions.js.map +1 -1
  50. package/dist/bin/eifi1-pay-page.mjs +6 -1
  51. package/dist/components/account-chips.js.map +1 -1
  52. package/dist/components/alert-banner.js +1 -5
  53. package/dist/components/alert-banner.js.map +1 -1
  54. package/dist/components/amount-input.js +29 -12
  55. package/dist/components/amount-input.js.map +1 -1
  56. package/dist/components/authed-image.js.map +1 -1
  57. package/dist/components/autocomplete.js.map +1 -1
  58. package/dist/components/bulk-action-bar.js +1 -4
  59. package/dist/components/bulk-action-bar.js.map +1 -1
  60. package/dist/components/button-group.js.map +1 -1
  61. package/dist/components/button-look.js.map +1 -1
  62. package/dist/components/button.js +1 -7
  63. package/dist/components/button.js.map +1 -1
  64. package/dist/components/calculator.js +5 -5
  65. package/dist/components/calculator.js.map +1 -1
  66. package/dist/components/calendar-heatmap.js +4 -10
  67. package/dist/components/calendar-heatmap.js.map +1 -1
  68. package/dist/components/card.js +1 -8
  69. package/dist/components/card.js.map +1 -1
  70. package/dist/components/chart-zoom-core.js +3 -17
  71. package/dist/components/chart-zoom-core.js.map +1 -1
  72. package/dist/components/chart.d.ts +1 -1
  73. package/dist/components/chart.js +4 -22
  74. package/dist/components/chart.js.map +1 -1
  75. package/dist/components/checkbox-group.js +1 -4
  76. package/dist/components/checkbox-group.js.map +1 -1
  77. package/dist/components/chip-input.js +4 -1
  78. package/dist/components/chip-input.js.map +1 -1
  79. package/dist/components/chip.js +10 -5
  80. package/dist/components/chip.js.map +1 -1
  81. package/dist/components/choice-card.js +58 -74
  82. package/dist/components/choice-card.js.map +1 -1
  83. package/dist/components/column-mapper-labels.js.map +1 -1
  84. package/dist/components/column-mapper.js +167 -227
  85. package/dist/components/column-mapper.js.map +1 -1
  86. package/dist/components/combobox-core.js +5 -9
  87. package/dist/components/combobox-core.js.map +1 -1
  88. package/dist/components/combobox.js +1 -4
  89. package/dist/components/combobox.js.map +1 -1
  90. package/dist/components/confirm-dialog.js.map +1 -1
  91. package/dist/components/copy-button.js.map +1 -1
  92. package/dist/components/country-select.d.ts +5 -4
  93. package/dist/components/country-select.js +3 -19
  94. package/dist/components/country-select.js.map +1 -1
  95. package/dist/components/currency-option-list.js +13 -11
  96. package/dist/components/currency-option-list.js.map +1 -1
  97. package/dist/components/currency-select.js +1 -6
  98. package/dist/components/currency-select.js.map +1 -1
  99. package/dist/components/danger-confirm.js.map +1 -1
  100. package/dist/components/data-table-cells.js.map +1 -1
  101. package/dist/components/data-table-column-settings.js.map +1 -1
  102. package/dist/components/data-table-filter-popover.js +2 -18
  103. package/dist/components/data-table-filter-popover.js.map +1 -1
  104. package/dist/components/data-table-filters.js.map +1 -1
  105. package/dist/components/data-table-fit.js +7 -5
  106. package/dist/components/data-table-fit.js.map +1 -1
  107. package/dist/components/data-table-groups.js +3 -1
  108. package/dist/components/data-table-groups.js.map +1 -1
  109. package/dist/components/data-table-head.js +49 -57
  110. package/dist/components/data-table-head.js.map +1 -1
  111. package/dist/components/data-table-mobile.js +31 -44
  112. package/dist/components/data-table-mobile.js.map +1 -1
  113. package/dist/components/data-table-pagination.js.map +1 -1
  114. package/dist/components/data-table-row-actions.js +19 -16
  115. package/dist/components/data-table-row-actions.js.map +1 -1
  116. package/dist/components/data-table-row.js.map +1 -1
  117. package/dist/components/data-table-shared.js.map +1 -1
  118. package/dist/components/data-table-sort.js.map +1 -1
  119. package/dist/components/data-table-virtual.js +4 -1
  120. package/dist/components/data-table-virtual.js.map +1 -1
  121. package/dist/components/data-table.d.ts +8 -0
  122. package/dist/components/data-table.js +30 -39
  123. package/dist/components/data-table.js.map +1 -1
  124. package/dist/components/date-picker.js +1 -6
  125. package/dist/components/date-picker.js.map +1 -1
  126. package/dist/components/date-range-picker.js.map +1 -1
  127. package/dist/components/description-list.js +10 -10
  128. package/dist/components/description-list.js.map +1 -1
  129. package/dist/components/dialog-frame.js +9 -2
  130. package/dist/components/dialog-frame.js.map +1 -1
  131. package/dist/components/disclosure.js +17 -27
  132. package/dist/components/disclosure.js.map +1 -1
  133. package/dist/components/dropdown.js +25 -35
  134. package/dist/components/dropdown.js.map +1 -1
  135. package/dist/components/empty-state.js.map +1 -1
  136. package/dist/components/entity-combobox.js.map +1 -1
  137. package/dist/components/error-boundary.js.map +1 -1
  138. package/dist/components/field-base.js +5 -5
  139. package/dist/components/field-base.js.map +1 -1
  140. package/dist/components/field-parts.d.ts +1 -1
  141. package/dist/components/field-parts.js +10 -14
  142. package/dist/components/field-parts.js.map +1 -1
  143. package/dist/components/field-sync.js +8 -10
  144. package/dist/components/field-sync.js.map +1 -1
  145. package/dist/components/file-button.js.map +1 -1
  146. package/dist/components/file-dropzone.js.map +1 -1
  147. package/dist/components/floating-panel.js +4 -1
  148. package/dist/components/floating-panel.js.map +1 -1
  149. package/dist/components/focus-ring.js.map +1 -1
  150. package/dist/components/form-actions.js.map +1 -1
  151. package/dist/components/grouped-picker.js +11 -12
  152. package/dist/components/grouped-picker.js.map +1 -1
  153. package/dist/components/hover-menu.js +1 -4
  154. package/dist/components/hover-menu.js.map +1 -1
  155. package/dist/components/iban-input-labels.js.map +1 -1
  156. package/dist/components/icon-button.js +4 -1
  157. package/dist/components/icon-button.js.map +1 -1
  158. package/dist/components/icon-picker.js +6 -10
  159. package/dist/components/icon-picker.js.map +1 -1
  160. package/dist/components/image-grid.js +41 -50
  161. package/dist/components/image-grid.js.map +1 -1
  162. package/dist/components/inline-edit-field.js.map +1 -1
  163. package/dist/components/inline-entity-combobox.js +6 -12
  164. package/dist/components/inline-entity-combobox.js.map +1 -1
  165. package/dist/components/input.js +14 -2
  166. package/dist/components/input.js.map +1 -1
  167. package/dist/components/jump-calendar.js +1 -7
  168. package/dist/components/jump-calendar.js.map +1 -1
  169. package/dist/components/legal-labels.js +8 -2
  170. package/dist/components/legal-labels.js.map +1 -1
  171. package/dist/components/legal-page.d.ts +18 -1
  172. package/dist/components/legal-page.js +27 -2
  173. package/dist/components/legal-page.js.map +1 -1
  174. package/dist/components/legal.d.ts +40 -5
  175. package/dist/components/legal.js +41 -5
  176. package/dist/components/legal.js.map +1 -1
  177. package/dist/components/lightbox.js.map +1 -1
  178. package/dist/components/line-items.js +26 -36
  179. package/dist/components/line-items.js.map +1 -1
  180. package/dist/components/list-labels.js +3 -1
  181. package/dist/components/list-labels.js.map +1 -1
  182. package/dist/components/list.d.ts +18 -1
  183. package/dist/components/list.js +54 -13
  184. package/dist/components/list.js.map +1 -1
  185. package/dist/components/measured-grid.js +29 -53
  186. package/dist/components/measured-grid.js.map +1 -1
  187. package/dist/components/menu-item.js.map +1 -1
  188. package/dist/components/mini-calendar.js +13 -31
  189. package/dist/components/mini-calendar.js.map +1 -1
  190. package/dist/components/money-field.js.map +1 -1
  191. package/dist/components/month-picker.js +10 -21
  192. package/dist/components/month-picker.js.map +1 -1
  193. package/dist/components/multi-entity-combobox.js +3 -16
  194. package/dist/components/multi-entity-combobox.js.map +1 -1
  195. package/dist/components/multi-select.js.map +1 -1
  196. package/dist/components/nav-pills.js +10 -1
  197. package/dist/components/nav-pills.js.map +1 -1
  198. package/dist/components/number-field.js.map +1 -1
  199. package/dist/components/number-input.js +1 -7
  200. package/dist/components/number-input.js.map +1 -1
  201. package/dist/components/numpad-sheet.js +1 -4
  202. package/dist/components/numpad-sheet.js.map +1 -1
  203. package/dist/components/one-time-code-input.js +1 -7
  204. package/dist/components/one-time-code-input.js.map +1 -1
  205. package/dist/components/page-contents.js +13 -22
  206. package/dist/components/page-contents.js.map +1 -1
  207. package/dist/components/page-header.js +1 -11
  208. package/dist/components/page-header.js.map +1 -1
  209. package/dist/components/password-strength-labels.js.map +1 -1
  210. package/dist/components/password-strength.js +2 -8
  211. package/dist/components/password-strength.js.map +1 -1
  212. package/dist/components/phone-input.js +42 -57
  213. package/dist/components/phone-input.js.map +1 -1
  214. package/dist/components/picker-sheet.js.map +1 -1
  215. package/dist/components/pie-chart.js +1 -8
  216. package/dist/components/pie-chart.js.map +1 -1
  217. package/dist/components/popover.js.map +1 -1
  218. package/dist/components/progress-bar.js +16 -9
  219. package/dist/components/progress-bar.js.map +1 -1
  220. package/dist/components/qr-code.js +1 -8
  221. package/dist/components/qr-code.js.map +1 -1
  222. package/dist/components/row-actions.js +5 -1
  223. package/dist/components/row-actions.js.map +1 -1
  224. package/dist/components/search-field.js.map +1 -1
  225. package/dist/components/select.js +28 -38
  226. package/dist/components/select.js.map +1 -1
  227. package/dist/components/separator.js +1 -5
  228. package/dist/components/separator.js.map +1 -1
  229. package/dist/components/series-chart-axes.js +4 -1
  230. package/dist/components/series-chart-axes.js.map +1 -1
  231. package/dist/components/series-chart-budget.js.map +1 -1
  232. package/dist/components/series-chart-ticks.js.map +1 -1
  233. package/dist/components/series-chart.js +29 -45
  234. package/dist/components/series-chart.js.map +1 -1
  235. package/dist/components/settings-fields.js +21 -17
  236. package/dist/components/settings-fields.js.map +1 -1
  237. package/dist/components/share-card.js +4 -9
  238. package/dist/components/share-card.js.map +1 -1
  239. package/dist/components/sign-chip.js.map +1 -1
  240. package/dist/components/signature-pad.js +4 -13
  241. package/dist/components/signature-pad.js.map +1 -1
  242. package/dist/components/signed-amount.js +12 -5
  243. package/dist/components/signed-amount.js.map +1 -1
  244. package/dist/components/skeleton.js +2 -17
  245. package/dist/components/skeleton.js.map +1 -1
  246. package/dist/components/slider.js +13 -36
  247. package/dist/components/slider.js.map +1 -1
  248. package/dist/components/sparkline.js.map +1 -1
  249. package/dist/components/stat-tile.js +14 -10
  250. package/dist/components/stat-tile.js.map +1 -1
  251. package/dist/components/swatch-picker.js +14 -4
  252. package/dist/components/swatch-picker.js.map +1 -1
  253. package/dist/components/swipeable-row.d.ts +1 -1
  254. package/dist/components/swipeable-row.js +1 -8
  255. package/dist/components/swipeable-row.js.map +1 -1
  256. package/dist/components/table-skeleton.js +4 -1
  257. package/dist/components/table-skeleton.js.map +1 -1
  258. package/dist/components/table.js +12 -9
  259. package/dist/components/table.js.map +1 -1
  260. package/dist/components/tabs.js +5 -24
  261. package/dist/components/tabs.js.map +1 -1
  262. package/dist/components/text-link.js.map +1 -1
  263. package/dist/components/text.js.map +1 -1
  264. package/dist/components/tile-radio.js +1 -7
  265. package/dist/components/tile-radio.js.map +1 -1
  266. package/dist/components/time-input.js.map +1 -1
  267. package/dist/components/toast.js.map +1 -1
  268. package/dist/components/toggle-group.js +6 -1
  269. package/dist/components/toggle-group.js.map +1 -1
  270. package/dist/components/toggle-legend.js +2 -11
  271. package/dist/components/toggle-legend.js.map +1 -1
  272. package/dist/components/tooltip.js +2 -22
  273. package/dist/components/tooltip.js.map +1 -1
  274. package/dist/components/translation-review-editor.js +1 -4
  275. package/dist/components/translation-review-editor.js.map +1 -1
  276. package/dist/components/translation-review-parts.d.ts +1 -1
  277. package/dist/components/translation-review-parts.js +7 -1
  278. package/dist/components/translation-review-parts.js.map +1 -1
  279. package/dist/components/translation-review.js +18 -7
  280. package/dist/components/translation-review.js.map +1 -1
  281. package/dist/components/tree-view.js +14 -10
  282. package/dist/components/tree-view.js.map +1 -1
  283. package/dist/components/treemap.js +1 -13
  284. package/dist/components/treemap.js.map +1 -1
  285. package/dist/components/trigger-aria.js.map +1 -1
  286. package/dist/components/use-table-state.js +14 -11
  287. package/dist/components/use-table-state.js.map +1 -1
  288. package/dist/components/user-avatar.js +3 -26
  289. package/dist/components/user-avatar.js.map +1 -1
  290. package/dist/demo/demo-start.js +8 -4
  291. package/dist/demo/demo-start.js.map +1 -1
  292. package/dist/eslint/index.js +1 -1
  293. package/dist/feedback/feedback-attachment-labels.js.map +1 -1
  294. package/dist/feedback/feedback-attachment.js +1 -8
  295. package/dist/feedback/feedback-attachment.js.map +1 -1
  296. package/dist/feedback/feedback-capture.d.ts +1 -1
  297. package/dist/feedback/feedback-capture.js +3 -1
  298. package/dist/feedback/feedback-capture.js.map +1 -1
  299. package/dist/feedback/feedback-comment-thread.js +27 -13
  300. package/dist/feedback/feedback-comment-thread.js.map +1 -1
  301. package/dist/feedback/feedback-context.js +1 -4
  302. package/dist/feedback/feedback-context.js.map +1 -1
  303. package/dist/feedback/feedback-dialog.js.map +1 -1
  304. package/dist/feedback/feedback-inbox.js.map +1 -1
  305. package/dist/feedback/feedback-public-list.js +7 -1
  306. package/dist/feedback/feedback-public-list.js.map +1 -1
  307. package/dist/feedback/feedback-record.js +1 -5
  308. package/dist/feedback/feedback-record.js.map +1 -1
  309. package/dist/feedback/feedback-replies.js +25 -10
  310. package/dist/feedback/feedback-replies.js.map +1 -1
  311. package/dist/feedback/feedback-row-detail.js.map +1 -1
  312. package/dist/feedback/feedback-status-undo.js.map +1 -1
  313. package/dist/feedback/feedback-submit-dialog.js.map +1 -1
  314. package/dist/feedback/feedback-table.d.ts +3 -1
  315. package/dist/feedback/feedback-table.js +22 -5
  316. package/dist/feedback/feedback-table.js.map +1 -1
  317. package/dist/feedback/feedback-thread.js +2 -13
  318. package/dist/feedback/feedback-thread.js.map +1 -1
  319. package/dist/feedback/feedback-vocabulary.js.map +1 -1
  320. package/dist/feedback/feedback-vote-button.js.map +1 -1
  321. package/dist/hooks/use-anchored-rect.js.map +1 -1
  322. package/dist/hooks/use-document-title.js.map +1 -1
  323. package/dist/hooks/use-file-drop.js.map +1 -1
  324. package/dist/hooks/use-file-picker-labels.js.map +1 -1
  325. package/dist/hooks/use-file-picker.js.map +1 -1
  326. package/dist/hooks/use-focus-trap.js.map +1 -1
  327. package/dist/hooks/use-overlay-history.js +10 -5
  328. package/dist/hooks/use-overlay-history.js.map +1 -1
  329. package/dist/hooks/use-row-swipe.d.ts +1 -1
  330. package/dist/hooks/use-row-swipe.js +1 -6
  331. package/dist/hooks/use-row-swipe.js.map +1 -1
  332. package/dist/i18n/defaults.js +1 -4
  333. package/dist/i18n/defaults.js.map +1 -1
  334. package/dist/i18n/german.js +15 -4
  335. package/dist/i18n/german.js.map +1 -1
  336. package/dist/i18n/kit-labels.js +2 -8
  337. package/dist/i18n/kit-labels.js.map +1 -1
  338. package/dist/i18n/languages.js.map +1 -1
  339. package/dist/i18n/locales/en.js +19 -4
  340. package/dist/i18n/locales/en.js.map +2 -2
  341. package/dist/i18n/locales/es.js +15 -4
  342. package/dist/i18n/locales/es.js.map +1 -1
  343. package/dist/i18n/locales/fr.js +15 -4
  344. package/dist/i18n/locales/fr.js.map +1 -1
  345. package/dist/i18n/locales/hu.js +15 -4
  346. package/dist/i18n/locales/hu.js.map +1 -1
  347. package/dist/i18n/locales/it.js +15 -4
  348. package/dist/i18n/locales/it.js.map +1 -1
  349. package/dist/i18n/locales/zh.js +11 -3
  350. package/dist/i18n/locales/zh.js.map +1 -1
  351. package/dist/i18n/plurals.js.map +1 -1
  352. package/dist/i18n/review.js +15 -7
  353. package/dist/i18n/review.js.map +1 -1
  354. package/dist/i18n/shared-labels.js.map +1 -1
  355. package/dist/index.d.ts +17 -17
  356. package/dist/index.js +40 -23
  357. package/dist/index.js.map +1 -1
  358. package/dist/landing/access.js +1 -4
  359. package/dist/landing/access.js.map +1 -1
  360. package/dist/landing/landing-sections.js +35 -38
  361. package/dist/landing/landing-sections.js.map +1 -1
  362. package/dist/landing/page-seo.js.map +1 -1
  363. package/dist/lib/calc.js.map +1 -1
  364. package/dist/lib/clipboard-minus.js.map +1 -1
  365. package/dist/lib/dates.js.map +1 -1
  366. package/dist/lib/decimal-marks.js.map +1 -1
  367. package/dist/lib/device-settings.js +2 -1
  368. package/dist/lib/device-settings.js.map +1 -1
  369. package/dist/lib/direction.js.map +1 -1
  370. package/dist/lib/iban.js.map +1 -1
  371. package/dist/lib/logger.js +1 -5
  372. package/dist/lib/logger.js.map +1 -1
  373. package/dist/lib/person-name.js.map +1 -1
  374. package/dist/lib/phone.js.map +1 -1
  375. package/dist/lib/qr-encode.js +344 -8
  376. package/dist/lib/qr-encode.js.map +1 -1
  377. package/dist/lib/session-refresh.js.map +1 -1
  378. package/dist/lib/table-text.js +15 -3
  379. package/dist/lib/table-text.js.map +1 -1
  380. package/dist/lib/text-match.d.ts +20 -0
  381. package/dist/lib/text-match.js +11 -1
  382. package/dist/lib/text-match.js.map +1 -1
  383. package/dist/lib/translation-review.js.map +1 -1
  384. package/dist/notifications/notification-inbox.js +63 -44
  385. package/dist/notifications/notification-inbox.js.map +1 -1
  386. package/dist/notifications/notification-parts.js.map +1 -1
  387. package/dist/notifications/notification-types-setting.js.map +1 -1
  388. package/dist/notifications/notifications-labels.js.map +1 -1
  389. package/dist/notifications/push-device-setting.js +6 -1
  390. package/dist/notifications/push-device-setting.js.map +1 -1
  391. package/dist/notifications/push-devices-setting.js.map +1 -1
  392. package/dist/notifications/push-worker.js.map +1 -1
  393. package/dist/notifications/quiet-hours-setting.js.map +1 -1
  394. package/dist/notifications/use-push-device.js +4 -1
  395. package/dist/notifications/use-push-device.js.map +1 -1
  396. package/dist/offline/pwa-update-prompt.d.ts +1 -1
  397. package/dist/offline/pwa-update-prompt.js +7 -1
  398. package/dist/offline/pwa-update-prompt.js.map +1 -1
  399. package/dist/offline/query-persistence.js.map +1 -1
  400. package/dist/offline.d.ts +1 -1
  401. package/dist/offline.js +6 -1
  402. package/dist/offline.js.map +1 -1
  403. package/dist/pay/pay.css +8 -1
  404. package/dist/rhf/fields.d.ts +1 -2
  405. package/dist/rhf/fields.js +1 -10
  406. package/dist/rhf/fields.js.map +1 -1
  407. package/dist/rhf/form-core.js +1 -4
  408. package/dist/rhf/form-core.js.map +1 -1
  409. package/dist/rhf/line-items.js.map +1 -1
  410. package/dist/rhf/use-rhf-wizard-step.js.map +1 -1
  411. package/dist/search/command-palette.js +71 -62
  412. package/dist/search/command-palette.js.map +1 -1
  413. package/dist/search/global-search.js +34 -5
  414. package/dist/search/global-search.js.map +1 -1
  415. package/dist/search/search-index.js.map +1 -1
  416. package/dist/settings/device-reset-setting.js +1 -6
  417. package/dist/settings/device-reset-setting.js.map +1 -1
  418. package/dist/settings/settings-heading.js.map +1 -1
  419. package/dist/settings/settings-layout.js +9 -20
  420. package/dist/settings/settings-layout.js.map +1 -1
  421. package/dist/settings/use-settings-focus.d.ts +7 -0
  422. package/dist/settings/use-settings-focus.js +2 -0
  423. package/dist/settings/use-settings-focus.js.map +1 -1
  424. package/dist/settings/use-settings-route.js.map +1 -1
  425. package/dist/shell/app-shell.js +62 -31
  426. package/dist/shell/app-shell.js.map +1 -1
  427. package/dist/shell/auth-layout.js +1 -10
  428. package/dist/shell/auth-layout.js.map +1 -1
  429. package/dist/shell/dev-menu.d.ts +5 -0
  430. package/dist/shell/dev-menu.js +14 -7
  431. package/dist/shell/dev-menu.js.map +1 -1
  432. package/dist/shell/option-switcher-menu.js.map +1 -1
  433. package/dist/shell/sync-status-indicator.js +7 -6
  434. package/dist/shell/sync-status-indicator.js.map +1 -1
  435. package/dist/shell/top-bar-parts-labels.js.map +1 -1
  436. package/dist/shell/topbar-action-menu.d.ts +14 -1
  437. package/dist/shell/topbar-action-menu.js +85 -34
  438. package/dist/shell/topbar-action-menu.js.map +1 -1
  439. package/dist/shell/topbar-controls.js +1 -10
  440. package/dist/shell/topbar-controls.js.map +1 -1
  441. package/dist/shell/tour-menu.js +9 -1
  442. package/dist/shell/tour-menu.js.map +1 -1
  443. package/dist/shell.d.ts +1 -1
  444. package/dist/shell.js +2 -1
  445. package/dist/shell.js.map +1 -1
  446. package/dist/sync/db.js.map +1 -1
  447. package/dist/sync/engine.js +24 -6
  448. package/dist/sync/engine.js.map +1 -1
  449. package/dist/sync.d.ts +2 -2
  450. package/dist/sync.js +7 -1
  451. package/dist/sync.js.map +1 -1
  452. package/dist/testing/css-variables.js.map +1 -1
  453. package/dist/testing/index.d.ts +1 -1
  454. package/dist/testing/index.js +1 -3
  455. package/dist/testing/index.js.map +1 -1
  456. package/dist/testing/react.js.map +1 -1
  457. package/dist/testing/viewport.js +7 -4
  458. package/dist/testing/viewport.js.map +1 -1
  459. package/dist/theme/contrast-tokens.js +13 -2
  460. package/dist/theme/contrast-tokens.js.map +1 -1
  461. package/dist/theme/palette-derive.d.ts +1 -1
  462. package/dist/theme/palette-derive.js +18 -29
  463. package/dist/theme/palette-derive.js.map +1 -1
  464. package/dist/theme/palette-presets.js.map +1 -1
  465. package/dist/theme/palette-store.js.map +1 -1
  466. package/dist/theme/text-size.js.map +1 -1
  467. package/dist/theme/theme-store.js +1 -3
  468. package/dist/theme/theme-store.js.map +1 -1
  469. package/dist/tour/tour-catalogue.js.map +1 -1
  470. package/dist/tour/tour-dock.js +5 -1
  471. package/dist/tour/tour-dock.js.map +1 -1
  472. package/dist/tour/tour-engine.js +1 -4
  473. package/dist/tour/tour-engine.js.map +1 -1
  474. package/dist/tour/tour.js +21 -12
  475. package/dist/tour/tour.js.map +1 -1
  476. package/dist/tour/use-tour-progress.js.map +1 -1
  477. package/dist/tour/use-tour-url-sync.js.map +1 -1
  478. package/dist/wizard/stepper-nav.js +3 -24
  479. package/dist/wizard/stepper-nav.js.map +1 -1
  480. package/dist/wizard/types.js.map +1 -1
  481. package/dist/wizard/use-wizard.js +24 -28
  482. package/dist/wizard/use-wizard.js.map +1 -1
  483. package/dist/wizard/validation.js.map +1 -1
  484. package/dist/wizard/wizard-context.js.map +1 -1
  485. package/dist/wizard/wizard-step.d.ts +1 -1
  486. package/dist/wizard/wizard-step.js +1 -8
  487. package/dist/wizard/wizard-step.js.map +1 -1
  488. package/dist/wizard/wizard-summary.js.map +1 -1
  489. package/package.json +5 -2
  490. package/src/account/account-settings-labels.ts +1 -2
  491. package/src/account/account-settings.tsx +11 -17
  492. package/src/account/delete-account-setting.tsx +1 -6
  493. package/src/account/email-change-setting-labels.ts +1 -2
  494. package/src/account/email-change-setting.tsx +3 -1
  495. package/src/account/passkeys-setting.tsx +1 -3
  496. package/src/account/sessions-setting.tsx +4 -2
  497. package/src/admin/admin-action-confirm.tsx +4 -7
  498. package/src/admin/admin-action-log.tsx +29 -29
  499. package/src/admin/admin-area-labels.ts +4 -1
  500. package/src/admin/admin-overview.tsx +8 -2
  501. package/src/admin/admin-sections.tsx +3 -1
  502. package/src/admin/admin-tool-links.tsx +7 -1
  503. package/src/admin/invitations-panel.tsx +5 -11
  504. package/src/admin/mail-test-card.tsx +1 -2
  505. package/src/admin/reviewer-scope-editor.tsx +4 -9
  506. package/src/admin/role-select.tsx +4 -2
  507. package/src/admin/user-roster.tsx +2 -11
  508. package/src/auth/accept-invitation.tsx +1 -7
  509. package/src/auth/auth-errors.ts +1 -6
  510. package/src/auth/forgot-password-form.tsx +2 -7
  511. package/src/auth/register-form.tsx +7 -8
  512. package/src/auth/reset-password-form.tsx +2 -5
  513. package/src/auth/sign-in-form.tsx +15 -14
  514. package/src/auth/verify-email.tsx +2 -7
  515. package/src/billing/billing-banner.tsx +3 -7
  516. package/src/billing/billing-labels.ts +6 -4
  517. package/src/billing/checkout-processing.ts +0 -1
  518. package/src/billing/plan-card.tsx +9 -8
  519. package/src/billing/plan-limit-toast.tsx +1 -2
  520. package/src/billing/plan-limit.ts +1 -2
  521. package/src/billing/plan-price.ts +1 -4
  522. package/src/billing/plan-switch.tsx +1 -2
  523. package/src/billing/subscription-actions.tsx +5 -2
  524. package/src/components/account-chips.tsx +1 -7
  525. package/src/components/alert-banner.tsx +2 -8
  526. package/src/components/amount-input.tsx +206 -178
  527. package/src/components/authed-image.tsx +7 -4
  528. package/src/components/autocomplete.tsx +7 -9
  529. package/src/components/bulk-action-bar.tsx +2 -7
  530. package/src/components/button-group.tsx +1 -2
  531. package/src/components/button-look.ts +6 -17
  532. package/src/components/button.tsx +1 -4
  533. package/src/components/calculator.tsx +6 -9
  534. package/src/components/calendar-heatmap.tsx +5 -10
  535. package/src/components/card.tsx +9 -13
  536. package/src/components/chart-zoom-core.tsx +6 -33
  537. package/src/components/chart.tsx +8 -31
  538. package/src/components/checkbox-group.tsx +1 -4
  539. package/src/components/chip-input.tsx +6 -6
  540. package/src/components/chip.tsx +14 -26
  541. package/src/components/choice-card.tsx +4 -18
  542. package/src/components/column-mapper-labels.ts +3 -10
  543. package/src/components/column-mapper.tsx +33 -122
  544. package/src/components/combobox-core.tsx +17 -47
  545. package/src/components/combobox.tsx +2 -6
  546. package/src/components/confirm-dialog.tsx +1 -3
  547. package/src/components/copy-button.tsx +2 -4
  548. package/src/components/country-select.tsx +9 -21
  549. package/src/components/currency-option-list.tsx +16 -18
  550. package/src/components/currency-select.tsx +2 -7
  551. package/src/components/danger-confirm.tsx +8 -9
  552. package/src/components/data-table-cells.tsx +1 -2
  553. package/src/components/data-table-column-settings.tsx +1 -3
  554. package/src/components/data-table-filter-popover.tsx +5 -19
  555. package/src/components/data-table-filters.ts +1 -6
  556. package/src/components/data-table-fit.ts +7 -7
  557. package/src/components/data-table-groups.tsx +3 -1
  558. package/src/components/data-table-head.tsx +32 -46
  559. package/src/components/data-table-mobile.tsx +99 -108
  560. package/src/components/data-table-pagination.tsx +2 -6
  561. package/src/components/data-table-row-actions.tsx +25 -24
  562. package/src/components/data-table-row.tsx +16 -17
  563. package/src/components/data-table-shared.tsx +10 -16
  564. package/src/components/data-table-sort.ts +1 -2
  565. package/src/components/data-table-virtual.ts +9 -4
  566. package/src/components/data-table.tsx +497 -501
  567. package/src/components/date-picker.tsx +1 -7
  568. package/src/components/date-range-picker.tsx +3 -13
  569. package/src/components/description-list.tsx +7 -13
  570. package/src/components/dialog-frame.tsx +12 -3
  571. package/src/components/disclosure.tsx +8 -12
  572. package/src/components/dropdown.tsx +3 -11
  573. package/src/components/empty-state.tsx +1 -3
  574. package/src/components/entity-combobox.tsx +2 -6
  575. package/src/components/error-boundary.tsx +7 -7
  576. package/src/components/field-base.tsx +8 -14
  577. package/src/components/field-parts.tsx +12 -23
  578. package/src/components/field-sync.tsx +7 -11
  579. package/src/components/file-button.tsx +7 -3
  580. package/src/components/file-dropzone.tsx +7 -12
  581. package/src/components/floating-panel.tsx +44 -51
  582. package/src/components/focus-ring.ts +1 -2
  583. package/src/components/form-actions.tsx +1 -4
  584. package/src/components/grouped-picker.tsx +21 -16
  585. package/src/components/hover-menu.tsx +1 -4
  586. package/src/components/iban-input-labels.ts +1 -2
  587. package/src/components/icon-button.tsx +46 -48
  588. package/src/components/icon-picker.tsx +9 -20
  589. package/src/components/image-grid.tsx +1 -6
  590. package/src/components/inline-edit-field.tsx +1 -5
  591. package/src/components/inline-entity-combobox.tsx +11 -25
  592. package/src/components/input.tsx +14 -2
  593. package/src/components/jump-calendar.tsx +2 -6
  594. package/src/components/legal-labels.ts +8 -3
  595. package/src/components/legal-page.tsx +56 -6
  596. package/src/components/legal.tsx +83 -10
  597. package/src/components/lightbox.tsx +1 -3
  598. package/src/components/line-items.tsx +7 -15
  599. package/src/components/list-labels.ts +2 -0
  600. package/src/components/list.tsx +81 -27
  601. package/src/components/measured-grid.tsx +8 -30
  602. package/src/components/menu-item.tsx +1 -3
  603. package/src/components/mini-calendar.tsx +129 -159
  604. package/src/components/money-field.tsx +4 -2
  605. package/src/components/month-picker.tsx +14 -21
  606. package/src/components/multi-entity-combobox.tsx +6 -26
  607. package/src/components/multi-select.tsx +5 -9
  608. package/src/components/nav-pills.tsx +10 -2
  609. package/src/components/number-field.tsx +18 -15
  610. package/src/components/number-input.tsx +3 -19
  611. package/src/components/numpad-sheet.tsx +9 -13
  612. package/src/components/one-time-code-input.tsx +6 -11
  613. package/src/components/page-contents.tsx +2 -9
  614. package/src/components/page-header.tsx +5 -10
  615. package/src/components/password-strength-labels.ts +1 -2
  616. package/src/components/password-strength.tsx +6 -9
  617. package/src/components/phone-input.tsx +2 -13
  618. package/src/components/picker-sheet.tsx +2 -5
  619. package/src/components/pie-chart.tsx +6 -12
  620. package/src/components/popover.tsx +2 -1
  621. package/src/components/progress-bar.tsx +16 -25
  622. package/src/components/qr-code.tsx +2 -9
  623. package/src/components/row-actions.tsx +9 -1
  624. package/src/components/search-field.tsx +4 -5
  625. package/src/components/select.tsx +2 -10
  626. package/src/components/separator.tsx +1 -5
  627. package/src/components/series-chart-axes.ts +5 -5
  628. package/src/components/series-chart-budget.ts +1 -4
  629. package/src/components/series-chart-ticks.ts +1 -4
  630. package/src/components/series-chart.tsx +43 -83
  631. package/src/components/settings-fields.tsx +20 -15
  632. package/src/components/share-card.tsx +6 -14
  633. package/src/components/sign-chip.tsx +16 -16
  634. package/src/components/signature-pad.tsx +21 -13
  635. package/src/components/signed-amount.tsx +6 -14
  636. package/src/components/skeleton.tsx +2 -13
  637. package/src/components/slider.tsx +9 -20
  638. package/src/components/sparkline.tsx +2 -13
  639. package/src/components/stat-tile.tsx +13 -24
  640. package/src/components/swatch-picker.tsx +8 -3
  641. package/src/components/swipeable-row.tsx +2 -11
  642. package/src/components/table-skeleton.tsx +4 -1
  643. package/src/components/table.tsx +12 -8
  644. package/src/components/tabs.tsx +24 -39
  645. package/src/components/text-link.tsx +6 -6
  646. package/src/components/text.tsx +1 -2
  647. package/src/components/tile-radio.tsx +6 -19
  648. package/src/components/time-input.tsx +4 -5
  649. package/src/components/toast.tsx +3 -12
  650. package/src/components/toggle-group.tsx +9 -9
  651. package/src/components/toggle-legend.tsx +4 -16
  652. package/src/components/tooltip.tsx +9 -48
  653. package/src/components/translation-review-editor.tsx +4 -4
  654. package/src/components/translation-review-parts.tsx +7 -1
  655. package/src/components/translation-review.tsx +15 -16
  656. package/src/components/tree-view.tsx +17 -20
  657. package/src/components/treemap.tsx +3 -15
  658. package/src/components/trigger-aria.ts +1 -4
  659. package/src/components/use-table-state.ts +16 -17
  660. package/src/components/user-avatar.tsx +4 -21
  661. package/src/demo/demo-start.tsx +8 -4
  662. package/src/feedback/feedback-attachment-labels.ts +2 -1
  663. package/src/feedback/feedback-attachment.tsx +16 -29
  664. package/src/feedback/feedback-capture.ts +3 -1
  665. package/src/feedback/feedback-comment-thread.tsx +9 -6
  666. package/src/feedback/feedback-context.tsx +1 -4
  667. package/src/feedback/feedback-dialog.tsx +3 -4
  668. package/src/feedback/feedback-inbox.tsx +3 -9
  669. package/src/feedback/feedback-public-list.tsx +7 -1
  670. package/src/feedback/feedback-record.ts +6 -14
  671. package/src/feedback/feedback-replies.tsx +10 -5
  672. package/src/feedback/feedback-row-detail.tsx +2 -5
  673. package/src/feedback/feedback-status-undo.ts +1 -4
  674. package/src/feedback/feedback-submit-dialog.tsx +4 -4
  675. package/src/feedback/feedback-table.tsx +29 -9
  676. package/src/feedback/feedback-thread.tsx +4 -16
  677. package/src/feedback/feedback-vocabulary.ts +72 -82
  678. package/src/feedback/feedback-vote-button.tsx +9 -8
  679. package/src/hooks/use-anchored-rect.ts +1 -4
  680. package/src/hooks/use-document-title.ts +3 -1
  681. package/src/hooks/use-file-drop.ts +1 -3
  682. package/src/hooks/use-file-picker-labels.ts +1 -2
  683. package/src/hooks/use-file-picker.tsx +1 -5
  684. package/src/hooks/use-focus-trap.ts +1 -2
  685. package/src/hooks/use-overlay-history.ts +10 -5
  686. package/src/hooks/use-row-swipe.ts +1 -6
  687. package/src/i18n/defaults.ts +1 -4
  688. package/src/i18n/german.ts +42 -50
  689. package/src/i18n/kit-labels.tsx +5 -20
  690. package/src/i18n/languages.ts +2 -8
  691. package/src/i18n/locales/en.ts +15 -31
  692. package/src/i18n/locales/es.ts +44 -50
  693. package/src/i18n/locales/fr.ts +43 -52
  694. package/src/i18n/locales/hu.ts +35 -38
  695. package/src/i18n/locales/it.ts +44 -53
  696. package/src/i18n/locales/zh.ts +23 -33
  697. package/src/i18n/plurals.ts +4 -1
  698. package/src/i18n/review.ts +20 -7
  699. package/src/i18n/shared-labels.ts +1 -2
  700. package/src/index.ts +107 -32
  701. package/src/landing/access.ts +2 -7
  702. package/src/landing/landing-sections.tsx +14 -15
  703. package/src/landing/page-seo.ts +1 -3
  704. package/src/lib/calc.ts +4 -1
  705. package/src/lib/clipboard-minus.ts +4 -1
  706. package/src/lib/dates.ts +2 -10
  707. package/src/lib/decimal-marks.ts +1 -3
  708. package/src/lib/device-settings.ts +2 -1
  709. package/src/lib/direction.ts +1 -3
  710. package/src/lib/iban.ts +89 -9
  711. package/src/lib/logger.ts +1 -5
  712. package/src/lib/person-name.ts +1 -3
  713. package/src/lib/phone.ts +5 -8
  714. package/src/lib/qr-encode.ts +32 -8
  715. package/src/lib/session-refresh.ts +5 -6
  716. package/src/lib/table-text.ts +24 -6
  717. package/src/lib/text-match.ts +43 -1
  718. package/src/lib/translation-review.ts +1 -3
  719. package/src/notifications/notification-inbox.tsx +17 -4
  720. package/src/notifications/notification-parts.tsx +1 -2
  721. package/src/notifications/notification-types-setting.tsx +19 -18
  722. package/src/notifications/notifications-labels.ts +1 -2
  723. package/src/notifications/push-device-setting.tsx +7 -1
  724. package/src/notifications/push-devices-setting.tsx +7 -3
  725. package/src/notifications/push-worker.ts +10 -2
  726. package/src/notifications/quiet-hours-setting.tsx +4 -1
  727. package/src/notifications/use-push-device.ts +4 -1
  728. package/src/offline/pwa-update-prompt.tsx +7 -1
  729. package/src/offline/query-persistence.ts +9 -6
  730. package/src/offline.ts +6 -1
  731. package/src/rhf/fields.tsx +50 -19
  732. package/src/rhf/form-core.tsx +2 -6
  733. package/src/rhf/line-items.tsx +5 -7
  734. package/src/rhf/use-rhf-wizard-step.ts +3 -12
  735. package/src/search/command-palette.tsx +15 -23
  736. package/src/search/global-search.tsx +38 -8
  737. package/src/search/search-index.ts +5 -1
  738. package/src/settings/device-reset-setting.tsx +5 -8
  739. package/src/settings/settings-heading.tsx +3 -1
  740. package/src/settings/settings-layout.tsx +6 -13
  741. package/src/settings/use-settings-focus.ts +8 -0
  742. package/src/settings/use-settings-route.ts +4 -3
  743. package/src/shell/app-shell.tsx +48 -24
  744. package/src/shell/auth-layout.tsx +1 -6
  745. package/src/shell/dev-menu.tsx +18 -6
  746. package/src/shell/option-switcher-menu.tsx +1 -3
  747. package/src/shell/sync-status-indicator.tsx +14 -12
  748. package/src/shell/top-bar-parts-labels.ts +1 -3
  749. package/src/shell/topbar-action-menu.tsx +130 -45
  750. package/src/shell/topbar-controls.tsx +5 -19
  751. package/src/shell/tour-menu.tsx +9 -1
  752. package/src/shell.ts +1 -1
  753. package/src/sync/db.ts +5 -1
  754. package/src/sync/engine.ts +44 -12
  755. package/src/sync.ts +16 -2
  756. package/src/testing/css-variables.ts +1 -2
  757. package/src/testing/index.ts +1 -6
  758. package/src/testing/react.ts +1 -2
  759. package/src/testing/viewport.ts +9 -9
  760. package/src/theme/contrast-tokens.ts +13 -2
  761. package/src/theme/palette-derive.ts +24 -50
  762. package/src/theme/palette-presets.ts +0 -1
  763. package/src/theme/palette-store.ts +1 -4
  764. package/src/theme/text-size.ts +1 -1
  765. package/src/theme/theme-store.ts +2 -6
  766. package/src/tour/tour-catalogue.tsx +4 -2
  767. package/src/tour/tour-dock.ts +5 -1
  768. package/src/tour/tour-engine.ts +2 -6
  769. package/src/tour/tour.tsx +28 -12
  770. package/src/tour/use-tour-progress.ts +8 -2
  771. package/src/tour/use-tour-url-sync.ts +3 -1
  772. package/src/vite-env.d.ts +1 -4
  773. package/src/wizard/stepper-nav.tsx +10 -35
  774. package/src/wizard/types.ts +1 -4
  775. package/src/wizard/use-wizard.ts +28 -43
  776. package/src/wizard/validation.ts +1 -5
  777. package/src/wizard/wizard-context.tsx +2 -6
  778. package/src/wizard/wizard-step.tsx +1 -8
  779. package/src/wizard/wizard-summary.tsx +2 -6
  780. package/tokens.css +393 -152
@@ -418,8 +418,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
418
418
  day: (date, value) => `${date}:${value}`,
419
419
  less: "较少",
420
420
  more: "较多",
421
- truncated: (count) =>
422
- `仅显示最近的日期;另有 ${n(count)} 天未显示。`,
421
+ truncated: (count) => `仅显示最近的日期;另有 ${n(count)} 天未显示。`,
423
422
  },
424
423
  datePicker: {
425
424
  apply: "应用",
@@ -566,8 +565,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
566
565
  rejectedCount: (name, maxFiles) => `未添加“${name}”:最多 ${n(maxFiles)} 个文件`,
567
566
  rejectedInvalid: (name) => `“${name}”无法在此使用`,
568
567
  rejectedMany: (count) => `${n(count)} 个文件未添加`,
569
- selected: (count, firstName) =>
570
- count === 1 ? `已选择“${firstName}”` : `已选择 ${n(count)} 个文件`,
568
+ selected: (count, firstName) => (count === 1 ? `已选择“${firstName}”` : `已选择 ${n(count)} 个文件`),
571
569
  remove: (name) => `移除“${name}”`,
572
570
  clearAll: "移除所有文件",
573
571
  removed: (name) => `已移除“${name}”`,
@@ -714,8 +712,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
714
712
  },
715
713
  seriesChart: {
716
714
  resetZoom: "重置缩放",
717
- zoomHint:
718
- "拖动以缩放:近似正方形的选区同时缩放两条坐标轴,细长的选区只缩放其所沿的那条轴。双击可重置。",
715
+ zoomHint: "拖动以缩放:近似正方形的选区同时缩放两条坐标轴,细长的选区只缩放其所沿的那条轴。双击可重置。",
719
716
  empty: "无数据",
720
717
  legend: "数据系列",
721
718
  points: "图表数值",
@@ -746,6 +743,8 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
746
743
  list: {
747
744
  unread: "未读",
748
745
  opensInNewTab: "在新标签页中打开",
746
+ showAll: (count) => `显示全部(${n(count)})`,
747
+ showFewer: "收起",
749
748
  },
750
749
  breadcrumbs: {
751
750
  label: "面包屑导航",
@@ -876,6 +875,8 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
876
875
  impressum: "运营者信息",
877
876
  privacy: "隐私政策",
878
877
  terms: "使用条款",
878
+ security: "安全",
879
+ accessibility: "无障碍",
879
880
  },
880
881
  titles: {
881
882
  impressum: "运营者信息",
@@ -891,11 +892,14 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
891
892
  "封闭测试阶段。以下法律措辞尚未经律师审阅,将在公开发布之前完成审阅。其中的技术说明——存储了什么、存储在哪里以及谁可以读取——描述的是软件目前的实际行为,旨在供人对照软件加以核实。",
892
893
  },
893
894
  translation: {
894
- note: (o) =>
895
- `本页为方便阅读而提供的译文,以${o.bindingLanguage}版本为准。`,
895
+ note: (o) => `本页为方便阅读而提供的译文,以${o.bindingLanguage}版本为准。`,
896
896
  show: (o) => `查看${o.bindingLanguage}版本`,
897
897
  },
898
898
  updated: (date) => `最后更新:${date}`,
899
+ summary: {
900
+ title: "要点",
901
+ note: "本摘要仅供参考;只有完整文本具有约束力。",
902
+ },
899
903
  sections: {
900
904
  impressum: {
901
905
  operator: {
@@ -952,7 +956,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
952
956
  },
953
957
  changes: {
954
958
  title: "条款变更",
955
- body: "我们可能会随着服务的发展更新本条款。重大变更将至少在生效前 30 天通过电子邮件和应用程序公布,并附上新文本。如您不同意,可在该日期前提出异议或删除您的账户,并可在此之前导出您的数据。如您在该日期后继续使用本服务,则适用变更后的条款。",
959
+ body: "我们可能会随着服务的发展更新本条款。重大变更将至少在生效前 30 天通过电子邮件和应用程序公布,并附上新文本。如您不同意,可在该日期前提出异议或删除您的账户,并可在此之前导出您的数据。如您在该日期后继续使用本服务,则适用变更后的条款。仅对您有利的变更或法律要求的变更,无需上述提前通知即可生效,且不得提出异议。如您对某项变更提出异议,我们可在该变更生效之日关闭您的账户。如您已付费的期间超过该日期,我们将退还未使用部分的费用。",
956
960
  },
957
961
  language: {
958
962
  title: "语言",
@@ -1286,9 +1290,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
1286
1290
  started: "下载已开始。",
1287
1291
  saveAgain: "没有开始?保存文件",
1288
1292
  rateLimited: (seconds) =>
1289
- seconds && seconds > 0
1290
- ? `您刚刚导出过数据,请 ${wait(seconds)}后重试。`
1291
- : "您刚刚导出过数据,请一分钟后重试。",
1293
+ seconds && seconds > 0 ? `您刚刚导出过数据,请 ${wait(seconds)}后重试。` : "您刚刚导出过数据,请一分钟后重试。",
1292
1294
  failed: "导出失败,请重试。",
1293
1295
  },
1294
1296
  userRoster: {
@@ -1328,8 +1330,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
1328
1330
  lastAdmin: "这是最后一位活跃管理员。请先将其他人设为管理员。",
1329
1331
  self: "不能对您自己的账户执行此操作。",
1330
1332
  confirmationMismatch: "该地址与此账户不符。请检查您当前所在的账户。",
1331
- otherCompanies:
1332
- "此账户也属于其他公司,因此只有平台运营者才能执行此操作。您可以改为将其从本公司移除。",
1333
+ otherCompanies: "此账户也属于其他公司,因此只有平台运营者才能执行此操作。您可以改为将其从本公司移除。",
1333
1334
  removeFromCompany: "从公司移除",
1334
1335
  failed: "操作未成功,请重试。",
1335
1336
  },
@@ -1444,8 +1445,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
1444
1445
  resend: (email) => `向 ${email} 发送新链接`,
1445
1446
  copyLink: "复制邀请链接",
1446
1447
  revoke: (email) => `撤回对 ${email} 的邀请`,
1447
- consoleHint:
1448
- "此服务器不发送邮件——邮件会写入服务器日志。请在这里复制每个邀请链接并自行转交:链接只显示一次。",
1448
+ consoleHint: "此服务器不发送邮件——邮件会写入服务器日志。请在这里复制每个邀请链接并自行转交:链接只显示一次。",
1449
1449
  linkReady: (email) => `${email} 的邀请链接,仅显示这一次:`,
1450
1450
  notSent: (email) => `已邀请 ${email},但邮件未能发送。请重新发送。`,
1451
1451
  failed: "操作未成功,请重试。",
@@ -1468,8 +1468,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
1468
1468
  ibanInput: {
1469
1469
  format: "IBAN 以两个字母的国家代码和两位校验码开头。",
1470
1470
  country: (code) => `“${code}”不是 IBAN 的国家代码。`,
1471
- length: (actual, expected) =>
1472
- `该国家的 IBAN 应为 ${n(expected)} 个字符,当前为 ${n(actual)} 个。`,
1471
+ length: (actual, expected) => `该国家的 IBAN 应为 ${n(expected)} 个字符,当前为 ${n(actual)} 个。`,
1473
1472
  checksum: "校验码不匹配,可能有字符输入错误。",
1474
1473
  qrRequired: "这是普通 IBAN。QR 账单需要该账户的 QR-IBAN。",
1475
1474
  qrNotAllowed: "这是 QR-IBAN,只能接收 QR 账单付款。请输入该账户的普通 IBAN。",
@@ -1627,9 +1626,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
1627
1626
  demo: {
1628
1627
  starting: "正在启动演示…",
1629
1628
  rateLimited: (minutes) =>
1630
- minutes
1631
- ? `来自此网络的演示过多,请 ${n(minutes)} 分钟后重试。`
1632
- : "来自此网络的演示过多,请稍后重试。",
1629
+ minutes ? `来自此网络的演示过多,请 ${n(minutes)} 分钟后重试。` : "来自此网络的演示过多,请稍后重试。",
1633
1630
  capacity: "演示名额已满,请稍后重试。",
1634
1631
  unavailable: "演示暂不可用。",
1635
1632
  failed: "无法启动演示,请重试。",
@@ -1681,17 +1678,13 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
1681
1678
  expired: "已过期",
1682
1679
  comped: "免费赠送",
1683
1680
  },
1684
- trialEnding: (days) =>
1685
- `您的试用期将于${inDays(days)}结束。之后您仍可查看所有内容,但需要套餐才能进行修改。`,
1686
- grantEnding: (days) =>
1687
- `您的免费使用权将于${inDays(days)}结束。之后您仍可查看所有内容,但需要套餐才能进行修改。`,
1681
+ trialEnding: (days) => `您的试用期将于${inDays(days)}结束。之后您仍可查看所有内容,但需要套餐才能进行修改。`,
1682
+ grantEnding: (days) => `您的免费使用权将于${inDays(days)}结束。之后您仍可查看所有内容,但需要套餐才能进行修改。`,
1688
1683
  paymentFailed: "您的上一笔付款未成功。请更新付款方式,以保留您的套餐。",
1689
1684
  planEnded: "您的套餐已结束。您仍可查看和导出所有内容;选择套餐后即可再次进行修改。",
1690
1685
  // Never why: the owner's payment status is the owner's personal data (§12.6).
1691
1686
  guestReadOnly: (item) =>
1692
- item
1693
- ? `“${item}”目前为只读;其所有者可以解除此限制。`
1694
- : "此内容目前为只读;其所有者可以解除此限制。",
1687
+ item ? `“${item}”目前为只读;其所有者可以解除此限制。` : "此内容目前为只读;其所有者可以解除此限制。",
1695
1688
  processing: "您的付款正在处理中。确认后您的套餐即会生效;此页面会自动更新。",
1696
1689
  choosePlan: "选择套餐",
1697
1690
  updatePayment: "更新付款方式",
@@ -1730,9 +1723,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
1730
1723
  switchConfirm: "更改套餐",
1731
1724
  // 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.
1732
1725
  buyerHolds: (buyer) =>
1733
- buyer
1734
- ? `付款方式和发票由购买该订阅的 ${buyer} 管理。`
1735
- : "付款方式和发票由购买该订阅的管理员管理。",
1726
+ buyer ? `付款方式和发票由购买该订阅的 ${buyer} 管理。` : "付款方式和发票由购买该订阅的管理员管理。",
1736
1727
  cancelConfirmTitle: "取消订阅",
1737
1728
  cancelConfirmBody: (date) => `您的订阅将于 ${date} 结束。在此之前,一切照常使用。`,
1738
1729
  cancelConfirmAction: "立即取消订阅",
@@ -1787,8 +1778,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
1787
1778
  saveFailed: "无法保存到您的账户。此设备上仍然生效。",
1788
1779
  // 0.46: DateFormatSetting (keksdose's words where it has them).
1789
1780
  dateFormat: "日期格式",
1790
- dateFormatHelp:
1791
- "整个应用中日期的书写方式。与界面语言无关,因此您可以用英文阅读应用,同时仍看到德式日期。",
1781
+ dateFormatHelp: "整个应用中日期的书写方式。与界面语言无关,因此您可以用英文阅读应用,同时仍看到德式日期。",
1792
1782
  dateFormatAuto: "跟随语言",
1793
1783
  // 0.46: AccountMenuTextSize (keksdose live #426).
1794
1784
  textSmaller: "缩小文字",
@@ -20,7 +20,10 @@
20
20
  * i18n.addResourceBundle(lng, "translation", withAllPlurals(catalogue, lng));
21
21
  * // i18next-http-backend: { parse: (data, lng) => withAllPlurals(JSON.parse(data), lng) }
22
22
  */
23
- export function withAllPlurals<T extends Record<string, unknown>>(catalogue: T, locale: string): T & Record<string, unknown> {
23
+ export function withAllPlurals<T extends Record<string, unknown>>(
24
+ catalogue: T,
25
+ locale: string,
26
+ ): T & Record<string, unknown> {
24
27
  const cardinal = pluralCategories(locale, "cardinal");
25
28
  const ordinal = pluralCategories(locale, "ordinal");
26
29
  const fill = (tree: Record<string, unknown>): Record<string, unknown> => {
@@ -49,10 +49,12 @@ export function kitLabelStrings(labels: UiKitLabels, options: KitLabelStringsOpt
49
49
  // The key is the SAMPLE's (`…body(operator)`), whatever the label is called with,
50
50
  // so rows with and without the app's operator join on the same keys.
51
51
  const called = operator ? args.map((arg) => (arg === LEGAL_OPERATOR_SAMPLE ? operator : arg)) : args;
52
- out[`${path}(${args.map(sampleName).filter((a) => a !== "").join(", ")})`] = render(
53
- node as (...args: unknown[]) => unknown,
54
- called,
55
- );
52
+ out[
53
+ `${path}(${args
54
+ .map(sampleName)
55
+ .filter((a) => a !== "")
56
+ .join(", ")})`
57
+ ] = render(node as (...args: unknown[]) => unknown, called);
56
58
  }
57
59
  } else if (node !== null && typeof node === "object") {
58
60
  for (const [key, value] of Object.entries(node)) walk(value, path ? `${path}.${key}` : key);
@@ -311,6 +313,8 @@ export const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unkno
311
313
  "legal.translation.show": operatorSample,
312
314
  // 0.51.3: the as-of line, with the date already written out.
313
315
  "legal.updated": [["{{date}}"]],
316
+ // 0.51.4: a limited list's "Show all (n)", with the whole list's count.
317
+ "list.showAll": [[12], [1240]],
314
318
  // 0.29.0: the sign-in and sign-up parts (docs/auth-harmonization.md).
315
319
  "signIn.tagHint": [["{{taggedAddress}}"]],
316
320
  "register.emailTagUse": [["{{address}}"]],
@@ -405,7 +409,10 @@ export const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unkno
405
409
  "billing.buyerHolds": [["{{buyer}}"], [undefined]],
406
410
  "billing.paymentFailedAskBuyer": [["{{buyer}}"], [undefined]],
407
411
  "billing.cancelConfirmBody": [["{{date}}"]],
408
- "billing.portalOpensNewTab": [["{{provider}}", "{{app}}"], ["{{provider}}", undefined]],
412
+ "billing.portalOpensNewTab": [
413
+ ["{{provider}}", "{{app}}"],
414
+ ["{{provider}}", undefined],
415
+ ],
409
416
  "planChange.current": [["{{plan}}"]],
410
417
  "planChange.changed": [["{{from}}", "{{to}}"]],
411
418
  "planChange.set": [["{{to}}"]],
@@ -415,7 +422,10 @@ export const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unkno
415
422
  // the users tile's new accounts.
416
423
  "adminArea.waiting": one,
417
424
  // 0.45.0 (admin §9.3.4): an IconButton's name with its waiting count.
418
- "adminArea.waitingLabel": [["{{label}}", 1], ["{{label}}", 3]],
425
+ "adminArea.waitingLabel": [
426
+ ["{{label}}", 1],
427
+ ["{{label}}", 3],
428
+ ],
419
429
  // 0.45.0 (admin §9.2.4): the test mail's transport, masked address and limiter.
420
430
  "mailTestCard.transport": [["{{backend}}"]],
421
431
  "mailTestCard.sent": [["{{address}}"]],
@@ -435,7 +445,10 @@ export const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unkno
435
445
  // 0.43.0 (docs/tours-harmonization.md §3, §8): the tours page's counts, its group
436
446
  // option, the completion day and a reset's day and reason.
437
447
  "tourCatalogue.groupAll": one,
438
- "tourCatalogue.groupOption": [["{{group}}", 1], ["{{group}}", 3]],
448
+ "tourCatalogue.groupOption": [
449
+ ["{{group}}", 1],
450
+ ["{{group}}", 3],
451
+ ],
439
452
  "tourCatalogue.stateAll": one,
440
453
  "tourCatalogue.stateTodo": one,
441
454
  "tourCatalogue.stateDone": one,
@@ -64,8 +64,7 @@ export const DEFAULT_COMBOBOX_LABELS: ComboboxLabels = {
64
64
  selectedCount: (count) => `${count} selected`,
65
65
  loadError: "Couldn’t load results",
66
66
  resultCount: (count) => (count === 1 ? "1 result" : `${count} results`),
67
- minChars: (count) =>
68
- count === 1 ? "Type at least 1 character" : `Type at least ${count} characters`,
67
+ minChars: (count) => (count === 1 ? "Type at least 1 character" : `Type at least ${count} characters`),
69
68
  };
70
69
 
71
70
  export const DEFAULT_MULTI_SELECT_LABELS: MultiSelectLabels = {
package/src/index.ts CHANGED
@@ -22,8 +22,9 @@ export { readStored, writeStored } from "./lib/safe-storage";
22
22
  // (`filename*` first) — 0.34, KS U5; the kit's own three downloads use them.
23
23
  export { saveBlob, filenameFromDisposition } from "./lib/download";
24
24
  // Date helpers are also available via the "@eifi1/ui-kit/dates" subpath.
25
- // One fold and one ranking for every list's search box (DUP-5), for an app's own lists.
26
- export { foldForSearch, rankMatch } from "./lib/text-match";
25
+ // One fold and one ranking for every list's search box (DUP-5), for an app's own lists;
26
+ // and the pickers' every-word match (0.51.5), for an async `loadOptions` that filters itself.
27
+ export { foldForSearch, rankMatch, searchWords, matchesSearch } from "./lib/text-match";
27
28
  export type { MatchRank } from "./lib/text-match";
28
29
  // 0.12.0: the QR encoder QrCode draws with — no dependency, see lib/qr-encode.ts.
29
30
  export { encodeQr } from "./lib/qr-encode";
@@ -31,11 +32,29 @@ export type { QrEncodeOptions, QrErrorCorrection, QrMatrix } from "./lib/qr-enco
31
32
  // 0.18: the cold-start notice keksdose built (#199), for every app: the framework-free
32
33
  // watchdog over the app's requests (the corner notice is components/server-wake).
33
34
  export { createServerWake, serverWake, watchReadsAnd, attachServerWake, wrapFetch } from "./lib/server-wake";
34
- export type { ServerWakeStage, ServerWakeFilter, ServerWakeOptions, ServerWakeRequest, ServerWakeWatcher, ServerWakeAxiosConfig, AxiosLikeInstance } from "./lib/server-wake";
35
+ export type {
36
+ ServerWakeStage,
37
+ ServerWakeFilter,
38
+ ServerWakeOptions,
39
+ ServerWakeRequest,
40
+ ServerWakeWatcher,
41
+ ServerWakeAxiosConfig,
42
+ AxiosLikeInstance,
43
+ } from "./lib/server-wake";
35
44
  // 0.34 (docs/auth-harmonization.md §11, round 0.34 C7): renewing a session — one refresh
36
45
  // per tab, a definitive failure ends the session once, a transient one keeps it.
37
- export { createSessionRefresh, attachSessionRefresh, isTransientRefreshFailure, isSignedOutStep } from "./lib/session-refresh";
38
- export type { SessionRefresh, SessionRefreshOptions, SessionRenewal, SessionRefreshOutcome } from "./lib/session-refresh";
46
+ export {
47
+ createSessionRefresh,
48
+ attachSessionRefresh,
49
+ isTransientRefreshFailure,
50
+ isSignedOutStep,
51
+ } from "./lib/session-refresh";
52
+ export type {
53
+ SessionRefresh,
54
+ SessionRefreshOptions,
55
+ SessionRenewal,
56
+ SessionRefreshOutcome,
57
+ } from "./lib/session-refresh";
39
58
  // 0.29.0 (docs/auth-harmonization.md): the person-name order of each language.
40
59
  export { formatPersonName, personInitials } from "./lib/person-name";
41
60
  export type { PersonName } from "./lib/person-name";
@@ -93,25 +112,10 @@ export type {
93
112
  // 0.22.0, the inputs round: the country list and the IBAN, ISIN and phone helpers that
94
113
  // CountrySelect, IbanInput and PhoneInput are built on.
95
114
  export { COUNTRY_CODES, countryName } from "./lib/countries";
96
- export {
97
- IBAN_LENGTHS,
98
- compactIban,
99
- formatIban,
100
- ibanCheckDigits,
101
- ibanProblem,
102
- isValidIban,
103
- isQrIban,
104
- } from "./lib/iban";
115
+ export { IBAN_LENGTHS, compactIban, formatIban, ibanCheckDigits, ibanProblem, isValidIban, isQrIban } from "./lib/iban";
105
116
  export type { IbanKind, IbanProblem } from "./lib/iban";
106
117
  export { formatIsin, isinCheckDigit, isValidIsin } from "./lib/isin";
107
- export {
108
- PHONE_DIAL_CODES,
109
- PHONE_COUNTRIES,
110
- parsePhone,
111
- formatNationalPhone,
112
- formatPhone,
113
- isE164,
114
- } from "./lib/phone";
118
+ export { PHONE_DIAL_CODES, PHONE_COUNTRIES, parsePhone, formatNationalPhone, formatPhone, isE164 } from "./lib/phone";
115
119
  export type { PhoneCountryCode, PhoneCountry, ParsedPhone } from "./lib/phone";
116
120
  // 0.23.0: ColumnMapper's pure half (Kurvenschmiede's columns input, keksdose's import map).
117
121
  export {
@@ -188,7 +192,14 @@ export { useWindowedRows, WINDOWED_ROW_INDEX } from "./hooks/use-windowed-rows";
188
192
  export type { WindowedRows } from "./hooks/use-windowed-rows";
189
193
  // 0.32.0 (docs/text-size-harmonization.md): the breakpoints, and the hooks components read
190
194
  // the behaviours at Large from (§4, §10.7–10.9).
191
- export { useBreakpoint, usePhoneLayout, breakpointQuery, BREAKPOINT_REM, remPx, useRemPx } from "./hooks/use-breakpoint";
195
+ export {
196
+ useBreakpoint,
197
+ usePhoneLayout,
198
+ breakpointQuery,
199
+ BREAKPOINT_REM,
200
+ remPx,
201
+ useRemPx,
202
+ } from "./hooks/use-breakpoint";
192
203
  export type { Breakpoint, BreakpointVariant, RemLength } from "./hooks/use-breakpoint";
193
204
  export { useLargeText, useCoarsePointer, useInlineFacts } from "./hooks/use-large-text";
194
205
 
@@ -418,13 +429,42 @@ export * from "./components/form-actions";
418
429
  // 0.33: a lock says its source, and a control can be exempt from one
419
430
  // (docs/billing-harmonization.md §12.36): the kinds, the holds, `CommitScope`,
420
431
  // `COMMIT_EXCEPT_BILLING` and the pure `writeLockFor`.
421
- export { WriteLockProvider, useWriteLock, writeLockFor, COMMIT_EXCEPT_BILLING, DEFAULT_WRITE_LOCK_LABELS } from "./components/write-lock";
432
+ export {
433
+ WriteLockProvider,
434
+ useWriteLock,
435
+ writeLockFor,
436
+ COMMIT_EXCEPT_BILLING,
437
+ DEFAULT_WRITE_LOCK_LABELS,
438
+ } from "./components/write-lock";
422
439
  // 0.46 (kastlan K4): the offline lock kind, its scope and its source.
423
440
  export { OFFLINE_LOCK, COMMIT_EXCEPT_OFFLINE, useOfflineWriteLock } from "./components/write-lock";
424
- export type { WriteLock, WriteLockLabels, WriteLockProviderProps, WriteLockKind, WriteLockHold, CommitScope } from "./components/write-lock";
441
+ export type {
442
+ WriteLock,
443
+ WriteLockLabels,
444
+ WriteLockProviderProps,
445
+ WriteLockKind,
446
+ WriteLockHold,
447
+ CommitScope,
448
+ } from "./components/write-lock";
425
449
  // 0.18: the parts both apps' admin rosters repeat (Kurvenschmiede 6).
426
- export { RoleChip, AccountStateChip, DateMark, dateColumn, DEFAULT_ACCOUNT_STATE_LABELS, ACCOUNT_STATE_TONES } from "./components/account-chips";
427
- export type { RoleChipProps, RoleDefinition, RoleVocabulary, AccountState, AccountStateLabels, AccountStateChipProps, DateMarkProps, DateColumnOptions } from "./components/account-chips";
450
+ export {
451
+ RoleChip,
452
+ AccountStateChip,
453
+ DateMark,
454
+ dateColumn,
455
+ DEFAULT_ACCOUNT_STATE_LABELS,
456
+ ACCOUNT_STATE_TONES,
457
+ } from "./components/account-chips";
458
+ export type {
459
+ RoleChipProps,
460
+ RoleDefinition,
461
+ RoleVocabulary,
462
+ AccountState,
463
+ AccountStateLabels,
464
+ AccountStateChipProps,
465
+ DateMarkProps,
466
+ DateColumnOptions,
467
+ } from "./components/account-chips";
428
468
  // 0.42 (docs/admin-harmonization.md §2.1): the role in the account menu's header, a link
429
469
  // to the role's tool (`RoleDefinition.href`).
430
470
  export { AccountRoleChip } from "./components/account-chips";
@@ -435,7 +475,17 @@ export { ServerWakeNotice, useServerWakeStage, DEFAULT_SERVER_WAKE_LABELS } from
435
475
  export type { ServerWakeLabels, ServerWakeNoticeProps } from "./components/server-wake";
436
476
  // 0.18: sharing — grantees, roles, pending grants, candidates (Kurvenschmiede 1).
437
477
  export { ShareCard, ShareDialog, SharePanel, DEFAULT_SHARE_CARD_LABELS } from "./components/share-card";
438
- export type { ShareCardProps, ShareDialogProps, SharePanelProps, ShareCardLabels, ShareRole, ShareGrantee, SharePendingGrant, ShareCandidate, ShareAddRequest } from "./components/share-card";
478
+ export type {
479
+ ShareCardProps,
480
+ ShareDialogProps,
481
+ SharePanelProps,
482
+ ShareCardLabels,
483
+ ShareRole,
484
+ ShareGrantee,
485
+ SharePendingGrant,
486
+ ShareCandidate,
487
+ ShareAddRequest,
488
+ } from "./components/share-card";
439
489
  export * from "./components/line-items";
440
490
  export * from "./components/progress-bar";
441
491
  // Named: skeleton.tsx also holds SKELETON_CLASS, the look StatTile shares — internal.
@@ -548,6 +598,7 @@ export type {
548
598
  LegalOperator,
549
599
  LegalOperatorText,
550
600
  LegalPageKey,
601
+ LegalInfoPageKey,
551
602
  LegalTextSectionLabels,
552
603
  LegalOperatorSectionLabels,
553
604
  LegalFramedSectionLabels,
@@ -741,7 +792,13 @@ export type {
741
792
  EmailChangeAction,
742
793
  } from "./account/email-change-setting";
743
794
  export { SessionsSetting, DEFAULT_SESSIONS_LABELS } from "./account/sessions-setting";
744
- export type { SessionsSettingProps, SessionsLabels, SessionItem, SessionId, SessionsAction } from "./account/sessions-setting";
795
+ export type {
796
+ SessionsSettingProps,
797
+ SessionsLabels,
798
+ SessionItem,
799
+ SessionId,
800
+ SessionsAction,
801
+ } from "./account/sessions-setting";
745
802
  export { DeleteAccountSetting, DEFAULT_DELETE_ACCOUNT_LABELS } from "./account/delete-account-setting";
746
803
  export type {
747
804
  DeleteAccountSettingProps,
@@ -883,9 +940,22 @@ export type {
883
940
  export { DEFAULT_BILLING_LABELS, useBillingLabels, SUBSCRIPTION_STATUSES } from "./billing/billing-labels";
884
941
  export type { BillingLabels, SubscriptionStatus } from "./billing/billing-labels";
885
942
  export { BILLING_INTERVALS, planPrice, minorToMajor, formatPlanPrice, billingCurrencyFor } from "./billing/plan-price";
886
- export type { BillingInterval, BillingCurrency, PlanIntervalPrices, PlanPrices, PlanPriceAnswer } from "./billing/plan-price";
943
+ export type {
944
+ BillingInterval,
945
+ BillingCurrency,
946
+ PlanIntervalPrices,
947
+ PlanPrices,
948
+ PlanPriceAnswer,
949
+ } from "./billing/plan-price";
887
950
  export { PlanCard, PlanPicker, GrantWarningConfirm, planRelation } from "./billing/plan-card";
888
- export type { BillingPlan, PlanRelation, PlanCardProps, PlanPickerProps, PlanChoice, GrantWarningConfirmProps } from "./billing/plan-card";
951
+ export type {
952
+ BillingPlan,
953
+ PlanRelation,
954
+ PlanCardProps,
955
+ PlanPickerProps,
956
+ PlanChoice,
957
+ GrantWarningConfirmProps,
958
+ } from "./billing/plan-card";
889
959
  export { SubscriptionStatusChip, SUBSCRIPTION_STATUS_TONES } from "./billing/subscription-status-chip";
890
960
  export type { SubscriptionStatusChipProps } from "./billing/subscription-status-chip";
891
961
  export { BillingBanner } from "./billing/billing-banner";
@@ -911,7 +981,12 @@ export {
911
981
  withoutCheckoutReturn,
912
982
  checkoutReturnUrl,
913
983
  } from "./billing/checkout-return";
914
- export { checkoutFingerprint, checkoutLanded, noteCheckoutStarted, useCheckoutProcessing } from "./billing/checkout-processing";
984
+ export {
985
+ checkoutFingerprint,
986
+ checkoutLanded,
987
+ noteCheckoutStarted,
988
+ useCheckoutProcessing,
989
+ } from "./billing/checkout-processing";
915
990
  export type { CheckoutOverview, CheckoutProcessingOptions } from "./billing/checkout-processing";
916
991
  // The link to the pay page and Paddle's locale (§14.4); the page itself ships as dist/pay/.
917
992
  export { PAY_PAGE_LANG_PARAM, paddleLocale, payPageUrl } from "./billing/pay-page";
@@ -19,8 +19,7 @@ import type { LabelOverride } from "../i18n/kit-labels";
19
19
  * the switch is one line when it comes.
20
20
  */
21
21
  export type AccessChoice =
22
- | { kind: "request"; email: string; app?: string; askCompany?: boolean }
23
- | { kind: "register"; href: string };
22
+ { kind: "request"; email: string; app?: string; askCompany?: boolean } | { kind: "register"; href: string };
24
23
 
25
24
  /** What {@link accessAction} answers: where the access action goes and what it says. */
26
25
  export interface AccessLink {
@@ -88,11 +87,7 @@ export function useAccessAction(access: AccessChoice, labels?: LabelOverride<Lan
88
87
  const app = access.kind === "request" ? access.app : undefined;
89
88
  const askCompany = access.kind === "request" ? access.askCompany === true : false;
90
89
  return useMemo(
91
- () =>
92
- accessAction(
93
- kind === "register" ? { kind, href: target } : { kind, email: target, app, askCompany },
94
- words,
95
- ),
90
+ () => accessAction(kind === "register" ? { kind, href: target } : { kind, email: target, app, askCompany }, words),
96
91
  [kind, target, app, askCompany, words],
97
92
  );
98
93
  }
@@ -109,9 +109,7 @@ export function Hero({
109
109
  >
110
110
  <div>
111
111
  {shownBadge != null && <div className="mb-4">{shownBadge}</div>}
112
- <Heading className="text-4xl font-bold tracking-tight text-balance text-primary sm:text-5xl">
113
- {title}
114
- </Heading>
112
+ <Heading className="text-4xl font-bold tracking-tight text-balance text-primary sm:text-5xl">{title}</Heading>
115
113
  {subtitle != null && <p className="mt-4 max-w-xl text-lg text-secondary">{subtitle}</p>}
116
114
  <div className="mt-8">
117
115
  {actions ?? (
@@ -143,11 +141,7 @@ export type FeatureRowsProps = ComponentPropsWithRef<"section">;
143
141
  */
144
142
  export function FeatureRows({ className, children, ...rest }: FeatureRowsProps) {
145
143
  return (
146
- <section
147
- {...rest}
148
- data-slot="landing-feature-rows"
149
- className={cn("border-t border-subtle bg-surface", className)}
150
- >
144
+ <section {...rest} data-slot="landing-feature-rows" className={cn("border-t border-subtle bg-surface", className)}>
151
145
  <div className="mx-auto max-w-6xl px-4 py-8 sm:py-12">{children}</div>
152
146
  </section>
153
147
  );
@@ -191,7 +185,11 @@ export function FeatureRow({
191
185
  <div
192
186
  {...rest}
193
187
  data-slot="landing-feature-row"
194
- className={cn("group/feature grid grid-cols-1 items-center gap-8 py-10", visual != null && "lg:grid-cols-2 lg:gap-16", className)}
188
+ className={cn(
189
+ "group/feature grid grid-cols-1 items-center gap-8 py-10",
190
+ visual != null && "lg:grid-cols-2 lg:gap-16",
191
+ className,
192
+ )}
195
193
  >
196
194
  <div className="lg:group-even/feature:order-last">
197
195
  {(icon != null || eyebrow != null) && (
@@ -250,7 +248,12 @@ export interface TrustStripProps extends Omit<ComponentPropsWithRef<"section">,
250
248
  export function TrustStrip({ items, headingAs: Heading = "h3", className, ...rest }: TrustStripProps) {
251
249
  return (
252
250
  <section {...rest} data-slot="landing-trust" className={cn("mx-auto max-w-6xl px-4 py-12 sm:py-16", className)}>
253
- <ul className={cn("grid grid-cols-1 gap-8 sm:grid-cols-2", items.length === 3 ? "lg:grid-cols-3" : "lg:grid-cols-4")}>
251
+ <ul
252
+ className={cn(
253
+ "grid grid-cols-1 gap-8 sm:grid-cols-2",
254
+ items.length === 3 ? "lg:grid-cols-3" : "lg:grid-cols-4",
255
+ )}
256
+ >
254
257
  {items.map((item, i) => (
255
258
  <li key={i}>
256
259
  {item.icon != null && (
@@ -298,11 +301,7 @@ export function CtaBand({
298
301
  ...rest
299
302
  }: CtaBandProps) {
300
303
  return (
301
- <section
302
- {...rest}
303
- data-slot="landing-cta"
304
- className={cn("border-t border-subtle bg-surface", className)}
305
- >
304
+ <section {...rest} data-slot="landing-cta" className={cn("border-t border-subtle bg-surface", className)}>
306
305
  <div className="mx-auto max-w-5xl px-4 py-16 text-center">
307
306
  <Heading className="text-2xl font-semibold tracking-tight text-balance text-primary sm:text-3xl">
308
307
  {title}
@@ -67,9 +67,7 @@ export function usePageSeoIf(seo: PageSeo | null): void {
67
67
 
68
68
  // The description tag ships in index.html, so upsert rather than append —
69
69
  // two `meta[name=description]` tags would be a coin flip for the scraper.
70
- const meta = description
71
- ? document.head.querySelector<HTMLMetaElement>('meta[name="description"]')
72
- : null;
70
+ const meta = description ? document.head.querySelector<HTMLMetaElement>('meta[name="description"]') : null;
73
71
  const previousDescription = meta?.content;
74
72
  if (meta && description) meta.content = description;
75
73
 
package/src/lib/calc.ts CHANGED
@@ -231,7 +231,10 @@ export function commitExpression(raw: string): string {
231
231
  // not appear to state it differently. (The `[^0-9.-]` strip on the same line
232
232
  // already ate whatever commas a non-global replace missed, so this changes no
233
233
  // behaviour — it removes the need for the next reader to run it to find that out.)
234
- const cleaned = s.replace(/,/g, ".").replace(/[^0-9.-]/g, "").replace(/(?!^)-/g, "");
234
+ const cleaned = s
235
+ .replace(/,/g, ".")
236
+ .replace(/[^0-9.-]/g, "")
237
+ .replace(/(?!^)-/g, "");
235
238
  return cleaned.replace(/^(-?\d*\.?\d*).*$/, "$1");
236
239
  }
237
240
 
@@ -39,7 +39,10 @@ function isEditable(node: Node | null | undefined): boolean {
39
39
  const el = node instanceof Element ? node : node?.parentElement;
40
40
  if (!el) return false;
41
41
  if (el.closest("input, textarea, select")) return true;
42
- return (el as HTMLElement).isContentEditable === true || el.closest('[contenteditable=""], [contenteditable="true"]') !== null;
42
+ return (
43
+ (el as HTMLElement).isContentEditable === true ||
44
+ el.closest('[contenteditable=""], [contenteditable="true"]') !== null
45
+ );
43
46
  }
44
47
 
45
48
  /** Table parts copied alone are wrapped back into a table, which Excel reads as cells. */
package/src/lib/dates.ts CHANGED
@@ -129,11 +129,7 @@ export function parseIsoDate(s: string): Date | null {
129
129
  * override (e.g. `{ dateStyle: "medium" }`). `locale` may be `undefined` since 0.34 —
130
130
  * the runtime's default, as `Intl` reads it and as every other kit formatter takes it
131
131
  * (DUP-11: DatePicker re-wrapped this function only to pass none). */
132
- export function formatIsoDate(
133
- iso: string,
134
- locale: string | undefined,
135
- options?: Intl.DateTimeFormatOptions,
136
- ): string {
132
+ export function formatIsoDate(iso: string, locale: string | undefined, options?: Intl.DateTimeFormatOptions): string {
137
133
  const d = parseIsoDate(iso);
138
134
  return d ? d.toLocaleDateString(locale, options) : "";
139
135
  }
@@ -190,11 +186,7 @@ export function localeWeekStart(locale: string | undefined): 0 | 1 | 2 | 3 | 4 |
190
186
 
191
187
  /** Whether two Dates fall on the same local calendar day. */
192
188
  export function sameYmd(a: Date, b: Date): boolean {
193
- return (
194
- a.getFullYear() === b.getFullYear() &&
195
- a.getMonth() === b.getMonth() &&
196
- a.getDate() === b.getDate()
197
- );
189
+ return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
198
190
  }
199
191
 
200
192
  export interface DateRangePreset {
@@ -56,9 +56,7 @@ export function normalizeTypedMarks(raw: string, mark: "," | "."): string {
56
56
  const hasMark = operand.includes(mark);
57
57
  const count = operand.split(other).length - 1;
58
58
  if (count === 0) return operand;
59
- const grouping = hasMark
60
- ? true
61
- : count > 1 || (mark === "," && /^[1-9]\d{0,2}(\.\d{3})+$/.test(operand));
59
+ const grouping = hasMark ? true : count > 1 || (mark === "," && /^[1-9]\d{0,2}(\.\d{3})+$/.test(operand));
62
60
  return grouping ? operand.split(other).join("") : operand;
63
61
  });
64
62
  }
@@ -137,7 +137,8 @@ export function resetDeviceSettings(): string[] {
137
137
  entry.reset();
138
138
  keys.push(...covered);
139
139
  } catch (error) {
140
- if (devBuild()) console.error(`resetDeviceSettings: the reset of "${entry.key}" threw; its key is removed instead.`, error);
140
+ if (devBuild())
141
+ console.error(`resetDeviceSettings: the reset of "${entry.key}" threw; its key is removed instead.`, error);
141
142
  remove.push(entry);
142
143
  }
143
144
  }