themelia-react-ui 1.0.2 → 2.0.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 (542) hide show
  1. package/CHANGELOG.md +281 -1
  2. package/README.md +10 -5
  3. package/dist/{accordion-BRTcsp8J.js → accordion-CQXVcd7Q.js} +13 -13
  4. package/dist/accordion-CQXVcd7Q.js.map +1 -0
  5. package/dist/action-menu-BTpyPWJ2.js +264 -0
  6. package/dist/action-menu-BTpyPWJ2.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-CL84ZN9A.js → affordance-geometry.generated-CCIXb2A1.js} +7 -2
  8. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +1 -0
  9. package/dist/{ai-artifact-DLVdK0Py.js → ai-artifact-2PQ2fItc.js} +171 -176
  10. package/dist/ai-artifact-2PQ2fItc.js.map +1 -0
  11. package/dist/{app-shell-C_fKpljx.js → app-shell-BE_j8-AT.js} +4 -4
  12. package/dist/{app-shell-C_fKpljx.js.map → app-shell-BE_j8-AT.js.map} +1 -1
  13. package/dist/{attachment-DbjUWsP0.js → attachment-q69dlt5Y.js} +9 -9
  14. package/dist/{attachment-DbjUWsP0.js.map → attachment-q69dlt5Y.js.map} +1 -1
  15. package/dist/{auth-CAQcasMV.js → auth-M3vGMgDR.js} +42 -42
  16. package/dist/{auth-CAQcasMV.js.map → auth-M3vGMgDR.js.map} +1 -1
  17. package/dist/{avatar-Bu2HhitA.js → avatar-djdaaQ_s.js} +14 -12
  18. package/dist/avatar-djdaaQ_s.js.map +1 -0
  19. package/dist/{badge-CzId1Wlm.js → badge-0tATj-tW.js} +9 -9
  20. package/dist/badge-0tATj-tW.js.map +1 -0
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/buttons.js +2 -2
  27. package/dist/base/cards.js +2 -2
  28. package/dist/base/carousel.js +11 -11
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +244 -222
  31. package/dist/base/cascader.js.map +1 -1
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +2 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +1 -1
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +2 -2
  39. package/dist/base/display.js +6 -6
  40. package/dist/base/feedback.js +3 -3
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +81 -76
  44. package/dist/base/inline-edit.js.map +1 -1
  45. package/dist/base/item.js +1 -1
  46. package/dist/base/media-gallery.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +7 -4
  51. package/dist/base/qr-code.js.map +1 -1
  52. package/dist/base/repeaters.js +42 -42
  53. package/dist/base/repeaters.js.map +1 -1
  54. package/dist/base/sheet.js +1 -1
  55. package/dist/base/sidebar.js +1 -1
  56. package/dist/base/signature-pad.js +9 -9
  57. package/dist/base/signature-pad.js.map +1 -1
  58. package/dist/base/skeleton.js +1 -1
  59. package/dist/base/spinner.js +1 -1
  60. package/dist/base/structure.js +1 -1
  61. package/dist/base/table.js +1 -1
  62. package/dist/base/text-inputs.js +2 -2
  63. package/dist/base/toaster.js +4 -4
  64. package/dist/base/toaster.js.map +1 -1
  65. package/dist/base/tree.js +1 -1
  66. package/dist/base/upload-queue.js +1 -1
  67. package/dist/base/upload.js +3 -3
  68. package/dist/base/value-inputs.js +1 -1
  69. package/dist/blocks/admin.js +229 -220
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +147 -180
  72. package/dist/blocks/ai.js.map +1 -1
  73. package/dist/blocks/analytics/usage-card.js +1 -1
  74. package/dist/blocks/analytics.js +530 -523
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +1 -1
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1390 -1516
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +1 -1
  81. package/dist/blocks/onboarding.js +5 -5
  82. package/dist/blocks/planning.js +82 -91
  83. package/dist/blocks/planning.js.map +1 -1
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-BuYz5SDU.js → breadcrumbs-BG_FfMK4.js} +5 -5
  86. package/dist/{breadcrumbs-BuYz5SDU.js.map → breadcrumbs-BG_FfMK4.js.map} +1 -1
  87. package/dist/{button-BZDasD04.js → button-BS3KDg00.js} +185 -162
  88. package/dist/button-BS3KDg00.js.map +1 -0
  89. package/dist/{button-BZyfTvwm.js → button-R9CCoH7A.js} +2 -2
  90. package/dist/{button-BZyfTvwm.js.map → button-R9CCoH7A.js.map} +1 -1
  91. package/dist/{buttons-D_6KJvEE.js → buttons-DS0ZIwJ_.js} +11 -11
  92. package/dist/buttons-DS0ZIwJ_.js.map +1 -0
  93. package/dist/{cards-qGSErLw_.js → cards-QoJ4syG9.js} +7 -7
  94. package/dist/{cards-qGSErLw_.js.map → cards-QoJ4syG9.js.map} +1 -1
  95. package/dist/{chart-Bsc5BICK.js → chart-DwYRKKc-.js} +17 -15
  96. package/dist/chart-DwYRKKc-.js.map +1 -0
  97. package/dist/checkbox-B7ygNTYp.js +35 -0
  98. package/dist/checkbox-B7ygNTYp.js.map +1 -0
  99. package/dist/choice-inputs-DrJ17tpL.js +752 -0
  100. package/dist/choice-inputs-DrJ17tpL.js.map +1 -0
  101. package/dist/{code-block-DzHKRybS.js → code-block-CD0B7M93.js} +19 -19
  102. package/dist/{code-block-DzHKRybS.js.map → code-block-CD0B7M93.js.map} +1 -1
  103. package/dist/{collapsible-ClvC7Bj3.js → collapsible-oMUGM4tr.js} +3 -3
  104. package/dist/{collapsible-ClvC7Bj3.js.map → collapsible-oMUGM4tr.js.map} +1 -1
  105. package/dist/{collection-content-D6S8cv_n.js → collection-content-Ys-OZOkY.js} +3 -3
  106. package/dist/{collection-content-D6S8cv_n.js.map → collection-content-Ys-OZOkY.js.map} +1 -1
  107. package/dist/{combobox-BFnbJJp3.js → combobox-6dvVny2q.js} +96 -97
  108. package/dist/combobox-6dvVny2q.js.map +1 -0
  109. package/dist/{combobox-hozNwUcc.js → combobox-CB7039j7.js} +326 -308
  110. package/dist/combobox-CB7039j7.js.map +1 -0
  111. package/dist/{command-BnmSchli.js → command-kPMPjIxJ.js} +34 -30
  112. package/dist/command-kPMPjIxJ.js.map +1 -0
  113. package/dist/{comments-u5L0OGip.js → comments-You0Bzbr.js} +349 -348
  114. package/dist/comments-You0Bzbr.js.map +1 -0
  115. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  116. package/dist/components/base/action-menu/action-menu.d.ts +7 -2
  117. package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
  118. package/dist/components/base/badge/badge.d.ts +1 -1
  119. package/dist/components/base/badge/badge.recipes.d.ts +4 -4
  120. package/dist/components/base/buttons/base-button.d.ts +7 -0
  121. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  122. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  123. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  124. package/dist/components/base/buttons/text-button.d.ts +2 -2
  125. package/dist/components/base/carousel/carousel.d.ts +3 -1
  126. package/dist/components/base/chart/chart.d.ts +7 -7
  127. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  128. package/dist/components/base/choice-inputs/choice-types.d.ts +10 -1
  129. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  130. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  131. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  132. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  133. package/dist/components/base/date-pickers/datepicker.types.d.ts +13 -3
  134. package/dist/components/base/display/alert-dialog.d.ts +8 -2
  135. package/dist/components/base/display/content-block.d.ts +4 -2
  136. package/dist/components/base/display/date-block.d.ts +1 -1
  137. package/dist/components/base/display/dialog.d.ts +12 -5
  138. package/dist/components/base/display/surface-title.d.ts +6 -1
  139. package/dist/components/base/feedback/alert.d.ts +1 -1
  140. package/dist/components/base/feedback/state-display.d.ts +5 -4
  141. package/dist/components/base/forms/form-sizing.d.ts +32 -0
  142. package/dist/components/base/forms/workflow.d.ts +2 -0
  143. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  144. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  145. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  146. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  147. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  148. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -1
  149. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  150. package/dist/components/base/sheet/index.d.ts +29 -1
  151. package/dist/components/base/sheet/sheet.d.ts +14 -5
  152. package/dist/components/base/spinner/spinner.d.ts +3 -2
  153. package/dist/components/base/structure/structure.types.d.ts +1 -1
  154. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  155. package/dist/components/base/upload/upload.recipes.d.ts +11 -0
  156. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  157. package/dist/components/base/value-inputs/tags-input.d.ts +2 -0
  158. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  159. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  160. package/dist/components/blocks/analytics/index.d.ts +1 -1
  161. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  162. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  163. package/dist/components/blocks/commerce/address-card/types.d.ts +3 -1
  164. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  165. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  166. package/dist/components/blocks/commerce/discount-stack/types.d.ts +1 -1
  167. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  168. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  169. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  170. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +1 -1
  171. package/dist/components/blocks/commerce/payment-method/types.d.ts +3 -1
  172. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  173. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  174. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  175. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  176. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  177. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  178. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  179. package/dist/components/features/overlays/drawer.d.ts +1 -1
  180. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  181. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  182. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  183. package/dist/components/features/overlays/overlays.types.d.ts +42 -19
  184. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  185. package/dist/components/features/products/partials/index.d.ts +1 -1
  186. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  187. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  188. package/dist/components/features/products/products.types.d.ts +2 -1
  189. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  190. package/dist/components/layout/page/index.d.ts +1 -1
  191. package/dist/components/layout/page/page.types.d.ts +53 -3
  192. package/dist/components/layout/page/partials/page-header-commands.d.ts +13 -0
  193. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  194. package/dist/components/primitives/date.d.ts +16 -3
  195. package/dist/components/primitives/dimensions.d.ts +6 -0
  196. package/dist/components/primitives/duration.d.ts +6 -0
  197. package/dist/components/primitives/file-size.d.ts +6 -0
  198. package/dist/components/primitives/index.d.ts +1 -1
  199. package/dist/components/primitives/initials.d.ts +11 -2
  200. package/dist/components/primitives/link.d.ts +7 -0
  201. package/dist/components/primitives/money.d.ts +29 -7
  202. package/dist/components/primitives/number.d.ts +17 -0
  203. package/dist/components/primitives/value-typography.d.ts +54 -0
  204. package/dist/components/primitives/value.d.ts +31 -6
  205. package/dist/components/typography/heading.d.ts +9 -1
  206. package/dist/components/typography/label.d.ts +3 -0
  207. package/dist/components/typography/running-text.d.ts +12 -0
  208. package/dist/components/typography/text-link.d.ts +23 -1
  209. package/dist/components/typography/text.d.ts +12 -0
  210. package/dist/components/typography/text.styles.d.ts +35 -13
  211. package/dist/components/ui/button.d.ts +1 -1
  212. package/dist/components/ui/checkbox.d.ts +5 -0
  213. package/dist/components/ui/overlay.recipes.d.ts +15 -2
  214. package/dist/components/ui/select.d.ts +3 -1
  215. package/dist/components/ui/switch.d.ts +5 -0
  216. package/dist/{containers-DqB-bSYE.js → containers-D_L4mTVb.js} +3 -3
  217. package/dist/{containers-DqB-bSYE.js.map → containers-D_L4mTVb.js.map} +1 -1
  218. package/dist/{copyable-BTSByfmq.js → copyable-DDjTeW_j.js} +4 -4
  219. package/dist/{copyable-BTSByfmq.js.map → copyable-DDjTeW_j.js.map} +1 -1
  220. package/dist/{data-display-Bihs9Ven.js → data-display-3xWQUnMA.js} +471 -478
  221. package/dist/data-display-3xWQUnMA.js.map +1 -0
  222. package/dist/date-picker-DrDFj8Lo.js +1527 -0
  223. package/dist/date-picker-DrDFj8Lo.js.map +1 -0
  224. package/dist/date-pickers-CnFCb0n2.js +174 -0
  225. package/dist/date-pickers-CnFCb0n2.js.map +1 -0
  226. package/dist/date-uf3z37Nm.js +144 -0
  227. package/dist/date-uf3z37Nm.js.map +1 -0
  228. package/dist/{display-CS6Hbk18.js → display-DrdvPwF0.js} +25 -25
  229. package/dist/display-DrdvPwF0.js.map +1 -0
  230. package/dist/{dropdown-menu-D-boNgGO.js → dropdown-menu-CURh59jb.js} +22 -15
  231. package/dist/dropdown-menu-CURh59jb.js.map +1 -0
  232. package/dist/features/activities.js +38 -35
  233. package/dist/features/activities.js.map +1 -1
  234. package/dist/features/ai-chat.js +36 -35
  235. package/dist/features/ai-chat.js.map +1 -1
  236. package/dist/features/async-preview.js +8 -8
  237. package/dist/features/combobox.js +1 -1
  238. package/dist/features/comments.js +1 -1
  239. package/dist/features/data-view.js +10 -10
  240. package/dist/features/email-composer.js +325 -326
  241. package/dist/features/email-composer.js.map +1 -1
  242. package/dist/features/event-calendar.js +190 -200
  243. package/dist/features/event-calendar.js.map +1 -1
  244. package/dist/features/filters.js +1 -1
  245. package/dist/features/global-search.js +77 -77
  246. package/dist/features/global-search.js.map +1 -1
  247. package/dist/features/kanban.js +4 -4
  248. package/dist/features/map.js +8 -8
  249. package/dist/features/media-library.js +499 -502
  250. package/dist/features/media-library.js.map +1 -1
  251. package/dist/features/mentions.js +1 -1
  252. package/dist/features/overlays.js +1 -1
  253. package/dist/features/products.js +1216 -1248
  254. package/dist/features/products.js.map +1 -1
  255. package/dist/features/questionnaire.js +46 -44
  256. package/dist/features/questionnaire.js.map +1 -1
  257. package/dist/features/resource-assignment.js +96 -88
  258. package/dist/features/resource-assignment.js.map +1 -1
  259. package/dist/features/resource.js +11 -11
  260. package/dist/features/rich-text-editor.js +2 -2
  261. package/dist/features/schema-form.js +188 -184
  262. package/dist/features/schema-form.js.map +1 -1
  263. package/dist/features/suggestions.js +3 -3
  264. package/dist/features/sync.js +7 -7
  265. package/dist/features/sync.js.map +1 -1
  266. package/dist/features/table.js +1 -1
  267. package/dist/features/theme-tweaker.js +469 -470
  268. package/dist/features/theme-tweaker.js.map +1 -1
  269. package/dist/{feedback-CJkUAapr.js → feedback-C7nR0UtT.js} +9 -10
  270. package/dist/feedback-C7nR0UtT.js.map +1 -0
  271. package/dist/field-affordance-recipes-CkOCdE2y.js +46 -0
  272. package/dist/field-affordance-recipes-CkOCdE2y.js.map +1 -0
  273. package/dist/{field-state-recipes-DQQpiLWC.js → field-state-recipes-C-MFBX_8.js} +3 -3
  274. package/dist/field-state-recipes-C-MFBX_8.js.map +1 -0
  275. package/dist/{filters-D6FF8L6s.js → filters-Da-gNPsE.js} +467 -467
  276. package/dist/filters-Da-gNPsE.js.map +1 -0
  277. package/dist/{form-field-CZwrkP7m.js → form-field-VZRULhUK.js} +7 -7
  278. package/dist/{form-field-CZwrkP7m.js.map → form-field-VZRULhUK.js.map} +1 -1
  279. package/dist/form-sizing-uWP4lzVh.js +126 -0
  280. package/dist/form-sizing-uWP4lzVh.js.map +1 -0
  281. package/dist/{forms-B5NCbkSC.js → forms-DDeEnXSY.js} +11 -11
  282. package/dist/forms-DDeEnXSY.js.map +1 -0
  283. package/dist/forms-numeric-D3CO60IF.js +905 -0
  284. package/dist/forms-numeric-D3CO60IF.js.map +1 -0
  285. package/dist/{header-kxruN3RM.js → header-2ycNqGOR.js} +43 -42
  286. package/dist/header-2ycNqGOR.js.map +1 -0
  287. package/dist/{hooks-BrlnCwQd.js → hooks-DQ5SPwZw.js} +2 -2
  288. package/dist/{hooks-BrlnCwQd.js.map → hooks-DQ5SPwZw.js.map} +1 -1
  289. package/dist/{icon-badge-Btc6pQrp.js → icon-badge-DKlaKXoo.js} +3 -3
  290. package/dist/{icon-badge-Btc6pQrp.js.map → icon-badge-DKlaKXoo.js.map} +1 -1
  291. package/dist/index.js +2 -2
  292. package/dist/{input-vxcaNCYC.js → input-BoLm9Hks.js} +3 -3
  293. package/dist/{input-vxcaNCYC.js.map → input-BoLm9Hks.js.map} +1 -1
  294. package/dist/input-DhQdBnV3.js +255 -0
  295. package/dist/{input-SX9V0AL3.js.map → input-DhQdBnV3.js.map} +1 -1
  296. package/dist/item-xzh8Df65.js +264 -0
  297. package/dist/item-xzh8Df65.js.map +1 -0
  298. package/dist/layout/app-shell.js +1 -1
  299. package/dist/layout/auth.js +1 -1
  300. package/dist/layout/containers.js +1 -1
  301. package/dist/layout/header.js +1 -1
  302. package/dist/layout/hooks.js +1 -1
  303. package/dist/layout/navigation.js +1 -1
  304. package/dist/layout/page.js +1 -1
  305. package/dist/layout/settings.js +1 -1
  306. package/dist/layout/sidebar.js +2 -2
  307. package/dist/layout/workspace.js +1 -1
  308. package/dist/layout.js +10 -10
  309. package/dist/lib/affordance-geometry.generated.d.ts +6 -1
  310. package/dist/lib/field-affordance-recipes.d.ts +35 -0
  311. package/dist/lib/field-state-recipes.d.ts +4 -2
  312. package/dist/lib/format.d.ts +9 -0
  313. package/dist/lib/money-format.d.ts +30 -0
  314. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -1
  315. package/dist/lib/surface-recipes.d.ts +8 -6
  316. package/dist/lib/token-merge.generated.d.ts +11 -11
  317. package/dist/lib/track-recipes.d.ts +1 -1
  318. package/dist/lib/ui-provider/provider.d.ts +7 -2
  319. package/dist/lib/ui-provider/store.d.ts +6 -2
  320. package/dist/lib/ui-provider/types.d.ts +5 -2
  321. package/dist/lib/utils.js +1 -1
  322. package/dist/{media-gallery-DLp3HAz0.js → media-gallery-DQUQ0m3O.js} +8 -8
  323. package/dist/media-gallery-DQUQ0m3O.js.map +1 -0
  324. package/dist/{mentions-Cl0Kt_Pd.js → mentions-DwnO1hh4.js} +34 -35
  325. package/dist/{mentions-Cl0Kt_Pd.js.map → mentions-DwnO1hh4.js.map} +1 -1
  326. package/dist/{message-SZUNB1eX.js → message-YfFmbXNP.js} +5 -5
  327. package/dist/{message-SZUNB1eX.js.map → message-YfFmbXNP.js.map} +1 -1
  328. package/dist/{navigation-DyytsLRB.js → navigation-Cbp5V8gG.js} +33 -34
  329. package/dist/navigation-Cbp5V8gG.js.map +1 -0
  330. package/dist/{navigation-DnQSNMT0.js → navigation-Cs1npsPm.js} +111 -87
  331. package/dist/navigation-Cs1npsPm.js.map +1 -0
  332. package/dist/{navigation-row-recipes-DQEXQcqY.js → navigation-row-recipes-DlU-4QYO.js} +2 -2
  333. package/dist/{navigation-row-recipes-DQEXQcqY.js.map → navigation-row-recipes-DlU-4QYO.js.map} +1 -1
  334. package/dist/number-CKRBYmZK.js +352 -0
  335. package/dist/number-CKRBYmZK.js.map +1 -0
  336. package/dist/overlay.recipes-CNO2S9V6.js +34 -0
  337. package/dist/overlay.recipes-CNO2S9V6.js.map +1 -0
  338. package/dist/overlays-DhZO7N-I.js +994 -0
  339. package/dist/overlays-DhZO7N-I.js.map +1 -0
  340. package/dist/page-C6R_8jFt.js +325 -0
  341. package/dist/page-C6R_8jFt.js.map +1 -0
  342. package/dist/{page-header-D8nERkn5.js → page-header-hUTzcRZX.js} +9 -9
  343. package/dist/page-header-hUTzcRZX.js.map +1 -0
  344. package/dist/{pagination-NLGqRirf.js → pagination-Cm0jqa3I.js} +8 -8
  345. package/dist/{pagination-NLGqRirf.js.map → pagination-Cm0jqa3I.js.map} +1 -1
  346. package/dist/{popover-CghIYdQf.js → popover-Dcv_9jxr.js} +6 -6
  347. package/dist/{popover-CghIYdQf.js.map → popover-Dcv_9jxr.js.map} +1 -1
  348. package/dist/{popover-menu-B4PoWhRl.js → popover-menu-DnRFKnHP.js} +6 -6
  349. package/dist/{popover-menu-B4PoWhRl.js.map → popover-menu-DnRFKnHP.js.map} +1 -1
  350. package/dist/{popover.recipes-QlD4JenO.js → popover.recipes-wmbvL8Ah.js} +2 -2
  351. package/dist/{popover.recipes-QlD4JenO.js.map → popover.recipes-wmbvL8Ah.js.map} +1 -1
  352. package/dist/primitives-BHrwQXFC.js +379 -0
  353. package/dist/primitives-BHrwQXFC.js.map +1 -0
  354. package/dist/primitives.js +5 -5
  355. package/dist/{progress-BroqrAyV.js → progress-Br9WTFya.js} +7 -7
  356. package/dist/progress-Br9WTFya.js.map +1 -0
  357. package/dist/{receipt-BuJynLgf.js → receipt-CV89q1fs.js} +6 -6
  358. package/dist/{receipt-BuJynLgf.js.map → receipt-CV89q1fs.js.map} +1 -1
  359. package/dist/{rich-text-editor-BKyG7rWz.js → rich-text-editor-CF8QYt5p.js} +6 -6
  360. package/dist/{rich-text-editor-BKyG7rWz.js.map → rich-text-editor-CF8QYt5p.js.map} +1 -1
  361. package/dist/{rich-text-editor.recipes-B72Nfuze.js → rich-text-editor.recipes-CnrbmTS1.js} +4 -4
  362. package/dist/{rich-text-editor.recipes-B72Nfuze.js.map → rich-text-editor.recipes-CnrbmTS1.js.map} +1 -1
  363. package/dist/{rich-text-DlxDOtf4.js → rich-text-j-FGAeZW.js} +4 -4
  364. package/dist/{rich-text-DlxDOtf4.js.map → rich-text-j-FGAeZW.js.map} +1 -1
  365. package/dist/{scroll-area-D-pIhEKl.js → scroll-area-DRdr16Pt.js} +3 -3
  366. package/dist/scroll-area-DRdr16Pt.js.map +1 -0
  367. package/dist/{separator-BhtFyo4x.js → separator-BMEvwnSX.js} +2 -2
  368. package/dist/{separator-BhtFyo4x.js.map → separator-BMEvwnSX.js.map} +1 -1
  369. package/dist/{separator-BNIgG3au.js → separator-Do5GWDYi.js} +4 -4
  370. package/dist/separator-Do5GWDYi.js.map +1 -0
  371. package/dist/services/actions/action-adapters.d.ts +4 -0
  372. package/dist/services/actions.js +8 -3
  373. package/dist/services/actions.js.map +1 -1
  374. package/dist/{settings-DOTOzeZ2.js → settings-DHk0L2MF.js} +17 -17
  375. package/dist/settings-DHk0L2MF.js.map +1 -0
  376. package/dist/sheet-DRFNY1_D.js +207 -0
  377. package/dist/sheet-DRFNY1_D.js.map +1 -0
  378. package/dist/sidebar-Cb8WzOvE.js +511 -0
  379. package/dist/sidebar-Cb8WzOvE.js.map +1 -0
  380. package/dist/{sidebar-CyR4XKwR.js → sidebar-Crc9M9JV.js} +18 -18
  381. package/dist/sidebar-Crc9M9JV.js.map +1 -0
  382. package/dist/{skeleton-3F0uhYn3.js → skeleton-DVMXr15h.js} +4 -4
  383. package/dist/{skeleton-3F0uhYn3.js.map → skeleton-DVMXr15h.js.map} +1 -1
  384. package/dist/{smart-card-DjGVV2xr.js → smart-card-Bek-TwUp.js} +222 -207
  385. package/dist/smart-card-Bek-TwUp.js.map +1 -0
  386. package/dist/{spinner-Cpf7oRkF.js → spinner-CmTAbEp0.js} +8 -6
  387. package/dist/spinner-CmTAbEp0.js.map +1 -0
  388. package/dist/{structure-CRdqVawd.js → structure-hzCW-XsV.js} +3 -3
  389. package/dist/{structure-CRdqVawd.js.map → structure-hzCW-XsV.js.map} +1 -1
  390. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  391. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  392. package/dist/style.css +1 -1
  393. package/dist/surface-recipes-DOdoBXGm.js +28 -0
  394. package/dist/surface-recipes-DOdoBXGm.js.map +1 -0
  395. package/dist/table-D6zKeYQX.js +162 -0
  396. package/dist/table-D6zKeYQX.js.map +1 -0
  397. package/dist/{table-CcRDZiLP.js → table-Dn4XSrSB.js} +348 -348
  398. package/dist/table-Dn4XSrSB.js.map +1 -0
  399. package/dist/{tabs-BNgu7g0u.js → tabs-Dk8E_knt.js} +14 -13
  400. package/dist/tabs-Dk8E_knt.js.map +1 -0
  401. package/dist/{text-inputs-DsR56TR-.js → text-inputs-BFpku0Qd.js} +150 -149
  402. package/dist/text-inputs-BFpku0Qd.js.map +1 -0
  403. package/dist/{text.styles-Q4sGAIgA.js → text.styles-g4He6UIW.js} +17 -14
  404. package/dist/text.styles-g4He6UIW.js.map +1 -0
  405. package/dist/theme.css +16 -12
  406. package/dist/themes/green.css +24 -0
  407. package/dist/{timelines-D1pkt3se.js → timelines-CxuAFIc2.js} +25 -38
  408. package/dist/timelines-CxuAFIc2.js.map +1 -0
  409. package/dist/track-recipes-CDcKmndW.js +10 -0
  410. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  411. package/dist/{tree-BtmYyMZV.js → tree-BotPlyiD.js} +13 -13
  412. package/dist/{tree-BtmYyMZV.js.map → tree-BotPlyiD.js.map} +1 -1
  413. package/dist/typography/rich-text.js +1 -1
  414. package/dist/typography-CAr3dQhX.js +116 -0
  415. package/dist/typography-CAr3dQhX.js.map +1 -0
  416. package/dist/typography.js +2 -2
  417. package/dist/{ui-provider-DRPn3qNl.js → ui-provider-D2_TeLqw.js} +20 -21
  418. package/dist/ui-provider-D2_TeLqw.js.map +1 -0
  419. package/dist/ui-provider.js +1 -1
  420. package/dist/{upload-CDbYw1WN.js → upload-B0WHW7ak.js} +221 -220
  421. package/dist/upload-B0WHW7ak.js.map +1 -0
  422. package/dist/{upload-queue-CNd_hH_a.js → upload-queue-BHZ_wBfd.js} +59 -62
  423. package/dist/upload-queue-BHZ_wBfd.js.map +1 -0
  424. package/dist/{usage-card-VyJLUwRr.js → usage-card-U0YBLTNT.js} +42 -43
  425. package/dist/{usage-card-VyJLUwRr.js.map → usage-card-U0YBLTNT.js.map} +1 -1
  426. package/dist/{utils-BvH9PSmq.js → utils-Cospvlj1.js} +221 -51
  427. package/dist/utils-Cospvlj1.js.map +1 -0
  428. package/dist/value-inputs-CjfzGMsN.js +854 -0
  429. package/dist/value-inputs-CjfzGMsN.js.map +1 -0
  430. package/dist/value-typography-Deb3yQZg.js +116 -0
  431. package/dist/value-typography-Deb3yQZg.js.map +1 -0
  432. package/dist/{workspace-CcR8r-Nt.js → workspace-YoFjXi6i.js} +44 -45
  433. package/dist/workspace-YoFjXi6i.js.map +1 -0
  434. package/docs/consumer-skill/SKILL.md +51 -38
  435. package/docs/consumer-skill/examples/app-layout.tsx +2 -4
  436. package/docs/consumer-skill/examples/detail.tsx +3 -4
  437. package/docs/consumer-skill/examples/edit.tsx +1 -1
  438. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  439. package/docs/consumer-skill/examples/manifest.json +28 -6
  440. package/docs/consumer-skill/examples/scoped-directory.tsx +2 -2
  441. package/docs/consumer-skill/references/composition.md +89 -17
  442. package/docs/consumer-skill/references/discovery.md +4 -0
  443. package/docs/consumer-skill/references/installation.md +22 -0
  444. package/docs/consumer-skill/references/integration.md +32 -1
  445. package/docs/consumer-skill/references/public-api.json +111 -70
  446. package/docs/consumer-skill/references/review.md +20 -4
  447. package/docs/consumer-skill/references/theming.md +7 -1
  448. package/docs/consumer-skill/references/tokens.json +5 -2
  449. package/docs/consumer-skill/references/workflows.md +4 -2
  450. package/docs/consumer-skill/scripts/composition-policy.mjs +93 -2
  451. package/docs/consumer-skill/scripts/discovery.mjs +11 -3
  452. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  453. package/package.json +5 -3
  454. package/dist/accordion-BRTcsp8J.js.map +0 -1
  455. package/dist/action-menu-Drxw_vJk.js +0 -265
  456. package/dist/action-menu-Drxw_vJk.js.map +0 -1
  457. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +0 -1
  458. package/dist/ai-artifact-DLVdK0Py.js.map +0 -1
  459. package/dist/avatar-Bu2HhitA.js.map +0 -1
  460. package/dist/badge-CzId1Wlm.js.map +0 -1
  461. package/dist/button-BZDasD04.js.map +0 -1
  462. package/dist/buttons-D_6KJvEE.js.map +0 -1
  463. package/dist/chart-Bsc5BICK.js.map +0 -1
  464. package/dist/checkbox-BQNDjUCh.js +0 -34
  465. package/dist/checkbox-BQNDjUCh.js.map +0 -1
  466. package/dist/choice-inputs-Mk3iWbhr.js +0 -725
  467. package/dist/choice-inputs-Mk3iWbhr.js.map +0 -1
  468. package/dist/combobox-BFnbJJp3.js.map +0 -1
  469. package/dist/combobox-hozNwUcc.js.map +0 -1
  470. package/dist/command-BnmSchli.js.map +0 -1
  471. package/dist/comments-u5L0OGip.js.map +0 -1
  472. package/dist/data-display-Bihs9Ven.js.map +0 -1
  473. package/dist/date-DOKhJPu7.js +0 -140
  474. package/dist/date-DOKhJPu7.js.map +0 -1
  475. package/dist/date-picker-DzP5HQq7.js +0 -1541
  476. package/dist/date-picker-DzP5HQq7.js.map +0 -1
  477. package/dist/date-pickers-BpgGz7S-.js +0 -196
  478. package/dist/date-pickers-BpgGz7S-.js.map +0 -1
  479. package/dist/display-CS6Hbk18.js.map +0 -1
  480. package/dist/dropdown-menu-D-boNgGO.js.map +0 -1
  481. package/dist/feedback-CJkUAapr.js.map +0 -1
  482. package/dist/field-affordance-recipes-uKY4MsZ_.js +0 -25
  483. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +0 -1
  484. package/dist/field-state-recipes-DQQpiLWC.js.map +0 -1
  485. package/dist/filters-D6FF8L6s.js.map +0 -1
  486. package/dist/form-sizing-QP8aIRaW.js +0 -103
  487. package/dist/form-sizing-QP8aIRaW.js.map +0 -1
  488. package/dist/format-iamDSqs2.js +0 -110
  489. package/dist/format-iamDSqs2.js.map +0 -1
  490. package/dist/forms-B5NCbkSC.js.map +0 -1
  491. package/dist/forms-numeric-Crrm80Lm.js +0 -867
  492. package/dist/forms-numeric-Crrm80Lm.js.map +0 -1
  493. package/dist/header-kxruN3RM.js.map +0 -1
  494. package/dist/input-SX9V0AL3.js +0 -255
  495. package/dist/item-DE4YnuJx.js +0 -258
  496. package/dist/item-DE4YnuJx.js.map +0 -1
  497. package/dist/media-gallery-DLp3HAz0.js.map +0 -1
  498. package/dist/navigation-DnQSNMT0.js.map +0 -1
  499. package/dist/navigation-DyytsLRB.js.map +0 -1
  500. package/dist/number-DasMFWEG.js +0 -269
  501. package/dist/number-DasMFWEG.js.map +0 -1
  502. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  503. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  504. package/dist/overlays-DUbs1KEi.js +0 -1011
  505. package/dist/overlays-DUbs1KEi.js.map +0 -1
  506. package/dist/page-hGmT4nWK.js +0 -213
  507. package/dist/page-hGmT4nWK.js.map +0 -1
  508. package/dist/page-header-D8nERkn5.js.map +0 -1
  509. package/dist/primitives-C7ff0QaI.js +0 -337
  510. package/dist/primitives-C7ff0QaI.js.map +0 -1
  511. package/dist/progress-BroqrAyV.js.map +0 -1
  512. package/dist/scroll-area-D-pIhEKl.js.map +0 -1
  513. package/dist/separator-BNIgG3au.js.map +0 -1
  514. package/dist/settings-DOTOzeZ2.js.map +0 -1
  515. package/dist/sheet-BFhrNehm.js +0 -205
  516. package/dist/sheet-BFhrNehm.js.map +0 -1
  517. package/dist/sidebar-CyR4XKwR.js.map +0 -1
  518. package/dist/sidebar-SvGJ0Zwi.js +0 -506
  519. package/dist/sidebar-SvGJ0Zwi.js.map +0 -1
  520. package/dist/smart-card-DjGVV2xr.js.map +0 -1
  521. package/dist/spinner-Cpf7oRkF.js.map +0 -1
  522. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  523. package/dist/surface-recipes-Dd__PD-w.js +0 -28
  524. package/dist/surface-recipes-Dd__PD-w.js.map +0 -1
  525. package/dist/table-CLtJTxoR.js +0 -147
  526. package/dist/table-CLtJTxoR.js.map +0 -1
  527. package/dist/table-CcRDZiLP.js.map +0 -1
  528. package/dist/tabs-BNgu7g0u.js.map +0 -1
  529. package/dist/text-inputs-DsR56TR-.js.map +0 -1
  530. package/dist/text.styles-Q4sGAIgA.js.map +0 -1
  531. package/dist/timelines-D1pkt3se.js.map +0 -1
  532. package/dist/track-recipes-LLPNVwFg.js +0 -10
  533. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  534. package/dist/typography-BxQgiZyw.js +0 -96
  535. package/dist/typography-BxQgiZyw.js.map +0 -1
  536. package/dist/ui-provider-DRPn3qNl.js.map +0 -1
  537. package/dist/upload-CDbYw1WN.js.map +0 -1
  538. package/dist/upload-queue-CNd_hH_a.js.map +0 -1
  539. package/dist/utils-BvH9PSmq.js.map +0 -1
  540. package/dist/value-inputs-D0KCrfVC.js +0 -840
  541. package/dist/value-inputs-D0KCrfVC.js.map +0 -1
  542. package/dist/workspace-CcR8r-Nt.js.map +0 -1
