themelia-react-ui 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (715) hide show
  1. package/CHANGELOG.md +211 -0
  2. package/MIGRATION.md +119 -0
  3. package/README.md +122 -20
  4. package/dist/{accordion-96o0pN62.js → accordion-0tQUZ20r.js} +13 -13
  5. package/dist/accordion-0tQUZ20r.js.map +1 -0
  6. package/dist/{action-menu-CHgs8vmj.js → action-menu-C0gjzLyE.js} +48 -45
  7. package/dist/action-menu-C0gjzLyE.js.map +1 -0
  8. package/dist/{affordance-geometry.generated-B8yGOr8-.js → affordance-geometry.generated-P-aVJisu.js} +36 -36
  9. package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
  10. package/dist/{ai-artifact-BZUGwBq6.js → ai-artifact-CGGpQryR.js} +281 -230
  11. package/dist/ai-artifact-CGGpQryR.js.map +1 -0
  12. package/dist/app-shell-EHuuRDGy.js +321 -0
  13. package/dist/app-shell-EHuuRDGy.js.map +1 -0
  14. package/dist/{attachment-DkoqHPPl.js → attachment-BCpA4e7i.js} +10 -10
  15. package/dist/{attachment-DkoqHPPl.js.map → attachment-BCpA4e7i.js.map} +1 -1
  16. package/dist/{auth-D2FVZ1MH.js → auth-B0girIk_.js} +49 -52
  17. package/dist/auth-B0girIk_.js.map +1 -0
  18. package/dist/{avatar-DWO_HHhB.js → avatar-B9Jnp-T-.js} +8 -8
  19. package/dist/avatar-B9Jnp-T-.js.map +1 -0
  20. package/dist/{badge-DErMA7ul.js → badge-wWauMgAt.js} +5 -5
  21. package/dist/{badge-DErMA7ul.js.map → badge-wWauMgAt.js.map} +1 -1
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +1 -1
  28. package/dist/base/buttons.js +1 -1
  29. package/dist/base/cards.js +2 -2
  30. package/dist/base/carousel.js +3 -3
  31. package/dist/base/cascader.js +2 -372
  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 +2 -2
  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 +4 -4
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +10 -10
  44. package/dist/base/item.js +1 -1
  45. package/dist/base/media-gallery.js +1 -1
  46. package/dist/base/metadata-list.js +1 -1
  47. package/dist/base/navigation.js +7 -7
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +1 -1
  51. package/dist/base/repeaters.js +200 -193
  52. package/dist/base/repeaters.js.map +1 -1
  53. package/dist/base/sheet.js +1 -1
  54. package/dist/base/sidebar.js +2 -2
  55. package/dist/base/signature-pad.js +8 -8
  56. package/dist/base/signature-pad.js.map +1 -1
  57. package/dist/base/skeleton.js +1 -1
  58. package/dist/base/spinner.js +6 -6
  59. package/dist/base/spinner.js.map +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 +36 -36
  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/{batch-action-bar-CdfIkCsV.js → batch-action-bar-BoqWIIpV.js} +7 -7
  70. package/dist/batch-action-bar-BoqWIIpV.js.map +1 -0
  71. package/dist/blocks/admin.js +21 -21
  72. package/dist/blocks/admin.js.map +1 -1
  73. package/dist/blocks/ai.js +267 -247
  74. package/dist/blocks/ai.js.map +1 -1
  75. package/dist/blocks/analytics/usage-card.js +1 -1
  76. package/dist/blocks/analytics.js +537 -543
  77. package/dist/blocks/analytics.js.map +1 -1
  78. package/dist/blocks/collaboration.js +1 -1
  79. package/dist/blocks/commerce/receipt.js +1 -1
  80. package/dist/blocks/commerce.js +1330 -1250
  81. package/dist/blocks/commerce.js.map +1 -1
  82. package/dist/blocks/data-display.js +2 -2
  83. package/dist/blocks/onboarding.js +6 -6
  84. package/dist/blocks/onboarding.js.map +1 -1
  85. package/dist/blocks/planning.js +11 -11
  86. package/dist/blocks/timelines.js +1 -1
  87. package/dist/{breadcrumbs-B-WFKecD.js → breadcrumbs-Bp9Ke7kd.js} +7 -7
  88. package/dist/breadcrumbs-Bp9Ke7kd.js.map +1 -0
  89. package/dist/{button-DkmK-z8E.js → button-ChBovTx0.js} +3 -3
  90. package/dist/button-ChBovTx0.js.map +1 -0
  91. package/dist/{buttons-BbfzgczK.js → buttons-DeW0bQeK.js} +16 -16
  92. package/dist/buttons-DeW0bQeK.js.map +1 -0
  93. package/dist/cards-CNXnmvV5.js +69 -0
  94. package/dist/cards-CNXnmvV5.js.map +1 -0
  95. package/dist/cascader-CrAl9zD5.js +439 -0
  96. package/dist/cascader-CrAl9zD5.js.map +1 -0
  97. package/dist/chart-I7ROnsl8.js +162 -0
  98. package/dist/chart-I7ROnsl8.js.map +1 -0
  99. package/dist/{checkbox-CzYUTPeJ.js → checkbox-MoyHIAPs.js} +3 -3
  100. package/dist/{checkbox-CzYUTPeJ.js.map → checkbox-MoyHIAPs.js.map} +1 -1
  101. package/dist/choice-inputs-DHGtx0QV.js +789 -0
  102. package/dist/choice-inputs-DHGtx0QV.js.map +1 -0
  103. package/dist/{code-block-CGNaUtAE.js → code-block-BSJyq9e-.js} +9 -9
  104. package/dist/code-block-BSJyq9e-.js.map +1 -0
  105. package/dist/{collapsible-Do4G0zcC.js → collapsible-BzJ91LUG.js} +5 -5
  106. package/dist/{collapsible-Do4G0zcC.js.map → collapsible-BzJ91LUG.js.map} +1 -1
  107. package/dist/{collection-content-C0e8SsTm.js → collection-content-CSnwtOTH.js} +3 -3
  108. package/dist/{collection-content-C0e8SsTm.js.map → collection-content-CSnwtOTH.js.map} +1 -1
  109. package/dist/combobox-Bcvu5J8O.js +363 -0
  110. package/dist/combobox-Bcvu5J8O.js.map +1 -0
  111. package/dist/combobox-C2JiSQPc.js +915 -0
  112. package/dist/combobox-C2JiSQPc.js.map +1 -0
  113. package/dist/{command-D8NrBj-b.js → command-9e52NPgK.js} +11 -11
  114. package/dist/command-9e52NPgK.js.map +1 -0
  115. package/dist/{comments-Di4w0H_S.js → comments-BsgErEqd.js} +44 -39
  116. package/dist/comments-BsgErEqd.js.map +1 -0
  117. package/dist/components/base/action-menu/action-menu.d.ts +7 -1
  118. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  119. package/dist/components/base/cards/card.recipes.d.ts +6 -4
  120. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -2
  121. package/dist/components/base/cards/partials/smart-card-header-row.d.ts +3 -1
  122. package/dist/components/base/cards/smart-card.types.d.ts +3 -4
  123. package/dist/components/base/cascader/cascader-panel.d.ts +76 -0
  124. package/dist/components/base/chart/chart.d.ts +6 -1
  125. package/dist/components/base/choice-inputs/choice-types.d.ts +5 -1
  126. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
  127. package/dist/components/base/combobox/combobox-field.d.ts +2 -2
  128. package/dist/components/base/combobox/index.d.ts +4 -2
  129. package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
  130. package/dist/components/base/date-pickers/datepicker.types.d.ts +10 -4
  131. package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
  132. package/dist/components/base/feedback/alert.d.ts +1 -1
  133. package/dist/components/base/feedback/state-display.d.ts +5 -1
  134. package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
  135. package/dist/components/base/forms/form-field.d.ts +7 -2
  136. package/dist/components/base/forms/form-sizing.d.ts +7 -7
  137. package/dist/components/base/forms/workflow.d.ts +7 -1
  138. package/dist/components/base/forms-numeric/coordinates-input.d.ts +8 -1
  139. package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
  140. package/dist/components/base/forms-numeric/dimensions-input.d.ts +4 -1
  141. package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
  142. package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
  143. package/dist/components/base/metadata-list/metadata-list.d.ts +1 -1
  144. package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
  145. package/dist/components/base/navigation/language-switcher.d.ts +12 -4
  146. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
  147. package/dist/components/base/navigation/page-header/page-header.d.ts +10 -3
  148. package/dist/components/base/popover/popover.d.ts +3 -3
  149. package/dist/components/base/popover/popover.recipes.d.ts +10 -6
  150. package/dist/components/base/repeaters/key-value-editor.d.ts +2 -1
  151. package/dist/components/base/sheet/sheet.d.ts +2 -0
  152. package/dist/components/base/sidebar/index.d.ts +1 -1
  153. package/dist/components/base/sidebar/sidebar.d.ts +29 -5
  154. package/dist/components/base/toaster/index.d.ts +1 -0
  155. package/dist/components/base/upload/avatar-upload.d.ts +2 -1
  156. package/dist/components/base/upload/image-upload.d.ts +2 -1
  157. package/dist/components/blocks/ai/ai-citation/types.d.ts +2 -0
  158. package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
  159. package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
  160. package/dist/components/blocks/ai/ai-sources/types.d.ts +2 -0
  161. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +5 -1
  162. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  163. package/dist/components/blocks/analytics/metric/metric.d.ts +4 -0
  164. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +4 -0
  165. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
  166. package/dist/components/blocks/analytics/types.d.ts +2 -2
  167. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  168. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
  169. package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
  170. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
  171. package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
  172. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  173. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
  174. package/dist/components/blocks/commerce/index.d.ts +7 -6
  175. package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
  176. package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
  177. package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
  178. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  179. package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
  180. package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
  181. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
  182. package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
  183. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
  184. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
  185. package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
  186. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  187. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
  188. package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
  189. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  190. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
  191. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  192. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
  193. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +4 -3
  194. package/dist/components/features/activities/activities.types.d.ts +26 -13
  195. package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
  196. package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
  197. package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
  198. package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
  199. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  200. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +4 -2
  201. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  202. package/dist/components/features/combobox/combobox.d.ts +2 -2
  203. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -1
  204. package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
  205. package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
  206. package/dist/components/features/combobox/types.d.ts +37 -8
  207. package/dist/components/features/email-composer/types.d.ts +3 -1
  208. package/dist/components/features/event-calendar/colors.d.ts +2 -2
  209. package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
  210. package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
  211. package/dist/components/features/filters/facets/range-facet.d.ts +12 -0
  212. package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
  213. package/dist/components/features/filters/filters.strings.d.ts +4 -0
  214. package/dist/components/features/filters/filters.types.d.ts +6 -3
  215. package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
  216. package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
  217. package/dist/components/features/filters/partials/filter-popover-content.d.ts +5 -3
  218. package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
  219. package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
  220. package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
  221. package/dist/components/features/filters/utils/filter-utils.d.ts +25 -3
  222. package/dist/components/features/global-search/global-search.types.d.ts +2 -0
  223. package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
  224. package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
  225. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  226. package/dist/components/features/media-library/media-library.d.ts +1 -1
  227. package/dist/components/features/media-library/media-library.strings.d.ts +8 -0
  228. package/dist/components/features/media-library/media-library.types.d.ts +50 -12
  229. package/dist/components/features/media-library/partials/media-library-partials.d.ts +4 -4
  230. package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
  231. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +5 -1
  232. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +1 -7
  233. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
  234. package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
  235. package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
  236. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  237. package/dist/components/features/products/products.strings.d.ts +9 -1
  238. package/dist/components/features/products/products.types.d.ts +45 -8
  239. package/dist/components/features/questionnaire/questionnaire.types.d.ts +3 -0
  240. package/dist/components/features/resource/resource.d.ts +6 -2
  241. package/dist/components/features/resource/resource.types.d.ts +14 -1
  242. package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
  243. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +1 -1
  244. package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
  245. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
  246. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +3 -1
  247. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
  248. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +17 -3
  249. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -1
  250. package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
  251. package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
  252. package/dist/components/features/suggestions/suggestions.types.d.ts +1 -1
  253. package/dist/components/features/table/data-table.d.ts +1 -1
  254. package/dist/components/features/table/index.d.ts +1 -0
  255. package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
  256. package/dist/components/features/table/table-body.d.ts +1 -1
  257. package/dist/components/features/table/table-helpers.d.ts +6 -3
  258. package/dist/components/features/table/table.strings.d.ts +3 -0
  259. package/dist/components/features/table/table.types.d.ts +18 -2
  260. package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
  261. package/dist/components/layout/app-shell/index.d.ts +1 -1
  262. package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
  263. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  264. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  265. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  266. package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
  267. package/dist/components/layout/header/header.recipes.d.ts +6 -0
  268. package/dist/components/layout/header/header.types.d.ts +9 -8
  269. package/dist/components/layout/layout.types.d.ts +5 -3
  270. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
  271. package/dist/components/layout/navigation/side-nav.d.ts +3 -2
  272. package/dist/components/layout/normalize-layout-path.d.ts +1 -0
  273. package/dist/components/layout/page/index.d.ts +2 -1
  274. package/dist/components/layout/page/page.d.ts +1 -0
  275. package/dist/components/layout/page/page.strings.d.ts +11 -0
  276. package/dist/components/layout/page/page.types.d.ts +69 -17
  277. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  278. package/dist/components/layout/settings/settings.d.ts +10 -3
  279. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  280. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  281. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  282. package/dist/components/layout/sidebar/index.d.ts +2 -1
  283. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +38 -0
  284. package/dist/components/layout/sidebar/sidebar.context.d.ts +6 -7
  285. package/dist/components/layout/sidebar/sidebar.types.d.ts +50 -10
  286. package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
  287. package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
  288. package/dist/components/primitives/link.d.ts +3 -2
  289. package/dist/components/primitives/money.d.ts +1 -1
  290. package/dist/components/primitives/number.d.ts +1 -1
  291. package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
  292. package/dist/components/ui/alert-dialog.d.ts +2 -2
  293. package/dist/components/ui/combobox.d.ts +1 -1
  294. package/dist/components/ui/dialog.d.ts +2 -2
  295. package/dist/components/ui/overlay-layer.d.ts +18 -0
  296. package/dist/components/ui/sheet.d.ts +5 -1
  297. package/dist/components/ui/sidebar-state.d.ts +82 -0
  298. package/dist/components/ui/sidebar.d.ts +5 -17
  299. package/dist/{containers-CRmHf7GP.js → containers-CSdc32h9.js} +26 -18
  300. package/dist/containers-CSdc32h9.js.map +1 -0
  301. package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
  302. package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
  303. package/dist/{copyable-CnGCZdX4.js → copyable-3fdHfMR3.js} +7 -7
  304. package/dist/{copyable-CnGCZdX4.js.map → copyable-3fdHfMR3.js.map} +1 -1
  305. package/dist/{data-display-D4oujtx0.js → data-display-Cmj-xZYl.js} +271 -279
  306. package/dist/data-display-Cmj-xZYl.js.map +1 -0
  307. package/dist/{date-Q7jnXxpk.js → date-Br0FicVv.js} +5 -5
  308. package/dist/{date-Q7jnXxpk.js.map → date-Br0FicVv.js.map} +1 -1
  309. package/dist/date-picker-CyQlFYsP.js +1617 -0
  310. package/dist/date-picker-CyQlFYsP.js.map +1 -0
  311. package/dist/date-pickers-tj2MXmXd.js +185 -0
  312. package/dist/date-pickers-tj2MXmXd.js.map +1 -0
  313. package/dist/{display-BB4BL_-K.js → display-CT_N2a3w.js} +9 -9
  314. package/dist/{display-BB4BL_-K.js.map → display-CT_N2a3w.js.map} +1 -1
  315. package/dist/dropdown-menu-C08iIugv.js +194 -0
  316. package/dist/dropdown-menu-C08iIugv.js.map +1 -0
  317. package/dist/features/activities.js +388 -326
  318. package/dist/features/activities.js.map +1 -1
  319. package/dist/features/ai-chat.js +46 -32
  320. package/dist/features/ai-chat.js.map +1 -1
  321. package/dist/features/appointment-calendar.js +130 -130
  322. package/dist/features/appointment-calendar.js.map +1 -1
  323. package/dist/features/async-preview.js +11 -10
  324. package/dist/features/async-preview.js.map +1 -1
  325. package/dist/features/combobox.js +1 -1
  326. package/dist/features/comments.js +1 -1
  327. package/dist/features/data-view.js +13 -13
  328. package/dist/features/data-view.js.map +1 -1
  329. package/dist/features/email-composer.js +243 -239
  330. package/dist/features/email-composer.js.map +1 -1
  331. package/dist/features/event-calendar.js +197 -199
  332. package/dist/features/event-calendar.js.map +1 -1
  333. package/dist/features/filters.js +2 -2
  334. package/dist/features/global-search.js +168 -143
  335. package/dist/features/global-search.js.map +1 -1
  336. package/dist/features/kanban.js +19 -30
  337. package/dist/features/kanban.js.map +1 -1
  338. package/dist/features/map/style.css +15 -0
  339. package/dist/features/map.js +369 -343
  340. package/dist/features/map.js.map +1 -1
  341. package/dist/features/media-library.js +1202 -975
  342. package/dist/features/media-library.js.map +1 -1
  343. package/dist/features/mentions.js +2 -2
  344. package/dist/features/overlays.js +1 -1
  345. package/dist/features/products.js +1270 -1183
  346. package/dist/features/products.js.map +1 -1
  347. package/dist/features/questionnaire.js +160 -153
  348. package/dist/features/questionnaire.js.map +1 -1
  349. package/dist/features/resource-assignment.js +8 -8
  350. package/dist/features/resource.js +119 -113
  351. package/dist/features/resource.js.map +1 -1
  352. package/dist/features/rich-text-editor.js +28 -19
  353. package/dist/features/rich-text-editor.js.map +1 -1
  354. package/dist/features/schema-form.js +297 -256
  355. package/dist/features/schema-form.js.map +1 -1
  356. package/dist/features/suggestions.js +57 -50
  357. package/dist/features/suggestions.js.map +1 -1
  358. package/dist/features/sync.js +3 -3
  359. package/dist/features/table.js +1 -1
  360. package/dist/features/theme-tweaker.js +470 -470
  361. package/dist/features/theme-tweaker.js.map +1 -1
  362. package/dist/feedback-Dzo1xtAU.js +246 -0
  363. package/dist/feedback-Dzo1xtAU.js.map +1 -0
  364. package/dist/{field-affordance-recipes-DjwGx8eM.js → field-affordance-recipes-D6H7tVJi.js} +5 -5
  365. package/dist/field-affordance-recipes-D6H7tVJi.js.map +1 -0
  366. package/dist/field-control-attributes-B6i335wr.js +18 -0
  367. package/dist/field-control-attributes-B6i335wr.js.map +1 -0
  368. package/dist/{field-state-recipes-BVA2CWHo.js → field-state-recipes-7sza8QbC.js} +4 -2
  369. package/dist/{field-state-recipes-BVA2CWHo.js.map → field-state-recipes-7sza8QbC.js.map} +1 -1
  370. package/dist/filters-Dl80yYtN.js +2415 -0
  371. package/dist/filters-Dl80yYtN.js.map +1 -0
  372. package/dist/form-field-CAPdwdnZ.js +74 -0
  373. package/dist/form-field-CAPdwdnZ.js.map +1 -0
  374. package/dist/{form-sizing-NXgjkmBG.js → form-sizing-CgcrUbLU.js} +5 -5
  375. package/dist/form-sizing-CgcrUbLU.js.map +1 -0
  376. package/dist/{forms-BV5m5aQF.js → forms-B3W8CH7-.js} +17 -13
  377. package/dist/forms-B3W8CH7-.js.map +1 -0
  378. package/dist/forms-numeric-CwjQJe-O.js +991 -0
  379. package/dist/forms-numeric-CwjQJe-O.js.map +1 -0
  380. package/dist/{header-BA697l4a.js → header-ZIIsRKxP.js} +145 -141
  381. package/dist/header-ZIIsRKxP.js.map +1 -0
  382. package/dist/header.recipes-BigdJjw1.js +6 -0
  383. package/dist/header.recipes-BigdJjw1.js.map +1 -0
  384. package/dist/hooks/use-files.d.ts +2 -0
  385. package/dist/{hooks-BQ-L7Uu2.js → hooks-BitHSh-Y.js} +27 -15
  386. package/dist/hooks-BitHSh-Y.js.map +1 -0
  387. package/dist/{icon-badge-COWbCCWu.js → icon-badge-npxF1SLX.js} +4 -4
  388. package/dist/{icon-badge-COWbCCWu.js.map → icon-badge-npxF1SLX.js.map} +1 -1
  389. package/dist/index.js +4 -5
  390. package/dist/{input-Cdw4k0fb.js → input-7KAc7XQL.js} +9 -9
  391. package/dist/{input-Cdw4k0fb.js.map → input-7KAc7XQL.js.map} +1 -1
  392. package/dist/input-DIREVYHs.js +21 -0
  393. package/dist/input-DIREVYHs.js.map +1 -0
  394. package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-4wZ2tvfb.js} +2 -2
  395. package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-4wZ2tvfb.js.map} +1 -1
  396. package/dist/item-FfWnaYST.js +278 -0
  397. package/dist/item-FfWnaYST.js.map +1 -0
  398. package/dist/layout/app-shell.js +1 -1
  399. package/dist/layout/auth.js +1 -1
  400. package/dist/layout/containers.js +1 -1
  401. package/dist/layout/header.js +1 -1
  402. package/dist/layout/hooks.js +1 -1
  403. package/dist/layout/navigation.js +1 -1
  404. package/dist/layout/page.js +2 -2
  405. package/dist/layout/settings.js +1 -1
  406. package/dist/layout/sidebar.js +3 -3
  407. package/dist/layout/workspace.js +1 -1
  408. package/dist/layout.js +12 -12
  409. package/dist/layout.types-E_GAApzO.js +30 -0
  410. package/dist/layout.types-E_GAApzO.js.map +1 -0
  411. package/dist/lib/affordance-geometry.generated.d.ts +35 -35
  412. package/dist/lib/control-group-recipes.d.ts +5 -5
  413. package/dist/lib/field-affordance-recipes.d.ts +2 -2
  414. package/dist/lib/field-control-attributes.d.ts +11 -0
  415. package/dist/lib/field-state-recipes.d.ts +2 -0
  416. package/dist/lib/format.d.ts +1 -0
  417. package/dist/lib/motion-recipes.d.ts +3 -0
  418. package/dist/lib/navigation-row-recipes.d.ts +7 -7
  419. package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
  420. package/dist/lib/portal-recipes.d.ts +3 -0
  421. package/dist/lib/surface-recipes.d.ts +1 -1
  422. package/dist/lib/token-merge.generated.d.ts +18 -15
  423. package/dist/lib/utils.js +1 -1
  424. package/dist/map-demo-tile.svg +1 -1
  425. package/dist/{media-gallery-CSl5W1Fy.js → media-gallery-C81DAnKI.js} +6 -6
  426. package/dist/{media-gallery-CSl5W1Fy.js.map → media-gallery-C81DAnKI.js.map} +1 -1
  427. package/dist/{mentions-RKOQaaIB.js → mentions-qOnedSt4.js} +237 -168
  428. package/dist/mentions-qOnedSt4.js.map +1 -0
  429. package/dist/message-BJHnn43M.js +135 -0
  430. package/dist/message-BJHnn43M.js.map +1 -0
  431. package/dist/{metadata-list-qVV7AVxa.js → metadata-list-XkqZ_UXH.js} +64 -64
  432. package/dist/metadata-list-XkqZ_UXH.js.map +1 -0
  433. package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
  434. package/dist/motion-recipes-DitYv6P2.js.map +1 -0
  435. package/dist/navigation-BgtPJAhi.js +288 -0
  436. package/dist/navigation-BgtPJAhi.js.map +1 -0
  437. package/dist/navigation-Bt-v7rWP.js +261 -0
  438. package/dist/navigation-Bt-v7rWP.js.map +1 -0
  439. package/dist/{navigation-row-recipes-WZEs-hYo.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
  440. package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
  441. package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
  442. package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
  443. package/dist/{number-E_OiIfJz.js → number-CYqBcrSj.js} +79 -87
  444. package/dist/number-CYqBcrSj.js.map +1 -0
  445. package/dist/overflow-tab-bar-BQCA2Zn2.js +172 -0
  446. package/dist/overflow-tab-bar-BQCA2Zn2.js.map +1 -0
  447. package/dist/overlays-CC8zI3Du.js +1017 -0
  448. package/dist/overlays-CC8zI3Du.js.map +1 -0
  449. package/dist/page-BoQ1VaFJ.js +331 -0
  450. package/dist/page-BoQ1VaFJ.js.map +1 -0
  451. package/dist/page-header-commands-DIKspJfx.js +193 -0
  452. package/dist/page-header-commands-DIKspJfx.js.map +1 -0
  453. package/dist/{pagination-Ch8X_47u.js → pagination-Br8TdV9A.js} +7 -7
  454. package/dist/{pagination-Ch8X_47u.js.map → pagination-Br8TdV9A.js.map} +1 -1
  455. package/dist/popover-k8TdUcAt.js +201 -0
  456. package/dist/popover-k8TdUcAt.js.map +1 -0
  457. package/dist/{popover-menu-BYaCdFhf.js → popover-menu-yn-o0kyA.js} +7 -7
  458. package/dist/{popover-menu-BYaCdFhf.js.map → popover-menu-yn-o0kyA.js.map} +1 -1
  459. package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DJ0AkUan.js} +19 -12
  460. package/dist/popover.recipes-DJ0AkUan.js.map +1 -0
  461. package/dist/portal-recipes-DyUXqUtD.js +9 -0
  462. package/dist/portal-recipes-DyUXqUtD.js.map +1 -0
  463. package/dist/{primitives-Du64iDbb.js → primitives-BkkQjYl7.js} +23 -18
  464. package/dist/primitives-BkkQjYl7.js.map +1 -0
  465. package/dist/primitives.js +4 -4
  466. package/dist/{progress-BvF2oCdV.js → progress-DZFXXzPs.js} +9 -9
  467. package/dist/{progress-BvF2oCdV.js.map → progress-DZFXXzPs.js.map} +1 -1
  468. package/dist/{receipt-D789Jwyy.js → receipt-C7LhOg7Q.js} +7 -7
  469. package/dist/receipt-C7LhOg7Q.js.map +1 -0
  470. package/dist/rich-text-BnTzZjIo.js +45 -0
  471. package/dist/rich-text-BnTzZjIo.js.map +1 -0
  472. package/dist/{rich-text-editor-Cm1dpUpQ.js → rich-text-editor-CAurDwT5.js} +501 -424
  473. package/dist/rich-text-editor-CAurDwT5.js.map +1 -0
  474. package/dist/rich-text-editor-toolbar-DbXig7Jk.js +99 -0
  475. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +1 -0
  476. package/dist/rich-text-tree-BqyQ_7-R.js +66 -0
  477. package/dist/rich-text-tree-BqyQ_7-R.js.map +1 -0
  478. package/dist/{sanitize-html-DsQmI48u.js → sanitize-html-BWkH4dLM.js} +29 -16
  479. package/dist/sanitize-html-BWkH4dLM.js.map +1 -0
  480. package/dist/{scroll-area-La5RXsEk.js → scroll-area-Bj6CRUif.js} +2 -2
  481. package/dist/{scroll-area-La5RXsEk.js.map → scroll-area-Bj6CRUif.js.map} +1 -1
  482. package/dist/{separator-DAEV0w65.js → separator-B9ewiCGO.js} +2 -2
  483. package/dist/{separator-DAEV0w65.js.map → separator-B9ewiCGO.js.map} +1 -1
  484. package/dist/{separator-GNfPG-90.js → separator-DM6gs2vu.js} +3 -3
  485. package/dist/{separator-GNfPG-90.js.map → separator-DM6gs2vu.js.map} +1 -1
  486. package/dist/services/actions.js +1 -1
  487. package/dist/settings-DZPHgpx4.js +155 -0
  488. package/dist/settings-DZPHgpx4.js.map +1 -0
  489. package/dist/sheet-C4DHsgLk.js +250 -0
  490. package/dist/sheet-C4DHsgLk.js.map +1 -0
  491. package/dist/sidebar-C8BnDwTH.js +709 -0
  492. package/dist/sidebar-C8BnDwTH.js.map +1 -0
  493. package/dist/sidebar-CmD6a-HK.js +1004 -0
  494. package/dist/sidebar-CmD6a-HK.js.map +1 -0
  495. package/dist/skeleton-DDgdhmu9.js +265 -0
  496. package/dist/skeleton-DDgdhmu9.js.map +1 -0
  497. package/dist/smart-card-B6vLxqa_.js +617 -0
  498. package/dist/smart-card-B6vLxqa_.js.map +1 -0
  499. package/dist/{structure-C0V0_Fyf.js → structure-DZJ2wbAU.js} +2 -2
  500. package/dist/{structure-C0V0_Fyf.js.map → structure-DZJ2wbAU.js.map} +1 -1
  501. package/dist/style.css +1 -1
  502. package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-C8mNycaY.js} +2 -2
  503. package/dist/{surface-recipes-BKRVW8Os.js.map → surface-recipes-C8mNycaY.js.map} +1 -1
  504. package/dist/{table-DH7rozUv.js → table-CBonSdTp.js} +573 -519
  505. package/dist/table-CBonSdTp.js.map +1 -0
  506. package/dist/{table-CpvnzJn9.js → table-CXSPHH25.js} +75 -71
  507. package/dist/table-CXSPHH25.js.map +1 -0
  508. package/dist/tabs-C4Kr_hCr.js +192 -0
  509. package/dist/tabs-C4Kr_hCr.js.map +1 -0
  510. package/dist/{text-inputs-DXItiR0O.js → text-inputs-jdkS3ReG.js} +18 -18
  511. package/dist/text-inputs-jdkS3ReG.js.map +1 -0
  512. package/dist/theme.css +40 -37
  513. package/dist/{timelines-DmtztAY_.js → timelines-CoPwdJP0.js} +13 -12
  514. package/dist/timelines-CoPwdJP0.js.map +1 -0
  515. package/dist/tooltip-31NwIpTo.js +113 -0
  516. package/dist/tooltip-31NwIpTo.js.map +1 -0
  517. package/dist/{tree-CV11PURP.js → tree-CeYVzdFE.js} +9 -9
  518. package/dist/{tree-CV11PURP.js.map → tree-CeYVzdFE.js.map} +1 -1
  519. package/dist/typography/rich-text.js +1 -1
  520. package/dist/{typography-CSyJrh28.js → typography-C7-YMW1S.js} +12 -12
  521. package/dist/{typography-CSyJrh28.js.map → typography-C7-YMW1S.js.map} +1 -1
  522. package/dist/typography.js +1 -1
  523. package/dist/ui-provider-C-74NVLc.js +178 -0
  524. package/dist/ui-provider-C-74NVLc.js.map +1 -0
  525. package/dist/ui-provider.js +2 -3
  526. package/dist/{upload-C9SA0X-8.js → upload-Hdm5gObf.js} +309 -296
  527. package/dist/upload-Hdm5gObf.js.map +1 -0
  528. package/dist/{upload-queue-DhQJiSRc.js → upload-queue-D0sYPuqo.js} +16 -14
  529. package/dist/upload-queue-D0sYPuqo.js.map +1 -0
  530. package/dist/{usage-card-DVTRDmGz.js → usage-card-9s8hLDfn.js} +24 -17
  531. package/dist/usage-card-9s8hLDfn.js.map +1 -0
  532. package/dist/{utils-CF3c95Io.js → utils-DhuoqFy4.js} +255 -165
  533. package/dist/utils-DhuoqFy4.js.map +1 -0
  534. package/dist/value-inputs-D3aPgq9H.js +980 -0
  535. package/dist/value-inputs-D3aPgq9H.js.map +1 -0
  536. package/dist/{value-typography-ClupF0Gz.js → value-typography-uSzzG9Gf.js} +32 -26
  537. package/dist/value-typography-uSzzG9Gf.js.map +1 -0
  538. package/dist/{workspace-9EFVXUyk.js → workspace-CC8Vchiu.js} +51 -50
  539. package/dist/workspace-CC8Vchiu.js.map +1 -0
  540. package/docs/consumer-skill/SKILL.md +4 -3
  541. package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
  542. package/docs/consumer-skill/examples/app-layout.tsx +52 -1
  543. package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
  544. package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
  545. package/docs/consumer-skill/examples/detail.tsx +5 -4
  546. package/docs/consumer-skill/examples/edit.tsx +3 -3
  547. package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
  548. package/docs/consumer-skill/examples/index-table.tsx +4 -4
  549. package/docs/consumer-skill/examples/manifest.json +38 -1
  550. package/docs/consumer-skill/examples/product-media.tsx +41 -0
  551. package/docs/consumer-skill/examples/product-parts.tsx +81 -0
  552. package/docs/consumer-skill/examples/rhf-edit-page.tsx +1 -1
  553. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +24 -11
  554. package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
  555. package/docs/consumer-skill/references/agents-md.md +21 -19
  556. package/docs/consumer-skill/references/analytics.md +33 -1
  557. package/docs/consumer-skill/references/commerce-composition.md +97 -0
  558. package/docs/consumer-skill/references/component-contracts.json +21249 -14205
  559. package/docs/consumer-skill/references/composition-mapping.md +17 -3
  560. package/docs/consumer-skill/references/composition.md +177 -32
  561. package/docs/consumer-skill/references/critique-rubric.md +98 -0
  562. package/docs/consumer-skill/references/custom-composition.md +261 -0
  563. package/docs/consumer-skill/references/data-reading.md +79 -0
  564. package/docs/consumer-skill/references/design-contract.md +12 -9
  565. package/docs/consumer-skill/references/discovery.md +27 -3
  566. package/docs/consumer-skill/references/domain-structures.md +124 -0
  567. package/docs/consumer-skill/references/installation.md +62 -8
  568. package/docs/consumer-skill/references/integration.md +59 -1
  569. package/docs/consumer-skill/references/product-composition.md +94 -0
  570. package/docs/consumer-skill/references/public-api.json +3044 -445
  571. package/docs/consumer-skill/references/review.md +87 -10
  572. package/docs/consumer-skill/references/rhf-workflows.md +79 -0
  573. package/docs/consumer-skill/references/screen-archetypes.md +19 -7
  574. package/docs/consumer-skill/references/screen-decisions.md +126 -0
  575. package/docs/consumer-skill/references/theming.md +24 -20
  576. package/docs/consumer-skill/references/tokens.json +9 -9
  577. package/docs/consumer-skill/references/view-craft.md +153 -0
  578. package/docs/consumer-skill/references/view-spec.md +73 -0
  579. package/docs/consumer-skill/references/workflows.md +7 -1
  580. package/docs/consumer-skill/scripts/composition-policy.mjs +176 -26
  581. package/docs/consumer-skill/scripts/composition-schema.mjs +1 -1
  582. package/docs/consumer-skill/scripts/composition.mjs +61 -5
  583. package/docs/consumer-skill/scripts/discovery.mjs +54 -0
  584. package/docs/consumer-skill/scripts/inspect-component.mjs +1 -1
  585. package/docs/consumer-skill/scripts/inspection.mjs +73 -18
  586. package/docs/consumer-skill/scripts/setup-skills.mjs +79 -7
  587. package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
  588. package/docs/consumer-skills/themelia-components/SKILL.md +14 -13
  589. package/docs/consumer-skills/themelia-composition/SKILL.md +16 -17
  590. package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
  591. package/docs/consumer-skills/themelia-foundation/SKILL.md +2 -1
  592. package/docs/consumer-skills/themelia-tokenization/SKILL.md +24 -17
  593. package/package.json +4 -2
  594. package/templates/admin-shell-template.tsx +1 -2
  595. package/templates/customers-template.tsx +18 -16
  596. package/dist/accordion-96o0pN62.js.map +0 -1
  597. package/dist/action-menu-CHgs8vmj.js.map +0 -1
  598. package/dist/affordance-geometry.generated-B8yGOr8-.js.map +0 -1
  599. package/dist/ai-artifact-BZUGwBq6.js.map +0 -1
  600. package/dist/app-shell-D63ATkIK.js +0 -237
  601. package/dist/app-shell-D63ATkIK.js.map +0 -1
  602. package/dist/auth-D2FVZ1MH.js.map +0 -1
  603. package/dist/avatar-DWO_HHhB.js.map +0 -1
  604. package/dist/base/cascader.js.map +0 -1
  605. package/dist/batch-action-bar-CdfIkCsV.js.map +0 -1
  606. package/dist/breadcrumbs-B-WFKecD.js.map +0 -1
  607. package/dist/button-DkmK-z8E.js.map +0 -1
  608. package/dist/buttons-BbfzgczK.js.map +0 -1
  609. package/dist/cards-4JTWqvVe.js +0 -68
  610. package/dist/cards-4JTWqvVe.js.map +0 -1
  611. package/dist/chart-C19flDQb.js +0 -155
  612. package/dist/chart-C19flDQb.js.map +0 -1
  613. package/dist/choice-inputs-JLtij2y4.js +0 -776
  614. package/dist/choice-inputs-JLtij2y4.js.map +0 -1
  615. package/dist/code-block-CGNaUtAE.js.map +0 -1
  616. package/dist/combobox-CBJDs6w_.js +0 -877
  617. package/dist/combobox-CBJDs6w_.js.map +0 -1
  618. package/dist/combobox-hbhSS18O.js +0 -355
  619. package/dist/combobox-hbhSS18O.js.map +0 -1
  620. package/dist/command-D8NrBj-b.js.map +0 -1
  621. package/dist/comments-Di4w0H_S.js.map +0 -1
  622. package/dist/containers-CRmHf7GP.js.map +0 -1
  623. package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
  624. package/dist/data-display-D4oujtx0.js.map +0 -1
  625. package/dist/date-picker-zOt1oNss.js +0 -1542
  626. package/dist/date-picker-zOt1oNss.js.map +0 -1
  627. package/dist/date-pickers-cj8IXbDC.js +0 -179
  628. package/dist/date-pickers-cj8IXbDC.js.map +0 -1
  629. package/dist/dropdown-menu-CjY8Vt7W.js +0 -193
  630. package/dist/dropdown-menu-CjY8Vt7W.js.map +0 -1
  631. package/dist/feedback-DZNL5Lg1.js +0 -239
  632. package/dist/feedback-DZNL5Lg1.js.map +0 -1
  633. package/dist/field-affordance-recipes-DjwGx8eM.js.map +0 -1
  634. package/dist/filters-BcT-uoFy.js +0 -2209
  635. package/dist/filters-BcT-uoFy.js.map +0 -1
  636. package/dist/form-field-CsgRmdit.js +0 -63
  637. package/dist/form-field-CsgRmdit.js.map +0 -1
  638. package/dist/form-sizing-NXgjkmBG.js.map +0 -1
  639. package/dist/forms-BV5m5aQF.js.map +0 -1
  640. package/dist/forms-numeric-Cd33AKbD.js +0 -906
  641. package/dist/forms-numeric-Cd33AKbD.js.map +0 -1
  642. package/dist/header-BA697l4a.js.map +0 -1
  643. package/dist/hooks-BQ-L7Uu2.js.map +0 -1
  644. package/dist/input-DOPL5_QE.js +0 -21
  645. package/dist/input-DOPL5_QE.js.map +0 -1
  646. package/dist/item-BvZ2DR_x.js +0 -277
  647. package/dist/item-BvZ2DR_x.js.map +0 -1
  648. package/dist/layout.types-Cn7aUzJp.js +0 -20
  649. package/dist/layout.types-Cn7aUzJp.js.map +0 -1
  650. package/dist/mentions-RKOQaaIB.js.map +0 -1
  651. package/dist/message-INU2xsxu.js +0 -128
  652. package/dist/message-INU2xsxu.js.map +0 -1
  653. package/dist/metadata-list-qVV7AVxa.js.map +0 -1
  654. package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
  655. package/dist/navigation-BQNcg1jT.js +0 -269
  656. package/dist/navigation-BQNcg1jT.js.map +0 -1
  657. package/dist/navigation-DLF3E1IC.js +0 -145
  658. package/dist/navigation-DLF3E1IC.js.map +0 -1
  659. package/dist/navigation-row-recipes-WZEs-hYo.js.map +0 -1
  660. package/dist/number-E_OiIfJz.js.map +0 -1
  661. package/dist/overflow-tab-bar-CrbqMteP.js +0 -284
  662. package/dist/overflow-tab-bar-CrbqMteP.js.map +0 -1
  663. package/dist/overlays-BlKynmde.js +0 -1004
  664. package/dist/overlays-BlKynmde.js.map +0 -1
  665. package/dist/page-CIwNUtGr.js +0 -227
  666. package/dist/page-CIwNUtGr.js.map +0 -1
  667. package/dist/page-header-commands-DFMlNYzN.js +0 -128
  668. package/dist/page-header-commands-DFMlNYzN.js.map +0 -1
  669. package/dist/popover-uwzX2vo7.js +0 -198
  670. package/dist/popover-uwzX2vo7.js.map +0 -1
  671. package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
  672. package/dist/primitives-Du64iDbb.js.map +0 -1
  673. package/dist/receipt-D789Jwyy.js.map +0 -1
  674. package/dist/rich-text-CLJEf76s.js +0 -78
  675. package/dist/rich-text-CLJEf76s.js.map +0 -1
  676. package/dist/rich-text-editor-Cm1dpUpQ.js.map +0 -1
  677. package/dist/rich-text-editor-toolbar-L__e4x47.js +0 -94
  678. package/dist/rich-text-editor-toolbar-L__e4x47.js.map +0 -1
  679. package/dist/safe-image-src-C6kQSMBZ.js +0 -17
  680. package/dist/safe-image-src-C6kQSMBZ.js.map +0 -1
  681. package/dist/sanitize-html-DsQmI48u.js.map +0 -1
  682. package/dist/settings-BA2iboic.js +0 -174
  683. package/dist/settings-BA2iboic.js.map +0 -1
  684. package/dist/sheet-DoAxTb2J.js +0 -213
  685. package/dist/sheet-DoAxTb2J.js.map +0 -1
  686. package/dist/sidebar-ByqKR_W5.js +0 -512
  687. package/dist/sidebar-ByqKR_W5.js.map +0 -1
  688. package/dist/sidebar-D2iSnGJ7.js +0 -619
  689. package/dist/sidebar-D2iSnGJ7.js.map +0 -1
  690. package/dist/skeleton-CUj8O5Bd.js +0 -264
  691. package/dist/skeleton-CUj8O5Bd.js.map +0 -1
  692. package/dist/smart-card-CqkzQsK-.js +0 -614
  693. package/dist/smart-card-CqkzQsK-.js.map +0 -1
  694. package/dist/table-CpvnzJn9.js.map +0 -1
  695. package/dist/table-DH7rozUv.js.map +0 -1
  696. package/dist/tabs-eqVsJZWO.js +0 -191
  697. package/dist/tabs-eqVsJZWO.js.map +0 -1
  698. package/dist/text-inputs-DXItiR0O.js.map +0 -1
  699. package/dist/theme-scope-BJ6eE2xt.js +0 -50
  700. package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
  701. package/dist/timelines-DmtztAY_.js.map +0 -1
  702. package/dist/tooltip-B4hjKtoV.js +0 -111
  703. package/dist/tooltip-B4hjKtoV.js.map +0 -1
  704. package/dist/ui-provider-CQCuCBcy.js +0 -136
  705. package/dist/ui-provider-CQCuCBcy.js.map +0 -1
  706. package/dist/upload-C9SA0X-8.js.map +0 -1
  707. package/dist/upload-queue-DhQJiSRc.js.map +0 -1
  708. package/dist/usage-card-DVTRDmGz.js.map +0 -1
  709. package/dist/use-mobile-vaLKwgyf.js +0 -15
  710. package/dist/use-mobile-vaLKwgyf.js.map +0 -1
  711. package/dist/utils-CF3c95Io.js.map +0 -1
  712. package/dist/value-inputs-C0o70p-U.js +0 -980
  713. package/dist/value-inputs-C0o70p-U.js.map +0 -1
  714. package/dist/value-typography-ClupF0Gz.js.map +0 -1
  715. package/dist/workspace-9EFVXUyk.js.map +0 -1
