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,25 +1,28 @@
1
1
  "use client";
2
- import { useStrings as e } from "../lib/strings.js";
3
- import { t } from "../utils-C2EKeIw3.js";
4
- import { n } from "../buttons-Co6GavvM.js";
5
- import { a as r, r as i } from "../typography-Cv8MT-82.js";
6
- import { r as a, t as o } from "../structure-MvKVq-oL.js";
7
- import { n as s, t as c } from "../feedback-DWUkgEjR.js";
8
- import { r as l } from "../overlays-B11wZka6.js";
9
- import { a as u, i as d, t as f } from "../primitives-DKPOGVpj.js";
10
- import { n as p, t as m } from "../number-BNT_BIzJ.js";
11
- import { t as h } from "../badge-BZXZT9wd.js";
12
- import { t as g } from "../input-WwYQZJzG.js";
13
- import { t as _ } from "../form-field-Bn7ZH1rA.js";
14
- import { c as v, s as y } from "../choice-inputs-CC7XqPQO.js";
15
- import { a as b } from "../upload-queue-hIIYBLS7.js";
16
- import { l as x } from "../data-display-cWIRdeaf.js";
17
- import { createContext as S, useCallback as C, useContext as w, useEffect as T, useMemo as E, useRef as D, useState as O } from "react";
18
- import { Fragment as ee, jsx as k, jsxs as A } from "react/jsx-runtime";
19
- import { ArrowLeft as te, ArrowRight as ne, Check as j, File as M, Grid2X2 as re, ImageIcon as N, ImagePlus as ie, Info as P, Layers3 as ae, LayoutList as oe, Lock as F, Play as se, Plus as I, Search as ce, Star as L, Trash2 as le, UploadCloud as R, Video as ue, X as de } from "lucide-react";
20
- import { createPortal as fe } from "react-dom";
2
+ import { _ as e, s as t } from "../ui-provider-D2_TeLqw.js";
3
+ import { useStrings as n } from "../lib/strings.js";
4
+ import { t as r } from "../utils-Cospvlj1.js";
5
+ import { a as i, s as a } from "../typography-CAr3dQhX.js";
6
+ import { t as o } from "../button-BS3KDg00.js";
7
+ import { r as s, t as c } from "../structure-hzCW-XsV.js";
8
+ import { i as l } from "../smart-card-Bek-TwUp.js";
9
+ import { n as u, t as d } from "../feedback-C7nR0UtT.js";
10
+ import { r as f } from "../overlays-DhZO7N-I.js";
11
+ import { a as p, i as m, t as h } from "../primitives-BHrwQXFC.js";
12
+ import { n as g, t as _ } from "../number-CKRBYmZK.js";
13
+ import { t as v } from "../badge-0tATj-tW.js";
14
+ import { t as y } from "../input-DhQdBnV3.js";
15
+ import { t as b } from "../form-field-VZRULhUK.js";
16
+ import { c as x, s as S } from "../choice-inputs-DrJ17tpL.js";
17
+ import { r as C, t as w } from "../control-group-recipes-DBXmfh2E.js";
18
+ import { a as ee } from "../upload-queue-BHZ_wBfd.js";
19
+ import { l as T } from "../data-display-3xWQUnMA.js";
20
+ import { createContext as E, useCallback as D, useContext as te, useEffect as O, useMemo as k, useRef as A, useState as j } from "react";
21
+ import { Fragment as M, jsx as N, jsxs as P } from "react/jsx-runtime";
22
+ import { ArrowLeft as F, ArrowRight as ne, Check as re, File as ie, Grid2X2 as ae, ImageIcon as I, ImagePlus as oe, Info as L, Layers3 as se, LayoutList as R, Lock as z, Play as B, Plus as ce, Search as le, Star as ue, Trash2 as de, UploadCloud as fe, Video as pe, X as me } from "lucide-react";
23
+ import { createPortal as he } from "react-dom";
21
24
  //#region src/components/features/media-library/media-library.strings.ts
22
- var pe = {
25
+ var ge = {
23
26
  title: "Add media",
24
27
  description: "Pick from the library, or upload new files.",
25
28
  close: "Close media library",
@@ -139,19 +142,19 @@ var pe = {
139
142
  maxReached: "Maximum reached"
140
143
  }
141
144
  };
142
- function z(e, t) {
145
+ function V(e, t) {
143
146
  return e.replace(/\{(\w+), plural, one \{([^}]*)\} other \{([^}]*)\}\}/g, (e, n, r, i) => Number(t[n]) === 1 ? r : i).replace(/\{(\w+)\}/g, (e, n) => String(t[n] ?? ""));
144
147
  }
145
148
  //#endregion
146
149
  //#region src/components/features/media-library/hooks/use-media-library.ts