@@ -1,22 +1,22 @@
1
1
  "use client";
2
- import { _ as e, c as t, s as n } from "./ui-provider-DRPn3qNl.js";
2
+ import { _ as e, c as t, s as n } from "./ui-provider-D2_TeLqw.js";
3
3
  import { useStrings as r } from "./lib/strings.js";
4
- import { t as i } from "./utils-BvH9PSmq.js";
5
- import { a } from "./typography-BxQgiZyw.js";
6
- import { t as o } from "./button-BZDasD04.js";
7
- import { h as s, p as c, v as l } from "./smart-card-DjGVV2xr.js";
8
- import { a as u, i as d } from "./primitives-C7ff0QaI.js";
9
- import { t as f } from "./field-affordance-recipes-uKY4MsZ_.js";
10
- import { o as p } from "./item-DE4YnuJx.js";
4
+ import { t as i } from "./utils-Cospvlj1.js";
5
+ import { s as a } from "./typography-CAr3dQhX.js";
6
+ import { t as o } from "./button-BS3KDg00.js";
7
+ import { h as s, p as c, v as l } from "./smart-card-Bek-TwUp.js";
8
+ import { a as u, i as d } from "./primitives-BHrwQXFC.js";
9
+ import { t as f } from "./field-affordance-recipes-CkOCdE2y.js";
10
+ import { o as p } from "./item-xzh8Df65.js";
11
11
  import { t as ee } from "./use-file-drop-target-BX7GnhoQ.js";
