@eifi1/ui-kit 0.33.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1539) hide show
  1. package/README.md +445 -283
  2. package/dist/account/account-parts.d.ts +6 -8
  3. package/dist/account/account-parts.js +1 -2
  4. package/dist/account/account-parts.js.map +1 -1
  5. package/dist/{components → account}/account-settings-labels.d.ts +16 -10
  6. package/dist/{components → account}/account-settings-labels.js +3 -1
  7. package/dist/account/account-settings-labels.js.map +1 -0
  8. package/dist/{components → account}/account-settings.d.ts +53 -23
  9. package/dist/{components → account}/account-settings.js +97 -26
  10. package/dist/account/account-settings.js.map +1 -0
  11. package/dist/account/data-export-setting-labels.d.ts +2 -0
  12. package/dist/account/data-export-setting-labels.js +15 -0
  13. package/dist/account/data-export-setting-labels.js.map +1 -0
  14. package/dist/account/data-export-setting.d.ts +9 -11
  15. package/dist/account/data-export-setting.js +11 -27
  16. package/dist/account/data-export-setting.js.map +1 -1
  17. package/dist/account/delete-account-setting-labels.d.ts +2 -0
  18. package/dist/account/delete-account-setting-labels.js +23 -0
  19. package/dist/account/delete-account-setting-labels.js.map +1 -0
  20. package/dist/account/delete-account-setting.d.ts +132 -100
  21. package/dist/account/delete-account-setting.js +7 -23
  22. package/dist/account/delete-account-setting.js.map +1 -1
  23. package/dist/account/email-change-setting-labels.d.ts +2 -0
  24. package/dist/account/email-change-setting-labels.js +28 -0
  25. package/dist/account/email-change-setting-labels.js.map +1 -0
  26. package/dist/account/email-change-setting.d.ts +10 -12
  27. package/dist/account/email-change-setting.js +11 -30
  28. package/dist/account/email-change-setting.js.map +1 -1
  29. package/dist/{components → account}/passkeys-setting.d.ts +9 -12
  30. package/dist/{components → account}/passkeys-setting.js +10 -7
  31. package/dist/account/passkeys-setting.js.map +1 -0
  32. package/dist/account/sessions-setting-labels.d.ts +2 -0
  33. package/dist/account/sessions-setting-labels.js +22 -0
  34. package/dist/account/sessions-setting-labels.js.map +1 -0
  35. package/dist/account/sessions-setting.d.ts +12 -14
  36. package/dist/account/sessions-setting.js +8 -23
  37. package/dist/account/sessions-setting.js.map +1 -1
  38. package/dist/admin/admin-action-confirm-labels.d.ts +2 -0
  39. package/dist/admin/admin-action-confirm-labels.js +16 -0
  40. package/dist/admin/admin-action-confirm-labels.js.map +1 -0
  41. package/dist/admin/admin-action-confirm.d.ts +156 -100
  42. package/dist/admin/admin-action-confirm.js +17 -22
  43. package/dist/admin/admin-action-confirm.js.map +1 -1
  44. package/dist/admin/admin-action-log-labels.d.ts +2 -0
  45. package/dist/admin/admin-action-log-labels.js +73 -0
  46. package/dist/admin/admin-action-log-labels.js.map +1 -0
  47. package/dist/admin/admin-action-log.d.ts +98 -22
  48. package/dist/admin/admin-action-log.js +48 -45
  49. package/dist/admin/admin-action-log.js.map +1 -1
  50. package/dist/admin/admin-parts.d.ts +7 -14
  51. package/dist/admin/admin-parts.js +0 -4
  52. package/dist/admin/admin-parts.js.map +1 -1
  53. package/dist/admin/invitations-panel-labels.d.ts +2 -0
  54. package/dist/admin/invitations-panel-labels.js +29 -0
  55. package/dist/admin/invitations-panel-labels.js.map +1 -0
  56. package/dist/admin/invitations-panel.d.ts +167 -100
  57. package/dist/admin/invitations-panel.js +12 -31
  58. package/dist/admin/invitations-panel.js.map +1 -1
  59. package/dist/admin/plan-change-labels.d.ts +2 -0
  60. package/dist/admin/plan-change-labels.js +22 -0
  61. package/dist/admin/plan-change-labels.js.map +1 -0
  62. package/dist/admin/plan-change.d.ts +244 -100
  63. package/dist/admin/plan-change.js +17 -23
  64. package/dist/admin/plan-change.js.map +1 -1
  65. package/dist/admin/reviewer-scope-editor-labels.d.ts +2 -0
  66. package/dist/admin/reviewer-scope-editor-labels.js +14 -0
  67. package/dist/admin/reviewer-scope-editor-labels.js.map +1 -0
  68. package/dist/admin/reviewer-scope-editor.d.ts +95 -100
  69. package/dist/admin/reviewer-scope-editor.js +5 -13
  70. package/dist/admin/reviewer-scope-editor.js.map +1 -1
  71. package/dist/admin/role-select-labels.d.ts +2 -0
  72. package/dist/admin/role-select-labels.js +15 -0
  73. package/dist/admin/role-select-labels.js.map +1 -0
  74. package/dist/admin/role-select.d.ts +136 -100
  75. package/dist/admin/role-select.js +7 -18
  76. package/dist/admin/role-select.js.map +1 -1
  77. package/dist/admin/transfer-ownership-dialog-labels.d.ts +2 -0
  78. package/dist/admin/transfer-ownership-dialog-labels.js +18 -0
  79. package/dist/admin/transfer-ownership-dialog-labels.js.map +1 -0
  80. package/dist/admin/transfer-ownership-dialog.d.ts +81 -100
  81. package/dist/admin/transfer-ownership-dialog.js +3 -15
  82. package/dist/admin/transfer-ownership-dialog.js.map +1 -1
  83. package/dist/admin/user-roster-labels.d.ts +2 -0
  84. package/dist/admin/user-roster-labels.js +16 -0
  85. package/dist/admin/user-roster-labels.js.map +1 -0
  86. package/dist/admin/user-roster.d.ts +225 -100
  87. package/dist/admin/user-roster.js +4 -14
  88. package/dist/admin/user-roster.js.map +1 -1
  89. package/dist/auth/accept-invitation-labels.d.ts +2 -0
  90. package/dist/auth/accept-invitation-labels.js +20 -0
  91. package/dist/auth/accept-invitation-labels.js.map +1 -0
  92. package/dist/auth/accept-invitation.d.ts +11 -13
  93. package/dist/auth/accept-invitation.js +3 -16
  94. package/dist/auth/accept-invitation.js.map +1 -1
  95. package/dist/auth/auth-errors.d.ts +34 -23
  96. package/dist/auth/auth-errors.js +8 -4
  97. package/dist/auth/auth-errors.js.map +1 -1
  98. package/dist/auth/complete-name-dialog-labels.d.ts +2 -0
  99. package/dist/auth/complete-name-dialog-labels.js +14 -0
  100. package/dist/auth/complete-name-dialog-labels.js.map +1 -0
  101. package/dist/auth/complete-name-dialog.d.ts +9 -11
  102. package/dist/auth/complete-name-dialog.js +4 -11
  103. package/dist/auth/complete-name-dialog.js.map +1 -1
  104. package/dist/auth/email-tag.d.ts +2 -4
  105. package/dist/auth/forgot-password-form-labels.d.ts +3 -0
  106. package/dist/auth/forgot-password-form-labels.js +17 -0
  107. package/dist/auth/forgot-password-form-labels.js.map +1 -0
  108. package/dist/auth/forgot-password-form.d.ts +9 -12
  109. package/dist/auth/forgot-password-form.js +6 -15
  110. package/dist/auth/forgot-password-form.js.map +1 -1
  111. package/dist/auth/form-rules.d.ts +5 -7
  112. package/dist/auth/new-password-fields.d.ts +4 -8
  113. package/dist/auth/new-password-fields.js +1 -1
  114. package/dist/auth/new-password-fields.js.map +1 -1
  115. package/dist/auth/not-found-page-labels.d.ts +2 -0
  116. package/dist/auth/not-found-page-labels.js +11 -0
  117. package/dist/auth/not-found-page-labels.js.map +1 -0
  118. package/dist/auth/not-found-page.d.ts +9 -11
  119. package/dist/auth/not-found-page.js +5 -10
  120. package/dist/auth/not-found-page.js.map +1 -1
  121. package/dist/auth/register-form-labels.d.ts +3 -0
  122. package/dist/auth/register-form-labels.js +28 -0
  123. package/dist/auth/register-form-labels.js.map +1 -0
  124. package/dist/auth/register-form.d.ts +174 -100
  125. package/dist/auth/register-form.js +11 -31
  126. package/dist/auth/register-form.js.map +1 -1
  127. package/dist/auth/reset-password-form-labels.d.ts +3 -0
  128. package/dist/auth/reset-password-form-labels.js +24 -0
  129. package/dist/auth/reset-password-form-labels.js.map +1 -0
  130. package/dist/auth/reset-password-form.d.ts +12 -15
  131. package/dist/auth/reset-password-form.js +6 -22
  132. package/dist/auth/reset-password-form.js.map +1 -1
  133. package/dist/auth/sign-in-form-labels.d.ts +3 -0
  134. package/dist/auth/sign-in-form-labels.js +42 -0
  135. package/dist/auth/sign-in-form-labels.js.map +1 -0
  136. package/dist/auth/sign-in-form.d.ts +15 -19
  137. package/dist/auth/sign-in-form.js +12 -46
  138. package/dist/auth/sign-in-form.js.map +1 -1
  139. package/dist/auth/status-parts.d.ts +13 -17
  140. package/dist/auth/status-parts.js +3 -3
  141. package/dist/auth/status-parts.js.map +1 -1
  142. package/dist/auth/verify-email-labels.d.ts +2 -0
  143. package/dist/auth/verify-email-labels.js +25 -0
  144. package/dist/auth/verify-email-labels.js.map +1 -0
  145. package/dist/auth/verify-email.d.ts +15 -17
  146. package/dist/auth/verify-email.js +4 -21
  147. package/dist/auth/verify-email.js.map +1 -1
  148. package/dist/billing/billing-banner.d.ts +8 -108
  149. package/dist/billing/billing-banner.js +2 -1
  150. package/dist/billing/billing-banner.js.map +1 -1
  151. package/dist/billing/billing-labels.d.ts +168 -100
  152. package/dist/billing/billing-labels.js.map +1 -1
  153. package/dist/billing/billing-lock.d.ts +10 -109
  154. package/dist/billing/billing-overview.d.ts +7 -108
  155. package/dist/billing/billing-standing.d.ts +6 -107
  156. package/dist/billing/checkout-processing.d.ts +8 -110
  157. package/dist/billing/checkout-processing.js +2 -9
  158. package/dist/billing/checkout-processing.js.map +1 -1
  159. package/dist/billing/checkout-return.d.ts +5 -7
  160. package/dist/billing/pay-page.d.ts +22 -119
  161. package/dist/billing/pay-page.js.map +1 -1
  162. package/dist/billing/plan-card.d.ts +14 -114
  163. package/dist/billing/plan-card.js +15 -13
  164. package/dist/billing/plan-card.js.map +1 -1
  165. package/dist/billing/plan-limit-notice.d.ts +8 -108
  166. package/dist/billing/plan-limit-notice.js +1 -1
  167. package/dist/billing/plan-limit-notice.js.map +1 -1
  168. package/dist/billing/plan-limit-toast.d.ts +6 -106
  169. package/dist/billing/plan-limit.d.ts +2 -4
  170. package/dist/billing/plan-price.d.ts +10 -12
  171. package/dist/billing/subscription-actions.d.ts +6 -108
  172. package/dist/billing/subscription-actions.js +2 -2
  173. package/dist/billing/subscription-actions.js.map +1 -1
  174. package/dist/billing/subscription-status-chip.d.ts +7 -107
  175. package/dist/chart.d.ts +12 -112
  176. package/dist/chart.js +4 -0
  177. package/dist/chart.js.map +1 -1
  178. package/dist/components/account-chips-labels.d.ts +10 -0
  179. package/dist/components/account-chips-labels.js +15 -0
  180. package/dist/components/account-chips-labels.js.map +1 -0
  181. package/dist/components/account-chips.d.ts +22 -44
  182. package/dist/components/account-chips.js +9 -14
  183. package/dist/components/account-chips.js.map +1 -1
  184. package/dist/components/alert-banner.d.ts +15 -11
  185. package/dist/components/alert-banner.js +28 -18
  186. package/dist/components/alert-banner.js.map +1 -1
  187. package/dist/components/amount-input.d.ts +66 -109
  188. package/dist/components/amount-input.js +259 -283
  189. package/dist/components/amount-input.js.map +1 -1
  190. package/dist/components/appearance-labels.d.ts +6 -10
  191. package/dist/components/appearance-labels.js.map +1 -1
  192. package/dist/components/authed-image-labels.d.ts +2 -0
  193. package/dist/components/authed-image-labels.js +10 -0
  194. package/dist/components/authed-image-labels.js.map +1 -0
  195. package/dist/components/authed-image.d.ts +11 -13
  196. package/dist/components/authed-image.js +2 -6
  197. package/dist/components/authed-image.js.map +1 -1
  198. package/dist/components/autocomplete.d.ts +13 -11
  199. package/dist/components/autocomplete.js +35 -30
  200. package/dist/components/autocomplete.js.map +1 -1
  201. package/dist/components/breadcrumbs-labels.d.ts +2 -0
  202. package/dist/components/breadcrumbs-labels.js +9 -0
  203. package/dist/components/breadcrumbs-labels.js.map +1 -0
  204. package/dist/components/breadcrumbs.d.ts +10 -12
  205. package/dist/components/breadcrumbs.js +7 -10
  206. package/dist/components/breadcrumbs.js.map +1 -1
  207. package/dist/components/bulk-action-bar-labels.d.ts +2 -0
  208. package/dist/components/bulk-action-bar-labels.js +10 -0
  209. package/dist/components/bulk-action-bar-labels.js.map +1 -0
  210. package/dist/components/bulk-action-bar.d.ts +10 -12
  211. package/dist/components/bulk-action-bar.js +9 -12
  212. package/dist/components/bulk-action-bar.js.map +1 -1
  213. package/dist/components/button-group.d.ts +7 -109
  214. package/dist/components/button-group.js +5 -5
  215. package/dist/components/button-group.js.map +1 -1
  216. package/dist/components/button-look.d.ts +88 -0
  217. package/dist/components/button-look.js +91 -0
  218. package/dist/components/button-look.js.map +1 -0
  219. package/dist/components/button.d.ts +153 -0
  220. package/dist/components/button.js +165 -0
  221. package/dist/components/button.js.map +1 -0
  222. package/dist/components/calculator.d.ts +8 -106
  223. package/dist/components/calculator.js +10 -7
  224. package/dist/components/calculator.js.map +1 -1
  225. package/dist/components/calendar-heatmap-labels.d.ts +3 -0
  226. package/dist/components/calendar-heatmap-labels.js +12 -0
  227. package/dist/components/calendar-heatmap-labels.js.map +1 -0
  228. package/dist/components/calendar-heatmap.d.ts +13 -16
  229. package/dist/components/calendar-heatmap.js +7 -13
  230. package/dist/components/calendar-heatmap.js.map +1 -1
  231. package/dist/components/card.d.ts +145 -0
  232. package/dist/components/card.js +186 -0
  233. package/dist/components/card.js.map +1 -0
  234. package/dist/components/chart-height.d.ts +4 -7
  235. package/dist/components/chart-zoom-core.d.ts +202 -0
  236. package/dist/components/chart-zoom-core.js +334 -0
  237. package/dist/components/chart-zoom-core.js.map +1 -0
  238. package/dist/components/chart-zoom.d.ts +39 -205
  239. package/dist/components/chart-zoom.js +15 -316
  240. package/dist/components/chart-zoom.js.map +1 -1
  241. package/dist/components/chart.d.ts +11 -15
  242. package/dist/components/chart.js +11 -11
  243. package/dist/components/chart.js.map +1 -1
  244. package/dist/components/checkbox-group.d.ts +6 -10
  245. package/dist/components/checkbox-group.js +10 -9
  246. package/dist/components/checkbox-group.js.map +1 -1
  247. package/dist/components/checkbox.d.ts +8 -12
  248. package/dist/components/checkbox.js +20 -18
  249. package/dist/components/checkbox.js.map +1 -1
  250. package/dist/components/chip-input.d.ts +73 -0
  251. package/dist/components/chip-input.js +224 -0
  252. package/dist/components/chip-input.js.map +1 -0
  253. package/dist/components/chip-labels.d.ts +2 -0
  254. package/dist/components/chip-labels.js +12 -0
  255. package/dist/components/chip-labels.js.map +1 -0
  256. package/dist/components/chip.d.ts +18 -93
  257. package/dist/components/chip.js +74 -426
  258. package/dist/components/chip.js.map +1 -1
  259. package/dist/components/choice-card.d.ts +21 -18
  260. package/dist/components/choice-card.js +45 -45
  261. package/dist/components/choice-card.js.map +1 -1
  262. package/dist/components/column-mapper-labels.d.ts +5 -0
  263. package/dist/components/column-mapper-labels.js +34 -0
  264. package/dist/components/column-mapper-labels.js.map +1 -0
  265. package/dist/components/column-mapper.d.ts +15 -17
  266. package/dist/components/column-mapper.js +11 -37
  267. package/dist/components/column-mapper.js.map +1 -1
  268. package/dist/components/combobox-core.d.ts +79 -40
  269. package/dist/components/combobox-core.js +189 -122
  270. package/dist/components/combobox-core.js.map +1 -1
  271. package/dist/components/combobox-suggestions.d.ts +76 -0
  272. package/dist/components/combobox-suggestions.js +56 -0
  273. package/dist/components/combobox-suggestions.js.map +1 -0
  274. package/dist/components/combobox.d.ts +14 -159
  275. package/dist/components/combobox.js +40 -507
  276. package/dist/components/combobox.js.map +1 -1
  277. package/dist/components/confirm-dialog-labels.d.ts +7 -0
  278. package/dist/components/confirm-dialog-labels.js +10 -0
  279. package/dist/components/confirm-dialog-labels.js.map +1 -0
  280. package/dist/components/confirm-dialog.d.ts +165 -100
  281. package/dist/components/confirm-dialog.js +2 -6
  282. package/dist/components/confirm-dialog.js.map +1 -1
  283. package/dist/components/copy-button-labels.d.ts +2 -0
  284. package/dist/components/copy-button-labels.js +12 -0
  285. package/dist/components/copy-button-labels.js.map +1 -0
  286. package/dist/components/copy-button.d.ts +70 -100
  287. package/dist/components/copy-button.js +4 -9
  288. package/dist/components/copy-button.js.map +1 -1
  289. package/dist/components/country-select-labels.d.ts +2 -0
  290. package/dist/components/country-select-labels.js +10 -0
  291. package/dist/components/country-select-labels.js.map +1 -0
  292. package/dist/components/country-select.d.ts +18 -15
  293. package/dist/components/country-select.js +49 -64
  294. package/dist/components/country-select.js.map +1 -1
  295. package/dist/components/currency-option-list.d.ts +63 -0
  296. package/dist/components/currency-option-list.js +135 -0
  297. package/dist/components/currency-option-list.js.map +1 -0
  298. package/dist/components/currency-select.d.ts +10 -30
  299. package/dist/components/currency-select.js +50 -133
  300. package/dist/components/currency-select.js.map +1 -1
  301. package/dist/components/danger-confirm-labels.d.ts +14 -0
  302. package/dist/components/danger-confirm-labels.js +17 -0
  303. package/dist/components/danger-confirm-labels.js.map +1 -0
  304. package/dist/components/danger-confirm.d.ts +448 -100
  305. package/dist/components/danger-confirm.js +40 -46
  306. package/dist/components/danger-confirm.js.map +1 -1
  307. package/dist/components/data-table-cells.d.ts +9 -24
  308. package/dist/components/data-table-cells.js +1 -1
  309. package/dist/components/data-table-cells.js.map +1 -1
  310. package/dist/components/data-table-column-settings.d.ts +16 -0
  311. package/dist/components/data-table-column-settings.js +119 -0
  312. package/dist/components/data-table-column-settings.js.map +1 -0
  313. package/dist/components/data-table-filter-popover.d.ts +5 -19
  314. package/dist/components/data-table-filter-popover.js +39 -22
  315. package/dist/components/data-table-filter-popover.js.map +1 -1
  316. package/dist/components/data-table-filters.d.ts +93 -15
  317. package/dist/components/data-table-filters.js +22 -7
  318. package/dist/components/data-table-filters.js.map +1 -1
  319. package/dist/components/data-table-head.d.ts +36 -0
  320. package/dist/components/data-table-head.js +190 -0
  321. package/dist/components/data-table-head.js.map +1 -0
  322. package/dist/components/data-table-labels.d.ts +124 -15
  323. package/dist/components/data-table-labels.js +9 -5
  324. package/dist/components/data-table-labels.js.map +1 -1
  325. package/dist/components/data-table-mobile.d.ts +106 -0
  326. package/dist/components/data-table-mobile.js +412 -0
  327. package/dist/components/data-table-mobile.js.map +1 -0
  328. package/dist/components/data-table-pagination.d.ts +6 -21
  329. package/dist/components/data-table-pagination.js +7 -7
  330. package/dist/components/data-table-pagination.js.map +1 -1
  331. package/dist/components/data-table-resize.d.ts +37 -0
  332. package/dist/components/data-table-resize.js +103 -0
  333. package/dist/components/data-table-resize.js.map +1 -0
  334. package/dist/components/data-table-row-actions.d.ts +24 -0
  335. package/dist/components/data-table-row-actions.js +95 -0
  336. package/dist/components/data-table-row-actions.js.map +1 -0
  337. package/dist/components/data-table-selection.d.ts +21 -0
  338. package/dist/components/data-table-selection.js +30 -0
  339. package/dist/components/data-table-selection.js.map +1 -0
  340. package/dist/components/data-table-shared.d.ts +77 -0
  341. package/dist/components/data-table-shared.js +77 -0
  342. package/dist/components/data-table-shared.js.map +1 -0
  343. package/dist/components/data-table-sort.d.ts +8 -10
  344. package/dist/components/data-table.d.ts +603 -15
  345. package/dist/components/data-table.js +134 -927
  346. package/dist/components/data-table.js.map +1 -1
  347. package/dist/components/date-field.d.ts +203 -0
  348. package/dist/components/date-field.js +270 -0
  349. package/dist/components/date-field.js.map +1 -0
  350. package/dist/components/date-picker.d.ts +6 -261
  351. package/dist/components/date-picker.js +24 -760
  352. package/dist/components/date-picker.js.map +1 -1
  353. package/dist/components/date-range-picker.d.ts +125 -0
  354. package/dist/components/date-range-picker.js +261 -0
  355. package/dist/components/date-range-picker.js.map +1 -0
  356. package/dist/components/description-list-labels.d.ts +2 -0
  357. package/dist/components/description-list-labels.js +8 -0
  358. package/dist/components/description-list-labels.js.map +1 -0
  359. package/dist/components/description-list.d.ts +13 -15
  360. package/dist/components/description-list.js +17 -11
  361. package/dist/components/description-list.js.map +1 -1
  362. package/dist/components/dialog-frame-labels.d.ts +2 -0
  363. package/dist/components/dialog-frame-labels.js +6 -0
  364. package/dist/components/dialog-frame-labels.js.map +1 -0
  365. package/dist/components/dialog-frame.d.ts +7 -11
  366. package/dist/components/dialog-frame.js +6 -6
  367. package/dist/components/dialog-frame.js.map +1 -1
  368. package/dist/components/disclosure.d.ts +6 -10
  369. package/dist/components/disclosure.js +11 -11
  370. package/dist/components/disclosure.js.map +1 -1
  371. package/dist/components/dropdown.d.ts +55 -27
  372. package/dist/components/dropdown.js +62 -31
  373. package/dist/components/dropdown.js.map +1 -1
  374. package/dist/components/empty-state.d.ts +64 -0
  375. package/dist/components/empty-state.js +70 -0
  376. package/dist/components/empty-state.js.map +1 -0
  377. package/dist/components/entity-combobox.d.ts +10 -11
  378. package/dist/components/entity-combobox.js +14 -13
  379. package/dist/components/entity-combobox.js.map +1 -1
  380. package/dist/components/error-boundary-labels.d.ts +2 -0
  381. package/dist/components/error-boundary-labels.js +19 -0
  382. package/dist/components/error-boundary-labels.js.map +1 -0
  383. package/dist/components/error-boundary.d.ts +17 -17
  384. package/dist/components/error-boundary.js +5 -17
  385. package/dist/components/error-boundary.js.map +1 -1
  386. package/dist/components/facing-pair.d.ts +7 -115
  387. package/dist/components/facing-pair.js +1 -1
  388. package/dist/components/facing-pair.js.map +1 -1
  389. package/dist/components/field-base.d.ts +260 -0
  390. package/dist/components/field-base.js +228 -0
  391. package/dist/components/field-base.js.map +1 -0
  392. package/dist/components/field-parts.d.ts +188 -87
  393. package/dist/components/field-parts.js +60 -33
  394. package/dist/components/field-parts.js.map +1 -1
  395. package/dist/components/field-strip.d.ts +19 -28
  396. package/dist/components/field-strip.js +2 -2
  397. package/dist/components/field-strip.js.map +1 -1
  398. package/dist/components/field-sync-labels.d.ts +2 -0
  399. package/dist/components/field-sync-labels.js +12 -0
  400. package/dist/components/field-sync-labels.js.map +1 -0
  401. package/dist/components/field-sync.d.ts +20 -19
  402. package/dist/components/field-sync.js +4 -10
  403. package/dist/components/field-sync.js.map +1 -1
  404. package/dist/components/field.d.ts +45 -10
  405. package/dist/components/field.js +10 -8
  406. package/dist/components/field.js.map +1 -1
  407. package/dist/components/file-button.d.ts +85 -100
  408. package/dist/components/file-button.js +23 -169
  409. package/dist/components/file-button.js.map +1 -1
  410. package/dist/components/file-dropzone.d.ts +9 -109
  411. package/dist/components/file-dropzone.js +22 -22
  412. package/dist/components/file-dropzone.js.map +1 -1
  413. package/dist/components/floating-panel-labels.d.ts +2 -0
  414. package/dist/components/floating-panel-labels.js +9 -0
  415. package/dist/components/floating-panel-labels.js.map +1 -0
  416. package/dist/components/floating-panel.d.ts +17 -21
  417. package/dist/components/floating-panel.js +19 -18
  418. package/dist/components/floating-panel.js.map +1 -1
  419. package/dist/components/focus-ring.d.ts +9 -6
  420. package/dist/components/focus-ring.js +2 -2
  421. package/dist/components/focus-ring.js.map +1 -1
  422. package/dist/components/form-actions-labels.d.ts +2 -0
  423. package/dist/components/form-actions-labels.js +10 -0
  424. package/dist/components/form-actions-labels.js.map +1 -0
  425. package/dist/components/form-actions.d.ts +280 -100
  426. package/dist/components/form-actions.js +10 -20
  427. package/dist/components/form-actions.js.map +1 -1
  428. package/dist/components/full-bleed-dialog.d.ts +7 -8
  429. package/dist/components/full-bleed-dialog.js +14 -13
  430. package/dist/components/full-bleed-dialog.js.map +1 -1
  431. package/dist/components/grouped-picker.d.ts +21 -16
  432. package/dist/components/grouped-picker.js +76 -62
  433. package/dist/components/grouped-picker.js.map +1 -1
  434. package/dist/components/help-popover.d.ts +60 -0
  435. package/dist/components/help-popover.js +48 -0
  436. package/dist/components/help-popover.js.map +1 -0
  437. package/dist/components/hover-menu.d.ts +17 -16
  438. package/dist/components/hover-menu.js +18 -17
  439. package/dist/components/hover-menu.js.map +1 -1
  440. package/dist/components/iban-input-labels.d.ts +2 -0
  441. package/dist/components/iban-input-labels.js +13 -0
  442. package/dist/components/iban-input-labels.js.map +1 -0
  443. package/dist/components/iban-input.d.ts +73 -100
  444. package/dist/components/iban-input.js +22 -15
  445. package/dist/components/iban-input.js.map +1 -1
  446. package/dist/components/icon-button.d.ts +300 -0
  447. package/dist/components/icon-button.js +465 -0
  448. package/dist/components/icon-button.js.map +1 -0
  449. package/dist/components/icon-picker-labels.d.ts +2 -0
  450. package/dist/components/icon-picker-labels.js +12 -0
  451. package/dist/components/icon-picker-labels.js.map +1 -0
  452. package/dist/components/icon-picker.d.ts +13 -13
  453. package/dist/components/icon-picker.js +18 -17
  454. package/dist/components/icon-picker.js.map +1 -1
  455. package/dist/components/image-grid-labels.d.ts +2 -0
  456. package/dist/components/image-grid-labels.js +10 -0
  457. package/dist/components/image-grid-labels.js.map +1 -0
  458. package/dist/components/image-grid.d.ts +12 -14
  459. package/dist/components/image-grid.js +6 -10
  460. package/dist/components/image-grid.js.map +1 -1
  461. package/dist/components/inline-edit-field-labels.d.ts +2 -0
  462. package/dist/components/inline-edit-field-labels.js +10 -0
  463. package/dist/components/inline-edit-field-labels.js.map +1 -0
  464. package/dist/components/inline-edit-field.d.ts +11 -13
  465. package/dist/components/inline-edit-field.js +11 -13
  466. package/dist/components/inline-edit-field.js.map +1 -1
  467. package/dist/components/inline-entity-combobox.d.ts +155 -0
  468. package/dist/components/inline-entity-combobox.js +467 -0
  469. package/dist/components/inline-entity-combobox.js.map +1 -0
  470. package/dist/components/input.d.ts +98 -0
  471. package/dist/components/input.js +219 -0
  472. package/dist/components/input.js.map +1 -0
  473. package/dist/components/jump-calendar.d.ts +8 -0
  474. package/dist/components/jump-calendar.js +274 -0
  475. package/dist/components/jump-calendar.js.map +1 -0
  476. package/dist/components/language-select.d.ts +20 -110
  477. package/dist/components/language-select.js +12 -7
  478. package/dist/components/language-select.js.map +1 -1
  479. package/dist/components/legal-labels.d.ts +2 -0
  480. package/dist/components/legal-labels.js +100 -0
  481. package/dist/components/legal-labels.js.map +1 -0
  482. package/dist/components/legal-page.d.ts +17 -117
  483. package/dist/components/legal-page.js +2 -2
  484. package/dist/components/legal-page.js.map +1 -1
  485. package/dist/components/legal.d.ts +353 -100
  486. package/dist/components/legal.js +7 -101
  487. package/dist/components/legal.js.map +1 -1
  488. package/dist/components/lightbox-labels.d.ts +2 -0
  489. package/dist/components/lightbox-labels.js +17 -0
  490. package/dist/components/lightbox-labels.js.map +1 -0
  491. package/dist/components/lightbox.d.ts +12 -14
  492. package/dist/components/lightbox.js +9 -19
  493. package/dist/components/lightbox.js.map +1 -1
  494. package/dist/components/line-items-labels.d.ts +2 -0
  495. package/dist/components/line-items-labels.js +13 -0
  496. package/dist/components/line-items-labels.js.map +1 -0
  497. package/dist/components/line-items.d.ts +16 -18
  498. package/dist/components/line-items.js +18 -26
  499. package/dist/components/line-items.js.map +1 -1
  500. package/dist/components/list-labels.d.ts +2 -0
  501. package/dist/components/list-labels.js +9 -0
  502. package/dist/components/list-labels.js.map +1 -0
  503. package/dist/components/list.d.ts +32 -21
  504. package/dist/components/list.js +41 -25
  505. package/dist/components/list.js.map +1 -1
  506. package/dist/components/loading-state.d.ts +5 -9
  507. package/dist/components/loading-state.js +2 -2
  508. package/dist/components/loading-state.js.map +1 -1
  509. package/dist/components/measured-grid-labels.d.ts +4 -0
  510. package/dist/components/measured-grid-labels.js +21 -0
  511. package/dist/components/measured-grid-labels.js.map +1 -0
  512. package/dist/components/measured-grid.d.ts +13 -17
  513. package/dist/components/measured-grid.js +31 -50
  514. package/dist/components/measured-grid.js.map +1 -1
  515. package/dist/components/menu-item.d.ts +10 -10
  516. package/dist/components/menu-item.js +9 -9
  517. package/dist/components/menu-item.js.map +1 -1
  518. package/dist/components/mini-calendar-labels.d.ts +4 -0
  519. package/dist/components/mini-calendar-labels.js +14 -0
  520. package/dist/components/mini-calendar-labels.js.map +1 -0
  521. package/dist/components/mini-calendar.d.ts +10 -14
  522. package/dist/components/mini-calendar.js +22 -29
  523. package/dist/components/mini-calendar.js.map +1 -1
  524. package/dist/components/modal.d.ts +26 -18
  525. package/dist/components/modal.js +8 -11
  526. package/dist/components/modal.js.map +1 -1
  527. package/dist/components/money-draft.d.ts +34 -0
  528. package/dist/components/money-draft.js +39 -0
  529. package/dist/components/money-draft.js.map +1 -0
  530. package/dist/components/money-field.d.ts +13 -110
  531. package/dist/components/money-field.js +6 -22
  532. package/dist/components/money-field.js.map +1 -1
  533. package/dist/components/month-picker-labels.d.ts +5 -0
  534. package/dist/components/month-picker-labels.js +18 -0
  535. package/dist/components/month-picker-labels.js.map +1 -0
  536. package/dist/components/month-picker.d.ts +15 -13
  537. package/dist/components/month-picker.js +34 -32
  538. package/dist/components/month-picker.js.map +1 -1
  539. package/dist/components/multi-entity-combobox.d.ts +9 -11
  540. package/dist/components/multi-entity-combobox.js +14 -13
  541. package/dist/components/multi-entity-combobox.js.map +1 -1
  542. package/dist/components/multi-select.d.ts +81 -21
  543. package/dist/components/multi-select.js +171 -197
  544. package/dist/components/multi-select.js.map +1 -1
  545. package/dist/components/nav-pills.d.ts +9 -10
  546. package/dist/components/nav-pills.js +53 -42
  547. package/dist/components/nav-pills.js.map +1 -1
  548. package/dist/components/number-field.d.ts +13 -110
  549. package/dist/components/number-field.js +2 -3
  550. package/dist/components/number-field.js.map +1 -1
  551. package/dist/components/number-input.d.ts +55 -109
  552. package/dist/components/number-input.js +50 -67
  553. package/dist/components/number-input.js.map +1 -1
  554. package/dist/components/numeric-field.d.ts +85 -0
  555. package/dist/components/numeric-field.js +71 -0
  556. package/dist/components/numeric-field.js.map +1 -0
  557. package/dist/components/numpad-sheet.d.ts +5 -107
  558. package/dist/components/numpad-sheet.js +7 -7
  559. package/dist/components/numpad-sheet.js.map +1 -1
  560. package/dist/components/one-time-code-input.d.ts +6 -7
  561. package/dist/components/one-time-code-input.js +119 -124
  562. package/dist/components/one-time-code-input.js.map +1 -1
  563. package/dist/components/page-contents-labels.d.ts +2 -0
  564. package/dist/components/page-contents-labels.js +8 -0
  565. package/dist/components/page-contents-labels.js.map +1 -0
  566. package/dist/components/page-contents.d.ts +13 -15
  567. package/dist/components/page-contents.js +7 -9
  568. package/dist/components/page-contents.js.map +1 -1
  569. package/dist/components/page-header.d.ts +10 -10
  570. package/dist/components/page-header.js +3 -3
  571. package/dist/components/page-header.js.map +1 -1
  572. package/dist/components/password-strength-labels.d.ts +2 -0
  573. package/dist/components/password-strength-labels.js +21 -0
  574. package/dist/components/password-strength-labels.js.map +1 -0
  575. package/dist/components/password-strength.d.ts +15 -17
  576. package/dist/components/password-strength.js +7 -22
  577. package/dist/components/password-strength.js.map +1 -1
  578. package/dist/components/phone-input-labels.d.ts +2 -0
  579. package/dist/components/phone-input-labels.js +9 -0
  580. package/dist/components/phone-input-labels.js.map +1 -0
  581. package/dist/components/phone-input.d.ts +75 -100
  582. package/dist/components/phone-input.js +20 -23
  583. package/dist/components/phone-input.js.map +1 -1
  584. package/dist/components/picker-sheet.d.ts +20 -8
  585. package/dist/components/picker-sheet.js +22 -11
  586. package/dist/components/picker-sheet.js.map +1 -1
  587. package/dist/components/pie-chart-labels.d.ts +2 -4
  588. package/dist/components/pie-chart.d.ts +8 -11
  589. package/dist/components/pie-chart.js +5 -5
  590. package/dist/components/pie-chart.js.map +1 -1
  591. package/dist/components/popover-labels.d.ts +2 -0
  592. package/dist/components/popover-labels.js +11 -0
  593. package/dist/components/popover-labels.js.map +1 -0
  594. package/dist/components/popover.d.ts +13 -11
  595. package/dist/components/popover.js +21 -23
  596. package/dist/components/popover.js.map +1 -1
  597. package/dist/components/progress-bar-labels.d.ts +2 -0
  598. package/dist/components/progress-bar-labels.js +9 -0
  599. package/dist/components/progress-bar-labels.js.map +1 -0
  600. package/dist/components/progress-bar.d.ts +16 -15
  601. package/dist/components/progress-bar.js +22 -20
  602. package/dist/components/progress-bar.js.map +1 -1
  603. package/dist/components/qr-code.d.ts +4 -8
  604. package/dist/components/qr-code.js.map +1 -1
  605. package/dist/components/reauth-dialog-labels.d.ts +2 -0
  606. package/dist/components/reauth-dialog-labels.js +12 -0
  607. package/dist/components/reauth-dialog-labels.js.map +1 -0
  608. package/dist/components/reauth-dialog.d.ts +8 -10
  609. package/dist/components/reauth-dialog.js +3 -8
  610. package/dist/components/reauth-dialog.js.map +1 -1
  611. package/dist/components/row-actions-labels.d.ts +2 -0
  612. package/dist/components/row-actions-labels.js +9 -0
  613. package/dist/components/row-actions-labels.js.map +1 -0
  614. package/dist/components/row-actions.d.ts +224 -100
  615. package/dist/components/row-actions.js +4 -5
  616. package/dist/components/row-actions.js.map +1 -1
  617. package/dist/components/scroll-area.d.ts +6 -9
  618. package/dist/components/scroll-area.js +4 -10
  619. package/dist/components/scroll-area.js.map +1 -1
  620. package/dist/components/search-field.d.ts +12 -27
  621. package/dist/components/search-field.js +13 -16
  622. package/dist/components/search-field.js.map +1 -1
  623. package/dist/components/select.d.ts +69 -0
  624. package/dist/components/select.js +164 -0
  625. package/dist/components/select.js.map +1 -0
  626. package/dist/components/separator.d.ts +3 -7
  627. package/dist/components/separator.js.map +1 -1
  628. package/dist/components/series-chart-axes.d.ts +120 -0
  629. package/dist/components/series-chart-axes.js +164 -0
  630. package/dist/components/series-chart-axes.js.map +1 -0
  631. package/dist/components/series-chart-budget.d.ts +8 -9
  632. package/dist/components/series-chart-labels.d.ts +2 -4
  633. package/dist/components/series-chart-thin.d.ts +34 -0
  634. package/dist/components/series-chart-thin.js +103 -0
  635. package/dist/components/series-chart-thin.js.map +1 -0
  636. package/dist/components/series-chart-ticks.d.ts +9 -11
  637. package/dist/components/series-chart.d.ts +64 -213
  638. package/dist/components/series-chart.js +69 -160
  639. package/dist/components/series-chart.js.map +1 -1
  640. package/dist/components/server-wake-labels.d.ts +2 -0
  641. package/dist/components/server-wake-labels.js +9 -0
  642. package/dist/components/server-wake-labels.js.map +1 -0
  643. package/dist/components/server-wake.d.ts +32 -23
  644. package/dist/components/server-wake.js +15 -35
  645. package/dist/components/server-wake.js.map +1 -1
  646. package/dist/components/settings-fields.d.ts +46 -117
  647. package/dist/components/settings-fields.js +13 -3
  648. package/dist/components/settings-fields.js.map +1 -1
  649. package/dist/components/share-card-labels.d.ts +2 -0
  650. package/dist/components/share-card-labels.js +29 -0
  651. package/dist/components/share-card-labels.js.map +1 -0
  652. package/dist/components/share-card.d.ts +188 -100
  653. package/dist/components/share-card.js +16 -34
  654. package/dist/components/share-card.js.map +1 -1
  655. package/dist/components/sign-chip-labels.d.ts +2 -0
  656. package/dist/components/sign-chip-labels.js +11 -0
  657. package/dist/components/sign-chip-labels.js.map +1 -0
  658. package/dist/components/sign-chip.d.ts +7 -9
  659. package/dist/components/sign-chip.js +2 -7
  660. package/dist/components/sign-chip.js.map +1 -1
  661. package/dist/components/signature-pad-labels.d.ts +2 -0
  662. package/dist/components/signature-pad-labels.js +23 -0
  663. package/dist/components/signature-pad-labels.js.map +1 -0
  664. package/dist/components/signature-pad.d.ts +16 -15
  665. package/dist/components/signature-pad.js +22 -35
  666. package/dist/components/signature-pad.js.map +1 -1
  667. package/dist/components/signed-amount-labels.d.ts +2 -0
  668. package/dist/components/signed-amount-labels.js +9 -0
  669. package/dist/components/signed-amount-labels.js.map +1 -0
  670. package/dist/components/signed-amount.d.ts +19 -21
  671. package/dist/components/signed-amount.js +12 -15
  672. package/dist/components/signed-amount.js.map +1 -1
  673. package/dist/components/skeleton.d.ts +13 -9
  674. package/dist/components/skeleton.js +1 -1
  675. package/dist/components/skeleton.js.map +1 -1
  676. package/dist/components/slider.d.ts +16 -11
  677. package/dist/components/slider.js +23 -18
  678. package/dist/components/slider.js.map +1 -1
  679. package/dist/components/sparkline-labels.d.ts +2 -0
  680. package/dist/components/sparkline-labels.js +13 -0
  681. package/dist/components/sparkline-labels.js.map +1 -0
  682. package/dist/components/sparkline.d.ts +10 -12
  683. package/dist/components/sparkline.js +10 -17
  684. package/dist/components/sparkline.js.map +1 -1
  685. package/dist/components/spinner.d.ts +45 -0
  686. package/dist/components/spinner.js +39 -0
  687. package/dist/components/spinner.js.map +1 -0
  688. package/dist/components/stat-tile-labels.d.ts +2 -0
  689. package/dist/components/stat-tile-labels.js +14 -0
  690. package/dist/components/stat-tile-labels.js.map +1 -0
  691. package/dist/components/stat-tile.d.ts +15 -17
  692. package/dist/components/stat-tile.js +25 -32
  693. package/dist/components/stat-tile.js.map +1 -1
  694. package/dist/components/status-dot.d.ts +8 -20
  695. package/dist/components/status-dot.js +13 -12
  696. package/dist/components/status-dot.js.map +1 -1
  697. package/dist/components/swatch-picker-labels.d.ts +2 -0
  698. package/dist/components/swatch-picker-labels.js +9 -0
  699. package/dist/components/swatch-picker-labels.js.map +1 -0
  700. package/dist/components/swatch-picker.d.ts +14 -14
  701. package/dist/components/swatch-picker.js +14 -8
  702. package/dist/components/swatch-picker.js.map +1 -1
  703. package/dist/components/swipeable-row.d.ts +14 -27
  704. package/dist/components/swipeable-row.js +2 -2
  705. package/dist/components/swipeable-row.js.map +1 -1
  706. package/dist/components/switch.d.ts +10 -13
  707. package/dist/components/switch.js +13 -12
  708. package/dist/components/switch.js.map +1 -1
  709. package/dist/components/table.d.ts +28 -31
  710. package/dist/components/table.js +15 -15
  711. package/dist/components/table.js.map +1 -1
  712. package/dist/components/tabs.d.ts +182 -0
  713. package/dist/components/tabs.js +312 -0
  714. package/dist/components/tabs.js.map +1 -0
  715. package/dist/components/text-link.d.ts +17 -118
  716. package/dist/components/text-link.js +7 -7
  717. package/dist/components/text-link.js.map +1 -1
  718. package/dist/components/text.d.ts +14 -13
  719. package/dist/components/text.js +5 -5
  720. package/dist/components/text.js.map +1 -1
  721. package/dist/components/textarea.d.ts +20 -0
  722. package/dist/components/textarea.js +161 -0
  723. package/dist/components/textarea.js.map +1 -0
  724. package/dist/components/tile-radio.d.ts +6 -10
  725. package/dist/components/tile-radio.js +6 -6
  726. package/dist/components/tile-radio.js.map +1 -1
  727. package/dist/components/time-input.d.ts +5 -107
  728. package/dist/components/time-input.js +14 -5
  729. package/dist/components/time-input.js.map +1 -1
  730. package/dist/components/toast-labels.d.ts +2 -0
  731. package/dist/components/toast-labels.js +11 -0
  732. package/dist/components/toast-labels.js.map +1 -0
  733. package/dist/components/toast.d.ts +21 -23
  734. package/dist/components/toast.js +1 -6
  735. package/dist/components/toast.js.map +1 -1
  736. package/dist/components/toggle-group.d.ts +26 -26
  737. package/dist/components/toggle-group.js +43 -19
  738. package/dist/components/toggle-group.js.map +1 -1
  739. package/dist/components/toggle-legend.d.ts +18 -21
  740. package/dist/components/toggle-legend.js +3 -3
  741. package/dist/components/toggle-legend.js.map +1 -1
  742. package/dist/components/tooltip.d.ts +16 -15
  743. package/dist/components/tooltip.js +4 -9
  744. package/dist/components/tooltip.js.map +1 -1
  745. package/dist/components/translation-review-editor.d.ts +8 -10
  746. package/dist/components/translation-review-editor.js +6 -5
  747. package/dist/components/translation-review-editor.js.map +1 -1
  748. package/dist/components/translation-review-labels.d.ts +4 -7
  749. package/dist/components/translation-review-parts.d.ts +19 -28
  750. package/dist/components/translation-review-parts.js +4 -7
  751. package/dist/components/translation-review-parts.js.map +1 -1
  752. package/dist/components/translation-review.d.ts +26 -24
  753. package/dist/components/translation-review.js +13 -10
  754. package/dist/components/translation-review.js.map +1 -1
  755. package/dist/components/tree-view.d.ts +7 -11
  756. package/dist/components/tree-view.js +8 -8
  757. package/dist/components/tree-view.js.map +1 -1
  758. package/dist/components/treemap.d.ts +9 -13
  759. package/dist/components/trigger-aria.d.ts +2 -4
  760. package/dist/components/ui-labels.d.ts +5 -0
  761. package/dist/components/ui-labels.js +20 -0
  762. package/dist/components/ui-labels.js.map +1 -0
  763. package/dist/components/use-anchor-dir.d.ts +3 -6
  764. package/dist/components/use-mobile-reveal.d.ts +2 -6
  765. package/dist/components/use-table-state.d.ts +154 -15
  766. package/dist/components/user-avatar.d.ts +8 -21
  767. package/dist/components/user-avatar.js +1 -1
  768. package/dist/components/user-avatar.js.map +1 -1
  769. package/dist/components/wizard-stepper.d.ts +6 -6
  770. package/dist/components/wizard-stepper.js +4 -3
  771. package/dist/components/wizard-stepper.js.map +1 -1
  772. package/dist/components/write-lock-labels.d.ts +2 -0
  773. package/dist/components/write-lock-labels.js +8 -0
  774. package/dist/components/write-lock-labels.js.map +1 -0
  775. package/dist/components/write-lock.d.ts +16 -18
  776. package/dist/components/write-lock.js +4 -8
  777. package/dist/components/write-lock.js.map +1 -1
  778. package/dist/data-table.d.ts +10 -18
  779. package/dist/data-table.js.map +1 -1
  780. package/dist/demo/demo-banner.d.ts +10 -13
  781. package/dist/demo/demo-banner.js +5 -19
  782. package/dist/demo/demo-banner.js.map +1 -1
  783. package/dist/demo/demo-countdown.d.ts +7 -9
  784. package/dist/demo/demo-ended.d.ts +10 -13
  785. package/dist/demo/demo-ended.js +4 -4
  786. package/dist/demo/demo-ended.js.map +1 -1
  787. package/dist/demo/demo-labels.d.ts +4 -5
  788. package/dist/demo/demo-labels.js.map +1 -1
  789. package/dist/demo/demo-session.d.ts +3 -5
  790. package/dist/demo/demo-start.d.ts +8 -11
  791. package/dist/demo/demo-start.js +3 -2
  792. package/dist/demo/demo-start.js.map +1 -1
  793. package/dist/feedback/feedback-attachment-labels.d.ts +16 -0
  794. package/dist/feedback/feedback-attachment-labels.js +17 -0
  795. package/dist/feedback/feedback-attachment-labels.js.map +1 -0
  796. package/dist/feedback/feedback-attachment.d.ts +312 -100
  797. package/dist/feedback/feedback-attachment.js +31 -42
  798. package/dist/feedback/feedback-attachment.js.map +1 -1
  799. package/dist/feedback/feedback-capture.d.ts +2 -4
  800. package/dist/feedback/feedback-context-labels.d.ts +2 -0
  801. package/dist/feedback/feedback-context-labels.js +9 -0
  802. package/dist/feedback/feedback-context-labels.js.map +1 -0
  803. package/dist/feedback/feedback-context.d.ts +110 -100
  804. package/dist/feedback/feedback-context.js +4 -7
  805. package/dist/feedback/feedback-context.js.map +1 -1
  806. package/dist/feedback/feedback-crash.d.ts +8 -109
  807. package/dist/feedback/feedback-dialog-labels.d.ts +12 -0
  808. package/dist/feedback/feedback-dialog-labels.js +17 -0
  809. package/dist/feedback/feedback-dialog-labels.js.map +1 -0
  810. package/dist/feedback/feedback-dialog.d.ts +186 -100
  811. package/dist/feedback/feedback-dialog.js +8 -18
  812. package/dist/feedback/feedback-dialog.js.map +1 -1
  813. package/dist/feedback/feedback-inbox.d.ts +236 -100
  814. package/dist/feedback/feedback-inbox.js +31 -141
  815. package/dist/feedback/feedback-inbox.js.map +1 -1
  816. package/dist/feedback/feedback-labels.d.ts +83 -100
  817. package/dist/feedback/feedback-labels.js.map +1 -1
  818. package/dist/feedback/feedback-menu-labels.d.ts +2 -0
  819. package/dist/feedback/feedback-menu-labels.js +10 -0
  820. package/dist/feedback/feedback-menu-labels.js.map +1 -0
  821. package/dist/feedback/feedback-menu.d.ts +83 -100
  822. package/dist/feedback/feedback-menu.js +3 -7
  823. package/dist/feedback/feedback-menu.js.map +1 -1
  824. package/dist/feedback/feedback-record.d.ts +239 -100
  825. package/dist/feedback/feedback-record.js +7 -2
  826. package/dist/feedback/feedback-record.js.map +1 -1
  827. package/dist/feedback/feedback-row-detail-labels.d.ts +2 -0
  828. package/dist/feedback/feedback-row-detail-labels.js +31 -0
  829. package/dist/feedback/feedback-row-detail-labels.js.map +1 -0
  830. package/dist/feedback/feedback-row-detail.d.ts +315 -100
  831. package/dist/feedback/feedback-row-detail.js +11 -37
  832. package/dist/feedback/feedback-row-detail.js.map +1 -1
  833. package/dist/feedback/feedback-status-undo.d.ts +66 -100
  834. package/dist/feedback/feedback-status-undo.js.map +1 -1
  835. package/dist/feedback/feedback-submit-dialog.d.ts +39 -0
  836. package/dist/feedback/feedback-submit-dialog.js +66 -0
  837. package/dist/feedback/feedback-submit-dialog.js.map +1 -0
  838. package/dist/feedback/feedback-submit.d.ts +13 -108
  839. package/dist/feedback/feedback-submit.js +19 -40
  840. package/dist/feedback/feedback-submit.js.map +1 -1
  841. package/dist/feedback/feedback-swipe.d.ts +9 -109
  842. package/dist/feedback/feedback-swipe.js +1 -1
  843. package/dist/feedback/feedback-swipe.js.map +1 -1
  844. package/dist/feedback/feedback-table-labels.d.ts +2 -0
  845. package/dist/feedback/feedback-table-labels.js +26 -0
  846. package/dist/feedback/feedback-table-labels.js.map +1 -0
  847. package/dist/feedback/feedback-table.d.ts +314 -100
  848. package/dist/feedback/feedback-table.js +11 -31
  849. package/dist/feedback/feedback-table.js.map +1 -1
  850. package/dist/feedback/feedback-thread-labels.d.ts +3 -0
  851. package/dist/feedback/feedback-thread-labels.js +21 -0
  852. package/dist/feedback/feedback-thread-labels.js.map +1 -0
  853. package/dist/feedback/feedback-thread.d.ts +378 -100
  854. package/dist/feedback/feedback-thread.js +32 -35
  855. package/dist/feedback/feedback-thread.js.map +1 -1
  856. package/dist/feedback/feedback-vocabulary.d.ts +98 -0
  857. package/dist/feedback/feedback-vocabulary.js +143 -0
  858. package/dist/feedback/feedback-vocabulary.js.map +1 -0
  859. package/dist/feedback.d.ts +15 -104
  860. package/dist/hooks/use-anchored-panel.d.ts +109 -17
  861. package/dist/hooks/use-anchored-panel.js +38 -6
  862. package/dist/hooks/use-anchored-panel.js.map +1 -1
  863. package/dist/hooks/use-anchored-rect.d.ts +15 -6
  864. package/dist/hooks/use-anchored-rect.js +2 -1
  865. package/dist/hooks/use-anchored-rect.js.map +1 -1
  866. package/dist/hooks/use-announce.d.ts +4 -6
  867. package/dist/hooks/use-authed-src.d.ts +5 -7
  868. package/dist/hooks/use-authed-src.js +3 -7
  869. package/dist/hooks/use-authed-src.js.map +1 -1
  870. package/dist/hooks/use-body-scroll-lock.d.ts +1 -3
  871. package/dist/hooks/use-breakpoint.d.ts +16 -17
  872. package/dist/hooks/use-breakpoint.js.map +1 -1
  873. package/dist/hooks/use-close-transition.d.ts +8 -8
  874. package/dist/hooks/use-close-transition.js +5 -4
  875. package/dist/hooks/use-close-transition.js.map +1 -1
  876. package/dist/hooks/use-copy-to-clipboard.d.ts +5 -7
  877. package/dist/hooks/use-debounce.d.ts +13 -6
  878. package/dist/hooks/use-debounce.js.map +1 -1
  879. package/dist/hooks/use-dismiss.d.ts +37 -11
  880. package/dist/hooks/use-dismiss.js +69 -10
  881. package/dist/hooks/use-dismiss.js.map +1 -1
  882. package/dist/hooks/use-file-drop.d.ts +8 -109
  883. package/dist/hooks/use-file-drop.js +1 -1
  884. package/dist/hooks/use-file-drop.js.map +1 -1
  885. package/dist/hooks/use-file-picker-labels.d.ts +2 -0
  886. package/dist/hooks/use-file-picker-labels.js +25 -0
  887. package/dist/hooks/use-file-picker-labels.js.map +1 -0
  888. package/dist/hooks/use-file-picker.d.ts +164 -0
  889. package/dist/hooks/use-file-picker.js +149 -0
  890. package/dist/hooks/use-file-picker.js.map +1 -0
  891. package/dist/hooks/use-focus-trap.d.ts +10 -4
  892. package/dist/hooks/use-focus-trap.js +19 -12
  893. package/dist/hooks/use-focus-trap.js.map +1 -1
  894. package/dist/hooks/use-hotkey.d.ts +7 -9
  895. package/dist/hooks/use-large-text.d.ts +3 -5
  896. package/dist/hooks/use-media-query.d.ts +1 -3
  897. package/dist/hooks/use-noindex.d.ts +1 -3
  898. package/dist/hooks/use-overlay-history.d.ts +1 -3
  899. package/dist/hooks/use-row-swipe.d.ts +5 -8
  900. package/dist/hooks/use-search-param-state.d.ts +10 -11
  901. package/dist/hooks/use-windowed-rows.d.ts +4 -7
  902. package/dist/i18n/defaults.d.ts +11 -104
  903. package/dist/i18n/defaults.js +82 -82
  904. package/dist/i18n/defaults.js.map +1 -1
  905. package/dist/i18n/german.d.ts +2 -104
  906. package/dist/i18n/german.js +56 -9
  907. package/dist/i18n/german.js.map +1 -1
  908. package/dist/i18n/kit-labels.d.ts +609 -100
  909. package/dist/i18n/kit-labels.js +22 -97
  910. package/dist/i18n/kit-labels.js.map +1 -1
  911. package/dist/i18n/languages.d.ts +197 -100
  912. package/dist/i18n/locales/de-CH.d.ts +3 -105
  913. package/dist/i18n/locales/en.d.ts +4 -104
  914. package/dist/i18n/locales/en.js +1834 -4
  915. package/dist/i18n/locales/en.js.map +7 -1
  916. package/dist/i18n/locales/es.d.ts +3 -105
  917. package/dist/i18n/locales/es.js +54 -9
  918. package/dist/i18n/locales/es.js.map +1 -1
  919. package/dist/i18n/locales/fr.d.ts +3 -105
  920. package/dist/i18n/locales/fr.js +56 -9
  921. package/dist/i18n/locales/fr.js.map +1 -1
  922. package/dist/i18n/locales/hu.d.ts +3 -105
  923. package/dist/i18n/locales/hu.js +56 -10
  924. package/dist/i18n/locales/hu.js.map +1 -1
  925. package/dist/i18n/locales/it.d.ts +3 -105
  926. package/dist/i18n/locales/it.js +55 -9
  927. package/dist/i18n/locales/it.js.map +1 -1
  928. package/dist/i18n/locales/zh.d.ts +3 -105
  929. package/dist/i18n/locales/zh.js +52 -8
  930. package/dist/i18n/locales/zh.js.map +1 -1
  931. package/dist/i18n/plurals.d.ts +20 -3
  932. package/dist/i18n/plurals.js +11 -0
  933. package/dist/i18n/plurals.js.map +1 -1
  934. package/dist/i18n/review.d.ts +5 -106
  935. package/dist/i18n/review.js +4 -0
  936. package/dist/i18n/review.js.map +1 -1
  937. package/dist/i18n/shared-labels.d.ts +17 -0
  938. package/dist/i18n/shared-labels.js +111 -0
  939. package/dist/i18n/shared-labels.js.map +1 -0
  940. package/dist/i18n/swiss.d.ts +1 -3
  941. package/dist/index.d.ts +329 -249
  942. package/dist/index.js +188 -215
  943. package/dist/index.js.map +1 -1
  944. package/dist/landing/access.d.ts +7 -9
  945. package/dist/landing/access.js.map +1 -1
  946. package/dist/landing/landing-actions.d.ts +9 -108
  947. package/dist/landing/landing-actions.js +1 -1
  948. package/dist/landing/landing-actions.js.map +1 -1
  949. package/dist/landing/landing-labels.d.ts +4 -5
  950. package/dist/landing/landing-labels.js.map +1 -1
  951. package/dist/landing/landing-sections.d.ts +21 -120
  952. package/dist/landing/landing-sections.js +15 -15
  953. package/dist/landing/landing-sections.js.map +1 -1
  954. package/dist/landing/page-seo.d.ts +7 -9
  955. package/dist/landing/public-header.d.ts +10 -110
  956. package/dist/landing/public-header.js +1 -1
  957. package/dist/landing/public-header.js.map +1 -1
  958. package/dist/landing/routing.d.ts +16 -119
  959. package/dist/landing/routing.js +2 -6
  960. package/dist/landing/routing.js.map +1 -1
  961. package/dist/lib/calc.d.ts +7 -9
  962. package/dist/lib/chip-edge-snap.d.ts +10 -0
  963. package/dist/lib/chip-edge-snap.js +131 -0
  964. package/dist/lib/chip-edge-snap.js.map +1 -0
  965. package/dist/lib/clipping.d.ts +2 -4
  966. package/dist/lib/cn.d.ts +2 -5
  967. package/dist/lib/cn.js +6 -1
  968. package/dist/lib/cn.js.map +1 -1
  969. package/dist/lib/column-mapping.d.ts +10 -13
  970. package/dist/lib/countries.d.ts +3 -5
  971. package/dist/lib/dates.d.ts +25 -25
  972. package/dist/lib/dates.js.map +1 -1
  973. package/dist/lib/decimal-marks.d.ts +8 -8
  974. package/dist/lib/decimal-marks.js +1 -1
  975. package/dist/lib/decimal-marks.js.map +1 -1
  976. package/dist/lib/direction.d.ts +4 -6
  977. package/dist/lib/document-navigation.d.ts +1 -3
  978. package/dist/lib/download.d.ts +67 -0
  979. package/dist/lib/download.js +89 -0
  980. package/dist/lib/download.js.map +1 -0
  981. package/dist/lib/floating-stack.d.ts +8 -6
  982. package/dist/lib/floating-stack.js.map +1 -1
  983. package/dist/lib/format.d.ts +24 -23
  984. package/dist/lib/format.js +3 -3
  985. package/dist/lib/format.js.map +1 -1
  986. package/dist/lib/iban.d.ts +9 -11
  987. package/dist/lib/ime.d.ts +17 -0
  988. package/dist/lib/ime.js +13 -0
  989. package/dist/lib/ime.js.map +1 -0
  990. package/dist/lib/isin.d.ts +3 -5
  991. package/dist/lib/logger.d.ts +4 -6
  992. package/dist/lib/person-name.d.ts +3 -5
  993. package/dist/lib/phone.d.ts +9 -11
  994. package/dist/lib/presence.d.ts +15 -0
  995. package/dist/lib/presence.js +8 -0
  996. package/dist/lib/presence.js.map +1 -0
  997. package/dist/lib/qr-encode.d.ts +4 -6
  998. package/dist/lib/reduced-motion.d.ts +18 -0
  999. package/dist/lib/reduced-motion.js +9 -0
  1000. package/dist/lib/reduced-motion.js.map +1 -0
  1001. package/dist/lib/round.d.ts +22 -0
  1002. package/dist/lib/round.js +15 -0
  1003. package/dist/lib/round.js.map +1 -0
  1004. package/dist/lib/safe-storage.d.ts +14 -4
  1005. package/dist/lib/safe-storage.js +24 -9
  1006. package/dist/lib/safe-storage.js.map +1 -1
  1007. package/dist/lib/server-wake.d.ts +13 -14
  1008. package/dist/lib/session-refresh.d.ts +200 -0
  1009. package/dist/lib/session-refresh.js +187 -0
  1010. package/dist/lib/session-refresh.js.map +1 -0
  1011. package/dist/lib/strip-fade.d.ts +10 -13
  1012. package/dist/lib/table-text.d.ts +14 -16
  1013. package/dist/lib/text-match.d.ts +41 -0
  1014. package/dist/lib/text-match.js +23 -0
  1015. package/dist/lib/text-match.js.map +1 -0
  1016. package/dist/lib/translation-review.d.ts +44 -45
  1017. package/dist/lib/translation-review.js +3 -2
  1018. package/dist/lib/translation-review.js.map +1 -1
  1019. package/dist/rhf/fields.d.ts +123 -188
  1020. package/dist/rhf/fields.js +46 -54
  1021. package/dist/rhf/fields.js.map +1 -1
  1022. package/dist/rhf/form-core.d.ts +153 -0
  1023. package/dist/rhf/form-core.js +143 -0
  1024. package/dist/rhf/form-core.js.map +1 -0
  1025. package/dist/rhf/form.d.ts +38 -174
  1026. package/dist/rhf/form.js +9 -131
  1027. package/dist/rhf/form.js.map +1 -1
  1028. package/dist/rhf/line-items.d.ts +40 -11
  1029. package/dist/rhf/line-items.js.map +1 -1
  1030. package/dist/rhf/use-rhf-wizard-step.d.ts +3 -6
  1031. package/dist/rhf.d.ts +4 -117
  1032. package/dist/rhf.js.map +1 -1
  1033. package/dist/search/command-palette-labels.d.ts +2 -0
  1034. package/dist/search/command-palette-labels.js +15 -0
  1035. package/dist/search/command-palette-labels.js.map +1 -0
  1036. package/dist/search/command-palette.d.ts +10 -13
  1037. package/dist/search/command-palette.js +25 -44
  1038. package/dist/search/command-palette.js.map +1 -1
  1039. package/dist/search/global-search-labels.d.ts +2 -0
  1040. package/dist/search/global-search-labels.js +12 -0
  1041. package/dist/search/global-search-labels.js.map +1 -0
  1042. package/dist/search/global-search.d.ts +17 -16
  1043. package/dist/search/global-search.js +12 -12
  1044. package/dist/search/global-search.js.map +1 -1
  1045. package/dist/search/search-index.d.ts +13 -14
  1046. package/dist/search/search-index.js +2 -1
  1047. package/dist/search/search-index.js.map +1 -1
  1048. package/dist/search/use-command-key.d.ts +9 -0
  1049. package/dist/search/use-command-key.js +18 -0
  1050. package/dist/search/use-command-key.js.map +1 -0
  1051. package/dist/search.d.ts +3 -4
  1052. package/dist/settings/settings-card-classes.d.ts +11 -0
  1053. package/dist/settings/settings-card-classes.js +8 -0
  1054. package/dist/settings/settings-card-classes.js.map +1 -0
  1055. package/dist/settings/settings-catalogue.d.ts +11 -14
  1056. package/dist/settings/settings-context.d.ts +4 -8
  1057. package/dist/settings/settings-heading.d.ts +8 -12
  1058. package/dist/settings/settings-heading.js +1 -1
  1059. package/dist/settings/settings-heading.js.map +1 -1
  1060. package/dist/settings/settings-labels.d.ts +6 -7
  1061. package/dist/settings/settings-labels.js.map +1 -1
  1062. package/dist/settings/settings-layout.d.ts +36 -13
  1063. package/dist/settings/settings-layout.js +25 -4
  1064. package/dist/settings/settings-layout.js.map +1 -1
  1065. package/dist/settings/settings-section.d.ts +4 -106
  1066. package/dist/settings/settings-section.js +2 -2
  1067. package/dist/settings/settings-section.js.map +1 -1
  1068. package/dist/settings/use-account-appearance.d.ts +11 -16
  1069. package/dist/settings/use-account-language.d.ts +8 -10
  1070. package/dist/settings/use-settings-focus.d.ts +3 -5
  1071. package/dist/settings/use-settings-focus.js +2 -4
  1072. package/dist/settings/use-settings-focus.js.map +1 -1
  1073. package/dist/settings/use-settings-route.d.ts +11 -16
  1074. package/dist/shell/app-shell-labels.d.ts +2 -0
  1075. package/dist/shell/app-shell-labels.js +9 -0
  1076. package/dist/shell/app-shell-labels.js.map +1 -0
  1077. package/dist/shell/app-shell.d.ts +216 -100
  1078. package/dist/shell/app-shell.js +51 -35
  1079. package/dist/shell/app-shell.js.map +1 -1
  1080. package/dist/shell/auth-layout.d.ts +6 -9
  1081. package/dist/shell/auth-layout.js +6 -6
  1082. package/dist/shell/auth-layout.js.map +1 -1
  1083. package/dist/shell/company-switcher-labels.d.ts +2 -0
  1084. package/dist/shell/company-switcher-labels.js +12 -0
  1085. package/dist/shell/company-switcher-labels.js.map +1 -0
  1086. package/dist/shell/company-switcher.d.ts +9 -11
  1087. package/dist/shell/company-switcher.js +3 -9
  1088. package/dist/shell/company-switcher.js.map +1 -1
  1089. package/dist/shell/option-switcher-menu.d.ts +19 -9
  1090. package/dist/shell/option-switcher-menu.js +6 -4
  1091. package/dist/shell/option-switcher-menu.js.map +1 -1
  1092. package/dist/shell/role-switcher.d.ts +5 -6
  1093. package/dist/shell/role-switcher.js +4 -3
  1094. package/dist/shell/role-switcher.js.map +1 -1
  1095. package/dist/shell/top-bar-brand.d.ts +4 -106
  1096. package/dist/shell/top-bar-brand.js +1 -1
  1097. package/dist/shell/top-bar-brand.js.map +1 -1
  1098. package/dist/shell/top-bar.d.ts +6 -9
  1099. package/dist/shell/top-bar.js +1 -1
  1100. package/dist/shell/top-bar.js.map +1 -1
  1101. package/dist/shell/topbar-action-menu.d.ts +30 -31
  1102. package/dist/shell/topbar-action-menu.js +12 -10
  1103. package/dist/shell/topbar-action-menu.js.map +1 -1
  1104. package/dist/shell/topbar-controls.d.ts +20 -18
  1105. package/dist/shell/topbar-controls.js +14 -11
  1106. package/dist/shell/topbar-controls.js.map +1 -1
  1107. package/dist/shell.d.ts +25 -115
  1108. package/dist/shell.js.map +1 -1
  1109. package/dist/table-text.d.ts +1 -1
  1110. package/dist/testing/css-variables.d.ts +4 -6
  1111. package/dist/testing/css-variables.generated.d.ts +2 -4
  1112. package/dist/testing/index.d.ts +2 -1
  1113. package/dist/testing/index.js +9 -1
  1114. package/dist/testing/index.js.map +1 -1
  1115. package/dist/testing/viewport.d.ts +93 -0
  1116. package/dist/testing/viewport.js +152 -0
  1117. package/dist/testing/viewport.js.map +1 -0
  1118. package/dist/theme/chart-palette.d.ts +7 -9
  1119. package/dist/theme/color.d.ts +14 -16
  1120. package/dist/theme/color.js +2 -1
  1121. package/dist/theme/color.js.map +1 -1
  1122. package/dist/theme/contrast-tokens.d.ts +13 -17
  1123. package/dist/theme/contrast.d.ts +22 -27
  1124. package/dist/theme/palette-derive.d.ts +16 -22
  1125. package/dist/theme/palette-derive.js +15 -7
  1126. package/dist/theme/palette-derive.js.map +1 -1
  1127. package/dist/theme/palette-presets.d.ts +25 -15
  1128. package/dist/theme/palette-presets.js +66 -66
  1129. package/dist/theme/palette-presets.js.map +1 -1
  1130. package/dist/theme/palette-store.d.ts +10 -13
  1131. package/dist/theme/text-size.d.ts +21 -26
  1132. package/dist/theme/theme-store.d.ts +9 -14
  1133. package/dist/tour/tour-labels.d.ts +2 -0
  1134. package/dist/tour/tour-labels.js +13 -0
  1135. package/dist/tour/tour-labels.js.map +1 -0
  1136. package/dist/tour/tour.d.ts +12 -14
  1137. package/dist/tour/tour.js +9 -20
  1138. package/dist/tour/tour.js.map +1 -1
  1139. package/dist/tour.d.ts +1 -2
  1140. package/dist/wizard/stepper-nav.d.ts +8 -107
  1141. package/dist/wizard/stepper-nav.js +15 -14
  1142. package/dist/wizard/stepper-nav.js.map +1 -1
  1143. package/dist/wizard/types.d.ts +18 -18
  1144. package/dist/wizard/types.js +1 -19
  1145. package/dist/wizard/types.js.map +1 -1
  1146. package/dist/wizard/use-wizard.d.ts +2 -6
  1147. package/dist/wizard/validation.d.ts +3 -7
  1148. package/dist/wizard/wizard-context.d.ts +7 -11
  1149. package/dist/wizard/wizard-labels.d.ts +4 -0
  1150. package/dist/wizard/wizard-labels.js +24 -0
  1151. package/dist/wizard/wizard-labels.js.map +1 -0
  1152. package/dist/wizard/wizard-step.d.ts +3 -7
  1153. package/dist/wizard/wizard-step.js +2 -2
  1154. package/dist/wizard/wizard-step.js.map +1 -1
  1155. package/dist/wizard/wizard-summary.d.ts +5 -8
  1156. package/dist/wizard/wizard-summary.js +6 -5
  1157. package/dist/wizard/wizard-summary.js.map +1 -1
  1158. package/dist/wizard.d.ts +7 -106
  1159. package/package.json +9 -6
  1160. package/src/account/account-parts.ts +3 -3
  1161. package/src/{components → account}/account-settings-labels.ts +11 -1
  1162. package/src/{components → account}/account-settings.tsx +145 -34
  1163. package/src/account/data-export-setting-labels.ts +20 -0
  1164. package/src/account/data-export-setting.tsx +19 -38
  1165. package/src/account/delete-account-setting-labels.ts +33 -0
  1166. package/src/account/delete-account-setting.tsx +13 -35
  1167. package/src/account/email-change-setting-labels.ts +32 -0
  1168. package/src/account/email-change-setting.tsx +17 -36
  1169. package/src/{components → account}/passkeys-setting.tsx +14 -9
  1170. package/src/account/sessions-setting-labels.ts +24 -0
  1171. package/src/account/sessions-setting.tsx +14 -28
  1172. package/src/admin/admin-action-confirm-labels.ts +19 -0
  1173. package/src/admin/admin-action-confirm.tsx +59 -38
  1174. package/src/admin/admin-action-log-labels.ts +74 -0
  1175. package/src/admin/admin-action-log.tsx +180 -54
  1176. package/src/admin/admin-parts.ts +0 -7
  1177. package/src/admin/invitations-panel-labels.ts +31 -0
  1178. package/src/admin/invitations-panel.tsx +16 -34
  1179. package/src/admin/plan-change-labels.ts +23 -0
  1180. package/src/admin/plan-change.tsx +89 -37
  1181. package/src/admin/reviewer-scope-editor-labels.ts +16 -0
  1182. package/src/admin/reviewer-scope-editor.tsx +9 -15
  1183. package/src/admin/role-select-labels.ts +16 -0
  1184. package/src/admin/role-select.tsx +13 -23
  1185. package/src/admin/transfer-ownership-dialog-labels.ts +20 -0
  1186. package/src/admin/transfer-ownership-dialog.tsx +7 -17
  1187. package/src/admin/user-roster-labels.ts +17 -0
  1188. package/src/admin/user-roster.tsx +9 -17
  1189. package/src/auth/accept-invitation-labels.ts +21 -0
  1190. package/src/auth/accept-invitation.tsx +9 -20
  1191. package/src/auth/auth-errors.ts +29 -13
  1192. package/src/auth/complete-name-dialog-labels.ts +16 -0
  1193. package/src/auth/complete-name-dialog.tsx +8 -13
  1194. package/src/auth/forgot-password-form-labels.ts +20 -0
  1195. package/src/auth/forgot-password-form.tsx +12 -20
  1196. package/src/auth/new-password-fields.tsx +1 -1
  1197. package/src/auth/not-found-page-labels.ts +12 -0
  1198. package/src/auth/not-found-page.tsx +11 -14
  1199. package/src/auth/register-form-labels.ts +31 -0
  1200. package/src/auth/register-form.tsx +18 -38
  1201. package/src/auth/reset-password-form-labels.ts +27 -0
  1202. package/src/auth/reset-password-form.tsx +12 -27
  1203. package/src/auth/sign-in-form-labels.ts +44 -0
  1204. package/src/auth/sign-in-form.tsx +18 -51
  1205. package/src/auth/status-parts.tsx +3 -3
  1206. package/src/auth/verify-email-labels.ts +26 -0
  1207. package/src/auth/verify-email.tsx +15 -30
  1208. package/src/billing/billing-banner.tsx +2 -1
  1209. package/src/billing/billing-labels.ts +1 -1
  1210. package/src/billing/checkout-processing.ts +2 -12
  1211. package/src/billing/pay-page.ts +9 -5
  1212. package/src/billing/plan-card.tsx +26 -27
  1213. package/src/billing/plan-limit-notice.tsx +1 -1
  1214. package/src/billing/subscription-actions.tsx +4 -4
  1215. package/src/chart.ts +7 -1
  1216. package/src/components/account-chips-labels.ts +16 -0
  1217. package/src/components/account-chips.tsx +13 -16
  1218. package/src/components/alert-banner.tsx +39 -19
  1219. package/src/components/amount-input.tsx +461 -405
  1220. package/src/components/appearance-labels.ts +2 -2
  1221. package/src/components/authed-image-labels.ts +11 -0
  1222. package/src/components/authed-image.tsx +6 -8
  1223. package/src/components/autocomplete.tsx +84 -80
  1224. package/src/components/breadcrumbs-labels.ts +10 -0
  1225. package/src/components/breadcrumbs.tsx +17 -14
  1226. package/src/components/bulk-action-bar-labels.ts +11 -0
  1227. package/src/components/bulk-action-bar.tsx +15 -16
  1228. package/src/components/button-group.tsx +7 -7
  1229. package/src/components/button-look.ts +230 -0
  1230. package/src/components/button.tsx +339 -0
  1231. package/src/components/calculator.tsx +18 -11
  1232. package/src/components/calendar-heatmap-labels.ts +15 -0
  1233. package/src/components/calendar-heatmap.tsx +13 -19
  1234. package/src/components/card.tsx +381 -0
  1235. package/src/components/chart-zoom-core.tsx +653 -0
  1236. package/src/components/chart-zoom.tsx +64 -648
  1237. package/src/components/chart.tsx +11 -11
  1238. package/src/components/checkbox-group.tsx +13 -10
  1239. package/src/components/checkbox.tsx +43 -42
  1240. package/src/components/chip-input.tsx +377 -0
  1241. package/src/components/chip-labels.ts +13 -0
  1242. package/src/components/chip.tsx +115 -711
  1243. package/src/components/choice-card.tsx +83 -85
  1244. package/src/components/column-mapper-labels.ts +45 -0
  1245. package/src/components/column-mapper.tsx +16 -51
  1246. package/src/components/combobox-core.tsx +351 -196
  1247. package/src/components/combobox-suggestions.tsx +129 -0
  1248. package/src/components/combobox.tsx +69 -893
  1249. package/src/components/confirm-dialog-labels.ts +13 -0
  1250. package/src/components/confirm-dialog.tsx +4 -8
  1251. package/src/components/copy-button-labels.ts +13 -0
  1252. package/src/components/copy-button.tsx +10 -12
  1253. package/src/components/country-select-labels.ts +11 -0
  1254. package/src/components/country-select.tsx +74 -89
  1255. package/src/components/currency-option-list.tsx +216 -0
  1256. package/src/components/currency-select.tsx +85 -196
  1257. package/src/components/danger-confirm-labels.ts +20 -0
  1258. package/src/components/danger-confirm.tsx +69 -77
  1259. package/src/components/data-table-cells.tsx +5 -5
  1260. package/src/components/data-table-column-settings.tsx +137 -0
  1261. package/src/components/data-table-filter-popover.tsx +49 -24
  1262. package/src/components/data-table-filters.ts +48 -11
  1263. package/src/components/data-table-head.tsx +258 -0
  1264. package/src/components/data-table-labels.ts +43 -11
  1265. package/src/components/data-table-mobile.tsx +594 -0
  1266. package/src/components/data-table-pagination.tsx +11 -10
  1267. package/src/components/data-table-resize.ts +187 -0
  1268. package/src/components/data-table-row-actions.tsx +152 -0
  1269. package/src/components/data-table-selection.ts +55 -0
  1270. package/src/components/data-table-shared.tsx +172 -0
  1271. package/src/components/data-table.tsx +178 -1300
  1272. package/src/components/date-field.tsx +627 -0
  1273. package/src/components/date-picker.tsx +58 -1446
  1274. package/src/components/date-range-picker.tsx +490 -0
  1275. package/src/components/description-list-labels.ts +9 -0
  1276. package/src/components/description-list.tsx +31 -15
  1277. package/src/components/dialog-frame-labels.ts +7 -0
  1278. package/src/components/dialog-frame.tsx +8 -6
  1279. package/src/components/disclosure.tsx +14 -14
  1280. package/src/components/dropdown.tsx +114 -42
  1281. package/src/components/empty-state.tsx +137 -0
  1282. package/src/components/entity-combobox.tsx +17 -12
  1283. package/src/components/error-boundary-labels.ts +20 -0
  1284. package/src/components/error-boundary.tsx +10 -20
  1285. package/src/components/facing-pair.ts +1 -1
  1286. package/src/components/field-base.tsx +615 -0
  1287. package/src/components/field-parts.tsx +206 -77
  1288. package/src/components/field-strip.tsx +16 -21
  1289. package/src/components/field-sync-labels.ts +13 -0
  1290. package/src/components/field-sync.tsx +11 -12
  1291. package/src/components/field.tsx +13 -11
  1292. package/src/components/file-button.tsx +64 -412
  1293. package/src/components/file-dropzone.tsx +36 -33
  1294. package/src/components/floating-panel-labels.ts +10 -0
  1295. package/src/components/floating-panel.tsx +32 -21
  1296. package/src/components/focus-ring.ts +9 -4
  1297. package/src/components/form-actions-labels.ts +11 -0
  1298. package/src/components/form-actions.tsx +17 -21
  1299. package/src/components/full-bleed-dialog.tsx +33 -25
  1300. package/src/components/grouped-picker.tsx +118 -96
  1301. package/src/components/help-popover.tsx +115 -0
  1302. package/src/components/hover-menu.tsx +46 -35
  1303. package/src/components/iban-input-labels.ts +15 -0
  1304. package/src/components/iban-input.tsx +25 -20
  1305. package/src/components/icon-button.tsx +945 -0
  1306. package/src/components/icon-picker-labels.ts +13 -0
  1307. package/src/components/icon-picker.tsx +27 -24
  1308. package/src/components/image-grid-labels.ts +11 -0
  1309. package/src/components/image-grid.tsx +13 -15
  1310. package/src/components/inline-edit-field-labels.ts +11 -0
  1311. package/src/components/inline-edit-field.tsx +20 -19
  1312. package/src/components/inline-entity-combobox.tsx +789 -0
  1313. package/src/components/input.tsx +380 -0
  1314. package/src/components/jump-calendar.tsx +385 -0
  1315. package/src/components/language-select.tsx +31 -16
  1316. package/src/components/legal-labels.ts +99 -0
  1317. package/src/components/legal-page.tsx +2 -2
  1318. package/src/components/legal.tsx +11 -101
  1319. package/src/components/lightbox-labels.ts +18 -0
  1320. package/src/components/lightbox.tsx +13 -21
  1321. package/src/components/line-items-labels.ts +14 -0
  1322. package/src/components/line-items.tsx +24 -31
  1323. package/src/components/list-labels.ts +10 -0
  1324. package/src/components/list.tsx +98 -75
  1325. package/src/components/loading-state.tsx +4 -4
  1326. package/src/components/measured-grid-labels.ts +25 -0
  1327. package/src/components/measured-grid.tsx +39 -62
  1328. package/src/components/menu-item.tsx +29 -26
  1329. package/src/components/mini-calendar-labels.ts +17 -0
  1330. package/src/components/mini-calendar.tsx +38 -45
  1331. package/src/components/modal.tsx +36 -18
  1332. package/src/components/money-draft.ts +72 -0
  1333. package/src/components/money-field.tsx +16 -30
  1334. package/src/components/month-picker-labels.ts +22 -0
  1335. package/src/components/month-picker.tsx +59 -45
  1336. package/src/components/multi-entity-combobox.tsx +17 -12
  1337. package/src/components/multi-select.tsx +313 -288
  1338. package/src/components/nav-pills.tsx +19 -8
  1339. package/src/components/number-field.tsx +14 -5
  1340. package/src/components/number-input.tsx +125 -90
  1341. package/src/components/numeric-field.ts +161 -0
  1342. package/src/components/numpad-sheet.tsx +16 -16
  1343. package/src/components/one-time-code-input.tsx +154 -169
  1344. package/src/components/page-contents-labels.ts +9 -0
  1345. package/src/components/page-contents.tsx +15 -15
  1346. package/src/components/page-header.tsx +9 -5
  1347. package/src/components/password-strength-labels.ts +23 -0
  1348. package/src/components/password-strength.tsx +13 -27
  1349. package/src/components/phone-input-labels.ts +10 -0
  1350. package/src/components/phone-input.tsx +42 -57
  1351. package/src/components/picker-sheet.tsx +47 -18
  1352. package/src/components/pie-chart.tsx +11 -9
  1353. package/src/components/popover-labels.ts +14 -0
  1354. package/src/components/popover.tsx +40 -39
  1355. package/src/components/progress-bar-labels.ts +10 -0
  1356. package/src/components/progress-bar.tsx +32 -23
  1357. package/src/components/qr-code.tsx +2 -2
  1358. package/src/components/reauth-dialog-labels.ts +13 -0
  1359. package/src/components/reauth-dialog.tsx +7 -10
  1360. package/src/components/row-actions-labels.ts +10 -0
  1361. package/src/components/row-actions.tsx +11 -10
  1362. package/src/components/scroll-area.tsx +4 -10
  1363. package/src/components/search-field.tsx +35 -49
  1364. package/src/components/select.tsx +302 -0
  1365. package/src/components/separator.tsx +2 -2
  1366. package/src/components/series-chart-axes.ts +329 -0
  1367. package/src/components/series-chart-thin.ts +180 -0
  1368. package/src/components/series-chart.tsx +124 -325
  1369. package/src/components/server-wake-labels.ts +11 -0
  1370. package/src/components/server-wake.tsx +42 -63
  1371. package/src/components/settings-fields.tsx +46 -17
  1372. package/src/components/share-card-labels.ts +30 -0
  1373. package/src/components/share-card.tsx +22 -37
  1374. package/src/components/sign-chip-labels.ts +12 -0
  1375. package/src/components/sign-chip.tsx +6 -9
  1376. package/src/components/signature-pad-labels.ts +24 -0
  1377. package/src/components/signature-pad.tsx +48 -57
  1378. package/src/components/signed-amount-labels.ts +10 -0
  1379. package/src/components/signed-amount.tsx +21 -22
  1380. package/src/components/skeleton.tsx +11 -3
  1381. package/src/components/slider.tsx +51 -39
  1382. package/src/components/sparkline-labels.ts +14 -0
  1383. package/src/components/sparkline.tsx +16 -21
  1384. package/src/components/spinner.tsx +81 -0
  1385. package/src/components/stat-tile-labels.ts +15 -0
  1386. package/src/components/stat-tile.tsx +32 -37
  1387. package/src/components/status-dot.tsx +17 -14
  1388. package/src/components/swatch-picker-labels.ts +10 -0
  1389. package/src/components/swatch-picker.tsx +23 -16
  1390. package/src/components/swipeable-row.tsx +7 -7
  1391. package/src/components/switch.tsx +33 -32
  1392. package/src/components/table.tsx +15 -15
  1393. package/src/components/tabs.tsx +660 -0
  1394. package/src/components/text-link.tsx +7 -7
  1395. package/src/components/text.tsx +10 -6
  1396. package/src/components/textarea.tsx +323 -0
  1397. package/src/components/tile-radio.tsx +6 -6
  1398. package/src/components/time-input.tsx +15 -7
  1399. package/src/components/toast-labels.ts +12 -0
  1400. package/src/components/toast.tsx +5 -8
  1401. package/src/components/toggle-group.tsx +105 -42
  1402. package/src/components/toggle-legend.tsx +6 -6
  1403. package/src/components/tooltip.tsx +10 -21
  1404. package/src/components/translation-review-editor.tsx +8 -7
  1405. package/src/components/translation-review-parts.tsx +9 -13
  1406. package/src/components/translation-review.tsx +26 -14
  1407. package/src/components/tree-view.tsx +14 -12
  1408. package/src/components/ui-labels.ts +22 -0
  1409. package/src/components/user-avatar.tsx +3 -3
  1410. package/src/components/wizard-stepper.tsx +10 -5
  1411. package/src/components/write-lock-labels.ts +9 -0
  1412. package/src/components/write-lock.tsx +10 -12
  1413. package/src/data-table.ts +4 -0
  1414. package/src/demo/demo-banner.tsx +9 -25
  1415. package/src/demo/demo-ended.tsx +8 -7
  1416. package/src/demo/demo-labels.ts +2 -2
  1417. package/src/demo/demo-start.tsx +7 -5
  1418. package/src/feedback/feedback-attachment-labels.ts +36 -0
  1419. package/src/feedback/feedback-attachment.tsx +42 -66
  1420. package/src/feedback/feedback-context-labels.ts +10 -0
  1421. package/src/feedback/feedback-context.tsx +8 -9
  1422. package/src/feedback/feedback-dialog-labels.ts +28 -0
  1423. package/src/feedback/feedback-dialog.tsx +14 -44
  1424. package/src/feedback/feedback-inbox.tsx +49 -252
  1425. package/src/feedback/feedback-labels.ts +5 -5
  1426. package/src/feedback/feedback-menu-labels.ts +11 -0
  1427. package/src/feedback/feedback-menu.tsx +13 -11
  1428. package/src/feedback/feedback-record.ts +21 -7
  1429. package/src/feedback/feedback-row-detail-labels.ts +33 -0
  1430. package/src/feedback/feedback-row-detail.tsx +30 -43
  1431. package/src/feedback/feedback-status-undo.ts +3 -2
  1432. package/src/feedback/feedback-submit-dialog.tsx +109 -0
  1433. package/src/feedback/feedback-submit.tsx +45 -55
  1434. package/src/feedback/feedback-swipe.tsx +1 -1
  1435. package/src/feedback/feedback-table-labels.ts +27 -0
  1436. package/src/feedback/feedback-table.tsx +24 -40
  1437. package/src/feedback/feedback-thread-labels.ts +22 -0
  1438. package/src/feedback/feedback-thread.tsx +68 -48
  1439. package/src/feedback/feedback-vocabulary.ts +252 -0
  1440. package/src/hooks/use-anchored-panel.ts +155 -9
  1441. package/src/hooks/use-anchored-rect.ts +11 -9
  1442. package/src/hooks/use-authed-src.ts +13 -7
  1443. package/src/hooks/use-breakpoint.ts +5 -4
  1444. package/src/hooks/use-close-transition.ts +9 -10
  1445. package/src/hooks/use-debounce.ts +9 -0
  1446. package/src/hooks/use-dismiss.ts +176 -19
  1447. package/src/hooks/use-file-drop.ts +2 -2
  1448. package/src/hooks/use-file-picker-labels.ts +29 -0
  1449. package/src/hooks/use-file-picker.tsx +363 -0
  1450. package/src/hooks/use-focus-trap.ts +74 -18
  1451. package/src/i18n/defaults.ts +91 -82
  1452. package/src/i18n/german.ts +54 -7
  1453. package/src/i18n/kit-labels.tsx +70 -119
  1454. package/src/i18n/locales/en.ts +46 -0
  1455. package/src/i18n/locales/es.ts +52 -7
  1456. package/src/i18n/locales/fr.ts +55 -8
  1457. package/src/i18n/locales/hu.ts +54 -8
  1458. package/src/i18n/locales/it.ts +53 -7
  1459. package/src/i18n/locales/zh.ts +50 -6
  1460. package/src/i18n/plurals.ts +29 -0
  1461. package/src/i18n/review.ts +4 -0
  1462. package/src/i18n/shared-labels.ts +135 -0
  1463. package/src/index.ts +412 -402
  1464. package/src/landing/access.ts +2 -1
  1465. package/src/landing/landing-actions.tsx +6 -5
  1466. package/src/landing/landing-labels.ts +2 -2
  1467. package/src/landing/landing-sections.tsx +24 -23
  1468. package/src/landing/public-header.tsx +3 -2
  1469. package/src/landing/routing.tsx +2 -7
  1470. package/src/lib/chip-edge-snap.ts +212 -0
  1471. package/src/lib/cn.ts +13 -1
  1472. package/src/lib/dates.ts +4 -2
  1473. package/src/lib/decimal-marks.ts +4 -2
  1474. package/src/lib/download.ts +172 -0
  1475. package/src/lib/floating-stack.ts +5 -1
  1476. package/src/lib/format.ts +5 -3
  1477. package/src/lib/ime.ts +24 -0
  1478. package/src/lib/presence.ts +18 -0
  1479. package/src/lib/reduced-motion.ts +21 -0
  1480. package/src/lib/round.ts +38 -0
  1481. package/src/lib/safe-storage.ts +35 -11
  1482. package/src/lib/session-refresh.ts +473 -0
  1483. package/src/lib/text-match.ts +60 -0
  1484. package/src/lib/translation-review.ts +7 -6
  1485. package/src/rhf/fields.tsx +131 -179
  1486. package/src/rhf/form-core.tsx +327 -0
  1487. package/src/rhf/form.tsx +46 -321
  1488. package/src/rhf/line-items.tsx +1 -1
  1489. package/src/rhf.ts +3 -2
  1490. package/src/search/command-palette-labels.ts +16 -0
  1491. package/src/search/command-palette.tsx +37 -50
  1492. package/src/search/global-search-labels.ts +13 -0
  1493. package/src/search/global-search.tsx +50 -24
  1494. package/src/search/search-index.ts +5 -6
  1495. package/src/search/use-command-key.ts +22 -0
  1496. package/src/settings/settings-card-classes.ts +11 -0
  1497. package/src/settings/settings-heading.tsx +1 -1
  1498. package/src/settings/settings-labels.ts +2 -2
  1499. package/src/settings/settings-layout.tsx +65 -6
  1500. package/src/settings/settings-section.tsx +5 -5
  1501. package/src/settings/use-settings-focus.ts +2 -5
  1502. package/src/shell/app-shell-labels.ts +10 -0
  1503. package/src/shell/app-shell.tsx +79 -53
  1504. package/src/shell/auth-layout.tsx +11 -10
  1505. package/src/shell/company-switcher-labels.ts +13 -0
  1506. package/src/shell/company-switcher.tsx +7 -11
  1507. package/src/shell/option-switcher-menu.tsx +25 -6
  1508. package/src/shell/role-switcher.tsx +7 -3
  1509. package/src/shell/top-bar-brand.tsx +1 -1
  1510. package/src/shell/top-bar.tsx +6 -5
  1511. package/src/shell/topbar-action-menu.tsx +39 -20
  1512. package/src/shell/topbar-controls.tsx +24 -12
  1513. package/src/shell.ts +1 -1
  1514. package/src/testing/index.ts +11 -0
  1515. package/src/testing/viewport.ts +251 -0
  1516. package/src/theme/color.ts +7 -1
  1517. package/src/theme/palette-derive.ts +29 -7
  1518. package/src/theme/palette-presets.ts +81 -68
  1519. package/src/tour/tour-labels.ts +14 -0
  1520. package/src/tour/tour.tsx +13 -23
  1521. package/src/wizard/stepper-nav.tsx +19 -18
  1522. package/src/wizard/types.ts +7 -22
  1523. package/src/wizard/wizard-labels.ts +29 -0
  1524. package/src/wizard/wizard-step.tsx +2 -2
  1525. package/src/wizard/wizard-summary.tsx +8 -7
  1526. package/tokens.css +63 -14
  1527. package/dist/components/account-settings-labels.js.map +0 -1
  1528. package/dist/components/account-settings.js.map +0 -1
  1529. package/dist/components/choice-parts.d.ts +0 -24
  1530. package/dist/components/choice-parts.js +0 -18
  1531. package/dist/components/choice-parts.js.map +0 -1
  1532. package/dist/components/passkeys-setting.js.map +0 -1
  1533. package/dist/components/ui.d.ts +0 -100
  1534. package/dist/components/ui.js +0 -1955
  1535. package/dist/components/ui.js.map +0 -1
  1536. package/dist/data-table-labels-BJ5JE_X2.d.ts +0 -923
  1537. package/dist/delete-account-setting-DiPX4Vue.d.ts +0 -8130
  1538. package/src/components/choice-parts.ts +0 -33
  1539. package/src/components/ui.tsx +0 -4233
