@eifi1/ui-kit 0.32.2 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/README.md +16 -8
  2. package/dist/account/delete-account-setting.d.ts +10 -10
  3. package/dist/account/delete-account-setting.js +2 -1
  4. package/dist/account/delete-account-setting.js.map +1 -1
  5. package/dist/account/email-change-setting.d.ts +5 -0
  6. package/dist/account/email-change-setting.js +4 -3
  7. package/dist/account/email-change-setting.js.map +1 -1
  8. package/dist/account/sessions-setting.d.ts +4 -0
  9. package/dist/account/sessions-setting.js +3 -2
  10. package/dist/account/sessions-setting.js.map +1 -1
  11. package/dist/admin/admin-action-confirm.d.ts +10 -10
  12. package/dist/admin/admin-action-confirm.js.map +1 -1
  13. package/dist/admin/invitations-panel.d.ts +10 -10
  14. package/dist/admin/invitations-panel.js +4 -3
  15. package/dist/admin/invitations-panel.js.map +1 -1
  16. package/dist/admin/plan-change.d.ts +100 -0
  17. package/dist/admin/plan-change.js +208 -0
  18. package/dist/admin/plan-change.js.map +1 -0
  19. package/dist/admin/reviewer-scope-editor.d.ts +10 -10
  20. package/dist/admin/reviewer-scope-editor.js.map +1 -1
  21. package/dist/admin/role-select.d.ts +7 -7
  22. package/dist/admin/role-select.js.map +1 -1
  23. package/dist/admin/transfer-ownership-dialog.d.ts +10 -10
  24. package/dist/admin/user-roster.d.ts +7 -7
  25. package/dist/admin/user-roster.js +2 -2
  26. package/dist/admin/user-roster.js.map +1 -1
  27. package/dist/auth/auth-errors.d.ts +13 -2
  28. package/dist/auth/auth-errors.js +5 -1
  29. package/dist/auth/auth-errors.js.map +1 -1
  30. package/dist/auth/complete-name-dialog.d.ts +4 -1
  31. package/dist/auth/complete-name-dialog.js +2 -1
  32. package/dist/auth/complete-name-dialog.js.map +1 -1
  33. package/dist/auth/register-form.d.ts +10 -10
  34. package/dist/billing/billing-banner.d.ts +13 -11
  35. package/dist/billing/billing-banner.js.map +1 -1
  36. package/dist/billing/billing-labels.d.ts +10 -10
  37. package/dist/billing/billing-labels.js +10 -1
  38. package/dist/billing/billing-labels.js.map +1 -1
  39. package/dist/billing/billing-lock.d.ts +39 -12
  40. package/dist/billing/billing-lock.js +9 -3
  41. package/dist/billing/billing-lock.js.map +1 -1
  42. package/dist/billing/billing-overview.d.ts +154 -0
  43. package/dist/billing/billing-overview.js +2 -0
  44. package/dist/billing/billing-overview.js.map +1 -0
  45. package/dist/billing/billing-standing.d.ts +10 -10
  46. package/dist/billing/checkout-processing.d.ts +217 -0
  47. package/dist/billing/checkout-processing.js +198 -0
  48. package/dist/billing/checkout-processing.js.map +1 -0
  49. package/dist/billing/checkout-return.d.ts +51 -0
  50. package/dist/billing/checkout-return.js +43 -0
  51. package/dist/billing/checkout-return.js.map +1 -0
  52. package/dist/billing/pay-page.d.ts +210 -0
  53. package/dist/billing/pay-page.js +113 -0
  54. package/dist/billing/pay-page.js.map +1 -0
  55. package/dist/billing/plan-card.d.ts +10 -10
  56. package/dist/billing/plan-limit-notice.d.ts +10 -10
  57. package/dist/billing/plan-limit-toast.d.ts +143 -0
  58. package/dist/billing/plan-limit-toast.js +40 -0
  59. package/dist/billing/plan-limit-toast.js.map +1 -0
  60. package/dist/billing/subscription-actions.d.ts +38 -15
  61. package/dist/billing/subscription-actions.js +9 -2
  62. package/dist/billing/subscription-actions.js.map +1 -1
  63. package/dist/billing/subscription-status-chip.d.ts +9 -9
  64. package/dist/bin/eifi1-pay-page.mjs +166 -0
  65. package/dist/chart.d.ts +10 -10
  66. package/dist/components/account-chips.d.ts +6 -1
  67. package/dist/components/account-settings.d.ts +4 -1
  68. package/dist/components/account-settings.js +2 -1
  69. package/dist/components/account-settings.js.map +1 -1
  70. package/dist/components/amount-input.d.ts +10 -10
  71. package/dist/components/autocomplete.d.ts +2 -1
  72. package/dist/components/autocomplete.js +3 -1
  73. package/dist/components/autocomplete.js.map +1 -1
  74. package/dist/components/button-group.d.ts +10 -10
  75. package/dist/components/button-group.js +1 -1
  76. package/dist/components/button-group.js.map +1 -1
  77. package/dist/components/calculator.d.ts +10 -10
  78. package/dist/components/calculator.js +3 -3
  79. package/dist/components/calculator.js.map +1 -1
  80. package/dist/components/checkbox-group.d.ts +2 -1
  81. package/dist/components/checkbox-group.js.map +1 -1
  82. package/dist/components/checkbox.d.ts +2 -1
  83. package/dist/components/checkbox.js.map +1 -1
  84. package/dist/components/chip.d.ts +2 -1
  85. package/dist/components/chip.js +19 -17
  86. package/dist/components/chip.js.map +1 -1
  87. package/dist/components/choice-card.d.ts +3 -1
  88. package/dist/components/choice-card.js +1 -1
  89. package/dist/components/choice-card.js.map +1 -1
  90. package/dist/components/combobox.d.ts +4 -3
  91. package/dist/components/combobox.js.map +1 -1
  92. package/dist/components/confirm-dialog.d.ts +10 -10
  93. package/dist/components/confirm-dialog.js +6 -3
  94. package/dist/components/confirm-dialog.js.map +1 -1
  95. package/dist/components/copy-button.d.ts +11 -11
  96. package/dist/components/country-select.d.ts +2 -1
  97. package/dist/components/country-select.js.map +1 -1
  98. package/dist/components/danger-confirm.d.ts +10 -10
  99. package/dist/components/danger-confirm.js.map +1 -1
  100. package/dist/components/data-table-cells.d.ts +12 -1
  101. package/dist/components/data-table-filter-popover.d.ts +12 -1
  102. package/dist/components/data-table-filters.d.ts +12 -1
  103. package/dist/components/data-table-labels.d.ts +12 -1
  104. package/dist/components/data-table-pagination.d.ts +12 -1
  105. package/dist/components/data-table.d.ts +12 -1
  106. package/dist/components/data-table.js +3 -3
  107. package/dist/components/data-table.js.map +1 -1
  108. package/dist/components/date-picker.js +6 -4
  109. package/dist/components/date-picker.js.map +1 -1
  110. package/dist/components/entity-combobox.d.ts +3 -2
  111. package/dist/components/entity-combobox.js.map +1 -1
  112. package/dist/components/facing-pair.d.ts +10 -10
  113. package/dist/components/field-parts.d.ts +32 -4
  114. package/dist/components/field-parts.js +54 -19
  115. package/dist/components/field-parts.js.map +1 -1
  116. package/dist/components/file-button.d.ts +10 -10
  117. package/dist/components/file-button.js +3 -2
  118. package/dist/components/file-button.js.map +1 -1
  119. package/dist/components/file-dropzone.d.ts +11 -11
  120. package/dist/components/file-dropzone.js.map +1 -1
  121. package/dist/components/floating-panel.js +5 -5
  122. package/dist/components/floating-panel.js.map +1 -1
  123. package/dist/components/form-actions.d.ts +9 -9
  124. package/dist/components/form-actions.js +3 -3
  125. package/dist/components/form-actions.js.map +1 -1
  126. package/dist/components/iban-input.d.ts +10 -10
  127. package/dist/components/inline-edit-field.d.ts +2 -1
  128. package/dist/components/inline-edit-field.js +6 -6
  129. package/dist/components/inline-edit-field.js.map +1 -1
  130. package/dist/components/language-select.d.ts +10 -10
  131. package/dist/components/legal-page.d.ts +10 -10
  132. package/dist/components/legal.d.ts +10 -10
  133. package/dist/components/list.d.ts +2 -1
  134. package/dist/components/list.js +4 -5
  135. package/dist/components/list.js.map +1 -1
  136. package/dist/components/money-field.d.ts +10 -10
  137. package/dist/components/month-picker.js +54 -44
  138. package/dist/components/month-picker.js.map +1 -1
  139. package/dist/components/multi-entity-combobox.d.ts +3 -2
  140. package/dist/components/multi-entity-combobox.js.map +1 -1
  141. package/dist/components/number-field.d.ts +10 -10
  142. package/dist/components/number-input.d.ts +10 -10
  143. package/dist/components/numpad-sheet.d.ts +10 -10
  144. package/dist/components/numpad-sheet.js +2 -2
  145. package/dist/components/numpad-sheet.js.map +1 -1
  146. package/dist/components/phone-input.d.ts +10 -10
  147. package/dist/components/row-actions.d.ts +5 -5
  148. package/dist/components/row-actions.js +130 -32
  149. package/dist/components/row-actions.js.map +1 -1
  150. package/dist/components/series-chart.d.ts +10 -10
  151. package/dist/components/settings-fields.d.ts +10 -10
  152. package/dist/components/share-card.d.ts +7 -7
  153. package/dist/components/share-card.js +26 -10
  154. package/dist/components/share-card.js.map +1 -1
  155. package/dist/components/status-dot.d.ts +1 -0
  156. package/dist/components/status-dot.js +2 -2
  157. package/dist/components/status-dot.js.map +1 -1
  158. package/dist/components/swatch-picker.d.ts +2 -1
  159. package/dist/components/swatch-picker.js.map +1 -1
  160. package/dist/components/swipeable-row.d.ts +88 -17
  161. package/dist/components/swipeable-row.js +46 -9
  162. package/dist/components/swipeable-row.js.map +1 -1
  163. package/dist/components/switch.d.ts +2 -1
  164. package/dist/components/switch.js.map +1 -1
  165. package/dist/components/table.d.ts +2 -1
  166. package/dist/components/table.js +6 -0
  167. package/dist/components/table.js.map +1 -1
  168. package/dist/components/text-link.d.ts +9 -9
  169. package/dist/components/time-input.d.ts +10 -10
  170. package/dist/components/toggle-group.d.ts +2 -1
  171. package/dist/components/toggle-group.js +1 -1
  172. package/dist/components/toggle-group.js.map +1 -1
  173. package/dist/components/translation-review-editor.d.ts +4 -0
  174. package/dist/components/translation-review-editor.js +4 -3
  175. package/dist/components/translation-review-editor.js.map +1 -1
  176. package/dist/components/translation-review-parts.d.ts +1 -0
  177. package/dist/components/translation-review.d.ts +1 -0
  178. package/dist/components/translation-review.js +15 -18
  179. package/dist/components/translation-review.js.map +1 -1
  180. package/dist/components/ui.d.ts +9 -9
  181. package/dist/components/ui.js +47 -27
  182. package/dist/components/ui.js.map +1 -1
  183. package/dist/components/use-table-state.d.ts +12 -1
  184. package/dist/components/user-avatar.d.ts +1 -0
  185. package/dist/components/write-lock.d.ts +101 -13
  186. package/dist/components/write-lock.js +37 -13
  187. package/dist/components/write-lock.js.map +1 -1
  188. package/dist/{data-table-labels-kpAAVi6g.d.ts → data-table-labels-BJ5JE_X2.d.ts} +17 -0
  189. package/dist/data-table.d.ts +12 -1
  190. package/dist/{delete-account-setting-Dy4kJgUm.d.ts → delete-account-setting-DiPX4Vue.d.ts} +355 -41
  191. package/dist/feedback/feedback-attachment.d.ts +10 -10
  192. package/dist/feedback/feedback-attachment.js +7 -7
  193. package/dist/feedback/feedback-attachment.js.map +1 -1
  194. package/dist/feedback/feedback-context.d.ts +10 -10
  195. package/dist/feedback/feedback-crash.d.ts +10 -10
  196. package/dist/feedback/feedback-dialog.d.ts +10 -10
  197. package/dist/feedback/feedback-inbox.d.ts +9 -9
  198. package/dist/feedback/feedback-inbox.js +7 -3
  199. package/dist/feedback/feedback-inbox.js.map +1 -1
  200. package/dist/feedback/feedback-labels.d.ts +10 -10
  201. package/dist/feedback/feedback-menu.d.ts +3 -3
  202. package/dist/feedback/feedback-record.d.ts +10 -10
  203. package/dist/feedback/feedback-row-detail.d.ts +10 -10
  204. package/dist/feedback/feedback-row-detail.js.map +1 -1
  205. package/dist/feedback/feedback-status-undo.d.ts +10 -10
  206. package/dist/feedback/feedback-submit.d.ts +10 -10
  207. package/dist/feedback/feedback-swipe.d.ts +10 -10
  208. package/dist/feedback/feedback-swipe.js +3 -6
  209. package/dist/feedback/feedback-swipe.js.map +1 -1
  210. package/dist/feedback/feedback-table.d.ts +10 -10
  211. package/dist/feedback/feedback-table.js.map +1 -1
  212. package/dist/feedback/feedback-thread.d.ts +10 -10
  213. package/dist/feedback.d.ts +10 -10
  214. package/dist/hooks/use-file-drop.d.ts +10 -10
  215. package/dist/i18n/defaults.d.ts +10 -10
  216. package/dist/i18n/defaults.js +2 -0
  217. package/dist/i18n/defaults.js.map +1 -1
  218. package/dist/i18n/german.d.ts +10 -10
  219. package/dist/i18n/german.js +34 -1
  220. package/dist/i18n/german.js.map +1 -1
  221. package/dist/i18n/kit-labels.d.ts +4 -4
  222. package/dist/i18n/kit-labels.js.map +1 -1
  223. package/dist/i18n/languages.d.ts +10 -10
  224. package/dist/i18n/locales/de-CH.d.ts +10 -10
  225. package/dist/i18n/locales/en.d.ts +10 -10
  226. package/dist/i18n/locales/es.d.ts +10 -10
  227. package/dist/i18n/locales/es.js +34 -1
  228. package/dist/i18n/locales/es.js.map +1 -1
  229. package/dist/i18n/locales/fr.d.ts +10 -10
  230. package/dist/i18n/locales/fr.js +35 -1
  231. package/dist/i18n/locales/fr.js.map +1 -1
  232. package/dist/i18n/locales/hu.d.ts +10 -10
  233. package/dist/i18n/locales/hu.js +36 -1
  234. package/dist/i18n/locales/hu.js.map +1 -1
  235. package/dist/i18n/locales/it.d.ts +10 -10
  236. package/dist/i18n/locales/it.js +34 -1
  237. package/dist/i18n/locales/it.js.map +1 -1
  238. package/dist/i18n/locales/zh.d.ts +10 -10
  239. package/dist/i18n/locales/zh.js +34 -1
  240. package/dist/i18n/locales/zh.js.map +1 -1
  241. package/dist/i18n/review.d.ts +10 -10
  242. package/dist/i18n/review.js +8 -1
  243. package/dist/i18n/review.js.map +1 -1
  244. package/dist/index.d.ts +10 -5
  245. package/dist/index.js +40 -2
  246. package/dist/index.js.map +1 -1
  247. package/dist/landing/landing-actions.d.ts +10 -10
  248. package/dist/landing/landing-sections.d.ts +10 -10
  249. package/dist/landing/public-header.d.ts +10 -10
  250. package/dist/landing/routing.d.ts +10 -10
  251. package/dist/pay/.well-known/apple-developer-merchantid-domain-association +1 -0
  252. package/dist/pay/index.html +30 -0
  253. package/dist/pay/pay.css +126 -0
  254. package/dist/pay/pay.js +198 -0
  255. package/dist/rhf/fields.d.ts +10 -10
  256. package/dist/rhf/form.d.ts +10 -10
  257. package/dist/rhf.d.ts +10 -10
  258. package/dist/settings/settings-section.d.ts +10 -10
  259. package/dist/shell/app-shell.d.ts +9 -9
  260. package/dist/shell/top-bar-brand.d.ts +10 -10
  261. package/dist/shell/topbar-action-menu.d.ts +1 -0
  262. package/dist/shell.d.ts +10 -10
  263. package/dist/testing/css-variables.d.ts +74 -0
  264. package/dist/testing/css-variables.generated.d.ts +7 -0
  265. package/dist/testing/css-variables.generated.js +8 -0
  266. package/dist/testing/css-variables.generated.js.map +1 -0
  267. package/dist/testing/css-variables.js +93 -0
  268. package/dist/testing/css-variables.js.map +1 -0
  269. package/dist/testing/index.d.ts +1 -0
  270. package/dist/testing/index.js +12 -0
  271. package/dist/testing/index.js.map +1 -0
  272. package/dist/theme/contrast-tokens.d.ts +44 -1
  273. package/dist/theme/contrast-tokens.js +21 -0
  274. package/dist/theme/contrast-tokens.js.map +1 -1
  275. package/dist/theme/contrast.d.ts +2 -2
  276. package/dist/theme/palette-derive.js +60 -11
  277. package/dist/theme/palette-derive.js.map +1 -1
  278. package/dist/theme/palette-presets.js +45 -43
  279. package/dist/theme/palette-presets.js.map +1 -1
  280. package/dist/wizard/stepper-nav.d.ts +11 -11
  281. package/dist/wizard/stepper-nav.js.map +1 -1
  282. package/dist/wizard.d.ts +10 -10
  283. package/package.json +10 -2
  284. package/src/account/delete-account-setting.tsx +6 -1
  285. package/src/account/email-change-setting.tsx +9 -3
  286. package/src/account/sessions-setting.tsx +7 -2
  287. package/src/admin/admin-action-confirm.tsx +2 -1
  288. package/src/admin/invitations-panel.tsx +9 -3
  289. package/src/admin/plan-change.tsx +459 -0
  290. package/src/admin/reviewer-scope-editor.tsx +2 -1
  291. package/src/admin/role-select.tsx +2 -1
  292. package/src/admin/user-roster.tsx +5 -3
  293. package/src/auth/auth-errors.ts +25 -2
  294. package/src/auth/complete-name-dialog.tsx +6 -2
  295. package/src/billing/billing-banner.tsx +3 -1
  296. package/src/billing/billing-labels.ts +45 -0
  297. package/src/billing/billing-lock.ts +36 -3
  298. package/src/billing/billing-overview.ts +58 -0
  299. package/src/billing/checkout-processing.ts +391 -0
  300. package/src/billing/checkout-return.ts +90 -0
  301. package/src/billing/pay-page.ts +242 -0
  302. package/src/billing/plan-limit-toast.tsx +91 -0
  303. package/src/billing/subscription-actions.tsx +41 -8
  304. package/src/components/account-settings.tsx +6 -2
  305. package/src/components/autocomplete.tsx +5 -2
  306. package/src/components/button-group.tsx +4 -1
  307. package/src/components/calculator.tsx +10 -6
  308. package/src/components/checkbox-group.tsx +2 -2
  309. package/src/components/checkbox.tsx +2 -1
  310. package/src/components/chip.tsx +37 -32
  311. package/src/components/choice-card.tsx +4 -2
  312. package/src/components/combobox.tsx +4 -4
  313. package/src/components/confirm-dialog.tsx +13 -6
  314. package/src/components/country-select.tsx +2 -2
  315. package/src/components/danger-confirm.tsx +2 -2
  316. package/src/components/data-table.tsx +20 -9
  317. package/src/components/date-picker.tsx +10 -7
  318. package/src/components/entity-combobox.tsx +3 -3
  319. package/src/components/field-parts.tsx +61 -14
  320. package/src/components/file-button.tsx +5 -4
  321. package/src/components/file-dropzone.tsx +2 -2
  322. package/src/components/floating-panel.tsx +7 -5
  323. package/src/components/form-actions.tsx +12 -5
  324. package/src/components/inline-edit-field.tsx +13 -13
  325. package/src/components/list.tsx +10 -9
  326. package/src/components/month-picker.tsx +8 -2
  327. package/src/components/multi-entity-combobox.tsx +3 -3
  328. package/src/components/numpad-sheet.tsx +8 -4
  329. package/src/components/row-actions.tsx +208 -58
  330. package/src/components/share-card.tsx +67 -13
  331. package/src/components/status-dot.tsx +7 -7
  332. package/src/components/swatch-picker.tsx +2 -2
  333. package/src/components/swipeable-row.tsx +138 -27
  334. package/src/components/switch.tsx +2 -1
  335. package/src/components/table.tsx +8 -1
  336. package/src/components/toggle-group.tsx +5 -3
  337. package/src/components/translation-review-editor.tsx +8 -3
  338. package/src/components/translation-review.tsx +18 -22
  339. package/src/components/ui.tsx +92 -43
  340. package/src/components/write-lock.tsx +150 -24
  341. package/src/feedback/feedback-attachment.tsx +13 -9
  342. package/src/feedback/feedback-inbox.tsx +10 -6
  343. package/src/feedback/feedback-row-detail.tsx +3 -2
  344. package/src/feedback/feedback-swipe.tsx +6 -11
  345. package/src/feedback/feedback-table.tsx +2 -1
  346. package/src/i18n/defaults.ts +2 -0
  347. package/src/i18n/german.ts +38 -0
  348. package/src/i18n/kit-labels.tsx +4 -0
  349. package/src/i18n/locales/es.ts +34 -0
  350. package/src/i18n/locales/fr.ts +39 -0
  351. package/src/i18n/locales/hu.ts +37 -0
  352. package/src/i18n/locales/it.ts +35 -0
  353. package/src/i18n/locales/zh.ts +33 -0
  354. package/src/i18n/review.ts +7 -0
  355. package/src/index.ts +48 -4
  356. package/src/testing/css-variables.generated.ts +112 -0
  357. package/src/testing/css-variables.ts +191 -0
  358. package/src/testing/index.ts +13 -0
  359. package/src/theme/contrast-tokens.ts +53 -2
  360. package/src/theme/palette-derive.ts +87 -10
  361. package/src/theme/palette-presets.ts +45 -43
  362. package/src/wizard/stepper-nav.tsx +2 -1
  363. package/tokens.css +306 -46
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentPropsWithoutRef, ReactNode, ReactElement, RefObject, Ref, ButtonHTMLAttributes, MouseEvent, AnchorHTMLAttributes, SelectHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes } from 'react';
3
3
  import { TooltipSide } from './components/tooltip.js';