12
- import { a as te, s as ne } from "./upload-queue-CNd_hH_a.js";
13
- import { a as m, c as h, i as g, n as _, o as v, r as y, t as b } from "./attachment-DbjUWsP0.js";
14
- import * as x from "react";
15
- import S, { forwardRef as C, useCallback as w, useEffect as T, useId as re, useLayoutEffect as ie, useMemo as E, useRef as D, useState as O } from "react";
16
- import { jsx as k, jsxs as A } from "react/jsx-runtime";
17
- import { Camera as j, ImageIcon as ae, Trash2 as oe, Trash2Icon as M, TriangleAlert as se, UploadIcon as N, X as ce } from "lucide-react";
12
+ import { a as te, c as ne, s as m } from "./upload-queue-BHZ_wBfd.js";
13
+ import { a as h, c as g, i as _, n as v, o as y, r as b, t as x } from "./attachment-q69dlt5Y.js";
14
+ import * as S from "react";
15
+ import C, { forwardRef as w, useCallback as T, useEffect as re, useId as ie, useLayoutEffect as E, useMemo as D, useRef as O, useState as k } from "react";
16
+ import { jsx as A, jsxs as j } from "react/jsx-runtime";
17
+ import { Camera as M, ImageIcon as ae, Trash2Icon as N, TriangleAlert as oe, UploadIcon as P, X as se } from "lucide-react";
18
18
  //#region src/components/base/upload/file-upload.strings.ts