@@ -1,140 +1,29 @@
1
1
  "use client";
2
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { createElement } from "react";
4
- import { Fragment as Fragment2, isValidElement, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
5
- import { createPortal } from "react-dom";
6
- import {
7
- ArrowDown,
8
- ArrowDownWideNarrow,
9
- ArrowUp,
10
- ArrowUpDown,
11
- ArrowUpNarrowWide,
12
- ChevronDown,
13
- ChevronRight,
14
- Filter,
15
- Pencil,
16
- Trash2,
17
- X
18
- } from "lucide-react";
19
- import { Card, FOCUS_RING, IconButton, Select, Spinner } from "./ui.js";
20
- import { RowActions } from "./row-actions.js";
4
+ import { Fragment, useEffect, useId, useMemo, useRef, useState } from "react";
5
+ import { Card } from "./card.js";
6
+ import { Spinner } from "./spinner.js";
7
+ import { ROW_ACTIONS_KEY, useRowActionColumn } from "./data-table-row-actions.js";
8
+ import { useColumnResize } from "./data-table-resize.js";
9
+ import { useRangeSelection } from "./data-table-selection.js";
10
+ import { RowLink, cleanAttrs, columnLabel, fromOutside, logicalAlign, splitCellProps } from "./data-table-shared.js";
11
+ import { MobileFilters, MobileRow, MobileSort, StackedFields } from "./data-table-mobile.js";
12
+ import { DataTableHead } from "./data-table-head.js";
13
+ import { ColumnSettingsPanel } from "./data-table-column-settings.js";
21
14
  import { useLargeText } from "../hooks/use-large-text.js";
22
15
  import { cn } from "../lib/cn.js";
23
- import {
24
- defaultFilterState,
25
- isFilterActive,
26
- resolveFilter,
27
- rowMatches
28
- } from "./data-table-filters.js";
16
+ import { isFilterActive, resolveFilter, rowMatches } from "./data-table-filters.js";
29
17
  import { nextSorts } from "./data-table-sort.js";
30
- import { FilterPopover } from "./data-table-filter-popover.js";
31
18
  import { Pagination } from "./data-table-pagination.js";
32
- import { SwipeableRow } from "./swipeable-row.js";
33
- import { useBackdropClose } from "./modal.js";
34
- import { useBodyScrollLock } from "../hooks/use-body-scroll-lock.js";
35
- import { useOverlayHistory } from "../hooks/use-overlay-history.js";
36
19
  import { FullBleedDialog } from "./full-bleed-dialog.js";
37
- import { Popover } from "./popover.js";
38
20
  import { usePhoneLayout } from "../hooks/use-breakpoint.js";
39
21
  import { useAnnounce } from "../hooks/use-announce.js";
40
22
  import { DEFAULT_DATA_TABLE_LABELS, resolveDataTableLabels } from "./data-table-labels.js";
41
- import { useKitLabelOverrides, useKitLocale } from "../i18n/kit-labels.js";
42
- import { Tooltip } from "./tooltip.js";
23
+ import { useKitLabelOverrides, useKitLocale, useKitTableStorageKeyPrefix } from "../i18n/kit-labels.js";
43
24
  import { useEdgeFade } from "../lib/strip-fade.js";
44
- import { dirOf, isRtl } from "../lib/direction.js";
45
- function splitCellProps(props) {
46
- if (!props) return { attrs: {} };
47
- const {
48
- className,
49
- style,
50
- role: _role,
51
- "data-col": _col,
52
- ...attrs
53
- } = props;
54
- return { attrs, className, style };
55
- }
56
- function dataAttrsOf(props) {
57
- if (!props) return void 0;
58
- const out = {};
59
- for (const [k, v] of Object.entries(props)) if (k.startsWith("data-") && k !== "data-col") out[k] = v;
60
- return out;
61
- }
62
- const ROW_ACTIONS_KEY = "__rowActions";
63
- function resolveRowAction(action, index, labels) {
64
- const tone = action.tone ?? (action.kind === "delete" ? "danger" : "default");
65
- return {
66
- key: action.kind ?? `${index}:${action.label ?? ""}`,
67
- label: action.label ?? (action.kind === "edit" ? labels.edit : action.kind === "delete" ? labels.delete : ""),
68
- icon: action.icon ?? (action.kind === "edit" ? /* @__PURE__ */ jsx(Pencil, {}) : action.kind === "delete" ? /* @__PURE__ */ jsx(Trash2, {}) : null),
69
- tone,
70
- swipe: action.swipe ?? (tone === "danger" ? "start" : "end"),
71
- action
72
- };
73
- }
74
- async function runRowAction(action, row) {
75
- if (action.confirm && !await action.confirm(row)) return;
76
- action.onAction(row);
77
- }
78
- function toRowAction(a, row) {
79
- return {
80
- key: a.key,
81
- label: a.label,
82
- icon: isValidElement(a.icon) ? a.icon : a.icon != null && a.icon !== false ? /* @__PURE__ */ jsx(Fragment, { children: a.icon }) : void 0,
83
- tone: a.tone,
84
- disabledReason: a.action.disabledReason?.(row),
85
- onSelect: () => void runRowAction(a.action, row)
86
- };
87
- }
88
- function physicalSwipe(actions, dir) {
89
- const rtl = dir === "rtl";
90
- return {
91
- left: (rtl ? actions.end : actions.start) ?? actions.left,
92
- right: (rtl ? actions.start : actions.end) ?? actions.right
93
- };
94
- }
95
- const PHYSICAL_ALIGN = /(^|\s)((?:[\w-]+:)*)text-(left|right)(?=\s|$)/g;
96
- function logicalAlign(className) {
97
- return className?.replace(
98
- PHYSICAL_ALIGN,
99
- (token, lead, variants, side) => (
100
- // Already scoped to one direction: that is a caller choosing the physical side.
101
- /(^|:)(ltr|rtl):/.test(variants) ? token : `${lead}${variants}text-${side === "right" ? "end" : "start"}`
102
- )
103
- );
104
- }
105
- const FOOTER_CELL = "sticky bottom-0 z-10 bg-[var(--bg-surface-2)] shadow-[inset_0_2px_0_var(--border-strong)]";
106
- const END_ALIGN = /(^|\s)text-end(?=\s|$)/;
107
- function cleanAttrs(attrs) {
108
- if (!attrs) return void 0;
109
- const out = {};
110
- for (const [k, v] of Object.entries(attrs)) if (v !== void 0) out[k] = v;
111
- return out;
112
- }
113
- function columnLabel(col, labels) {
114
- if (col.key === ROW_ACTIONS_KEY && labels) return labels.actions;
115
- return col.headerText ?? (typeof col.header === "string" ? col.header : col.key);
116
- }
117
- const CARD_NO_TRUNCATE = "large:[&_.truncate]:whitespace-normal large:[&_.truncate]:[overflow-wrap:anywhere]";
118
- function StackedFields({ columns, row, compact }) {
119
- return /* @__PURE__ */ jsx(
120
- "dl",
121
- {
122
- "data-card-fields": "stacked",
123
- className: cn("relative flex min-w-0 flex-col", compact ? "gap-1.5 text-xs" : "gap-2.5 text-sm", CARD_NO_TRUNCATE),
124
- children: columns.map((col) => /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
125
- /* @__PURE__ */ jsx("dt", { className: "text-xs uppercase tracking-wide text-[var(--text-muted)]", children: col.header }),
126
- /* @__PURE__ */ jsx(
127
- "dd",
128
- {
129
- ...dataAttrsOf(col.cellProps?.(row)),
130
- className: "mt-0.5 min-w-0 break-words text-[var(--text-secondary)]",
131
- children: col.cell(row)
132
- }
133
- )
134
- ] }, col.key))
135
- }
136
- );
137
- }
25
+ import { dirOf } from "../lib/direction.js";
26
+ const FOOTER_CELL = "sticky bottom-0 z-10 bg-surface-2 shadow-[inset_0_2px_0_var(--border-strong)]";
138
27
  const DEFAULT_DATA_TABLE_SORT_LABELS = {
139
28
  sortBy: DEFAULT_DATA_TABLE_LABELS.sortBy,
140
29
  sortDefault: DEFAULT_DATA_TABLE_LABELS.sortDefault,
@@ -142,66 +31,7 @@ const DEFAULT_DATA_TABLE_SORT_LABELS = {
142
31
  sortDescending: DEFAULT_DATA_TABLE_LABELS.sortDescending
143
32
  };
144
33
  const flipDir = (d) => d === "asc" ? "desc" : "asc";
145
- function MobileSort({
146
- columns,
147
- sorts,
148
- sortCycle,
149
- compact,
150
- labels,
151
- onPick,
152
- onFlip
153
- }) {
154
- const selectId = useId();
155
- const sortLabels = labels;
156
- if (columns.length === 0) return null;
157
- const primary = sorts[0] && columns.some((c) => c.key === sorts[0].key) ? sorts[0] : null;
158
- const offerDefault = sortCycle === "tri" || primary === null;
159
- const desc = primary?.dir === "desc";
160
- return /* @__PURE__ */ jsxs(
161
- "div",
162
- {
163
- "data-table-mobile-sort": "",
164
- className: cn(
165
- // At Large the direction button shows its words (IconButton's label, §4); the
166
- // row wraps so the select keeps a usable width on a 240 px card.
167
- "flex flex-wrap items-center gap-2 border-b border-[var(--border)]",
168
- compact ? "px-3 py-1.5" : "px-4 py-2"
169
- ),
170
- children: [
171
- /* @__PURE__ */ jsx("label", { htmlFor: selectId, className: "shrink-0 text-xs text-[var(--text-muted)]", children: sortLabels.sortBy }),
172
- /* @__PURE__ */ jsxs(
173
- Select,
174
- {
175
- id: selectId,
176
- size: compact ? "sm" : "md",
177
- className: "min-w-0 flex-1 large:basis-40",
178
- value: primary?.key ?? "",
179
- onChange: (e) => onPick(e.target.value || null),
180
- children: [
181
- offerDefault && /* @__PURE__ */ jsx("option", { value: "", children: sortLabels.sortDefault }),
182
- columns.map((col) => /* @__PURE__ */ jsx("option", { value: col.key, children: columnLabel(col, labels) }, col.key))
183
- ]
184
- }
185
- ),
186
- /* @__PURE__ */ jsx(
187
- IconButton,
188
- {
189
- size: compact ? "xs" : "md",
190
- variant: "secondary",
191
- label: desc ? sortLabels.sortDescending : sortLabels.sortAscending,
192
- disabled: primary === null,
193
- onClick: onFlip,
194
- children: desc ? /* @__PURE__ */ jsx(ArrowDownWideNarrow, {}) : /* @__PURE__ */ jsx(ArrowUpNarrowWide, {})
195
- }
196
- )
197
- ]
198
- }
199
- );
200
- }
201
34
  const OWN_CONTROL = 'a[href],button,input,select,textarea,label,summary,[role="button"],[role="link"],[role="checkbox"],[role="switch"],[role="menuitem"],[role="option"],[contenteditable=""],[contenteditable="true"],[tabindex]:not([tabindex="-1"])';
202
- function fromOutside(target, row) {
203
- return !(target instanceof Node) || !row.contains(target);
204
- }
205
35
  function fromOwnControl(target, row) {
206
36
  if (!(target instanceof Element)) return false;
207
37
  const hit = target.closest(OWN_CONTROL);
@@ -220,37 +50,6 @@ function moveRowFocus(from, key) {
220
50
  return true;
221
51
  }
222
52
  const ROW_NAV_KEYS = { ArrowDown: 1, ArrowUp: 1, Home: 1, End: 1 };
223
- const isPlainLeftClick = (e) => e.button === 0 && !e.metaKey && !e.ctrlKey && !e.shiftKey && !e.altKey;
224
- function RowLink({
225
- href,
226
- onActivate,
227
- className,
228
- children,
229
- ...rest
230
- }) {
231
- return /* @__PURE__ */ jsx(
232
- "a",
233
- {
234
- ...rest,
235
- href,
236
- draggable: false,
237
- className,
238
- onClickCapture: (e) => {
239
- if (fromOutside(e.target, e.currentTarget)) return;
240
- if (isPlainLeftClick(e)) e.preventDefault();
241
- },
242
- onClick: (e) => {
243
- if (fromOutside(e.target, e.currentTarget)) return;
244
- if (!isPlainLeftClick(e)) {
245
- e.stopPropagation();
246
- return;
247
- }
248
- onActivate?.();
249
- },
250
- children
251
- }
252
- );
253
- }
254
53
  import { DEFAULT_PERSIST_PREFIX, useTableState } from "./use-table-state.js";
255
54
  import { useMobileReveal } from "./use-mobile-reveal.js";
256
55
  function DataTable({
@@ -278,7 +77,7 @@ function DataTable({
278
77
  selection,
279
78
  labels: labelsProp,
280
79
  locale: localeProp,
281
- storageKeyPrefix = DEFAULT_PERSIST_PREFIX,
80
+ storageKeyPrefix: storageKeyPrefixProp,
282
81
  mobileExpandAsDialog = false,
283
82
  mobileDetailsInRow = false,
284
83
  rowName,
@@ -311,6 +110,8 @@ function DataTable({
311
110
  const isServer = !!serverPagination;
312
111
  const isLoading = !!serverPagination?.isLoading;
313
112
  const labelOverrides = useKitLabelOverrides("dataTable");
113
+ const providerStorageKeyPrefix = useKitTableStorageKeyPrefix();
114
+ const storageKeyPrefix = storageKeyPrefixProp ?? providerStorageKeyPrefix ?? DEFAULT_PERSIST_PREFIX;
314
115
  const labels = useMemo(
315
116
  () => resolveDataTableLabels(
316
117
  labelOverrides || labelsProp ? {
@@ -322,56 +123,13 @@ function DataTable({
322
123
  [labelOverrides, labelsProp]
323
124
  );
324
125
  const locale = useKitLocale(localeProp);
325
- const rowActionsFor = useCallback(
326
- (row) => rowActions ? (typeof rowActions === "function" ? rowActions(row) : rowActions).filter((a) => !a.hidden?.(row)).map((a, i) => resolveRowAction(a, i, labels)) : [],
327
- [rowActions, labels]
328
- );
329
- const columns = useMemo(
330
- () => rowActions ? [
331
- ...columnsProp,
332
- {
333
- key: ROW_ACTIONS_KEY,
334
- header: /* @__PURE__ */ jsx("span", { className: "sr-only", children: labels.actions }),
335
- // Through RowActions (0.32, §10.8): the icons inline at Normal, one "⋯"
336
- // menu at Large once there are two — every label at once does not fit a
337
- // row. Each control stops its own click: the row's handler already skips
338
- // its controls, and this is for the caller who wraps the table in a
339
- // clickable element of their own.
340
- cell: (row) => /* @__PURE__ */ jsx(
341
- RowActions,
342
- {
343
- actions: rowActionsFor(row).map((a) => toRowAction(a, row)),
344
- name: rowName?.(row),
345
- size: density === "compact" ? "2xs" : "xs",
346
- labels: { actions: labels.actions },
347
- className: "justify-end"
348
- }
349
- ),
350
- className: "w-px whitespace-nowrap text-end",
351
- headClassName: "w-px",
352
- // On a phone the same actions are the card's swipes.
353
- mobileHidden: true,
354
- noRowLink: true
355
- }
356
- ] : columnsProp,
357
- [columnsProp, rowActions, rowActionsFor, rowName, labels.actions, density]
358
- );
359
- const swipesFromActions = (row) => {
360
- const swipes = rowActionsFor(row).filter((a) => a.swipe && !a.action.disabledReason?.(row));
361
- if (!swipes.length) return null;
362
- const toSwipe = (a) => ({
363
- label: a.label,
364
- icon: a.icon,
365
- onCommit: () => void runRowAction(a.action, row),
366
- // The row action's tone, painted by SwipeableRow: its soft wash idle, its fill
367
- // and that fill's foreground armed (0.33).
368
- tone: a.tone === "danger" ? "danger" : "brand"
369
- });
370
- return {
371
- start: swipes.filter((a) => a.swipe === "start").map(toSwipe),
372
- end: swipes.filter((a) => a.swipe === "end").map(toSwipe)
373
- };
374
- };
126
+ const { columns, swipesFromActions } = useRowActionColumn({
127
+ columns: columnsProp,
128
+ rowActions,
129
+ rowName,
130
+ labels,
131
+ density
132
+ });
375
133
  const swipeActionsFor = mobileSwipeActions ?? (rowActions ? swipesFromActions : void 0);
376
134
  const { announce, regionProps } = useAnnounce();
377
135
  const {
@@ -541,93 +299,13 @@ function DataTable({
541
299
  [columns, hiddenCols]
542
300
  );
543
301
  const linkColumn = rowHref ? visibleColumns.find((c) => c.mobilePrimary && !c.noRowLink) ?? visibleColumns.find((c) => !c.noRowLink) : void 0;
544
- const resizing = useRef(null);
545
- const columnCells = (key) => {
546
- const th = headRefs.get(key);
547
- if (!th) return [];
548
- const table = th.closest("table");
549
- if (!table) return [th];
550
- return [
551
- th,
552
- ...Array.from(table.querySelectorAll("tbody [data-col], tfoot [data-col]")).filter(
553
- (el) => el.dataset.col === key
554
- )
555
- ];
556
- };
557
- const applyLiveWidth = (cells, width) => {
558
- const px = width == null ? "" : `${width}px`;
559
- for (const el of cells) {
560
- el.style.width = px;
561
- el.style.minWidth = px;
562
- el.style.maxWidth = px;
563
- }
564
- };
565
- const releaseResizeChrome = (handle, pointerId) => {
566
- document.body.style.userSelect = "";
567
- document.body.style.cursor = "";
568
- if (handle.hasPointerCapture?.(pointerId)) handle.releasePointerCapture?.(pointerId);
569
- };
570
- const startResize = (e, key) => {
571
- if (e.button !== 0) return;
572
- e.preventDefault();
573
- e.stopPropagation();
574
- const th = headRefs.get(key);
575
- const startWidth = th?.getBoundingClientRect().width ?? 100;
576
- resizing.current = {
577
- key,
578
- pointerId: e.pointerId,
579
- startX: e.clientX,
580
- startWidth,
581
- sign: isRtl(e.currentTarget) ? -1 : 1,
582
- hadWidth: widths[key],
583
- cells: columnCells(key),
584
- width: startWidth,
585
- moved: false
586
- };
587
- e.currentTarget.setPointerCapture?.(e.pointerId);
588
- document.body.style.userSelect = "none";
589
- document.body.style.cursor = "col-resize";
590
- };
591
- const moveResize = (e) => {
592
- const drag = resizing.current;
593
- if (!drag || drag.pointerId !== e.pointerId) return;
594
- drag.width = Math.max(40, Math.round(drag.startWidth + drag.sign * (e.clientX - drag.startX)));
595
- drag.moved = true;
596
- applyLiveWidth(drag.cells, drag.width);
597
- };
598
- const finishResize = (e, commit) => {
599
- const drag = resizing.current;
600
- releaseResizeChrome(e.currentTarget, e.pointerId);
601
- if (!drag || drag.pointerId !== e.pointerId) return;
602
- resizing.current = null;
603
- if (commit && drag.moved) {
604
- setWidths((w) => ({ ...w, [drag.key]: drag.width }));
605
- return;
606
- }
607
- applyLiveWidth(drag.cells, drag.hadWidth);
608
- };
609
- useEffect(
610
- () => () => {
611
- if (!resizing.current) return;
612
- resizing.current = null;
613
- document.body.style.userSelect = "";
614
- document.body.style.cursor = "";
615
- },
616
- []
617
- );
618
- const autoSizeAll = () => {
619
- setWidths({});
620
- requestAnimationFrame(() => {
621
- const next = {};
622
- const cols = columns.filter((c) => !hiddenCols.has(c.key));
623
- cols.forEach((col, idx) => {
624
- if (idx === cols.length - 1) return;
625
- const th = headRefs.get(col.key);
626
- if (th) next[col.key] = Math.ceil(th.getBoundingClientRect().width);
627
- });
628
- setWidths(next);
629
- });
630
- };
302
+ const { startResize, moveResize, finishResize, autoSizeAll } = useColumnResize({
303
+ headRefs,
304
+ widths,
305
+ setWidths,
306
+ columns,
307
+ hiddenCols
308
+ });
631
309
  const visibleCount = visibleColumns.length;
632
310
  const totalCount = columns.length;
633
311
  const totalColSpan = visibleCount + (selection ? 1 : 0);
@@ -636,6 +314,7 @@ function DataTable({
636
314
  const footerLabelCol = showFooter ? visibleColumns.find((c) => !c.footer && c.key !== ROW_ACTIONS_KEY) ?? visibleColumns[0] : void 0;
637
315
  const footerValue = (col) => col.footer?.(sorted, slice);
638
316
  const footerHeadingId = useId();
317
+ const detailIdBase = useId();
639
318
  const columnsCountLabel = rowActions ? labels.columnsCount(visibleCount - 1, totalCount - 1) : labels.columnsCount(visibleCount, totalCount);
640
319
  const isMdUp = !usePhoneLayout();
641
320
  const desktopScroller = useRef(null);
@@ -669,184 +348,43 @@ function DataTable({
669
348
  unpaged,
670
349
  defaultPageSize
671
350
  });
672
- const selectionAnchor = useRef(null);
351
+ const { selectionAnchor, rangeClick, canSelect, selectRange } = useRangeSelection({
352
+ selection,
353
+ slice,
354
+ rowKey
355
+ });
673
356
  const rowsFocusable = !!onRowClick;
674
357
  const [focusRowKey, setFocusRowKey] = useState(null);
675
358
  const tabRowKey = focusRowKey !== null && slice.some((r) => rowKey(r) === focusRowKey) ? focusRowKey : slice.length ? rowKey(slice[0]) : null;
676
- const rangeClick = useRef(null);
677
- const canSelect = (row) => !!selection && (selection.isSelectable?.(row) ?? true);
678
- const selectRange = (toIndex) => {
679
- if (!selection || selectionAnchor.current === null) return false;
680
- const fromIndex = slice.findIndex((r) => rowKey(r) === selectionAnchor.current);
681
- if (fromIndex < 0) return false;
682
- const [lo, hi] = [fromIndex, toIndex].sort((a, b) => a - b);
683
- const range = [];
684
- for (let i = lo; i <= hi; i++) {
685
- const r = slice[i];
686
- if (r && canSelect(r)) range.push(r);
687
- }
688
- if (selection.onToggleMany) selection.onToggleMany(range, true);
689
- else for (const r of range) selection.onToggle(r, true);
690
- return true;
691
- };
692
359
  const mobileDialogRow = mobileExpandAsDialog && !isMdUp ? mobileSlice.find((r) => isExpanded?.(r)) : void 0;
693
360
  const mobileDialogContent = mobileDialogRow ? openedRowContent(mobileDialogRow) : null;
694
361
  const dialogOpen = !!(mobileDialogRow && mobileDialogContent);
695
362
  const closeDialog = () => {
696
363
  if (mobileDialogRow) onRowClick?.(mobileDialogRow);
697
364
  };
698
- const renderMobileRow = (row) => {
699
- const expanded = isExpanded?.(row) ?? false;
700
- const expansion = expanded ? openedRowContent(row) : null;
701
- const tint = rowClassName?.(row);
702
- const interactive = !!onRowClick;
703
- const opensDetail = interactive && opensRow;
704
- const swipeActions = swipeActionsFor?.(row);
705
- const swipe = swipeActions ? physicalSwipe(swipeActions, mobileDir) : null;
706
- const swipeEnabled = !!swipe && !expanded;
707
- const href = mobileCardLinkable ? rowHref?.(row) : void 0;
708
- const cardClass = cn(
709
- "w-full text-start flex items-center",
710
- // §4: more room per row at Large — a taller row is a bigger tap target too.
711
- compact ? "px-3 py-2 gap-2 text-sm large:py-3" : "px-4 py-3 gap-3 large:py-4",
712
- // Live #320's other half: the card acknowledges the touch before the sheet
713
- // arrives. On a cold route the data can take a beat, and an unacknowledged tap
714
- // reads as "did that register?" — which is most of what "abrupt" means here.
715
- // `origin-center` + a 0.5% squeeze is deliberately almost subliminal: this fires
716
- // on every row of a long list, so anything larger becomes the list's personality
717
- // rather than feedback. `transition-transform` alone, so the existing background
718
- // flip stays instant.
719
- interactive && "cursor-pointer transition-transform duration-100 active:scale-[0.995] active:bg-[var(--bg-active)] motion-reduce:transition-none motion-reduce:active:scale-100",
720
- // The keyboard's frame drawn INSIDE the card, as the desktop row's is (keksdose live
721
- // #394): the browser's own ring and tap highlight sit on the card's outer edge, and
722
- // three ancestors clip it — SwipeableRow's `overflow-hidden`, the card list, and
723
- // AppShell main's `overflow-x-clip` — so the frame went missing on one side. A press
724
- // keeps the fill and the squeeze above; an outline on every tap of a long list would
725
- // be louder than the acknowledgement it replaces.
726
- interactive && cn("[-webkit-tap-highlight-color:transparent] focus-visible:ring-inset", FOCUS_RING)
727
- );
728
- const cardInner = /* @__PURE__ */ jsxs(Fragment, { children: [
729
- /* @__PURE__ */ jsx(
730
- "div",
731
- {
732
- className: cn(
733
- "flex min-w-0 flex-1 flex-col",
734
- compact ? "gap-1 large:gap-2" : "gap-2 large:gap-3",
735
- // §4 "nothing truncates": at Large a cell's own `truncate` wraps instead —
736
- // the reader who chose bigger type is the one an ellipsis fails. A caller's
737
- // `mobileCard` is its own layout and keeps what it chose.
738
- !mobileCard && CARD_NO_TRUNCATE
739
- ),
740
- children: mobileCard ? mobileCard(row) : /* @__PURE__ */ jsxs(Fragment, { children: [
741
- mobilePrimaryCol && /* @__PURE__ */ jsx("div", { ...dataAttrsOf(mobilePrimaryCol.cellProps?.(row)), className: "min-w-0 break-words font-medium", children: mobilePrimaryCol.cell(row) }),
742
- mobileSecondaryColumns.length > 0 && large ? (
743
- // §4: each label ABOVE its value at Large. Side by side, a label column
744
- // sized to the widest label leaves a value a sliver of a 240 px card.
745
- /* @__PURE__ */ jsx(StackedFields, { columns: mobileSecondaryColumns, row, compact })
746
- ) : mobileSecondaryColumns.length > 0 && /* @__PURE__ */ jsx(
747
- "dl",
748
- {
749
- className: cn(
750
- "grid grid-cols-[auto_1fr] gap-x-3",
751
- compact ? "gap-y-0.5 text-xs" : "gap-y-1 text-sm"
752
- ),
753
- children: mobileSecondaryColumns.map((col) => /* @__PURE__ */ jsxs(Fragment2, { children: [
754
- /* @__PURE__ */ jsx("dt", { className: "text-xs uppercase tracking-wide text-[var(--text-muted)] self-center", children: col.header }),
755
- /* @__PURE__ */ jsx(
756
- "dd",
757
- {
758
- ...dataAttrsOf(col.cellProps?.(row)),
759
- className: "min-w-0 text-[var(--text-secondary)] self-center",
760
- children: col.cell(row)
761
- }
762
- )
763
- ] }, col.key))
764
- }
765
- )
766
- ] })
767
- }
768
- ),
769
- opensDetail && // `aria-hidden`: the row already announces itself as a button with
770
- // `aria-expanded`, so the icon would only add a second, wordless stop.
771
- (mobileExpandAsDialog ? (
772
- // Points INTO the sheet, which is the reading-forward direction.
773
- /* @__PURE__ */ jsx(
774
- ChevronRight,
775
- {
776
- "aria-hidden": true,
777
- className: "size-4 shrink-0 text-[var(--text-placeholder)] rtl:-scale-x-100"
778
- }
779
- )
780
- ) : /* @__PURE__ */ jsx(
781
- ChevronDown,
782
- {
783
- "aria-hidden": true,
784
- className: cn(
785
- "size-4 shrink-0 text-[var(--text-placeholder)] transition-transform",
786
- expanded && "rotate-180"
787
- )
788
- }
789
- ))
790
- ] });
791
- const body = interactive && href ? (
792
- // A card with a URL of its own is a LINK, not a div wearing role="button"
793
- // (feedback #451): the phone's long-press "open in new tab" and a screen
794
- // reader's link semantics both come free, and the fake role goes away.
795
- /* @__PURE__ */ jsx(
796
- RowLink,
797
- {
798
- href,
799
- onActivate: () => onRowClick(row),
800
- "aria-expanded": opensRow ? expanded : void 0,
801
- className: cardClass,
802
- onKeyDown: (e) => {
803
- if (e.key !== " ") return;
804
- e.preventDefault();
805
- onRowClick(row);
806
- },
807
- children: cardInner
808
- }
809
- )
810
- ) : (
811
- /* eslint-disable-next-line jsx-a11y/no-static-element-interactions -- the handlers are
812
- only attached when `interactive`, and then so are role="button", tabIndex 0 and the
813
- Enter/Space handler below; the rule cannot follow the conditional role. */
814
- /* @__PURE__ */ jsx(
815
- "div",
816
- {
817
- role: interactive ? "button" : void 0,
818
- tabIndex: interactive ? 0 : void 0,
819
- onClick: interactive ? (e) => {
820
- if (fromOutside(e.target, e.currentTarget)) return;
821
- onRowClick(row);
822
- } : void 0,
823
- onKeyDown: interactive ? (e) => {
824
- if (e.target !== e.currentTarget) return;
825
- if (e.key === "Enter" || e.key === " ") {
826
- e.preventDefault();
827
- onRowClick(row);
828
- }
829
- } : void 0,
830
- "aria-expanded": opensRow ? expanded : void 0,
831
- className: cardClass,
832
- children: cardInner
833
- }
834
- )
835
- );
836
- return /* @__PURE__ */ jsxs("li", { className: cn(tint), ...cleanAttrs(rowAttributes?.(row)), children: [
837
- swipeEnabled ? /* @__PURE__ */ jsx(SwipeableRow, { enabled: true, left: swipe.left, right: swipe.right, children: body }) : body,
838
- expansion && !mobileExpandAsDialog && /* @__PURE__ */ jsx(
839
- "div",
840
- {
841
- className: cn(
842
- "bg-[var(--bg-surface-2)] border-t border-[var(--border)]",
843
- compact ? "px-3 py-2" : "px-4 py-3"
844
- ),
845
- children: expansion
846
- }
847
- )
848
- ] }, rowKey(row));
849
- };
365
+ const renderMobileRow = (row) => /* @__PURE__ */ jsx(
366
+ MobileRow,
367
+ {
368
+ row,
369
+ isExpanded,
370
+ openedRowContent,
371
+ opensRow,
372
+ rowClassName,
373
+ rowAttributes,
374
+ onRowClick,
375
+ rowHref,
376
+ swipeActionsFor,
377
+ mobileDir,
378
+ mobileCardLinkable,
379
+ mobileCard,
380
+ mobilePrimaryCol,
381
+ mobileSecondaryColumns,
382
+ mobileExpandAsDialog,
383
+ compact,
384
+ large
385
+ },
386
+ rowKey(row)
387
+ );
850
388
  const mobileGroups = mobileGroupBy ? mobileSlice.reduce((acc, row) => {
851
389
  const key = mobileGroupBy(row);
852
390
  const last = acc[acc.length - 1];
@@ -878,7 +416,7 @@ function DataTable({
878
416
  "data-table-toolbar": "",
879
417
  className: cn(
880
418
  "flex flex-wrap items-center gap-2",
881
- frame ? cn("border-b border-[var(--border)]", compact ? "px-2 py-1.5" : "px-3 py-2") : "pb-3"
419
+ frame ? cn("border-b border-subtle", compact ? "px-2 py-1.5" : "px-3 py-2") : "pb-3"
882
420
  ),
883
421
  children: toolbar
884
422
  }
@@ -929,7 +467,7 @@ function DataTable({
929
467
  "ul",
930
468
  {
931
469
  className: cn(
932
- "divide-y divide-[var(--border)]",
470
+ "divide-y divide-subtle",
933
471
  // Under `fillHeight` the list is the scroller, as the table body is on a
934
472
  // wide screen: the filter button stays above it and a server pager below.
935
473
  // The endless-scroll sentinel still fires in here — an
@@ -940,15 +478,15 @@ function DataTable({
940
478
  ),
941
479
  "aria-busy": isLoading || void 0,
942
480
  children: [
943
- mobileGroups ? mobileGroups.map((g) => /* @__PURE__ */ jsxs(Fragment2, { children: [
944
- /* @__PURE__ */ jsx("li", { className: "sticky top-0 z-10 bg-[var(--bg-surface-2)] px-4 py-1.5 text-xs font-semibold uppercase tracking-wide text-[var(--text-muted)] backdrop-blur", children: mobileGroupLabel ? mobileGroupLabel(g.key) : g.key }),
481
+ mobileGroups ? mobileGroups.map((g) => /* @__PURE__ */ jsxs(Fragment, { children: [
482
+ /* @__PURE__ */ jsx("li", { className: "sticky top-0 z-10 bg-surface-2 px-4 py-1.5 text-xs font-semibold uppercase tracking-wide text-muted backdrop-blur", children: mobileGroupLabel ? mobileGroupLabel(g.key) : g.key }),
945
483
  g.rows.map(renderMobileRow)
946
484
  ] }, `hb-group:${g.key}`)) : mobileSlice.map(renderMobileRow),
947
485
  mobileSlice.length === 0 && /* @__PURE__ */ jsx(
948
486
  "li",
949
487
  {
950
488
  className: cn(
951
- "text-center text-[var(--text-muted)]",
489
+ "text-center text-muted",
952
490
  compact ? "px-3 py-3 text-xs" : "px-4 py-6 text-sm"
953
491
  ),
954
492
  children: isLoading ? /* @__PURE__ */ jsx(LoadingText, { label: labels.loading }) : empty ?? labels.empty
@@ -958,7 +496,7 @@ function DataTable({
958
496
  "li",
959
497
  {
960
498
  ref: loadMoreRef,
961
- className: "px-4 py-4 text-center text-xs text-[var(--text-placeholder)]",
499
+ className: "px-4 py-4 text-center text-xs text-placeholder",
962
500
  children: /* @__PURE__ */ jsx("bdi", { children: labels.loading })
963
501
  }
964
502
  )
@@ -971,7 +509,7 @@ function DataTable({
971
509
  "data-table-footer": "",
972
510
  "aria-labelledby": footerLabel != null ? footerHeadingId : void 0,
973
511
  className: cn(
974
- "border-t-2 border-[var(--border-strong)] bg-[var(--bg-surface-2)]",
512
+ "border-t-2 border-strong bg-surface-2",
975
513
  compact ? "px-3 py-2" : "px-4 py-3",
976
514
  isLoading && "opacity-60 transition-opacity"
977
515
  ),
@@ -984,9 +522,9 @@ function DataTable({
984
522
  "grid grid-cols-[auto_1fr] gap-x-3",
985
523
  compact ? "gap-y-0.5 text-xs" : "gap-y-1 text-sm"
986
524
  ),
987
- children: mobileColumns.filter((c) => c.footer).map((col) => /* @__PURE__ */ jsxs(Fragment2, { children: [
988
- /* @__PURE__ */ jsx("dt", { className: "self-center text-xs uppercase tracking-wide text-[var(--text-muted)]", children: col.header }),
989
- /* @__PURE__ */ jsx("dd", { className: "min-w-0 self-center font-semibold text-[var(--text-primary)]", children: footerValue(col) })
525
+ children: mobileColumns.filter((c) => c.footer).map((col) => /* @__PURE__ */ jsxs(Fragment, { children: [
526
+ /* @__PURE__ */ jsx("dt", { className: "self-center text-xs uppercase tracking-wide text-muted", children: col.header }),
527
+ /* @__PURE__ */ jsx("dd", { className: "min-w-0 self-center font-semibold text-primary", children: footerValue(col) })
990
528
  ] }, col.key))
991
529
  }
992
530
  )
@@ -1036,173 +574,65 @@ function DataTable({
1036
574
  "aria-label": labels.table,
1037
575
  "aria-busy": isLoading || void 0,
1038
576
  children: [
1039
- /* @__PURE__ */ jsx("thead", { className: "bg-[var(--bg-surface-2)] text-[var(--text-secondary)]", children: /* @__PURE__ */ jsxs("tr", { className: "text-start", children: [
1040
- selection && /* @__PURE__ */ jsx(
1041
- "th",
1042
- {
1043
- scope: "col",
1044
- className: cn(
1045
- "sticky top-0 z-10 bg-[var(--bg-surface-2)] align-middle backdrop-blur-sm",
1046
- compact ? "w-8 px-2 py-1" : "w-10 px-3 py-2"
1047
- ),
1048
- children: /* @__PURE__ */ jsx(
1049
- "input",
1050
- {
1051
- type: "checkbox",
1052
- className: cn("align-middle accent-indigo-600", compact ? "size-3.5" : "size-4"),
1053
- checked: selection.allSelected,
1054
- ref: (el) => {
1055
- if (el) el.indeterminate = selection.someSelected && !selection.allSelected;
1056
- },
1057
- onChange: (e) => selection.onToggleAll(e.target.checked),
1058
- "aria-label": labels.selectAllRows
1059
- }
1060
- )
1061
- }
1062
- ),
1063
- visibleColumns.map((col) => {
1064
- const sortable = (!isServer || !!onSortsChange) && !!col.sortBy;
1065
- const filter = !isServer || onFiltersChange ? resolveFilter(col) : null;
1066
- const filterState = filters[col.key] ?? (filter ? defaultFilterState(filter) : void 0);
1067
- const sortIdx = sorts.findIndex((s) => s.key === col.key);
1068
- const active = sortIdx !== -1;
1069
- const Icon = active ? sorts[sortIdx].dir === "asc" ? ArrowUp : ArrowDown : ArrowUpDown;
1070
- const filterActive = filterState && isFilterActive(filterState);
1071
- const headClass = logicalAlign(col.headClassName);
1072
- const isEndAligned = !!headClass && END_ALIGN.test(headClass);
1073
- const width = widths[col.key];
1074
- const ownHead = splitCellProps(col.headProps);
1075
- const pinnedHead = width ? { width, minWidth: width, maxWidth: width } : void 0;
1076
- return /* @__PURE__ */ createElement(
1077
- "th",
1078
- {
1079
- ...ownHead.attrs,
1080
- key: col.key,
1081
- ref: (el) => {
1082
- if (el) headRefs.set(col.key, el);
1083
- else headRefs.delete(col.key);
1084
- },
1085
- scope: "col",
1086
- "aria-sort": sortable ? sortIdx === 0 ? sorts[0].dir === "asc" ? "ascending" : "descending" : "none" : void 0,
1087
- style: ownHead.style || pinnedHead ? { ...ownHead.style, ...pinnedHead } : void 0,
1088
- className: cn(
1089
- "relative font-medium align-middle whitespace-nowrap",
1090
- compact ? "px-2 py-1" : "px-3 py-2",
1091
- // Keep the header visible while the user scrolls the page.
1092
- // Each <th> carries its own bg so the row doesn't render
1093
- // transparent over the data rows underneath.
1094
- "sticky top-0 z-10 bg-[var(--bg-surface-2)] backdrop-blur-sm",
1095
- logicalAlign(ownHead.className),
1096
- headClass
1097
- )
1098
- },
1099
- /* @__PURE__ */ jsxs(
1100
- "div",
1101
- {
1102
- className: cn(
1103
- "flex items-center gap-1",
1104
- isEndAligned && "flex-row-reverse"
1105
- ),
1106
- children: [
1107
- /* @__PURE__ */ jsx(Tooltip, { label: sortable && multiSort ? labels.sortHint : void 0, portal: true, children: /* @__PURE__ */ jsxs(
1108
- "button",
1109
- {
1110
- type: "button",
1111
- onClick: (e) => sortable && toggleSort(col.key, e.shiftKey),
1112
- disabled: !sortable,
1113
- className: cn(
1114
- "flex items-center gap-1 text-start",
1115
- sortable && "hover:text-[var(--text-primary)]"
1116
- ),
1117
- children: [
1118
- /* @__PURE__ */ jsx("span", { children: col.header }),
1119
- sortable && /* @__PURE__ */ jsx(Icon, { className: cn("size-3", active ? "opacity-100" : "opacity-40") }),
1120
- active && sorts.length > 1 && /* @__PURE__ */ jsx("span", { className: "text-micro font-semibold leading-none text-brand", children: sortIdx + 1 })
1121
- ]
1122
- }
1123
- ) }),
1124
- filter && /* @__PURE__ */ jsx(
1125
- Popover,
1126
- {
1127
- width: filter.type === "date" ? "26.25rem" : void 0,
1128
- labels: { panel: labels.filter },
1129
- trigger: ({ toggle, ref }) => /* @__PURE__ */ jsx(
1130
- "button",
1131
- {
1132
- type: "button",
1133
- ref,
1134
- onClick: toggle,
1135
- "aria-label": labels.filter,
1136
- className: cn(
1137
- "rounded p-1 transition-colors",
1138
- filterActive ? "bg-[var(--brand-bg)] text-[var(--brand-muted)]" : "text-[var(--text-placeholder)] hover:text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]"
1139
- ),
1140
- children: /* @__PURE__ */ jsx(Filter, { className: "size-3" })
1141
- }
1142
- ),
1143
- children: () => /* @__PURE__ */ jsx(
1144
- FilterPopover,
1145
- {
1146
- column: col,
1147
- state: filterState ?? defaultFilterState(filter),
1148
- onChange: (next) => setFilterValue(col.key, next),
1149
- onClear: () => clearFilter(col.key),
1150
- selectOptions: selectOptionsByKey[col.key] ?? [],
1151
- labels,
1152
- locale
1153
- }
1154
- )
1155
- }
1156
- )
1157
- ]
1158
- }
1159
- ),
1160
- resizable && col.key !== ROW_ACTIONS_KEY && /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- a
1161
- pointer-only drag handle for a visual preference (column width); it is
1162
- deliberately not a tab stop, and no content or action depends on it. */
1163
- /* @__PURE__ */ jsx(
1164
- "span",
1165
- {
1166
- role: "separator",
1167
- "aria-orientation": "vertical",
1168
- onPointerDown: (e) => startResize(e, col.key),
1169
- onPointerMove: moveResize,
1170
- onPointerUp: (e) => finishResize(e, true),
1171
- onPointerCancel: (e) => finishResize(e, false),
1172
- onDoubleClick: (e) => {
1173
- e.preventDefault();
1174
- setWidths((w) => {
1175
- const next = { ...w };
1176
- delete next[col.key];
1177
- return next;
1178
- });
1179
- },
1180
- className: "absolute end-0 top-0 z-10 h-full w-1.5 -translate-x-1/2 rtl:translate-x-1/2 cursor-col-resize select-none touch-none hover:bg-[var(--brand-bg-hover)]"
1181
- }
1182
- )
1183
- );
1184
- })
1185
- ] }) }),
577
+ /* @__PURE__ */ jsx(
578
+ DataTableHead,
579
+ {
580
+ visibleColumns,
581
+ selection,
582
+ compact,
583
+ labels,
584
+ locale,
585
+ isServer,
586
+ hasSortCallback: !!onSortsChange,
587
+ hasFilterCallback: !!onFiltersChange,
588
+ sorts,
589
+ filters,
590
+ selectOptionsByKey,
591
+ multiSort,
592
+ resizable,
593
+ widths,
594
+ setWidths,
595
+ headRefs,
596
+ toggleSort,
597
+ setFilterValue,
598
+ clearFilter,
599
+ startResize,
600
+ moveResize,
601
+ finishResize
602
+ }
603
+ ),
1186
604
  /* @__PURE__ */ jsxs(
1187
605
  "tbody",
1188
606
  {
1189
607
  className: cn(isLoading && slice.length > 0 && "opacity-60 transition-opacity"),
1190
608
  children: [
1191
- leadingRow && /* @__PURE__ */ jsx("tr", { className: "border-t border-[var(--border)]", children: /* @__PURE__ */ jsx("td", { colSpan: totalColSpan, className: "p-0", children: leadingRow }) }),
609
+ leadingRow && /* @__PURE__ */ jsx("tr", { className: "border-t border-subtle", children: /* @__PURE__ */ jsx("td", { colSpan: totalColSpan, className: "p-0", children: leadingRow }) }),
1192
610
  slice.map((row, rowIndex) => {
1193
611
  const expanded = isExpanded?.(row) ?? false;
1194
612
  const expansion = expanded ? expandedRow?.(row) : null;
1195
613
  const rowInteractive = !!onRowClick || !!selection;
1196
614
  const href = rowHref?.(row);
1197
615
  const key = rowKey(row);
1198
- return /* @__PURE__ */ jsxs(Fragment2, { children: [
616
+ const detailId = `${detailIdBase}-${rowIndex}`;
617
+ const disclosure = rowsFocusable && expandedRow ? /* @__PURE__ */ jsx(
618
+ "button",
619
+ {
620
+ type: "button",
621
+ tabIndex: -1,
622
+ className: "sr-only-fixed",
623
+ "aria-label": labels.rowDetails,
624
+ "aria-expanded": expanded,
625
+ "aria-controls": expansion ? detailId : void 0,
626
+ onClick: () => onRowClick(row)
627
+ }
628
+ ) : null;
629
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1199
630
  /* @__PURE__ */ jsxs(
1200
631
  "tr",
1201
632
  {
1202
633
  ...cleanAttrs(rowAttributes?.(row)),
1203
634
  "data-row-nav": rowsFocusable ? "" : void 0,
1204
635
  tabIndex: rowsFocusable ? key === tabRowKey ? 0 : -1 : void 0,
1205
- "aria-expanded": rowsFocusable && expandedRow ? expanded : void 0,
1206
636
  onFocus: rowsFocusable ? (e) => {
1207
637
  if (e.target === e.currentTarget) setFocusRowKey(key);
1208
638
  } : void 0,
@@ -1218,12 +648,12 @@ function DataTable({
1218
648
  if (moveRowFocus(e.currentTarget, e.key)) e.preventDefault();
1219
649
  } : void 0,
1220
650
  className: cn(
1221
- "border-t border-[var(--border)]",
1222
- rowInteractive && "cursor-pointer hover:bg-[var(--bg-hover)]",
651
+ "border-t border-subtle",
652
+ rowInteractive && "cursor-pointer hover:bg-hover",
1223
653
  // The kit's focus frame width (§5, `--focus-ring-width`), drawn as an
1224
654
  // OUTLINE rather than FOCUS_RING's box-shadow: a shadow on a `<tr>`
1225
655
  // is not painted by every engine, an outline is.
1226
- rowsFocusable && "focus-visible:bg-[var(--bg-hover)] focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:-outline-offset-2 focus-visible:outline-[var(--brand)]",
656
+ rowsFocusable && "focus-visible:bg-hover focus-visible:outline-focus focus-visible:-outline-offset-2 focus-visible:outline-brand",
1227
657
  rowClassName?.(row)
1228
658
  ),
1229
659
  onClick: rowInteractive ? (e) => {
@@ -1276,7 +706,7 @@ function DataTable({
1276
706
  )
1277
707
  }
1278
708
  ),
1279
- visibleColumns.map((col) => {
709
+ visibleColumns.map((col, colIndex) => {
1280
710
  const width = widths[col.key];
1281
711
  const own = splitCellProps(col.cellProps?.(row));
1282
712
  const pinned = width ? { width, minWidth: width, maxWidth: width } : void 0;
@@ -1295,6 +725,7 @@ function DataTable({
1295
725
  logicalAlign(col.className)
1296
726
  )
1297
727
  },
728
+ colIndex === 0 && disclosure,
1298
729
  col === linkColumn && href ? (
1299
730
  // No `onActivate`: the click is left to bubble to the
1300
731
  // <tr> handler above, which already owns expand-vs-select.
@@ -1306,14 +737,14 @@ function DataTable({
1306
737
  ]
1307
738
  }
1308
739
  ),
1309
- expansion && /* @__PURE__ */ jsx("tr", { className: "bg-[var(--bg-surface-2)] border-t border-[var(--border)]", children: /* @__PURE__ */ jsx("td", { colSpan: totalColSpan, className: "p-0", children: /* @__PURE__ */ jsx("div", { className: cn("w-0 min-w-full", compact ? "px-2 py-2" : "px-3 py-3"), children: expansion }) }) })
740
+ expansion && /* @__PURE__ */ jsx("tr", { id: disclosure ? detailId : void 0, className: "bg-surface-2 border-t border-subtle", children: /* @__PURE__ */ jsx("td", { colSpan: totalColSpan, className: "p-0", children: /* @__PURE__ */ jsx("div", { className: cn("w-0 min-w-full", compact ? "px-2 py-2" : "px-3 py-3"), children: expansion }) }) })
1310
741
  ] }, key);
1311
742
  }),
1312
743
  slice.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx(
1313
744
  "td",
1314
745
  {
1315
746
  colSpan: totalColSpan,
1316
- className: cn("text-center text-[var(--text-muted)]", compact ? "px-2 py-2" : "px-3 py-4"),
747
+ className: cn("text-center text-muted", compact ? "px-2 py-2" : "px-3 py-4"),
1317
748
  children: isLoading ? /* @__PURE__ */ jsx(LoadingText, { label: labels.loading }) : empty ?? labels.empty
1318
749
  }
1319
750
  ) })
@@ -1330,7 +761,7 @@ function DataTable({
1330
761
  {
1331
762
  "data-table-footer": "",
1332
763
  className: cn(
1333
- "font-semibold text-[var(--text-primary)]",
764
+ "font-semibold text-primary",
1334
765
  isLoading && "opacity-60 transition-opacity"
1335
766
  ),
1336
767
  children: /* @__PURE__ */ jsxs("tr", { children: [
@@ -1395,96 +826,19 @@ function DataTable({
1395
826
  }
1396
827
  )
1397
828
  ] }),
1398
- columnSettings && /* @__PURE__ */ jsxs(Fragment, { children: [
1399
- /* @__PURE__ */ jsx(Tooltip, { label: columnsCountLabel, portal: true, children: /* @__PURE__ */ jsx(
1400
- "button",
1401
- {
1402
- type: "button",
1403
- onClick: () => setShowSettings(true),
1404
- "aria-label": columnsCountLabel,
1405
- "aria-hidden": showSettings,
1406
- tabIndex: showSettings ? -1 : 0,
1407
- className: cn(
1408
- "group flex shrink-0 items-start justify-center overflow-hidden pt-3 transition-[width] duration-200 ease-out",
1409
- "border-s border-[var(--border)]",
1410
- "hover:bg-[var(--bg-hover)]",
1411
- showSettings ? "w-0 border-s-0" : "w-8 cursor-pointer"
1412
- ),
1413
- children: /* @__PURE__ */ jsx(
1414
- "span",
1415
- {
1416
- className: "whitespace-nowrap text-xs font-medium tracking-wide text-[var(--text-muted)] group-hover:text-[var(--text-secondary)]",
1417
- style: { writingMode: "vertical-rl", transform: "rotate(180deg)" },
1418
- children: columnsCountLabel
1419
- }
1420
- )
1421
- }
1422
- ) }),
1423
- /* @__PURE__ */ jsx(
1424
- "div",
1425
- {
1426
- className: cn(
1427
- "shrink-0 overflow-hidden transition-[width] duration-200 ease-out",
1428
- showSettings ? "w-56" : "w-0"
1429
- ),
1430
- children: /* @__PURE__ */ jsxs("div", { className: "flex w-56 flex-col border-s border-[var(--border)] p-2", children: [
1431
- /* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between gap-1", children: [
1432
- /* @__PURE__ */ jsx("div", { className: "text-xs font-medium uppercase tracking-wide text-[var(--text-muted)]", children: columnsCountLabel }),
1433
- /* @__PURE__ */ jsx(Tooltip, { label: labels.close, portal: true, children: /* @__PURE__ */ jsx(
1434
- "button",
1435
- {
1436
- type: "button",
1437
- onClick: () => setShowSettings(false),
1438
- "aria-label": labels.close,
1439
- className: "rounded p-0.5 text-[var(--text-placeholder)] hover:bg-[var(--bg-hover)] hover:text-[var(--text-secondary)]",
1440
- children: /* @__PURE__ */ jsx(X, { className: "size-4" })
1441
- }
1442
- ) })
1443
- ] }),
1444
- /* @__PURE__ */ jsx(
1445
- "button",
1446
- {
1447
- type: "button",
1448
- onClick: autoSizeAll,
1449
- className: "mb-2 rounded border border-[var(--border)] px-2 py-1 text-xs font-medium text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]",
1450
- children: labels.autoSize
1451
- }
1452
- ),
1453
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children: columns.map((col) => {
1454
- if (col.key === ROW_ACTIONS_KEY) return null;
1455
- const checked = !hiddenCols.has(col.key);
1456
- const headerLabel = columnLabel(col);
1457
- return /* @__PURE__ */ jsxs(
1458
- "label",
1459
- {
1460
- className: "inline-flex cursor-pointer items-center gap-1.5 rounded px-1 py-0.5 text-xs hover:bg-[var(--bg-hover)]",
1461
- children: [
1462
- /* @__PURE__ */ jsx(
1463
- "input",
1464
- {
1465
- type: "checkbox",
1466
- className: "size-3.5",
1467
- checked,
1468
- onChange: (e) => {
1469
- setHiddenCols((s) => {
1470
- const next = new Set(s);
1471
- if (e.target.checked) next.delete(col.key);
1472
- else next.add(col.key);
1473
- return next;
1474
- });
1475
- }
1476
- }
1477
- ),
1478
- /* @__PURE__ */ jsx("span", { className: "truncate", children: headerLabel })
1479
- ]
1480
- },
1481
- col.key
1482
- );
1483
- }) })
1484
- ] })
1485
- }
1486
- )
1487
- ] })
829
+ columnSettings && /* @__PURE__ */ jsx(
830
+ ColumnSettingsPanel,
831
+ {
832
+ columns,
833
+ hiddenCols,
834
+ setHiddenCols,
835
+ showSettings,
836
+ setShowSettings,
837
+ columnsCountLabel,
838
+ labels,
839
+ autoSizeAll
840
+ }
841
+ )
1488
842
  ] })
1489
843
  ]
1490
844
  }
@@ -1502,153 +856,6 @@ function LoadingText({ label }) {
1502
856
  /* @__PURE__ */ jsx("bdi", { children: label })
1503
857
  ] });
1504
858
  }
1505
- function MobileFilters({
1506
- columns,
1507
- filters,
1508
- selectOptionsByKey,
1509
- isServer,
1510
- hasFilterCallback,
1511
- onSetFilter,
1512
- onClearFilter,
1513
- onClearAll,
1514
- labels,
1515
- locale
1516
- }) {
1517
- const [open, setOpen] = useState(false);
1518
- const [dir, setDir] = useState("ltr");
1519
- const [expanded, setExpanded] = useState(null);
1520
- const backdropClose = useBackdropClose(() => setOpen(false));
1521
- useBodyScrollLock(open);
1522
- useOverlayHistory(open, () => setOpen(false));
1523
- const filterable = useMemo(
1524
- () => columns.map((col) => ({ col, filter: !isServer || hasFilterCallback ? resolveFilter(col) : null })).filter((x) => !!x.filter),
1525
- [columns, isServer, hasFilterCallback]
1526
- );
1527
- if (filterable.length === 0) return null;
1528
- const activeCount = filterable.filter(({ col }) => {
1529
- const s = filters[col.key];
1530
- return s && isFilterActive(s);
1531
- }).length;
1532
- return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 border-b border-[var(--border)] px-4 py-2", children: [
1533
- /* @__PURE__ */ jsxs(
1534
- "button",
1535
- {
1536
- type: "button",
1537
- onClick: (e) => {
1538
- setDir(dirOf(e.currentTarget));
1539
- setOpen(true);
1540
- },
1541
- className: "inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]",
1542
- children: [
1543
- /* @__PURE__ */ jsx(Filter, { className: "size-4" }),
1544
- /* @__PURE__ */ jsx("span", { children: labels.filters }),
1545
- activeCount > 0 && /* @__PURE__ */ jsx("span", { className: "inline-flex min-w-4 items-center justify-center rounded-full bg-[var(--info-bg)] px-1 text-caption font-semibold text-[var(--info)]", children: activeCount })
1546
- ]
1547
- }
1548
- ),
1549
- activeCount > 0 && /* @__PURE__ */ jsx(
1550
- "button",
1551
- {
1552
- type: "button",
1553
- onClick: onClearAll,
1554
- className: "text-xs text-[var(--text-muted)] hover:text-[var(--text-secondary)]",
1555
- children: labels.clearAll
1556
- }
1557
- ),
1558
- open && createPortal(
1559
- /* @__PURE__ */ jsx(
1560
- "div",
1561
- {
1562
- className: "fixed inset-0 z-50 flex items-end justify-center bg-black/40",
1563
- role: "dialog",
1564
- "aria-modal": "true",
1565
- dir,
1566
- ...backdropClose,
1567
- children: /* @__PURE__ */ jsxs("div", { className: "flex max-h-[85vh] w-full flex-col overflow-hidden rounded-t-2xl bg-[var(--bg-surface)] shadow-xl", children: [
1568
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 border-b border-[var(--border)] px-4 py-3", children: [
1569
- /* @__PURE__ */ jsx("div", { className: "font-medium", children: labels.filters }),
1570
- /* @__PURE__ */ jsx(
1571
- "button",
1572
- {
1573
- type: "button",
1574
- onClick: () => setOpen(false),
1575
- "aria-label": labels.close,
1576
- className: "-me-1 rounded p-1.5 text-[var(--text-muted)] hover:bg-[var(--bg-hover)] hover:text-[var(--text-secondary)]",
1577
- children: /* @__PURE__ */ jsx(X, { className: "size-5" })
1578
- }
1579
- )
1580
- ] }),
1581
- /* @__PURE__ */ jsx("div", { className: "flex-1 divide-y divide-[var(--border)] overflow-y-auto overscroll-contain", children: filterable.map(({ col, filter }) => {
1582
- const state = filters[col.key];
1583
- const active = !!state && isFilterActive(state);
1584
- const isItemOpen = expanded === col.key;
1585
- return /* @__PURE__ */ jsxs("div", { children: [
1586
- /* @__PURE__ */ jsxs(
1587
- "button",
1588
- {
1589
- type: "button",
1590
- onClick: () => setExpanded(isItemOpen ? null : col.key),
1591
- "aria-expanded": isItemOpen,
1592
- className: "flex w-full items-center justify-between gap-2 px-4 py-3 text-start",
1593
- children: [
1594
- /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2 text-sm font-medium text-[var(--text-secondary)]", children: [
1595
- col.header,
1596
- active && /* @__PURE__ */ jsx("span", { className: "size-1.5 rounded-full bg-brand" })
1597
- ] }),
1598
- /* @__PURE__ */ jsx(
1599
- ChevronDown,
1600
- {
1601
- className: cn(
1602
- "size-4 shrink-0 text-[var(--text-placeholder)] transition-transform",
1603
- isItemOpen && "rotate-180"
1604
- )
1605
- }
1606
- )
1607
- ]
1608
- }
1609
- ),
1610
- isItemOpen && /* @__PURE__ */ jsx("div", { className: "px-4 pb-3", children: /* @__PURE__ */ jsx(
1611
- FilterPopover,
1612
- {
1613
- column: col,
1614
- state: state ?? defaultFilterState(filter),
1615
- onChange: (next) => onSetFilter(col.key, next),
1616
- onClear: () => onClearFilter(col.key),
1617
- selectOptions: selectOptionsByKey[col.key] ?? [],
1618
- labels,
1619
- locale
1620
- }
1621
- ) })
1622
- ] }, col.key);
1623
- }) }),
1624
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 border-t border-[var(--border)] px-4 py-3", children: [
1625
- /* @__PURE__ */ jsx(
1626
- "button",
1627
- {
1628
- type: "button",
1629
- onClick: onClearAll,
1630
- disabled: activeCount === 0,
1631
- className: "text-sm text-[var(--text-muted)] hover:text-[var(--text-secondary)] disabled:opacity-40",
1632
- children: labels.clearAll
1633
- }
1634
- ),
1635
- /* @__PURE__ */ jsx(
1636
- "button",
1637
- {
1638
- type: "button",
1639
- onClick: () => setOpen(false),
1640
- className: "rounded-md bg-[var(--bg-inverse)] px-4 py-2 text-sm font-medium text-[var(--text-inverse)]",
1641
- children: labels.done
1642
- }
1643
- )
1644
- ] })
1645
- ] })
1646
- }
1647
- ),
1648
- document.body
1649
- )
1650
- ] });
1651
- }
1652
859
  export {
1653
860
  DEFAULT_DATA_TABLE_SORT_LABELS,
1654
861
  DataTable