4
- import { d as DataTableColumn, f as DataTableLabels } from './data-table-labels-kpAAVi6g.js';
4
+ import { d as DataTableColumn, f as DataTableLabels } from './data-table-labels-BJ5JE_X2.js';
5
5
  import { MiniCalendarLabels, WeekDay } from './components/mini-calendar.js';
6
6
  import { CalendarHeatmapLabels } from './components/calendar-heatmap.js';
7
7
  import { PopoverLabels } from './components/popover.js';
@@ -22,6 +22,7 @@ import { PasswordStrengthLabels } from './components/password-strength.js';
22
22
  import { SwatchPickerLabels } from './components/swatch-picker.js';
23
23
  import { IconPickerLabels } from './components/icon-picker.js';
24
24
  import { DialogFrameProps, DialogFrameLabels } from './components/dialog-frame.js';
25
+ import { CommitScope, WriteLockLabels } from './components/write-lock.js';
25
26
  import { MeasuredGridLabels } from './components/measured-grid.js';
26
27
  import { LucideIcon } from 'lucide-react';
27
28
  import { UserAvatarBadge } from './components/user-avatar.js';
@@ -41,7 +42,6 @@ import { ErrorBoundaryLabels } from './components/error-boundary.js';
41
42
  import { AuthedImageLabels } from './components/authed-image.js';
42
43
  import { ImageGridLabels } from './components/image-grid.js';
43
44
  import { LightboxLabels } from './components/lightbox.js';
44
- import { WriteLockLabels } from './components/write-lock.js';
45
45
  import { SignInLabels } from './auth/sign-in-form.js';
46
46
  import { LanguageOption } from './shell/topbar-controls.js';
47
47
  import { CompleteNameLabels } from './auth/complete-name-dialog.js';
@@ -289,7 +289,7 @@ interface FileButtonProps extends Omit<UseFilePickerOptions, "disabled">, Omit<B
289
289
  * one: no effect. A picker that only fills a form the user saves later is not a
290
290
  * commit, and is left live — the form's Save carries the lock.
291
291
  */
292
- commit?: boolean;
292
+ commit?: CommitScope;
293
293
  }