19
- var P = {
19
+ var F = {
20
20
  instruction: "Drag files here or click to browse",
21
21
  helper: "",
22
22
  browse: "Browse files",
@@ -35,17 +35,17 @@ var P = {
35
35
  };
36
36
  //#endregion
37
37
  //#region src/components/base/upload/file-upload.validation.ts
38
- function F(e) {
38
+ function I(e) {
39
39
  return `${e.name}\u0000${e.size}\u0000${e.type}\u0000${e.lastModified}`;
40
40
  }
41
- function I(e, t) {
41
+ function L(e, t) {
42
42
  if (!t?.trim()) return !0;
43
43
  let n = e.name.toLowerCase(), r = e.type.toLowerCase();
44
44
  return t.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean).some((e) => e.startsWith(".") ? n.endsWith(e) : e.endsWith("/*") ? r.startsWith(e.slice(0, -1)) : r === e);
45
45
  }
46
- function L(e, t) {
46
+ function R(e, t) {
47
47
  let { accept: n, minSizeBytes: r, maxSizeBytes: i, validateFile: a, formatSize: o, strings: s } = t;
48
- if (!I(e, n)) return {
48
+ if (!L(e, n)) return {
49
49
  file: e,
50
50
  code: "invalid-type",
51
51
  message: s.invalidType(e.name, n ?? "")
@@ -74,10 +74,10 @@ function L(e, t) {
74
74
  };
75
75
  }
76
76
  }
77
- function R({ incoming: e, current: t, accept: n, minSizeBytes: r, maxSizeBytes: i, maxFiles: a, append: o, validateFile: s, formatSize: c, strings: l }) {
78
- let u = o ? [...t] : [], d = new Set(u.map(F)), f = [], p = [];
77
+ function ce({ incoming: e, current: t, accept: n, minSizeBytes: r, maxSizeBytes: i, maxFiles: a, append: o, validateFile: s, formatSize: c, strings: l }) {
78
+ let u = o ? [...t] : [], d = new Set(u.map(I)), f = [], p = [];
79
79
  for (let t of e) {
80
- let e = L(t, {
80
+ let e = R(t, {
81
81
  accept: n,
82
82
  minSizeBytes: r,
83
83
  maxSizeBytes: i,
@@ -89,7 +89,7 @@ function R({ incoming: e, current: t, accept: n, minSizeBytes: r, maxSizeBytes:
89
89
  p.push(e);
90
90
  continue;
91
91
  }
92
- let o = F(t);
92
+ let o = I(t);
93
93
  if (d.has(o)) {
94
94
  p.push({
95
95
  file: t,
@@ -116,40 +116,40 @@ function R({ incoming: e, current: t, accept: n, minSizeBytes: r, maxSizeBytes:
116
116
  }
117
117
  //#endregion
118
118
  //#region src/components/base/upload/file-upload.tsx
119
- function le(e) {
119
+ function z(e) {
120
120
  return Object.prototype.hasOwnProperty.call(e, "value");
121
121
  }
122
- function ue(e) {
122
+ function le(e) {
123
123
  return e === void 0 || !Number.isFinite(e) ? 2 ** 53 - 1 : Math.max(1, Math.floor(e));
124
124
  }
125
- function de(e, t) {
125
+ function ue(e, t) {
126
126
  return `${e.name}-${e.size}-${e.type}-${e.lastModified}-${t}`;
127
127
  }
128
- function z(e, t, n) {
128
+ function B(e, t, n) {
129
129
  t.current = e, typeof n == "function" ? n(e) : n && (n.current = e);
130
130
  }
131
- function fe({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, showReplace: c, onReplace: l, onRemove: u }) {
131
+ function de({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, showReplace: c, onReplace: l, onRemove: u }) {
132
132
  let f = s.replaceFileAria(e.name), p = s.removeFileAria(e.name);
133
- return /* @__PURE__ */ A(b, {
133
+ return /* @__PURE__ */ j(x, {
134
134
  variant: "outline",
135
135
  size: r,
136
136
  className: "file-upload--file flex-nowrap bg-card text-card-foreground",
137
137
  children: [
138
- /* @__PURE__ */ k(v, {
138
+ /* @__PURE__ */ A(y, {
139
139
  variant: "icon",
140
140
  className: "file-upload--file-media self-center group-has-data-[slot=item-description]/item:self-center",
141
- children: /* @__PURE__ */ k(m, { name: e.name })
141
+ children: /* @__PURE__ */ A(h, { name: e.name })
142
142
  }),
143
- /* @__PURE__ */ A(y, {
143
+ /* @__PURE__ */ j(b, {
144
144
  className: "file-upload--file-content min-w-0",
145
- children: [/* @__PURE__ */ k(h, {
145
+ children: [/* @__PURE__ */ A(g, {
146
146
  className: "file-upload--file-name truncate",
147
147
  title: e.name,
148
148
  children: e.name
149
- }), /* @__PURE__ */ k(g, {
149
+ }), /* @__PURE__ */ A(_, {
150
150
  className: "file-upload--file-size",
151
151
  clamp: 1,
152
- children: /* @__PURE__ */ k(d, {
152
+ children: /* @__PURE__ */ A(d, {
153
153
  value: e.size,
154
154
  locale: i,
155
155
  size: "xs",
@@ -158,37 +158,37 @@ function fe({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, sh
158
158
  })
159
159
  })]
160
160
  }),
161
- /* @__PURE__ */ A(_, {
161
+ /* @__PURE__ */ j(v, {
162
162
  className: "file-upload--actions gap-space-xs",
163
- children: [c && /* @__PURE__ */ k(o, {
163
+ children: [c && /* @__PURE__ */ A(o, {
164
164
  type: "button",
165
165
  tone: "secondary",
166
166
  buttonStyle: "ghost",
167
167
  size: "sm",
168
168
  iconOnly: !0,
169
- icon: N,
169
+ icon: P,
170
170
  "aria-label": f,
171
171
  title: f,
172
172
  disabled: n,
173
173
  onClick: l,
174
- children: /* @__PURE__ */ k(a, {
174
+ children: /* @__PURE__ */ A(a, {
175
175
  tag: "span",
176
176
  size: "inherit",
177
177
  className: "sr-only",
178
178
  children: s.replace
179
179
  })
180
- }), /* @__PURE__ */ k(o, {
180
+ }), /* @__PURE__ */ A(o, {
181
181
  type: "button",
182
182
  tone: "destructive",
183
183
  buttonStyle: "ghost",
184
184
  size: "sm",
185
185
  iconOnly: !0,
186
- icon: M,
186
+ icon: N,
187
187
  "aria-label": p,
188
188
  title: p,
189
189
  disabled: n,
190
190
  onClick: () => u(t),
191
- children: /* @__PURE__ */ k(a, {
191
+ children: /* @__PURE__ */ A(a, {
192
192
  tag: "span",
193
193
  size: "inherit",
194
194
  className: "sr-only",
@@ -199,27 +199,27 @@ function fe({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, sh
199
199
  ]
200
200
  });
201
201
  }
202
- function B(d, f) {
203
- let { accept: m, disabled: h = !1, invalid: g = !1, size: _, minSizeBytes: v, maxSizeBytes: y, validateFile: b, onRejectedFiles: x, className: S, strings: C, multiple: T = !1, value: j, defaultValue: ae, onValueChange: oe, selectionMode: M, maxFiles: N, "aria-describedby": ce, "aria-invalid": F, ...I } = d, L = r(P, C), { defaultScale: B } = n(), { locale: V } = t(), H = e(_, B), U = le(d), [pe, me] = O(() => d.multiple ? [...d.defaultValue ?? []] : d.defaultValue ? [d.defaultValue] : []), [W, he] = O([]), G = D(null), K = D(null), q = D(!1), J = D(!1), ge = re(), Y = E(() => U ? d.multiple ? d.value ?? [] : d.value ? [d.value] : [] : pe, [
202
+ function fe(d, f) {
203
+ let { accept: m, disabled: h = !1, invalid: g = !1, size: _, minSizeBytes: v, maxSizeBytes: y, validateFile: b, onRejectedFiles: x, className: S, strings: C, multiple: w = !1, value: re, defaultValue: M, onValueChange: ae, selectionMode: N, maxFiles: P, "aria-describedby": se, "aria-invalid": I, ...L } = d, R = r(F, C), { defaultScale: fe } = n(), { locale: V } = t(), H = e(_, fe), U = z(d), [pe, me] = k(() => d.multiple ? [...d.defaultValue ?? []] : d.defaultValue ? [d.defaultValue] : []), [W, he] = k([]), G = O(null), K = O(null), q = O(!1), J = O(!1), ge = ie(), Y = D(() => U ? d.multiple ? d.value ?? [] : d.value ? [d.value] : [] : pe, [
204
204
  U,
205
205
  d.multiple,
206
206
  d.value,
207
207
  pe
208
208
  ]);
209
- ie(() => {
209
+ E(() => {
210
210
  if (!q.current) return;
211
211
  let e = K.current?.querySelector(".file-upload--actions button, .file-upload--dropzone input[type=file], .file-upload--dropzone button");
212
212
  e && (e.focus(), q.current = !1);
213
213
  }, [Y]);
214
- let X = d.multiple ? d : void 0, _e = T ? ue(X?.maxFiles) : 1, ve = T && (X?.selectionMode ?? "append") === "append", ye = `${I.id ?? `file-upload-${ge}`}-errors`, be = [ce, W.length > 0 ? ye : void 0].filter(Boolean).join(" ") || void 0, Z = g || W.length > 0, Q = w((e) => {
214
+ let X = d.multiple ? d : void 0, _e = w ? le(X?.maxFiles) : 1, ve = w && (X?.selectionMode ?? "append") === "append", ye = `${L.id ?? `file-upload-${ge}`}-errors`, be = [se, W.length > 0 ? ye : void 0].filter(Boolean).join(" ") || void 0, Z = g || W.length > 0, Q = T((e) => {
215
215
  if (U || me(e), d.multiple) d.onValueChange?.(e);
216
216
  else {
217
217
  let t = e[0];
218
218
  d.onValueChange?.(t);
219
219
  }
220
- }, [U, d]), xe = w((e) => u(e, { locale: V }) ?? `${e} B`, [V]), $ = w((e) => {
220
+ }, [U, d]), xe = T((e) => u(e, { locale: V }) ?? `${e} B`, [V]), $ = T((e) => {
221
221
  if (h || e.length === 0) return !1;
222
- let t = R({
222
+ let t = ce({
223
223
  incoming: e,
224
224
  current: Y,
225
225
  accept: m,
@@ -229,139 +229,139 @@ function B(d, f) {
229
229
  append: ve,
230
230
  validateFile: b,
231
231
  formatSize: xe,
232
- strings: L
232
+ strings: R
233
233
  });
234
- return he(t.rejections), t.rejections.length > 0 && x?.(t.rejections), t.accepted.length !== 0 && (q.current = !T && (J.current || !!K.current?.contains(document.activeElement)), J.current = !1, Q(t.nextFiles), t.rejections.length === 0);
234
+ return he(t.rejections), t.rejections.length > 0 && x?.(t.rejections), t.accepted.length !== 0 && (q.current = !w && (J.current || !!K.current?.contains(document.activeElement)), J.current = !1, Q(t.nextFiles), t.rejections.length === 0);
235
235
  }, [
236
236
  m,
237
237
  ve,
238
238
  Q,
239
239
  h,
240
- T,
240
+ w,
241
241
  Y,
242
242
  xe,
243
243
  _e,
244
244
  y,
245
245
  v,
246
246
  x,
247
- L,
247
+ R,
248
248
  b
249
- ]), Se = w(() => {
249
+ ]), Se = T(() => {
250
250
  G.current && (G.current.value = "");
251
- }, []), Ce = w((e) => {
251
+ }, []), Ce = T((e) => {
252
252
  h || (he([]), Se(), q.current = !!K.current?.contains(document.activeElement), Q(Y.filter((t, n) => n !== e)));
253
253
  }, [
254
254
  Se,
255
255
  Q,
256
256
  h,
257
257
  Y
258
- ]), we = w(() => {
258
+ ]), we = T(() => {
259
259
  h || (J.current = !!K.current?.contains(document.activeElement), G.current?.click());
260
260
  }, [h]), { isDragging: Te, dropTargetProps: Ee } = ee({
261
261
  disabled: h,
262
262
  onFiles: $
263
263
  }), De = {
264
- ...I,
264
+ ...L,
265
265
  accept: m,
266
- multiple: T,
266
+ multiple: w,
267
267
  disabled: h,
268
268
  "aria-describedby": be,
269
- "aria-invalid": Z ? !0 : F
270
- }, Oe = /* @__PURE__ */ k(te, {
271
- ref: (e) => z(e, G, f),
269
+ "aria-invalid": Z ? !0 : I
270
+ }, Oe = /* @__PURE__ */ A(te, {
271
+ ref: (e) => B(e, G, f),
272
272
  onDrop: $,
273
273
  accept: m,
274
- multiple: T,
274
+ multiple: w,
275
275
  disabled: h,
276
276
  invalid: Z,
277
277
  size: H,
278
278
  className: "file-upload--dropzone",
279
279
  inputProps: De,
280
280
  strings: {
281
- instruction: L.instruction,
282
- helper: L.helper,
283
- dragOver: L.dragOver
281
+ instruction: R.instruction,
282
+ helper: R.helper,
283
+ dragOver: R.dragOver
284
284
  },
285
- children: /* @__PURE__ */ k(o, {
285
+ children: /* @__PURE__ */ A(o, {
286
286
  type: "button",
287
287
  tone: "secondary",
288
288
  buttonStyle: "outline",
289
289
  size: H,
290
290
  disabled: h,
291
291
  onClick: we,
292
- children: L.browse
292
+ children: R.browse
293
293
  })
294
294
  });
295
- return /* @__PURE__ */ A("div", {
295
+ return /* @__PURE__ */ j("div", {
296
296
  ref: K,
297
297
  "data-disabled": h || void 0,
298
298
  "data-invalid": Z || void 0,
299
299
  className: i("file-upload--component grid gap-space-md", S),
300
300
  children: [
301
- (T || Y.length === 0) && Oe,
302
- !T && Y[0] && /* @__PURE__ */ A("div", {
301
+ (w || Y.length === 0) && Oe,
302
+ !w && Y[0] && /* @__PURE__ */ j("div", {
303
303
  ...Ee,
304
304
  "data-dragging": Te || void 0,
305
305
  "data-invalid": Z || void 0,
306
306
  className: i("file-upload--selected rounded-radius transition-shadow", Z && "[&_.file-upload--file]:border-destructive", !h && Te && (Z ? "ring-2 ring-destructive/50 ring-offset-2" : "ring-2 ring-primary/50 ring-offset-2")),
307
- children: [/* @__PURE__ */ k(ne, {
307
+ children: [/* @__PURE__ */ A(ne, {
308
308
  ...De,
309
- ref: (e) => z(e, G, f),
309
+ ref: (e) => B(e, G, f),
310
310
  tabIndex: -1,
311
311
  className: "file-upload--input",
312
312
  onFiles: $
313
- }), /* @__PURE__ */ k(fe, {
313
+ }), /* @__PURE__ */ A(de, {
314
314
  file: Y[0],
315
315
  index: 0,
316
316
  disabled: h,
317
317
  size: H,
318
318
  locale: V,
319
- strings: L,
319
+ strings: R,
320
320
  showReplace: !0,
321
321
  onReplace: we,
322
322
  onRemove: Ce
323
323
  })]
324
324
  }),
325
- T && Y.length > 0 && /* @__PURE__ */ k(p, {
325
+ w && Y.length > 0 && /* @__PURE__ */ A(p, {
326
326
  className: "file-upload--files",
327
- children: Y.map((e, t) => /* @__PURE__ */ k(fe, {
327
+ children: Y.map((e, t) => /* @__PURE__ */ A(de, {
328
328
  file: e,
329
329
  index: t,
330
330
  disabled: h,
331
331
  size: H,
332
332
  locale: V,
333
- strings: L,
333
+ strings: R,
334
334
  showReplace: !1,
335
335
  onReplace: we,
336
336
  onRemove: Ce
337
- }, de(e, t)))
337
+ }, ue(e, t)))
338
338
  }),
339
- W.length > 0 && /* @__PURE__ */ A(c, {
339
+ W.length > 0 && /* @__PURE__ */ j(c, {
340
340
  id: ye,
341
341
  tone: "destructive",
342
342
  "aria-live": "polite",
343
343
  className: i("file-upload--errors", H === "sm" && "p-surface-xs"),
344
344
  children: [
345
- /* @__PURE__ */ k(se, { "aria-hidden": "true" }),
346
- /* @__PURE__ */ k(l, { children: L.errorsHeading }),
347
- /* @__PURE__ */ k(s, { children: /* @__PURE__ */ k("ul", {
345
+ /* @__PURE__ */ A(oe, { "aria-hidden": "true" }),
346
+ /* @__PURE__ */ A(l, { children: R.errorsHeading }),
347
+ /* @__PURE__ */ A(s, { children: /* @__PURE__ */ A("ul", {
348
348
  className: "m-0 p-0 list-none grid gap-space-2xs",
349
- children: W.map((e, t) => /* @__PURE__ */ k("li", {
349
+ children: W.map((e, t) => /* @__PURE__ */ A("li", {
350
350
  className: "file-upload--error",
351
- children: /* @__PURE__ */ k(a, {
351
+ children: /* @__PURE__ */ A(a, {
352
352
  tag: "span",
353
353
  size: "xs",
354
354
  type: "error",
355
355
  children: e.message
356
356
  })
357
- }, `${e.code}-${de(e.file, t)}`))
357
+ }, `${e.code}-${ue(e.file, t)}`))
358
358
  }) })
359
359
  ]
360
360
  })
361
361
  ]
362
362
  });
363
363
  }
364
- var V = C(B);
364
+ var V = w(fe);
365
365
  V.displayName = "FileUpload";
366
366
  //#endregion
367
367
  //#region src/hooks/use-files.ts
@@ -434,7 +434,7 @@ function q(e) {
434
434
  return Object.fromEntries(e.map((e) => [e.file.name, e]));
435
435
  }
436
436
  function J(e) {
437
- let [t, n] = O([]), r = D([]), [i, a] = O([]), o = w(U, []), s = w((t, i) => {
437
+ let [t, n] = k([]), r = O([]), [i, a] = k([]), o = T(U, []), s = T((t, i) => {
438
438
  let o = Array.isArray(t) ? t : Array.from(t), s = r.current, c = i ? [] : [...s], l = new Set(c.map((e) => he(e.file))), u = [], d = [];
439
439
  for (let t of o) {
440
440
  let n = he(t);
@@ -470,13 +470,13 @@ function J(e) {
470
470
  }, [e]);
471
471
  return {
472
472
  files: t,
473
- addFiles: w((e) => s(e, !1), [s]),
474
- setFiles: w((e) => s(e, !0), [s]),
475
- remove: w((e) => {
473
+ addFiles: T((e) => s(e, !1), [s]),
474
+ setFiles: T((e) => s(e, !0), [s]),
475
+ remove: T((e) => {
476
476
  let t = r.current.filter((t) => t.id !== e);
477
477
  r.current = t, n(t);
478
478
  }, []),
479
- removeAll: w(() => {
479
+ removeAll: T(() => {
480
480
  r.current = [], n([]), a([]);
481
481
  }, []),
482
482
  formatSize: o,
@@ -518,8 +518,8 @@ function _e(e, t, n) {
518
518
  case "custom": return a.customMessage ?? t.customValidationFailed(r.name);
519
519
  }
520
520
  }
521
- function ve({ accept: e = ".png,.jpg,.jpeg,.gif,.svg", multiple: t = !1, value: n, onValueChange: s, disabled: c, initialPreviewUrl: l, aspectRatio: u = "square", fit: d = "cover", maxWidth: f, layout: p = "stacked", invalid: te, strings: ne }, m) {
522
- let h = r(X, ne), g = re(), _ = D(null), v = E(() => {
521
+ function ve({ accept: e = ".png,.jpg,.jpeg,.gif,.svg", multiple: t = !1, value: n, onValueChange: s, disabled: c, initialPreviewUrl: l, aspectRatio: u = "square", fit: d = "cover", maxWidth: f, layout: p = "stacked", invalid: te, strings: ne }, h) {
522
+ let g = r(X, ne), _ = ie(), v = O(null), y = D(() => {
523
523
  if (!e) return [
524
524
  "png",
525
525
  "jpg",
@@ -537,163 +537,164 @@ function ve({ accept: e = ".png,.jpg,.jpeg,.gif,.svg", multiple: t = !1, value:
537
537
  return e.toLowerCase();
538
538
  }).filter((e) => !!e);
539
539
  if (t.length !== 0) return Array.from(new Set(t));
540
- }, [e]), { files: y, setFiles: b, remove: x, removeAll: S, formatSize: C, rejections: ie } = J(E(() => ({
540
+ }, [e]), { files: b, setFiles: x, remove: S, removeAll: C, formatSize: w, rejections: E } = J(D(() => ({
541
541
  maxFiles: t ? void 0 : 1,
542
542
  maxSize: ge * 1024 * 1024,
543
- allowedExtensions: v
544
- }), [t, v]));
545
- T(() => {
546
- n ? b([n]) : (S(), _.current && (_.current.value = ""));
543
+ allowedExtensions: y
544
+ }), [t, y]));
545
+ re(() => {
546
+ n ? x([n]) : (C(), v.current && (v.current.value = ""));
547
547
  }, [
548
548
  n,
549
- b,
550
- S
549
+ x,
550
+ C
551
551
  ]);
552
- let j = y[0], M = j ? h.change : h.select, [se, N] = O(void 0), ce = E(() => !v || v.length === 0 ? null : v.map((e) => e.toUpperCase()).join(", "), [v]);
553
- T(() => {
554
- let e = j?.file ?? n;
552
+ let M = b[0], N = M ? g.change : g.select, [oe, P] = k(void 0), se = D(() => !y || y.length === 0 ? null : y.map((e) => e.toUpperCase()).join(", "), [y]);
553
+ re(() => {
554
+ let e = M?.file ?? n;
555
555
  if (!e) {
556
- N(void 0);
556
+ P(void 0);
557
557
  return;
558
558
  }
559
559
  let t = URL.createObjectURL(e);
560
- return N(t), () => URL.revokeObjectURL(t);
561
- }, [j, n]);
562
- let P = se ?? l, F = !!P, I = j?.name ?? h.previewAlt ?? X.previewAlt, L = Y[u] ?? Y.square, R = d === "contain" ? "object-contain p-space-sm" : "object-cover", le = f ? typeof f == "number" ? `${f}px` : f : "240px", ue = p === "inline" ? void 0 : { maxWidth: le }, de = p === "inline" ? {
563
- maxWidth: f ? le : "185px",
560
+ return P(t), () => URL.revokeObjectURL(t);
561
+ }, [M, n]);
562
+ let F = oe ?? l, I = !!F, L = M?.name ?? g.previewAlt ?? X.previewAlt, R = Y[u] ?? Y.square, ce = d === "contain" ? "object-contain p-space-sm" : "object-cover", z = f ? typeof f == "number" ? `${f}px` : f : "240px", le = p === "inline" ? void 0 : { maxWidth: z }, ue = p === "inline" ? {
563
+ maxWidth: f ? z : "185px",
564
564
  width: "100%"
565
- } : void 0, z = w((e) => {
565
+ } : void 0, B = T((e) => {
566
566
  if (c || e.length === 0) return;
567
- let t = b(e).accepted[0]?.file;
567
+ let t = x(e).accepted[0]?.file;
568
568
  t && s?.(t);
569
569
  }, [
570
570
  c,
571
- b,
571
+ x,
572
572
  s
573
- ]), fe = w((e) => {
574
- z(Array.from(e.target.files ?? []));
575
- }, [z]), { isDragging: B, dropTargetProps: V } = ee({
573
+ ]), de = T((e) => {
574
+ B(Array.from(e.target.files ?? []));
575
+ }, [B]), { isDragging: fe, dropTargetProps: V } = ee({
576
576
  disabled: c,
577
- onFiles: z
578
- }), H = w(() => {
579
- c || _.current?.click();
580
- }, [c]), U = w(() => {
581
- j && x(j.id), s?.(void 0), _.current && (_.current.value = "");
577
+ onFiles: B
578
+ }), H = T(() => {
579
+ c || v.current?.click();
580
+ }, [c]), U = T(() => {
581
+ M && S(M.id), s?.(void 0), v.current && (v.current.value = "");
582
582
  }, [
583
- j,
584
- x,
583
+ M,
584
+ S,
585
585
  s
586
586
  ]);
587
- return /* @__PURE__ */ A("div", {
587
+ return /* @__PURE__ */ j("div", {
588
588
  className: i("image-upload--component", "grid gap-space-md"),
589
- style: ue,
589
+ style: le,
590
590
  children: [
591
- /* @__PURE__ */ k("input", {
591
+ /* @__PURE__ */ A("input", {
592
592
  ref: (e) => {
593
- _.current = e, typeof m == "function" ? m(e) : m && (m.current = e);
593
+ v.current = e, typeof h == "function" ? h(e) : h && (h.current = e);
594
594
  },
595
- id: g,
595
+ id: _,
596
596
  type: "file",
597
597
  className: "sr-only",
598
- "aria-label": M,
598
+ tabIndex: -1,
599
+ "aria-label": N,
599
600
  accept: e,
600
601
  multiple: t,
601
602
  disabled: c,
602
- onChange: fe
603
+ onChange: de
603
604
  }),
604
- /* @__PURE__ */ A("div", {
605
+ /* @__PURE__ */ j("div", {
605
606
  className: i(p === "inline" ? "flex flex-wrap items-start gap-space-xl" : "grid gap-space-md"),
606
- children: [/* @__PURE__ */ k("div", {
607
+ children: [/* @__PURE__ */ A("div", {
607
608
  ...V,
608
- "data-dragging": B || void 0,
609
- className: i("relative overflow-hidden rounded-radius border transition-colors", p === "inline" ? "flex-shrink-0 w-full" : "w-full", L, !c && B && "ring-2 ring-ring", F ? "border-border bg-muted/20" : i("border-dashed bg-background text-muted-foreground ", te ? "border-destructive" : "border-border")),
610
- style: de,
611
- children: F && P ? /* @__PURE__ */ k("img", {
612
- src: P,
613
- alt: I,
614
- className: i("absolute inset-0 box-border h-full w-full", R)
615
- }) : /* @__PURE__ */ k("div", {
609
+ "data-dragging": fe || void 0,
610
+ className: i("relative overflow-hidden rounded-radius border transition-colors", p === "inline" ? "flex-shrink-0 w-full" : "w-full", R, I ? "border-border bg-muted" : i("border-dashed bg-background text-muted-foreground", m.idle), te && m.invalid, !c && fe && m.dragging),
611
+ style: ue,
612
+ children: I && F ? /* @__PURE__ */ A("img", {
613
+ src: F,
614
+ alt: L,
615
+ className: i("absolute inset-0 box-border h-full w-full", ce)
616
+ }) : /* @__PURE__ */ A("div", {
616
617
  className: "absolute inset-0 flex items-center justify-center",
617
- children: /* @__PURE__ */ k(ae, {
618
+ children: /* @__PURE__ */ A(ae, {
618
619
  "aria-hidden": !0,
619
620
  className: "size-icon-lg"
620
621
  })
621
622
  })
622
- }), /* @__PURE__ */ A("div", {
623
+ }), /* @__PURE__ */ j("div", {
623
624
  className: i("grid gap-space-sm", p === "inline" && "flex-1 min-w-0 basis-40"),
624
625
  children: [
625
- /* @__PURE__ */ A("div", {
626
+ /* @__PURE__ */ j("div", {
626
627
  className: "flex flex-wrap items-center gap-space-md",
627
- children: [/* @__PURE__ */ k(o, {
628
+ children: [/* @__PURE__ */ A(o, {
628
629
  type: "button",
629
630
  tone: "secondary",
630
631
  buttonStyle: "outline",
631
632
  onClick: H,
632
633
  disabled: c,
633
- children: M
634
- }), !j && !!F && /* @__PURE__ */ k(a, {
634
+ children: N
635
+ }), !M && !!I && /* @__PURE__ */ A(a, {
635
636
  size: "xs",
636
637
  type: "secondary",
637
- children: h.keepCurrent
638
+ children: g.keepCurrent
638
639
  })]
639
640
  }),
640
- !!ce && /* @__PURE__ */ k(a, {
641
+ !!se && /* @__PURE__ */ A(a, {
641
642
  size: "xs",
642
643
  type: "secondary",
643
- children: h.supportsTemplate.replace("{ext}", ce).replace("{size}", String(ge))
644
+ children: g.supportsTemplate.replace("{ext}", se).replace("{size}", String(ge))
644
645
  }),
645
- !!j && /* @__PURE__ */ A("div", {
646
+ !!M && /* @__PURE__ */ j("div", {
646
647
  className: "grid gap-space-2xs",
647
648
  children: [
648
- /* @__PURE__ */ k(a, {
649
+ /* @__PURE__ */ A(a, {
649
650
  weight: "medium",
650
- title: j.name,
651
+ title: M.name,
651
652
  className: "truncate",
652
- children: j.name
653
+ children: M.name
653
654
  }),
654
- /* @__PURE__ */ k(a, {
655
+ /* @__PURE__ */ A(a, {
655
656
  size: "xs",
656
657
  type: "secondary",
657
- children: j.formattedSize
658
+ children: M.formattedSize
658
659
  }),
659
- !!t && y.length > 1 && /* @__PURE__ */ k(a, {
660
+ !!t && b.length > 1 && /* @__PURE__ */ A(a, {
660
661
  size: "xs",
661
662
  type: "secondary",
662
- children: h.moreFiles(y.length - 1)
663
+ children: g.moreFiles(b.length - 1)
663
664
  }),
664
- /* @__PURE__ */ k(o, {
665
+ /* @__PURE__ */ A(o, {
665
666
  type: "button",
666
667
  tone: "destructive",
667
668
  buttonStyle: "ghost",
668
669
  size: "sm",
669
- icon: oe,
670
670
  onClick: U,
671
- children: h.remove
671
+ className: "justify-self-start",
672
+ children: g.remove
672
673
  })
673
674
  ]
674
675
  }),
675
- !j && !F && /* @__PURE__ */ k(a, {
676
+ !M && !I && /* @__PURE__ */ A(a, {
676
677
  size: "xs",
677
678
  type: "secondary",
678
- children: h.noSelection
679
+ children: g.noSelection
679
680
  })
680
681
  ]
681
682
  })]
682
683
  }),
683
- ie.length > 0 && /* @__PURE__ */ k("div", {
684
+ E.length > 0 && /* @__PURE__ */ A("div", {
684
685
  className: "image-upload--errors grid gap-space-2xs",
685
686
  role: "alert",
686
687
  "aria-live": "polite",
687
- children: ie.map((e, t) => /* @__PURE__ */ k(a, {
688
+ children: E.map((e, t) => /* @__PURE__ */ A(a, {
688
689
  size: "xs",
689
690
  type: "error",
690
- children: _e(e, h, C)
691
+ children: _e(e, g, w)
691
692
  }, `${e.file.name}-${e.code}-${t}`))
692
693
  })
693
694
  ]
694
695
  });
695
696
  }
696
- var ye = S.forwardRef(ve);
697
+ var ye = C.forwardRef(ve);
697
698
  ye.displayName = "ImageUpload";
698
699
  //#endregion
699
700
  //#region src/components/base/upload/avatar-upload.tsx
@@ -737,116 +738,116 @@ var Q = {
737
738
  remove: "size-action-lg"
738
739
  }
739
740
  };
740
- function xe({ value: t, onValueChange: o, initialPreviewUrl: s, accept: c = ".png,.jpg,.jpeg,.gif,.webp", disabled: l = !1, invalid: u = !1, size: d, className: p, strings: te, initials: ne }, m) {
741
- let { defaultScale: h } = n(), g = e(d, h), _ = r(be, te), v = re(), y = D(null), b = Q[g], { files: x, setFiles: S, removeAll: C, formatSize: ie, rejections: ae } = J({
741
+ function xe({ value: t, onValueChange: o, initialPreviewUrl: s, accept: c = ".png,.jpg,.jpeg,.gif,.webp", disabled: l = !1, invalid: u = !1, size: d, className: p, strings: te, initials: ne }, h) {
742
+ let { defaultScale: g } = n(), _ = e(d, g), v = r(be, te), y = ie(), b = O(null), x = Q[_], { files: S, setFiles: C, removeAll: w, formatSize: E, rejections: ae } = J({
742
743
  maxFiles: 1,
743
- allowedExtensions: E(() => c.split(",").map((e) => e.trim().replace(/^\./, "").toLowerCase()).filter(Boolean), [c])
744
+ allowedExtensions: D(() => c.split(",").map((e) => e.trim().replace(/^\./, "").toLowerCase()).filter(Boolean), [c])
744
745
  });
745
- T(() => {
746
- t ? S([t]) : C();
746
+ re(() => {
747
+ t ? C([t]) : w();
747
748
  }, [t]);
748
- let oe = x[0], [M, se] = O(void 0);
749
- T(() => {
750
- let e = oe?.file ?? t;
749
+ let N = S[0], [oe, P] = k(void 0);
750
+ re(() => {
751
+ let e = N?.file ?? t;
751
752
  if (!e) {
752
- se(void 0);
753
+ P(void 0);
753
754
  return;
754
755
  }
755
756
  let n = URL.createObjectURL(e);
756
- return se(n), () => URL.revokeObjectURL(n);
757
- }, [oe, t]);
758
- let N = M ?? s, P = !!N, F = w((e) => {
757
+ return P(n), () => URL.revokeObjectURL(n);
758
+ }, [N, t]);
759
+ let F = oe ?? s, I = !!F, L = T((e) => {
759
760
  let t = e.target.files;
760
761
  if (!t || t.length === 0) return;
761
- let n = S(t).accepted[0]?.file;
762
- n && o?.(n), y.current && (y.current.value = "");
763
- }, [o, S]), I = w(() => {
764
- C(), o?.(void 0), y.current && (y.current.value = "");
765
- }, [o, C]), L = w((e) => {
766
- let t = S(e).accepted[0]?.file;
762
+ let n = C(t).accepted[0]?.file;
763
+ n && o?.(n), b.current && (b.current.value = "");
764
+ }, [o, C]), R = T(() => {
765
+ w(), o?.(void 0), b.current && (b.current.value = "");
766
+ }, [o, w]), ce = T((e) => {
767
+ let t = C(e).accepted[0]?.file;
767
768
  t && o?.(t);
768
- }, [o, S]), { isDragging: R, dropTargetProps: le } = ee({
769
+ }, [o, C]), { isDragging: z, dropTargetProps: le } = ee({
769
770
  disabled: l,
770
- onFiles: L
771
+ onFiles: ce
771
772
  });
772
- return /* @__PURE__ */ A("div", {
773
- className: i("avatar-upload--component", "inline-flex flex-col items-center gap-space-md", p),
773
+ return /* @__PURE__ */ j("div", {
774
+ className: i("avatar-upload--component", "inline-flex w-fit flex-col items-center gap-space-md self-start", p),
774
775
  children: [
775
- /* @__PURE__ */ A("div", {
776
+ /* @__PURE__ */ j("div", {
776
777
  ...le,
777
- className: i("group relative flex shrink-0 items-center justify-center rounded-full", "border border-dashed transition-colors duration-150 outline-none", "focus-within:ring-2 focus-within:ring-ring", P ? "border-border/60 bg-muted/20" : i("bg-muted/30 hover:border-primary hover:bg-primary/5", u ? "border-destructive" : "border-muted-foreground/40"), l && "cursor-not-allowed opacity-50", !l && R && "border-primary bg-primary/10", b.box),
778
+ className: i("group relative flex shrink-0 items-center justify-center rounded-full", "border transition-colors duration-150 outline-none", "has-[input:focus-visible]:ring-2 has-[input:focus-visible]:ring-ring", I ? "border-border bg-muted" : i("border-dashed bg-muted", !l && "hover:border-primary hover:bg-primary/5", m.idle), u && m.invalid, l && "cursor-not-allowed opacity-50", !l && z && m.dragging, x.box),
778
779
  children: [
779
- /* @__PURE__ */ k("input", {
780
- id: v,
780
+ /* @__PURE__ */ A("input", {
781
+ id: y,
781
782
  ref: (e) => {
782
- y.current = e, typeof m == "function" ? m(e) : m && (m.current = e);
783
+ b.current = e, typeof h == "function" ? h(e) : h && (h.current = e);
783
784
  },
784
785
  type: "file",
785
786
  className: "absolute inset-0 z-10 size-full cursor-pointer opacity-0 disabled:cursor-not-allowed",
786
- "aria-label": _.change,
787
+ "aria-label": v.change,
787
788
  "aria-invalid": u || void 0,
788
789
  accept: c,
789
790
  disabled: l,
790
- onChange: F
791
+ onChange: L
791
792
  }),
792
- /* @__PURE__ */ A("div", {
793
+ /* @__PURE__ */ j("div", {
793
794
  className: "pointer-events-none absolute inset-0 flex items-center justify-center overflow-hidden rounded-full",
794
- children: [P && N ? /* @__PURE__ */ k("img", {
795
- src: N,
796
- alt: _.change,
795
+ children: [I && F ? /* @__PURE__ */ A("img", {
796
+ src: F,
797
+ alt: v.change,
797
798
  className: "absolute inset-0 size-full object-cover"
798
- }) : ne ? /* @__PURE__ */ k(a, {
799
- size: g === "sm" ? "sm" : g === "lg" ? "lg" : "base",
800
- weight: "bold",
801
- className: "leading-none",
799
+ }) : ne ? /* @__PURE__ */ A(a, {
800
+ size: _ === "sm" ? "sm" : _ === "lg" ? "lg" : "base",
801
+ weight: "medium",
802
+ lineHeight: "none",
802
803
  children: ne
803
- }) : /* @__PURE__ */ k(j, {
804
- className: i(b.icon, "text-muted-foreground"),
804
+ }) : /* @__PURE__ */ A(M, {
805
+ className: i(x.icon, "text-muted-foreground"),
805
806
  "aria-hidden": "true"
806
- }), !l && P && /* @__PURE__ */ k("div", {
807
- className: "absolute inset-0 hidden items-center justify-center bg-foreground/50 text-background backdrop-blur-[1px] group-hover:flex",
807
+ }), !l && I && /* @__PURE__ */ A("div", {
808
+ className: "absolute inset-0 hidden items-center justify-center bg-inverse-background/60 text-inverse-foreground group-hover:flex",
808
809
  "aria-hidden": "true",
809
- children: /* @__PURE__ */ k(j, { className: b.icon })
810
+ children: /* @__PURE__ */ A(M, { className: x.icon })
810
811
  })]
811
812
  }),
812
- !l && P && /* @__PURE__ */ k("button", {
813
+ !l && I && /* @__PURE__ */ A("button", {
813
814
  type: "button",
814
- "aria-label": _.remove,
815
+ "aria-label": v.remove,
815
816
  onClick: (e) => {
816
- e.stopPropagation(), I();
817
+ e.stopPropagation(), R();
817
818
  },
818
- className: i(f.target, f.focus, "absolute right-0.5 top-0.5 z-20 bg-card text-foreground shadow ring-1 ring-border", "opacity-100 transition-opacity sm:opacity-0 sm:group-hover:opacity-100 group-focus-within:opacity-100 focus-visible:opacity-100", b.remove),
819
- children: /* @__PURE__ */ k(ce, { className: f.icon })
819
+ className: i(f.target, f.focus, "absolute end-0.5 top-0.5 z-20 bg-card text-foreground shadow ring-1 ring-border", "opacity-100 transition-opacity sm:opacity-0 sm:group-hover:opacity-100 group-focus-within:opacity-100 focus-visible:opacity-100", x.remove),
820
+ children: /* @__PURE__ */ A(se, { className: f.icon })
820
821
  }),
821
- !l && !P && R && /* @__PURE__ */ k(a, {
822
+ !l && !I && z && /* @__PURE__ */ A(a, {
822
823
  size: "xs",
823
824
  weight: "medium",
824
825
  className: "absolute inset-x-0 bottom-1.5 text-center text-primary-accent",
825
- children: _.dragOver
826
+ children: v.dragOver
826
827
  })
827
828
  ]
828
829
  }),
829
- !P && /* @__PURE__ */ k(a, {
830
+ !I && /* @__PURE__ */ A(a, {
830
831
  size: "xs",
831
832
  type: "secondary",
832
- children: _.hint
833
+ children: v.hint
833
834
  }),
834
- ae.length > 0 && /* @__PURE__ */ k("div", {
835
+ ae.length > 0 && /* @__PURE__ */ A("div", {
835
836
  className: "avatar-upload--errors grid gap-space-2xs",
836
837
  role: "alert",
837
838
  "aria-live": "polite",
838
- children: ae.map((e, t) => /* @__PURE__ */ k(a, {
839
+ children: ae.map((e, t) => /* @__PURE__ */ A(a, {
839
840
  size: "xs",
840
841
  type: "error",
841
- children: Z(e, _, ie)
842
+ children: Z(e, v, E)
842
843
  }, `${e.file.name}-${e.code}-${t}`))
843
844
  })
844
845
  ]
845
846
  });
846
847
  }
847
- var $ = x.forwardRef(xe);
848
+ var $ = S.forwardRef(xe);
848
849
  $.displayName = "AvatarUpload";
849
850
  //#endregion
850
- export { V as a, X as i, be as n, P as o, ye as r, $ as t };
851
+ export { V as a, X as i, be as n, F as o, ye as r, $ as t };
851
852
 
852
- //# sourceMappingURL=upload-CDbYw1WN.js.map
853
+ //# sourceMappingURL=upload-B0WHW7ak.js.map