147
- var me = {
150
+ var _e = {
148
151
  collection: void 0,
149
152
  tags: [],
150
153
  public: !0
151
- }, he = [];
152
- function B(e, t, n) {
153
- let [r, i] = O(t), a = e ?? r;
154
- return [a, C((t) => {
154
+ }, ve = [];
155
+ function H(e, t, n) {
156
+ let [r, i] = j(t), a = e ?? r;
157
+ return [a, D((t) => {
155
158
  let r = typeof t == "function" ? t(a) : t;
156
159
  e === void 0 && i(r), n?.(r);
157
160
  }, [
@@ -160,7 +163,7 @@ function B(e, t, n) {
160
163
  a
161
164
  ])];
162
165
  }
163
- var ge = {
166
+ var ye = {
164
167
  getId: (e) => e.id,
165
168
  getName: (e) => e.name,
166
169
  getType: (e) => e.type,
@@ -178,47 +181,47 @@ var ge = {
178
181
  getTint: (e) => e.tint,
179
182
  getMimeType: (e) => e.mimeType
180
183
  };
181
- function _e(e) {
184
+ function be(e) {
182
185
  return {
183
- ...ge,
184
- ...e ?? {}
186
+ ...ye,
187
+ ...e
185
188
  };
186
189
  }
187
- function ve(e) {
188
- return u(e) ?? "";
190
+ function xe(e) {
191
+ return p(e) ?? "";
189
192
  }
190
- function ye(e, t) {
193
+ function U(e, t) {
191
194
  let n = t.getWidth(e), r = t.getHeight(e);
192
195
  return !n || !r ? "" : `${n} x ${r}`;
193
196
  }
194
- function be(e, t) {
197
+ function Se(e, t) {
195
198
  let n = t.getUploadedAt(e);
196
199
  if (!n) return 0;
197
200
  let r = (n instanceof Date ? n : new Date(n)).getTime();
198
201
  return Number.isFinite(r) ? r : 0;
199
202
  }
200
- function xe(e) {
203
+ function Ce(e) {
201
204
  return e.type.startsWith("image/") ? "image" : e.type.startsWith("video/") ? "video" : "file";
202
205
  }
203
- function Se(e) {
206
+ function we(e) {
204
207
  if (e.type.startsWith("image/") && typeof URL < "u" && typeof URL.createObjectURL == "function") return URL.createObjectURL(e);
205
208
  }
206
- function Ce(e) {
209
+ function Te(e) {
207
210
  e && typeof URL < "u" && typeof URL.revokeObjectURL == "function" && URL.revokeObjectURL(e);
208
211
  }
209
- function we(e) {
212
+ function Ee(e) {
210
213
  return Array.isArray(e) ? {
211
214
  items: e,
212
215
  total: e.length
213
216
  } : e;
214
217
  }
215
- function V(e, t) {
218
+ function De(e, t) {
216
219
  return t && typeof e == "object" && e ? {
217
220
  ...e,
218
221
  ...t
219
222
  } : e;
220
223
  }
221
- function H(e, t, n, r, i) {
224
+ function Oe(e, t, n, r, i) {
222
225
  let a = n.trim().toLowerCase();
223
226
  return e.filter((e) => r !== "all" && t.getType(e) !== r || i !== "all" && t.getCollection(e) !== i ? !1 : !a || [
224
227
  t.getName(e),
@@ -227,154 +230,154 @@ function H(e, t, n, r, i) {
227
230
  ...t.getTags(e)
228
231
  ].filter(Boolean).join(" ").toLowerCase().includes(a));
229
232
  }
230
- function Te(e, t, n) {
233
+ function ke(e, t, n) {
231
234
  let r = e.slice();
232
- return n === "name" ? r.sort((e, n) => t.getName(e).localeCompare(t.getName(n))) : n === "size" ? r.sort((e, n) => (t.getSize(n) ?? 0) - (t.getSize(e) ?? 0)) : n === "usage" ? r.sort((e, n) => (t.getUsageCount(n) ?? 0) - (t.getUsageCount(e) ?? 0)) : r.sort((e, n) => be(n, t) - be(e, t)), r;
235
+ return n === "name" ? r.sort((e, n) => t.getName(e).localeCompare(t.getName(n))) : n === "size" ? r.sort((e, n) => (t.getSize(n) ?? 0) - (t.getSize(e) ?? 0)) : n === "usage" ? r.sort((e, n) => (t.getUsageCount(n) ?? 0) - (t.getUsageCount(e) ?? 0)) : r.sort((e, n) => Se(n, t) - Se(e, t)), r;
233
236
  }
234
- function Ee({ items: e = he, fetcher: t, accessors: n, selectionMode: r = "multiple", value: i, defaultValue: a = [], onValueChange: o, onItemUpdate: s, onItemDelete: c, onUpload: l, onError: u, tab: d, defaultTab: f = "library", onTabChange: p, view: m, defaultView: h = "grid", onViewChange: g, query: _, defaultQuery: v = "", onQueryChange: y, type: b, defaultType: x = "all", onTypeChange: S, collection: w, defaultCollection: ee = "all", onCollectionChange: k, sort: A, defaultSort: te = "newest", onSortChange: ne, uploadOptions: j, defaultUploadOptions: M, onUploadOptionsChange: re } = {}) {
235
- let N = E(() => _e(n), [n]), [ie, P] = B(d, f, p), [ae, oe] = B(m, h, g), [F, se] = B(_, v, y), [I, ce] = B(b, x, S), [L, le] = B(w, ee, k), [R, ue] = B(A, te, ne), [de, fe] = O(null), [pe, z] = O(() => [...a]), [ge, ve] = O([]), [ye, be] = O(), [Ee, U] = O(!1), [W, G] = O(null), [De, Oe] = O([]), [ke, Ae] = O(() => /* @__PURE__ */ new Set()), [je, Me] = O({}), [Ne, K] = O([]), [Pe, Fe] = O(!1), Ie = E(() => ({
236
- ...me,
237
+ function Ae({ items: e = ve, fetcher: t, accessors: n, selectionMode: r = "multiple", value: i, defaultValue: a = [], onValueChange: o, onItemUpdate: s, onItemDelete: c, onUpload: l, onError: u, tab: d, defaultTab: f = "library", onTabChange: p, view: m, defaultView: h = "grid", onViewChange: g, query: _, defaultQuery: v = "", onQueryChange: y, type: b, defaultType: x = "all", onTypeChange: S, collection: C, defaultCollection: w = "all", onCollectionChange: ee, sort: T, defaultSort: E = "newest", onSortChange: te, uploadOptions: M, defaultUploadOptions: N, onUploadOptionsChange: P } = {}) {
238
+ let F = k(() => be(n), [n]), [ne, re] = H(d, f, p), [ie, ae] = H(m, h, g), [I, oe] = H(_, v, y), [L, se] = H(b, x, S), [R, z] = H(C, w, ee), [B, ce] = H(T, E, te), [le, ue] = j(null), [de, fe] = j(() => [...a]), [pe, me] = j([]), [he, ge] = j(), [V, ye] = j(!1), [xe, U] = j(null), [Se, Ae] = j([]), [je, W] = j(() => /* @__PURE__ */ new Set()), [G, Me] = j({}), [K, q] = j([]), [Ne, Pe] = j(!1), Fe = k(() => ({
239
+ ..._e,
240
+ ...N,
241
+ tags: N?.tags ?? _e.tags
242
+ }), [N]), [Ie, Le] = H(k(() => M ? {
243
+ ..._e,
237
244
  ...M,
238
- tags: M?.tags ?? me.tags
239
- }), [M]), [Le, Re] = B(E(() => j ? {
240
- ...me,
241
- ...j,
242
- tags: j.tags ?? me.tags
243
- } : void 0, [j]), Ie, re), q = i !== void 0, J = E(() => q ? [...i ?? []] : pe, [
244
- pe,
245
- q,
245
+ tags: M.tags ?? _e.tags
246
+ } : void 0, [M]), Fe, P), Re = i !== void 0, J = k(() => Re ? [...i ?? []] : de, [
247
+ de,
248
+ Re,
246
249
  i
247
- ]), Y = E(() => new Set(J), [J]), ze = D(/* @__PURE__ */ new Set()), X = D(null), Z = D(/* @__PURE__ */ new Map());
248
- T(() => {
250
+ ]), Y = k(() => new Set(J), [J]), ze = A(/* @__PURE__ */ new Set()), X = A(null), Be = A(/* @__PURE__ */ new Map());
251
+ O(() => {
249
252
  if (!t) return;
250
253
  let e = new AbortController();
251
- return U(!0), G(null), t({
252
- query: F,
253
- type: I,
254
- collection: L === "all" ? void 0 : L,
255
- sort: R,
254
+ return ye(!0), U(null), t({
255
+ query: I,
256
+ type: L,
257
+ collection: R === "all" ? void 0 : R,
258
+ sort: B,
256
259
  signal: e.signal
257
260
  }).then((t) => {
258
261
  if (e.signal.aborted) return;
259
- let n = we(t);
260
- ve(n.items), be(n.total);
262
+ let n = Ee(t);
263
+ me(n.items), ge(n.total);
261
264
  }).catch((t) => {
262
- e.signal.aborted || (G(t), u?.(t));
265
+ e.signal.aborted || (U(t), u?.(t));
263
266
  }).finally(() => {
264
- e.signal.aborted || U(!1);
267
+ e.signal.aborted || ye(!1);
265
268
  }), () => e.abort();
266
269
  }, [
267
- L,
270
+ R,
268
271
  t,
269
272
  u,
270
- F,
271
- R,
272
- I
273
- ]), T(() => {
273
+ I,
274
+ B,
275
+ L
276
+ ]), O(() => {
274
277
  let e = ze.current;
275
278
  return () => {
276
279
  X.current?.abort();
277
- for (let t of e) Ce(t);
280
+ for (let t of e) Te(t);
278
281
  e.clear();
279
282
  };
280
283
  }, []);
281
- let Be = E(() => t ? ge : [...De, ...e], [
282
- De,
283
- ge,
284
+ let Z = k(() => t ? pe : [...Se, ...e], [
285
+ Se,
286
+ pe,
284
287
  t,
285
288
  e
286
- ]), Q = E(() => Be.filter((e) => !ke.has(N.getId(e))).map((e) => V(e, je[N.getId(e)])), [
287
- N,
289
+ ]), Q = k(() => Z.filter((e) => !je.has(F.getId(e))).map((e) => De(e, G[F.getId(e)])), [
290
+ F,
291
+ G,
288
292
  je,
289
- ke,
290
- Be
291
- ]), Ve = E(() => {
292
- let e = t ? Q : H(Q, N, F, I, L);
293
- return t ? e : Te(e, N, R);
293
+ Z
294
+ ]), Ve = k(() => {
295
+ let e = t ? Q : Oe(Q, F, I, L, R);
296
+ return t ? e : ke(e, F, B);
294
297
  }, [
295
- N,
296
- L,
298
+ F,
299
+ R,
297
300
  t,
298
301
  Q,
302
+ I,
303
+ B,
304
+ L
305
+ ]), He = he ?? Q.length, Ue = Ve.length, We = k(() => Q.filter((e) => Y.has(F.getId(e))), [
299
306
  F,
300
- R,
301
- I
302
- ]), He = ye ?? Q.length, Ue = Ve.length, We = E(() => Q.filter((e) => Y.has(N.getId(e))), [
303
- N,
304
307
  Q,
305
308
  Y
306
- ]), Ge = !!F.trim() || I !== "all" || L !== "all", $ = C((e) => {
307
- q || z(e);
308
- let t = new Set(e), n = Q.filter((e) => t.has(N.getId(e)));
309
+ ]), Ge = !!I.trim() || L !== "all" || R !== "all", $ = D((e) => {
310
+ Re || fe(e);
311
+ let t = new Set(e), n = Q.filter((e) => t.has(F.getId(e)));
309
312
  o?.(e, n);
310
313
  }, [
311
- N,
312
- q,
314
+ F,
315
+ Re,
313
316
  o,
314
317
  Q
315
- ]), Ke = C((e) => {
318
+ ]), Ke = D((e) => {
316
319
  let t = new Set(r === "single" ? [] : Y);
317
320
  Y.has(e) && r !== "single" ? t.delete(e) : t.add(e), $(Array.from(t));
318
321
  }, [
319
322
  $,
320
323
  Y,
321
324
  r
322
- ]), qe = C(() => $([]), [$]), Je = C(() => {
323
- se(""), ce("all"), le("all");
325
+ ]), qe = D(() => $([]), [$]), Je = D(() => {
326
+ oe(""), se("all"), z("all");
324
327
  }, [
325
- le,
326
- se,
327
- ce
328
- ]), Ye = C((e) => {
329
- K((t) => [...t, ...e.map((e, t) => {
330
- let n = Se(e);
328
+ z,
329
+ oe,
330
+ se
331
+ ]), Ye = D((e) => {
332
+ q((t) => [...t, ...e.map((e, t) => {
333
+ let n = we(e);
331
334
  return n && ze.current.add(n), {
332
335
  id: `staged-${Date.now()}-${t}`,
333
336
  file: e,
334
337
  name: e.name,
335
338
  size: e.size,
336
- type: xe(e),
339
+ type: Ce(e),
337
340
  src: n,
338
341
  progress: 0,
339
342
  status: "staged"
340
343
  };
341
344
  })]);
342
- }, []), Xe = C((e) => {
343
- K((t) => {
345
+ }, []), Xe = D((e) => {
346
+ q((t) => {
344
347
  let n = t.find((t) => t.id === e);
345
- return n?.src && (Ce(n.src), ze.current.delete(n.src)), t.filter((t) => t.id !== e);
348
+ return n?.src && (Te(n.src), ze.current.delete(n.src)), t.filter((t) => t.id !== e);
346
349
  });
347
- }, []), Ze = C(() => {
348
- K((e) => {
349
- for (let t of e) t.src && (Ce(t.src), ze.current.delete(t.src));
350
+ }, []), Ze = D(() => {
351
+ q((e) => {
352
+ for (let t of e) t.src && (Te(t.src), ze.current.delete(t.src));
350
353
  return [];
351
354
  });
352
- }, []), Qe = C((e) => {
353
- Re((t) => ({
355
+ }, []), Qe = D((e) => {
356
+ Le((t) => ({
354
357
  ...t,
355
358
  ...e
356
359
  }));
357
- }, [Re]), $e = C((e, t) => {
358
- K((n) => n.map((n) => n.id === e ? {
360
+ }, [Le]), $e = D((e, t) => {
361
+ q((n) => n.map((n) => n.id === e ? {
359
362
  ...n,
360
363
  ...t
361
364
  } : n));
362
365
  }, []);
363
366
  return {
364
- tab: ie,
365
- setTab: P,
366
- view: ae,
367
- setView: oe,
368
- query: F,
369
- setQuery: se,
370
- type: I,
371
- setType: ce,
372
- collection: L,
373
- setCollection: le,
374
- sort: R,
375
- setSort: ue,
376
- detailId: de,
377
- setDetailId: fe,
367
+ tab: ne,
368
+ setTab: re,
369
+ view: ie,
370
+ setView: ae,
371
+ query: I,
372
+ setQuery: oe,
373
+ type: L,
374
+ setType: se,
375
+ collection: R,
376
+ setCollection: z,
377
+ sort: B,
378
+ setSort: ce,
379
+ detailId: le,
380
+ setDetailId: ue,
378
381
  items: Q,
379
382
  visibleItems: Ve,
380
383
  selectedIds: J,
@@ -383,22 +386,22 @@ function Ee({ items: e = he, fetcher: t, accessors: n, selectionMode: r = "multi
383
386
  toggleSelection: Ke,
384
387
  clearSelection: qe,
385
388
  clearFilters: Je,
386
- loading: Ee,
387
- error: W,
389
+ loading: V,
390
+ error: xe,
388
391
  hasFilters: Ge,
389
392
  totalCount: He,
390
393
  filteredCount: Ue,
391
- stagedFiles: Ne,
394
+ stagedFiles: K,
392
395
  addFiles: Ye,
393
396
  removeStagedFile: Xe,
394
397
  clearStagedFiles: Ze,
395
398
  updateUploadOptions: Qe,
396
- uploadOptions: Le,
397
- uploading: Pe,
398
- startUpload: C(async () => {
399
- if (Pe || Ne.length === 0) return;
399
+ uploadOptions: Ie,
400
+ uploading: Ne,
401
+ startUpload: D(async () => {
402
+ if (Ne || K.length === 0) return;
400
403
  let e = new AbortController();
401
- X.current?.abort(), X.current = e, G(null), Fe(!0), K((e) => e.map((e) => ({
404
+ X.current?.abort(), X.current = e, U(null), Pe(!0), q((e) => e.map((e) => ({
402
405
  ...e,
403
406
  status: "uploading",
404
407
  progress: 0
@@ -416,55 +419,55 @@ function Ee({ items: e = he, fetcher: t, accessors: n, selectionMode: r = "multi
416
419
  }
417
420
  };
418
421
  try {
419
- let n = Ne.map((e) => e.file), i = await l?.(n, Le, t);
422
+ let n = K.map((e) => e.file), i = await l?.(n, Ie, t);
420
423
  if (e.signal.aborted) return;
421
- if (K((e) => e.map((e) => ({
424
+ if (q((e) => e.map((e) => ({
422
425
  ...e,
423
426
  status: "done",
424
427
  progress: 100
425
428
  }))), i?.length) {
426
- Oe((e) => [...i, ...e]);
427
- let e = i.map((e) => N.getId(e));
429
+ Ae((e) => [...i, ...e]);
430
+ let e = i.map((e) => F.getId(e));
428
431
  $(r === "single" ? e.slice(0, 1) : Array.from(/* @__PURE__ */ new Set([...e, ...J])));
429
432
  }
430
- Ze(), P("library");
433
+ Ze(), re("library");
431
434
  } catch (t) {
432
435
  if (e.signal.aborted) return;
433
- G(t), K((e) => e.map((e) => e.status === "uploading" ? {
436
+ U(t), q((e) => e.map((e) => e.status === "uploading" ? {
434
437
  ...e,
435
438
  status: "error",
436
439
  error: "Upload failed"
437
440
  } : e)), u?.(t);
438
441
  } finally {
439
- X.current === e && (X.current = null, Fe(!1));
442
+ X.current === e && (X.current = null, Pe(!1));
440
443
  }
441
444
  }, [
442
- N,
445
+ F,
443
446
  $,
444
447
  Ze,
445
448
  u,
446
449
  l,
447
450
  J,
448
451
  r,
449
- P,
452
+ re,
450
453
  $e,
451
- Ne,
452
- Le,
453
- Pe
454
+ K,
455
+ Ie,
456
+ Ne
454
457
  ]),
455
- cancelUpload: C(() => {
456
- X.current?.abort(), X.current = null, Fe(!1), K((e) => e.map((e) => e.status === "uploading" ? {
458
+ cancelUpload: D(() => {
459
+ X.current?.abort(), X.current = null, Pe(!1), q((e) => e.map((e) => e.status === "uploading" ? {
457
460
  ...e,
458
461
  status: "staged",
459
462
  progress: 0,
460
463
  error: void 0
461
464
  } : e));
462
465
  }, []),
463
- updateItem: C(async (e, t) => {
464
- let n = N.getId(e), r = `update:${n}`, i = (Z.current.get(r) ?? 0) + 1;
465
- Z.current.set(r, i);
466
- let a = je[n];
467
- G(null), Me((e) => ({
466
+ updateItem: D(async (e, t) => {
467
+ let n = F.getId(e), r = `update:${n}`, i = (Be.current.get(r) ?? 0) + 1;
468
+ Be.current.set(r, i);
469
+ let a = G[n];
470
+ U(null), Me((e) => ({
468
471
  ...e,
469
472
  [n]: {
470
473
  ...e[n],
@@ -474,68 +477,69 @@ function Ee({ items: e = he, fetcher: t, accessors: n, selectionMode: r = "multi
474
477
  try {
475
478
  return await s?.(e, t), !0;
476
479
  } catch (e) {
477
- return Z.current.get(r) === i && Me((e) => {
480
+ return Be.current.get(r) === i && Me((e) => {
478
481
  let t = { ...e };
479
482
  return a ? t[n] = a : delete t[n], t;
480
- }), G(e), u?.(e), !1;
483
+ }), U(e), u?.(e), !1;
481
484
  }
482
485
  }, [
483
- N,
484
- je,
486
+ F,
487
+ G,
485
488
  u,
486
489
  s
487
490
  ]),
488
- removeItem: C(async (e) => {
489
- let t = N.getId(e), n = `delete:${t}`, r = (Z.current.get(n) ?? 0) + 1;
490
- Z.current.set(n, r);
491
- let i = ke.has(t);
492
- G(null), Ae((e) => new Set(e).add(t));
491
+ removeItem: D(async (e) => {
492
+ let t = F.getId(e), n = `delete:${t}`, r = (Be.current.get(n) ?? 0) + 1;
493
+ Be.current.set(n, r);
494
+ let i = je.has(t);
495
+ U(null), W((e) => new Set(e).add(t));
493
496
  try {
494
497
  return await c?.(e), Y.has(t) && $(J.filter((e) => e !== t)), !0;
495
498
  } catch (e) {
496
- return !i && Z.current.get(n) === r && Ae((e) => {
499
+ return !i && Be.current.get(n) === r && W((e) => {
497
500
  let n = new Set(e);
498
501
  return n.delete(t), n;
499
- }), G(e), u?.(e), !1;
502
+ }), U(e), u?.(e), !1;
500
503
  }
501
504
  }, [
502
- N,
505
+ F,
503
506
  $,
504
507
  u,
505
508
  c,
506
- ke,
509
+ je,
507
510
  J,
508
511
  Y
509
512
  ]),
510
- accessors: N
513
+ accessors: F
511
514
  };
512
515
  }
513
516
  //#endregion
514
517
  //#region src/components/features/media-library/partials/media-library-partials.tsx
515
- function U(e, t) {
516
- return k(e === "image" ? N : e === "video" ? ue : M, { className: t ?? "size-icon" });
517
- }
518
+ var je = "absolute inset-0 z-10 box-border block h-full w-full cursor-pointer border-0 bg-transparent p-0 font-sans outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset";
518
519
  function W(e, t) {
519
- return e === "image" ? t.typeImage : e === "video" ? t.typeVideo : t.typeFile;
520
+ return N(e === "image" ? I : e === "video" ? pe : ie, { className: t ?? "size-icon" });
520
521
  }
521
522
  function G(e, t) {
522
- return e ? z(t.usedIn, { count: e }) : t.notUsed;
523
+ return e === "image" ? t.typeImage : e === "video" ? t.typeVideo : t.typeFile;
524
+ }
525
+ function Me(e, t) {
526
+ return e ? V(t.usedIn, { count: e }) : t.notUsed;
523
527
  }
524
- function De({ children: e, tint: n, className: r }) {
525
- return /* @__PURE__ */ k("div", {
526
- className: t("media-library-preview relative overflow-hidden bg-muted", r),
527
- style: n ? { background: n } : void 0,
528
+ function K({ children: e, tint: t, className: n }) {
529
+ return /* @__PURE__ */ N("div", {
530
+ className: r("media-library-preview relative overflow-hidden bg-muted", n),
531
+ style: t ? { background: t } : void 0,
528
532
  children: e
529
533
  });
530
534
  }
531
- function Oe({ src: e, alt: t, type: n, className: r, loading: i = "lazy" }) {
532
- let [a, o] = O(!1);
533
- return T(() => {
535
+ function q({ src: e, alt: t, type: n, className: r, loading: i = "lazy" }) {
536
+ let [a, o] = j(!1);
537
+ return O(() => {
534
538
  o(!1);
535
- }, [e]), !e || a ? /* @__PURE__ */ k("div", {
539
+ }, [e]), !e || a ? /* @__PURE__ */ N("div", {
536
540
  className: "media-library-preview--fallback flex size-full items-center justify-center text-muted-foreground",
537
- children: U(n, "size-6")
538
- }) : /* @__PURE__ */ k("img", {
541
+ children: W(n, "size-6")
542
+ }) : /* @__PURE__ */ N("img", {
539
543
  src: e,
540
544
  alt: t,
541
545
  loading: i,
@@ -543,136 +547,129 @@ function Oe({ src: e, alt: t, type: n, className: r, loading: i = "lazy" }) {
543
547
  onError: () => o(!0)
544
548
  });
545
549
  }
546
- function ke({ icon: e, title: n, description: r, action: i, className: a }) {
547
- return /* @__PURE__ */ k(x, {
548
- title: n,
549
- description: r ?? !1,
550
+ function Ne({ icon: e, title: t, description: n, action: i, className: a }) {
551
+ return /* @__PURE__ */ N(T, {
552
+ title: t,
553
+ description: n ?? !1,
550
554
  actions: i,
551
- media: e ?? /* @__PURE__ */ k(N, {
555
+ media: e ?? /* @__PURE__ */ N(I, {
552
556
  className: "size-icon",
553
557
  "aria-hidden": "true"
554
558
  }),
555
559
  mediaVariant: "icon-soft",
556
560
  padding: "md",
557
561
  border: !0,
558
- className: t("media-library-empty-state--component min-h-64 bg-muted/20", a)
562
+ className: r("media-library-empty-state--component min-h-64 bg-muted/20", a)
559
563
  });
560
564
  }
561
- function Ae({ query: e, type: i, typeFilters: a, collection: s, sort: c, view: l, collections: u = [], strings: d, onQueryChange: f, onTypeChange: p, onCollectionChange: m, onSortChange: _, onViewChange: y, onClearFilters: b, toolbarEnd: x }) {
562
- let S = [
565
+ function Pe({ query: n, type: i, typeFilters: s, collection: l, sort: u, view: d, collections: f = [], strings: p, onQueryChange: m, onTypeChange: h, onCollectionChange: g, onSortChange: _, onViewChange: b, onClearFilters: S, toolbarEnd: ee }) {
566
+ let { defaultScale: T } = t(), E = e(void 0, T), D = [
563
567
  {
564
568
  value: "all",
565
- label: d.allTypes,
569
+ label: p.allTypes,
566
570
  icon: null
567
571
  },
568
572
  {
569
573
  value: "image",
570
- label: d.images,
571
- icon: N
574
+ label: p.images,
575
+ icon: I
572
576
  },
573
577
  {
574
578
  value: "video",
575
- label: d.videos,
576
- icon: ue
579
+ label: p.videos,
580
+ icon: pe
577
581
  },
578
582
  {
579
583
  value: "file",
580
- label: d.files,
581
- icon: M
584
+ label: p.files,
585
+ icon: ie
582
586
  }
583
- ].filter((e) => (a ?? [
587
+ ].filter((e) => (s ?? [
584
588
  "all",
585
589
  "image",
586
590
  "video"
587
- ]).includes(e.value)), C = [{
591
+ ]).includes(e.value)), te = [{
588
592
  value: "all",
589
- label: d.allCollections
590
- }, ...u.map((e) => ({
593
+ label: p.allCollections
594
+ }, ...f.map((e) => ({
591
595
  value: e.value,
592
596
  label: String(e.label)
593
- }))], w = [
597
+ }))], O = [
594
598
  {
595
599
  value: "newest",
596
- label: d.sortNewest
600
+ label: p.sortNewest
597
601
  },
598
602
  {
599
603
  value: "name",
600
- label: d.sortName
604
+ label: p.sortName
601
605
  },
602
606
  {
603
607
  value: "size",
604
- label: d.sortSize
608
+ label: p.sortSize
605
609
  },
606
610
  {
607
611
  value: "usage",
608
- label: d.sortUsage
612
+ label: p.sortUsage
609
613
  }
610
- ], T = e.trim(), E = T.length > 0, D = E || i !== "all" || s !== "all";
611
- return /* @__PURE__ */ A(o, {
614
+ ], k = n.trim(), A = k.length > 0, j = A || i !== "all" || l !== "all";
615
+ return /* @__PURE__ */ P(c, {
612
616
  direction: "horizontal",
613
617
  wrap: !0,
614
- align: "center",
618
+ align: "start",
615
619
  gap: "md",
616
620
  className: "media-library-toolbar--component",
617
621
  children: [
618
- /* @__PURE__ */ A(o, {
622
+ /* @__PURE__ */ P(c, {
619
623
  gap: "xs",
620
624
  className: "media-library-toolbar--search min-w-52 flex-1",
621
- children: [/* @__PURE__ */ k(g, {
622
- value: e,
623
- onChange: (e) => f(e.target.value),
624
- placeholder: d.searchPlaceholder,
625
- startIcon: ce,
625
+ children: [/* @__PURE__ */ N(y, {
626
+ value: n,
627
+ onChange: (e) => m(e.target.value),
628
+ placeholder: p.searchPlaceholder,
629
+ startIcon: le,
626
630
  clearable: !0,
627
- onClear: () => f(""),
628
- strings: { clear: d.clearSearch },
629
- className: t("rounded-radius bg-background", E && "border-info/60 bg-info/5 text-foreground shadow-xs ring-1 ring-info/15")
630
- }), !!E && /* @__PURE__ */ k(o, {
631
+ onClear: () => m(""),
632
+ strings: { clear: p.clearSearch },
633
+ className: "bg-background"
634
+ }), !!A && /* @__PURE__ */ N(c, {
631
635
  direction: "horizontal",
632
636
  gap: "xs",
633
637
  wrap: !1,
634
638
  className: "media-library-toolbar--search-value px-space-xs",
635
- children: /* @__PURE__ */ A(h, {
636
- tone: "info",
639
+ children: /* @__PURE__ */ P(v, {
640
+ tone: "secondary",
637
641
  className: "max-w-full",
638
- children: [
639
- /* @__PURE__ */ k(ce, {
640
- className: "size-icon-sm",
641
- "aria-hidden": "true"
642
- }),
643
- /* @__PURE__ */ k(r, {
644
- tag: "span",
645
- size: "inherit",
646
- className: "text-current",
647
- children: d.activeSearchLabel
648
- }),
649
- /* @__PURE__ */ k(r, {
650
- tag: "span",
651
- size: "inherit",
652
- weight: "normal",
653
- className: "min-w-0 truncate text-current",
654
- children: T
655
- })
656
- ]
642
+ children: [/* @__PURE__ */ N(a, {
643
+ tag: "span",
644
+ size: "inherit",
645
+ className: "text-current",
646
+ children: p.activeSearchLabel
647
+ }), /* @__PURE__ */ N(a, {
648
+ tag: "span",
649
+ size: "inherit",
650
+ weight: "normal",
651
+ className: "min-w-0 truncate text-current",
652
+ children: k
653
+ })]
657
654
  })
658
655
  })]
659
656
  }),
660
- /* @__PURE__ */ k("div", {
661
- className: "media-library-toolbar--type-toggle flex h-action items-center rounded-radius-md bg-muted p-space-2xs",
657
+ /* @__PURE__ */ N("div", {
658
+ className: r("media-library-toolbar--type-toggle", C.frame, w[E]),
662
659
  role: "tablist",
663
- "aria-label": d.typeFilterLabel,
664
- children: S.map((e) => {
665
- let a = e.icon, o = i === e.value;
666
- return /* @__PURE__ */ A(n, {
660
+ "aria-label": p.typeFilterLabel,
661
+ children: D.map((e) => {
662
+ let t = e.icon, n = i === e.value;
663
+ return /* @__PURE__ */ P(o, {
667
664
  type: "button",
668
665
  role: "tab",
669
- "aria-selected": o,
666
+ "aria-selected": n,
670
667
  tone: "secondary",
671
668
  buttonStyle: "ghost",
672
669
  size: "sm",
673
- className: t("rounded-radius-sm shadow-none", o ? "bg-background text-foreground shadow-xs hover:bg-background" : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
674
- onClick: () => p(e.value),
675
- children: [a && /* @__PURE__ */ k(a, { className: "size-icon-md" }), /* @__PURE__ */ k(r, {
670
+ className: r(C.item, "shadow-none", n ? "bg-background text-foreground shadow-xs hover:bg-background" : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
671
+ onClick: () => h(e.value),
672
+ children: [t && /* @__PURE__ */ N(t, { className: "size-icon-md" }), /* @__PURE__ */ N(a, {
676
673
  tag: "span",
677
674
  size: "xs",
678
675
  weight: "medium",
@@ -682,149 +679,147 @@ function Ae({ query: e, type: i, typeFilters: a, collection: s, sort: c, view: l
682
679
  }, e.value);
683
680
  })
684
681
  }),
685
- /* @__PURE__ */ k("div", {
682
+ /* @__PURE__ */ N("div", {
686
683
  className: "min-w-40",
687
- children: /* @__PURE__ */ k(v, {
688
- value: s,
689
- options: C,
690
- onValueChange: (e) => m(e ?? "all"),
691
- placeholder: d.collectionFilterLabel,
692
- "aria-label": d.collectionFilterLabel,
684
+ children: /* @__PURE__ */ N(x, {
685
+ value: l,
686
+ options: te,
687
+ onValueChange: (e) => g(e ?? "all"),
688
+ placeholder: p.collectionFilterLabel,
689
+ "aria-label": p.collectionFilterLabel,
693
690
  className: "bg-background"
694
691
  })
695
692
  }),
696
- /* @__PURE__ */ k("div", {
693
+ /* @__PURE__ */ N("div", {
697
694
  className: "min-w-32",
698
- children: /* @__PURE__ */ k(v, {
699
- value: c,
700
- options: w,
695
+ children: /* @__PURE__ */ N(x, {
696
+ value: u,
697
+ options: O,
701
698
  onValueChange: (e) => _(e ?? "newest"),
702
- placeholder: d.sortLabel,
703
- "aria-label": d.sortLabel,
699
+ placeholder: p.sortLabel,
700
+ "aria-label": p.sortLabel,
704
701
  className: "bg-background"
705
702
  })
706
703
  }),
707
- /* @__PURE__ */ A("div", {
708
- className: "media-library-toolbar--view-toggle ml-auto flex h-action items-center rounded-radius-md bg-muted p-space-2xs",
709
- children: [/* @__PURE__ */ k(n, {
704
+ /* @__PURE__ */ P("div", {
705
+ className: r("media-library-toolbar--view-toggle ml-auto", C.frame, w[E]),
706
+ children: [/* @__PURE__ */ N(o, {
710
707
  type: "button",
711
- tone: l === "grid" ? "neutral" : "secondary",
712
- buttonStyle: l === "grid" ? "solid" : "ghost",
708
+ tone: d === "grid" ? "neutral" : "secondary",
709
+ buttonStyle: d === "grid" ? "solid" : "ghost",
713
710
  size: "sm",
714
711
  iconOnly: !0,
715
- className: t(l === "grid" && "bg-background text-foreground shadow-xs hover:bg-background"),
716
- "aria-label": d.gridView,
717
- onClick: () => y("grid"),
718
- children: /* @__PURE__ */ k(re, { className: "size-icon-md" })
719
- }), /* @__PURE__ */ k(n, {
712
+ className: r(C.item, d === "grid" && "bg-background text-foreground shadow-xs hover:bg-background"),
713
+ "aria-label": p.gridView,
714
+ onClick: () => b("grid"),
715
+ children: /* @__PURE__ */ N(ae, { className: "size-icon-md" })
716
+ }), /* @__PURE__ */ N(o, {
720
717
  type: "button",
721
- tone: l === "table" ? "neutral" : "secondary",
722
- buttonStyle: l === "table" ? "solid" : "ghost",
718
+ tone: d === "table" ? "neutral" : "secondary",
719
+ buttonStyle: d === "table" ? "solid" : "ghost",
723
720
  size: "sm",
724
721
  iconOnly: !0,
725
- className: t(l === "table" && "bg-background text-foreground shadow-xs hover:bg-background"),
726
- "aria-label": d.tableView,
727
- onClick: () => y("table"),
728
- children: /* @__PURE__ */ k(oe, { className: "size-icon-md" })
722
+ className: r(C.item, d === "table" && "bg-background text-foreground shadow-xs hover:bg-background"),
723
+ "aria-label": p.tableView,
724
+ onClick: () => b("table"),
725
+ children: /* @__PURE__ */ N(R, { className: "size-icon-md" })
729
726
  })]
730
727
  }),
731
- !!D && /* @__PURE__ */ k(n, {
728
+ !!j && /* @__PURE__ */ N(o, {
732
729
  type: "button",
733
730
  tone: "secondary",
734
731
  buttonStyle: "ghost",
735
- size: "sm",
736
- onClick: b,
737
- children: d.clearFilters
732
+ onClick: S,
733
+ children: p.clearFilters
738
734
  }),
739
- x
735
+ ee
740
736
  ]
741
737
  });
742
738
  }
743
- function je({ item: e, selected: i = !1, density: s = "comfortable", showMeta: c = !0, accessors: l, strings: u, onToggle: f, onDetails: p, className: m }) {
744
- let g = l.getType(e), _ = l.getName(e), v = l.getSrc(e), y = l.getAlt(e) || _, b = l.getSize(e), x = l.getUsageCount(e), S = l.getPublic(e) === !1, C = l.getDuration(e);
745
- return /* @__PURE__ */ A("div", {
746
- "data-selected": i || void 0,
747
- "data-density": s,
748
- className: t("media-library-card--component relative group/card overflow-hidden rounded-radius-lg border border-border/70 bg-card text-left shadow-xs transition-all", "hover:border-primary/30 hover:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", i && "media-library-card--selected border-primary ring-1 ring-primary", m),
749
- onClick: f,
739
+ function Fe({ item: e, selected: t = !1, density: n = "comfortable", showMeta: i = !0, accessors: l, strings: u, onToggle: d, onDetails: f, className: p }) {
740
+ let h = l.getType(e), g = l.getName(e), _ = l.getSrc(e), y = l.getAlt(e) || g, b = l.getSize(e), x = l.getUsageCount(e), S = l.getPublic(e) === !1, C = l.getDuration(e);
741
+ return /* @__PURE__ */ P("div", {
742
+ "data-selected": t || void 0,
743
+ "data-gallery-density": n,
744
+ className: r("media-library-card--component relative group/card overflow-hidden rounded-radius border border-border/70 bg-card text-left shadow-xs transition-all", "hover:border-primary/30 hover:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", t && "media-library-card--selected border-primary ring-1 ring-primary", p),
745
+ onClick: d,
750
746
  children: [
751
- !!f && /* @__PURE__ */ k(n, {
747
+ !!d && /* @__PURE__ */ N("button", {
752
748
  type: "button",
753
- tone: "secondary",
754
- buttonStyle: "ghost",
755
- "aria-label": _,
756
- "aria-pressed": i,
757
- className: "media-library-card--select absolute inset-0 z-10 h-full w-full rounded-radius-lg [&:not([aria-disabled=true]):not(:disabled)]:hover:bg-transparent focus-visible:ring-inset",
749
+ "aria-label": g,
750
+ "aria-pressed": t,
751
+ className: r("media-library-card--select rounded-radius", je),
758
752
  onClick: (e) => {
759
- e.stopPropagation(), f();
753
+ e.stopPropagation(), d();
760
754
  }
761
755
  }),
762
- /* @__PURE__ */ A(De, {
756
+ /* @__PURE__ */ P(K, {
763
757
  tint: l.getTint(e),
764
- className: t(s === "compact" ? "aspect-square" : "aspect-[4/3]"),
758
+ className: r(n === "compact" ? "aspect-square" : "aspect-[4/3]"),
765
759
  children: [
766
- /* @__PURE__ */ k(Oe, {
767
- src: v,
760
+ /* @__PURE__ */ N(q, {
761
+ src: _,
768
762
  alt: y,
769
- type: g,
763
+ type: h,
770
764
  className: "size-full object-cover"
771
765
  }),
772
- /* @__PURE__ */ k("span", {
773
- className: t("media-library-card--check absolute left-2 top-2 inline-flex size-icon-lg items-center justify-center rounded-radius-md border border-border bg-background/95 text-transparent opacity-0 shadow-xs backdrop-blur transition-opacity group-hover/card:opacity-100 group-focus-within/card:opacity-100", i && "bg-primary text-primary-foreground opacity-100"),
766
+ /* @__PURE__ */ N("span", {
767
+ className: r("media-library-card--check absolute left-2 top-2 inline-flex size-icon-lg items-center justify-center rounded-radius border border-border bg-background text-transparent opacity-0 shadow-xs transition-opacity group-hover/card:opacity-100 group-focus-within/card:opacity-100", t && "bg-primary text-primary-foreground opacity-100"),
774
768
  "aria-hidden": "true",
775
- children: /* @__PURE__ */ k(j, { className: "size-icon-sm" })
769
+ children: /* @__PURE__ */ N(re, { className: "size-icon-sm" })
776
770
  }),
777
- !!p && /* @__PURE__ */ k(n, {
771
+ !!f && /* @__PURE__ */ N(o, {
778
772
  type: "button",
779
773
  tone: "secondary",
780
774
  buttonStyle: "solid",
781
775
  size: "sm",
782
776
  iconOnly: !0,
783
777
  className: "media-library-card--details absolute z-20 right-2 top-2 opacity-0 shadow-sm transition-opacity group-hover/card:opacity-100 group-focus-within/card:opacity-100",
784
- "aria-label": z(u.cardDetails, { name: _ }),
778
+ "aria-label": V(u.cardDetails, { name: g }),
785
779
  onClick: (e) => {
786
- e.stopPropagation(), p();
780
+ e.stopPropagation(), f();
787
781
  },
788
- children: /* @__PURE__ */ k(P, { className: "size-icon-md" })
782
+ children: /* @__PURE__ */ N(L, { className: "size-icon-md" })
789
783
  }),
790
- g === "video" && !!C && /* @__PURE__ */ A(h, {
784
+ h === "video" && !!C && /* @__PURE__ */ P(v, {
791
785
  tone: "secondary",
792
786
  className: "media-library-card--duration absolute bottom-2 left-2 bg-inverse-background text-inverse-foreground",
793
- children: [/* @__PURE__ */ k(se, { className: "size-icon-sm fill-current" }), C]
787
+ children: [/* @__PURE__ */ N(B, { className: "size-icon-sm fill-current" }), C]
794
788
  }),
795
- S && /* @__PURE__ */ k(h, {
789
+ S && /* @__PURE__ */ N(v, {
796
790
  tone: "secondary",
797
791
  className: "media-library-card--private absolute bottom-2 right-2 bg-card text-card-foreground",
798
- children: /* @__PURE__ */ k(F, { className: "size-icon-sm" })
792
+ children: /* @__PURE__ */ N(z, { className: "size-icon-sm" })
799
793
  })
800
794
  ]
801
795
  }),
802
- /* @__PURE__ */ k("div", {
803
- className: t("media-library-card--body", s === "compact" ? "p-surface-xs" : "p-surface"),
804
- children: /* @__PURE__ */ A(a, {
796
+ /* @__PURE__ */ N("div", {
797
+ className: r("media-library-card--body", n === "compact" ? "p-surface-xs" : "p-surface"),
798
+ children: /* @__PURE__ */ P(s, {
805
799
  columns: 1,
806
800
  gap: "xs",
807
- children: [/* @__PURE__ */ k(r, {
801
+ children: [/* @__PURE__ */ N(a, {
808
802
  tag: "div",
809
803
  weight: "semibold",
810
804
  className: "truncate",
811
- children: _
812
- }), c && /* @__PURE__ */ A(o, {
805
+ children: g
806
+ }), i && /* @__PURE__ */ P(c, {
813
807
  direction: "horizontal",
814
808
  align: "center",
809
+ justify: "between",
815
810
  gap: "md",
816
811
  className: "min-w-0",
817
- children: [/* @__PURE__ */ k(d, {
812
+ children: [/* @__PURE__ */ N(m, {
818
813
  value: b,
819
814
  size: "xs",
820
815
  className: "truncate",
821
816
  emptyLabel: u.unknownSize
822
- }), !!x && /* @__PURE__ */ A(r, {
817
+ }), !!x && /* @__PURE__ */ P(a, {
823
818
  tag: "span",
824
819
  size: "xs",
825
820
  type: "secondary",
826
- className: "ml-auto inline-flex items-center gap-space-xs",
827
- children: [/* @__PURE__ */ k(ae, { className: "size-icon-sm" }), x]
821
+ className: "inline-flex items-center gap-space-xs",
822
+ children: [/* @__PURE__ */ N(se, { className: "size-icon-sm" }), x]
828
823
  })]
829
824
  })]
830
825
  })
@@ -832,185 +827,184 @@ function je({ item: e, selected: i = !1, density: s = "comfortable", showMeta: c
832
827
  ]
833
828
  });
834
829
  }
835
- function Me({ items: e, selectedSet: a, accessors: o, strings: s, onToggle: c, onDetails: l }) {
836
- return /* @__PURE__ */ A("div", {
830
+ function Ie({ items: e, selectedSet: t, accessors: n, strings: s, onToggle: c, onDetails: l }) {
831
+ return /* @__PURE__ */ P("div", {
837
832
  className: "media-library-list--component min-w-180",
838
- children: [/* @__PURE__ */ A("div", {
833
+ children: [/* @__PURE__ */ P("div", {
839
834
  className: "sticky top-0 z-10 grid grid-cols-[32px_42px_minmax(0,1fr)_86px_88px_120px_72px_34px] items-center gap-space-lg border-b border-border bg-background px-row-x py-row-y",
840
835
  children: [
841
- /* @__PURE__ */ k("span", {}),
842
- /* @__PURE__ */ k("span", {}),
843
- /* @__PURE__ */ k(i, { children: s.table.name }),
844
- /* @__PURE__ */ k(i, { children: s.table.type }),
845
- /* @__PURE__ */ k(i, { children: s.table.size }),
846
- /* @__PURE__ */ k(i, { children: s.table.collection }),
847
- /* @__PURE__ */ k(i, { children: s.table.used }),
848
- /* @__PURE__ */ k("span", {})
836
+ /* @__PURE__ */ N("span", {}),
837
+ /* @__PURE__ */ N("span", {}),
838
+ /* @__PURE__ */ N(i, { children: s.table.name }),
839
+ /* @__PURE__ */ N(i, { children: s.table.type }),
840
+ /* @__PURE__ */ N(i, { children: s.table.size }),
841
+ /* @__PURE__ */ N(i, { children: s.table.collection }),
842
+ /* @__PURE__ */ N(i, { children: s.table.used }),
843
+ /* @__PURE__ */ N("span", {})
849
844
  ]
850
845
  }), e.map((e) => {
851
- let i = o.getId(e), u = a.has(i), f = o.getType(e), p = o.getName(e), m = o.getSrc(e), g = o.getPublic(e) === !1;
852
- return /* @__PURE__ */ A("div", {
846
+ let i = n.getId(e), u = t.has(i), d = n.getType(e), f = n.getName(e), p = n.getSrc(e), h = n.getPublic(e) === !1;
847
+ return /* @__PURE__ */ P("div", {
853
848
  "data-selected": u || void 0,
854
- className: t("media-library-list--row relative grid grid-cols-[32px_42px_minmax(0,1fr)_86px_88px_120px_72px_34px] items-center gap-space-lg border-b border-border/60 px-row-x py-row-y last:border-b-0", "cursor-pointer rounded-radius transition-colors hover:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", u && "bg-primary/10"),
849
+ className: r("media-library-list--row relative grid grid-cols-[32px_42px_minmax(0,1fr)_86px_88px_120px_72px_34px] items-center gap-space-lg border-b border-border/60 px-row-x py-row-y last:border-b-0", "cursor-pointer rounded-inner transition-colors hover:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", u && "bg-primary/10"),
855
850
  onClick: () => c(i),
856
851
  children: [
857
- /* @__PURE__ */ k(n, {
852
+ /* @__PURE__ */ N("button", {
858
853
  type: "button",
859
- tone: "secondary",
860
- buttonStyle: "ghost",
861
- "aria-label": p,
854
+ "aria-label": f,
862
855
  "aria-pressed": u,
863
- className: "media-library-list--select absolute inset-0 z-10 h-full w-full [&:not([aria-disabled=true]):not(:disabled)]:hover:bg-transparent focus-visible:ring-inset",
856
+ className: r("media-library-list--select rounded-inner", je),
864
857
  onClick: (e) => {
865
858
  e.stopPropagation(), c(i);
866
859
  }
867
860
  }),
868
- /* @__PURE__ */ k("span", {
869
- className: t("inline-flex size-icon-lg items-center justify-center rounded-radius-md border border-border text-transparent", u && "border-primary bg-primary text-primary-foreground"),
861
+ /* @__PURE__ */ N("span", {
862
+ className: r("inline-flex size-icon-lg items-center justify-center rounded-radius border border-border text-transparent", u && "border-primary bg-primary text-primary-foreground"),
870
863
  "aria-hidden": "true",
871
- children: /* @__PURE__ */ k(j, { className: "size-icon-sm" })
864
+ children: /* @__PURE__ */ N(re, { className: "size-icon-sm" })
872
865
  }),
873
- /* @__PURE__ */ k(De, {
874
- tint: o.getTint(e),
875
- className: "size-9 rounded-radius-md",
876
- children: m ? /* @__PURE__ */ k("img", {
877
- src: m,
866
+ /* @__PURE__ */ N(K, {
867
+ tint: n.getTint(e),
868
+ className: "size-9 rounded-inner",
869
+ children: p ? /* @__PURE__ */ N("img", {
870
+ src: p,
878
871
  alt: "",
879
872
  loading: "lazy",
880
873
  className: "size-full object-cover"
881
- }) : /* @__PURE__ */ k("div", {
874
+ }) : /* @__PURE__ */ N("div", {
882
875
  className: "flex size-full items-center justify-center text-muted-foreground",
883
- children: U(f, "size-icon")
876
+ children: W(d, "size-icon")
884
877
  })
885
878
  }),
886
- /* @__PURE__ */ A(r, {
879
+ /* @__PURE__ */ P(a, {
887
880
  tag: "div",
888
881
  weight: "semibold",
889
882
  className: "flex min-w-0 items-center gap-space-xs truncate",
890
- children: [p, g && /* @__PURE__ */ k(F, { className: "size-icon-sm shrink-0 text-muted-foreground" })]
883
+ children: [f, h && /* @__PURE__ */ N(z, { className: "size-icon-sm shrink-0 text-muted-foreground" })]
891
884
  }),
892
- /* @__PURE__ */ k(h, {
885
+ /* @__PURE__ */ N(v, {
893
886
  tone: "secondary",
894
- children: W(f, s)
887
+ children: G(d, s)
895
888
  }),
896
- /* @__PURE__ */ k(d, {
897
- value: o.getSize(e),
889
+ /* @__PURE__ */ N(m, {
890
+ value: n.getSize(e),
898
891
  size: "xs",
899
892
  emptyLabel: s.unknownSize
900
893
  }),
901
- /* @__PURE__ */ k(r, {
894
+ /* @__PURE__ */ N(a, {
902
895
  size: "xs",
903
896
  type: "secondary",
904
897
  className: "truncate",
905
- children: o.getCollection(e) || "-"
898
+ children: n.getCollection(e) || "—"
906
899
  }),
907
- /* @__PURE__ */ k(r, {
900
+ /* @__PURE__ */ N(a, {
908
901
  size: "xs",
909
902
  type: "secondary",
910
- children: o.getUsageCount(e) ? o.getUsageCount(e) : "-"
903
+ children: n.getUsageCount(e) ? n.getUsageCount(e) : "—"
911
904
  }),
912
- /* @__PURE__ */ k(n, {
905
+ /* @__PURE__ */ N(o, {
913
906
  type: "button",
914
907
  tone: "secondary",
915
908
  buttonStyle: "ghost",
916
909
  size: "sm",
917
910
  iconOnly: !0,
918
911
  className: "relative z-20",
919
- "aria-label": z(s.cardDetails, { name: p }),
912
+ "aria-label": V(s.cardDetails, { name: f }),
920
913
  onClick: (e) => {
921
914
  e.stopPropagation(), l(i);
922
915
  },
923
- children: /* @__PURE__ */ k(P, { className: "size-icon-md" })
916
+ children: /* @__PURE__ */ N(L, { className: "size-icon-md" })
924
917
  })
925
918
  ]
926
919
  }, i);
927
920
  })]
928
921
  });
929
922
  }
930
- function Ne({ item: e, collections: t = [], accessors: i, strings: s, onClose: c, onUpdate: l, onRemove: u, renderDetail: p }) {
923
+ function Le({ item: e, collections: t = [], accessors: n, strings: r, onClose: i, onUpdate: l, onRemove: u, onReplace: d, renderDetail: f }) {
931
924
  if (!e) return null;
932
- let m = i.getName(e), b = i.getType(e), x = i.getSrc(e), S = i.getCollection(e) ?? t[0]?.value ?? "", C = i.getTags(e), w = i.getPublic(e) ?? !0, T = p?.(e, {
933
- accessors: i,
925
+ let p = n.getName(e), g = n.getType(e), _ = n.getSrc(e), C = n.getCollection(e) ?? t[0]?.value ?? "", w = n.getTags(e), ee = n.getPublic(e) ?? !0, T = f?.(e, {
926
+ accessors: n,
934
927
  update: l,
935
928
  remove: u,
936
- close: c
929
+ replace: d,
930
+ close: i
937
931
  });
938
- return T ? /* @__PURE__ */ k(ee, { children: T }) : /* @__PURE__ */ A("aside", {
932
+ return T ? /* @__PURE__ */ N(M, { children: T }) : /* @__PURE__ */ P("aside", {
939
933
  className: "media-library-detail-panel--component flex min-h-0 w-full flex-col border-l border-border bg-background @2xl/media-library:w-72",
940
- children: [/* @__PURE__ */ k("div", {
934
+ children: [/* @__PURE__ */ N("div", {
941
935
  className: "media-library-detail-panel--header border-b border-border p-surface",
942
- children: /* @__PURE__ */ A(o, {
936
+ children: /* @__PURE__ */ P(c, {
943
937
  direction: "horizontal",
944
938
  align: "center",
945
939
  gap: "md",
946
- children: [/* @__PURE__ */ k(n, {
940
+ children: [/* @__PURE__ */ N(o, {
947
941
  type: "button",
948
942
  tone: "secondary",
949
943
  buttonStyle: "ghost",
950
944
  size: "sm",
951
945
  iconOnly: !0,
952
- "aria-label": s.detail.close,
953
- onClick: c,
954
- children: /* @__PURE__ */ k(te, { className: "size-icon-md" })
955
- }), /* @__PURE__ */ k(r, {
946
+ "aria-label": r.detail.close,
947
+ onClick: i,
948
+ children: /* @__PURE__ */ N(F, { className: "size-icon-md" })
949
+ }), /* @__PURE__ */ N(a, {
956
950
  weight: "semibold",
957
- children: s.detail.title
951
+ children: r.detail.title
958
952
  })]
959
953
  })
960
- }), /* @__PURE__ */ A("div", {
954
+ }), /* @__PURE__ */ P("div", {
961
955
  className: "media-library-detail-panel--body grid min-h-0 gap-space-xl overflow-y-auto p-surface",
962
956
  children: [
963
- /* @__PURE__ */ A(De, {
964
- tint: i.getTint(e),
957
+ /* @__PURE__ */ P(K, {
958
+ tint: n.getTint(e),
965
959
  className: "aspect-[4/3] rounded-radius border border-border",
966
- children: [/* @__PURE__ */ k(Oe, {
967
- src: x,
968
- alt: i.getAlt(e) || m,
969
- type: b,
960
+ children: [/* @__PURE__ */ N(q, {
961
+ src: _,
962
+ alt: n.getAlt(e) || p,
963
+ type: g,
970
964
  className: "size-full object-cover"
971
- }), b === "video" && !!i.getDuration(e) && /* @__PURE__ */ A(h, {
965
+ }), g === "video" && !!n.getDuration(e) && /* @__PURE__ */ P(v, {
972
966
  className: "absolute bottom-2 right-2 bg-inverse-background text-inverse-foreground",
973
- children: [/* @__PURE__ */ k(se, { className: "size-icon-sm fill-current" }), i.getDuration(e)]
967
+ children: [/* @__PURE__ */ N(B, { className: "size-icon-sm fill-current" }), n.getDuration(e)]
974
968
  })]
975
969
  }),
976
- /* @__PURE__ */ k(r, {
970
+ /* @__PURE__ */ N(a, {
977
971
  tag: "div",
978
972
  weight: "semibold",
979
973
  className: "break-words",
980
- children: m
974
+ children: p
981
975
  }),
982
- /* @__PURE__ */ k(a, {
983
- render: /* @__PURE__ */ k("dl", {}),
976
+ /* @__PURE__ */ N(s, {
977
+ render: /* @__PURE__ */ N("dl", {}),
984
978
  columns: 1,
985
979
  gap: "md",
986
980
  className: "media-library-detail-panel--facts",
987
981
  children: [
988
- [s.detail.type, W(b, s)],
989
- [s.detail.size, /* @__PURE__ */ k(d, {
990
- value: i.getSize(e),
982
+ [r.detail.type, G(g, r)],
983
+ [r.detail.size, /* @__PURE__ */ N(m, {
984
+ value: n.getSize(e),
991
985
  weight: "medium",
992
- emptyLabel: s.unknownSize
986
+ emptyLabel: r.unknownSize
993
987
  })],
994
- [s.detail.dimensions, /* @__PURE__ */ k(f, {
995
- width: i.getWidth(e),
996
- height: i.getHeight(e),
988
+ [r.detail.dimensions, /* @__PURE__ */ N(h, {
989
+ width: n.getWidth(e),
990
+ height: n.getHeight(e),
997
991
  weight: "medium",
998
- emptyLabel: s.unknownSize
992
+ emptyLabel: r.unknownSize
999
993
  })],
1000
- [s.detail.uploaded, String(i.getUploadedAt(e) ?? "-")],
1001
- [s.detail.usedIn, G(i.getUsageCount(e), s)]
1002
- ].map(([e, t]) => /* @__PURE__ */ A(o, {
994
+ [r.detail.uploaded, String(n.getUploadedAt(e) ?? "—")],
995
+ [r.detail.usedIn, Me(n.getUsageCount(e), r)]
996
+ ].map(([e, t]) => /* @__PURE__ */ P(c, {
1003
997
  direction: "horizontal",
1004
998
  justify: "between",
1005
999
  gap: "xl",
1006
- children: [/* @__PURE__ */ k("dt", { children: /* @__PURE__ */ k(r, {
1000
+ children: [/* @__PURE__ */ N("dt", { children: /* @__PURE__ */ N(a, {
1007
1001
  tag: "span",
1008
1002
  size: "xs",
1009
1003
  type: "secondary",
1010
1004
  children: e
1011
- }) }), /* @__PURE__ */ k("dd", {
1005
+ }) }), /* @__PURE__ */ N("dd", {
1012
1006
  className: "m-0 text-right",
1013
- children: typeof t == "string" ? /* @__PURE__ */ k(r, {
1007
+ children: typeof t == "string" ? /* @__PURE__ */ N(a, {
1014
1008
  tag: "span",
1015
1009
  weight: "medium",
1016
1010
  children: t
@@ -1018,196 +1012,197 @@ function Ne({ item: e, collections: t = [], accessors: i, strings: s, onClose: c
1018
1012
  })]
1019
1013
  }, e))
1020
1014
  }),
1021
- /* @__PURE__ */ k(_, {
1022
- label: s.detail.altText,
1023
- children: /* @__PURE__ */ k(g, {
1024
- value: i.getAlt(e) ?? "",
1025
- placeholder: s.detail.altPlaceholder,
1015
+ /* @__PURE__ */ N(b, {
1016
+ label: r.detail.altText,
1017
+ children: /* @__PURE__ */ N(y, {
1018
+ value: n.getAlt(e) ?? "",
1019
+ placeholder: r.detail.altPlaceholder,
1026
1020
  onChange: (e) => l({ alt: e.target.value })
1027
1021
  })
1028
1022
  }),
1029
- /* @__PURE__ */ k(_, {
1030
- label: s.detail.collection,
1031
- children: /* @__PURE__ */ k(v, {
1032
- value: S,
1023
+ /* @__PURE__ */ N(b, {
1024
+ label: r.detail.collection,
1025
+ children: /* @__PURE__ */ N(x, {
1026
+ value: C,
1033
1027
  options: t.map((e) => ({
1034
1028
  value: e.value,
1035
1029
  label: String(e.label)
1036
1030
  })),
1037
- "aria-label": s.detail.collection,
1031
+ "aria-label": r.detail.collection,
1038
1032
  onValueChange: (e) => l({ collection: e })
1039
1033
  })
1040
1034
  }),
1041
- /* @__PURE__ */ k(_, {
1042
- label: s.detail.tags,
1043
- children: /* @__PURE__ */ k(g, {
1044
- value: C.join(", "),
1045
- placeholder: s.detail.tagsPlaceholder,
1035
+ /* @__PURE__ */ N(b, {
1036
+ label: r.detail.tags,
1037
+ children: /* @__PURE__ */ N(y, {
1038
+ value: w.join(", "),
1039
+ placeholder: r.detail.tagsPlaceholder,
1046
1040
  onChange: (e) => l({ tags: e.target.value.split(",").map((e) => e.trim()).filter(Boolean) })
1047
1041
  })
1048
1042
  }),
1049
- /* @__PURE__ */ k("div", {
1050
- className: "media-library-detail-panel--public rounded-radius border border-border bg-muted/20 p-surface",
1051
- children: /* @__PURE__ */ A(o, {
1043
+ /* @__PURE__ */ N("div", {
1044
+ className: "media-library-detail-panel--public",
1045
+ children: /* @__PURE__ */ P(c, {
1052
1046
  direction: "horizontal",
1053
1047
  align: "center",
1054
1048
  justify: "between",
1055
1049
  gap: "xl",
1056
- children: [/* @__PURE__ */ A("div", { children: [/* @__PURE__ */ k(r, {
1050
+ children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N(a, {
1057
1051
  weight: "semibold",
1058
- children: s.detail.public
1059
- }), /* @__PURE__ */ k(r, {
1052
+ children: r.detail.public
1053
+ }), /* @__PURE__ */ N(a, {
1060
1054
  size: "xs",
1061
1055
  type: "secondary",
1062
- children: w ? s.detail.publicHint : s.detail.privateHint
1063
- })] }), /* @__PURE__ */ k(y, {
1064
- "aria-label": s.detail.public,
1065
- checked: w,
1056
+ children: ee ? r.detail.publicHint : r.detail.privateHint
1057
+ })] }), /* @__PURE__ */ N(S, {
1058
+ "aria-label": r.detail.public,
1059
+ checked: ee,
1066
1060
  onValueChange: (e) => l({ public: e })
1067
1061
  })]
1068
1062
  })
1069
1063
  }),
1070
- /* @__PURE__ */ A("div", {
1064
+ /* @__PURE__ */ P("div", {
1071
1065
  className: "media-library-detail-panel--actions flex flex-wrap gap-space-md",
1072
- children: [/* @__PURE__ */ A(n, {
1066
+ children: [d && /* @__PURE__ */ N(o, {
1073
1067
  type: "button",
1074
1068
  tone: "secondary",
1075
1069
  buttonStyle: "outline",
1076
- children: [/* @__PURE__ */ k(R, { className: "size-icon-md" }), s.detail.replace]
1077
- }), /* @__PURE__ */ A(n, {
1070
+ onClick: d,
1071
+ children: r.detail.replace
1072
+ }), /* @__PURE__ */ N(o, {
1078
1073
  type: "button",
1079
1074
  tone: "destructive",
1080
1075
  buttonStyle: "ghost",
1081
1076
  onClick: u,
1082
- children: [/* @__PURE__ */ k(le, { className: "size-icon-md" }), s.detail.delete]
1077
+ children: r.detail.delete
1083
1078
  })]
1084
1079
  })
1085
1080
  ]
1086
1081
  })]
1087
1082
  });
1088
1083
  }
1089
- function K({ stagedFiles: e, uploadOptions: t, collections: i = [], uploading: a = !1, strings: s, onFiles: c, onRemoveFile: l, onOptionsChange: u, empty: f }) {
1090
- return /* @__PURE__ */ k("div", {
1084
+ function Re({ stagedFiles: e, uploadOptions: t, collections: n = [], uploading: r = !1, strings: i, onFiles: s, onRemoveFile: l, onOptionsChange: u, empty: d }) {
1085
+ return /* @__PURE__ */ N("div", {
1091
1086
  className: "media-library-upload-panel--component p-surface",
1092
- children: /* @__PURE__ */ A(o, {
1087
+ children: /* @__PURE__ */ P(c, {
1093
1088
  gap: "xl",
1094
1089
  children: [
1095
- /* @__PURE__ */ k(b, {
1096
- onDrop: c,
1090
+ /* @__PURE__ */ N(ee, {
1091
+ onDrop: s,
1097
1092
  accept: "image/*,video/*",
1098
1093
  multiple: !0,
1099
1094
  size: "md",
1100
1095
  strings: {
1101
- instruction: s.upload.dropTitle,
1102
- helper: s.upload.dropHint,
1103
- dragOver: s.upload.dragOver
1096
+ instruction: i.upload.dropTitle,
1097
+ helper: i.upload.dropHint,
1098
+ dragOver: i.upload.dragOver
1104
1099
  }
1105
1100
  }),
1106
- e.length > 0 ? /* @__PURE__ */ k(o, {
1101
+ e.length > 0 ? /* @__PURE__ */ N(c, {
1107
1102
  gap: "md",
1108
1103
  className: "media-library-upload-panel--staged",
1109
- children: e.map((e) => /* @__PURE__ */ A("div", {
1104
+ children: e.map((e) => /* @__PURE__ */ P("div", {
1110
1105
  className: "media-library-upload-panel--staged-file flex items-center gap-space-lg rounded-radius border border-border bg-card px-row-x py-row-y",
1111
1106
  children: [
1112
- /* @__PURE__ */ k(De, {
1113
- className: "size-10 rounded-radius-md",
1114
- children: e.src ? /* @__PURE__ */ k("img", {
1107
+ /* @__PURE__ */ N(K, {
1108
+ className: "size-10 rounded-inner",
1109
+ children: e.src ? /* @__PURE__ */ N("img", {
1115
1110
  src: e.src,
1116
1111
  alt: e.name,
1117
1112
  className: "size-full object-cover"
1118
- }) : /* @__PURE__ */ k("div", {
1113
+ }) : /* @__PURE__ */ N("div", {
1119
1114
  className: "flex size-full items-center justify-center text-muted-foreground",
1120
- children: U(e.type, "size-icon")
1115
+ children: W(e.type, "size-icon")
1121
1116
  })
1122
1117
  }),
1123
- /* @__PURE__ */ A("div", {
1118
+ /* @__PURE__ */ P("div", {
1124
1119
  className: "min-w-0 flex-1",
1125
1120
  children: [
1126
- /* @__PURE__ */ A("div", {
1121
+ /* @__PURE__ */ P("div", {
1127
1122
  className: "flex items-baseline gap-space-lg",
1128
- children: [/* @__PURE__ */ k(r, {
1123
+ children: [/* @__PURE__ */ N(a, {
1129
1124
  weight: "semibold",
1130
1125
  className: "truncate",
1131
1126
  children: e.name
1132
- }), /* @__PURE__ */ k(d, {
1127
+ }), /* @__PURE__ */ N(m, {
1133
1128
  value: e.size,
1134
1129
  size: "xs",
1135
1130
  className: "ml-auto shrink-0"
1136
1131
  })]
1137
1132
  }),
1138
- (e.status === "uploading" || e.status === "done") && /* @__PURE__ */ k("div", {
1133
+ (e.status === "uploading" || e.status === "done") && /* @__PURE__ */ N("div", {
1139
1134
  className: "mt-space-md h-1 overflow-hidden rounded-full bg-muted",
1140
- children: /* @__PURE__ */ k("div", {
1135
+ children: /* @__PURE__ */ N("div", {
1141
1136
  className: "h-full rounded-full bg-primary transition-[width]",
1142
1137
  style: { width: `${e.progress}%` }
1143
1138
  })
1144
1139
  }),
1145
- e.status === "error" && /* @__PURE__ */ k(r, {
1140
+ e.status === "error" && /* @__PURE__ */ N(a, {
1146
1141
  type: "error",
1147
1142
  children: e.error
1148
1143
  })
1149
1144
  ]
1150
1145
  }),
1151
- e.status === "done" ? /* @__PURE__ */ k(h, {
1146
+ e.status === "done" ? /* @__PURE__ */ N(v, {
1152
1147
  tone: "success",
1153
- children: s.upload.done
1154
- }) : e.status === "uploading" ? /* @__PURE__ */ k(p, {
1148
+ children: i.upload.done
1149
+ }) : e.status === "uploading" ? /* @__PURE__ */ N(g, {
1155
1150
  value: Math.round(e.progress),
1156
1151
  scaled: !0,
1157
1152
  size: "xs",
1158
1153
  type: "secondary"
1159
- }) : /* @__PURE__ */ k(n, {
1154
+ }) : /* @__PURE__ */ N(o, {
1160
1155
  type: "button",
1161
1156
  tone: "secondary",
1162
1157
  buttonStyle: "ghost",
1163
1158
  size: "sm",
1164
1159
  iconOnly: !0,
1165
- disabled: a,
1166
- "aria-label": z(s.upload.removeFile, { name: e.name }),
1160
+ disabled: r,
1161
+ "aria-label": V(i.upload.removeFile, { name: e.name }),
1167
1162
  onClick: () => l(e.id),
1168
- children: /* @__PURE__ */ k(de, { className: "size-icon-md" })
1163
+ children: /* @__PURE__ */ N(me, { className: "size-icon-md" })
1169
1164
  })
1170
1165
  ]
1171
1166
  }, e.id))
1172
- }) : f,
1173
- /* @__PURE__ */ A("div", {
1174
- className: "media-library-upload-panel--options grid gap-space-lg rounded-radius border border-border bg-muted/20 p-surface @2xl/media-library:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",
1167
+ }) : d,
1168
+ /* @__PURE__ */ P("div", {
1169
+ className: "media-library-upload-panel--options grid gap-space-lg @2xl/media-library:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",
1175
1170
  children: [
1176
- /* @__PURE__ */ k(_, {
1177
- label: s.upload.collection,
1178
- children: /* @__PURE__ */ k(v, {
1179
- value: t.collection ?? i[0]?.value,
1180
- options: i.map((e) => ({
1171
+ /* @__PURE__ */ N(b, {
1172
+ label: i.upload.collection,
1173
+ children: /* @__PURE__ */ N(x, {
1174
+ value: t.collection ?? n[0]?.value,
1175
+ options: n.map((e) => ({
1181
1176
  value: e.value,
1182
1177
  label: String(e.label)
1183
1178
  })),
1184
- "aria-label": s.upload.collection,
1179
+ "aria-label": i.upload.collection,
1185
1180
  onValueChange: (e) => u({ collection: e })
1186
1181
  })
1187
1182
  }),
1188
- /* @__PURE__ */ k(_, {
1189
- label: s.upload.tags,
1190
- children: /* @__PURE__ */ k(g, {
1183
+ /* @__PURE__ */ N(b, {
1184
+ label: i.upload.tags,
1185
+ children: /* @__PURE__ */ N(y, {
1191
1186
  value: t.tags.join(", "),
1192
- placeholder: s.upload.tagsPlaceholder,
1187
+ placeholder: i.upload.tagsPlaceholder,
1193
1188
  onChange: (e) => u({ tags: e.target.value.split(",").map((e) => e.trim()).filter(Boolean) })
1194
1189
  })
1195
1190
  }),
1196
- /* @__PURE__ */ A(o, {
1191
+ /* @__PURE__ */ P(c, {
1197
1192
  direction: "horizontal",
1198
1193
  align: "center",
1199
1194
  justify: "between",
1200
1195
  gap: "xl",
1201
1196
  className: "@2xl/media-library:self-end",
1202
- children: [/* @__PURE__ */ A("div", { children: [/* @__PURE__ */ k(r, {
1197
+ children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N(a, {
1203
1198
  weight: "semibold",
1204
- children: s.upload.public
1205
- }), /* @__PURE__ */ k(r, {
1199
+ children: i.upload.public
1200
+ }), /* @__PURE__ */ N(a, {
1206
1201
  size: "xs",
1207
1202
  type: "secondary",
1208
- children: s.upload.publicHint
1209
- })] }), /* @__PURE__ */ k(y, {
1210
- "aria-label": s.upload.public,
1203
+ children: i.upload.publicHint
1204
+ })] }), /* @__PURE__ */ N(S, {
1205
+ "aria-label": i.upload.public,
1211
1206
  checked: t.public,
1212
1207
  onValueChange: (e) => u({ public: e })
1213
1208
  })]
@@ -1218,93 +1213,95 @@ function K({ stagedFiles: e, uploadOptions: t, collections: i = [], uploading: a
1218
1213
  })
1219
1214
  });
1220
1215
  }
1221
- function Pe({ tab: e, selectedIds: i, selectionMode: a, stagedFiles: o, strings: s, onClearSelection: c, className: l }) {
1222
- let d = i.length, f = o.reduce((e, t) => e + t.size, 0), p = o.length, m = t("media-library-footer-summary--component flex min-w-0 items-center gap-space-lg", l);
1223
- return e === "upload" ? /* @__PURE__ */ k("div", {
1216
+ function J({ tab: e, selectedIds: t, selectionMode: n, stagedFiles: i, strings: s, onClearSelection: c, className: l }) {
1217
+ let u = t.length, d = i.reduce((e, t) => e + t.size, 0), f = i.length, m = r("media-library-footer-summary--component flex min-w-0 items-center gap-space-lg", l);
1218
+ return e === "upload" ? /* @__PURE__ */ N("div", {
1224
1219
  className: m,
1225
1220
  "aria-live": "polite",
1226
- children: /* @__PURE__ */ k(r, {
1221
+ children: /* @__PURE__ */ N(a, {
1227
1222
  size: "xs",
1228
1223
  type: "secondary",
1229
1224
  className: "truncate",
1230
- children: p === 0 ? s.footer.noFiles : z(s.footer.stagedSummary, {
1231
- count: p,
1232
- size: u(f) ?? s.unknownSize
1225
+ children: f === 0 ? s.footer.noFiles : V(s.footer.stagedSummary, {
1226
+ count: f,
1227
+ size: p(d) ?? s.unknownSize
1233
1228
  })
1234
1229
  })
1235
- }) : /* @__PURE__ */ k("div", {
1230
+ }) : /* @__PURE__ */ N("div", {
1236
1231
  className: m,
1237
1232
  "aria-live": "polite",
1238
- children: d > 0 ? /* @__PURE__ */ A(ee, { children: [/* @__PURE__ */ k(r, {
1233
+ children: u > 0 ? /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(a, {
1239
1234
  weight: "semibold",
1240
1235
  className: "whitespace-nowrap",
1241
- children: z(s.footer.selectedCount, { count: d })
1242
- }), /* @__PURE__ */ k(n, {
1236
+ children: V(s.footer.selectedCount, { count: u })
1237
+ }), /* @__PURE__ */ N(o, {
1243
1238
  type: "button",
1244
1239
  tone: "secondary",
1245
1240
  buttonStyle: "ghost",
1246
1241
  size: "sm",
1247
1242
  onClick: c,
1248
1243
  children: s.footer.clear
1249
- })] }) : /* @__PURE__ */ k(r, {
1244
+ })] }) : /* @__PURE__ */ N(a, {
1250
1245
  size: "xs",
1251
1246
  type: "secondary",
1252
1247
  className: "truncate",
1253
- children: a === "single" ? s.footer.pickOne : s.footer.pickMany
1248
+ children: n === "single" ? s.footer.pickOne : s.footer.pickMany
1254
1249
  })
1255
1250
  });
1256
1251
  }
1257
- function Fe({ tab: e, selectedItems: r, selectedIds: i, stagedFiles: a, uploading: o = !1, strings: s, confirmLabel: c, cancelLabel: l, onCancel: u, onConfirm: d, onUpload: f, onCancelUpload: p, className: m }) {
1258
- let h = i.length, g = a.length;
1259
- return e === "upload" ? /* @__PURE__ */ A("div", {
1260
- className: t("media-library-footer-actions--component flex min-w-0 flex-col-reverse gap-space-md @md/media-library:flex-row @md/media-library:justify-end", m),
1261
- children: [/* @__PURE__ */ k(n, {
1252
+ function Y({ tab: e, selectedItems: t, selectedIds: n, stagedFiles: i, uploading: a = !1, strings: s, confirmLabel: c, cancelLabel: l, onCancel: u, onConfirm: d, onUpload: f, onCancelUpload: p, className: m }) {
1253
+ let h = n.length, g = i.length;
1254
+ return e === "upload" ? /* @__PURE__ */ P("div", {
1255
+ className: r("media-library-footer-actions--component flex min-w-0 flex-col-reverse gap-space-md @md/media-library:flex-row @md/media-library:justify-end", m),
1256
+ children: [/* @__PURE__ */ N(o, {
1262
1257
  type: "button",
1263
1258
  tone: "secondary",
1264
1259
  buttonStyle: "ghost",
1265
- disabled: o,
1260
+ disabled: a,
1266
1261
  onClick: p,
1267
1262
  children: l ?? s.footer.cancel
1268
- }), /* @__PURE__ */ k(n, {
1263
+ }), /* @__PURE__ */ N(o, {
1264
+ tone: "primary",
1269
1265
  type: "button",
1270
- disabled: g === 0 || o,
1266
+ disabled: g === 0 || a,
1271
1267
  onClick: f,
1272
- loading: o,
1268
+ loading: a,
1273
1269
  strings: { loading: s.footer.uploading },
1274
- children: g <= 1 ? s.footer.upload : z(s.footer.uploadMany, { count: g })
1270
+ children: g <= 1 ? s.footer.upload : V(s.footer.uploadMany, { count: g })
1275
1271
  })]
1276
- }) : /* @__PURE__ */ A("div", {
1277
- className: t("media-library-footer-actions--component flex min-w-0 flex-col-reverse gap-space-md @md/media-library:flex-row @md/media-library:justify-end", m),
1278
- children: [/* @__PURE__ */ k(n, {
1272
+ }) : /* @__PURE__ */ P("div", {
1273
+ className: r("media-library-footer-actions--component flex min-w-0 flex-col-reverse gap-space-md @md/media-library:flex-row @md/media-library:justify-end", m),
1274
+ children: [/* @__PURE__ */ N(o, {
1279
1275
  type: "button",
1280
1276
  tone: "secondary",
1281
1277
  buttonStyle: "ghost",
1282
1278
  onClick: u,
1283
1279
  children: l ?? s.footer.cancel
1284
- }), /* @__PURE__ */ k(n, {
1280
+ }), /* @__PURE__ */ N(o, {
1281
+ tone: "primary",
1285
1282
  type: "button",
1286
1283
  disabled: h === 0,
1287
1284
  onClick: d,
1288
- children: c ?? (h === 0 ? s.footer.confirmEmpty : r.length === 1 ? s.footer.confirmOne : z(s.footer.confirmMany, { count: h }))
1285
+ children: c ?? (h === 0 ? s.footer.confirmEmpty : t.length === 1 ? s.footer.confirmOne : V(s.footer.confirmMany, { count: h }))
1289
1286
  })]
1290
1287
  });
1291
1288
  }
1292
- function Ie({ tab: e, selectedItems: n, selectedIds: r, selectionMode: i, stagedFiles: a, uploading: o = !1, strings: s, confirmLabel: c, cancelLabel: l, onCancel: u, onConfirm: d, onClearSelection: f, onUpload: p, onCancelUpload: m, chrome: h = "section", className: g }) {
1293
- return /* @__PURE__ */ k("footer", {
1294
- className: t("media-library-footer--component", h === "section" && "border-t border-border bg-background p-surface", g),
1295
- children: /* @__PURE__ */ A("div", {
1289
+ function ze({ tab: e, selectedItems: t, selectedIds: n, selectionMode: i, stagedFiles: a, uploading: o = !1, strings: s, confirmLabel: c, cancelLabel: l, onCancel: u, onConfirm: d, onClearSelection: f, onUpload: p, onCancelUpload: m, chrome: h = "section", className: g }) {
1290
+ return /* @__PURE__ */ N("footer", {
1291
+ className: r("media-library-footer--component", h === "section" && "border-t border-border bg-background p-surface", g),
1292
+ children: /* @__PURE__ */ P("div", {
1296
1293
  className: "flex min-w-0 flex-col gap-space-lg @md/media-library:flex-row @md/media-library:justify-between",
1297
- children: [/* @__PURE__ */ k(Pe, {
1294
+ children: [/* @__PURE__ */ N(J, {
1298
1295
  tab: e,
1299
- selectedIds: r,
1296
+ selectedIds: n,
1300
1297
  selectionMode: i,
1301
1298
  stagedFiles: a,
1302
1299
  strings: s,
1303
1300
  onClearSelection: f
1304
- }), /* @__PURE__ */ k(Fe, {
1301
+ }), /* @__PURE__ */ N(Y, {
1305
1302
  tab: e,
1306
- selectedItems: n,
1307
- selectedIds: r,
1303
+ selectedItems: t,
1304
+ selectedIds: n,
1308
1305
  stagedFiles: a,
1309
1306
  uploading: o,
1310
1307
  strings: s,
@@ -1320,9 +1317,9 @@ function Ie({ tab: e, selectedItems: n, selectedIds: r, selectionMode: i, staged
1320
1317
  }
1321
1318
  //#endregion
1322
1319
  //#region src/components/features/media-library/media-library.tsx
1323
- var Le = S(null);
1324
- function Re(e, t, n) {
1325
- return E(() => {
1320
+ var X = E(null);
1321
+ function Be(e, t, n) {
1322
+ return k(() => {
1326
1323
  if (e) return e;
1327
1324
  let r = /* @__PURE__ */ new Set();
1328
1325
  for (let e of t) {
@@ -1339,299 +1336,301 @@ function Re(e, t, n) {
1339
1336
  t
1340
1337
  ]);
1341
1338
  }
1342
- function q({ title: i, description: a, confirmLabel: l, cancelLabel: u, selectionMode: d = "multiple", density: f = "comfortable", showMeta: p = !0, allowUpload: h = !0, typeFilters: g, confirmOnSelect: _ = !1, onConfirm: v, onCancel: y, onClose: b, strings: x, slots: S, heightClassName: C, className: T, items: E, fetcher: D, accessors: O, collections: ee, value: te, defaultValue: ne, onValueChange: j, onItemUpdate: M, onItemDelete: re, onUpload: ie, onError: P, tab: ae, defaultTab: oe, onTabChange: F, view: se, defaultView: I, onViewChange: ce, query: L, defaultQuery: le, onQueryChange: ue, type: de, defaultType: me, onTypeChange: he, collection: B, defaultCollection: ge, onCollectionChange: _e, sort: ve, defaultSort: ye, onSortChange: be, uploadOptions: xe, defaultUploadOptions: Se, onUploadOptionsChange: Ce, ...we }) {
1343
- let V = e(pe, x), H = Ee({
1344
- items: E,
1345
- fetcher: D,
1346
- accessors: O,
1347
- collections: ee,
1348
- selectionMode: d,
1349
- value: te,
1350
- defaultValue: ne,
1351
- onValueChange: j,
1352
- onItemUpdate: M,
1353
- onItemDelete: re,
1354
- onUpload: ie,
1355
- onError: P,
1356
- tab: ae,
1357
- defaultTab: oe,
1358
- onTabChange: F,
1359
- view: se,
1360
- defaultView: I,
1361
- onViewChange: ce,
1362
- query: L,
1363
- defaultQuery: le,
1364
- onQueryChange: ue,
1365
- type: de,
1366
- defaultType: me,
1367
- onTypeChange: he,
1368
- collection: B,
1369
- defaultCollection: ge,
1370
- onCollectionChange: _e,
1371
- sort: ve,
1372
- defaultSort: ye,
1373
- onSortChange: be,
1374
- uploadOptions: xe,
1375
- defaultUploadOptions: Se,
1376
- onUploadOptionsChange: Ce
1377
- }), Te = Re(ee, H.items, H.accessors.getCollection), U = h ? H.tab : "library", W = H.detailId ? H.items.find((e) => H.accessors.getId(e) === H.detailId) ?? null : null, G = w(Le), De = !S?.footer, Oe = G && De ? /* @__PURE__ */ k(Pe, {
1378
- tab: U,
1379
- selectedIds: H.selectedIds,
1380
- selectionMode: d,
1381
- stagedFiles: H.stagedFiles,
1382
- strings: V,
1383
- onClearSelection: H.clearSelection,
1339
+ function Z({ title: i, titleSuffix: s, description: f, confirmLabel: p, cancelLabel: m, selectionMode: h = "multiple", density: g = "comfortable", showMeta: v = !0, allowUpload: y = !0, typeFilters: b, confirmOnSelect: x = !1, onConfirm: S, onCancel: ee, onClose: T, strings: E, slots: D, heightClassName: O, className: k, items: A, fetcher: j, accessors: M, collections: F, value: ne, defaultValue: re, onValueChange: ie, onItemUpdate: ae, onItemDelete: oe, onItemReplace: L, onUpload: se, onError: R, tab: z, defaultTab: B, onTabChange: ce, view: le, defaultView: ue, onViewChange: de, query: pe, defaultQuery: me, onQueryChange: _e, type: ve, defaultType: H, onTypeChange: ye, collection: be, defaultCollection: xe, onCollectionChange: U, sort: Se, defaultSort: Ce, onSortChange: we, uploadOptions: Te, defaultUploadOptions: Ee, onUploadOptionsChange: De, ...Oe }) {
1340
+ let { defaultScale: ke } = t(), je = e(void 0, ke), W = n(ge, E), G = Ae({
1341
+ items: A,
1342
+ fetcher: j,
1343
+ accessors: M,
1344
+ collections: F,
1345
+ selectionMode: h,
1346
+ value: ne,
1347
+ defaultValue: re,
1348
+ onValueChange: ie,
1349
+ onItemUpdate: ae,
1350
+ onItemDelete: oe,
1351
+ onUpload: se,
1352
+ onError: R,
1353
+ tab: z,
1354
+ defaultTab: B,
1355
+ onTabChange: ce,
1356
+ view: le,
1357
+ defaultView: ue,
1358
+ onViewChange: de,
1359
+ query: pe,
1360
+ defaultQuery: me,
1361
+ onQueryChange: _e,
1362
+ type: ve,
1363
+ defaultType: H,
1364
+ onTypeChange: ye,
1365
+ collection: be,
1366
+ defaultCollection: xe,
1367
+ onCollectionChange: U,
1368
+ sort: Se,
1369
+ defaultSort: Ce,
1370
+ onSortChange: we,
1371
+ uploadOptions: Te,
1372
+ defaultUploadOptions: Ee,
1373
+ onUploadOptionsChange: De
1374
+ }), Me = Be(F, G.items, G.accessors.getCollection), K = y ? G.tab : "library", q = G.detailId ? G.items.find((e) => G.accessors.getId(e) === G.detailId) ?? null : null, Z = te(X), Q = !D?.footer, Ve = Z && Q ? /* @__PURE__ */ N(J, {
1375
+ tab: K,
1376
+ selectedIds: G.selectedIds,
1377
+ selectionMode: h,
1378
+ stagedFiles: G.stagedFiles,
1379
+ strings: W,
1380
+ onClearSelection: G.clearSelection,
1384
1381
  className: "media-library-dialog--selection-summary shrink-0 justify-end"
1385
- }) : null, q = !!(i || a || S?.headerStart), J = !!(h || S?.headerEnd || Oe), Y = q || J, ze = () => {
1386
- v?.(H.selectedItems, H.selectedIds), b?.();
1387
- }, X = () => {
1388
- y?.(), b?.();
1389
- }, Z = (e) => {
1390
- let t = H.accessors.getId(e);
1391
- H.toggleSelection(t), _ && (v?.([e], [t]), b?.());
1392
- }, Be = H.query.trim(), Q = Be.length > 0 ? z(V.countSearch, {
1393
- count: H.filteredCount,
1394
- total: H.totalCount,
1395
- query: Be
1396
- }) : H.filteredCount === H.totalCount ? z(V.countAll, { count: H.totalCount }) : z(V.countFiltered, {
1397
- count: H.filteredCount,
1398
- total: H.totalCount
1399
- }), Ve = S?.footer ?? (G ? /* @__PURE__ */ k(Fe, {
1400
- tab: U,
1401
- selectedItems: H.selectedItems,
1402
- selectedIds: H.selectedIds,
1403
- stagedFiles: H.stagedFiles,
1404
- uploading: H.uploading,
1405
- strings: V,
1406
- confirmLabel: l,
1407
- cancelLabel: u,
1408
- onCancel: X,
1409
- onConfirm: ze,
1410
- onUpload: H.startUpload,
1382
+ }) : null, He = !!(i || s || f || D?.headerStart), Ue = !!(y || D?.headerEnd || Ve), We = He || Ue, Ge = () => {
1383
+ S?.(G.selectedItems, G.selectedIds), T?.();
1384
+ }, $ = () => {
1385
+ ee?.(), T?.();
1386
+ }, Ke = (e) => {
1387
+ let t = G.accessors.getId(e);
1388
+ G.toggleSelection(t), x && (S?.([e], [t]), T?.());
1389
+ }, qe = G.query.trim(), Je = qe.length > 0 ? V(W.countSearch, {
1390
+ count: G.filteredCount,
1391
+ total: G.totalCount,
1392
+ query: qe
1393
+ }) : G.filteredCount === G.totalCount ? V(W.countAll, { count: G.totalCount }) : V(W.countFiltered, {
1394
+ count: G.filteredCount,
1395
+ total: G.totalCount
1396
+ }), Ye = D?.footer ?? (Z ? /* @__PURE__ */ N(Y, {
1397
+ tab: K,
1398
+ selectedItems: G.selectedItems,
1399
+ selectedIds: G.selectedIds,
1400
+ stagedFiles: G.stagedFiles,
1401
+ uploading: G.uploading,
1402
+ strings: W,
1403
+ confirmLabel: p,
1404
+ cancelLabel: m,
1405
+ onCancel: $,
1406
+ onConfirm: Ge,
1407
+ onUpload: G.startUpload,
1411
1408
  onCancelUpload: () => {
1412
- H.cancelUpload(), H.clearStagedFiles(), H.setTab("library");
1409
+ G.cancelUpload(), G.clearStagedFiles(), G.setTab("library");
1413
1410
  },
1414
1411
  className: "ml-auto"
1415
- }) : /* @__PURE__ */ k(Ie, {
1416
- tab: U,
1417
- selectedItems: H.selectedItems,
1418
- selectedIds: H.selectedIds,
1419
- selectionMode: d,
1420
- stagedFiles: H.stagedFiles,
1421
- uploading: H.uploading,
1422
- strings: V,
1423
- confirmLabel: l,
1424
- cancelLabel: u,
1425
- onCancel: X,
1426
- onConfirm: ze,
1427
- onClearSelection: H.clearSelection,
1428
- onUpload: H.startUpload,
1412
+ }) : /* @__PURE__ */ N(ze, {
1413
+ tab: K,
1414
+ selectedItems: G.selectedItems,
1415
+ selectedIds: G.selectedIds,
1416
+ selectionMode: h,
1417
+ stagedFiles: G.stagedFiles,
1418
+ uploading: G.uploading,
1419
+ strings: W,
1420
+ confirmLabel: p,
1421
+ cancelLabel: m,
1422
+ onCancel: $,
1423
+ onConfirm: Ge,
1424
+ onClearSelection: G.clearSelection,
1425
+ onUpload: G.startUpload,
1429
1426
  onCancelUpload: () => {
1430
- H.cancelUpload(), H.clearStagedFiles(), H.setTab("library");
1427
+ G.cancelUpload(), G.clearStagedFiles(), G.setTab("library");
1431
1428
  }
1432
1429
  }));
1433
- return /* @__PURE__ */ A("section", {
1434
- className: t("media-library--component @container/media-library flex min-h-0 flex-col overflow-hidden rounded-radius border border-border bg-background", C ?? "h-190 max-h-[calc(100vh-7rem)]", T),
1435
- ...we,
1430
+ return /* @__PURE__ */ P("section", {
1431
+ className: r("media-library--component @container/media-library flex min-h-0 flex-col overflow-hidden rounded-radius border border-border bg-background", O ?? "h-190 max-h-[calc(100vh-7rem)]", k),
1432
+ ...Oe,
1436
1433
  children: [
1437
- Y && /* @__PURE__ */ A("header", {
1434
+ We && /* @__PURE__ */ P("header", {
1438
1435
  className: "media-library--header flex flex-col gap-space-lg border-b border-border p-surface @2xl/media-library:flex-row @2xl/media-library:items-center @2xl/media-library:justify-between",
1439
- children: [q && /* @__PURE__ */ A(o, {
1436
+ children: [He && /* @__PURE__ */ P(c, {
1440
1437
  direction: "horizontal",
1441
1438
  align: "start",
1442
1439
  gap: "lg",
1443
1440
  className: "min-w-0",
1444
- children: [S?.headerStart, (i || a) && /* @__PURE__ */ A("div", {
1441
+ children: [D?.headerStart, (i || s || f) && /* @__PURE__ */ P(c, {
1442
+ gap: "normal",
1445
1443
  className: "min-w-0",
1446
- children: [!!i && /* @__PURE__ */ k(r, {
1447
- tag: "div",
1448
- weight: "semibold",
1449
- children: i
1450
- }), !!a && /* @__PURE__ */ k(r, {
1444
+ children: [!!(i || s) && /* @__PURE__ */ N(l, {
1445
+ title: i,
1446
+ suffix: s,
1447
+ className: "media-library--title"
1448
+ }), !!f && /* @__PURE__ */ N(a, {
1451
1449
  type: "secondary",
1452
- className: "mt-0.5",
1453
- children: a
1450
+ children: f
1454
1451
  })]
1455
1452
  })]
1456
- }), J && /* @__PURE__ */ A("div", {
1457
- className: t("media-library--header-controls flex min-w-0 flex-wrap items-center gap-space-md", Oe ? "flex-1 justify-between" : "@2xl/media-library:justify-end"),
1458
- children: [/* @__PURE__ */ A(o, {
1453
+ }), Ue && /* @__PURE__ */ P("div", {
1454
+ className: r("media-library--header-controls flex min-w-0 flex-wrap items-center gap-space-md", Ve ? "flex-1 justify-between" : "@2xl/media-library:justify-end"),
1455
+ children: [/* @__PURE__ */ P(c, {
1459
1456
  direction: "horizontal",
1460
1457
  wrap: !0,
1461
1458
  align: "center",
1462
1459
  gap: "md",
1463
1460
  className: "min-w-0",
1464
- children: [h && /* @__PURE__ */ A("div", {
1465
- className: "media-library--tabs flex items-center rounded-radius-md bg-muted p-space-2xs",
1461
+ children: [y && /* @__PURE__ */ P("div", {
1462
+ className: r("media-library--tabs", C.frame, w[je]),
1466
1463
  role: "tablist",
1467
- children: [/* @__PURE__ */ A(n, {
1464
+ children: [/* @__PURE__ */ P(o, {
1468
1465
  type: "button",
1469
1466
  role: "tab",
1470
- "aria-selected": U === "library",
1467
+ "aria-selected": K === "library",
1471
1468
  tone: "secondary",
1472
1469
  buttonStyle: "ghost",
1473
1470
  size: "sm",
1474
- className: t("rounded-radius-sm shadow-none", U === "library" ? "bg-background text-foreground shadow-xs hover:bg-background" : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
1475
- onClick: () => H.setTab("library"),
1476
- children: [/* @__PURE__ */ k(N, { className: "size-icon-md" }), V.tabs.library]
1477
- }), /* @__PURE__ */ A(n, {
1471
+ className: r(C.item, "shadow-none", K === "library" ? "bg-background text-foreground shadow-xs hover:bg-background" : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
1472
+ onClick: () => G.setTab("library"),
1473
+ children: [/* @__PURE__ */ N(I, { className: "size-icon-md" }), W.tabs.library]
1474
+ }), /* @__PURE__ */ P(o, {
1478
1475
  type: "button",
1479
1476
  role: "tab",
1480
- "aria-selected": U === "upload",
1477
+ "aria-selected": K === "upload",
1481
1478
  tone: "secondary",
1482
1479
  buttonStyle: "ghost",
1483
1480
  size: "sm",
1484
- className: t("rounded-radius-sm shadow-none", U === "upload" ? "bg-background text-foreground shadow-xs hover:bg-background" : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
1485
- onClick: () => H.setTab("upload"),
1481
+ className: r(C.item, "shadow-none", K === "upload" ? "bg-background text-foreground shadow-xs hover:bg-background" : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
1482
+ onClick: () => G.setTab("upload"),
1486
1483
  children: [
1487
- /* @__PURE__ */ k(R, { className: "size-icon-md" }),
1488
- V.tabs.upload,
1489
- H.stagedFiles.length > 0 && /* @__PURE__ */ k(m, {
1490
- value: H.stagedFiles.length,
1484
+ /* @__PURE__ */ N(fe, { className: "size-icon-md" }),
1485
+ W.tabs.upload,
1486
+ G.stagedFiles.length > 0 && /* @__PURE__ */ N(_, {
1487
+ value: G.stagedFiles.length,
1491
1488
  size: "xs",
1492
1489
  align: "center",
1493
1490
  className: "rounded-full bg-background/20 px-1.5"
1494
1491
  })
1495
1492
  ]
1496
1493
  })]
1497
- }), S?.headerEnd]
1498
- }), Oe]
1494
+ }), D?.headerEnd]
1495
+ }), Ve]
1499
1496
  })]
1500
1497
  }),
1501
- /* @__PURE__ */ A("div", {
1498
+ /* @__PURE__ */ P("div", {
1502
1499
  className: "media-library--body flex min-h-0 flex-1",
1503
- children: [U === "upload" ? /* @__PURE__ */ k("div", {
1500
+ children: [K === "upload" ? /* @__PURE__ */ N("div", {
1504
1501
  className: "min-w-0 flex-1 overflow-y-auto",
1505
- children: /* @__PURE__ */ k(K, {
1506
- stagedFiles: H.stagedFiles,
1507
- uploadOptions: H.uploadOptions,
1508
- collections: Te,
1509
- uploading: H.uploading,
1510
- strings: V,
1511
- onFiles: H.addFiles,
1512
- onRemoveFile: H.removeStagedFile,
1513
- onOptionsChange: H.updateUploadOptions,
1514
- empty: S?.uploadEmpty
1502
+ children: /* @__PURE__ */ N(Re, {
1503
+ stagedFiles: G.stagedFiles,
1504
+ uploadOptions: G.uploadOptions,
1505
+ collections: Me,
1506
+ uploading: G.uploading,
1507
+ strings: W,
1508
+ onFiles: G.addFiles,
1509
+ onRemoveFile: G.removeStagedFile,
1510
+ onOptionsChange: G.updateUploadOptions,
1511
+ empty: D?.uploadEmpty
1515
1512
  })
1516
- }) : /* @__PURE__ */ A("div", {
1517
- className: t("media-library--library min-w-0 flex-1 flex-col", W ? "hidden @2xl/media-library:flex" : "flex"),
1518
- children: [/* @__PURE__ */ A("div", {
1513
+ }) : /* @__PURE__ */ P("div", {
1514
+ className: r("media-library--library min-w-0 flex-1 flex-col", q ? "hidden @2xl/media-library:flex" : "flex"),
1515
+ children: [/* @__PURE__ */ P(c, {
1516
+ gap: "md",
1519
1517
  className: "media-library--toolbar border-b border-border/70 p-surface",
1520
- children: [/* @__PURE__ */ k(Ae, {
1521
- query: H.query,
1522
- type: H.type,
1523
- typeFilters: g,
1524
- collection: H.collection,
1525
- sort: H.sort,
1526
- view: H.view,
1527
- collections: Te,
1528
- strings: V,
1529
- onQueryChange: H.setQuery,
1530
- onTypeChange: H.setType,
1531
- onCollectionChange: H.setCollection,
1532
- onSortChange: H.setSort,
1533
- onViewChange: H.setView,
1534
- onClearFilters: H.clearFilters,
1535
- toolbarEnd: S?.toolbarEnd
1536
- }), /* @__PURE__ */ k(r, {
1518
+ children: [/* @__PURE__ */ N(Pe, {
1519
+ query: G.query,
1520
+ type: G.type,
1521
+ typeFilters: b,
1522
+ collection: G.collection,
1523
+ sort: G.sort,
1524
+ view: G.view,
1525
+ collections: Me,
1526
+ strings: W,
1527
+ onQueryChange: G.setQuery,
1528
+ onTypeChange: G.setType,
1529
+ onCollectionChange: G.setCollection,
1530
+ onSortChange: G.setSort,
1531
+ onViewChange: G.setView,
1532
+ onClearFilters: G.clearFilters,
1533
+ toolbarEnd: D?.toolbarEnd
1534
+ }), /* @__PURE__ */ N(a, {
1537
1535
  size: "xs",
1538
1536
  type: "secondary",
1539
- className: "mt-space-md",
1540
1537
  "aria-live": "polite",
1541
- children: Q
1538
+ children: Je
1542
1539
  })]
1543
- }), /* @__PURE__ */ k("div", {
1540
+ }), /* @__PURE__ */ N("div", {
1544
1541
  role: "region",
1545
- "aria-label": V.resultsLabel,
1542
+ "aria-label": W.resultsLabel,
1546
1543
  tabIndex: 0,
1547
1544
  className: "media-library--results min-h-0 flex-1 overflow-y-auto p-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",
1548
- children: H.loading ? S?.loading ?? /* @__PURE__ */ k(s, {
1545
+ children: G.loading ? D?.loading ?? /* @__PURE__ */ N(u, {
1549
1546
  className: "min-h-64",
1550
- label: V.loading
1551
- }) : H.error ? S?.error ?? /* @__PURE__ */ k(c, {
1552
- title: V.errorTitle,
1553
- description: V.errorDescription
1554
- }) : H.visibleItems.length === 0 ? S?.empty ?? /* @__PURE__ */ k(ke, {
1555
- title: H.hasFilters ? V.emptyFilteredTitle : V.emptyLibraryTitle,
1556
- description: H.hasFilters ? V.emptyFilteredDescription : V.emptyLibraryDescription,
1557
- action: H.hasFilters ? /* @__PURE__ */ k(n, {
1547
+ label: W.loading
1548
+ }) : G.error ? D?.error ?? /* @__PURE__ */ N(d, {
1549
+ title: W.errorTitle,
1550
+ description: W.errorDescription
1551
+ }) : G.visibleItems.length === 0 ? D?.empty ?? /* @__PURE__ */ N(Ne, {
1552
+ title: G.hasFilters ? W.emptyFilteredTitle : W.emptyLibraryTitle,
1553
+ description: G.hasFilters ? W.emptyFilteredDescription : W.emptyLibraryDescription,
1554
+ action: G.hasFilters ? /* @__PURE__ */ N(o, {
1558
1555
  type: "button",
1559
1556
  tone: "secondary",
1560
1557
  buttonStyle: "outline",
1561
- onClick: H.clearFilters,
1562
- children: V.clearFilters
1563
- }) : h ? /* @__PURE__ */ A(n, {
1558
+ onClick: G.clearFilters,
1559
+ children: W.clearFilters
1560
+ }) : y ? /* @__PURE__ */ N(o, {
1561
+ tone: "primary",
1564
1562
  type: "button",
1565
- onClick: () => H.setTab("upload"),
1566
- children: [/* @__PURE__ */ k(R, { className: "size-icon-md" }), V.uploadMedia]
1563
+ onClick: () => G.setTab("upload"),
1564
+ children: W.uploadMedia
1567
1565
  }) : void 0
1568
- }) : H.view === "table" ? /* @__PURE__ */ k("div", {
1566
+ }) : G.view === "table" ? /* @__PURE__ */ N("div", {
1569
1567
  className: "overflow-x-auto",
1570
- children: /* @__PURE__ */ k(Me, {
1571
- items: H.visibleItems,
1572
- selectedSet: H.selectedSet,
1573
- selectionMode: d,
1574
- accessors: H.accessors,
1575
- strings: V,
1568
+ children: /* @__PURE__ */ N(Ie, {
1569
+ items: G.visibleItems,
1570
+ selectedSet: G.selectedSet,
1571
+ selectionMode: h,
1572
+ accessors: G.accessors,
1573
+ strings: W,
1576
1574
  onToggle: (e) => {
1577
- let t = H.items.find((t) => H.accessors.getId(t) === e);
1578
- t && Z(t);
1575
+ let t = G.items.find((t) => G.accessors.getId(t) === e);
1576
+ t && Ke(t);
1579
1577
  },
1580
- onDetails: H.setDetailId
1578
+ onDetails: G.setDetailId
1581
1579
  })
1582
- }) : /* @__PURE__ */ k("div", {
1583
- className: t("media-library--grid grid min-w-0 gap-space-lg", f === "compact" ? "grid-cols-[repeat(auto-fill,minmax(136px,1fr))]" : "grid-cols-[repeat(auto-fill,minmax(168px,1fr))]"),
1584
- children: H.visibleItems.map((e) => {
1585
- let t = H.accessors.getId(e), n = {
1580
+ }) : /* @__PURE__ */ N("div", {
1581
+ className: r("media-library--grid grid min-w-0 gap-space-lg", g === "compact" ? "grid-cols-[repeat(auto-fill,minmax(136px,1fr))]" : "grid-cols-[repeat(auto-fill,minmax(168px,1fr))]"),
1582
+ children: G.visibleItems.map((e) => {
1583
+ let t = G.accessors.getId(e), n = {
1586
1584
  id: t,
1587
- selected: H.selectedSet.has(t),
1588
- selectionMode: d,
1589
- accessors: H.accessors,
1590
- toggle: () => Z(e),
1591
- openDetails: () => H.setDetailId(t)
1592
- }, r = S?.renderItem?.(e, n);
1593
- return r ? /* @__PURE__ */ k("div", { children: r }, t) : /* @__PURE__ */ k(je, {
1585
+ selected: G.selectedSet.has(t),
1586
+ selectionMode: h,
1587
+ accessors: G.accessors,
1588
+ toggle: () => Ke(e),
1589
+ openDetails: () => G.setDetailId(t)
1590
+ }, r = D?.renderItem?.(e, n);
1591
+ return r ? /* @__PURE__ */ N("div", { children: r }, t) : /* @__PURE__ */ N(Fe, {
1594
1592
  item: e,
1595
1593
  selected: n.selected,
1596
- density: f,
1597
- showMeta: p,
1598
- selectionMode: d,
1599
- accessors: H.accessors,
1600
- strings: V,
1594
+ density: g,
1595
+ showMeta: v,
1596
+ selectionMode: h,
1597
+ accessors: G.accessors,
1598
+ strings: W,
1601
1599
  onToggle: n.toggle,
1602
1600
  onDetails: n.openDetails
1603
1601
  }, t);
1604
1602
  })
1605
1603
  })
1606
1604
  })]
1607
- }), U === "library" && /* @__PURE__ */ k(Ne, {
1608
- item: W,
1609
- collections: Te,
1610
- accessors: H.accessors,
1611
- strings: V,
1612
- onClose: () => H.setDetailId(null),
1613
- onUpdate: (e) => W ? H.updateItem(W, e) : Promise.resolve(!1),
1605
+ }), K === "library" && /* @__PURE__ */ N(Le, {
1606
+ item: q,
1607
+ collections: Me,
1608
+ accessors: G.accessors,
1609
+ strings: W,
1610
+ onClose: () => G.setDetailId(null),
1611
+ onUpdate: (e) => q ? G.updateItem(q, e) : Promise.resolve(!1),
1612
+ onReplace: L && q ? () => L(q) : void 0,
1614
1613
  onRemove: async () => {
1615
- if (!W) return !1;
1616
- let e = await H.removeItem(W);
1617
- return e && H.setDetailId(null), e;
1614
+ if (!q) return !1;
1615
+ let e = await G.removeItem(q);
1616
+ return e && G.setDetailId(null), e;
1618
1617
  },
1619
- renderDetail: S?.renderDetail
1618
+ renderDetail: D?.renderDetail
1620
1619
  })]
1621
1620
  }),
1622
- G ? G.element ? fe(Ve, G.element) : null : Ve
1621
+ Z ? Z.element ? he(Ye, Z.element) : null : Ye
1623
1622
  ]
1624
1623
  });
1625
1624
  }
1626
- function J({ open: n, onOpenChange: r, trigger: i, dialogTitle: a, dialogDescription: o, onClose: s, className: c, dialogClassName: u, contentClassName: d, closeOnEscape: f = !0, closeOnBackdropClick: p = !0, ...m }) {
1627
- let h = e(pe, m.strings), [g, _] = O(!1), [v, y] = O(null), b = n !== void 0, x = b ? n : g, S = (e) => {
1628
- b || _(e), r?.(e);
1625
+ function Q({ open: e, onOpenChange: t, trigger: i, dialogTitle: a, dialogDescription: o, onClose: s, className: c, dialogClassName: l, contentClassName: u, closeOnEscape: d = !0, closeOnBackdropClick: p = !0, ...m }) {
1626
+ let h = n(ge, m.strings), [g, _] = j(!1), [v, y] = j(null), b = e !== void 0, x = b ? e : g, S = (e) => {
1627
+ b || _(e), t?.(e);
1629
1628
  }, C = () => {
1630
1629
  S(!1), s?.();
1631
1630
  };
1632
- return /* @__PURE__ */ k(Le.Provider, {
1631
+ return /* @__PURE__ */ N(X.Provider, {
1633
1632
  value: { element: v },
1634
- children: /* @__PURE__ */ k(l, {
1633
+ children: /* @__PURE__ */ N(f, {
1635
1634
  open: x,
1636
1635
  onOpenChange: S,
1637
1636
  onClose: s,
@@ -1641,18 +1640,18 @@ function J({ open: n, onOpenChange: r, trigger: i, dialogTitle: a, dialogDescrip
1641
1640
  size: "full",
1642
1641
  showCancel: !1,
1643
1642
  showConfirm: !1,
1644
- footer: /* @__PURE__ */ k("div", {
1643
+ footer: /* @__PURE__ */ N("div", {
1645
1644
  ref: y,
1646
1645
  className: "media-library-dialog--footer @container/media-library w-full"
1647
1646
  }),
1648
- className: t("media-library-dialog--component max-h-[calc(100vh-2rem)] max-w-[min(1060px,calc(100vw-2rem))] sm:max-w-[min(1060px,calc(100vw-2rem))]", u),
1649
- contentClassName: t("media-library-dialog--body flex min-h-0 flex-col overflow-hidden p-0", d),
1647
+ className: r("media-library-dialog--component max-h-[calc(100vh-2rem)] max-w-[min(1060px,calc(100vw-2rem))] sm:max-w-[min(1060px,calc(100vw-2rem))]", l),
1648
+ contentClassName: r("media-library-dialog--body flex min-h-0 flex-col overflow-hidden p-0", u),
1650
1649
  closeOnBackdropClick: p,
1651
- closeOnEscape: f,
1652
- children: /* @__PURE__ */ k(q, {
1650
+ closeOnEscape: d,
1651
+ children: /* @__PURE__ */ N(Z, {
1653
1652
  ...m,
1654
1653
  onClose: C,
1655
- className: t("media-library-dialog--library rounded-none border-0", c),
1654
+ className: r("media-library-dialog--library rounded-none border-0", c),
1656
1655
  heightClassName: m.heightClassName ?? "min-h-0 flex-1",
1657
1656
  strings: m.strings
1658
1657
  })
@@ -1661,47 +1660,45 @@ function J({ open: n, onOpenChange: r, trigger: i, dialogTitle: a, dialogDescrip
1661
1660
  }
1662
1661
  //#endregion
1663
1662
  //#region src/components/features/media-library/media-resource-gallery.tsx
1664
- function Y(e, t, n) {
1663
+ function Ve(e, t, n) {
1665
1664
  let r = e.slice(), [i] = r.splice(t, 1);
1666
1665
  return i === void 0 || r.splice(n, 0, i), r;
1667
1666
  }
1668
- function ze({ items: i, accessors: a, title: s, description: c, primaryId: l, onPrimaryChange: u, onRemove: f, onReorder: p, onAdd: m, maxItems: g, layout: _ = "field", density: v = "comfortable", readOnly: y = !1, empty: b, action: x, renderItem: S, strings: C, className: w, ...T }) {
1669
- let E = e(pe, C), D = _e(a), O = i.length, ee = l ?? (O > 0 ? D.getId(i[0]) : void 0), j = !y && !!m && (g === void 0 || O < g), re = j && (_ === "field" || O > 0) ? /* @__PURE__ */ k(n, {
1667
+ function He({ items: e, accessors: t, title: i, description: s, primaryId: l, onPrimaryChange: u, onRemove: d, onReorder: f, onAdd: p, maxItems: h, layout: g = "field", density: _ = "comfortable", readOnly: y = !1, empty: b, action: x, renderItem: S, strings: C, className: w, ...ee }) {
1668
+ let T = n(ge, C), E = be(t), D = e.length, te = l ?? (D > 0 ? E.getId(e[0]) : void 0), O = !y && !!p && (h === void 0 || D < h), k = O && (g === "field" || D > 0) ? /* @__PURE__ */ N(o, {
1670
1669
  type: "button",
1671
1670
  tone: "secondary",
1672
1671
  buttonStyle: "outline",
1673
- icon: I,
1674
- onClick: m,
1675
- children: E.gallery.add
1676
- }) : g !== void 0 && O >= g ? /* @__PURE__ */ k(h, {
1672
+ icon: ce,
1673
+ onClick: p,
1674
+ children: T.gallery.add
1675
+ }) : h !== void 0 && D >= h ? /* @__PURE__ */ N(v, {
1677
1676
  tone: "secondary",
1678
- children: E.gallery.maxReached
1679
- }) : null, N = (e, t) => {
1680
- if (t < 0 || t >= O || e === t) return;
1681
- let n = Y(i, e, t);
1682
- p?.(n.map((e) => D.getId(e)), n);
1683
- }, P = !!(s || c || x || re), ae = O === 0 && _ !== "field", oe = () => !j || _ !== "field" ? null : /* @__PURE__ */ A(n, {
1677
+ children: T.gallery.maxReached
1678
+ }) : null, A = (t, n) => {
1679
+ if (n < 0 || n >= D || t === n) return;
1680
+ let r = Ve(e, t, n);
1681
+ f?.(r.map((e) => E.getId(e)), r);
1682
+ }, j = !!(i || s || x || k), M = D === 0 && g !== "field", re = () => !O || g !== "field" ? null : /* @__PURE__ */ P("button", {
1684
1683
  type: "button",
1685
- tone: "secondary",
1686
- buttonStyle: "ghost",
1687
- className: t("media-resource-gallery--add-tile h-auto min-h-24 w-full flex-col rounded-radius border border-dashed border-border bg-background text-muted-foreground shadow-none", "aspect-square hover:border-primary-accent/50 hover:bg-primary/5 hover:text-primary-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"),
1688
- "aria-label": E.gallery.addTile,
1689
- onClick: m,
1690
- children: [/* @__PURE__ */ k(I, { className: "size-icon" }), /* @__PURE__ */ k(r, {
1684
+ className: r("media-resource-gallery--add-tile box-border m-0 inline-flex w-full cursor-pointer items-center justify-center p-space-md font-sans rounded-radius border border-dashed border-border bg-background text-muted-foreground shadow-none", "aspect-square hover:border-primary-accent/50 hover:bg-primary/5 hover:text-primary-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"),
1685
+ "aria-label": T.gallery.addTile,
1686
+ onClick: p,
1687
+ children: [/* @__PURE__ */ N(ce, { className: "size-icon" }), /* @__PURE__ */ N(a, {
1691
1688
  tag: "span",
1692
1689
  size: "inherit",
1693
1690
  className: "sr-only",
1694
- children: E.gallery.addTile
1691
+ children: T.gallery.addTile
1695
1692
  })]
1696
1693
  });
1697
- return /* @__PURE__ */ A("section", {
1698
- className: t("media-resource-gallery--component @container/media-resource-gallery rounded-radius border border-border bg-card shadow-xs", w),
1699
- "data-layout": _,
1700
- "data-density": v,
1701
- ...T,
1702
- children: [P && /* @__PURE__ */ k("header", {
1694
+ return /* @__PURE__ */ P("section", {
1695
+ className: r("media-resource-gallery--component @container/media-resource-gallery rounded-radius border border-border bg-card shadow-xs", w),
1696
+ "data-layout": g,
1697
+ "data-gallery-density": _,
1698
+ ...ee,
1699
+ children: [j && /* @__PURE__ */ N("header", {
1703
1700
  className: "media-resource-gallery--header p-surface",
1704
- children: /* @__PURE__ */ A(o, {
1701
+ children: /* @__PURE__ */ P(c, {
1705
1702
  direction: {
1706
1703
  base: "vertical",
1707
1704
  md: "horizontal"
@@ -1709,299 +1706,300 @@ function ze({ items: i, accessors: a, title: s, description: c, primaryId: l, on
1709
1706
  gap: "lg",
1710
1707
  align: { md: "start" },
1711
1708
  justify: { md: "between" },
1712
- children: [/* @__PURE__ */ A("div", {
1709
+ children: [/* @__PURE__ */ P(c, {
1710
+ gap: "normal",
1713
1711
  className: "min-w-0",
1714
- children: [!!s && /* @__PURE__ */ k(r, {
1712
+ children: [!!i && /* @__PURE__ */ N(a, {
1715
1713
  tag: "div",
1716
1714
  weight: "semibold",
1717
- children: s
1718
- }), !!c && /* @__PURE__ */ k(r, {
1715
+ children: i
1716
+ }), !!s && /* @__PURE__ */ N(a, {
1719
1717
  type: "secondary",
1720
- className: "mt-0.5",
1721
- children: c
1718
+ children: s
1722
1719
  })]
1723
- }), /* @__PURE__ */ k(o, {
1720
+ }), /* @__PURE__ */ N(c, {
1724
1721
  direction: "horizontal",
1725
1722
  wrap: !0,
1726
1723
  align: "center",
1727
1724
  gap: "md",
1728
1725
  className: "media-resource-gallery--actions",
1729
- children: x ?? re
1726
+ children: x ?? k
1730
1727
  })]
1731
1728
  })
1732
- }), ae ? /* @__PURE__ */ k("div", {
1729
+ }), M ? /* @__PURE__ */ N("div", {
1733
1730
  className: "media-resource-gallery--empty px-surface pb-surface",
1734
- children: b ?? /* @__PURE__ */ k(ke, {
1735
- title: E.gallery.emptyTitle,
1736
- description: E.gallery.emptyDescription,
1737
- action: j ? /* @__PURE__ */ k(n, {
1731
+ children: b ?? /* @__PURE__ */ N(Ne, {
1732
+ title: T.gallery.emptyTitle,
1733
+ description: T.gallery.emptyDescription,
1734
+ action: O ? /* @__PURE__ */ N(o, {
1735
+ tone: "primary",
1738
1736
  type: "button",
1739
- icon: ie,
1740
- onClick: m,
1741
- children: E.gallery.add
1737
+ icon: oe,
1738
+ onClick: p,
1739
+ children: T.gallery.add
1742
1740
  }) : void 0
1743
1741
  })
1744
- }) : /* @__PURE__ */ A("div", {
1745
- className: t("grid min-w-0 grid-cols-1", _ === "list" ? "gap-space-md" : "gap-space-lg", "media-resource-gallery--items p-surface", P && "pt-0", _ === "list" ? void 0 : _ === "field" ? "grid-cols-[repeat(auto-fill,minmax(96px,1fr))] @md/media-resource-gallery:grid-cols-[repeat(auto-fill,minmax(108px,1fr))]" : v === "compact" ? "grid-cols-[repeat(auto-fill,minmax(132px,1fr))]" : "grid-cols-[repeat(auto-fill,minmax(164px,1fr))]"),
1746
- children: [i.map((e, i) => {
1747
- let a = D.getId(e), s = D.getName(e), c = D.getType(e), l = D.getSrc(e), p = D.getAlt(e) || s, m = a === ee, g = D.getPublic(e) === !1, b = D.getDuration(e), x = i > 0, C = i < O - 1, w = S?.(e, {
1748
- id: a,
1749
- index: i,
1750
- total: O,
1751
- primary: m,
1752
- accessors: D,
1742
+ }) : /* @__PURE__ */ P("div", {
1743
+ className: r("grid min-w-0 grid-cols-1", g === "list" ? "gap-space-md" : "gap-space-lg", "media-resource-gallery--items p-surface", j && "pt-0", g === "list" ? void 0 : g === "field" ? "grid-cols-[repeat(auto-fill,minmax(96px,1fr))] @md/media-resource-gallery:grid-cols-[repeat(auto-fill,minmax(108px,1fr))]" : _ === "compact" ? "grid-cols-[repeat(auto-fill,minmax(132px,1fr))]" : "grid-cols-[repeat(auto-fill,minmax(164px,1fr))]"),
1744
+ children: [e.map((e, t) => {
1745
+ let n = E.getId(e), i = E.getName(e), s = E.getType(e), l = E.getSrc(e), f = E.getAlt(e) || i, p = n === te, h = E.getPublic(e) === !1, b = E.getDuration(e), x = t > 0, C = t < D - 1, w = S?.(e, {
1746
+ id: n,
1747
+ index: t,
1748
+ total: D,
1749
+ primary: p,
1750
+ accessors: E,
1753
1751
  canMovePrevious: x,
1754
1752
  canMoveNext: C,
1755
- setPrimary: () => u?.(a, e),
1756
- remove: () => f?.(a, e),
1757
- movePrevious: () => N(i, i - 1),
1758
- moveNext: () => N(i, i + 1)
1753
+ setPrimary: () => u?.(n, e),
1754
+ remove: () => d?.(n, e),
1755
+ movePrevious: () => A(t, t - 1),
1756
+ moveNext: () => A(t, t + 1)
1759
1757
  });
1760
- return w ? /* @__PURE__ */ k("div", { children: w }, a) : _ === "field" ? /* @__PURE__ */ A("div", {
1761
- className: t("media-resource-gallery--item group/gallery relative aspect-square overflow-hidden rounded-radius border border-border bg-background shadow-xs", "transition-colors hover:border-primary/40 focus-within:border-primary/50", m && "col-span-2 row-span-2 min-h-52"),
1762
- "data-primary": m || void 0,
1758
+ return w ? /* @__PURE__ */ N("div", { children: w }, n) : g === "field" ? /* @__PURE__ */ P("div", {
1759
+ className: r("media-resource-gallery--item group/gallery relative aspect-square overflow-hidden rounded-radius border border-border bg-background shadow-xs", "transition-colors hover:border-primary/40 focus-within:border-primary/50", p && "col-span-2 row-span-2 min-h-52"),
1760
+ "data-primary": p || void 0,
1763
1761
  children: [
1764
- l ? /* @__PURE__ */ k("img", {
1762
+ l ? /* @__PURE__ */ N("img", {
1765
1763
  src: l,
1766
- alt: p,
1764
+ alt: f,
1767
1765
  loading: "lazy",
1768
1766
  className: "size-full object-cover"
1769
- }) : /* @__PURE__ */ k("div", {
1767
+ }) : /* @__PURE__ */ N("div", {
1770
1768
  className: "flex size-full items-center justify-center bg-muted text-muted-foreground",
1771
- children: /* @__PURE__ */ k(M, { className: m ? "size-7" : "size-icon-lg" })
1769
+ children: /* @__PURE__ */ N(ie, { className: p ? "size-7" : "size-icon-lg" })
1772
1770
  }),
1773
- m && /* @__PURE__ */ k(h, {
1771
+ p && /* @__PURE__ */ N(v, {
1774
1772
  tone: "secondary",
1775
1773
  className: "absolute left-2 top-2 bg-background/90 shadow-xs",
1776
- children: E.gallery.cover
1774
+ children: T.gallery.cover
1777
1775
  }),
1778
- c === "video" && !!b && /* @__PURE__ */ A(h, {
1776
+ s === "video" && !!b && /* @__PURE__ */ P(v, {
1779
1777
  tone: "secondary",
1780
1778
  className: "absolute bottom-2 left-2 bg-foreground text-background",
1781
- children: [/* @__PURE__ */ k(se, { className: "size-icon-sm fill-current" }), b]
1779
+ children: [/* @__PURE__ */ N(B, { className: "size-icon-sm fill-current" }), b]
1782
1780
  }),
1783
- g && /* @__PURE__ */ k("span", {
1781
+ h && /* @__PURE__ */ N("span", {
1784
1782
  className: "absolute bottom-2 right-2 inline-flex size-6 items-center justify-center rounded-full border border-border bg-background/90 text-muted-foreground shadow-xs",
1785
- children: /* @__PURE__ */ k(F, { className: "size-icon-sm" })
1783
+ children: /* @__PURE__ */ N(z, { className: "size-icon-sm" })
1786
1784
  }),
1787
- !y && /* @__PURE__ */ k(n, {
1785
+ !y && /* @__PURE__ */ N(o, {
1788
1786
  type: "button",
1789
1787
  tone: "secondary",
1790
1788
  buttonStyle: "solid",
1791
1789
  size: "sm",
1792
1790
  iconOnly: !0,
1793
1791
  className: "absolute right-2 top-2 opacity-0 shadow-sm transition-opacity group-hover/gallery:opacity-100 group-focus-within/gallery:opacity-100",
1794
- "aria-label": E.gallery.remove,
1795
- onClick: () => f?.(a, e),
1796
- children: /* @__PURE__ */ k(de, { className: "size-icon-md" })
1792
+ "aria-label": T.gallery.remove,
1793
+ onClick: () => d?.(n, e),
1794
+ children: /* @__PURE__ */ N(me, { className: "size-icon-md" })
1797
1795
  })
1798
1796
  ]
1799
- }, a) : _ === "list" ? /* @__PURE__ */ A(o, {
1797
+ }, n) : g === "list" ? /* @__PURE__ */ P(c, {
1800
1798
  direction: "horizontal",
1801
1799
  wrap: !0,
1802
1800
  align: "center",
1803
1801
  gap: "lg",
1804
- className: t("media-resource-gallery--item min-w-0 rounded-radius border border-border bg-background px-row-x", v === "compact" ? "py-row-y-sm" : "py-row-y"),
1805
- "data-primary": m || void 0,
1802
+ className: r("media-resource-gallery--item min-w-0 rounded-radius border border-border bg-background px-row-x", _ === "compact" ? "py-row-y-sm" : "py-row-y"),
1803
+ "data-primary": p || void 0,
1806
1804
  children: [
1807
- /* @__PURE__ */ k("div", {
1808
- className: "relative size-12 shrink-0 overflow-hidden rounded-radius-md bg-muted",
1809
- children: l ? /* @__PURE__ */ k("img", {
1805
+ /* @__PURE__ */ N("div", {
1806
+ className: "relative size-12 shrink-0 overflow-hidden rounded-inner bg-muted",
1807
+ children: l ? /* @__PURE__ */ N("img", {
1810
1808
  src: l,
1811
- alt: p,
1809
+ alt: f,
1812
1810
  loading: "lazy",
1813
1811
  className: "size-full object-cover"
1814
- }) : /* @__PURE__ */ k("div", {
1812
+ }) : /* @__PURE__ */ N("div", {
1815
1813
  className: "flex size-full items-center justify-center text-muted-foreground",
1816
- children: /* @__PURE__ */ k(M, { className: "size-icon" })
1814
+ children: /* @__PURE__ */ N(ie, { className: "size-icon" })
1817
1815
  })
1818
1816
  }),
1819
- /* @__PURE__ */ A("div", {
1817
+ /* @__PURE__ */ P("div", {
1820
1818
  className: "min-w-0 flex-1",
1821
- children: [/* @__PURE__ */ A(o, {
1819
+ children: [/* @__PURE__ */ P(c, {
1822
1820
  direction: "horizontal",
1823
1821
  wrap: !0,
1824
1822
  align: "center",
1825
1823
  gap: "md",
1826
1824
  className: "min-w-0",
1827
- children: [/* @__PURE__ */ k(r, {
1825
+ children: [/* @__PURE__ */ N(a, {
1828
1826
  tag: "div",
1829
1827
  weight: "semibold",
1830
1828
  className: "min-w-0 break-all",
1831
- children: s
1832
- }), m && /* @__PURE__ */ k(h, {
1833
- tone: "info",
1834
- children: E.gallery.primary
1829
+ children: i
1830
+ }), p && /* @__PURE__ */ N(v, {
1831
+ tone: "secondary",
1832
+ children: T.gallery.primary
1835
1833
  })]
1836
- }), /* @__PURE__ */ A(r, {
1834
+ }), /* @__PURE__ */ P(a, {
1837
1835
  size: "xs",
1838
1836
  type: "secondary",
1839
1837
  children: [
1840
- z(E.gallery.itemPosition, {
1841
- index: i + 1,
1842
- total: O
1838
+ V(T.gallery.itemPosition, {
1839
+ index: t + 1,
1840
+ total: D
1843
1841
  }),
1844
1842
  " · ",
1845
- /* @__PURE__ */ k(d, {
1846
- value: D.getSize(e),
1843
+ /* @__PURE__ */ N(m, {
1844
+ value: E.getSize(e),
1847
1845
  size: "xs",
1848
1846
  align: "left",
1849
- emptyLabel: E.unknownSize
1847
+ emptyLabel: T.unknownSize
1850
1848
  })
1851
1849
  ]
1852
1850
  })]
1853
1851
  }),
1854
- !y && /* @__PURE__ */ A("div", {
1852
+ !y && /* @__PURE__ */ P("div", {
1855
1853
  className: "media-resource-gallery--item-actions flex basis-full flex-wrap items-center justify-end gap-space-xs @sm/media-resource-gallery:basis-auto",
1856
1854
  children: [
1857
- /* @__PURE__ */ k(n, {
1855
+ /* @__PURE__ */ N(o, {
1858
1856
  type: "button",
1859
1857
  tone: "secondary",
1860
1858
  buttonStyle: "ghost",
1861
1859
  size: "sm",
1862
1860
  iconOnly: !0,
1863
- disabled: m,
1864
- "aria-label": E.gallery.setPrimary,
1865
- onClick: () => u?.(a, e),
1866
- children: /* @__PURE__ */ k(L, { className: "size-icon-md" })
1861
+ disabled: p,
1862
+ "aria-label": T.gallery.setPrimary,
1863
+ onClick: () => u?.(n, e),
1864
+ children: /* @__PURE__ */ N(ue, { className: "size-icon-md" })
1867
1865
  }),
1868
- /* @__PURE__ */ k(n, {
1866
+ /* @__PURE__ */ N(o, {
1869
1867
  type: "button",
1870
1868
  tone: "secondary",
1871
1869
  buttonStyle: "ghost",
1872
1870
  size: "sm",
1873
1871
  iconOnly: !0,
1874
1872
  disabled: !x,
1875
- "aria-label": E.gallery.movePrevious,
1876
- onClick: () => N(i, i - 1),
1877
- children: /* @__PURE__ */ k(te, { className: "size-icon-md" })
1873
+ "aria-label": T.gallery.movePrevious,
1874
+ onClick: () => A(t, t - 1),
1875
+ children: /* @__PURE__ */ N(F, { className: "size-icon-md" })
1878
1876
  }),
1879
- /* @__PURE__ */ k(n, {
1877
+ /* @__PURE__ */ N(o, {
1880
1878
  type: "button",
1881
1879
  tone: "secondary",
1882
1880
  buttonStyle: "ghost",
1883
1881
  size: "sm",
1884
1882
  iconOnly: !0,
1885
1883
  disabled: !C,
1886
- "aria-label": E.gallery.moveNext,
1887
- onClick: () => N(i, i + 1),
1888
- children: /* @__PURE__ */ k(ne, { className: "size-icon-md" })
1884
+ "aria-label": T.gallery.moveNext,
1885
+ onClick: () => A(t, t + 1),
1886
+ children: /* @__PURE__ */ N(ne, { className: "size-icon-md" })
1889
1887
  }),
1890
- /* @__PURE__ */ k(n, {
1888
+ /* @__PURE__ */ N(o, {
1891
1889
  type: "button",
1892
1890
  tone: "destructive",
1893
1891
  buttonStyle: "ghost",
1894
1892
  size: "sm",
1895
1893
  iconOnly: !0,
1896
- "aria-label": E.gallery.remove,
1897
- onClick: () => f?.(a, e),
1898
- children: /* @__PURE__ */ k(le, { className: "size-icon-md" })
1894
+ "aria-label": T.gallery.remove,
1895
+ onClick: () => d?.(n, e),
1896
+ children: /* @__PURE__ */ N(de, { className: "size-icon-md" })
1899
1897
  })
1900
1898
  ]
1901
1899
  })
1902
1900
  ]
1903
- }, a) : /* @__PURE__ */ A("div", {
1901
+ }, n) : /* @__PURE__ */ P("div", {
1904
1902
  className: "media-resource-gallery--item group/gallery overflow-hidden rounded-radius border border-border bg-background shadow-xs transition-colors hover:border-primary/40",
1905
- "data-primary": m || void 0,
1906
- children: [/* @__PURE__ */ A("div", {
1903
+ "data-primary": p || void 0,
1904
+ children: [/* @__PURE__ */ P("div", {
1907
1905
  className: "relative aspect-[4/3] bg-muted",
1908
- children: [l ? /* @__PURE__ */ k("img", {
1906
+ children: [l ? /* @__PURE__ */ N("img", {
1909
1907
  src: l,
1910
- alt: p,
1908
+ alt: f,
1911
1909
  loading: "lazy",
1912
1910
  className: "size-full object-cover"
1913
- }) : /* @__PURE__ */ k("div", {
1911
+ }) : /* @__PURE__ */ N("div", {
1914
1912
  className: "flex size-full items-center justify-center text-muted-foreground",
1915
- children: /* @__PURE__ */ k(M, { className: "size-6" })
1916
- }), /* @__PURE__ */ A("div", {
1913
+ children: /* @__PURE__ */ N(ie, { className: "size-6" })
1914
+ }), /* @__PURE__ */ P("div", {
1917
1915
  className: "absolute left-2 top-2 flex flex-wrap gap-space-xs",
1918
- children: [m && /* @__PURE__ */ k(h, {
1919
- tone: "info",
1920
- className: "bg-card",
1921
- children: E.gallery.primary
1922
- }), /* @__PURE__ */ k(h, {
1916
+ children: [p && /* @__PURE__ */ N(v, {
1917
+ tone: "secondary",
1918
+ className: "bg-card text-card-foreground",
1919
+ children: T.gallery.primary
1920
+ }), /* @__PURE__ */ N(v, {
1923
1921
  tone: "secondary",
1924
1922
  className: "bg-card text-card-foreground",
1925
- children: z(E.gallery.itemPosition, {
1926
- index: i + 1,
1927
- total: O
1923
+ children: V(T.gallery.itemPosition, {
1924
+ index: t + 1,
1925
+ total: D
1928
1926
  })
1929
1927
  })]
1930
1928
  })]
1931
- }), /* @__PURE__ */ k("div", {
1932
- className: t("media-resource-gallery--item-body", v === "compact" ? "p-surface-xs" : "p-surface"),
1933
- children: /* @__PURE__ */ A(o, {
1929
+ }), /* @__PURE__ */ N("div", {
1930
+ className: r("media-resource-gallery--item-body", _ === "compact" ? "p-surface-xs" : "p-surface"),
1931
+ children: /* @__PURE__ */ P(c, {
1934
1932
  gap: "md",
1935
- children: [/* @__PURE__ */ A("div", {
1933
+ children: [/* @__PURE__ */ P("div", {
1936
1934
  className: "min-w-0",
1937
- children: [/* @__PURE__ */ k(r, {
1935
+ children: [/* @__PURE__ */ N(a, {
1938
1936
  tag: "div",
1939
1937
  weight: "semibold",
1940
1938
  className: "truncate",
1941
- children: s
1942
- }), /* @__PURE__ */ k(d, {
1943
- value: D.getSize(e),
1939
+ children: i
1940
+ }), /* @__PURE__ */ N(m, {
1941
+ value: E.getSize(e),
1944
1942
  size: "xs",
1945
1943
  align: "left",
1946
- emptyLabel: E.unknownSize
1944
+ emptyLabel: T.unknownSize
1947
1945
  })]
1948
- }), !y && /* @__PURE__ */ A("div", {
1946
+ }), !y && /* @__PURE__ */ P("div", {
1949
1947
  className: "flex items-center gap-space-xs",
1950
1948
  children: [
1951
- /* @__PURE__ */ k(n, {
1949
+ /* @__PURE__ */ N(o, {
1952
1950
  type: "button",
1953
1951
  tone: "secondary",
1954
1952
  buttonStyle: "ghost",
1955
1953
  size: "sm",
1956
1954
  iconOnly: !0,
1957
- disabled: m,
1958
- "aria-label": E.gallery.setPrimary,
1959
- onClick: () => u?.(a, e),
1960
- children: /* @__PURE__ */ k(L, { className: "size-icon-md" })
1955
+ disabled: p,
1956
+ "aria-label": T.gallery.setPrimary,
1957
+ onClick: () => u?.(n, e),
1958
+ children: /* @__PURE__ */ N(ue, { className: "size-icon-md" })
1961
1959
  }),
1962
- /* @__PURE__ */ k(n, {
1960
+ /* @__PURE__ */ N(o, {
1963
1961
  type: "button",
1964
1962
  tone: "secondary",
1965
1963
  buttonStyle: "ghost",
1966
1964
  size: "sm",
1967
1965
  iconOnly: !0,
1968
1966
  disabled: !x,
1969
- "aria-label": E.gallery.movePrevious,
1970
- onClick: () => N(i, i - 1),
1971
- children: /* @__PURE__ */ k(te, { className: "size-icon-md" })
1967
+ "aria-label": T.gallery.movePrevious,
1968
+ onClick: () => A(t, t - 1),
1969
+ children: /* @__PURE__ */ N(F, { className: "size-icon-md" })
1972
1970
  }),
1973
- /* @__PURE__ */ k(n, {
1971
+ /* @__PURE__ */ N(o, {
1974
1972
  type: "button",
1975
1973
  tone: "secondary",
1976
1974
  buttonStyle: "ghost",
1977
1975
  size: "sm",
1978
1976
  iconOnly: !0,
1979
1977
  disabled: !C,
1980
- "aria-label": E.gallery.moveNext,
1981
- onClick: () => N(i, i + 1),
1982
- children: /* @__PURE__ */ k(ne, { className: "size-icon-md" })
1978
+ "aria-label": T.gallery.moveNext,
1979
+ onClick: () => A(t, t + 1),
1980
+ children: /* @__PURE__ */ N(ne, { className: "size-icon-md" })
1983
1981
  }),
1984
- /* @__PURE__ */ k(n, {
1982
+ /* @__PURE__ */ N(o, {
1985
1983
  type: "button",
1986
1984
  tone: "destructive",
1987
1985
  buttonStyle: "ghost",
1988
1986
  size: "sm",
1989
1987
  iconOnly: !0,
1990
1988
  className: "ml-auto",
1991
- "aria-label": E.gallery.remove,
1992
- onClick: () => f?.(a, e),
1993
- children: /* @__PURE__ */ k(le, { className: "size-icon-md" })
1989
+ "aria-label": T.gallery.remove,
1990
+ onClick: () => d?.(n, e),
1991
+ children: /* @__PURE__ */ N(de, { className: "size-icon-md" })
1994
1992
  })
1995
1993
  ]
1996
1994
  })]
1997
1995
  })
1998
1996
  })]
1999
- }, a);
2000
- }), oe()]
1997
+ }, n);
1998
+ }), re()]
2001
1999
  })]
2002
2000
  });
2003
2001
  }
2004
2002
  //#endregion
2005
- export { q as MediaLibrary, je as MediaLibraryCard, Ne as MediaLibraryDetailPanel, J as MediaLibraryDialog, ke as MediaLibraryEmptyState, Ie as MediaLibraryFooter, Me as MediaLibraryList, Ae as MediaLibraryToolbar, K as MediaLibraryUploadPanel, ze as MediaResourceGallery, pe as defaultMediaLibraryStrings, ve as formatMediaLibrarySize, z as formatMediaLibraryString, ye as getMediaLibraryDimensions, _e as resolveMediaLibraryAccessors, Ee as useMediaLibrary };
2003
+ export { Z as MediaLibrary, Fe as MediaLibraryCard, Le as MediaLibraryDetailPanel, Q as MediaLibraryDialog, Ne as MediaLibraryEmptyState, ze as MediaLibraryFooter, Ie as MediaLibraryList, Pe as MediaLibraryToolbar, Re as MediaLibraryUploadPanel, He as MediaResourceGallery, ge as defaultMediaLibraryStrings, xe as formatMediaLibrarySize, V as formatMediaLibraryString, U as getMediaLibraryDimensions, be as resolveMediaLibraryAccessors, Ae as useMediaLibrary };
2006
2004
 
2007
2005
  //# sourceMappingURL=media-library.js.map