294
294
  /**
295
295
  * {@link useFilePicker} behind a {@link Button}: `variant` and every other button prop
@@ -779,7 +779,7 @@ interface FeedbackAttachmentFieldRefsProps extends FeedbackAttachmentFieldBasePr
779
779
  * with the lock's reason, which wins over one of its own. No provider, or an unlocked
780
780
  * one: no effect.
781
781
  */
782
- commit?: boolean;
782
+ commit?: CommitScope;
783
783
  /**
784
784
  * Why no file can be added or removed — the write lock's sentence, a quota, a thread
785
785
  * closed to replies. Unlike `disabled`, it SAYS so, the kit's commit-control way: the
@@ -1008,7 +1008,7 @@ declare function FeedbackStatusTransitions({ status, statuses, canEdit, onPick,
1008
1008
  * every app's lock is about (keksdose's shell lock is a read-only demo BUDGET, and a
1009
1009
  * report is not budget data).
1010
1010
  */
1011
- commit?: boolean;
1011
+ commit?: CommitScope;
1012
1012
  /** Why the statuses cannot be changed right now, the same way (a lock's own reason
1013
1013
  * wins over it). Only read while `canEdit`: a read-only row is a picture of the
1014
1014
  * workflow, not a refused action. */
@@ -1077,7 +1077,7 @@ declare function FeedbackNoteEditor({ initial, pending, onSave, onCancel, saveLa
1077
1077
  /** Save COMMITS (0.27.0): under a locked `WriteLockProvider` it is disabled the
1078
1078
  * `disabledReason` way, with the lock's reason, and Ctrl/⌘+Enter saves nothing. The
1079
1079
  * text box stays editable — nothing in it reaches the server until the save. */
1080
- commit?: boolean;
1080
+ commit?: CommitScope;
1081
1081
  }): react.JSX.Element;
1082
1082
  /** What {@link FeedbackNoteEditor} needs in order to offer a picture with the
1083
1083
  * note: the same things {@link FeedbackAttachmentField} takes, so the reply path is
@@ -2231,7 +2231,7 @@ interface FeedbackColumnsOptions {
2231
2231
  /** The status buttons SAVE when pressed: pass `true` to put them under the page's
2232
2232
  * `WriteLockProvider` (FeedbackStatusTransitions' `commit`). Off by default — a
2233
2233
  * feedback inbox is rarely what an app's lock is about. */
2234
- commit?: boolean;
2234
+ commit?: CommitScope;
2235
2235
  labels: FeedbackPageLabels;
2236
2236
  statusLabels: FeedbackStatusLabels;
2237
2237
  categoryLabels: FeedbackCategoryLabels;
@@ -2570,7 +2570,7 @@ interface FeedbackReworkSectionProps {
2570
2570
  * `feedbackToast` refusals, the `feedbackAttachment` words. */
2571
2571
  attachment?: Partial<FeedbackNoteAttachment>;
2572
2572
  /** The send COMMITS — see `FeedbackNoteEditor`'s `commit`. */
2573
- commit?: boolean;
2573
+ commit?: CommitScope;
2574
2574
  labels?: Partial<FeedbackDetailLabels>;
2575
2575
  }
2576
2576
  /**
@@ -2633,7 +2633,7 @@ interface FeedbackRowDetailProps {
2633
2633
  * reaches `onUpdate`. Off by default — keksdose's shell lock is a read-only demo
2634
2634
  * BUDGET, and a person viewing one still owns their own reports.
2635
2635
  */
2636
- commit?: boolean;
2636
+ commit?: CommitScope;
2637
2637
  /**
2638
2638
  * Open with the subject: the category badge and the title (feedback contract §8.1,
2639
2639
  * keksdose live #395). On by default; `false` for a page that already shows the title
@@ -2740,8 +2740,12 @@ interface ConfirmOptions {
2740
2740
  * host sits — it is `aria-disabled` with the lock's reason, so a read-only page (a
2741
2741
  * demo, a viewer's budget) can't confirm a delete through a dialog. One prop for the
2742
2742
  * many confirm sites an app has (kastlan's 0.31 adoption counted ~23).
2743
+ *
2744
+ * 0.33: a {@link CommitScope} — `confirm({ commit: COMMIT_EXCEPT_BILLING })` for a
2745
+ * confirm a lapsed plan still allows (removing access, the account's own settings;
2746
+ * docs/billing-harmonization.md §12.36).
2743
2747
  */
2744
- commit?: boolean;
2748
+ commit?: CommitScope;
2745
2749
  }
2746
2750
  type ConfirmFn = (options: ConfirmOptions) => Promise<boolean>;
2747
2751
  /**
@@ -3027,8 +3031,11 @@ interface FormActionsProps extends Omit<ComponentPropsWithoutRef<"div">, "childr
3027
3031
  * keksdose wrote `submitDisabled={lock.locked || …}` and
3028
3032
  * `submitDisabledReason={lock.locked ? lock.reason : undefined}` at each form; this is
3029
3033
  * that pair, read from the provider.
3034
+ *
3035
+ * 0.33: a {@link CommitScope} — `COMMIT_EXCEPT_BILLING` for a form a lapsed plan still
3036
+ * allows (the account's own settings, docs/billing-harmonization.md §12.36).
3030
3037
  */
3031
- commit?: boolean;
3038
+ commit?: CommitScope;
3032
3039
  /** The save button's variant. Default `brand`; `danger` for a save that destroys
3033
3040
  * (kastlan's `destructive` flag on its own FormActions). */
3034
3041
  submitVariant?: ButtonVariant;
