@eifi1/ui-kit 0.51.4 → 0.51.6

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 (759) hide show
  1. package/README.md +5 -5
  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 +1 -4
  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 +10 -8
  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.map +1 -1
  106. package/dist/components/data-table-groups.js +3 -1
  107. package/dist/components/data-table-groups.js.map +1 -1
  108. package/dist/components/data-table-head.js +44 -56
  109. package/dist/components/data-table-head.js.map +1 -1
  110. package/dist/components/data-table-mobile.js +31 -44
  111. package/dist/components/data-table-mobile.js.map +1 -1
  112. package/dist/components/data-table-pagination.js.map +1 -1
  113. package/dist/components/data-table-row-actions.js +19 -16
  114. package/dist/components/data-table-row-actions.js.map +1 -1
  115. package/dist/components/data-table-row.js.map +1 -1
  116. package/dist/components/data-table-shared.js.map +1 -1
  117. package/dist/components/data-table-sort.js.map +1 -1
  118. package/dist/components/data-table-virtual.js +4 -1
  119. package/dist/components/data-table-virtual.js.map +1 -1
  120. package/dist/components/data-table.js +30 -39
  121. package/dist/components/data-table.js.map +1 -1
  122. package/dist/components/date-picker.js +1 -6
  123. package/dist/components/date-picker.js.map +1 -1
  124. package/dist/components/date-range-picker.js.map +1 -1
  125. package/dist/components/description-list.js +10 -10
  126. package/dist/components/description-list.js.map +1 -1
  127. package/dist/components/dialog-frame.js +9 -2
  128. package/dist/components/dialog-frame.js.map +1 -1
  129. package/dist/components/disclosure.js +17 -27
  130. package/dist/components/disclosure.js.map +1 -1
  131. package/dist/components/dropdown.js +25 -35
  132. package/dist/components/dropdown.js.map +1 -1
  133. package/dist/components/empty-state.js.map +1 -1
  134. package/dist/components/entity-combobox.js.map +1 -1
  135. package/dist/components/error-boundary.js.map +1 -1
  136. package/dist/components/field-base.js +5 -5
  137. package/dist/components/field-base.js.map +1 -1
  138. package/dist/components/field-parts.d.ts +1 -1
  139. package/dist/components/field-parts.js +10 -14
  140. package/dist/components/field-parts.js.map +1 -1
  141. package/dist/components/field-sync.js +8 -10
  142. package/dist/components/field-sync.js.map +1 -1
  143. package/dist/components/file-button.js.map +1 -1
  144. package/dist/components/file-dropzone.js.map +1 -1
  145. package/dist/components/floating-panel.js +4 -1
  146. package/dist/components/floating-panel.js.map +1 -1
  147. package/dist/components/focus-ring.js.map +1 -1
  148. package/dist/components/form-actions.js.map +1 -1
  149. package/dist/components/grouped-picker.js +6 -8
  150. package/dist/components/grouped-picker.js.map +1 -1
  151. package/dist/components/hover-menu.js +1 -4
  152. package/dist/components/hover-menu.js.map +1 -1
  153. package/dist/components/iban-input-labels.js.map +1 -1
  154. package/dist/components/icon-button.js +4 -1
  155. package/dist/components/icon-button.js.map +1 -1
  156. package/dist/components/icon-picker.js +2 -7
  157. package/dist/components/icon-picker.js.map +1 -1
  158. package/dist/components/image-grid.js +41 -50
  159. package/dist/components/image-grid.js.map +1 -1
  160. package/dist/components/inline-edit-field.js.map +1 -1
  161. package/dist/components/inline-entity-combobox.js +2 -8
  162. package/dist/components/inline-entity-combobox.js.map +1 -1
  163. package/dist/components/input.js +14 -2
  164. package/dist/components/input.js.map +1 -1
  165. package/dist/components/jump-calendar.js +1 -7
  166. package/dist/components/jump-calendar.js.map +1 -1
  167. package/dist/components/legal-labels.js.map +1 -1
  168. package/dist/components/legal-page.js +14 -2
  169. package/dist/components/legal-page.js.map +1 -1
  170. package/dist/components/legal.js +12 -2
  171. package/dist/components/legal.js.map +1 -1
  172. package/dist/components/lightbox.js.map +1 -1
  173. package/dist/components/line-items.js +26 -36
  174. package/dist/components/line-items.js.map +1 -1
  175. package/dist/components/list.js +22 -10
  176. package/dist/components/list.js.map +1 -1
  177. package/dist/components/measured-grid.js +29 -53
  178. package/dist/components/measured-grid.js.map +1 -1
  179. package/dist/components/menu-item.js.map +1 -1
  180. package/dist/components/mini-calendar.js +13 -31
  181. package/dist/components/mini-calendar.js.map +1 -1
  182. package/dist/components/money-field.js.map +1 -1
  183. package/dist/components/month-picker.js +10 -21
  184. package/dist/components/month-picker.js.map +1 -1
  185. package/dist/components/multi-entity-combobox.js +3 -16
  186. package/dist/components/multi-entity-combobox.js.map +1 -1
  187. package/dist/components/multi-select.js.map +1 -1
  188. package/dist/components/nav-pills.js +10 -1
  189. package/dist/components/nav-pills.js.map +1 -1
  190. package/dist/components/number-field.js.map +1 -1
  191. package/dist/components/number-input.js +1 -7
  192. package/dist/components/number-input.js.map +1 -1
  193. package/dist/components/numpad-sheet.js +1 -4
  194. package/dist/components/numpad-sheet.js.map +1 -1
  195. package/dist/components/one-time-code-input.js +1 -7
  196. package/dist/components/one-time-code-input.js.map +1 -1
  197. package/dist/components/page-contents.js +13 -22
  198. package/dist/components/page-contents.js.map +1 -1
  199. package/dist/components/page-header.js +1 -11
  200. package/dist/components/page-header.js.map +1 -1
  201. package/dist/components/password-strength-labels.js.map +1 -1
  202. package/dist/components/password-strength.js +2 -8
  203. package/dist/components/password-strength.js.map +1 -1
  204. package/dist/components/phone-input.js +42 -57
  205. package/dist/components/phone-input.js.map +1 -1
  206. package/dist/components/picker-sheet.js.map +1 -1
  207. package/dist/components/pie-chart.js +1 -8
  208. package/dist/components/pie-chart.js.map +1 -1
  209. package/dist/components/popover.js.map +1 -1
  210. package/dist/components/progress-bar.js +16 -9
  211. package/dist/components/progress-bar.js.map +1 -1
  212. package/dist/components/qr-code.js +1 -8
  213. package/dist/components/qr-code.js.map +1 -1
  214. package/dist/components/row-actions.js +5 -1
  215. package/dist/components/row-actions.js.map +1 -1
  216. package/dist/components/search-field.js.map +1 -1
  217. package/dist/components/select.js +28 -38
  218. package/dist/components/select.js.map +1 -1
  219. package/dist/components/separator.js +1 -5
  220. package/dist/components/separator.js.map +1 -1
  221. package/dist/components/series-chart-axes.js +4 -1
  222. package/dist/components/series-chart-axes.js.map +1 -1
  223. package/dist/components/series-chart-budget.js.map +1 -1
  224. package/dist/components/series-chart-ticks.js.map +1 -1
  225. package/dist/components/series-chart.js +29 -45
  226. package/dist/components/series-chart.js.map +1 -1
  227. package/dist/components/settings-fields.js +21 -17
  228. package/dist/components/settings-fields.js.map +1 -1
  229. package/dist/components/share-card.js +4 -9
  230. package/dist/components/share-card.js.map +1 -1
  231. package/dist/components/sign-chip.js.map +1 -1
  232. package/dist/components/signature-pad.js +4 -13
  233. package/dist/components/signature-pad.js.map +1 -1
  234. package/dist/components/signed-amount.js +12 -5
  235. package/dist/components/signed-amount.js.map +1 -1
  236. package/dist/components/skeleton.js +2 -17
  237. package/dist/components/skeleton.js.map +1 -1
  238. package/dist/components/slider.js +13 -36
  239. package/dist/components/slider.js.map +1 -1
  240. package/dist/components/sparkline.js.map +1 -1
  241. package/dist/components/stat-tile.js +14 -10
  242. package/dist/components/stat-tile.js.map +1 -1
  243. package/dist/components/swatch-picker.js +14 -4
  244. package/dist/components/swatch-picker.js.map +1 -1
  245. package/dist/components/swipeable-row.d.ts +1 -1
  246. package/dist/components/swipeable-row.js +1 -8
  247. package/dist/components/swipeable-row.js.map +1 -1
  248. package/dist/components/table-skeleton.js +4 -1
  249. package/dist/components/table-skeleton.js.map +1 -1
  250. package/dist/components/table.js +12 -9
  251. package/dist/components/table.js.map +1 -1
  252. package/dist/components/tabs.js +5 -24
  253. package/dist/components/tabs.js.map +1 -1
  254. package/dist/components/text-link.js.map +1 -1
  255. package/dist/components/text.js.map +1 -1
  256. package/dist/components/tile-radio.js +1 -7
  257. package/dist/components/tile-radio.js.map +1 -1
  258. package/dist/components/time-input.js.map +1 -1
  259. package/dist/components/toast.js.map +1 -1
  260. package/dist/components/toggle-group.js +6 -1
  261. package/dist/components/toggle-group.js.map +1 -1
  262. package/dist/components/toggle-legend.js +2 -11
  263. package/dist/components/toggle-legend.js.map +1 -1
  264. package/dist/components/tooltip.js +2 -22
  265. package/dist/components/tooltip.js.map +1 -1
  266. package/dist/components/translation-review-editor.js +1 -4
  267. package/dist/components/translation-review-editor.js.map +1 -1
  268. package/dist/components/translation-review-parts.d.ts +1 -1
  269. package/dist/components/translation-review-parts.js +7 -1
  270. package/dist/components/translation-review-parts.js.map +1 -1
  271. package/dist/components/translation-review.js +18 -7
  272. package/dist/components/translation-review.js.map +1 -1
  273. package/dist/components/tree-view.js +14 -10
  274. package/dist/components/tree-view.js.map +1 -1
  275. package/dist/components/treemap.d.ts +24 -2
  276. package/dist/components/treemap.js +28 -4
  277. package/dist/components/treemap.js.map +1 -1
  278. package/dist/components/trigger-aria.js.map +1 -1
  279. package/dist/components/use-table-state.js +14 -11
  280. package/dist/components/use-table-state.js.map +1 -1
  281. package/dist/components/user-avatar.js +3 -26
  282. package/dist/components/user-avatar.js.map +1 -1
  283. package/dist/demo/demo-start.js +8 -4
  284. package/dist/demo/demo-start.js.map +1 -1
  285. package/dist/eslint/index.js +1 -1
  286. package/dist/feedback/feedback-attachment-labels.js.map +1 -1
  287. package/dist/feedback/feedback-attachment.js +1 -8
  288. package/dist/feedback/feedback-attachment.js.map +1 -1
  289. package/dist/feedback/feedback-capture.d.ts +1 -1
  290. package/dist/feedback/feedback-capture.js +3 -1
  291. package/dist/feedback/feedback-capture.js.map +1 -1
  292. package/dist/feedback/feedback-comment-thread.js +27 -13
  293. package/dist/feedback/feedback-comment-thread.js.map +1 -1
  294. package/dist/feedback/feedback-context.js +1 -4
  295. package/dist/feedback/feedback-context.js.map +1 -1
  296. package/dist/feedback/feedback-dialog.js.map +1 -1
  297. package/dist/feedback/feedback-inbox.js.map +1 -1
  298. package/dist/feedback/feedback-public-list.js +7 -1
  299. package/dist/feedback/feedback-public-list.js.map +1 -1
  300. package/dist/feedback/feedback-record.js +1 -5
  301. package/dist/feedback/feedback-record.js.map +1 -1
  302. package/dist/feedback/feedback-replies.js +25 -10
  303. package/dist/feedback/feedback-replies.js.map +1 -1
  304. package/dist/feedback/feedback-row-detail.js.map +1 -1
  305. package/dist/feedback/feedback-status-undo.js.map +1 -1
  306. package/dist/feedback/feedback-submit-dialog.js.map +1 -1
  307. package/dist/feedback/feedback-table.js +4 -1
  308. package/dist/feedback/feedback-table.js.map +1 -1
  309. package/dist/feedback/feedback-thread.js +2 -13
  310. package/dist/feedback/feedback-thread.js.map +1 -1
  311. package/dist/feedback/feedback-vocabulary.js.map +1 -1
  312. package/dist/feedback/feedback-vote-button.js.map +1 -1
  313. package/dist/hooks/use-anchored-rect.js.map +1 -1
  314. package/dist/hooks/use-document-title.js.map +1 -1
  315. package/dist/hooks/use-file-drop.js.map +1 -1
  316. package/dist/hooks/use-file-picker-labels.js.map +1 -1
  317. package/dist/hooks/use-file-picker.js.map +1 -1
  318. package/dist/hooks/use-focus-trap.js.map +1 -1
  319. package/dist/hooks/use-overlay-history.js +10 -5
  320. package/dist/hooks/use-overlay-history.js.map +1 -1
  321. package/dist/hooks/use-row-swipe.d.ts +1 -1
  322. package/dist/hooks/use-row-swipe.js +1 -6
  323. package/dist/hooks/use-row-swipe.js.map +1 -1
  324. package/dist/i18n/defaults.js +1 -4
  325. package/dist/i18n/defaults.js.map +1 -1
  326. package/dist/i18n/german.js +4 -1
  327. package/dist/i18n/german.js.map +1 -1
  328. package/dist/i18n/kit-labels.js +2 -8
  329. package/dist/i18n/kit-labels.js.map +1 -1
  330. package/dist/i18n/languages.js.map +1 -1
  331. package/dist/i18n/locales/en.js +4 -1
  332. package/dist/i18n/locales/en.js.map +2 -2
  333. package/dist/i18n/locales/es.js +4 -1
  334. package/dist/i18n/locales/es.js.map +1 -1
  335. package/dist/i18n/locales/fr.js +4 -1
  336. package/dist/i18n/locales/fr.js.map +1 -1
  337. package/dist/i18n/locales/hu.js +4 -1
  338. package/dist/i18n/locales/hu.js.map +1 -1
  339. package/dist/i18n/locales/it.js +4 -1
  340. package/dist/i18n/locales/it.js.map +1 -1
  341. package/dist/i18n/locales/zh.js.map +1 -1
  342. package/dist/i18n/plurals.js.map +1 -1
  343. package/dist/i18n/review.js +13 -7
  344. package/dist/i18n/review.js.map +1 -1
  345. package/dist/i18n/shared-labels.js.map +1 -1
  346. package/dist/index.d.ts +16 -16
  347. package/dist/index.js +40 -23
  348. package/dist/index.js.map +1 -1
  349. package/dist/landing/access.js +1 -4
  350. package/dist/landing/access.js.map +1 -1
  351. package/dist/landing/landing-sections.js +35 -38
  352. package/dist/landing/landing-sections.js.map +1 -1
  353. package/dist/landing/page-seo.js.map +1 -1
  354. package/dist/lib/calc.js.map +1 -1
  355. package/dist/lib/clipboard-minus.js.map +1 -1
  356. package/dist/lib/dates.js.map +1 -1
  357. package/dist/lib/decimal-marks.js.map +1 -1
  358. package/dist/lib/device-settings.js +2 -1
  359. package/dist/lib/device-settings.js.map +1 -1
  360. package/dist/lib/direction.js.map +1 -1
  361. package/dist/lib/iban.js.map +1 -1
  362. package/dist/lib/logger.js +1 -5
  363. package/dist/lib/logger.js.map +1 -1
  364. package/dist/lib/person-name.js.map +1 -1
  365. package/dist/lib/phone.js.map +1 -1
  366. package/dist/lib/qr-encode.js +344 -8
  367. package/dist/lib/qr-encode.js.map +1 -1
  368. package/dist/lib/session-refresh.js.map +1 -1
  369. package/dist/lib/table-text.js +15 -3
  370. package/dist/lib/table-text.js.map +1 -1
  371. package/dist/lib/text-match.d.ts +4 -0
  372. package/dist/lib/text-match.js.map +1 -1
  373. package/dist/lib/translation-review.js.map +1 -1
  374. package/dist/notifications/notification-inbox.js +63 -44
  375. package/dist/notifications/notification-inbox.js.map +1 -1
  376. package/dist/notifications/notification-parts.js.map +1 -1
  377. package/dist/notifications/notification-types-setting.js.map +1 -1
  378. package/dist/notifications/notifications-labels.js.map +1 -1
  379. package/dist/notifications/push-device-setting.js +6 -1
  380. package/dist/notifications/push-device-setting.js.map +1 -1
  381. package/dist/notifications/push-devices-setting.js.map +1 -1
  382. package/dist/notifications/push-worker.js.map +1 -1
  383. package/dist/notifications/quiet-hours-setting.js.map +1 -1
  384. package/dist/notifications/use-push-device.js +4 -1
  385. package/dist/notifications/use-push-device.js.map +1 -1
  386. package/dist/offline/pwa-update-prompt.d.ts +1 -1
  387. package/dist/offline/pwa-update-prompt.js +7 -1
  388. package/dist/offline/pwa-update-prompt.js.map +1 -1
  389. package/dist/offline/query-persistence.js.map +1 -1
  390. package/dist/offline.d.ts +1 -1
  391. package/dist/offline.js +6 -1
  392. package/dist/offline.js.map +1 -1
  393. package/dist/pay/pay.css +8 -1
  394. package/dist/rhf/fields.d.ts +1 -2
  395. package/dist/rhf/fields.js +1 -10
  396. package/dist/rhf/fields.js.map +1 -1
  397. package/dist/rhf/form-core.js +1 -4
  398. package/dist/rhf/form-core.js.map +1 -1
  399. package/dist/rhf/line-items.js.map +1 -1
  400. package/dist/rhf/use-rhf-wizard-step.js.map +1 -1
  401. package/dist/search/command-palette.js +71 -62
  402. package/dist/search/command-palette.js.map +1 -1
  403. package/dist/search/global-search.js +34 -5
  404. package/dist/search/global-search.js.map +1 -1
  405. package/dist/search/search-index.js.map +1 -1
  406. package/dist/settings/device-reset-setting.js +1 -6
  407. package/dist/settings/device-reset-setting.js.map +1 -1
  408. package/dist/settings/settings-heading.js.map +1 -1
  409. package/dist/settings/settings-layout.js +9 -20
  410. package/dist/settings/settings-layout.js.map +1 -1
  411. package/dist/settings/use-settings-route.js.map +1 -1
  412. package/dist/shell/app-shell.js +62 -31
  413. package/dist/shell/app-shell.js.map +1 -1
  414. package/dist/shell/auth-layout.js +1 -10
  415. package/dist/shell/auth-layout.js.map +1 -1
  416. package/dist/shell/dev-menu.js +12 -6
  417. package/dist/shell/dev-menu.js.map +1 -1
  418. package/dist/shell/option-switcher-menu.js.map +1 -1
  419. package/dist/shell/sync-status-indicator.js +7 -6
  420. package/dist/shell/sync-status-indicator.js.map +1 -1
  421. package/dist/shell/top-bar-parts-labels.js.map +1 -1
  422. package/dist/shell/topbar-action-menu.js.map +1 -1
  423. package/dist/shell/topbar-controls.js +1 -10
  424. package/dist/shell/topbar-controls.js.map +1 -1
  425. package/dist/shell/tour-menu.js +9 -1
  426. package/dist/shell/tour-menu.js.map +1 -1
  427. package/dist/sync/db.js.map +1 -1
  428. package/dist/sync/engine.js +24 -6
  429. package/dist/sync/engine.js.map +1 -1
  430. package/dist/sync.d.ts +2 -2
  431. package/dist/sync.js +7 -1
  432. package/dist/sync.js.map +1 -1
  433. package/dist/testing/css-variables.js.map +1 -1
  434. package/dist/testing/index.d.ts +1 -1
  435. package/dist/testing/index.js +1 -3
  436. package/dist/testing/index.js.map +1 -1
  437. package/dist/testing/react.js.map +1 -1
  438. package/dist/testing/viewport.js +7 -4
  439. package/dist/testing/viewport.js.map +1 -1
  440. package/dist/theme/contrast-tokens.js +13 -2
  441. package/dist/theme/contrast-tokens.js.map +1 -1
  442. package/dist/theme/contrast.d.ts +2 -2
  443. package/dist/theme/palette-derive.d.ts +1 -1
  444. package/dist/theme/palette-derive.js +18 -29
  445. package/dist/theme/palette-derive.js.map +1 -1
  446. package/dist/theme/palette-presets.js.map +1 -1
  447. package/dist/theme/palette-store.js.map +1 -1
  448. package/dist/theme/text-size.js.map +1 -1
  449. package/dist/theme/theme-store.js +1 -3
  450. package/dist/theme/theme-store.js.map +1 -1
  451. package/dist/tour/tour-catalogue.js.map +1 -1
  452. package/dist/tour/tour-dock.js +5 -1
  453. package/dist/tour/tour-dock.js.map +1 -1
  454. package/dist/tour/tour-engine.js +1 -4
  455. package/dist/tour/tour-engine.js.map +1 -1
  456. package/dist/tour/tour.js +21 -12
  457. package/dist/tour/tour.js.map +1 -1
  458. package/dist/tour/use-tour-progress.js.map +1 -1
  459. package/dist/tour/use-tour-url-sync.js.map +1 -1
  460. package/dist/wizard/stepper-nav.js +3 -24
  461. package/dist/wizard/stepper-nav.js.map +1 -1
  462. package/dist/wizard/types.js.map +1 -1
  463. package/dist/wizard/use-wizard.js +24 -28
  464. package/dist/wizard/use-wizard.js.map +1 -1
  465. package/dist/wizard/validation.js.map +1 -1
  466. package/dist/wizard/wizard-context.js.map +1 -1
  467. package/dist/wizard/wizard-step.d.ts +1 -1
  468. package/dist/wizard/wizard-step.js +1 -8
  469. package/dist/wizard/wizard-step.js.map +1 -1
  470. package/dist/wizard/wizard-summary.js.map +1 -1
  471. package/package.json +5 -2
  472. package/src/account/account-settings-labels.ts +1 -2
  473. package/src/account/account-settings.tsx +11 -17
  474. package/src/account/delete-account-setting.tsx +1 -6
  475. package/src/account/email-change-setting-labels.ts +1 -2
  476. package/src/account/email-change-setting.tsx +3 -1
  477. package/src/account/passkeys-setting.tsx +1 -3
  478. package/src/account/sessions-setting.tsx +4 -2
  479. package/src/admin/admin-action-confirm.tsx +4 -7
  480. package/src/admin/admin-action-log.tsx +29 -29
  481. package/src/admin/admin-area-labels.ts +4 -1
  482. package/src/admin/admin-overview.tsx +8 -2
  483. package/src/admin/admin-sections.tsx +3 -1
  484. package/src/admin/admin-tool-links.tsx +7 -1
  485. package/src/admin/invitations-panel.tsx +5 -11
  486. package/src/admin/mail-test-card.tsx +1 -2
  487. package/src/admin/reviewer-scope-editor.tsx +4 -9
  488. package/src/admin/role-select.tsx +4 -2
  489. package/src/admin/user-roster.tsx +2 -11
  490. package/src/auth/accept-invitation.tsx +1 -7
  491. package/src/auth/auth-errors.ts +1 -6
  492. package/src/auth/forgot-password-form.tsx +2 -7
  493. package/src/auth/register-form.tsx +7 -8
  494. package/src/auth/reset-password-form.tsx +2 -5
  495. package/src/auth/sign-in-form.tsx +15 -14
  496. package/src/auth/verify-email.tsx +2 -7
  497. package/src/billing/billing-banner.tsx +3 -7
  498. package/src/billing/billing-labels.ts +6 -4
  499. package/src/billing/checkout-processing.ts +0 -1
  500. package/src/billing/plan-card.tsx +9 -8
  501. package/src/billing/plan-limit-toast.tsx +1 -2
  502. package/src/billing/plan-limit.ts +1 -2
  503. package/src/billing/plan-price.ts +1 -4
  504. package/src/billing/plan-switch.tsx +1 -2
  505. package/src/billing/subscription-actions.tsx +5 -2
  506. package/src/components/account-chips.tsx +1 -7
  507. package/src/components/alert-banner.tsx +2 -8
  508. package/src/components/amount-input.tsx +206 -178
  509. package/src/components/authed-image.tsx +7 -4
  510. package/src/components/autocomplete.tsx +7 -9
  511. package/src/components/bulk-action-bar.tsx +2 -7
  512. package/src/components/button-group.tsx +1 -2
  513. package/src/components/button-look.ts +6 -17
  514. package/src/components/button.tsx +1 -4
  515. package/src/components/calculator.tsx +6 -9
  516. package/src/components/calendar-heatmap.tsx +5 -10
  517. package/src/components/card.tsx +9 -13
  518. package/src/components/chart-zoom-core.tsx +6 -33
  519. package/src/components/chart.tsx +8 -31
  520. package/src/components/checkbox-group.tsx +1 -4
  521. package/src/components/chip-input.tsx +6 -6
  522. package/src/components/chip.tsx +14 -26
  523. package/src/components/choice-card.tsx +4 -18
  524. package/src/components/column-mapper-labels.ts +3 -10
  525. package/src/components/column-mapper.tsx +33 -122
  526. package/src/components/combobox-core.tsx +12 -42
  527. package/src/components/combobox.tsx +2 -6
  528. package/src/components/confirm-dialog.tsx +1 -3
  529. package/src/components/copy-button.tsx +2 -4
  530. package/src/components/country-select.tsx +9 -21
  531. package/src/components/currency-option-list.tsx +13 -14
  532. package/src/components/currency-select.tsx +2 -7
  533. package/src/components/danger-confirm.tsx +8 -9
  534. package/src/components/data-table-cells.tsx +1 -2
  535. package/src/components/data-table-column-settings.tsx +1 -3
  536. package/src/components/data-table-filter-popover.tsx +5 -19
  537. package/src/components/data-table-filters.ts +1 -6
  538. package/src/components/data-table-fit.ts +1 -3
  539. package/src/components/data-table-groups.tsx +3 -1
  540. package/src/components/data-table-head.tsx +27 -45
  541. package/src/components/data-table-mobile.tsx +99 -108
  542. package/src/components/data-table-pagination.tsx +2 -6
  543. package/src/components/data-table-row-actions.tsx +25 -24
  544. package/src/components/data-table-row.tsx +16 -17
  545. package/src/components/data-table-shared.tsx +10 -16
  546. package/src/components/data-table-sort.ts +1 -2
  547. package/src/components/data-table-virtual.ts +9 -4
  548. package/src/components/data-table.tsx +489 -501
  549. package/src/components/date-picker.tsx +1 -7
  550. package/src/components/date-range-picker.tsx +3 -13
  551. package/src/components/description-list.tsx +7 -13
  552. package/src/components/dialog-frame.tsx +12 -3
  553. package/src/components/disclosure.tsx +8 -12
  554. package/src/components/dropdown.tsx +3 -11
  555. package/src/components/empty-state.tsx +1 -3
  556. package/src/components/entity-combobox.tsx +2 -6
  557. package/src/components/error-boundary.tsx +7 -7
  558. package/src/components/field-base.tsx +8 -14
  559. package/src/components/field-parts.tsx +12 -23
  560. package/src/components/field-sync.tsx +7 -11
  561. package/src/components/file-button.tsx +7 -3
  562. package/src/components/file-dropzone.tsx +7 -12
  563. package/src/components/floating-panel.tsx +44 -51
  564. package/src/components/focus-ring.ts +1 -2
  565. package/src/components/form-actions.tsx +1 -4
  566. package/src/components/grouped-picker.tsx +6 -8
  567. package/src/components/hover-menu.tsx +1 -4
  568. package/src/components/iban-input-labels.ts +1 -2
  569. package/src/components/icon-button.tsx +46 -48
  570. package/src/components/icon-picker.tsx +4 -17
  571. package/src/components/image-grid.tsx +1 -6
  572. package/src/components/inline-edit-field.tsx +1 -5
  573. package/src/components/inline-entity-combobox.tsx +6 -21
  574. package/src/components/input.tsx +14 -2
  575. package/src/components/jump-calendar.tsx +2 -6
  576. package/src/components/legal-labels.ts +1 -2
  577. package/src/components/legal-page.tsx +18 -7
  578. package/src/components/legal.tsx +14 -5
  579. package/src/components/lightbox.tsx +1 -3
  580. package/src/components/line-items.tsx +7 -15
  581. package/src/components/list.tsx +29 -25
  582. package/src/components/measured-grid.tsx +8 -30
  583. package/src/components/menu-item.tsx +1 -3
  584. package/src/components/mini-calendar.tsx +129 -159
  585. package/src/components/money-field.tsx +4 -2
  586. package/src/components/month-picker.tsx +14 -21
  587. package/src/components/multi-entity-combobox.tsx +6 -26
  588. package/src/components/multi-select.tsx +5 -9
  589. package/src/components/nav-pills.tsx +10 -2
  590. package/src/components/number-field.tsx +18 -15
  591. package/src/components/number-input.tsx +3 -19
  592. package/src/components/numpad-sheet.tsx +9 -13
  593. package/src/components/one-time-code-input.tsx +6 -11
  594. package/src/components/page-contents.tsx +2 -9
  595. package/src/components/page-header.tsx +5 -10
  596. package/src/components/password-strength-labels.ts +1 -2
  597. package/src/components/password-strength.tsx +6 -9
  598. package/src/components/phone-input.tsx +2 -13
  599. package/src/components/picker-sheet.tsx +2 -5
  600. package/src/components/pie-chart.tsx +6 -12
  601. package/src/components/popover.tsx +2 -1
  602. package/src/components/progress-bar.tsx +16 -25
  603. package/src/components/qr-code.tsx +2 -9
  604. package/src/components/row-actions.tsx +9 -1
  605. package/src/components/search-field.tsx +4 -5
  606. package/src/components/select.tsx +2 -10
  607. package/src/components/separator.tsx +1 -5
  608. package/src/components/series-chart-axes.ts +5 -5
  609. package/src/components/series-chart-budget.ts +1 -4
  610. package/src/components/series-chart-ticks.ts +1 -4
  611. package/src/components/series-chart.tsx +43 -83
  612. package/src/components/settings-fields.tsx +20 -15
  613. package/src/components/share-card.tsx +6 -14
  614. package/src/components/sign-chip.tsx +16 -16
  615. package/src/components/signature-pad.tsx +21 -13
  616. package/src/components/signed-amount.tsx +6 -14
  617. package/src/components/skeleton.tsx +2 -13
  618. package/src/components/slider.tsx +9 -20
  619. package/src/components/sparkline.tsx +2 -13
  620. package/src/components/stat-tile.tsx +13 -24
  621. package/src/components/swatch-picker.tsx +8 -3
  622. package/src/components/swipeable-row.tsx +2 -11
  623. package/src/components/table-skeleton.tsx +4 -1
  624. package/src/components/table.tsx +12 -8
  625. package/src/components/tabs.tsx +24 -39
  626. package/src/components/text-link.tsx +6 -6
  627. package/src/components/text.tsx +1 -2
  628. package/src/components/tile-radio.tsx +6 -19
  629. package/src/components/time-input.tsx +4 -5
  630. package/src/components/toast.tsx +3 -12
  631. package/src/components/toggle-group.tsx +9 -9
  632. package/src/components/toggle-legend.tsx +4 -16
  633. package/src/components/tooltip.tsx +9 -48
  634. package/src/components/translation-review-editor.tsx +4 -4
  635. package/src/components/translation-review-parts.tsx +7 -1
  636. package/src/components/translation-review.tsx +15 -16
  637. package/src/components/tree-view.tsx +17 -20
  638. package/src/components/treemap.tsx +59 -9
  639. package/src/components/trigger-aria.ts +1 -4
  640. package/src/components/use-table-state.ts +16 -17
  641. package/src/components/user-avatar.tsx +4 -21
  642. package/src/demo/demo-start.tsx +8 -4
  643. package/src/feedback/feedback-attachment-labels.ts +2 -1
  644. package/src/feedback/feedback-attachment.tsx +16 -29
  645. package/src/feedback/feedback-capture.ts +3 -1
  646. package/src/feedback/feedback-comment-thread.tsx +9 -6
  647. package/src/feedback/feedback-context.tsx +1 -4
  648. package/src/feedback/feedback-dialog.tsx +3 -4
  649. package/src/feedback/feedback-inbox.tsx +3 -9
  650. package/src/feedback/feedback-public-list.tsx +7 -1
  651. package/src/feedback/feedback-record.ts +6 -14
  652. package/src/feedback/feedback-replies.tsx +10 -5
  653. package/src/feedback/feedback-row-detail.tsx +2 -5
  654. package/src/feedback/feedback-status-undo.ts +1 -4
  655. package/src/feedback/feedback-submit-dialog.tsx +4 -4
  656. package/src/feedback/feedback-table.tsx +12 -8
  657. package/src/feedback/feedback-thread.tsx +4 -16
  658. package/src/feedback/feedback-vocabulary.ts +72 -82
  659. package/src/feedback/feedback-vote-button.tsx +9 -8
  660. package/src/hooks/use-anchored-rect.ts +1 -4
  661. package/src/hooks/use-document-title.ts +3 -1
  662. package/src/hooks/use-file-drop.ts +1 -3
  663. package/src/hooks/use-file-picker-labels.ts +1 -2
  664. package/src/hooks/use-file-picker.tsx +1 -5
  665. package/src/hooks/use-focus-trap.ts +1 -2
  666. package/src/hooks/use-overlay-history.ts +10 -5
  667. package/src/hooks/use-row-swipe.ts +1 -6
  668. package/src/i18n/defaults.ts +1 -4
  669. package/src/i18n/german.ts +33 -49
  670. package/src/i18n/kit-labels.tsx +5 -20
  671. package/src/i18n/languages.ts +2 -8
  672. package/src/i18n/locales/en.ts +11 -31
  673. package/src/i18n/locales/es.ts +35 -49
  674. package/src/i18n/locales/fr.ts +34 -51
  675. package/src/i18n/locales/hu.ts +26 -37
  676. package/src/i18n/locales/it.ts +35 -52
  677. package/src/i18n/locales/zh.ts +14 -32
  678. package/src/i18n/plurals.ts +4 -1
  679. package/src/i18n/review.ts +18 -7
  680. package/src/i18n/shared-labels.ts +1 -2
  681. package/src/index.ts +106 -32
  682. package/src/landing/access.ts +2 -7
  683. package/src/landing/landing-sections.tsx +14 -15
  684. package/src/landing/page-seo.ts +1 -3
  685. package/src/lib/calc.ts +4 -1
  686. package/src/lib/clipboard-minus.ts +4 -1
  687. package/src/lib/dates.ts +2 -10
  688. package/src/lib/decimal-marks.ts +1 -3
  689. package/src/lib/device-settings.ts +2 -1
  690. package/src/lib/direction.ts +1 -3
  691. package/src/lib/iban.ts +89 -9
  692. package/src/lib/logger.ts +1 -5
  693. package/src/lib/person-name.ts +1 -3
  694. package/src/lib/phone.ts +5 -8
  695. package/src/lib/qr-encode.ts +32 -8
  696. package/src/lib/session-refresh.ts +5 -6
  697. package/src/lib/table-text.ts +24 -6
  698. package/src/lib/text-match.ts +15 -3
  699. package/src/lib/translation-review.ts +1 -3
  700. package/src/notifications/notification-inbox.tsx +17 -4
  701. package/src/notifications/notification-parts.tsx +1 -2
  702. package/src/notifications/notification-types-setting.tsx +19 -18
  703. package/src/notifications/notifications-labels.ts +1 -2
  704. package/src/notifications/push-device-setting.tsx +7 -1
  705. package/src/notifications/push-devices-setting.tsx +7 -3
  706. package/src/notifications/push-worker.ts +10 -2
  707. package/src/notifications/quiet-hours-setting.tsx +4 -1
  708. package/src/notifications/use-push-device.ts +4 -1
  709. package/src/offline/pwa-update-prompt.tsx +7 -1
  710. package/src/offline/query-persistence.ts +9 -6
  711. package/src/offline.ts +6 -1
  712. package/src/rhf/fields.tsx +50 -19
  713. package/src/rhf/form-core.tsx +2 -6
  714. package/src/rhf/line-items.tsx +5 -7
  715. package/src/rhf/use-rhf-wizard-step.ts +3 -12
  716. package/src/search/command-palette.tsx +15 -23
  717. package/src/search/global-search.tsx +38 -8
  718. package/src/search/search-index.ts +5 -1
  719. package/src/settings/device-reset-setting.tsx +5 -8
  720. package/src/settings/settings-heading.tsx +3 -1
  721. package/src/settings/settings-layout.tsx +6 -13
  722. package/src/settings/use-settings-route.ts +4 -3
  723. package/src/shell/app-shell.tsx +48 -24
  724. package/src/shell/auth-layout.tsx +1 -6
  725. package/src/shell/dev-menu.tsx +12 -6
  726. package/src/shell/option-switcher-menu.tsx +1 -3
  727. package/src/shell/sync-status-indicator.tsx +14 -12
  728. package/src/shell/top-bar-parts-labels.ts +1 -3
  729. package/src/shell/topbar-action-menu.tsx +9 -8
  730. package/src/shell/topbar-controls.tsx +5 -19
  731. package/src/shell/tour-menu.tsx +9 -1
  732. package/src/sync/db.ts +5 -1
  733. package/src/sync/engine.ts +44 -12
  734. package/src/sync.ts +16 -2
  735. package/src/testing/css-variables.ts +1 -2
  736. package/src/testing/index.ts +1 -6
  737. package/src/testing/react.ts +1 -2
  738. package/src/testing/viewport.ts +9 -9
  739. package/src/theme/contrast-tokens.ts +13 -2
  740. package/src/theme/palette-derive.ts +24 -50
  741. package/src/theme/palette-presets.ts +0 -1
  742. package/src/theme/palette-store.ts +1 -4
  743. package/src/theme/text-size.ts +1 -1
  744. package/src/theme/theme-store.ts +2 -6
  745. package/src/tour/tour-catalogue.tsx +4 -2
  746. package/src/tour/tour-dock.ts +5 -1
  747. package/src/tour/tour-engine.ts +2 -6
  748. package/src/tour/tour.tsx +28 -12
  749. package/src/tour/use-tour-progress.ts +8 -2
  750. package/src/tour/use-tour-url-sync.ts +3 -1
  751. package/src/vite-env.d.ts +1 -4
  752. package/src/wizard/stepper-nav.tsx +10 -35
  753. package/src/wizard/types.ts +1 -4
  754. package/src/wizard/use-wizard.ts +28 -43
  755. package/src/wizard/validation.ts +1 -5
  756. package/src/wizard/wizard-context.tsx +2 -6
  757. package/src/wizard/wizard-step.tsx +1 -8
  758. package/src/wizard/wizard-summary.tsx +2 -6
  759. package/tokens.css +393 -152