@@ -1,22 +1,23 @@
1
1
  "use client";
2
- import { c as e, s as t, v as n } from "./ui-provider-CQCuCBcy.js";
2
+ import { S as e, d as t, f as n } from "./ui-provider-C-74NVLc.js";
3
3
  import { useStrings as r } from "./lib/strings.js";
4
- import { t as i } from "./utils-CF3c95Io.js";
5
- import { n as a } from "./buttons-BbfzgczK.js";
6
- import { c as o } from "./typography-CSyJrh28.js";
7
- import { h as s, p as c, v as l } from "./smart-card-CqkzQsK-.js";
8
- import { a as u, i as d } from "./primitives-Du64iDbb.js";
9
- import { n as f } from "./field-affordance-recipes-DjwGx8eM.js";
10
- import { o as p } from "./item-BvZ2DR_x.js";
11
- import { n as ee, t as m } from "./upload.recipes-BbxTqrCT.js";
12
- import { a as te, s as ne } from "./upload-queue-DhQJiSRc.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-DkoqHPPl.js";
14
- import * as S from "react";
15
- import C, { forwardRef as w, useCallback as T, useEffect as E, useId as re, useLayoutEffect as ie, 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";
4
+ import { t as i } from "./utils-DhuoqFy4.js";
5
+ import { n as a } from "./buttons-DeW0bQeK.js";
6
+ import { c as o } from "./typography-C7-YMW1S.js";
7
+ import { h as s, p as c, v as l } from "./smart-card-B6vLxqa_.js";
8
+ import { a as u, i as d } from "./primitives-BkkQjYl7.js";
9
+ import { n as f } from "./field-affordance-recipes-D6H7tVJi.js";
10
+ import { n as p } from "./field-control-attributes-B6i335wr.js";
11
+ import { o as m } from "./item-FfWnaYST.js";
12
+ import { n as ee, t as h } from "./upload.recipes-BbxTqrCT.js";
13
+ import { a as te, s as ne } from "./upload-queue-D0sYPuqo.js";
14
+ import { a as g, c as re, i as ie, n as _, o as v, r as y, t as b } from "./attachment-BCpA4e7i.js";
15
+ import * as x from "react";
16
+ import S, { forwardRef as C, useCallback as w, useEffect as ae, useId as oe, useLayoutEffect as T, useMemo as E, useRef as D, useState as O } from "react";
17
+ import { jsx as k, jsxs as A } from "react/jsx-runtime";
18
+ import { Camera as j, ImageIcon as M, Trash2Icon as N, TriangleAlert as P, UploadIcon as F, X as se } from "lucide-react";
18
19
  //#region src/components/base/upload/file-upload.strings.ts
19
- var F = {
20
+ var I = {
20
21
  instruction: "Drag files here or click to browse",
21
22
  helper: "",
22
23
  browse: "Browse files",
@@ -35,17 +36,17 @@ var F = {
35
36
  };
36
37
  //#endregion
37
38
  //#region src/components/base/upload/file-upload.validation.ts
38
- function I(e) {
39
+ function L(e) {
39
40
  return `${e.name}\u0000${e.size}\u0000${e.type}\u0000${e.lastModified}`;
40
41
  }
41
- function ce(e, t) {
42
+ function R(e, t) {
42
43
  if (!t?.trim()) return !0;
43
44
  let n = e.name.toLowerCase(), r = e.type.toLowerCase();
44
45
  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
46
  }
46
- function L(e, t) {
47
+ function z(e, t) {
47
48
  let { accept: n, minSizeBytes: r, maxSizeBytes: i, validateFile: a, formatSize: o, strings: s } = t;
48
- if (!ce(e, n)) return {
49
+ if (!R(e, n)) return {
49
50
  file: e,
50
51
  code: "invalid-type",
51
52
  message: s.invalidType(e.name, n ?? "")
@@ -74,10 +75,10 @@ function L(e, t) {
74
75
  };
75
76
  }
76
77
  }
77
- function le({ 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 = [];
78
+ function ce({ incoming: e, current: t, accept: n, minSizeBytes: r, maxSizeBytes: i, maxFiles: a, append: o, validateFile: s, formatSize: c, strings: l }) {
79
+ let u = o ? [...t] : [], d = new Set(u.map(L)), f = [], p = [];
79
80
  for (let t of e) {
80
- let e = L(t, {
81
+ let e = z(t, {
81
82
  accept: n,
82
83
  minSizeBytes: r,
83
84
  maxSizeBytes: i,
@@ -89,7 +90,7 @@ function le({ incoming: e, current: t, accept: n, minSizeBytes: r, maxSizeBytes:
89
90
  p.push(e);
90
91
  continue;
91
92
  }
92
- let o = I(t);
93
+ let o = L(t);
93
94
  if (d.has(o)) {
94
95
  p.push({
95
96
  file: t,
@@ -116,40 +117,40 @@ function le({ incoming: e, current: t, accept: n, minSizeBytes: r, maxSizeBytes:
116
117
  }
117
118
  //#endregion
118
119
  //#region src/components/base/upload/file-upload.tsx
119
- function R(e) {
120
+ function le(e) {
120
121
  return Object.prototype.hasOwnProperty.call(e, "value");
121
122
  }
122
- function ue(e) {
123
+ function B(e) {
123
124
  return e === void 0 || !Number.isFinite(e) ? 2 ** 53 - 1 : Math.max(1, Math.floor(e));
124
125
  }
125
- function de(e, t) {
126
+ function V(e, t) {
126
127
  return `${e.name}-${e.size}-${e.type}-${e.lastModified}-${t}`;
127
128
  }
128
- function z(e, t, n) {
129
+ function H(e, t, n) {
129
130
  t.current = e, typeof n == "function" ? n(e) : n && (n.current = e);
130
131
  }
131
- function fe({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, showReplace: c, onReplace: l, onRemove: u }) {
132
+ function ue({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, showReplace: c, onReplace: l, onRemove: u }) {
132
133
  let f = s.replaceFileAria(e.name), p = s.removeFileAria(e.name);
133
- return /* @__PURE__ */ j(x, {
134
+ return /* @__PURE__ */ A(b, {
134
135
  variant: "outline",
135
136
  size: r,
136
137
  className: "file-upload--file flex-nowrap bg-card text-card-foreground",
137
138
  children: [
138
- /* @__PURE__ */ A(y, {
139
+ /* @__PURE__ */ k(v, {
139
140
  variant: "icon",
140
141
  className: "file-upload--file-media self-center group-has-data-[slot=item-description]/item:self-center",
141
- children: /* @__PURE__ */ A(h, { name: e.name })
142
+ children: /* @__PURE__ */ k(g, { name: e.name })
142
143
  }),
143
- /* @__PURE__ */ j(b, {
144
+ /* @__PURE__ */ A(y, {
144
145
  className: "file-upload--file-content min-w-0",
145
- children: [/* @__PURE__ */ A(g, {
146
+ children: [/* @__PURE__ */ k(re, {
146
147
  className: "file-upload--file-name truncate",
147
148
  title: e.name,
148
149
  children: e.name
149
- }), /* @__PURE__ */ A(_, {
150
+ }), /* @__PURE__ */ k(ie, {
150
151
  className: "file-upload--file-size",
151
152
  clamp: 1,
152
- children: /* @__PURE__ */ A(d, {
153
+ children: /* @__PURE__ */ k(d, {
153
154
  value: e.size,
154
155
  locale: i,
155
156
  size: "xs",
@@ -158,28 +159,28 @@ function fe({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, sh
158
159
  })
159
160
  })]
160
161
  }),
161
- /* @__PURE__ */ j(v, {
162
+ /* @__PURE__ */ A(_, {
162
163
  className: "file-upload--actions gap-space-xs",
163
- children: [c && /* @__PURE__ */ A(a, {
164
+ children: [c && /* @__PURE__ */ k(a, {
164
165
  type: "button",
165
166
  tone: "secondary",
166
167
  buttonStyle: "ghost",
167
168
  size: "sm",
168
169
  iconOnly: !0,
169
- icon: P,
170
+ icon: F,
170
171
  "aria-label": f,
171
172
  title: f,
172
173
  disabled: n,
173
174
  onClick: l,
174
- children: /* @__PURE__ */ A(o, {
175
+ children: /* @__PURE__ */ k(o, {
175
176
  tag: "span",
176
177
  size: "inherit",
177
178
  className: "sr-only",
178
179
  children: s.replace
179
180
  })
180
- }), /* @__PURE__ */ A(a, {
181
+ }), /* @__PURE__ */ k(a, {
181
182
  type: "button",
182
- tone: "destructive",
183
+ tone: "secondary",
183
184
  buttonStyle: "ghost",
184
185
  size: "sm",
185
186
  iconOnly: !0,
@@ -188,7 +189,8 @@ function fe({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, sh
188
189
  title: p,
189
190
  disabled: n,
190
191
  onClick: () => u(t),
191
- children: /* @__PURE__ */ A(o, {
192
+ className: "file-upload--remove text-muted-foreground hover:text-destructive focus-visible:text-destructive",
193
+ children: /* @__PURE__ */ k(o, {
192
194
  tag: "span",
193
195
  size: "inherit",
194
196
  className: "sr-only",
@@ -199,209 +201,213 @@ function fe({ file: e, index: t, disabled: n, size: r, locale: i, strings: s, sh
199
201
  ]
200
202
  });
201
203
  }
202
- function B(d, f) {
203
- let { accept: h, disabled: g = !1, invalid: _ = !1, size: v, minSizeBytes: y, maxSizeBytes: b, validateFile: x, onRejectedFiles: S, className: C, strings: w, multiple: E = !1, value: M, defaultValue: ae, onValueChange: N, selectionMode: P, maxFiles: se, "aria-describedby": I, "aria-invalid": ce, ...L } = d, B = r(F, w), { defaultScale: V } = t(), { locale: H } = e(), U = n(v, V), W = R(d), [pe, me] = k(() => d.multiple ? [...d.defaultValue ?? []] : d.defaultValue ? [d.defaultValue] : []), [G, he] = k([]), K = O(null), q = O(null), J = O(!1), Y = O(!1), ge = re(), X = D(() => W ? d.multiple ? d.value ?? [] : d.value ? [d.value] : [] : pe, [
204
- W,
204
+ function de(d, f) {
205
+ let { accept: p, disabled: g = !1, invalid: re = !1, size: ie, minSizeBytes: _, maxSizeBytes: v, validateFile: y, onRejectedFiles: b, className: x, strings: S, multiple: C = !1, value: ae, defaultValue: j, onValueChange: M, selectionMode: N, maxFiles: F, "aria-describedby": se, "aria-invalid": L, ...R } = d, z = r(I, S), { defaultScale: de } = t(), { locale: U } = n(), W = e(ie, de), G = le(d), [fe, pe] = O(() => d.multiple ? [...d.defaultValue ?? []] : d.defaultValue ? [d.defaultValue] : []), [K, q] = O([]), J = D(null), Y = D(null), X = D(!1), me = D(!1), he = oe(), Z = E(() => G ? d.multiple ? d.value ?? [] : d.value ? [d.value] : [] : fe, [
206
+ G,
205
207
  d.multiple,
206
208
  d.value,
207
- pe
209
+ fe
208
210
  ]);
209
- ie(() => {
210
- if (!J.current) return;
211
- let e = q.current?.querySelector(".file-upload--actions button, .file-upload--dropzone input[type=file], .file-upload--dropzone button");
212
- e && (e.focus(), J.current = !1);
213
- }, [X]);
214
- let _e = d.multiple ? d : void 0, ve = E ? ue(_e?.maxFiles) : 1, Z = E && (_e?.selectionMode ?? "append") === "append", ye = `${L.id ?? `file-upload-${ge}`}-errors`, be = [I, G.length > 0 ? ye : void 0].filter(Boolean).join(" ") || void 0, Q = _ || G.length > 0, $ = T((e) => {
215
- if (W || me(e), d.multiple) d.onValueChange?.(e);
211
+ T(() => {
212
+ if (!X.current) return;
213
+ let e = Y.current?.querySelector(".file-upload--actions button, .file-upload--dropzone input[type=file], .file-upload--dropzone button");
214
+ e && (e.focus(), X.current = !1);
215
+ }, [Z]);
216
+ let ge = d.multiple ? d : void 0, _e = C ? B(ge?.maxFiles) : 1, ve = C && (ge?.selectionMode ?? "append") === "append", ye = `${R.id ?? `file-upload-${he}`}-errors`, be = [se, K.length > 0 ? ye : void 0].filter(Boolean).join(" ") || void 0, Q = re || K.length > 0, $ = w((e) => {
217
+ if (G || pe(e), d.multiple) d.onValueChange?.(e);
216
218
  else {
217
219
  let t = e[0];
218
220
  d.onValueChange?.(t);
219
221
  }
220
- }, [W, d]), xe = T((e) => u(e, { locale: H }) ?? `${e} B`, [H]), Se = T((e) => {
222
+ }, [G, d]), xe = w((e) => u(e, { locale: U }) ?? `${e} B`, [U]), Se = w((e) => {
221
223
  if (g || e.length === 0) return !1;
222
- let t = le({
224
+ let t = ce({
223
225
  incoming: e,
224
- current: X,
225
- accept: h,
226
- minSizeBytes: y,
227
- maxSizeBytes: b,
228
- maxFiles: ve,
229
- append: Z,
230
- validateFile: x,
226
+ current: Z,
227
+ accept: p,
228
+ minSizeBytes: _,
229
+ maxSizeBytes: v,
230
+ maxFiles: _e,
231
+ append: ve,
232
+ validateFile: y,
231
233
  formatSize: xe,
232
- strings: B
234
+ strings: z
233
235
  });
234
- return he(t.rejections), t.rejections.length > 0 && S?.(t.rejections), t.accepted.length !== 0 && (J.current = !E && (Y.current || !!q.current?.contains(document.activeElement)), Y.current = !1, $(t.nextFiles), t.rejections.length === 0);
236
+ return q(t.rejections), t.rejections.length > 0 && b?.(t.rejections), t.accepted.length !== 0 && (X.current = !C && (me.current || !!Y.current?.contains(document.activeElement)), me.current = !1, $(t.nextFiles), t.rejections.length === 0);
235
237
  }, [
236
- h,
237
- Z,
238
+ p,
239
+ ve,
238
240
  $,
239
241
  g,
240
- E,
241
- X,
242
+ C,
243
+ Z,
242
244
  xe,
243
- ve,
245
+ _e,
246
+ v,
247
+ _,
244
248
  b,
245
- y,
246
- S,
247
- B,
248
- x
249
- ]), Ce = T(() => {
250
- K.current && (K.current.value = "");
251
- }, []), we = T((e) => {
252
- g || (he([]), Ce(), J.current = !!q.current?.contains(document.activeElement), $(X.filter((t, n) => n !== e)));
249
+ z,
250
+ y
251
+ ]), Ce = w(() => {
252
+ J.current && (J.current.value = "");
253
+ }, []), we = w((e) => {
254
+ g || (q([]), Ce(), X.current = !!Y.current?.contains(document.activeElement), $(Z.filter((t, n) => n !== e)));
253
255
  }, [
254
256
  Ce,
255
257
  $,
256
258
  g,
257
- X
258
- ]), Te = T(() => {
259
- g || (Y.current = !!q.current?.contains(document.activeElement), K.current?.click());
259
+ Z
260
+ ]), Te = w(() => {
261
+ g || (me.current = !!Y.current?.contains(document.activeElement), J.current?.click());
260
262
  }, [g]), { isDragging: Ee, dropTargetProps: De } = ee({
261
263
  disabled: g,
262
264
  onFiles: Se
263
265
  }), Oe = {
264
- ...L,
265
- accept: h,
266
- multiple: E,
266
+ ...R,
267
+ accept: p,
268
+ multiple: C,
267
269
  disabled: g,
268
270
  "aria-describedby": be,
269
- "aria-invalid": Q ? !0 : ce
270
- }, ke = /* @__PURE__ */ A(te, {
271
- ref: (e) => z(e, K, f),
271
+ "aria-invalid": Q ? !0 : L
272
+ }, ke = /* @__PURE__ */ k(te, {
273
+ ref: (e) => H(e, J, f),
272
274
  onDrop: Se,
273
- accept: h,
274
- multiple: E,
275
+ accept: p,
276
+ multiple: C,
275
277
  disabled: g,
276
278
  invalid: Q,
277
- size: U,
279
+ size: W,
278
280
  className: "file-upload--dropzone",
279
281
  inputProps: Oe,
280
282
  strings: {
281
- instruction: B.instruction,
282
- helper: B.helper,
283
- dragOver: B.dragOver
283
+ instruction: z.instruction,
284
+ helper: z.helper,
285
+ dragOver: z.dragOver
284
286
  },
285
- children: /* @__PURE__ */ A(a, {
287
+ children: /* @__PURE__ */ k(a, {
286
288
  type: "button",
287
289
  tone: "secondary",
288
290
  buttonStyle: "outline",
289
- size: U,
291
+ size: W,
290
292
  disabled: g,
291
293
  className: "disabled:opacity-100 aria-disabled:opacity-100",
292
294
  onClick: Te,
293
- children: B.browse
295
+ children: z.browse
294
296
  })
295
297
  });
296
- return /* @__PURE__ */ j("div", {
297
- ref: q,
298
+ return /* @__PURE__ */ A("div", {
299
+ ref: Y,
298
300
  "data-disabled": g || void 0,
299
301
  "data-invalid": Q || void 0,
300
- className: i("file-upload--component grid gap-space-md", C),
302
+ className: i("file-upload--component grid gap-space-md", x),
301
303
  children: [
302
- (E || X.length === 0) && ke,
303
- !E && X[0] && /* @__PURE__ */ j("div", {
304
+ (C || Z.length === 0) && ke,
305
+ !C && Z[0] && /* @__PURE__ */ A("div", {
304
306
  ...De,
305
307
  "data-dragging": Ee || void 0,
306
308
  "data-invalid": Q || void 0,
307
- className: i("file-upload--selected rounded-radius transition-shadow", Q && "[&_.file-upload--file]:border-destructive", !g && Ee && (Q ? m.invalidDraggingRing : m.draggingRing)),
308
- children: [/* @__PURE__ */ A(ne, {
309
+ className: i("file-upload--selected rounded-radius transition-shadow", Q && "[&_.file-upload--file]:border-destructive", !g && Ee && (Q ? h.invalidDraggingRing : h.draggingRing)),
310
+ children: [/* @__PURE__ */ k(ne, {
309
311
  ...Oe,
310
- ref: (e) => z(e, K, f),
312
+ ref: (e) => H(e, J, f),
311
313
  tabIndex: -1,
312
314
  className: "file-upload--input",
313
315
  onFiles: Se
314
- }), /* @__PURE__ */ A(fe, {
315
- file: X[0],
316
+ }), /* @__PURE__ */ k(ue, {
317
+ file: Z[0],
316
318
  index: 0,
317
319
  disabled: g,
318
- size: U,
319
- locale: H,
320
- strings: B,
320
+ size: W,
321
+ locale: U,
322
+ strings: z,
321
323
  showReplace: !0,
322
324
  onReplace: Te,
323
325
  onRemove: we
324
326
  })]
325
327
  }),
326
- E && X.length > 0 && /* @__PURE__ */ A(p, {
328
+ C && Z.length > 0 && /* @__PURE__ */ k(m, {
327
329
  className: "file-upload--files",
328
- children: X.map((e, t) => /* @__PURE__ */ A(fe, {
330
+ children: Z.map((e, t) => /* @__PURE__ */ k(ue, {
329
331
  file: e,
330
332
  index: t,
331
333
  disabled: g,
332
- size: U,
333
- locale: H,
334
- strings: B,
334
+ size: W,
335
+ locale: U,
336
+ strings: z,
335
337
  showReplace: !1,
336
338
  onReplace: Te,
337
339
  onRemove: we
338
- }, de(e, t)))
340
+ }, V(e, t)))
339
341
  }),
340
- G.length > 0 && /* @__PURE__ */ j(c, {
342
+ K.length > 0 && /* @__PURE__ */ A(c, {
341
343
  id: ye,
342
344
  tone: "destructive",
343
345
  "aria-live": "polite",
344
- className: i("file-upload--errors", U === "sm" && "p-surface-xs"),
346
+ className: i("file-upload--errors", W === "sm" && "p-surface-xs"),
345
347
  children: [
346
- /* @__PURE__ */ A(oe, { "aria-hidden": "true" }),
347
- /* @__PURE__ */ A(l, { children: B.errorsHeading }),
348
- /* @__PURE__ */ A(s, { children: /* @__PURE__ */ A("ul", {
348
+ /* @__PURE__ */ k(P, { "aria-hidden": "true" }),
349
+ /* @__PURE__ */ k(l, { children: z.errorsHeading }),
350
+ /* @__PURE__ */ k(s, { children: /* @__PURE__ */ k("ul", {
349
351
  className: "m-0 p-0 list-none grid gap-space-2xs",
350
- children: G.map((e, t) => /* @__PURE__ */ A("li", {
352
+ children: K.map((e, t) => /* @__PURE__ */ k("li", {
351
353
  className: "file-upload--error",
352
- children: /* @__PURE__ */ A(o, {
354
+ children: /* @__PURE__ */ k(o, {
353
355
  tag: "span",
354
356
  size: "xs",
355
357
  type: "error",
356
358
  children: e.message
357
359
  })
358
- }, `${e.code}-${de(e.file, t)}`))
360
+ }, `${e.code}-${V(e.file, t)}`))
359
361
  }) })
360
362
  ]
361
363
  })
362
364
  ]
363
365
  });
364
366
  }
365
- var V = w(B);
366
- V.displayName = "FileUpload";
367
+ var U = C(de);
368
+ U.displayName = "FileUpload";
367
369
  //#endregion
368
370
  //#region src/hooks/use-files.ts
369
- var H = [
371
+ var W = [
370
372
  "B",
371
373
  "KB",
372
374
  "MB",
373
375
  "GB",
374
376
  "TB"
375
377
  ];
376
- function U(e) {
378
+ function G(e) {
377
379
  if (!Number.isFinite(e) || e <= 0) return "0 B";
378
- let t = Math.min(Math.floor(Math.log(e) / Math.log(1024)), H.length - 1), n = e / 1024 ** t;
379
- return `${t === 0 ? n.toFixed(0) : Number(n.toFixed(1)).toString()} ${H[t]}`;
380
+ let t = Math.min(Math.floor(Math.log(e) / Math.log(1024)), W.length - 1), n = e / 1024 ** t;
381
+ return `${t === 0 ? n.toFixed(0) : Number(n.toFixed(1)).toString()} ${W[t]}`;
380
382
  }
381
- var W = 0;
383
+ var fe = 0;
382
384
  function pe() {
383
- return `${Date.now().toString(36)}-${(W++).toString(36)}`;
385
+ return `${Date.now().toString(36)}-${(fe++).toString(36)}`;
384
386
  }
385
- function me(e) {
387
+ function K(e) {
386
388
  return e.name.split(".").pop()?.toLowerCase() ?? "";
387
389
  }
388
- function G(e) {
390
+ function q(e) {
389
391
  return `${e.name}\u0000${e.size}\u0000${e.type}\u0000${e.lastModified}`;
390
392
  }
391
- function he(e) {
393
+ function J(e) {
392
394
  return {
393
395
  id: pe(),
394
396
  file: e,
395
397
  name: e.name,
396
398
  size: e.size,
397
- formattedSize: U(e.size),
399
+ formattedSize: G(e.size),
398
400
  type: e.type,
399
- extension: me(e),
401
+ extension: K(e),
400
402
  lastModified: e.lastModified
401
403
  };
402
404
  }
403
- function K(e, t) {
404
- let n = me(e);
405
+ function Y(e, t, n) {
406
+ let r = n.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean), i = e.name.toLowerCase(), a = e.type.toLowerCase();
407
+ return r.length === 0 || r.some((e) => e.startsWith(".") ? i.endsWith(e) : e.endsWith("/*") ? a.startsWith(e.slice(0, -1)) : e.includes("/") ? a === e : t === e);
408
+ }
409
+ function X(e, t) {
410
+ let n = K(e);
405
411
  if (t?.minSize !== void 0 && e.size < t.minSize) return {
406
412
  file: e,
407
413
  code: "too-small",
@@ -412,7 +418,7 @@ function K(e, t) {
412
418
  code: "too-large",
413
419
  details: { maximumBytes: t.maxSize }
414
420
  };
415
- if (t?.allowedExtensions && !t.allowedExtensions.some((e) => e.toLowerCase().replace(/^\./, "") === n)) return {
421
+ if (t?.accept && !Y(e, n, t.accept) || t?.allowedExtensions && !t.allowedExtensions.some((e) => e.toLowerCase().replace(/^\./, "") === n)) return {
416
422
  file: e,
417
423
  code: "invalid-type",
418
424
  details: { extension: n }
@@ -431,14 +437,14 @@ function K(e, t) {
431
437
  };
432
438
  }
433
439
  }
434
- function q(e) {
440
+ function me(e) {
435
441
  return Object.fromEntries(e.map((e) => [e.file.name, e]));
436
442
  }
437
- function J(e) {
438
- let [t, n] = k([]), r = O([]), [i, a] = k([]), o = T(U, []), s = T((t, i) => {
439
- let o = Array.isArray(t) ? t : Array.from(t), s = r.current, c = i ? [] : [...s], l = new Set(c.map((e) => G(e.file))), u = [], d = [];
443
+ function he(e) {
444
+ let [t, n] = O([]), r = D([]), [i, a] = O([]), o = w(G, []), s = w((t, i) => {
445
+ let o = Array.isArray(t) ? t : Array.from(t), s = r.current, c = i ? [] : [...s], l = new Set(c.map((e) => q(e.file))), u = [], d = [];
440
446
  for (let t of o) {
441
- let n = G(t);
447
+ let n = q(t);
442
448
  if (l.has(n)) {
443
449
  d.push({
444
450
  file: t,
@@ -447,7 +453,7 @@ function J(e) {
447
453
  });
448
454
  continue;
449
455
  }
450
- let r = K(t, e);
456
+ let r = X(t, e);
451
457
  if (r) {
452
458
  d.push(r);
453
459
  continue;
@@ -460,7 +466,7 @@ function J(e) {
460
466
  });
461
467
  continue;
462
468
  }
463
- let i = he(t);
469
+ let i = J(t);
464
470
  u.push(i), c.push(i), l.add(n);
465
471
  }
466
472
  return i && u.length === 0 && d.length > 0 && (c = s), r.current = c, n(c), a(d), {
@@ -471,28 +477,28 @@ function J(e) {
471
477
  }, [e]);
472
478
  return {
473
479
  files: t,
474
- addFiles: T((e) => s(e, !1), [s]),
475
- setFiles: T((e) => s(e, !0), [s]),
476
- remove: T((e) => {
480
+ addFiles: w((e) => s(e, !1), [s]),
481
+ setFiles: w((e) => s(e, !0), [s]),
482
+ remove: w((e) => {
477
483
  let t = r.current.filter((t) => t.id !== e);
478
484
  r.current = t, n(t);
479
485
  }, []),
480
- removeAll: T(() => {
486
+ removeAll: w(() => {
481
487
  r.current = [], n([]), a([]);
482
488
  }, []),
483
489
  formatSize: o,
484
- validationErrors: q(i),
490
+ validationErrors: me(i),
485
491
  rejections: i
486
492
  };
487
493
  }
488
494
  //#endregion
489
495
  //#region src/components/base/upload/image-upload.tsx
490
- var Y = 2, ge = {
496
+ var Z = 2, ge = {
491
497
  square: "aspect-square",
492
498
  standard: "aspect-[4/3]",
493
499
  widescreen: "aspect-[16/9]",
494
500
  portrait: "aspect-[9/16]"
495
- }, X = {
501
+ }, _e = {
496
502
  select: "Select image",
497
503
  change: "Change image",
498
504
  remove: "Remove",
@@ -508,7 +514,7 @@ var Y = 2, ge = {
508
514
  customValidationFailed: (e) => `${e} did not pass validation.`,
509
515
  moreFiles: (e) => `+ ${e} more file${e === 1 ? "" : "s"}`
510
516
  };
511
- function _e(e, t, n) {
517
+ function ve(e, t, n) {
512
518
  let { file: r, code: i, details: a } = e;
513
519
  switch (i) {
514
520
  case "invalid-type": return t.invalidType(r.name, a.extension ?? "");
@@ -519,8 +525,8 @@ function _e(e, t, n) {
519
525
  case "custom": return a.customMessage ?? t.customValidationFailed(r.name);
520
526
  }
521
527
  }
522
- 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) {
523
- let g = r(X, ne), _ = re(), v = O(null), y = D(() => {
528
+ function ye({ 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: m = "stacked", invalid: te, strings: ne, id: g, "aria-label": re, "aria-labelledby": ie, "aria-describedby": _, "aria-invalid": v }, y) {
529
+ let b = r(_e, ne), { invalid: x, ariaInvalid: S } = p(te, v), C = oe(), T = D(null), j = E(() => {
524
530
  if (!e) return [
525
531
  "png",
526
532
  "jpg",
@@ -538,168 +544,173 @@ function ve({ accept: e = ".png,.jpg,.jpeg,.gif,.svg", multiple: t = !1, value:
538
544
  return e.toLowerCase();
539
545
  }).filter((e) => !!e);
540
546
  if (t.length !== 0) return Array.from(new Set(t));
541
- }, [e]), { files: b, setFiles: x, remove: S, removeAll: C, formatSize: w, rejections: ie } = J(D(() => ({
547
+ }, [e]), { files: N, setFiles: P, remove: F, removeAll: se, formatSize: I, rejections: L } = he(E(() => ({
542
548
  maxFiles: t ? void 0 : 1,
543
- maxSize: Y * 1024 * 1024,
544
- allowedExtensions: y
545
- }), [t, y]));
546
- E(() => {
547
- n ? x([n]) : (C(), v.current && (v.current.value = ""));
549
+ maxSize: Z * 1024 * 1024,
550
+ allowedExtensions: j
551
+ }), [t, j]));
552
+ ae(() => {
553
+ n ? P([n]) : (se(), T.current && (T.current.value = ""));
548
554
  }, [
549
555
  n,
550
- x,
551
- C
556
+ P,
557
+ se
552
558
  ]);
553
- 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]);
554
- E(() => {
555
- let e = M?.file ?? n;
559
+ let R = N[0], z = R ? b.change : b.select, [ce, le] = O(void 0), B = E(() => !j || j.length === 0 ? null : j.map((e) => e.toUpperCase()).join(", "), [j]);
560
+ ae(() => {
561
+ let e = R?.file ?? n;
556
562
  if (!e) {
557
- P(void 0);
563
+ le(void 0);
558
564
  return;
559
565
  }
560
566
  let t = URL.createObjectURL(e);
561
- return P(t), () => URL.revokeObjectURL(t);
562
- }, [M, n]);
563
- let F = oe ?? l, I = !!F, ce = M?.name ?? g.previewAlt ?? X.previewAlt, L = ge[u] ?? ge.square, le = d === "contain" ? "object-contain p-space-sm" : "object-cover", R = f ? typeof f == "number" ? `${f}px` : f : "240px", ue = p === "inline" ? void 0 : { maxWidth: R }, de = p === "inline" ? {
564
- maxWidth: f ? R : "185px",
567
+ return le(t), () => URL.revokeObjectURL(t);
568
+ }, [R, n]);
569
+ let V = ce ?? l, H = !!V, ue = R?.name ?? b.previewAlt ?? _e.previewAlt, de = ge[u] ?? ge.square, U = d === "contain" ? "object-contain p-space-sm" : "object-cover", W = f ? typeof f == "number" ? `${f}px` : f : "240px", G = m === "inline" ? void 0 : { maxWidth: W }, fe = m === "inline" ? {
570
+ maxWidth: f ? W : "185px",
565
571
  width: "100%"
566
- } : void 0, z = T((e) => {
572
+ } : void 0, pe = w((e) => {
567
573
  if (c || e.length === 0) return;
568
- let t = x(e).accepted[0]?.file;
574
+ let t = P(e).accepted[0]?.file;
569
575
  t && s?.(t);
570
576
  }, [
571
577
  c,
572
- x,
578
+ P,
573
579
  s
574
- ]), fe = T((e) => {
575
- z(Array.from(e.target.files ?? []));
576
- }, [z]), { isDragging: B, dropTargetProps: V } = ee({
580
+ ]), K = w((e) => {
581
+ pe(Array.from(e.target.files ?? []));
582
+ }, [pe]), { isDragging: q, dropTargetProps: J } = ee({
577
583
  disabled: c,
578
- onFiles: z
579
- }), H = T(() => {
580
- c || v.current?.click();
581
- }, [c]), U = T(() => {
582
- M && S(M.id), s?.(void 0), v.current && (v.current.value = "");
584
+ onFiles: pe
585
+ }), Y = w(() => {
586
+ c || T.current?.click();
587
+ }, [c]), X = w(() => {
588
+ R && F(R.id), s?.(void 0), T.current && (T.current.value = "");
583
589
  }, [
584
- M,
585
- S,
590
+ R,
591
+ F,
586
592
  s
587
593
  ]);
588
- return /* @__PURE__ */ j("div", {
594
+ return /* @__PURE__ */ A("div", {
589
595
  className: i("image-upload--component", "grid gap-space-md"),
590
- style: ue,
596
+ style: G,
591
597
  children: [
592
- /* @__PURE__ */ A("input", {
598
+ /* @__PURE__ */ k("input", {
593
599
  ref: (e) => {
594
- v.current = e, typeof h == "function" ? h(e) : h && (h.current = e);
600
+ T.current = e, typeof y == "function" ? y(e) : y && (y.current = e);
595
601
  },
596
- id: _,
602
+ id: C,
597
603
  type: "file",
598
604
  className: "sr-only",
599
605
  tabIndex: -1,
600
- "aria-label": N,
606
+ "aria-label": z,
601
607
  accept: e,
602
608
  multiple: t,
603
609
  disabled: c,
604
- onChange: fe
610
+ onChange: K
605
611
  }),
606
- /* @__PURE__ */ j("div", {
607
- className: i(p === "inline" ? "flex flex-wrap items-start gap-space-xl" : "grid gap-space-md"),
608
- children: [/* @__PURE__ */ A("div", {
609
- ...V,
610
- "data-dragging": B || void 0,
611
- className: i("relative overflow-hidden rounded-radius border transition-colors", p === "inline" ? "flex-shrink-0 w-full" : "w-full", L, I ? "border-border bg-muted" : i("border-dashed bg-background text-muted-foreground", m.idle), te && m.invalid, !c && B && m.dragging),
612
- style: de,
613
- children: I && F ? /* @__PURE__ */ A("img", {
614
- src: F,
615
- alt: ce,
616
- className: i("absolute inset-0 box-border h-full w-full", le)
617
- }) : /* @__PURE__ */ A("div", {
612
+ /* @__PURE__ */ A("div", {
613
+ className: i(m === "inline" ? "flex flex-wrap items-start gap-space-xl" : "grid gap-space-md"),
614
+ children: [/* @__PURE__ */ k("div", {
615
+ ...J,
616
+ "data-dragging": q || void 0,
617
+ className: i("relative overflow-hidden rounded-surface border transition-colors", m === "inline" ? "flex-shrink-0 w-full" : "w-full", de, H ? "border-border bg-muted" : i("border-dashed bg-background text-muted-foreground", h.idle), x && h.invalid, !c && q && h.dragging),
618
+ style: fe,
619
+ children: H && V ? /* @__PURE__ */ k("img", {
620
+ src: V,
621
+ alt: ue,
622
+ className: i("absolute inset-0 box-border h-full w-full", U)
623
+ }) : /* @__PURE__ */ k("div", {
618
624
  className: "absolute inset-0 flex items-center justify-center",
619
- children: /* @__PURE__ */ A(ae, {
625
+ children: /* @__PURE__ */ k(M, {
620
626
  "aria-hidden": !0,
621
627
  className: "size-icon-lg"
622
628
  })
623
629
  })
624
- }), /* @__PURE__ */ j("div", {
625
- className: i("grid gap-space-sm", p === "inline" && "flex-1 min-w-0 basis-40"),
630
+ }), /* @__PURE__ */ A("div", {
631
+ className: i("grid gap-space-sm", m === "inline" && "flex-1 min-w-0 basis-40"),
626
632
  children: [
627
- /* @__PURE__ */ j("div", {
633
+ /* @__PURE__ */ A("div", {
628
634
  className: "flex flex-wrap items-center gap-space-md",
629
- children: [/* @__PURE__ */ A(a, {
635
+ children: [/* @__PURE__ */ k(a, {
630
636
  type: "button",
637
+ id: g,
638
+ "aria-label": re,
639
+ "aria-labelledby": ie,
640
+ "aria-describedby": _,
641
+ "aria-invalid": S,
631
642
  tone: "secondary",
632
643
  buttonStyle: "outline",
633
- onClick: H,
644
+ onClick: Y,
634
645
  disabled: c,
635
- children: N
636
- }), !M && !!I && /* @__PURE__ */ A(o, {
646
+ children: z
647
+ }), !R && !!H && /* @__PURE__ */ k(o, {
637
648
  size: "xs",
638
649
  type: "secondary",
639
- children: g.keepCurrent
650
+ children: b.keepCurrent
640
651
  })]
641
652
  }),
642
- !!se && /* @__PURE__ */ A(o, {
653
+ !!B && /* @__PURE__ */ k(o, {
643
654
  size: "xs",
644
655
  type: "secondary",
645
- children: g.supportsTemplate.replace("{ext}", se).replace("{size}", String(Y))
656
+ children: b.supportsTemplate.replace("{ext}", B).replace("{size}", String(Z))
646
657
  }),
647
- !!M && /* @__PURE__ */ j("div", {
658
+ !!R && /* @__PURE__ */ A("div", {
648
659
  className: "grid gap-space-2xs",
649
660
  children: [
650
- /* @__PURE__ */ A(o, {
661
+ /* @__PURE__ */ k(o, {
651
662
  weight: "medium",
652
- title: M.name,
663
+ title: R.name,
653
664
  className: "truncate",
654
- children: M.name
665
+ children: R.name
655
666
  }),
656
- /* @__PURE__ */ A(o, {
667
+ /* @__PURE__ */ k(o, {
657
668
  size: "xs",
658
669
  type: "secondary",
659
- children: M.formattedSize
670
+ children: R.formattedSize
660
671
  }),
661
- !!t && b.length > 1 && /* @__PURE__ */ A(o, {
672
+ !!t && N.length > 1 && /* @__PURE__ */ k(o, {
662
673
  size: "xs",
663
674
  type: "secondary",
664
- children: g.moreFiles(b.length - 1)
675
+ children: b.moreFiles(N.length - 1)
665
676
  }),
666
- /* @__PURE__ */ A(a, {
677
+ /* @__PURE__ */ k(a, {
667
678
  type: "button",
668
679
  tone: "destructive",
669
680
  buttonStyle: "ghost",
670
681
  size: "sm",
671
- onClick: U,
682
+ onClick: X,
672
683
  className: "justify-self-start",
673
- children: g.remove
684
+ children: b.remove
674
685
  })
675
686
  ]
676
687
  }),
677
- !M && !I && /* @__PURE__ */ A(o, {
688
+ !R && !H && /* @__PURE__ */ k(o, {
678
689
  size: "xs",
679
690
  type: "secondary",
680
- children: g.noSelection
691
+ children: b.noSelection
681
692
  })
682
693
  ]
683
694
  })]
684
695
  }),
685
- ie.length > 0 && /* @__PURE__ */ A("div", {
696
+ L.length > 0 && /* @__PURE__ */ k("div", {
686
697
  className: "image-upload--errors grid gap-space-2xs",
687
698
  role: "alert",
688
699
  "aria-live": "polite",
689
- children: ie.map((e, t) => /* @__PURE__ */ A(o, {
700
+ children: L.map((e, t) => /* @__PURE__ */ k(o, {
690
701
  size: "xs",
691
702
  type: "error",
692
- children: _e(e, g, w)
703
+ children: ve(e, b, I)
693
704
  }, `${e.file.name}-${e.code}-${t}`))
694
705
  })
695
706
  ]
696
707
  });
697
708
  }
698
- var Z = C.forwardRef(ve);
699
- Z.displayName = "ImageUpload";
709
+ var be = S.forwardRef(ye);
710
+ be.displayName = "ImageUpload";
700
711
  //#endregion
701
712
  //#region src/components/base/upload/avatar-upload.tsx
702
- var ye = {
713
+ var Q = {
703
714
  change: "Change photo",
704
715
  remove: "Remove photo",
705
716
  hint: "Click or drop an image",
@@ -711,7 +722,7 @@ var ye = {
711
722
  duplicate: (e) => `${e} is already selected.`,
712
723
  customValidationFailed: (e) => `${e} did not pass validation.`
713
724
  };
714
- function be(e, t, n) {
725
+ function $(e, t, n) {
715
726
  let { file: r, code: i, details: a } = e;
716
727
  switch (i) {
717
728
  case "invalid-type": return t.invalidType(r.name, a.extension ?? "");
@@ -722,7 +733,7 @@ function be(e, t, n) {
722
733
  case "custom": return a.customMessage ?? t.customValidationFailed(r.name);
723
734
  }
724
735
  }
725
- var Q = {
736
+ var xe = {
726
737
  sm: {
727
738
  box: "size-upload-avatar-small",
728
739
  icon: "size-icon",
@@ -739,116 +750,118 @@ var Q = {
739
750
  remove: "size-action-lg"
740
751
  }
741
752
  };
742
- function $({ value: e, onValueChange: a, initialPreviewUrl: s, accept: c = ".png,.jpg,.jpeg,.gif,.webp", disabled: l = !1, invalid: u = !1, size: d, className: p, strings: te, initials: ne }, h) {
743
- let { defaultScale: g } = t(), _ = n(d, g), v = r(ye, te), y = re(), b = O(null), x = Q[_], { files: S, setFiles: C, removeAll: w, formatSize: ie, rejections: ae } = J({
753
+ function Se({ value: n, onValueChange: a, initialPreviewUrl: s, accept: c = ".png,.jpg,.jpeg,.gif,.webp", disabled: l = !1, invalid: u, size: d, className: m, strings: te, initials: ne, id: g, "aria-label": re, "aria-labelledby": ie, "aria-describedby": _, "aria-invalid": v }, y) {
754
+ let { defaultScale: b } = t(), x = e(d, b), S = r(Q, te), C = oe(), { invalid: T, ariaInvalid: E } = p(u, v), M = D(null), N = xe[x], { files: P, setFiles: F, removeAll: I, formatSize: L, rejections: R } = he({
744
755
  maxFiles: 1,
745
- allowedExtensions: D(() => c.split(",").map((e) => e.trim().replace(/^\./, "").toLowerCase()).filter(Boolean), [c])
756
+ accept: c
746
757
  });
747
- E(() => {
748
- e ? C([e]) : w();
749
- }, [e]);
750
- let N = S[0], [oe, P] = k(void 0);
751
- E(() => {
752
- let t = N?.file ?? e;
753
- if (!t) {
754
- P(void 0);
758
+ ae(() => {
759
+ n ? F([n]) : I();
760
+ }, [n]);
761
+ let z = P[0], [ce, le] = O(void 0);
762
+ ae(() => {
763
+ let e = z?.file ?? n;
764
+ if (!e) {
765
+ le(void 0);
755
766
  return;
756
767
  }
757
- let n = URL.createObjectURL(t);
758
- return P(n), () => URL.revokeObjectURL(n);
759
- }, [N, e]);
760
- let F = oe ?? s, I = !!F, ce = T((e) => {
768
+ let t = URL.createObjectURL(e);
769
+ return le(t), () => URL.revokeObjectURL(t);
770
+ }, [z, n]);
771
+ let B = ce ?? s, V = !!B, H = w((e) => {
761
772
  let t = e.target.files;
762
773
  if (!t || t.length === 0) return;
763
- let n = C(t).accepted[0]?.file;
764
- n && a?.(n), b.current && (b.current.value = "");
765
- }, [a, C]), L = T(() => {
766
- w(), a?.(void 0), b.current && (b.current.value = "");
767
- }, [a, w]), le = T((e) => {
768
- let t = C(e).accepted[0]?.file;
774
+ let n = F(t).accepted[0]?.file;
775
+ n && a?.(n), M.current && (M.current.value = "");
776
+ }, [a, F]), ue = w(() => {
777
+ I(), a?.(void 0), M.current && (M.current.value = "");
778
+ }, [a, I]), de = w((e) => {
779
+ let t = F(e).accepted[0]?.file;
769
780
  t && a?.(t);
770
- }, [a, C]), { isDragging: R, dropTargetProps: ue } = ee({
781
+ }, [a, F]), { isDragging: U, dropTargetProps: W } = ee({
771
782
  disabled: l,
772
- onFiles: le
783
+ onFiles: de
773
784
  });
774
- return /* @__PURE__ */ j("div", {
775
- className: i("avatar-upload--component", "inline-flex w-fit flex-col items-center gap-space-md self-start", p),
785
+ return /* @__PURE__ */ A("div", {
786
+ className: i("avatar-upload--component", "inline-flex w-fit flex-col items-start gap-space-md self-start", m),
776
787
  children: [
777
- /* @__PURE__ */ j("div", {
778
- ...ue,
779
- 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-3", I ? "border-border bg-muted" : i("border-dashed bg-muted", !l && m.hover, m.idle), u ? i(m.invalid, m.focus.input.invalid) : m.focus.input.valid, l && "cursor-not-allowed opacity-50", !l && R && m.dragging, x.box),
788
+ /* @__PURE__ */ A("div", {
789
+ ...W,
790
+ 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-3", V ? "border-border bg-muted" : i("border-dashed bg-muted", !l && h.hover, h.idle), T ? i(h.invalid, h.focus.input.invalid) : h.focus.input.valid, l && "cursor-not-allowed opacity-50", !l && U && h.dragging, N.box),
780
791
  children: [
781
- /* @__PURE__ */ A("input", {
782
- id: y,
792
+ /* @__PURE__ */ k("input", {
793
+ id: g ?? C,
783
794
  ref: (e) => {
784
- b.current = e, typeof h == "function" ? h(e) : h && (h.current = e);
795
+ M.current = e, typeof y == "function" ? y(e) : y && (y.current = e);
785
796
  },
786
797
  type: "file",
787
798
  className: "absolute inset-0 z-10 size-full cursor-pointer opacity-0 disabled:cursor-not-allowed",
788
- "aria-label": v.change,
789
- "aria-invalid": u || void 0,
799
+ "aria-label": re ?? S.change,
800
+ "aria-labelledby": ie,
801
+ "aria-describedby": _,
802
+ "aria-invalid": E,
790
803
  accept: c,
791
804
  disabled: l,
792
- onChange: ce
805
+ onChange: H
793
806
  }),
794
- /* @__PURE__ */ j("div", {
807
+ /* @__PURE__ */ A("div", {
795
808
  className: "pointer-events-none absolute inset-0 flex items-center justify-center overflow-hidden rounded-full",
796
- children: [I && F ? /* @__PURE__ */ A("img", {
797
- src: F,
798
- alt: v.change,
809
+ children: [V && B ? /* @__PURE__ */ k("img", {
810
+ src: B,
811
+ alt: S.change,
799
812
  className: "absolute inset-0 size-full object-cover"
800
- }) : ne ? /* @__PURE__ */ A(o, {
801
- size: _ === "sm" ? "sm" : _ === "lg" ? "lg" : "base",
813
+ }) : ne ? /* @__PURE__ */ k(o, {
814
+ size: x === "sm" ? "sm" : x === "lg" ? "lg" : "base",
802
815
  weight: "medium",
803
816
  lineHeight: "none",
804
817
  children: ne
805
- }) : /* @__PURE__ */ A(M, {
806
- className: i(x.icon, "text-muted-foreground"),
818
+ }) : /* @__PURE__ */ k(j, {
819
+ className: i(N.icon, "text-muted-foreground"),
807
820
  "aria-hidden": "true"
808
- }), !l && I && /* @__PURE__ */ A("div", {
821
+ }), !l && V && /* @__PURE__ */ k("div", {
809
822
  className: "absolute inset-0 hidden items-center justify-center bg-inverse-background/60 text-inverse-foreground group-hover:flex",
810
823
  "aria-hidden": "true",
811
- children: /* @__PURE__ */ A(M, { className: x.icon })
824
+ children: /* @__PURE__ */ k(j, { className: N.icon })
812
825
  })]
813
826
  }),
814
- !l && I && /* @__PURE__ */ A("button", {
827
+ !l && V && /* @__PURE__ */ k("button", {
815
828
  type: "button",
816
- "aria-label": v.remove,
829
+ "aria-label": S.remove,
817
830
  onClick: (e) => {
818
- e.stopPropagation(), L();
831
+ e.stopPropagation(), ue();
819
832
  },
820
- className: i(f.target, f.focus, "absolute end-0.5 top-0.5 z-10 bg-card text-card-foreground shadow-sm 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),
821
- children: /* @__PURE__ */ A(se, { className: f.icon })
833
+ className: i(f.target, f.focus, "absolute end-0.5 top-0.5 z-10 bg-card text-card-foreground shadow-sm 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", N.remove),
834
+ children: /* @__PURE__ */ k(se, { className: f.icon })
822
835
  }),
823
- !l && !I && R && /* @__PURE__ */ A(o, {
836
+ !l && !V && U && /* @__PURE__ */ k(o, {
824
837
  size: "xs",
825
838
  weight: "medium",
826
839
  className: "absolute inset-x-0 bottom-1.5 text-center text-primary-accent",
827
- children: v.dragOver
840
+ children: S.dragOver
828
841
  })
829
842
  ]
830
843
  }),
831
- !I && /* @__PURE__ */ A(o, {
844
+ !V && /* @__PURE__ */ k(o, {
832
845
  size: "xs",
833
846
  type: "secondary",
834
- children: v.hint
847
+ children: S.hint
835
848
  }),
836
- ae.length > 0 && /* @__PURE__ */ A("div", {
849
+ R.length > 0 && /* @__PURE__ */ k("div", {
837
850
  className: "avatar-upload--errors grid gap-space-2xs",
838
851
  role: "alert",
839
852
  "aria-live": "polite",
840
- children: ae.map((e, t) => /* @__PURE__ */ A(o, {
853
+ children: R.map((e, t) => /* @__PURE__ */ k(o, {
841
854
  size: "xs",
842
855
  type: "error",
843
- children: be(e, v, ie)
856
+ children: $(e, S, L)
844
857
  }, `${e.file.name}-${e.code}-${t}`))
845
858
  })
846
859
  ]
847
860
  });
848
861
  }
849
- var xe = S.forwardRef($);
850
- xe.displayName = "AvatarUpload";
862
+ var Ce = x.forwardRef(Se);
863
+ Ce.displayName = "AvatarUpload";
851
864
  //#endregion
852
- export { V as a, X as i, ye as n, F as o, Z as r, xe as t };
865
+ export { U as a, _e as i, Q as n, I as o, be as r, Ce as t };
853
866
 
854
- //# sourceMappingURL=upload-C9SA0X-8.js.map
867
+ //# sourceMappingURL=upload-Hdm5gObf.js.map