@@ -3897,7 +3904,15 @@ declare function RegisterForm({ onSubmit, emailTag, invitedEmail, defaultEmail,
3897
3904
  *
3898
3905
  * The data is the roster's `UserRowActionList`, generalised: entries, and `false` /
3899
3906
  * `null` for the ones a condition left out (`row.locked || {…}`).
3907
+ *
3908
+ * 0.33 (§10.16): an action carries its state at both sizes — a toggle (`pressed`), a
3909
+ * disclosure (`expanded`, `controls`), a tone, a tour anchor (`dataTour`) — so a row
3910
+ * with an "on" share button or a tour step no longer keeps hand-rolled IconButtons at
3911
+ * Normal and this only at Large (keksdose k15).
3900
3912
  */
3913
+ /** An action's colour: IconButton's tone inline; in the menu the glyph takes it and the
3914
+ * words keep the text colour, except `danger`, whose words are the danger text. */
3915
+ type RowActionTone = "default" | "muted" | "info" | "warning" | "danger";
3901
3916
  /** One action of a row. */
3902
3917
  interface RowAction {
3903
3918
  /** React key. Default: the label. */
@@ -3929,9 +3944,15 @@ interface RowAction {
3929
3944
  * without one is a small text button; in the menu it is the words alone.
3930
3945
  */
3931
3946
  icon?: LucideIcon | ReactElement;
3932
- /** `danger` for delete, revoke, erase: the quiet red of IconButton's `tone="danger"`
3933
- * inline, the danger text tone in the menu. */
3934
- tone?: "default" | "danger";
3947
+ /**
3948
+ * `danger` for delete, revoke, erase: the quiet red of IconButton's `tone="danger"`
3949
+ * inline, the danger text tone in the menu. `muted` (an open or add that should not
3950
+ * compete), `info` (a notice-worthy, harmless action: keksdose's reconcile) and
3951
+ * `warning` (a flag that wants attention): IconButton's tone inline; in the menu the
3952
+ * glyph takes it and the words keep the text colour, so `muted` looks like `default`
3953
+ * there (0.33).
3954
+ */
3955
+ tone?: RowActionTone;
3935
3956
  /** Why it is not available for this row. It stays listed, focusable, and says so — an
3936
3957
  * action that silently vanished would leave the reader looking for it. */
3937
3958
  disabledReason?: ReactNode;
@@ -3940,7 +3961,7 @@ interface RowAction {
3940
3961
  * {@link WriteLockProvider} it is refused with the lock's reason, as {@link Button}'s
3941
3962
  * `commit` is, inline and in the menu alike. No provider, or an unlocked one: no effect.
3942
3963
  */
3943
- commit?: boolean;
3964
+ commit?: CommitScope;
3944
3965
  /**
3945
3966
  * In flight — the request it started has not answered. Inline, the icon turns into
3946
3967
  * IconButton's spinner (`pending`); collapsed, the "⋯" button does, since the menu
@@ -3956,6 +3977,33 @@ interface RowAction {
3956
3977
  disabled?: boolean;
3957
3978
  /** Leave it out for this row. */
3958
3979
  hidden?: boolean;
3980
+ /**
3981
+ * A toggle (0.33): `aria-pressed` and IconButton's "on" look inline, `aria-pressed` on
3982
+ * the menu entry. Keep the label the same in both states ("Share budget"): the pressed
3983
+ * state already says whether it is on. Not on an `href` action — a link is not a
3984
+ * toggle — nor with `expanded`.
3985
+ */
3986
+ pressed?: boolean;
3987
+ /**
3988
+ * Opens or closes something IN THE PAGE (0.33) — a share card under the row, an
3989
+ * add-category row: `aria-expanded`, inline and on the menu entry. Not with `pressed`:
3990
+ * a disclosure says open, not on. Not on an `href` action.
3991
+ */
3992
+ expanded?: boolean;
3993
+ /** The `id` of what `expanded` opens: `aria-controls`, inline and on the menu entry. */
3994
+ controls?: string;
3995
+ /**
3996
+ * A tour anchor (0.33, §10.18): `data-tour` on ONE element per action at a time.
3997
+ * Inline, on the action's own control (the IconButton, the small text button, the
3998
+ * link). Collapsed, on an `aria-hidden` box laid over the "⋯" button — `[data-tour=x]`
3999
+ * resolves to a box the size of the "⋯", whose `data-slot="row-actions"` box holds the
4000
+ * button, two anchored actions in one row don't fight over one attribute, and a tap
4001
+ * still reaches the button. Never on the entry in the open menu: the kit's tour takes
4002
+ * the first visible match and the menu is portalled after the row, so a copy there
4003
+ * would never be found, only make the selector match twice. The kit's name for it, as
4004
+ * `AppShellNavItem.dataTour`.
4005
+ */
4006
+ dataTour?: string;
3959
4007
  }
3960
4008
  /** What a row's actions may be: entries, and `false` / `null` / `undefined` for the ones
3961
4009
  * a condition left out. */
@@ -3993,8 +4041,14 @@ interface RowActionsProps {
3993
4041
  size?: RowActionsSize;
3994
4042
  /** The menu's width. Default `"15rem"`, in rem so it grows with the words (§3.2). */
3995
4043
  menuWidth?: `${number}rem`;
3996
- /** On the wrapper: the inline strip, or the "⋯" button's box. */
4044
+ /** On the wrapper: the inline strip, or the box round the "⋯" button. */
3997
4045
  className?: string;
4046
+ /** The inline glyphs' size, IconButton's `glyphSize` — e.g. 14 in a dense header strip
4047
+ * (keksdose's category group header). The "⋯" button keeps its box's own. */
4048
+ glyphSize?: IconButtonGlyphSize;
4049
+ /** The inline tooltips' side, IconButton's `tooltipSide` — `"start"` for a table's last
4050
+ * column, so a bubble does not run off the row's end. Per row: every inline action. */
4051
+ tooltipSide?: TooltipSide;
3998
4052
  labels?: Partial<RowActionsLabels>;
3999
4053
  }
4000
4054
  /**
@@ -4013,7 +4067,7 @@ interface RowActionsProps {
4013
4067
  * press close it, and focus goes back to the "⋯" button, which is where a confirmation
4014
4068
  * dialog then returns it.
4015
4069
  */
4016
- declare function RowActions({ actions, name, collapse, size, menuWidth, className, labels: labelsProp, }: RowActionsProps): react.JSX.Element | null;
4070
+ declare function RowActions({ actions, name, collapse, size, menuWidth, className, glyphSize, tooltipSide, labels: labelsProp, }: RowActionsProps): react.JSX.Element | null;
4017
4071
  interface RowActionsColumnOptions<T> {
4018
4072
  /** The column's key. Default `"actions"`. */
4019
4073
  key?: string;
@@ -4025,6 +4079,10 @@ interface RowActionsColumnOptions<T> {
4025
4079
  collapse?: RowActionsCollapse;
4026
4080
  /** Default `xs`. */
4027
4081
  size?: RowActionsSize;
4082
+ /** See {@link RowActionsProps.glyphSize}. */
4083
+ glyphSize?: IconButtonGlyphSize;
4084
+ /** See {@link RowActionsProps.tooltipSide} — `"start"` in a table's last column. */
4085
+ tooltipSide?: TooltipSide;
4028
4086
  /**
4029
4087
  * The column's name as plain text — the column-settings checklist and the phone
4030
4088
  * card's label read it (`DataTableColumn.headerText`). Pass the app's own word; left
@@ -4048,7 +4106,7 @@ interface RowActionsColumnOptions<T> {
4048
4106
  * set `column: { mobileHidden: true }` to drop it there (with `mobileDetailsInRow` it
4049
4107
  * then shows in the opened row instead).
4050
4108
  */
4051
- declare function rowActionsColumn<T>({ key, actions, name, collapse, size, headerText, labels, column, }: RowActionsColumnOptions<T>): DataTableColumn<T>;
4109
+ declare function rowActionsColumn<T>({ key, actions, name, collapse, size, glyphSize, tooltipSide, headerText, labels, column, }: RowActionsColumnOptions<T>): DataTableColumn<T>;
4052
4110
 
4053
4111
  /**
4054
4112
  * The role of an account, chosen by an admin (docs/user-admin-harmonization.md §3.3,
@@ -4165,7 +4223,7 @@ interface RolesEditorProps<R extends string = string> {
4165
4223
  error?: ReactNode;
4166
4224
  columns?: 1 | 2 | 3 | 4;
4167
4225
  /** The editor SAVES on change — the write lock's opt-in (CheckboxGroup's `commit`). */
4168
- commit?: boolean;
4226
+ commit?: CommitScope;
4169
4227
  className?: string;
4170
4228
  labels?: Partial<RoleSelectLabels>;
4171
4229
  }
@@ -4303,7 +4361,9 @@ interface UserIdentityCellProps {
4303
4361
  * — the cell both rosters drew by hand. An account with no name yet (a migrated row
4304
4362
  * before `CompleteNameDialog`, an invitee) shows its address once, as the name.
4305
4363
  *
4306
- * Both lines carry `data-private`, so keksdose's demo blur reaches them.
4364
+ * Both lines carry `data-private`, so keksdose's demo blur reaches them, and both end
4365
+ * in "…" at Normal only: from Large up they wrap (`truncate-until-large`, 0.33,
4366
+ * docs/text-size-harmonization.md §10.17), since a cut name or address is a finding there.
4307
4367
  */
4308
4368
  declare function UserIdentityCell({ person, name, email, avatar, badge, locale: localeProp, className, }: UserIdentityCellProps): react.JSX.Element;
4309
4369
  /** One entry of a row's action menu (§4) — the kit's {@link RowAction} since 0.32,
@@ -4479,7 +4539,7 @@ interface ReviewerScopeEditorProps {
4479
4539
  /** Columns for the languages from `sm` up. Default 2 (Kurvenschmiede's dialog). */
4480
4540
  columns?: 1 | 2 | 3 | 4;
4481
4541
  /** Save COMMITS: under a locked `WriteLockProvider` it is held with the lock's reason. */
4482
- commit?: boolean;
4542
+ commit?: CommitScope;
4483
4543
  labels?: Partial<ReviewerScopeLabels>;
4484
4544
  }
4485
4545
  declare function ReviewerScopeEditor({ value, onSave, onCancel, languages, areas: areasProp, disabledReason, describeError, intro, columns, commit, labels: labelsProp, }: ReviewerScopeEditorProps): react.JSX.Element;
@@ -4609,7 +4669,7 @@ interface AdminActionConfirmProps {
4609
4669
  open?: boolean;
4610
4670
  /** The confirm COMMITS: under a locked `WriteLockProvider` it is held with the lock's
4611
4671
  * reason. Off by default — an admin action is not a write to the open record. */
4612
- commit?: boolean;
4672
+ commit?: CommitScope;
4613
4673
  labels?: Partial<AdminActionLabels>;
4614
4674
  }
4615
4675
  declare function AdminActionConfirm({ level, target, confirmLabel, title, consequence, acknowledgeLabel, tone: toneProp, onConfirm, onClose, onRemoveFromCompany, describeError, error: errorProp, busy: busyProp, children, confirmDisabledReason, open, commit, labels: labelsProp, }: AdminActionConfirmProps): react.JSX.Element | null;
@@ -4715,6 +4775,11 @@ declare function TransferOwnershipDialog({ from, candidates, summary, onTransfer
4715
4775
  * `revoked`; the status chip simply never says it (§5).
4716
4776
  *
4717
4777
  * It never sends a request: `onInvite`, `onResend` and `onRevoke` do.
4778
+ *
4779
+ * Under a write lock, inviting and resending are refused; a lapsed plan's lock (`kind:
4780
+ * "billing"`) still lets an invitation be revoked, since removing access is what a
4781
+ * lapsed plan allows (docs/billing-harmonization.md §12.13, §12.36). A demo lock refuses
4782
+ * all three.
4718
4783
  */
4719
4784
  type InvitationStatus = "open" | "accepted" | "expired" | "revoked";
4720
4785
  /** One row of `GET /admin/invitations` (§5), in the wire's own field names. */
@@ -4956,6 +5021,13 @@ interface BillingLabels {
4956
5021
  usage: (used: string, limit: string) => string;
4957
5022
  /** The subject of the `contact` mail; `dimension` is the app's name for it ("Budgets"). */
4958
5023
  contactSubject: (dimension: string) => string;
5024
+ /**
5025
+ * The figure line of the limit's toast (`usePlanLimitToast`, §14.11) and of an
5026
+ * operator's plan change over the new limit (§14.12): "Budgets: 3 of 3". A key of its
5027
+ * own rather than `${dimension}: ${usage}`, because French puts a space before the
5028
+ * colon. Both figures are formatted already.
5029
+ */
5030
+ limitUsageLine: (dimension: string, used: string, limit: string) => string;
4959
5031
  /** The portal: payment method and invoices (§2.8, the provider hosts both). */
4960
5032
  manage: string;
4961
5033
  /**
@@ -4964,6 +5036,20 @@ interface BillingLabels {
4964
5036
  * as unambiguously — a translator should use exactly that.
4965
5037
  */
4966
5038
  cancel: string;
5039
+ /**
5040
+ * In place of both while the payer hasn't reached the provider (the overview's
5041
+ * `at_provider` is false, §14.5): there is no customer to open a portal for yet. Also
5042
+ * the words for `409 billing_not_at_provider`, a stale page that asked anyway.
5043
+ */
5044
+ notAtProvider: string;
5045
+ /** While the checkout opens. */
5046
+ payOpening: string;
5047
+ /** A link without a transaction, or billing switched off: nothing to pay. */
5048
+ payNothing: string;
5049
+ /** Paddle's script didn't load, or the page's configuration is wrong. */
5050
+ payFailed: string;
5051
+ /** The buyer closed the checkout without paying. */
5052
+ payBack: string;
4967
5053
  /** Changes refused as `billing_read_only` inside a sync reply, kept queued and sent
4968
5054
  * after payment: "3 changes waiting for a plan". */
4969
5055
  waitingChanges: (count: number) => string;
@@ -4980,12 +5066,226 @@ interface BillingLabels {
4980
5066
  /** `billing_disabled`: billing is switched off on this server (§2.9), for a page or a
4981
5067
  * link that reached it anyway. */
4982
5068
  disabled: string;
5069
+ /** `billing_provider_unavailable` (502): the provider didn't answer. Try again. */
5070
+ providerUnavailable: string;
5071
+ /** `billing_already_subscribed` (409): a second checkout while a subscription runs
5072
+ * (§14.6) — plan changes go through the portal. */
5073
+ alreadySubscribed: string;
5074
+ /** `billing_plan_not_sold` (422): the catalogue doesn't sell this plan with that
5075
+ * period or currency. */
5076
+ planNotSold: string;
4983
5077
  }
4984
5078
  declare const DEFAULT_BILLING_LABELS: BillingLabels;
4985
5079
  /** The `billing` namespace, resolved: English, then the provider, then `labels` — which
4986
5080
  * may be partial at every depth (`{ status: { comped: "Beta" } }`). */
4987
5081
  declare function useBillingLabels(labels?: LabelOverride<BillingLabels>): BillingLabels;
4988
5082
 
5083
+ /**
5084
+ * The operator's plan parts (docs/billing-harmonization.md §14.12, decision 27):
5085
+ * {@link planColumn} for the roster or the companies list, {@link PlanChangeConfirm}
5086
+ * for the grant, and {@link usePlanChangeResult} for what the answer says.
5087
+ *
5088
+ * All three apps have the route (`POST /admin/users/{id}/plan`, kastlan's
5089
+ * `POST /platform/companies/{id}/plan`) and server-kit's `PlanChangeRequest` /
5090
+ * `PlanChangeResponse`; only keksdose had a UI (`users-panel.tsx`, `PlanConfirm` in
5091
+ * `user-admin-confirm.tsx`), and these are its parts, lifted. The plan names are the
5092
+ * app's (§3.1): every part takes `planName` or the plans with their names. The plan
5093
+ * codes come from `GET /admin/plans` (kastlan `GET /platform/plans`), which answers
5094
+ * whatever the billing switch says.
5095
+ */
5096
+ /** The `planChange` namespace: the column, the grant dialog and the result's lines. */
5097
+ interface PlanChangeLabels {
5098
+ /** The column's header: "Plan". */
5099
+ column: string;
5100
+ /** The dialog's title: "Change plan". */
5101
+ title: string;
5102
+ /** Its confirm button: "Change plan". */
5103
+ confirm: string;
5104
+ /** The plan select's label: "Plan". */
5105
+ plan: string;
5106
+ /** The line over the select: "Current plan: Free". */
5107
+ current: (plan: string) => string;
5108
+ /** Under the select — the fact that is not on the button. */
5109
+ keepsItems: string;
5110
+ /** The end of a free grant's field: "Free until". */
5111
+ until: string;
5112
+ /** Under it. */
5113
+ untilHint: string;
5114
+ /** Why the confirm is held while nothing would change. */
5115
+ needsChange: string;
5116
+ /** The result: the plan moved from one to another. */
5117
+ changed: (from: string, to: string) => string;
5118
+ /** The result: an account with no plan before, or the same plan again. */
5119
+ set: (to: string) => string;
5120
+ /** The result: a running beta kept its own end (§12.34); only the plan moved. */
5121
+ keptBeta: string;
5122
+ /** The result: the grant runs until `date` (formatted). */
5123
+ untilDone: (date: string) => string;
5124
+ /** The result: the account owns more than the new plan allows. */
5125
+ overLimit: string;
5126
+ /** The column's usage, spelled out (its tooltip): "1 of 5 budgets". Figures arrive
5127
+ * formatted; `dimension` is the app's word, as `usage` gives it. */
5128
+ usageOf: (used: string, limit: string, dimension: string) => string;
5129
+ }
5130
+ declare const DEFAULT_PLAN_CHANGE_LABELS: PlanChangeLabels;
5131
+ /** What a row's usage is, for the line under its plan: "1/5". */
5132
+ interface PlanColumnUsage {
5133
+ used: number;
5134
+ /** The plan's limit for it; `null` (unlimited, or none known): no line. */
5135
+ limit: number | null;
5136
+ /** The app's word for what is counted, as in "1 of 5 budgets". */
5137
+ label: string;
5138
+ }
5139
+ interface PlanColumnOptions<T> {
5140
+ /** The column's key. Default `"plan"`. */
5141
+ key?: string;
5142
+ /** The row's plan code, read without case (§12.16); null for none. */
5143
+ plan: (row: T) => string | null;
5144
+ /** The plan's display name, the app's (§3.1). Gets the lowercase code. */
5145
+ planName: (code: string) => string;
5146
+ /** The row's standing, as a `SubscriptionStatusChip` beside the name. Left out, or
5147
+ * undefined for a row: no chip — billing off, where a status says nothing. */
5148
+ status?: (row: T) => SubscriptionStatus | undefined;
5149
+ /** The row's usage of its plan's limit: "1/5" under the name, "1 of 5 budgets" in
5150
+ * the tooltip. Undefined for a row, or a `null` limit: no line. */
5151
+ usage?: (row: T) => PlanColumnUsage | undefined;
5152
+ /** A select filter over these codes, each named by `planName`. Left out: none. */
5153
+ filterPlans?: readonly string[];
5154
+ /**
5155
+ * The sort. Default: by the plan code (keksdose's, `users-panel.tsx:739`). A function:
5156
+ * by its value — the catalogue's `sort` for rank order. `false`: not sortable.
5157
+ */
5158
+ sortBy?: false | ((row: T) => string | number | null | undefined);
5159
+ /** The header's text. Default `planChange.column`. */
5160
+ headerText?: string;
5161
+ /** The words, already resolved. Default English; {@link usePlanColumn} reads the
5162
+ * provider's `planChange` namespace. */
5163
+ labels?: Partial<PlanChangeLabels>;
5164
+ }
5165
+ /**
5166
+ * The roster's (or the companies list's) plan column: the plan's display name, the
5167
+ * standing chip beside it while billing is on, and the usage under it — keksdose's
5168
+ * column, `users-panel.tsx:706-745`. Pass it in `userRosterColumns`' `extra`, or in
5169
+ * any `DataTable`'s columns:
5170
+ *
5171
+ * extra: [planColumn<AdminUserRow>({
5172
+ * plan: (u) => u.plan,
5173
+ * planName,
5174
+ * status: billingOn ? (u) => u.subscription?.status : undefined,
5175
+ * usage: (u) => ({ used: u.budgets_owned, limit: u.limits.budgets, label: t("budgets") }),
5176
+ * filterPlans: plans.map((p) => p.code),
5177
+ * })]
5178
+ *
5179
+ * Pure: hand it resolved words, or use {@link usePlanColumn}.
5180
+ */
5181
+ declare function planColumn<T>(options: PlanColumnOptions<T>): DataTableColumn<T>;
5182
+ /**
5183
+ * {@link planColumn} with the `planChange` words from the provider, memoised on the
5184
+ * options — pass stable callbacks (`useCallback`), or the column is rebuilt on every
5185
+ * render.
5186
+ */
5187
+ declare function usePlanColumn<T>(options: PlanColumnOptions<T>): DataTableColumn<T>;
5188
+ /** What {@link PlanChangeConfirmProps.onConfirm} sends: server-kit's
5189
+ * `PlanChangeRequest` without its `acknowledged`, which comes in `values`. */
5190
+ interface PlanChange {
5191
+ /** The picked plan's code. */
5192
+ plan: string;
5193
+ /** The end of the free grant, as ISO UTC — only when one was picked. */
5194
+ comped_until?: string;
5195
+ }
5196
+ interface PlanChangeConfirmProps {
5197
+ /**
5198
+ * Whom it is about — a user (`AdminActionTarget`), or kastlan's company, which has no
5199
+ * address: its name is said instead (the level is `acknowledge`, so nothing is typed).
5200
+ */
5201
+ target: AdminPerson & {
5202
+ email?: string | null;
5203
+ };
5204
+ /** The plans to offer, in the catalogue's order, by their display names (§3.1) — from
5205
+ * `GET /admin/plans`. */
5206
+ plans: readonly {
5207
+ code: string;
5208
+ name: string;
5209
+ }[];
5210
+ /** The account's plan now; null for none. The select opens on it. */
5211
+ current: string | null;
5212
+ /** What the account uses, in the app's sentence: "3 of 5 budgets". */
5213
+ usage?: ReactNode;
5214
+ /** Offer "Free until" — only meaningful while billing is on, where a grant's end
5215
+ * means something to the payer. */
5216
+ grantEnd?: boolean;
5217
+ /**
5218
+ * Sends it: `{plan}`, and `comped_until` only when an end was picked — the END of the
5219
+ * picked day in the operator's time zone, as ISO UTC (a grant "until 31 January" lasts
5220
+ * through it). No end: a grant without one, or on a running beta only the plan moves
5221
+ * and the beta keeps its own end (§12.34). `values.acknowledged` is the body's
5222
+ * `acknowledged`. A promise is handled as `AdminActionConfirm`'s.
5223
+ */
5224
+ onConfirm: (change: PlanChange, values: AdminActionConfirmValues) => MaybePromise$1;
5225
+ onClose: (done: boolean) => void;
5226
+ /** The app's words for a failure the kit has no code for. */
5227
+ describeError?: (error: unknown) => ReactNode | undefined;
5228
+ labels?: Partial<PlanChangeLabels>;
5229
+ }
5230
+ /**
5231
+ * An operator's plan change (§14.12): `AdminActionConfirm` at `acknowledge`, the line
5232
+ * with the current plan and the app's usage sentence, a plan select, and — with
5233
+ * `grantEnd` — the end of a free grant. The confirm is held while nothing would change.
5234
+ *
5235
+ * Exempt from a BILLING lock, built in (`COMMIT_EXCEPT_BILLING`, §12.36): a plan change
5236
+ * is an admin route (§12.13), and the operator's own account or company may be lapsed —
5237
+ * kastlan's review. A demo lock still holds it.
5238
+ */
5239
+ declare function PlanChangeConfirm({ target, plans, current: currentProp, usage, grantEnd, onConfirm, onClose, describeError, labels: labelsProp, }: PlanChangeConfirmProps): react.JSX.Element;
5240
+ /**
5241
+ * A `PlanChangeResponse` as the page reads it — server-kit 0.7's (§14.12), which gained
5242
+ * `previous_plan` nullable, `usage`, `kept_beta` and `comped_until`.
5243
+ */
5244
+ interface PlanChangeOutcome {
5245
+ /** null: the account had no subscription. */
5246
+ previous_plan: string | null;
5247
+ plan: string;
5248
+ over_limit: boolean;
5249
+ /** The new plan's limits; null for unlimited. */
5250
+ limits: Readonly<Record<string, number | null>>;
5251
+ /** What the payer has, per dimension — the figures for the over-limit lines:
5252
+ * `{ budgets: 7 }`. */
5253
+ usage: Readonly<Record<string, number>>;
5254
+ /** A running beta kept its own end (§12.34). */
5255
+ kept_beta?: boolean;
5256
+ /** The grant's end as the change wrote it; null: no end, or no grant. */
5257
+ comped_until?: string | null;
5258
+ }
5259
+ /** A line's tone: the app's toast kind. */
5260
+ type PlanChangeTone = "success" | "info" | "warning";
5261
+ interface PlanChangeLine {
5262
+ tone: PlanChangeTone;
5263
+ text: string;
5264
+ }
5265
+ interface PlanChangeResultOptions {
5266
+ /** The app's word per dimension, for the over-limit figures: `{ budgets: "Budgets" }`.
5267
+ * A dimension without one is named by its key. */
5268
+ dimensionLabels?: Readonly<Record<string, string>>;
5269
+ /** How a figure is written. Default: a number in the kit's locale. */
5270
+ formatValue?: (dimension: string, value: number) => string;
5271
+ }
5272
+ /**
5273
+ * The lines for a plan change's answer, each with its tone, for the app's toasts —
5274
+ * echoing the SERVER's before and after, not what was picked: a toast that reported the
5275
+ * request would say "done" to a write that landed differently (keksdose's rule).
5276
+ *
5277
+ * const lines = usePlanChangeResult();
5278
+ * for (const line of lines(res, planName)) toast[line.tone](line.text);
5279
+ *
5280
+ * - `changed(from, to)`, or `set(to)` with no previous plan (or the same one): success;
5281
+ * - a running beta that kept its end: `keptBeta`, info; else a grant's end:
5282
+ * `untilDone(date)`, success;
5283
+ * - over the new limit: `overLimit`, then one figure line per dimension over it ("Budgets:
5284
+ * 7 of 5", `billing.limitUsageLine`), from `usage` and `limits`: warning. A `null`
5285
+ * limit gives no figure line.
5286
+ */
5287
+ declare function usePlanChangeResult(): (res: PlanChangeOutcome, planName: (code: string) => string, options?: PlanChangeResultOptions) => PlanChangeLine[];
5288
+
4989
5289
  interface AppShellSubItem {
4990
5290
  to: string;
4991
5291
  label: string;
@@ -5309,8 +5609,11 @@ interface ShareAddRequest {
5309
5609
  type MaybePromise = void | Promise<unknown>;
5310
5610
  interface SharePanelProps {
5311
5611
  grantees: ShareGrantee[];
5312
- /** The role vocabulary, in display order. One role: no choice is offered and each
5313
- * row shows its chip. */
5612
+ /** The role vocabulary, in display order, NARROWEST FIRST — viewer, then editor, as
5613
+ * Kurvenschmiede lists them. One role: no choice is offered and each row shows its
5614
+ * chip. The order is what tells a lowering from a raise under a write lock: a lapsed
5615
+ * plan lets a grantee's role be lowered, which removes access, and never raised
5616
+ * (docs/billing-harmonization.md decision 26 as amended, §12.36). */
5314
5617
  roles: ShareRole[];
5315
5618
  pending?: SharePendingGrant[];
5316
5619
  /** Completions for the field. Left out: the field is a plain address field. */
@@ -5804,6 +6107,9 @@ interface UiKitLabels {
5804
6107
  demo: DemoLabels;
5805
6108
  /** 0.32.0: plans, standing, banners and the limit notice (docs/billing-harmonization.md §7). */
5806
6109
  billing: BillingLabels;
6110
+ /** 0.33.0: the operator's plan parts — `planColumn`, `PlanChangeConfirm` and the
6111
+ * lines of `usePlanChangeResult` (docs/billing-harmonization.md §14.12). */
6112
+ planChange: PlanChangeLabels;
5807
6113
  /** 0.32.0: the text-size and contrast settings (docs/text-size-harmonization.md §6). */
5808
6114
  appearance: AppearanceLabels;
5809
6115
  /** 0.32.0: a row's actions folded into a "⋯" menu at Large (text size §10.8). */
@@ -6139,9 +6445,10 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
6139
6445
  * This button COMMITS — it saves, creates, deletes. Under a locked
6140
6446
  * {@link WriteLockProvider} it is disabled the `disabledReason` way, with the lock's
6141
6447
  * reason (which wins over a `disabledReason` of its own). No provider, or an
6142
- * unlocked one: no effect. See {@link WriteLockProvider}.
6448
+ * unlocked one: no effect. See {@link WriteLockProvider}; a {@link CommitScope} since
6449
+ * 0.33 (`COMMIT_EXCEPT_BILLING`: every lock but a lapsed plan's).
6143
6450
  */
6144
- commit?: boolean;
6451
+ commit?: CommitScope;
6145
6452
  /**
6146
6453
  * Busy — the save is in flight: a spinner, `aria-busy`, and no second submit.
6147
6454
  *
@@ -6450,8 +6757,8 @@ interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
6450
6757
  disabledReasonDisplay?: DisabledReasonDisplay;
6451
6758
  /** This action COMMITS — {@link Button}'s `commit`: under a locked
6452
6759
  * {@link WriteLockProvider} it takes the `disabledReason` path with the lock's
6453
- * reason. No effect without a lock. */
6454
- commit?: boolean;
6760
+ * reason. No effect without a lock. A {@link CommitScope} since 0.33. */
6761
+ commit?: CommitScope;
6455
6762
  /** The `<button>` element — a prop in React 19, as on {@link Button}. */
6456
6763
  ref?: Ref<HTMLButtonElement>;
6457
6764
  /** Only on the link form — see {@link IconButtonLinkProps}. */
@@ -6538,7 +6845,7 @@ declare const FIELD_BASE: string;
6538
6845
  * FIELD_BASE is — the two have to cancel on the identical selector or twMerge
6539
6846
  * cannot make the later one win. */
6540
6847
  declare const FIELD_WRITABLE_LOOK = "[&[readonly]]:bg-[var(--bg-surface)] [&[readonly]]:text-[var(--text-primary)]";
6541
- declare const FIELD_FLOATING_PAD = "pt-4 pb-1";
6848
+ declare const FIELD_FLOATING_PAD = "pt-4 pb-1 large:py-2";
6542
6849
  declare const FIELD_INVALID = "border-[var(--danger-border-strong)] ring-1 ring-[var(--danger-border-strong)] focus:border-[var(--danger)] focus:ring-[var(--danger)]";
6543
6850
  declare const FLOATING_INPUT_CLASS: string;
6544
6851
  /** The phone breakpoint at Normal text size, as a media query.
@@ -6786,9 +7093,10 @@ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, "siz
6786
7093
  /**
6787
7094
  * This select COMMITS — choosing saves. Under a locked {@link WriteLockProvider} it is
6788
7095
  * locked the `disabledReason` way with the lock's reason (which wins over its own).
6789
- * No provider, or an unlocked one: no effect. Button's `commit`, for keksdose K3.
7096
+ * No provider, or an unlocked one: no effect. Button's `commit`, for keksdose K3; a
7097
+ * {@link CommitScope} since 0.33.
6790
7098
  */
6791
- commit?: boolean;
7099
+ commit?: CommitScope;
6792
7100
  }
6793
7101
  declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLSelectElement>>;
6794
7102
  interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
@@ -6859,14 +7167,16 @@ interface CardProps extends ComponentPropsWithoutRef<"div"> {
6859
7167
  tone?: CardTone;
6860
7168
  /**
6861
7169
  * How loud the `tone` frame is. `"strong"`: a 2px border in the tone's strong
6862
- * colour — `--danger-border-strong` for `danger`, the tone's own text colour
6863
- * (`--warning`, `--info`, `--success`) for the others, which have no
6864
- * `-border-strong` token of their own. For the one tile on a page that guards
6865
- * something destructive or security-relevant: keksdose's password / delete-account
6866
- * tile (shared/components/password-danger-card.tsx) wrote `toneFrameClass(tone)` over
6867
- * the Card by hand for the 2px rule, and `p-[15px]` under it so the content did not
6868
- * move. Here the extra pixel comes off the padding the same way (`padding` or the
6869
- * variant's own), so a strong card's content sits exactly where a soft one's does.
7170
+ * colour — `--danger-border-strong` for `danger`, `--warning-border-strong` for
7171
+ * `warning` (0.33: amber-600 in dark, where `--warning` stood 13:1 off the card and
7172
+ * shouted; docs/colour-roles-harmonization.md §5.2), the tone's own text colour
7173
+ * (`--info`, `--success`) for the two with no `-border-strong` token of their own.
7174
+ * For the one tile on a page that guards something destructive or security-relevant:
7175
+ * keksdose's password / delete-account tile (shared/components/password-danger-card.tsx)
7176
+ * wrote `toneFrameClass(tone)` over the Card by hand for the 2px rule, and `p-[15px]`
7177
+ * under it so the content did not move. Here the extra pixel comes off the padding the
7178
+ * same way (`padding` or the variant's own), so a strong card's content sits exactly
7179
+ * where a soft one's does.
6870
7180
  *
6871
7181
  * Default `"soft"`: the 1px `-border` it has always been. No effect without `tone`,
6872
7182
  * nor on `inset`, which has no border to make louder (its tone is a fill).
@@ -7649,7 +7959,7 @@ interface DangerConfirmProps extends Omit<ComponentPropsWithoutRef<"div">, "onCh
7649
7959
  * provider no longer threads `lockedReason={lock.locked ? lock.reason : undefined}`
7650
7960
  * into every tile. No provider, or an unlocked one: no effect.
7651
7961
  */
7652
- commit?: boolean;
7962
+ commit?: CommitScope;
7653
7963
  /** Controlled armed state. The parent can then collapse the tile from a mutation's
7654
7964
  * own `onSuccess` without returning a promise. */
7655
7965
  armed?: boolean;
@@ -7810,7 +8120,11 @@ interface DeleteAccountSettingProps extends Omit<ComponentPropsWithoutRef<"div">
7810
8120
  *
7811
8121
  * **After success** the card says the account is deactivated and the person is being
7812
8122
  * signed out — the app's to do, since the kit sends nothing (auth §8).
8123
+ *
8124
+ * **Under a write lock** the confirm is a `commit` exempt from billing
8125
+ * (`COMMIT_EXCEPT_BILLING`, 0.33): leaving never depends on paying
8126
+ * (docs/billing-harmonization.md decision 14, §12.36); a demo's lock still holds it.
7813
8127
  */
7814
8128
  declare function DeleteAccountSetting({ email, mode, days, consequences, handOverCount, onRequest, describeError, labels: labelsProp, className, ...rest }: DeleteAccountSettingProps): react.JSX.Element;
7815
8129
 
7816
- export { type FeedbackContext as $, type FeedbackAttachmentError as A, type FeedbackAttachmentErrorInfo as B, ChatComposer as C, DEFAULT_ATTACHMENT_ACCEPT as D, FeedbackAttachmentField as E, FEEDBACK_ATTACHMENT_ACCEPT as F, type FeedbackAttachmentFieldLabels as G, type FeedbackAttachmentFieldMultipleProps as H, type FeedbackAttachmentFieldProps as I, type FeedbackAttachmentFieldRefsProps as J, type FeedbackAttachmentFieldSingleProps as K, type FeedbackAttachmentLabels as L, type FeedbackAttachmentRef as M, type FeedbackAttachmentRefsError as N, FeedbackAwaitingToggle as O, type FeedbackAwaitingToggleProps as P, type FeedbackCategory as Q, FeedbackCategoryBadge as R, type FeedbackCategoryLabels as S, type FeedbackCategoryOption as T, type FeedbackColumnsOptions as U, FeedbackComposer as V, type FeedbackComposerAttachment as W, type FeedbackComposerHandle as X, type FeedbackComposerLabels as Y, type FeedbackComposerProps as Z, type FeedbackComposerSlotContext as _, type ChatComposerHandle as a, feedbackAttachmentUrls as a$, FeedbackContextBox as a0, type FeedbackContextBoxProps as a1, type FeedbackContextInput as a2, type FeedbackContextLabels as a3, FeedbackDetail as a4, type FeedbackDetailLabels as a5, type FeedbackDetailPatch as a6, FeedbackDetailSection as a7, type FeedbackDetailUpdate as a8, FeedbackDialog as a9, FeedbackStatusBadge as aA, type FeedbackStatusChange as aB, type FeedbackStatusLabels as aC, type FeedbackStatusMutate as aD, type FeedbackStatusPatch as aE, type FeedbackStatusRow as aF, FeedbackStatusTransitions as aG, type FeedbackStatusUndoOptions as aH, FeedbackSubject as aI, type FeedbackSubjectProps as aJ, type FeedbackSubmission as aK, type FeedbackSubmitHint as aL, type FeedbackSubmitter as aM, type FeedbackTableRow as aN, FeedbackThread as aO, type FeedbackThreadAttachment as aP, type FeedbackThreadEvent as aQ, type FeedbackThreadItem as aR, type FeedbackThreadLabels as aS, type FeedbackThreadMessage as aT, type FeedbackThreadProps as aU, type FeedbackToastLabels as aV, type FeedbackUpload as aW, type UseFeedbackColumnsOptions as aX, appendRework as aY, attachmentName as aZ, feedbackAttachmentLine as a_, type FeedbackDialogLabels as aa, type FeedbackDialogMultipleProps as ab, type FeedbackDialogProps as ac, type FeedbackDialogSingleProps as ad, type FeedbackDialogTextLabels as ae, FeedbackEmptyState as af, type FeedbackEmptyStateProps as ag, type FeedbackEnvironment as ah, FeedbackMenu as ai, type FeedbackMenuLabels as aj, type FeedbackMenuProps as ak, FeedbackMobileCard as al, type FeedbackMobileCardProps as am, type FeedbackMultipleSubmission as an, type FeedbackNoteAttachment as ao, FeedbackNoteEditor as ap, type FeedbackPageLabels as aq, FeedbackProse as ar, type FeedbackRecord as as, type FeedbackRenderDate as at, FeedbackReworkSection as au, type FeedbackReworkSectionProps as av, type FeedbackRowAccess as aw, FeedbackRowDetail as ax, type FeedbackRowDetailProps as ay, type FeedbackStatus as az, type ChatComposerLabels as b, type CardHeaderProps as b$, feedbackCategoryRank as b0, feedbackColumns as b1, feedbackContext as b2, feedbackEnvironment as b3, feedbackMobileGroupBy as b4, feedbackPageHref as b5, feedbackPagePath as b6, feedbackPageUrl as b7, feedbackRowAccess as b8, feedbackSubmitter as b9, AppShell as bA, type AppShellLabels as bB, type AppShellMoreLabels as bC, type AppShellNavItem as bD, type AppShellProps as bE, type AppShellSidebarFooterItem as bF, type AppShellSubItem as bG, type BillingLabels as bH, Button as bI, type ButtonClassesOptions as bJ, type ButtonLinkProps as bK, type ButtonProps as bL, type ButtonSize as bM, type ButtonTone as bN, type ButtonVariant as bO, type CalculatorLabels as bP, Card as bQ, CardAction as bR, type CardActionProps as bS, CardContent as bT, type CardContentProps as bU, type CardDensity as bV, CardDescription as bW, type CardDescriptionProps as bX, CardFooter as bY, type CardFooterProps as bZ, CardHeader as b_, feedbackSubmitterEmail as ba, isFeedbackAwaiting as bb, isImageAttachment as bc, nextFeedbackStatus as bd, pastedName as be, replaceDescription as bf, reworkCount as bg, selectableFeedbackStatuses as bh, splitBodyAttachments as bi, splitDescription as bj, useFeedbackCategoryLabels as bk, useFeedbackColumns as bl, useFeedbackDetailLabels as bm, useFeedbackPageLabels as bn, useFeedbackRenderDate as bo, useFeedbackStatusLabels as bp, useFeedbackStatusUndo as bq, useFeedbackToastLabels as br, visibleFeedbackStatuses as bs, AdminActionConfirm as bt, type AdminActionConfirmProps as bu, type AdminActionConfirmValues as bv, type AdminActionLabels as bw, type AdminActionTarget as bx, type AdminConfirmLevel as by, type AdminUserStateFields as bz, type ChatComposerProps as c, type DeleteAccountConsequence as c$, type CardProps as c0, CardTitle as c1, type CardTitleLevel as c2, type CardTitleProps as c3, type CardTone as c4, type CharacterCountLabels as c5, type ChartTooltipPlacement as c6, type ComboboxLabels as c7, type CommonLabels as c8, type ConfirmDialogLabels as c9, DEFAULT_FILE_LABELS as cA, DEFAULT_FILE_PICKER_LABELS as cB, DEFAULT_FORM_ACTIONS_LABELS as cC, DEFAULT_IBAN_INPUT_LABELS as cD, DEFAULT_INVITATIONS_LABELS as cE, DEFAULT_LEGAL_LABELS as cF, DEFAULT_MOBILE_BAR_MAX as cG, DEFAULT_MULTI_SELECT_LABELS as cH, DEFAULT_PASSWORD_REVEAL_LABELS as cI, DEFAULT_PHONE_INPUT_LABELS as cJ, DEFAULT_PICKER_SHEET_LABELS as cK, DEFAULT_REGISTER_LABELS as cL, DEFAULT_REVIEWER_SCOPE_LABELS as cM, DEFAULT_ROLE_SELECT_LABELS as cN, DEFAULT_ROW_ACTIONS_LABELS as cO, DEFAULT_SHARE_CARD_LABELS as cP, DEFAULT_SWIPEABLE_ROW_LABELS as cQ, DEFAULT_TABS_LABELS as cR, DEFAULT_TOP_BAR_LABELS as cS, DEFAULT_TRANSFER_OWNERSHIP_LABELS as cT, DEFAULT_USER_ROSTER_LABELS as cU, DangerConfirm as cV, type DangerConfirmLabels as cW, type DangerConfirmProps as cX, type DangerConfirmValues as cY, type DangerConsequence as cZ, type DatePickerLabels as c_, type ConfirmFn as ca, type ConfirmOptions as cb, ConfirmProvider as cc, type ConfirmProviderProps as cd, type ConfirmTone as ce, CopyButton as cf, type CopyButtonLabels as cg, type CopyButtonProps as ch, type CurrencyLabels as ci, CurrentPasswordInput as cj, type CurrentPasswordInputLabels as ck, type CurrentPasswordInputProps as cl, DEFAULT_ADMIN_ACTION_LABELS as cm, DEFAULT_APP_SHELL_LABELS as cn, DEFAULT_APP_SHELL_MORE_LABELS as co, DEFAULT_BILLING_LABELS as cp, DEFAULT_CALCULATOR_LABELS as cq, DEFAULT_CHARACTER_COUNT_LABELS as cr, DEFAULT_COMBOBOX_LABELS as cs, DEFAULT_COMMON_LABELS as ct, DEFAULT_CONFIRM_DIALOG_LABELS as cu, DEFAULT_COPY_BUTTON_LABELS as cv, DEFAULT_CURRENCY_LABELS as cw, DEFAULT_DANGER_CONFIRM_LABELS as cx, DEFAULT_DATE_PICKER_LABELS as cy, DEFAULT_DELETE_ACCOUNT_LABELS as cz, type ChatComposerSlotContext as d, type KitLanguageCode as d$, type DeleteAccountLabels as d0, DeleteAccountSetting as d1, type DeleteAccountSettingProps as d2, type DeleteAccountValues as d3, type DeletionMode as d4, EmptyState as d5, type EmptyStateProps as d6, FIELD_BASE as d7, FIELD_DISPLAY as d8, FIELD_FLOATING_PAD as d9, type FormActionsSubmitProps as dA, type FormActionsSubmitShortcut as dB, IbanInput as dC, type IbanInputLabels as dD, type IbanInputProps as dE, IconButton as dF, type IconButtonGlyphSize as dG, type IconButtonLinkProps as dH, type IconButtonProps as dI, type IconButtonSize as dJ, type IconButtonTone as dK, type IconButtonToneColor as dL, type IconButtonVariant as dM, Input as dN, type InputProps as dO, type InvitationDraft as dP, type InvitationRow as dQ, type InvitationScope as dR, type InvitationSentAnswer as dS, type InvitationStatus as dT, type InvitationsLabels as dU, InvitationsPanel as dV, type InvitationsPanelProps as dW, KIT_LANGUAGES as dX, type KitDateFormatContext as dY, type KitDateFormatter as dZ, type KitLanguage as d_, FIELD_INVALID as da, FIELD_TOUCH_TEXT as db, FIELD_TRIGGER as dc, FIELD_WRITABLE_LOOK as dd, FLOATING_INPUT_CLASS as de, FLOATING_LABEL_CLASS as df, FieldChevron as dg, type FieldChevronProps as dh, FileButton as di, type FileButtonProps as dj, type FileLabels as dk, type FilePickerLabels as dl, type FileRejection as dm, type FileRejectionReason as dn, type FileScreenOptions as dp, FloatingField as dq, type FloatingFieldProps as dr, FormActions as ds, type FormActionsAlign as dt, type FormActionsDestructive as du, type FormActionsLabels as dv, type FormActionsPlacement as dw, type FormActionsProps as dx, type FormActionsStack as dy, type FormActionsStickyWithin as dz, DEFAULT_FEEDBACK_ATTACHMENT_LABELS as e, ShareCard as e$, type KitLinkComponent as e0, type KitLinkProps as e1, LEGAL_HREFS as e2, Label as e3, type LabelOverride as e4, type LabelProps as e5, type LegalDisclaimerSectionLabels as e6, LegalFooter as e7, type LegalFooterProps as e8, type LegalFramedSectionLabels as e9, type ReviewerScopeArea as eA, ReviewerScopeEditor as eB, type ReviewerScopeEditorProps as eC, type ReviewerScopeLabels as eD, type ReviewerScopeLanguage as eE, type RoleEditing as eF, type RoleLock as eG, type RoleLockCode as eH, RoleSelect as eI, type RoleSelectLabels as eJ, type RoleSelectProps as eK, RolesEditor as eL, type RolesEditorProps as eM, type RosterState as eN, type RowAction as eO, type RowActionList as eP, RowActions as eQ, type RowActionsCollapse as eR, type RowActionsColumnOptions as eS, type RowActionsLabels as eT, type RowActionsProps as eU, type RowActionsSize as eV, SUBSCRIPTION_STATUSES as eW, Select as eX, type SelectProps as eY, type ShareAddRequest as eZ, type ShareCandidate as e_, type LegalLabels as ea, LegalLayout as eb, type LegalLayoutProps as ec, type LegalLink as ed, LegalLinks as ee, type LegalLinksProps as ef, type LegalOperator as eg, type LegalOperatorSectionLabels as eh, type LegalOperatorText as ei, type LegalPageKey as ej, LegalSection as ek, type LegalSectionProps as el, type LegalTextSectionLabels as em, type MultiSelectLabels as en, PHONE_QUERY as eo, type PasswordRevealLabels as ep, PhoneInput as eq, type PhoneInputLabels as er, type PhoneInputProps as es, type PickerSheetLabels as et, RegisterForm as eu, type RegisterFormProps as ev, type RegisterLabels as ew, type RegisterValues as ex, type ResponsiveFormActionsPlacement as ey, type ReviewerScope as ez, DEFAULT_FEEDBACK_CATEGORY_LABELS as f, useBillingLabels as f$, type ShareCardLabels as f0, type ShareCardProps as f1, ShareDialog as f2, type ShareDialogProps as f3, type ShareGrantee as f4, SharePanel as f5, type SharePanelProps as f6, type SharePendingGrant as f7, type ShareRole as f8, Spinner as f9, type UseFilePickerOptions as fA, type UseFilePickerReturn as fB, UserIdentityCell as fC, type UserIdentityCellProps as fD, type UserRosterColumnsOptions as fE, type UserRosterLabels as fF, type UserRosterRow as fG, type UserRosterSortKey as fH, type UserRowAction as fI, type UserRowActionList as fJ, UserRowActions as fK, type UserRowActionsProps as fL, adminUserStates as fM, buttonClasses as fN, formatFileSize as fO, formatLocaleOf as fP, languageOptions as fQ, legalOperatorText as fR, loadUiKitLabels as fS, matchesAccept as fT, missingKitLabels as fU, peekUiKitLabels as fV, resolveLanguage as fW, resolvePasswordRevealLabels as fX, rowActionsColumn as fY, splitMobileBar as fZ, typedMatches as f_, type SpinnerProps as fa, type SubscriptionStatus as fb, type SwipeableRowLabels as fc, TOUCH_TARGET_LARGE as fd, type TabItem as fe, Tabs as ff, type TabsLabels as fg, type TabsProps as fh, Textarea as fi, type TextareaProps as fj, type TopBarLabels as fk, type TransferCandidate as fl, TransferOwnershipDialog as fm, type TransferOwnershipDialogProps as fn, type TransferOwnershipLabels as fo, type TransferUnavailable as fp, type TransferValues as fq, TypedConfirmField as fr, type TypedConfirmFieldLabels as fs, type TypedConfirmFieldProps as ft, type TypedMatch as fu, USER_ROSTER_SORT_KEYS as fv, type UiKitLabelOverrides as fw, type UiKitLabels as fx, UiKitProvider as fy, type UiKitProviderProps as fz, DEFAULT_FEEDBACK_COMPOSER_LABELS as g, useConfirm as g0, useFilePicker as g1, useKitChartTooltipPlacement as g2, useKitDateFormatter as g3, useKitFileLabels as g4, useKitLabelOverrides as g5, useKitLabels as g6, useKitLink as g7, useKitLocale as g8, useKitWeekStart as g9, useLegalLabels as ga, useUiKitLabels as gb, useUserRosterColumns as gc, userRosterColumns as gd, userRosterSort as ge, type FilePickHandler as gf, formatAccept as gg, judgePick as gh, screenFiles as gi, summariseRejections as gj, LegalPageContext as gk, type LegalPageContextValue as gl, type LegalRefTarget as gm, type LegalSectionSlot as gn, LegalSlotContext as go, LegalText as gp, baseLanguage as gq, resolveLegalRefs as gr, warnLegalOnce as gs, usePromisePending as gt, DEFAULT_FEEDBACK_CONTEXT_LABELS as h, DEFAULT_FEEDBACK_DETAIL_LABELS as i, DEFAULT_FEEDBACK_DIALOG_LABELS as j, DEFAULT_FEEDBACK_MENU_LABELS as k, DEFAULT_FEEDBACK_PAGE_LABELS as l, DEFAULT_FEEDBACK_STATUS_LABELS as m, DEFAULT_FEEDBACK_THREAD_LABELS as n, DEFAULT_FEEDBACK_TOAST_LABELS as o, DEFAULT_MAX_ATTACHMENTS as p, DEFAULT_MAX_ATTACHMENT_BYTES as q, FEEDBACK_AUTHOR_EDITABLE_STATUSES as r, FEEDBACK_AWAITING_STATUSES as s, FEEDBACK_CATEGORY_META as t, FEEDBACK_CATEGORY_ORDER as u, FEEDBACK_PICKABLE_CATEGORIES as v, FEEDBACK_REWORKABLE_STATUSES as w, FEEDBACK_STATUS_META as x, FEEDBACK_STATUS_ORDER as y, FEEDBACK_UNDO_DURATION as z };
8130
+ export { type FeedbackContext as $, type FeedbackAttachmentError as A, type FeedbackAttachmentErrorInfo as B, ChatComposer as C, DEFAULT_ATTACHMENT_ACCEPT as D, FeedbackAttachmentField as E, FEEDBACK_ATTACHMENT_ACCEPT as F, type FeedbackAttachmentFieldLabels as G, type FeedbackAttachmentFieldMultipleProps as H, type FeedbackAttachmentFieldProps as I, type FeedbackAttachmentFieldRefsProps as J, type FeedbackAttachmentFieldSingleProps as K, type FeedbackAttachmentLabels as L, type FeedbackAttachmentRef as M, type FeedbackAttachmentRefsError as N, FeedbackAwaitingToggle as O, type FeedbackAwaitingToggleProps as P, type FeedbackCategory as Q, FeedbackCategoryBadge as R, type FeedbackCategoryLabels as S, type FeedbackCategoryOption as T, type FeedbackColumnsOptions as U, FeedbackComposer as V, type FeedbackComposerAttachment as W, type FeedbackComposerHandle as X, type FeedbackComposerLabels as Y, type FeedbackComposerProps as Z, type FeedbackComposerSlotContext as _, type ChatComposerHandle as a, feedbackAttachmentUrls as a$, FeedbackContextBox as a0, type FeedbackContextBoxProps as a1, type FeedbackContextInput as a2, type FeedbackContextLabels as a3, FeedbackDetail as a4, type FeedbackDetailLabels as a5, type FeedbackDetailPatch as a6, FeedbackDetailSection as a7, type FeedbackDetailUpdate as a8, FeedbackDialog as a9, FeedbackStatusBadge as aA, type FeedbackStatusChange as aB, type FeedbackStatusLabels as aC, type FeedbackStatusMutate as aD, type FeedbackStatusPatch as aE, type FeedbackStatusRow as aF, FeedbackStatusTransitions as aG, type FeedbackStatusUndoOptions as aH, FeedbackSubject as aI, type FeedbackSubjectProps as aJ, type FeedbackSubmission as aK, type FeedbackSubmitHint as aL, type FeedbackSubmitter as aM, type FeedbackTableRow as aN, FeedbackThread as aO, type FeedbackThreadAttachment as aP, type FeedbackThreadEvent as aQ, type FeedbackThreadItem as aR, type FeedbackThreadLabels as aS, type FeedbackThreadMessage as aT, type FeedbackThreadProps as aU, type FeedbackToastLabels as aV, type FeedbackUpload as aW, type UseFeedbackColumnsOptions as aX, appendRework as aY, attachmentName as aZ, feedbackAttachmentLine as a_, type FeedbackDialogLabels as aa, type FeedbackDialogMultipleProps as ab, type FeedbackDialogProps as ac, type FeedbackDialogSingleProps as ad, type FeedbackDialogTextLabels as ae, FeedbackEmptyState as af, type FeedbackEmptyStateProps as ag, type FeedbackEnvironment as ah, FeedbackMenu as ai, type FeedbackMenuLabels as aj, type FeedbackMenuProps as ak, FeedbackMobileCard as al, type FeedbackMobileCardProps as am, type FeedbackMultipleSubmission as an, type FeedbackNoteAttachment as ao, FeedbackNoteEditor as ap, type FeedbackPageLabels as aq, FeedbackProse as ar, type FeedbackRecord as as, type FeedbackRenderDate as at, FeedbackReworkSection as au, type FeedbackReworkSectionProps as av, type FeedbackRowAccess as aw, FeedbackRowDetail as ax, type FeedbackRowDetailProps as ay, type FeedbackStatus as az, type ChatComposerLabels as b, type CardHeaderProps as b$, feedbackCategoryRank as b0, feedbackColumns as b1, feedbackContext as b2, feedbackEnvironment as b3, feedbackMobileGroupBy as b4, feedbackPageHref as b5, feedbackPagePath as b6, feedbackPageUrl as b7, feedbackRowAccess as b8, feedbackSubmitter as b9, AppShell as bA, type AppShellLabels as bB, type AppShellMoreLabels as bC, type AppShellNavItem as bD, type AppShellProps as bE, type AppShellSidebarFooterItem as bF, type AppShellSubItem as bG, type BillingLabels as bH, Button as bI, type ButtonClassesOptions as bJ, type ButtonLinkProps as bK, type ButtonProps as bL, type ButtonSize as bM, type ButtonTone as bN, type ButtonVariant as bO, type CalculatorLabels as bP, Card as bQ, CardAction as bR, type CardActionProps as bS, CardContent as bT, type CardContentProps as bU, type CardDensity as bV, CardDescription as bW, type CardDescriptionProps as bX, CardFooter as bY, type CardFooterProps as bZ, CardHeader as b_, feedbackSubmitterEmail as ba, isFeedbackAwaiting as bb, isImageAttachment as bc, nextFeedbackStatus as bd, pastedName as be, replaceDescription as bf, reworkCount as bg, selectableFeedbackStatuses as bh, splitBodyAttachments as bi, splitDescription as bj, useFeedbackCategoryLabels as bk, useFeedbackColumns as bl, useFeedbackDetailLabels as bm, useFeedbackPageLabels as bn, useFeedbackRenderDate as bo, useFeedbackStatusLabels as bp, useFeedbackStatusUndo as bq, useFeedbackToastLabels as br, visibleFeedbackStatuses as bs, AdminActionConfirm as bt, type AdminActionConfirmProps as bu, type AdminActionConfirmValues as bv, type AdminActionLabels as bw, type AdminActionTarget as bx, type AdminConfirmLevel as by, type AdminUserStateFields as bz, type ChatComposerProps as c, type DatePickerLabels as c$, type CardProps as c0, CardTitle as c1, type CardTitleLevel as c2, type CardTitleProps as c3, type CardTone as c4, type CharacterCountLabels as c5, type ChartTooltipPlacement as c6, type ComboboxLabels as c7, type CommonLabels as c8, type ConfirmDialogLabels as c9, DEFAULT_FILE_LABELS as cA, DEFAULT_FILE_PICKER_LABELS as cB, DEFAULT_FORM_ACTIONS_LABELS as cC, DEFAULT_IBAN_INPUT_LABELS as cD, DEFAULT_INVITATIONS_LABELS as cE, DEFAULT_LEGAL_LABELS as cF, DEFAULT_MOBILE_BAR_MAX as cG, DEFAULT_MULTI_SELECT_LABELS as cH, DEFAULT_PASSWORD_REVEAL_LABELS as cI, DEFAULT_PHONE_INPUT_LABELS as cJ, DEFAULT_PICKER_SHEET_LABELS as cK, DEFAULT_PLAN_CHANGE_LABELS as cL, DEFAULT_REGISTER_LABELS as cM, DEFAULT_REVIEWER_SCOPE_LABELS as cN, DEFAULT_ROLE_SELECT_LABELS as cO, DEFAULT_ROW_ACTIONS_LABELS as cP, DEFAULT_SHARE_CARD_LABELS as cQ, DEFAULT_SWIPEABLE_ROW_LABELS as cR, DEFAULT_TABS_LABELS as cS, DEFAULT_TOP_BAR_LABELS as cT, DEFAULT_TRANSFER_OWNERSHIP_LABELS as cU, DEFAULT_USER_ROSTER_LABELS as cV, DangerConfirm as cW, type DangerConfirmLabels as cX, type DangerConfirmProps as cY, type DangerConfirmValues as cZ, type DangerConsequence as c_, type ConfirmFn as ca, type ConfirmOptions as cb, ConfirmProvider as cc, type ConfirmProviderProps as cd, type ConfirmTone as ce, CopyButton as cf, type CopyButtonLabels as cg, type CopyButtonProps as ch, type CurrencyLabels as ci, CurrentPasswordInput as cj, type CurrentPasswordInputLabels as ck, type CurrentPasswordInputProps as cl, DEFAULT_ADMIN_ACTION_LABELS as cm, DEFAULT_APP_SHELL_LABELS as cn, DEFAULT_APP_SHELL_MORE_LABELS as co, DEFAULT_BILLING_LABELS as cp, DEFAULT_CALCULATOR_LABELS as cq, DEFAULT_CHARACTER_COUNT_LABELS as cr, DEFAULT_COMBOBOX_LABELS as cs, DEFAULT_COMMON_LABELS as ct, DEFAULT_CONFIRM_DIALOG_LABELS as cu, DEFAULT_COPY_BUTTON_LABELS as cv, DEFAULT_CURRENCY_LABELS as cw, DEFAULT_DANGER_CONFIRM_LABELS as cx, DEFAULT_DATE_PICKER_LABELS as cy, DEFAULT_DELETE_ACCOUNT_LABELS as cz, type ChatComposerSlotContext as d, type KitLanguage as d$, type DeleteAccountConsequence as d0, type DeleteAccountLabels as d1, DeleteAccountSetting as d2, type DeleteAccountSettingProps as d3, type DeleteAccountValues as d4, type DeletionMode as d5, EmptyState as d6, type EmptyStateProps as d7, FIELD_BASE as d8, FIELD_DISPLAY as d9, type FormActionsStickyWithin as dA, type FormActionsSubmitProps as dB, type FormActionsSubmitShortcut as dC, IbanInput as dD, type IbanInputLabels as dE, type IbanInputProps as dF, IconButton as dG, type IconButtonGlyphSize as dH, type IconButtonLinkProps as dI, type IconButtonProps as dJ, type IconButtonSize as dK, type IconButtonTone as dL, type IconButtonToneColor as dM, type IconButtonVariant as dN, Input as dO, type InputProps as dP, type InvitationDraft as dQ, type InvitationRow as dR, type InvitationScope as dS, type InvitationSentAnswer as dT, type InvitationStatus as dU, type InvitationsLabels as dV, InvitationsPanel as dW, type InvitationsPanelProps as dX, KIT_LANGUAGES as dY, type KitDateFormatContext as dZ, type KitDateFormatter as d_, FIELD_FLOATING_PAD as da, FIELD_INVALID as db, FIELD_TOUCH_TEXT as dc, FIELD_TRIGGER as dd, FIELD_WRITABLE_LOOK as de, FLOATING_INPUT_CLASS as df, FLOATING_LABEL_CLASS as dg, FieldChevron as dh, type FieldChevronProps as di, FileButton as dj, type FileButtonProps as dk, type FileLabels as dl, type FilePickerLabels as dm, type FileRejection as dn, type FileRejectionReason as dp, type FileScreenOptions as dq, FloatingField as dr, type FloatingFieldProps as ds, FormActions as dt, type FormActionsAlign as du, type FormActionsDestructive as dv, type FormActionsLabels as dw, type FormActionsPlacement as dx, type FormActionsProps as dy, type FormActionsStack as dz, DEFAULT_FEEDBACK_ATTACHMENT_LABELS as e, type RowActionTone as e$, type KitLanguageCode as e0, type KitLinkComponent as e1, type KitLinkProps as e2, LEGAL_HREFS as e3, Label as e4, type LabelOverride as e5, type LabelProps as e6, type LegalDisclaimerSectionLabels as e7, LegalFooter as e8, type LegalFooterProps as e9, type PlanChangeOutcome as eA, type PlanChangeResultOptions as eB, type PlanChangeTone as eC, type PlanColumnOptions as eD, type PlanColumnUsage as eE, RegisterForm as eF, type RegisterFormProps as eG, type RegisterLabels as eH, type RegisterValues as eI, type ResponsiveFormActionsPlacement as eJ, type ReviewerScope as eK, type ReviewerScopeArea as eL, ReviewerScopeEditor as eM, type ReviewerScopeEditorProps as eN, type ReviewerScopeLabels as eO, type ReviewerScopeLanguage as eP, type RoleEditing as eQ, type RoleLock as eR, type RoleLockCode as eS, RoleSelect as eT, type RoleSelectLabels as eU, type RoleSelectProps as eV, RolesEditor as eW, type RolesEditorProps as eX, type RosterState as eY, type RowAction as eZ, type RowActionList as e_, type LegalFramedSectionLabels as ea, type LegalLabels as eb, LegalLayout as ec, type LegalLayoutProps as ed, type LegalLink as ee, LegalLinks as ef, type LegalLinksProps as eg, type LegalOperator as eh, type LegalOperatorSectionLabels as ei, type LegalOperatorText as ej, type LegalPageKey as ek, LegalSection as el, type LegalSectionProps as em, type LegalTextSectionLabels as en, type MultiSelectLabels as eo, PHONE_QUERY as ep, type PasswordRevealLabels as eq, PhoneInput as er, type PhoneInputLabels as es, type PhoneInputProps as et, type PickerSheetLabels as eu, type PlanChange as ev, PlanChangeConfirm as ew, type PlanChangeConfirmProps as ex, type PlanChangeLabels as ey, type PlanChangeLine as ez, DEFAULT_FEEDBACK_CATEGORY_LABELS as f, formatLocaleOf as f$, RowActions as f0, type RowActionsCollapse as f1, type RowActionsColumnOptions as f2, type RowActionsLabels as f3, type RowActionsProps as f4, type RowActionsSize as f5, SUBSCRIPTION_STATUSES as f6, Select as f7, type SelectProps as f8, type ShareAddRequest as f9, type TransferOwnershipLabels as fA, type TransferUnavailable as fB, type TransferValues as fC, TypedConfirmField as fD, type TypedConfirmFieldLabels as fE, type TypedConfirmFieldProps as fF, type TypedMatch as fG, USER_ROSTER_SORT_KEYS as fH, type UiKitLabelOverrides as fI, type UiKitLabels as fJ, UiKitProvider as fK, type UiKitProviderProps as fL, type UseFilePickerOptions as fM, type UseFilePickerReturn as fN, UserIdentityCell as fO, type UserIdentityCellProps as fP, type UserRosterColumnsOptions as fQ, type UserRosterLabels as fR, type UserRosterRow as fS, type UserRosterSortKey as fT, type UserRowAction as fU, type UserRowActionList as fV, UserRowActions as fW, type UserRowActionsProps as fX, adminUserStates as fY, buttonClasses as fZ, formatFileSize as f_, type ShareCandidate as fa, ShareCard as fb, type ShareCardLabels as fc, type ShareCardProps as fd, ShareDialog as fe, type ShareDialogProps as ff, type ShareGrantee as fg, SharePanel as fh, type SharePanelProps as fi, type SharePendingGrant as fj, type ShareRole as fk, Spinner as fl, type SpinnerProps as fm, type SubscriptionStatus as fn, type SwipeableRowLabels as fo, TOUCH_TARGET_LARGE as fp, type TabItem as fq, Tabs as fr, type TabsLabels as fs, type TabsProps as ft, Textarea as fu, type TextareaProps as fv, type TopBarLabels as fw, type TransferCandidate as fx, TransferOwnershipDialog as fy, type TransferOwnershipDialogProps as fz, DEFAULT_FEEDBACK_COMPOSER_LABELS as g, languageOptions as g0, legalOperatorText as g1, loadUiKitLabels as g2, matchesAccept as g3, missingKitLabels as g4, peekUiKitLabels as g5, planColumn as g6, resolveLanguage as g7, resolvePasswordRevealLabels as g8, rowActionsColumn as g9, type LegalPageContextValue as gA, type LegalRefTarget as gB, type LegalSectionSlot as gC, LegalSlotContext as gD, LegalText as gE, baseLanguage as gF, resolveLegalRefs as gG, warnLegalOnce as gH, usePromisePending as gI, splitMobileBar as ga, typedMatches as gb, useBillingLabels as gc, useConfirm as gd, useFilePicker as ge, useKitChartTooltipPlacement as gf, useKitDateFormatter as gg, useKitFileLabels as gh, useKitLabelOverrides as gi, useKitLabels as gj, useKitLink as gk, useKitLocale as gl, useKitWeekStart as gm, useLegalLabels as gn, usePlanChangeResult as go, usePlanColumn as gp, useUiKitLabels as gq, useUserRosterColumns as gr, userRosterColumns as gs, userRosterSort as gt, type FilePickHandler as gu, formatAccept as gv, judgePick as gw, screenFiles as gx, summariseRejections as gy, LegalPageContext as gz, DEFAULT_FEEDBACK_CONTEXT_LABELS as h, DEFAULT_FEEDBACK_DETAIL_LABELS as i, DEFAULT_FEEDBACK_DIALOG_LABELS as j, DEFAULT_FEEDBACK_MENU_LABELS as k, DEFAULT_FEEDBACK_PAGE_LABELS as l, DEFAULT_FEEDBACK_STATUS_LABELS as m, DEFAULT_FEEDBACK_THREAD_LABELS as n, DEFAULT_FEEDBACK_TOAST_LABELS as o, DEFAULT_MAX_ATTACHMENTS as p, DEFAULT_MAX_ATTACHMENT_BYTES as q, FEEDBACK_AUTHOR_EDITABLE_STATUSES as r, FEEDBACK_AWAITING_STATUSES as s, FEEDBACK_CATEGORY_META as t, FEEDBACK_CATEGORY_ORDER as u, FEEDBACK_PICKABLE_CATEGORIES as v, FEEDBACK_REWORKABLE_STATUSES as w, FEEDBACK_STATUS_META as x, FEEDBACK_STATUS_ORDER as y, FEEDBACK_UNDO_DURATION as z };