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