@@ -52,7 +52,13 @@ export interface AdminToolLinksProps {
52
52
  *
53
53
  * With no visible link it renders nothing.
54
54
  */
55
- export function AdminToolLinks({ links, variant = "sidebar", renderLink, labels: labelsProp, className }: AdminToolLinksProps) {
55
+ export function AdminToolLinks({
56
+ links,
57
+ variant = "sidebar",
58
+ renderLink,
59
+ labels: labelsProp,
60
+ className,
61
+ }: AdminToolLinksProps) {
56
62
  const labels = useAdminAreaLabels(labelsProp);
57
63
  const headingId = useId();
58
64
  const shown = links.filter((l) => l.visible !== false);
@@ -241,9 +241,7 @@ export function InvitationsPanel<R extends string = string>({
241
241
  const [invalid, setInvalid] = useState(false);
242
242
  const [role, setRole] = useState<R | undefined>(defaultRole ?? offered[0]);
243
243
  const [scope, setScope] = useState("");
244
- const [locale, setLocale] = useState<KitLanguageCode>(() =>
245
- resolveLanguage([defaultLocale, kitLocale], languages),
246
- );
244
+ const [locale, setLocale] = useState<KitLanguageCode>(() => resolveLanguage([defaultLocale, kitLocale], languages));
247
245
  const [note, setNote] = useState("");
248
246
  // One request at a time, for the whole panel; the key says which control spins.
249
247
  const [busy, setBusy] = useState<string | null>(null);
@@ -341,13 +339,7 @@ export function InvitationsPanel<R extends string = string>({
341
339
  }}
342
340
  />
343
341
  {choosesRole && (
344
- <RoleSelect<R>
345
- label={labels.role}
346
- value={role}
347
- roles={roles}
348
- offered={offered}
349
- onChange={setRole}
350
- />
342
+ <RoleSelect<R> label={labels.role} value={role} roles={roles} offered={offered} onChange={setRole} />
351
343
  )}
352
344
  {scopes && scopes.length > 0 && (
353
345
  <Select
@@ -433,7 +425,9 @@ export function InvitationsPanel<R extends string = string>({
433
425
  typeof invitation.invited_by === "string" ? invitation.invited_by : nameOf(invitation.invited_by);
434
426
  const facts = [
435
427
  dayText(invitation.created_at) && labels.sent(dayText(invitation.created_at)),
436
- open && dayText(invitation.expires_at ?? null) && labels.expires(dayText(invitation.expires_at ?? null)),
428
+ open &&
429
+ dayText(invitation.expires_at ?? null) &&
430
+ labels.expires(dayText(invitation.expires_at ?? null)),
437
431
  by && labels.invitedBy(by),
438
432
  ].filter(Boolean);
439
433
  return (
@@ -52,8 +52,7 @@ export interface MailTestAnswer {
52
52
  /** The card's default DOM id: its catalogue entry's `anchor`, the `?focus=` target. */
53
53
  export const MAIL_TEST_ANCHOR = "admin-mail-test";
54
54
 
55
- export interface MailTestCardProps
56
- extends Omit<SettingsSectionProps, "anchor" | "title" | "description" | "children"> {
55
+ export interface MailTestCardProps extends Omit<SettingsSectionProps, "anchor" | "title" | "description" | "children"> {
57
56
  /** The installation's transport, as the admin page has it (`mail_backend`): the chip
58
57
  * before a send. After one, the answer's. Optional (0.46): without it the chip shows
59
58
  * from the first answer on, and an app needs no query only for the chip. */
@@ -140,8 +140,9 @@ export function ReviewerScopeEditor({
140
140
  labels: labelsProp,
141
141
  }: ReviewerScopeEditorProps) {
142
142
  const labels = useKitLabels("reviewerScope", DEFAULT_REVIEWER_SCOPE_LABELS, labelsProp);
143
- const areaOptions: readonly ReviewerScopeArea[] =
144
- areasProp ?? [{ value: "legal", label: labels.legalOnly, hint: labels.legalOnlyHint }];
143
+ const areaOptions: readonly ReviewerScopeArea[] = areasProp ?? [
144
+ { value: "legal", label: labels.legalOnly, hint: labels.legalOnlyHint },
145
+ ];
145
146
  const savedLocales = [...(value.locales ?? [])];
146
147
  const savedAreas = [...(value.areas ?? [])];
147
148
  const [locales, setLocales] = useState<string[]>(savedLocales);
@@ -216,13 +217,7 @@ export function ReviewerScopeEditor({
216
217
  {locked ? (
217
218
  <Caption>{disabledReason}</Caption>
218
219
  ) : (
219
- <FormActions
220
- onSubmit={save}
221
- onCancel={onCancel}
222
- pending={pending}
223
- submitDisabled={!dirty}
224
- commit={commit}
225
- />
220
+ <FormActions onSubmit={save} onCancel={onCancel} pending={pending} submitDisabled={!dirty} commit={commit} />
226
221
  )}
227
222
  </div>
228
223
  );
@@ -85,8 +85,10 @@ function keysOf<R extends string>(roles: RoleVocabulary<R>): R[] {
85
85
 
86
86
  /* ── RoleSelect ─────────────────────────────────────────────────────────────── */
87
87
 
88
- export interface RoleSelectProps<R extends string = string>
89
- extends Omit<SelectProps, "value" | "defaultValue" | "onChange" | "children" | "multiple" | "disabledReason"> {
88
+ export interface RoleSelectProps<R extends string = string> extends Omit<
89
+ SelectProps,
90
+ "value" | "defaultValue" | "onChange" | "children" | "multiple" | "disabledReason"
91
+ > {
90
92
  /** The role the server has. Controlled: a pick does not move the select until the
91
93
  * app's request lands and the row comes back with the new role. */
92
94
  value: R | null | undefined;
@@ -81,9 +81,7 @@ export interface AdminUserStateFields {
81
81
 
82
82
  /** One state chip of a row: an {@link AccountState}, or one with its `date` (the
83
83
  * `deletion` day), a `tone` or the app's own words. */
84
- export type RosterState =
85
- | AccountState
86
- | { state: AccountState; date?: DateInput; tone?: ChipTone; label?: ReactNode };
84
+ export type RosterState = AccountState | { state: AccountState; date?: DateInput; tone?: ChipTone; label?: ReactNode };
87
85
 
88
86
  /**
89
87
  * The contract's row as state chips (§3.2: "map 1:1 to the kit's AccountStateChip"):
@@ -234,14 +232,7 @@ export interface UserRowActionsProps {
234
232
  */
235
233
  export function UserRowActions({ actions, name, labels: labelsProp }: UserRowActionsProps) {
236
234
  const labels = useKitLabels("userRoster", DEFAULT_USER_ROSTER_LABELS, labelsProp);
237
- return (
238
- <RowActions
239
- actions={actions}
240
- name={name}
241
- collapse="menu"
242
- labels={{ actionsFor: labels.actionsFor }}
243
- />
244
- );
235
+ return <RowActions actions={actions} name={name} collapse="menu" labels={{ actionsFor: labels.actionsFor }} />;
245
236
  }
246
237
 
247
238
  /* ── The preset ─────────────────────────────────────────────────────────────── */
@@ -139,13 +139,7 @@ export function AcceptInvitation({
139
139
  });
140
140
 
141
141
  const outcome: Outcome | "accepting" =
142
- token === ""
143
- ? "invalid"
144
- : settled?.token === token
145
- ? settled.outcome
146
- : signedIn
147
- ? "accepting"
148
- : "signIn";
142
+ token === "" ? "invalid" : settled?.token === token ? settled.outcome : signedIn ? "accepting" : "signIn";
149
143
 
150
144
  const continueButton = (variant: "accent" | "secondary") => (
151
145
  <Button href={continueHref} replace variant={variant}>
@@ -84,12 +84,7 @@ export type AccountErrorCode =
84
84
  * mail, uploads, the account export (§6.4).
85
85
  */
86
86
  export type DemoErrorCode =
87
- | "demo_disabled"
88
- | "demo_rate_limited"
89
- | "demo_capacity"
90
- | "demo_not_ready"
91
- | "demo_read_only"
92
- | "demo_refused";
87
+ "demo_disabled" | "demo_rate_limited" | "demo_capacity" | "demo_not_ready" | "demo_read_only" | "demo_refused";
93
88
 
94
89
  /**
95
90
  * 0.32.0: billing's coded refusals (docs/billing-harmonization.md §3.3, §3.4, §4, §12.3) —
@@ -45,8 +45,7 @@ export { DEFAULT_FORGOT_PASSWORD_LABELS };
45
45
 
46
46
  /* ── The form ────────────────────────────────────────────────────────────── */
47
47
 
48
- export interface ForgotPasswordFormProps
49
- extends Omit<ComponentPropsWithRef<"div">, "onSubmit" | "children" | "title"> {
48
+ export interface ForgotPasswordFormProps extends Omit<ComponentPropsWithRef<"div">, "onSubmit" | "children" | "title"> {
50
49
  /**
51
50
  * The address was submitted, trimmed: send `POST /auth/password-reset/request`.
52
51
  * Resolve when the server answered — whatever it answered: it is `204` whether or not
@@ -185,11 +184,7 @@ export function ForgotPasswordForm({
185
184
 
186
185
  return (
187
186
  <div {...rest} data-state="form" className={cn("space-y-3", className)}>
188
- <form
189
- className="space-y-3"
190
- aria-labelledby={title === null ? undefined : headingId}
191
- onSubmit={submit}
192
- >
187
+ <form className="space-y-3" aria-labelledby={title === null ? undefined : headingId} onSubmit={submit}>
193
188
  {heading}
194
189
  <p className={INTRO_CLASS}>{labels.intro}</p>
195
190
  {formContent}
@@ -262,8 +262,7 @@ export function RegisterForm({
262
262
  const working = busy !== null;
263
263
  const suggestion = emailTag ? taggedEmail(email, emailTag) : null;
264
264
  // The invitee took the tagged address: offer the way back to the invited one.
265
- const backToInvited =
266
- invitedEmail !== undefined && email.trim() !== invitedEmail.trim() ? invitedEmail.trim() : null;
265
+ const backToInvited = invitedEmail !== undefined && email.trim() !== invitedEmail.trim() ? invitedEmail.trim() : null;
267
266
  const canSubmit =
268
267
  personNameOk(firstName) &&
269
268
  personNameOk(lastName) &&
@@ -311,12 +310,12 @@ export function RegisterForm({
311
310
  : isRateLimited(error)
312
311
  ? (labels.rateLimited ?? DEFAULT_REGISTER_LABELS.rateLimited)(retryAfterSeconds(error))
313
312
  : code === "registration_closed"
314
- ? labels.registrationClosed
315
- : code === "invitation_invalid"
316
- ? labels.invitationInvalid
317
- : code === "invitation_expired"
318
- ? labels.invitationExpired
319
- : labels.failed,
313
+ ? labels.registrationClosed
314
+ : code === "invitation_invalid"
315
+ ? labels.invitationInvalid
316
+ : code === "invitation_expired"
317
+ ? labels.invitationExpired
318
+ : labels.failed,
320
319
  );
321
320
  },
322
321
  );
@@ -94,12 +94,9 @@ export interface ResetPasswordResult {
94
94
  }
95
95
 
96
96
  type Phase =
97
- | { kind: "form"; check: ResetPasswordCheck }
98
- | { kind: "invalid" }
99
- | { kind: "done"; result: ResetPasswordResult };
97
+ { kind: "form"; check: ResetPasswordCheck } | { kind: "invalid" } | { kind: "done"; result: ResetPasswordResult };
100
98
 
101
- export interface ResetPasswordFormProps
102
- extends Omit<ComponentPropsWithRef<"div">, "onSubmit" | "children" | "title"> {
99
+ export interface ResetPasswordFormProps extends Omit<ComponentPropsWithRef<"div">, "onSubmit" | "children" | "title"> {
103
100
  /** The link's token — the app's `?token=` (keksdose, kastlan: `/reset-password?token=…`).
104
101
  * Empty: the link was cut short, and the page says so without asking anyone. */
105
102
  token: string;
@@ -431,9 +431,7 @@ export function SignInForm({
431
431
  const [recovery, setRecovery] = useState("");
432
432
  const [newPassword, setNewPassword] = useState("");
433
433
  const [confirm, setConfirm] = useState("");
434
- const [challenge, setChallenge] = useState<{ token: string; extra?: Readonly<Record<string, unknown>> } | null>(
435
- null,
436
- );
434
+ const [challenge, setChallenge] = useState<{ token: string; extra?: Readonly<Record<string, unknown>> } | null>(null);
437
435
  // What is running: one call at a time. "done" after `signed-in` — the app has the
438
436
  // session and is leaving; the buttons stay busy so nothing is sent twice meanwhile.
439
437
  const [busy, setBusy] = useState<SignInAction | "done" | null>(null);
@@ -494,7 +492,8 @@ export function SignInForm({
494
492
  // After the app's words, before the kit's generic ones (0.30.0): a throttle is
495
493
  // neither a wrong password nor a wrong code, and saying so sends the person to try
496
494
  // another one — which the limiter counts too.
497
- if (isRateLimited(error)) return (labels.rateLimited ?? DEFAULT_SIGN_IN_LABELS.rateLimited)(retryAfterSeconds(error));
495
+ if (isRateLimited(error))
496
+ return (labels.rateLimited ?? DEFAULT_SIGN_IN_LABELS.rateLimited)(retryAfterSeconds(error));
498
497
  if (action === "password") return code === "invalid_credentials" ? labels.invalidCredentials : labels.failed;
499
498
  if (action === "passkey") return labels.passkeyFailed;
500
499
  if (action === "code") {
@@ -642,8 +641,7 @@ export function SignInForm({
642
641
  setUseRecovery((on) => !on);
643
642
  };
644
643
  const codeError = failure?.action === "code" ? failure.message : undefined;
645
- const content =
646
- typeof twoFactorContent === "function" ? twoFactorContent(challenge.token) : twoFactorContent;
644
+ const content = typeof twoFactorContent === "function" ? twoFactorContent(challenge.token) : twoFactorContent;
647
645
  return (
648
646
  <div {...rest} data-step="2fa" className={rootClass}>
649
647
  <form className="space-y-3" aria-labelledby={headingId} onSubmit={submitCode}>
@@ -731,9 +729,7 @@ export function SignInForm({
731
729
  {content}
732
730
  {/* Which account the new password is for, for the password manager: it files
733
731
  the new password under this username instead of guessing. */}
734
- {email !== "" && (
735
- <input type="email" name="username" autoComplete="username" value={email} readOnly hidden />
736
- )}
732
+ {email !== "" && <input type="email" name="username" autoComplete="username" value={email} readOnly hidden />}
737
733
  <NewPasswordFields
738
734
  password={newPassword}
739
735
  confirm={confirm}
@@ -767,7 +763,9 @@ export function SignInForm({
767
763
 
768
764
  const refused = failure?.code === "invalid_credentials";
769
765
  const tagged =
770
- refused && failure?.action === "password" && emailTag && failure.email ? taggedEmail(failure.email, emailTag) : null;
766
+ refused && failure?.action === "password" && emailTag && failure.email
767
+ ? taggedEmail(failure.email, emailTag)
768
+ : null;
771
769
  const showDeactivated = refused && hasContent(deactivatedContact);
772
770
 
773
771
  return (
@@ -802,13 +800,16 @@ export function SignInForm({
802
800
  <AlertBanner tone="danger" size="sm">
803
801
  {failure.message}
804
802
  </AlertBanner>
805
- {showDeactivated && (
806
- <p className={HINT_CLASS}>{withContact(labels.deactivatedHint, deactivatedContact)}</p>
807
- )}
803
+ {showDeactivated && <p className={HINT_CLASS}>{withContact(labels.deactivatedHint, deactivatedContact)}</p>}
808
804
  {tagged && <p className={HINT_CLASS}>{labels.tagHint(tagged)}</p>}
809
805
  </div>
810
806
  )}
811
- <Button type="submit" className="w-full" pending={busy === "password" || busy === "done"} disabled={busy === "passkey"}>
807
+ <Button
808
+ type="submit"
809
+ className="w-full"
810
+ pending={busy === "password" || busy === "done"}
811
+ disabled={busy === "passkey"}
812
+ >
812
813
  {labels.submit}
813
814
  </Button>
814
815
  {onPasskey && (
@@ -159,10 +159,7 @@ function ResendStatus({
159
159
  : labels.resendError))
160
160
  : "";
161
161
  return (
162
- <span
163
- role="status"
164
- className={cn(phase === "failed" ? "text-danger" : "text-success", className)}
165
- >
162
+ <span role="status" className={cn(phase === "failed" ? "text-danger" : "text-success", className)}>
166
163
  {phase === "sent" ? labels.resent : failed}
167
164
  </span>
168
165
  );
@@ -259,9 +256,7 @@ export function VerifyEmailStatus({
259
256
  useOncePerKey(token === "" ? null : token, onVerify, (key, result) => {
260
257
  // Without a classifier, the coded refusal decides (0.30.0): `token_expired` is
261
258
  // "expired", anything else "invalid".
262
- const next: VerifyOutcome = result.ok
263
- ? "verified"
264
- : (classifyError ?? defaultVerifyFailure)(result.error);
259
+ const next: VerifyOutcome = result.ok ? "verified" : (classifyError ?? defaultVerifyFailure)(result.error);
265
260
  setSettled({ token: key, outcome: next });
266
261
  announce(labels[next]);
267
262
  });
@@ -26,12 +26,7 @@ import { ExternalMark } from "./subscription-actions";
26
26
  * - `processing` — back from checkout before the webhook landed (§12.21).
27
27
  */
28
28
  export type BillingBannerKind =
29
- | "trial-ending"
30
- | "grant-ending"
31
- | "payment-failed"
32
- | "plan-ended"
33
- | "guest"
34
- | "processing";
29
+ "trial-ending" | "grant-ending" | "payment-failed" | "plan-ended" | "guest" | "processing";
35
30
 
36
31
  /** A `div`'s props, `ref` included since 0.35 (round 0.35 R4, the follow-up to API-2): they
37
32
  * go on to the {@link AlertBanner}, so the ref is the banner's `<div>` — with an × too,
@@ -223,7 +218,8 @@ export function BillingBanner(props: BillingBannerProps) {
223
218
  const words = actionLabel ?? ownAction;
224
219
  const newTab = actionNewTab ?? (kind === "payment-failed" && actionHref === undefined && onAction !== undefined);
225
220
  const action =
226
- askBuyer || words === undefined || (actionHref === undefined && onAction === undefined) ? undefined : actionHref !== undefined ? (
221
+ askBuyer || words === undefined || (actionHref === undefined && onAction === undefined) ? undefined : actionHref !==
222
+ undefined ? (
227
223
  <Button href={actionHref} variant="secondary" size="sm" external={newTab || undefined}>
228
224
  {words}
229
225
  {newTab && <ExternalMark />}
@@ -307,8 +307,11 @@ export const DEFAULT_BILLING_LABELS: BillingLabels = {
307
307
  paymentFailed: "Your last payment didn’t go through. Update your payment method to keep your plan.",
308
308
  planEnded: "Your plan has ended. You can still view and export everything; choose a plan to make changes again.",
309
309
  guestReadOnly: (item) =>
310
- item ? `“${item}” is read-only for now; its owner can lift that.` : "This is read-only for now; its owner can lift that.",
311
- processing: "Your payment is being processed. Your plan starts as soon as it’s confirmed; this page updates by itself.",
310
+ item
311
+ ? `“${item}” is read-only for now; its owner can lift that.`
312
+ : "This is read-only for now; its owner can lift that.",
313
+ processing:
314
+ "Your payment is being processed. Your plan starts as soon as it’s confirmed; this page updates by itself.",
312
315
  choosePlan: "Choose a plan",
313
316
  updatePayment: "Update payment method",
314
317
  paymentFailedAskBuyer: (buyer) =>
@@ -359,8 +362,7 @@ export const DEFAULT_BILLING_LABELS: BillingLabels = {
359
362
  "You have free access with no end date. A purchase won’t change your plan while the free access runs: you would pay for a plan that doesn’t apply.",
360
363
  grantWarningAction: "Buy anyway",
361
364
 
362
- waitingChanges: (count) =>
363
- count === 1 ? "1 change waiting for a plan" : `${count} changes waiting for a plan`,
365
+ waitingChanges: (count) => (count === 1 ? "1 change waiting for a plan" : `${count} changes waiting for a plan`),
364
366
  discardWaiting: "Discard waiting changes",
365
367
 
366
368
  notConfigured: "Payments aren't set up yet. Please try again later.",
@@ -142,7 +142,6 @@ function readPending(key: string): PendingCheckout | null {
142
142
  return null;
143
143
  }
144
144
 
145
-
146
145
  function storeOf(key: string): CheckoutStore {
147
146
  let store = stores.get(key);
148
147
  if (!store) {
@@ -80,7 +80,8 @@ interface PlanDisplayProps {
80
80
  }
81
81
 
82
82
  export interface PlanCardProps
83
- extends Omit<ChoiceCardProps, "type" | "title" | "description" | "icon" | "indeterminate" | "value" | "labels">,
83
+ extends
84
+ Omit<ChoiceCardProps, "type" | "title" | "description" | "icon" | "indeterminate" | "value" | "labels">,
84
85
  PlanDisplayProps {
85
86
  plan: BillingPlan;
86
87
  /** See {@link PlanRelation}. `current` draws the "Current plan" chip — a word in the
@@ -170,9 +171,7 @@ export function PlanCard({
170
171
  data-part="price"
171
172
  className={cn(
172
173
  "tabular-nums",
173
- price.kind === "not-offered"
174
- ? "text-xs text-muted"
175
- : "text-lg font-semibold leading-tight text-primary",
174
+ price.kind === "not-offered" ? "text-xs text-muted" : "text-lg font-semibold leading-tight text-primary",
176
175
  )}
177
176
  >
178
177
  {figure}
@@ -371,9 +370,7 @@ export function PlanPicker({
371
370
 
372
371
  const [ownValue, setOwnValue] = useState<string | null>(() => defaultValue ?? current ?? null);
373
372
  const [ownInterval, setOwnInterval] = useState<BillingInterval>(defaultInterval);
374
- const [ownCurrency, setOwnCurrency] = useState<BillingCurrency>(
375
- () => defaultCurrency ?? billingCurrencyFor(locale),
376
- );
373
+ const [ownCurrency, setOwnCurrency] = useState<BillingCurrency>(() => defaultCurrency ?? billingCurrencyFor(locale));
377
374
  const value = valueProp !== undefined ? valueProp : ownValue;
378
375
  const interval = intervalProp ?? ownInterval;
379
376
  const currency = currencyProp ?? ownCurrency;
@@ -413,7 +410,11 @@ export function PlanPicker({
413
410
  : undefined;
414
411
 
415
412
  return (
416
- <div className={cn("min-w-0 space-y-3", className)} data-billing-interval={interval} data-billing-currency={currency}>
413
+ <div
414
+ className={cn("min-w-0 space-y-3", className)}
415
+ data-billing-interval={interval}
416
+ data-billing-currency={currency}
417
+ >
417
418
  {(intervals.length > 1 || currencies.length > 1) && (
418
419
  <div className="flex flex-wrap items-center gap-2">
419
420
  {intervals.length > 1 && (
@@ -58,8 +58,7 @@ export function usePlanLimitToast(options: PlanLimitToastOptions): (hit?: PlanLi
58
58
  (hit?: PlanLimitRefusal) => {
59
59
  const dimension = hit?.dimension ?? "";
60
60
  const name = dimensionLabels?.[dimension] ?? dimension;
61
- const figure = (value: number) =>
62
- formatValue ? formatValue(dimension, value) : formatNumber(value, { locale });
61
+ const figure = (value: number) => (formatValue ? formatValue(dimension, value) : formatNumber(value, { locale }));
63
62
  // A body without `used` was refused for being AT the limit (PlanLimitNotice's rule).
64
63
  const usage =
65
64
  hit?.limit !== undefined
@@ -18,8 +18,7 @@ export interface PlanLimitRefusal {
18
18
  /** keksdose's code before §3.4: `402 {detail, code: "plan_budget_limit", plan, limit}`. */
19
19
  const LEGACY_BUDGET_LIMIT = "plan_budget_limit";
20
20
 
21
- const text = (value: unknown): string | undefined =>
22
- typeof value === "string" && value !== "" ? value : undefined;
21
+ const text = (value: unknown): string | undefined => (typeof value === "string" && value !== "" ? value : undefined);
23
22
  const count = (value: unknown): number | undefined =>
24
23
  typeof value === "number" && Number.isFinite(value) ? value : undefined;
25
24
 
@@ -34,10 +34,7 @@ export type PlanPrices = Partial<Record<BillingCurrency, PlanIntervalPrices>>;
34
34
  * - `free` — a plan with no prices at all (keksdose's free plan), or a price of 0;
35
35
  * - `not-offered` — a plan with prices, but none for this currency and period.
36
36
  */
37
- export type PlanPriceAnswer =
38
- | { kind: "price"; minor: number }
39
- | { kind: "free" }
40
- | { kind: "not-offered" };
37
+ export type PlanPriceAnswer = { kind: "price"; minor: number } | { kind: "free" } | { kind: "not-offered" };
41
38
 
42
39
  /** Whether a price table holds any figure at all. */
43
40
  function hasAnyPrice(prices: PlanPrices | null | undefined): boolean {
@@ -125,8 +125,7 @@ export function PlanSwitchConfirm({
125
125
 
126
126
  const period = (interval: BillingInterval) => (interval === "year" ? labels.yearly : labels.monthly);
127
127
  const side = (s: PlanSwitchSide) => `${planName(s.plan.toLowerCase())} (${period(s.interval)})`;
128
- const money = (minor: number, currency: string) =>
129
- formatMoney(minorToMajor(minor, currency), currency, { locale });
128
+ const money = (minor: number, currency: string) => formatMoney(minorToMajor(minor, currency), currency, { locale });
130
129
  const figure = (dimension: string, value: number) =>
131
130
  formatLimit ? formatLimit(dimension, value) : formatNumber(value, { locale });
132
131
 
@@ -169,7 +169,9 @@ export function SubscriptionActions({
169
169
  const portalCancel = onCancel ?? (onPortal ? () => onPortal("cancel") : undefined);
170
170
  // Under "buyer_only" the in-app cancel only; under "open" the portal's first, the
171
171
  // in-app cancel only where no way to the portal's is given.
172
- const cancelCall = buyerOnly ? onCancelInApp : (portalCancel ?? (cancelHref === undefined ? onCancelInApp : undefined));
172
+ const cancelCall = buyerOnly
173
+ ? onCancelInApp
174
+ : (portalCancel ?? (cancelHref === undefined ? onCancelInApp : undefined));
173
175
  // 0.43: what was asked in the app wins over the row until the row moves.
174
176
  const scheduled = cancelRequested === "cancel" ? true : cancelRequested === "resume" ? false : cancelAtPeriodEnd;
175
177
  // 0.43 (§17): the portal's actions are marked, a link opens a tab of its own.
@@ -229,7 +231,8 @@ export function SubscriptionActions({
229
231
  if (!manage && !cancel) return null;
230
232
  // The note while a way to the portal shows: "Payment and invoices open at Paddle in a
231
233
  // new tab; Kastlan stays open here."
232
- const portalShown = !buyerOnly && (manage !== null || (cancel !== null && portalCancelShown && !(scheduled && onResume)));
234
+ const portalShown =
235
+ !buyerOnly && (manage !== null || (cancel !== null && portalCancelShown && !(scheduled && onResume)));
233
236
  return (
234
237
  <div {...rest} className={cn("flex flex-wrap items-center gap-x-4 gap-y-2", className)}>
235
238
  {manage}
@@ -216,13 +216,7 @@ export function AccountRoleChip<R extends string = string>({
216
216
  * state, as keksdose's state column does.
217
217
  */
218
218
  export type AccountState =
219
- | "active"
220
- | "inactive"
221
- | "invited"
222
- | "registered"
223
- | "unverified"
224
- | "passwordChange"
225
- | "deletion";
219
+ "active" | "inactive" | "invited" | "registered" | "unverified" | "passwordChange" | "deletion";
226
220
 
227
221
  /**
228
222
  * The `accountState` namespace. One word per state, plus the two forms of `deletion`.
@@ -84,11 +84,7 @@ export function alertFrameClass(tone: AlertTone, size: AlertSize = "md"): string
84
84
  * border, 1px — a strip is a band across the top of a page, and its one visible edge
85
85
  * is the line it draws under itself. kastlan's trial, past-due and tour banners. */
86
86
  function stripFrameClass(tone: AlertTone, size: AlertSize): string {
87
- return cn(
88
- TONE_FRAME[tone],
89
- "rounded-none border-0 border-b",
90
- size === "sm" ? "px-4 py-1.5" : "px-4 py-2",
91
- );
87
+ return cn(TONE_FRAME[tone], "rounded-none border-0 border-b", size === "sm" ? "px-4 py-1.5" : "px-4 py-2");
92
88
  }
93
89
 
94
90
  const TONE_TEXT: Record<AlertTone, string> = {
@@ -429,9 +425,7 @@ export function AlertBanner({
429
425
  )}
430
426
  </div>
431
427
  ) : (
432
- <Body className={cn(!inlineRow && (nested ? "flex-1" : grow), "min-w-0 text-start")}>
433
- {children}
434
- </Body>
428
+ <Body className={cn(!inlineRow && (nested ? "flex-1" : grow), "min-w-0 text-start")}>{children}</Body>
435
429
  );
436
430
  const content = (
437
431
  <>