themelia-react-ui 2.0.0 → 2.0.1

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 (625) hide show
  1. package/CHANGELOG.md +351 -0
  2. package/README.md +26 -13
  3. package/dist/{accordion-CQXVcd7Q.js → accordion-B6a3vVgA.js} +84 -82
  4. package/dist/accordion-B6a3vVgA.js.map +1 -0
  5. package/dist/action-menu-TzCoSlwL.js +280 -0
  6. package/dist/action-menu-TzCoSlwL.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-CCIXb2A1.js → affordance-geometry.generated-B5iu-Mkr.js} +3 -2
  8. package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +1 -0
  9. package/dist/{ai-artifact-2PQ2fItc.js → ai-artifact-BMJdv-6q.js} +379 -376
  10. package/dist/ai-artifact-BMJdv-6q.js.map +1 -0
  11. package/dist/{app-shell-BE_j8-AT.js → app-shell-ZK5RWdo6.js} +4 -4
  12. package/dist/{app-shell-BE_j8-AT.js.map → app-shell-ZK5RWdo6.js.map} +1 -1
  13. package/dist/attachment-BtfhGm8i.js +245 -0
  14. package/dist/attachment-BtfhGm8i.js.map +1 -0
  15. package/dist/{auth-M3vGMgDR.js → auth-CYxKfo69.js} +237 -235
  16. package/dist/auth-CYxKfo69.js.map +1 -0
  17. package/dist/{avatar-djdaaQ_s.js → avatar-BBnEJIx8.js} +66 -65
  18. package/dist/avatar-BBnEJIx8.js.map +1 -0
  19. package/dist/badge-MrKVNzW9.js +93 -0
  20. package/dist/badge-MrKVNzW9.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/batch-action-bar.js +3 -0
  27. package/dist/base/buttons.js +2 -3
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +13 -13
  30. package/dist/base/carousel.js.map +1 -1
  31. package/dist/base/cascader.js +103 -115
  32. package/dist/base/cascader.js.map +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +3 -3
  35. package/dist/base/code-block.js +1 -1
  36. package/dist/base/combobox.js +1 -1
  37. package/dist/base/command.js +1 -1
  38. package/dist/base/copyable.js +1 -1
  39. package/dist/base/date-pickers.js +2 -2
  40. package/dist/base/display.js +7 -7
  41. package/dist/base/feedback.js +3 -3
  42. package/dist/base/forms-numeric.js +1 -1
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +17 -17
  45. package/dist/base/inline-edit.js.map +1 -1
  46. package/dist/base/item.js +1 -1
  47. package/dist/base/media-gallery.js +1 -1
  48. package/dist/base/metadata-list.js +3 -0
  49. package/dist/base/navigation.js +7 -7
  50. package/dist/base/popover-menu.js +1 -1
  51. package/dist/base/popover.js +1 -1
  52. package/dist/base/qr-code.js +1 -1
  53. package/dist/base/repeaters.js +171 -170
  54. package/dist/base/repeaters.js.map +1 -1
  55. package/dist/base/sheet.js +1 -1
  56. package/dist/base/sidebar.js +1 -1
  57. package/dist/base/signature-pad.js +147 -137
  58. package/dist/base/signature-pad.js.map +1 -1
  59. package/dist/base/skeleton.js +1 -1
  60. package/dist/base/spinner.js +1 -1
  61. package/dist/base/structure.js +1 -1
  62. package/dist/base/table.js +1 -1
  63. package/dist/base/text-inputs.js +2 -2
  64. package/dist/base/toaster.js +2 -2
  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 +2 -2
  69. package/dist/batch-action-bar-BZGDG-Si.js +104 -0
  70. package/dist/batch-action-bar-BZGDG-Si.js.map +1 -0
  71. package/dist/blocks/admin.js +173 -171
  72. package/dist/blocks/admin.js.map +1 -1
  73. package/dist/blocks/ai.js +266 -263
  74. package/dist/blocks/ai.js.map +1 -1
  75. package/dist/blocks/analytics/usage-card.js +1 -1
  76. package/dist/blocks/analytics.js +440 -438
  77. package/dist/blocks/analytics.js.map +1 -1
  78. package/dist/blocks/collaboration.js +1 -1
  79. package/dist/blocks/commerce/receipt.js +1 -1
  80. package/dist/blocks/commerce.js +1945 -1266
  81. package/dist/blocks/commerce.js.map +1 -1
  82. package/dist/blocks/data-display.js +3 -2
  83. package/dist/blocks/onboarding.js +50 -49
  84. package/dist/blocks/onboarding.js.map +1 -1
  85. package/dist/blocks/planning.js +25 -25
  86. package/dist/blocks/planning.js.map +1 -1
  87. package/dist/blocks/timelines.js +1 -1
  88. package/dist/breadcrumbs-D5t7I023.js +129 -0
  89. package/dist/breadcrumbs-D5t7I023.js.map +1 -0
  90. package/dist/{button-R9CCoH7A.js → button-QYwiyhD2.js} +15 -14
  91. package/dist/button-QYwiyhD2.js.map +1 -0
  92. package/dist/{button-BS3KDg00.js → buttons-SbIcm1HJ.js} +200 -213
  93. package/dist/buttons-SbIcm1HJ.js.map +1 -0
  94. package/dist/{cards-QoJ4syG9.js → cards-CiiHpKYd.js} +8 -8
  95. package/dist/cards-CiiHpKYd.js.map +1 -0
  96. package/dist/{chart-DwYRKKc-.js → chart-QfrARkXl.js} +5 -5
  97. package/dist/{chart-DwYRKKc-.js.map → chart-QfrARkXl.js.map} +1 -1
  98. package/dist/checkbox-DhB6K0bK.js +36 -0
  99. package/dist/checkbox-DhB6K0bK.js.map +1 -0
  100. package/dist/choice-inputs-t6w3ATNz.js +766 -0
  101. package/dist/choice-inputs-t6w3ATNz.js.map +1 -0
  102. package/dist/code-block-Dgbu-CU3.js +185 -0
  103. package/dist/code-block-Dgbu-CU3.js.map +1 -0
  104. package/dist/{collapsible-oMUGM4tr.js → collapsible-D8AEGU1-.js} +4 -4
  105. package/dist/{collapsible-oMUGM4tr.js.map → collapsible-D8AEGU1-.js.map} +1 -1
  106. package/dist/{collection-content-Ys-OZOkY.js → collection-content-uK16Grv0.js} +3 -3
  107. package/dist/{collection-content-Ys-OZOkY.js.map → collection-content-uK16Grv0.js.map} +1 -1
  108. package/dist/{combobox-6dvVny2q.js → combobox-2Ic8N9bL.js} +74 -68
  109. package/dist/combobox-2Ic8N9bL.js.map +1 -0
  110. package/dist/{combobox-CB7039j7.js → combobox-DLl0bfiq.js} +307 -305
  111. package/dist/combobox-DLl0bfiq.js.map +1 -0
  112. package/dist/{command-kPMPjIxJ.js → command-kNR20o7x.js} +7 -7
  113. package/dist/{command-kPMPjIxJ.js.map → command-kNR20o7x.js.map} +1 -1
  114. package/dist/{comments-You0Bzbr.js → comments-BpDuCUUu.js} +341 -339
  115. package/dist/comments-BpDuCUUu.js.map +1 -0
  116. package/dist/components/base/action-menu/action-menu.d.ts +21 -4
  117. package/dist/components/base/action-menu/action-menu.recipes.d.ts +21 -0
  118. package/dist/components/base/action-menu/index.d.ts +1 -0
  119. package/dist/components/base/badge/badge.recipes.d.ts +4 -4
  120. package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
  121. package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
  122. package/dist/components/base/batch-action-bar/index.d.ts +8 -0
  123. package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
  124. package/dist/components/base/buttons/button.recipes.d.ts +2 -2
  125. package/dist/components/base/choice-inputs/checkbox.d.ts +2 -2
  126. package/dist/components/base/choice-inputs/choice-types.d.ts +18 -6
  127. package/dist/components/base/display/alert-dialog.d.ts +6 -5
  128. package/dist/components/base/display/dialog.d.ts +4 -8
  129. package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
  130. package/dist/components/base/forms/form-sizing.d.ts +15 -12
  131. package/dist/components/base/metadata-list/index.d.ts +12 -0
  132. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
  133. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
  134. package/dist/components/base/navigation/index.d.ts +1 -1
  135. package/dist/components/base/navigation/page-header/index.d.ts +1 -0
  136. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
  137. package/dist/components/base/navigation/page-header/page-header.d.ts +26 -3
  138. package/dist/components/base/sheet/sheet.d.ts +4 -8
  139. package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
  140. package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
  141. package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
  142. package/dist/components/base/upload/upload.recipes.d.ts +25 -3
  143. package/dist/components/base/value-inputs/index.d.ts +5 -5
  144. package/dist/components/base/value-inputs/tags-input.d.ts +36 -12
  145. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  146. package/dist/components/blocks/commerce/address-card/types.d.ts +2 -1
  147. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
  148. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  149. package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
  150. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
  151. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  152. package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
  153. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
  154. package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
  155. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +43 -0
  156. package/dist/components/blocks/commerce/index.d.ts +13 -5
  157. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  158. package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
  159. package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
  160. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
  161. package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
  162. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
  163. package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
  164. package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
  165. package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
  166. package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
  167. package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
  168. package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
  169. package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
  170. package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
  171. package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
  172. package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
  173. package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
  174. package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
  175. package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
  176. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  177. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
  178. package/dist/components/blocks/commerce/payment-method/types.d.ts +12 -1
  179. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  180. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
  181. package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
  182. package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
  183. package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
  184. package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
  185. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  186. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
  187. package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
  188. package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
  189. package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
  190. package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
  191. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  192. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
  193. package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
  194. package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
  195. package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
  196. package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
  197. package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
  198. package/dist/components/features/kanban/kanban.d.ts +1 -1
  199. package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
  200. package/dist/components/features/kanban/kanban.types.d.ts +2 -2
  201. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  202. package/dist/components/features/media-library/index.d.ts +1 -1
  203. package/dist/components/features/media-library/media-library.d.ts +1 -1
  204. package/dist/components/features/media-library/media-library.strings.d.ts +4 -0
  205. package/dist/components/features/media-library/media-library.types.d.ts +74 -1
  206. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  207. package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
  208. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  209. package/dist/components/features/overlays/dialog.d.ts +1 -1
  210. package/dist/components/features/overlays/index.d.ts +1 -1
  211. package/dist/components/features/overlays/overlay-tone-icon.d.ts +3 -3
  212. package/dist/components/features/overlays/overlays.types.d.ts +20 -0
  213. package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
  214. package/dist/components/features/products/components/product-details-card.d.ts +5 -0
  215. package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
  216. package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
  217. package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
  218. package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
  219. package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
  220. package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
  221. package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
  222. package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
  223. package/dist/components/features/products/products.types.d.ts +9 -2
  224. package/dist/components/features/resource/index.d.ts +1 -1
  225. package/dist/components/features/resource/resource.d.ts +1 -1
  226. package/dist/components/features/resource/resource.types.d.ts +34 -6
  227. package/dist/components/features/rich-text-editor/index.d.ts +2 -1
  228. package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
  229. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
  230. package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
  231. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  232. package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
  233. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +45 -0
  234. package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
  235. package/dist/components/features/sync/index.d.ts +26 -3
  236. package/dist/components/features/table/data-table.d.ts +1 -1
  237. package/dist/components/features/table/table.types.d.ts +32 -7
  238. package/dist/components/layout/page/index.d.ts +1 -1
  239. package/dist/components/layout/page/page.types.d.ts +33 -36
  240. package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
  241. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  242. package/dist/components/layout/settings/settings.d.ts +16 -2
  243. package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
  244. package/dist/components/typography/rich-text/index.d.ts +1 -1
  245. package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
  246. package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
  247. package/dist/components/typography/text-link.d.ts +4 -3
  248. package/dist/components/ui/checkbox.d.ts +4 -3
  249. package/dist/components/ui/overlay.recipes.d.ts +0 -9
  250. package/dist/components/ui/switch.d.ts +2 -2
  251. package/dist/{containers-D_L4mTVb.js → containers-DmWiJa2I.js} +36 -35
  252. package/dist/containers-DmWiJa2I.js.map +1 -0
  253. package/dist/{copyable-DDjTeW_j.js → copyable-B3Gwgdqc.js} +6 -6
  254. package/dist/{copyable-DDjTeW_j.js.map → copyable-B3Gwgdqc.js.map} +1 -1
  255. package/dist/data-display-DafIvCl5.js +960 -0
  256. package/dist/data-display-DafIvCl5.js.map +1 -0
  257. package/dist/{date-uf3z37Nm.js → date-BgK3bTdo.js} +5 -5
  258. package/dist/{date-uf3z37Nm.js.map → date-BgK3bTdo.js.map} +1 -1
  259. package/dist/date-picker-CF-DtUpF.js +1529 -0
  260. package/dist/date-picker-CF-DtUpF.js.map +1 -0
  261. package/dist/{date-pickers-CnFCb0n2.js → date-pickers-BmzxJl5l.js} +19 -19
  262. package/dist/{date-pickers-CnFCb0n2.js.map → date-pickers-BmzxJl5l.js.map} +1 -1
  263. package/dist/{display-DrdvPwF0.js → display-DsQTVzMz.js} +88 -87
  264. package/dist/display-DsQTVzMz.js.map +1 -0
  265. package/dist/{dropdown-menu-CURh59jb.js → dropdown-menu-E2qmdC7o.js} +7 -7
  266. package/dist/{dropdown-menu-CURh59jb.js.map → dropdown-menu-E2qmdC7o.js.map} +1 -1
  267. package/dist/features/activities.js +414 -501
  268. package/dist/features/activities.js.map +1 -1
  269. package/dist/features/ai-chat.js +170 -169
  270. package/dist/features/ai-chat.js.map +1 -1
  271. package/dist/features/async-preview.js +8 -8
  272. package/dist/features/async-preview.js.map +1 -1
  273. package/dist/features/combobox.js +1 -1
  274. package/dist/features/comments.js +1 -1
  275. package/dist/features/data-view.js +139 -138
  276. package/dist/features/data-view.js.map +1 -1
  277. package/dist/features/email-composer/engine.js +1 -1
  278. package/dist/features/email-composer.js +73 -71
  279. package/dist/features/email-composer.js.map +1 -1
  280. package/dist/features/event-calendar.js +278 -275
  281. package/dist/features/event-calendar.js.map +1 -1
  282. package/dist/features/filters.js +1 -1
  283. package/dist/features/global-search.js +307 -310
  284. package/dist/features/global-search.js.map +1 -1
  285. package/dist/features/kanban.js +95 -97
  286. package/dist/features/kanban.js.map +1 -1
  287. package/dist/features/map.js +56 -57
  288. package/dist/features/map.js.map +1 -1
  289. package/dist/features/media-library.js +918 -825
  290. package/dist/features/media-library.js.map +1 -1
  291. package/dist/features/mentions.js +1 -1
  292. package/dist/features/overlays.js +1 -1
  293. package/dist/features/products.js +1115 -1122
  294. package/dist/features/products.js.map +1 -1
  295. package/dist/features/questionnaire.js +202 -194
  296. package/dist/features/questionnaire.js.map +1 -1
  297. package/dist/features/resource-assignment.js +25 -25
  298. package/dist/features/resource-assignment.js.map +1 -1
  299. package/dist/features/resource.js +77 -69
  300. package/dist/features/resource.js.map +1 -1
  301. package/dist/features/rich-text-editor.js +30 -11
  302. package/dist/features/rich-text-editor.js.map +1 -1
  303. package/dist/features/schema-form.js +33 -33
  304. package/dist/features/schema-form.js.map +1 -1
  305. package/dist/features/suggestions.js +3 -3
  306. package/dist/features/sync.js +3 -3
  307. package/dist/features/table.js +1 -1
  308. package/dist/features/theme-tweaker.js +397 -396
  309. package/dist/features/theme-tweaker.js.map +1 -1
  310. package/dist/{feedback-C7nR0UtT.js → feedback-qNuMBtRH.js} +84 -83
  311. package/dist/feedback-qNuMBtRH.js.map +1 -0
  312. package/dist/{field-affordance-recipes-CkOCdE2y.js → field-affordance-recipes-qQeIf4lG.js} +8 -6
  313. package/dist/field-affordance-recipes-qQeIf4lG.js.map +1 -0
  314. package/dist/field-state-recipes-BVA2CWHo.js +12 -0
  315. package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
  316. package/dist/{filters-Da-gNPsE.js → filters-BkHH53uv.js} +565 -563
  317. package/dist/filters-BkHH53uv.js.map +1 -0
  318. package/dist/focus-recipes-B653VaLq.js +12 -0
  319. package/dist/focus-recipes-B653VaLq.js.map +1 -0
  320. package/dist/{form-field-VZRULhUK.js → form-field-DUt4UxSV.js} +4 -4
  321. package/dist/{form-field-VZRULhUK.js.map → form-field-DUt4UxSV.js.map} +1 -1
  322. package/dist/{form-sizing-uWP4lzVh.js → form-sizing-By94KzXE.js} +19 -15
  323. package/dist/form-sizing-By94KzXE.js.map +1 -0
  324. package/dist/{forms-DDeEnXSY.js → forms-Bzha-Y3B.js} +22 -22
  325. package/dist/{forms-DDeEnXSY.js.map → forms-Bzha-Y3B.js.map} +1 -1
  326. package/dist/{forms-numeric-D3CO60IF.js → forms-numeric-C0bvjRPZ.js} +265 -264
  327. package/dist/forms-numeric-C0bvjRPZ.js.map +1 -0
  328. package/dist/{header-2ycNqGOR.js → header-BOefOKd1.js} +47 -51
  329. package/dist/header-BOefOKd1.js.map +1 -0
  330. package/dist/{hooks-DQ5SPwZw.js → hooks-9k_TtmKh.js} +2 -2
  331. package/dist/{hooks-DQ5SPwZw.js.map → hooks-9k_TtmKh.js.map} +1 -1
  332. package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
  333. package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
  334. package/dist/icon-badge-CAuKupo9.js +55 -0
  335. package/dist/icon-badge-CAuKupo9.js.map +1 -0
  336. package/dist/index.js +7 -7
  337. package/dist/input-DWhBBBww.js +262 -0
  338. package/dist/input-DWhBBBww.js.map +1 -0
  339. package/dist/{input-BoLm9Hks.js → input-Ddi_LSYv.js} +3 -3
  340. package/dist/{input-BoLm9Hks.js.map → input-Ddi_LSYv.js.map} +1 -1
  341. package/dist/interaction-recipes-CHr0dJUs.js +24 -0
  342. package/dist/interaction-recipes-CHr0dJUs.js.map +1 -0
  343. package/dist/{item-xzh8Df65.js → item-DEmDiTlD.js} +98 -97
  344. package/dist/item-DEmDiTlD.js.map +1 -0
  345. package/dist/layer-recipes-CCpklYME.js +13 -0
  346. package/dist/layer-recipes-CCpklYME.js.map +1 -0
  347. package/dist/layout/app-shell.js +1 -1
  348. package/dist/layout/auth.js +1 -1
  349. package/dist/layout/containers.js +1 -1
  350. package/dist/layout/header.js +1 -1
  351. package/dist/layout/hooks.js +1 -1
  352. package/dist/layout/navigation.js +1 -1
  353. package/dist/layout/page.js +1 -1
  354. package/dist/layout/settings.js +1 -1
  355. package/dist/layout/sidebar.js +2 -2
  356. package/dist/layout/workspace.js +1 -1
  357. package/dist/layout.js +10 -10
  358. package/dist/lib/affordance-geometry.generated.d.ts +1 -0
  359. package/dist/lib/field-affordance-recipes.d.ts +6 -1
  360. package/dist/lib/field-state-recipes.d.ts +9 -8
  361. package/dist/lib/focus-recipes.d.ts +24 -0
  362. package/dist/lib/interaction-recipes.d.ts +35 -0
  363. package/dist/lib/layer-recipes.d.ts +19 -0
  364. package/dist/lib/motion-recipes.d.ts +1 -0
  365. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -0
  366. package/dist/lib/safe-image-src.d.ts +10 -0
  367. package/dist/lib/sanitize-html.d.ts +15 -3
  368. package/dist/lib/surface-recipes.d.ts +47 -7
  369. package/dist/lib/token-merge.generated.d.ts +9 -6
  370. package/dist/lib/tone-recipes.d.ts +79 -0
  371. package/dist/lib/ui-provider/hooks.d.ts +2 -1
  372. package/dist/lib/ui-provider/index.d.ts +2 -2
  373. package/dist/lib/ui-provider/types.d.ts +9 -0
  374. package/dist/lib/utils.js +1 -1
  375. package/dist/media-gallery-DcTtAaeC.js +203 -0
  376. package/dist/media-gallery-DcTtAaeC.js.map +1 -0
  377. package/dist/mentions-D-uyCh01.js +568 -0
  378. package/dist/mentions-D-uyCh01.js.map +1 -0
  379. package/dist/{message-YfFmbXNP.js → message-CdHgIWKf.js} +5 -5
  380. package/dist/{message-YfFmbXNP.js.map → message-CdHgIWKf.js.map} +1 -1
  381. package/dist/metadata-list-X5rYAKSB.js +394 -0
  382. package/dist/metadata-list-X5rYAKSB.js.map +1 -0
  383. package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
  384. package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
  385. package/dist/navigation-D3KwXmaq.js +145 -0
  386. package/dist/navigation-D3KwXmaq.js.map +1 -0
  387. package/dist/navigation-HJf5zxlH.js +268 -0
  388. package/dist/navigation-HJf5zxlH.js.map +1 -0
  389. package/dist/{navigation-row-recipes-DlU-4QYO.js → navigation-row-recipes-BVowojQw.js} +2 -2
  390. package/dist/{navigation-row-recipes-DlU-4QYO.js.map → navigation-row-recipes-BVowojQw.js.map} +1 -1
  391. package/dist/{number-CKRBYmZK.js → number-DMhe-Vsk.js} +5 -5
  392. package/dist/{number-CKRBYmZK.js.map → number-DMhe-Vsk.js.map} +1 -1
  393. package/dist/overflow-tab-bar-sQHXLlwQ.js +280 -0
  394. package/dist/overflow-tab-bar-sQHXLlwQ.js.map +1 -0
  395. package/dist/overlay.recipes-8GHqmlb4.js +6 -0
  396. package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
  397. package/dist/overlays-I0axtYA6.js +999 -0
  398. package/dist/overlays-I0axtYA6.js.map +1 -0
  399. package/dist/page-B5dTH9gE.js +224 -0
  400. package/dist/page-B5dTH9gE.js.map +1 -0
  401. package/dist/page-header-commands-DjzFEq3E.js +126 -0
  402. package/dist/page-header-commands-DjzFEq3E.js.map +1 -0
  403. package/dist/{pagination-Cm0jqa3I.js → pagination-3bPA_a6K.js} +15 -15
  404. package/dist/{pagination-Cm0jqa3I.js.map → pagination-3bPA_a6K.js.map} +1 -1
  405. package/dist/{popover-Dcv_9jxr.js → popover-Di55PyAI.js} +8 -8
  406. package/dist/popover-Di55PyAI.js.map +1 -0
  407. package/dist/{popover-menu-DnRFKnHP.js → popover-menu-B71Tn2Qz.js} +6 -6
  408. package/dist/{popover-menu-DnRFKnHP.js.map → popover-menu-B71Tn2Qz.js.map} +1 -1
  409. package/dist/{popover.recipes-wmbvL8Ah.js → popover.recipes-Bdyhj2db.js} +2 -2
  410. package/dist/{popover.recipes-wmbvL8Ah.js.map → popover.recipes-Bdyhj2db.js.map} +1 -1
  411. package/dist/{primitives-BHrwQXFC.js → primitives-B-CkiEMU.js} +5 -5
  412. package/dist/{primitives-BHrwQXFC.js.map → primitives-B-CkiEMU.js.map} +1 -1
  413. package/dist/primitives.js +4 -4
  414. package/dist/{progress-Br9WTFya.js → progress-rnS8-uAW.js} +9 -9
  415. package/dist/{progress-Br9WTFya.js.map → progress-rnS8-uAW.js.map} +1 -1
  416. package/dist/{receipt-CV89q1fs.js → receipt-D0oswZ0p.js} +6 -6
  417. package/dist/{receipt-CV89q1fs.js.map → receipt-D0oswZ0p.js.map} +1 -1
  418. package/dist/rich-text-DvGulsNJ.js +78 -0
  419. package/dist/rich-text-DvGulsNJ.js.map +1 -0
  420. package/dist/rich-text-editor-sMU_Scqm.js +1204 -0
  421. package/dist/rich-text-editor-sMU_Scqm.js.map +1 -0
  422. package/dist/rich-text-editor.recipes-CadiF_Uu.js +88 -0
  423. package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +1 -0
  424. package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
  425. package/dist/rich-text-editor.strings-CB59ekH2.js.map +1 -0
  426. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  427. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  428. package/dist/sanitize-html-DsQmI48u.js +92 -0
  429. package/dist/sanitize-html-DsQmI48u.js.map +1 -0
  430. package/dist/scroll-area-Bt_vXY2b.js +48 -0
  431. package/dist/scroll-area-Bt_vXY2b.js.map +1 -0
  432. package/dist/{separator-Do5GWDYi.js → separator-C8DlRGwF.js} +3 -3
  433. package/dist/{separator-Do5GWDYi.js.map → separator-C8DlRGwF.js.map} +1 -1
  434. package/dist/{separator-BMEvwnSX.js → separator-CYHnjsAb.js} +2 -2
  435. package/dist/{separator-BMEvwnSX.js.map → separator-CYHnjsAb.js.map} +1 -1
  436. package/dist/services/actions/action-adapters.d.ts +18 -0
  437. package/dist/services/actions/index.d.ts +1 -1
  438. package/dist/services/actions.js +16 -4
  439. package/dist/services/actions.js.map +1 -1
  440. package/dist/settings-CQW3b-Cu.js +170 -0
  441. package/dist/settings-CQW3b-Cu.js.map +1 -0
  442. package/dist/sheet-4SEvVYzA.js +210 -0
  443. package/dist/sheet-4SEvVYzA.js.map +1 -0
  444. package/dist/{sidebar-Crc9M9JV.js → sidebar-C7WWR29L.js} +180 -179
  445. package/dist/sidebar-C7WWR29L.js.map +1 -0
  446. package/dist/{sidebar-Cb8WzOvE.js → sidebar-d7Dg80ln.js} +16 -16
  447. package/dist/sidebar-d7Dg80ln.js.map +1 -0
  448. package/dist/{skeleton-DVMXr15h.js → skeleton-Cz890JZF.js} +9 -9
  449. package/dist/{skeleton-DVMXr15h.js.map → skeleton-Cz890JZF.js.map} +1 -1
  450. package/dist/smart-card-lFKxn5Hu.js +595 -0
  451. package/dist/smart-card-lFKxn5Hu.js.map +1 -0
  452. package/dist/{spinner-CmTAbEp0.js → spinner-fa3h1Aif.js} +7 -7
  453. package/dist/{spinner-CmTAbEp0.js.map → spinner-fa3h1Aif.js.map} +1 -1
  454. package/dist/{structure-hzCW-XsV.js → structure-DC2dygdA.js} +2 -2
  455. package/dist/{structure-hzCW-XsV.js.map → structure-DC2dygdA.js.map} +1 -1
  456. package/dist/style.css +1 -1
  457. package/dist/surface-recipes-BKRVW8Os.js +43 -0
  458. package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
  459. package/dist/{table-D6zKeYQX.js → table-CIKyLUsy.js} +59 -58
  460. package/dist/table-CIKyLUsy.js.map +1 -0
  461. package/dist/table-CrcLN9Io.js +1458 -0
  462. package/dist/table-CrcLN9Io.js.map +1 -0
  463. package/dist/{tabs-Dk8E_knt.js → tabs-DwBJfjxX.js} +58 -57
  464. package/dist/tabs-DwBJfjxX.js.map +1 -0
  465. package/dist/{text-inputs-BFpku0Qd.js → text-inputs-aaK9wcDT.js} +74 -79
  466. package/dist/text-inputs-aaK9wcDT.js.map +1 -0
  467. package/dist/theme.css +3 -3
  468. package/dist/{timelines-CxuAFIc2.js → timelines-C_SBwHNP.js} +153 -150
  469. package/dist/timelines-C_SBwHNP.js.map +1 -0
  470. package/dist/tone-recipes-CPoExcTE.js +70 -0
  471. package/dist/tone-recipes-CPoExcTE.js.map +1 -0
  472. package/dist/tooltip-CsfgrfS7.js +111 -0
  473. package/dist/tooltip-CsfgrfS7.js.map +1 -0
  474. package/dist/{tree-BotPlyiD.js → tree-BiKhg8AY.js} +68 -66
  475. package/dist/tree-BiKhg8AY.js.map +1 -0
  476. package/dist/typography/rich-text.js +1 -1
  477. package/dist/typography-DTRkE9zL.js +117 -0
  478. package/dist/typography-DTRkE9zL.js.map +1 -0
  479. package/dist/typography.js +1 -1
  480. package/dist/{ui-provider-D2_TeLqw.js → ui-provider-1D_NSYzO.js} +11 -3
  481. package/dist/ui-provider-1D_NSYzO.js.map +1 -0
  482. package/dist/ui-provider.js +3 -3
  483. package/dist/{upload-B0WHW7ak.js → upload-BO8-CLN6.js} +209 -209
  484. package/dist/upload-BO8-CLN6.js.map +1 -0
  485. package/dist/{upload-queue-BHZ_wBfd.js → upload-queue-EOC8g1gf.js} +109 -111
  486. package/dist/upload-queue-EOC8g1gf.js.map +1 -0
  487. package/dist/upload.recipes-BbxTqrCT.js +61 -0
  488. package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
  489. package/dist/{usage-card-U0YBLTNT.js → usage-card-obRaBskq.js} +46 -46
  490. package/dist/{usage-card-U0YBLTNT.js.map → usage-card-obRaBskq.js.map} +1 -1
  491. package/dist/{utils-Cospvlj1.js → utils-l5LpDw2z.js} +56 -24
  492. package/dist/utils-l5LpDw2z.js.map +1 -0
  493. package/dist/value-inputs-TAYMX111.js +947 -0
  494. package/dist/value-inputs-TAYMX111.js.map +1 -0
  495. package/dist/{value-typography-Deb3yQZg.js → value-typography-b8wpz1eX.js} +2 -2
  496. package/dist/{value-typography-Deb3yQZg.js.map → value-typography-b8wpz1eX.js.map} +1 -1
  497. package/dist/workspace-DH0v0KcB.js +407 -0
  498. package/dist/workspace-DH0v0KcB.js.map +1 -0
  499. package/docs/consumer-skill/SKILL.md +19 -20
  500. package/docs/consumer-skill/examples/app-layout.tsx +1 -1
  501. package/docs/consumer-skill/examples/composition.tsx +3 -3
  502. package/docs/consumer-skill/examples/detail.tsx +59 -12
  503. package/docs/consumer-skill/examples/edit.tsx +1 -1
  504. package/docs/consumer-skill/examples/receipt.tsx +2 -2
  505. package/docs/consumer-skill/examples/scoped-directory.tsx +1 -1
  506. package/docs/consumer-skill/examples/website.tsx +1 -1
  507. package/docs/consumer-skill/references/agents-md.md +33 -0
  508. package/docs/consumer-skill/references/analytics.md +1 -1
  509. package/docs/consumer-skill/references/composition.md +51 -8
  510. package/docs/consumer-skill/references/design-contract.md +12 -3
  511. package/docs/consumer-skill/references/installation.md +11 -1
  512. package/docs/consumer-skill/references/public-api.json +847 -447
  513. package/docs/consumer-skill/references/review.md +25 -5
  514. package/docs/consumer-skill/references/theming.md +8 -4
  515. package/docs/consumer-skill/references/tokens.json +1 -1
  516. package/docs/consumer-skill/references/workflows.md +29 -10
  517. package/docs/consumer-skill/scripts/composition-policy.mjs +41 -11
  518. package/docs/consumer-skill/scripts/surface-policy.mjs +139 -5
  519. package/package.json +10 -2
  520. package/dist/accordion-CQXVcd7Q.js.map +0 -1
  521. package/dist/action-menu-BTpyPWJ2.js +0 -264
  522. package/dist/action-menu-BTpyPWJ2.js.map +0 -1
  523. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +0 -1
  524. package/dist/ai-artifact-2PQ2fItc.js.map +0 -1
  525. package/dist/attachment-q69dlt5Y.js +0 -244
  526. package/dist/attachment-q69dlt5Y.js.map +0 -1
  527. package/dist/auth-M3vGMgDR.js.map +0 -1
  528. package/dist/avatar-djdaaQ_s.js.map +0 -1
  529. package/dist/badge-0tATj-tW.js +0 -92
  530. package/dist/badge-0tATj-tW.js.map +0 -1
  531. package/dist/breadcrumbs-BG_FfMK4.js +0 -128
  532. package/dist/breadcrumbs-BG_FfMK4.js.map +0 -1
  533. package/dist/button-BS3KDg00.js.map +0 -1
  534. package/dist/button-R9CCoH7A.js.map +0 -1
  535. package/dist/buttons-DS0ZIwJ_.js +0 -99
  536. package/dist/buttons-DS0ZIwJ_.js.map +0 -1
  537. package/dist/cards-QoJ4syG9.js.map +0 -1
  538. package/dist/checkbox-B7ygNTYp.js +0 -35
  539. package/dist/checkbox-B7ygNTYp.js.map +0 -1
  540. package/dist/choice-inputs-DrJ17tpL.js +0 -752
  541. package/dist/choice-inputs-DrJ17tpL.js.map +0 -1
  542. package/dist/code-block-CD0B7M93.js +0 -183
  543. package/dist/code-block-CD0B7M93.js.map +0 -1
  544. package/dist/combobox-6dvVny2q.js.map +0 -1
  545. package/dist/combobox-CB7039j7.js.map +0 -1
  546. package/dist/comments-You0Bzbr.js.map +0 -1
  547. package/dist/components/layout/page/partials/page-header-commands.d.ts +0 -13
  548. package/dist/containers-D_L4mTVb.js.map +0 -1
  549. package/dist/data-display-3xWQUnMA.js +0 -1335
  550. package/dist/data-display-3xWQUnMA.js.map +0 -1
  551. package/dist/date-picker-DrDFj8Lo.js +0 -1527
  552. package/dist/date-picker-DrDFj8Lo.js.map +0 -1
  553. package/dist/display-DrdvPwF0.js.map +0 -1
  554. package/dist/feedback-C7nR0UtT.js.map +0 -1
  555. package/dist/field-affordance-recipes-CkOCdE2y.js.map +0 -1
  556. package/dist/field-state-recipes-C-MFBX_8.js +0 -11
  557. package/dist/field-state-recipes-C-MFBX_8.js.map +0 -1
  558. package/dist/filters-Da-gNPsE.js.map +0 -1
  559. package/dist/form-sizing-uWP4lzVh.js.map +0 -1
  560. package/dist/forms-numeric-D3CO60IF.js.map +0 -1
  561. package/dist/header-2ycNqGOR.js.map +0 -1
  562. package/dist/icon-badge-DKlaKXoo.js +0 -53
  563. package/dist/icon-badge-DKlaKXoo.js.map +0 -1
  564. package/dist/input-DhQdBnV3.js +0 -255
  565. package/dist/input-DhQdBnV3.js.map +0 -1
  566. package/dist/item-xzh8Df65.js.map +0 -1
  567. package/dist/media-gallery-DQUQ0m3O.js +0 -201
  568. package/dist/media-gallery-DQUQ0m3O.js.map +0 -1
  569. package/dist/mentions-DwnO1hh4.js +0 -564
  570. package/dist/mentions-DwnO1hh4.js.map +0 -1
  571. package/dist/navigation-Cbp5V8gG.js +0 -264
  572. package/dist/navigation-Cbp5V8gG.js.map +0 -1
  573. package/dist/navigation-Cs1npsPm.js +0 -300
  574. package/dist/navigation-Cs1npsPm.js.map +0 -1
  575. package/dist/overlay.recipes-CNO2S9V6.js +0 -34
  576. package/dist/overlay.recipes-CNO2S9V6.js.map +0 -1
  577. package/dist/overlays-DhZO7N-I.js +0 -994
  578. package/dist/overlays-DhZO7N-I.js.map +0 -1
  579. package/dist/page-C6R_8jFt.js +0 -325
  580. package/dist/page-C6R_8jFt.js.map +0 -1
  581. package/dist/page-header-hUTzcRZX.js +0 -112
  582. package/dist/page-header-hUTzcRZX.js.map +0 -1
  583. package/dist/popover-Dcv_9jxr.js.map +0 -1
  584. package/dist/rich-text-editor-CF8QYt5p.js +0 -574
  585. package/dist/rich-text-editor-CF8QYt5p.js.map +0 -1
  586. package/dist/rich-text-editor.recipes-CnrbmTS1.js +0 -81
  587. package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +0 -1
  588. package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
  589. package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
  590. package/dist/rich-text-j-FGAeZW.js +0 -32
  591. package/dist/rich-text-j-FGAeZW.js.map +0 -1
  592. package/dist/sanitize-html-BG9FGe-j.js +0 -64
  593. package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
  594. package/dist/scroll-area-DRdr16Pt.js +0 -47
  595. package/dist/scroll-area-DRdr16Pt.js.map +0 -1
  596. package/dist/settings-DHk0L2MF.js +0 -161
  597. package/dist/settings-DHk0L2MF.js.map +0 -1
  598. package/dist/sheet-DRFNY1_D.js +0 -207
  599. package/dist/sheet-DRFNY1_D.js.map +0 -1
  600. package/dist/sidebar-Cb8WzOvE.js.map +0 -1
  601. package/dist/sidebar-Crc9M9JV.js.map +0 -1
  602. package/dist/smart-card-Bek-TwUp.js +0 -599
  603. package/dist/smart-card-Bek-TwUp.js.map +0 -1
  604. package/dist/surface-recipes-DOdoBXGm.js +0 -28
  605. package/dist/surface-recipes-DOdoBXGm.js.map +0 -1
  606. package/dist/table-D6zKeYQX.js.map +0 -1
  607. package/dist/table-Dn4XSrSB.js +0 -1444
  608. package/dist/table-Dn4XSrSB.js.map +0 -1
  609. package/dist/tabs-Dk8E_knt.js.map +0 -1
  610. package/dist/text-inputs-BFpku0Qd.js.map +0 -1
  611. package/dist/timelines-CxuAFIc2.js.map +0 -1
  612. package/dist/tree-BotPlyiD.js.map +0 -1
  613. package/dist/typography-CAr3dQhX.js +0 -116
  614. package/dist/typography-CAr3dQhX.js.map +0 -1
  615. package/dist/ui-provider-D2_TeLqw.js.map +0 -1
  616. package/dist/upload-B0WHW7ak.js.map +0 -1
  617. package/dist/upload-queue-BHZ_wBfd.js.map +0 -1
  618. package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
  619. package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
  620. package/dist/utils-Cospvlj1.js.map +0 -1
  621. package/dist/value-inputs-CjfzGMsN.js +0 -854
  622. package/dist/value-inputs-CjfzGMsN.js.map +0 -1
  623. package/dist/workspace-YoFjXi6i.js +0 -394
  624. package/dist/workspace-YoFjXi6i.js.map +0 -1
  625. /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
@@ -1,28 +1,32 @@
1
1
  "use client";
2
- import { _ as e, s as t } from "../ui-provider-D2_TeLqw.js";
2
+ import { s as e, v as t } from "../ui-provider-1D_NSYzO.js";
3
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";
4
+ import { t as r } from "../utils-l5LpDw2z.js";
5
+ import { n as i } from "../buttons-SbIcm1HJ.js";
6
+ import { a, s as o } from "../typography-DTRkE9zL.js";
7
+ import { t as s } from "../focus-recipes-B653VaLq.js";
8
+ import { r as c, t as l } from "../structure-DC2dygdA.js";
9
+ import { i as u } from "../smart-card-lFKxn5Hu.js";
10
+ import { n as d, t as f } from "../feedback-qNuMBtRH.js";
11
+ import { r as p } from "../overlays-I0axtYA6.js";
12
+ import { t as m } from "../interaction-recipes-CHr0dJUs.js";
13
+ import { a as h, i as g, t as _ } from "../primitives-B-CkiEMU.js";
14
+ import { n as v, t as y } from "../number-DMhe-Vsk.js";
15
+ import { t as b } from "../badge-MrKVNzW9.js";
16
+ import { t as x } from "../batch-action-bar-BZGDG-Si.js";
17
+ import { t as S } from "../input-DWhBBBww.js";
18
+ import { t as C } from "../form-field-DUt4UxSV.js";
19
+ import { c as w, l as T } from "../choice-inputs-t6w3ATNz.js";
20
+ import { r as E, t as D } from "../control-group-recipes-DBXmfh2E.js";
21
+ import { t as ee } from "../upload.recipes-BbxTqrCT.js";
22
+ import { a as O } from "../upload-queue-EOC8g1gf.js";
23
+ import { s as k } from "../data-display-DafIvCl5.js";
24
+ import { createContext as te, useCallback as A, useContext as ne, useEffect as j, useMemo as M, useRef as N, useState as P } from "react";
25
+ import { Fragment as re, jsx as F, jsxs as I } from "react/jsx-runtime";
26
+ import { ArrowLeft as ie, ArrowRight as ae, Check as oe, File as se, Grid2X2 as ce, ImageIcon as le, ImagePlus as L, Info as ue, Layers3 as R, LayoutList as de, Lock as z, Play as fe, Plus as pe, Search as me, Star as he, Trash2 as ge, UploadCloud as _e, Video as ve, X as ye } from "lucide-react";
27
+ import { createPortal as be } from "react-dom";
24
28
  //#region src/components/features/media-library/media-library.strings.ts
25
- var ge = {
29
+ var xe = {
26
30
  title: "Add media",
27
31
  description: "Pick from the library, or upload new files.",
28
32
  close: "Close media library",
@@ -62,6 +66,8 @@ var ge = {
62
66
  errorTitle: "Media could not load",
63
67
  errorDescription: "Try again or adjust your filters.",
64
68
  cardDetails: "Details for {name}",
69
+ selectMode: "Select",
70
+ selectItem: "Select {name}",
65
71
  privateLabel: "Private",
66
72
  publicLabel: "Public",
67
73
  typeImage: "Image",
@@ -142,19 +148,19 @@ var ge = {
142
148
  maxReached: "Maximum reached"
143
149
  }
144
150
  };
145
- function V(e, t) {
151
+ function B(e, t) {
146
152
  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] ?? ""));
147
153
  }
148
154
  //#endregion
149
155
  //#region src/components/features/media-library/hooks/use-media-library.ts
150
- var _e = {
156
+ var Se = {
151
157
  collection: void 0,
152
158
  tags: [],
153
159
  public: !0
154
- }, ve = [];
155
- function H(e, t, n) {
156
- let [r, i] = j(t), a = e ?? r;
157
- return [a, D((t) => {
160
+ }, Ce = [];
161
+ function V(e, t, n) {
162
+ let [r, i] = P(t), a = e ?? r;
163
+ return [a, A((t) => {
158
164
  let r = typeof t == "function" ? t(a) : t;
159
165
  e === void 0 && i(r), n?.(r);
160
166
  }, [
@@ -163,7 +169,7 @@ function H(e, t, n) {
163
169
  a
164
170
  ])];
165
171
  }
166
- var ye = {
172
+ var we = {
167
173
  getId: (e) => e.id,
168
174
  getName: (e) => e.name,
169
175
  getType: (e) => e.type,
@@ -181,47 +187,47 @@ var ye = {
181
187
  getTint: (e) => e.tint,
182
188
  getMimeType: (e) => e.mimeType
183
189
  };
184
- function be(e) {
190
+ function Te(e) {
185
191
  return {
186
- ...ye,
192
+ ...we,
187
193
  ...e
188
194
  };
189
195
  }
190
- function xe(e) {
191
- return p(e) ?? "";
196
+ function H(e) {
197
+ return h(e) ?? "";
192
198
  }
193
- function U(e, t) {
199
+ function Ee(e, t) {
194
200
  let n = t.getWidth(e), r = t.getHeight(e);
195
201
  return !n || !r ? "" : `${n} x ${r}`;
196
202
  }
197
- function Se(e, t) {
203
+ function De(e, t) {
198
204
  let n = t.getUploadedAt(e);
199
205
  if (!n) return 0;
200
206
  let r = (n instanceof Date ? n : new Date(n)).getTime();
201
207
  return Number.isFinite(r) ? r : 0;
202
208
  }
203
- function Ce(e) {
209
+ function Oe(e) {
204
210
  return e.type.startsWith("image/") ? "image" : e.type.startsWith("video/") ? "video" : "file";
205
211
  }
206
- function we(e) {
212
+ function ke(e) {
207
213
  if (e.type.startsWith("image/") && typeof URL < "u" && typeof URL.createObjectURL == "function") return URL.createObjectURL(e);
208
214
  }
209
- function Te(e) {
215
+ function Ae(e) {
210
216
  e && typeof URL < "u" && typeof URL.revokeObjectURL == "function" && URL.revokeObjectURL(e);
211
217
  }
212
- function Ee(e) {
218
+ function je(e) {
213
219
  return Array.isArray(e) ? {
214
220
  items: e,
215
221
  total: e.length
216
222
  } : e;
217
223
  }
218
- function De(e, t) {
224
+ function Me(e, t) {
219
225
  return t && typeof e == "object" && e ? {
220
226
  ...e,
221
227
  ...t
222
228
  } : e;
223
229
  }
224
- function Oe(e, t, n, r, i) {
230
+ function Ne(e, t, n, r, i) {
225
231
  let a = n.trim().toLowerCase();
226
232
  return e.filter((e) => r !== "all" && t.getType(e) !== r || i !== "all" && t.getCollection(e) !== i ? !1 : !a || [
227
233
  t.getName(e),
@@ -230,178 +236,186 @@ function Oe(e, t, n, r, i) {
230
236
  ...t.getTags(e)
231
237
  ].filter(Boolean).join(" ").toLowerCase().includes(a));
232
238
  }
233
- function ke(e, t, n) {
239
+ function Pe(e, t, n) {
234
240
  let r = e.slice();
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;
241
+ 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) => De(n, t) - De(e, t)), r;
236
242
  }
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,
244
- ...M,
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,
243
+ function Fe({ items: e = Ce, 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: T, sort: E, defaultSort: D = "newest", onSortChange: ee, uploadOptions: O, defaultUploadOptions: k, onUploadOptionsChange: te, selecting: ne, defaultSelecting: re = !1, onSelectingChange: F } = {}) {
244
+ let I = M(() => Te(n), [n]), [ie, ae] = V(d, f, p), [oe, se] = V(m, h, g), [ce, le] = V(_, v, y), [L, ue] = V(b, x, S), [R, de] = V(C, w, T), [z, fe] = V(E, D, ee), [pe, me] = P(null), [he, ge] = P(() => [...a]), [_e, ve] = P([]), [ye, be] = P(), [xe, B] = P(!1), [we, H] = P(null), [Ee, De] = P([]), [Fe, Ie] = P(() => /* @__PURE__ */ new Set()), [Le, Re] = P({}), [U, W] = P([]), [ze, Be] = P(!1), G = M(() => ({
245
+ ...Se,
246
+ ...k,
247
+ tags: k?.tags ?? Se.tags
248
+ }), [k]), [Ve, He] = V(M(() => O ? {
249
+ ...Se,
250
+ ...O,
251
+ tags: O.tags ?? Se.tags
252
+ } : void 0, [O]), G, te), Ue = i !== void 0, K = M(() => Ue ? [...i ?? []] : he, [
253
+ he,
254
+ Ue,
249
255
  i
250
- ]), Y = k(() => new Set(J), [J]), ze = A(/* @__PURE__ */ new Set()), X = A(null), Be = A(/* @__PURE__ */ new Map());
251
- O(() => {
256
+ ]), q = M(() => new Set(K), [K]), We = N(/* @__PURE__ */ new Set()), J = N(null), Ge = N(/* @__PURE__ */ new Map());
257
+ j(() => {
252
258
  if (!t) return;
253
259
  let e = new AbortController();
254
- return ye(!0), U(null), t({
255
- query: I,
260
+ return B(!0), H(null), t({
261
+ query: ce,
256
262
  type: L,
257
263
  collection: R === "all" ? void 0 : R,
258
- sort: B,
264
+ sort: z,
259
265
  signal: e.signal
260
266
  }).then((t) => {
261
267
  if (e.signal.aborted) return;
262
- let n = Ee(t);
263
- me(n.items), ge(n.total);
268
+ let n = je(t);
269
+ ve(n.items), be(n.total);
264
270
  }).catch((t) => {
265
- e.signal.aborted || (U(t), u?.(t));
271
+ e.signal.aborted || (H(t), u?.(t));
266
272
  }).finally(() => {
267
- e.signal.aborted || ye(!1);
273
+ e.signal.aborted || B(!1);
268
274
  }), () => e.abort();
269
275
  }, [
270
276
  R,
271
277
  t,
272
278
  u,
273
- I,
274
- B,
279
+ ce,
280
+ z,
275
281
  L
276
- ]), O(() => {
277
- let e = ze.current;
282
+ ]), j(() => {
283
+ let e = We.current;
278
284
  return () => {
279
- X.current?.abort();
280
- for (let t of e) Te(t);
285
+ J.current?.abort();
286
+ for (let t of e) Ae(t);
281
287
  e.clear();
282
288
  };
283
289
  }, []);
284
- let Z = k(() => t ? pe : [...Se, ...e], [
285
- Se,
286
- pe,
290
+ let Ke = M(() => t ? _e : [...Ee, ...e], [
291
+ Ee,
292
+ _e,
287
293
  t,
288
294
  e
289
- ]), Q = k(() => Z.filter((e) => !je.has(F.getId(e))).map((e) => De(e, G[F.getId(e)])), [
290
- F,
291
- G,
292
- je,
293
- Z
294
- ]), Ve = k(() => {
295
- let e = t ? Q : Oe(Q, F, I, L, R);
296
- return t ? e : ke(e, F, B);
295
+ ]), Y = M(() => Ke.filter((e) => !Fe.has(I.getId(e))).map((e) => Me(e, Le[I.getId(e)])), [
296
+ I,
297
+ Le,
298
+ Fe,
299
+ Ke
300
+ ]), qe = M(() => {
301
+ let e = t ? Y : Ne(Y, I, ce, L, R);
302
+ return t ? e : Pe(e, I, z);
297
303
  }, [
298
- F,
304
+ I,
299
305
  R,
300
306
  t,
301
- Q,
302
- I,
303
- B,
307
+ Y,
308
+ ce,
309
+ z,
304
310
  L
305
- ]), He = he ?? Q.length, Ue = Ve.length, We = k(() => Q.filter((e) => Y.has(F.getId(e))), [
306
- F,
307
- Q,
308
- Y
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)));
311
+ ]), X = ye ?? Y.length, Je = qe.length, Z = M(() => Y.filter((e) => q.has(I.getId(e))), [
312
+ I,
313
+ Y,
314
+ q
315
+ ]), Q = !!ce.trim() || L !== "all" || R !== "all", $ = A((e) => {
316
+ Ue || ge(e);
317
+ let t = new Set(e), n = Y.filter((e) => t.has(I.getId(e)));
312
318
  o?.(e, n);
313
319
  }, [
314
- F,
315
- Re,
320
+ I,
321
+ Ue,
316
322
  o,
317
- Q
318
- ]), Ke = D((e) => {
319
- let t = new Set(r === "single" ? [] : Y);
320
- Y.has(e) && r !== "single" ? t.delete(e) : t.add(e), $(Array.from(t));
323
+ Y
324
+ ]), Ye = A((e) => {
325
+ let t = new Set(r === "single" ? [] : q);
326
+ q.has(e) && r !== "single" ? t.delete(e) : t.add(e), $(Array.from(t));
321
327
  }, [
322
328
  $,
323
- Y,
329
+ q,
324
330
  r
325
- ]), qe = D(() => $([]), [$]), Je = D(() => {
326
- oe(""), se("all"), z("all");
331
+ ]), Xe = A(() => $([]), [$]), [Ze, Qe] = V(ne, re, F), $e = Ze || K.length > 0, et = A((e) => {
332
+ Qe(e), !e && K.length > 0 && $([]);
327
333
  }, [
328
- z,
329
- oe,
330
- se
331
- ]), Ye = D((e) => {
332
- q((t) => [...t, ...e.map((e, t) => {
333
- let n = we(e);
334
- return n && ze.current.add(n), {
334
+ $,
335
+ K.length,
336
+ Qe
337
+ ]), tt = A(() => {
338
+ le(""), ue("all"), de("all");
339
+ }, [
340
+ de,
341
+ le,
342
+ ue
343
+ ]), nt = A((e) => {
344
+ W((t) => [...t, ...e.map((e, t) => {
345
+ let n = ke(e);
346
+ return n && We.current.add(n), {
335
347
  id: `staged-${Date.now()}-${t}`,
336
348
  file: e,
337
349
  name: e.name,
338
350
  size: e.size,
339
- type: Ce(e),
351
+ type: Oe(e),
340
352
  src: n,
341
353
  progress: 0,
342
354
  status: "staged"
343
355
  };
344
356
  })]);
345
- }, []), Xe = D((e) => {
346
- q((t) => {
357
+ }, []), rt = A((e) => {
358
+ W((t) => {
347
359
  let n = t.find((t) => t.id === e);
348
- return n?.src && (Te(n.src), ze.current.delete(n.src)), t.filter((t) => t.id !== e);
360
+ return n?.src && (Ae(n.src), We.current.delete(n.src)), t.filter((t) => t.id !== e);
349
361
  });
350
- }, []), Ze = D(() => {
351
- q((e) => {
352
- for (let t of e) t.src && (Te(t.src), ze.current.delete(t.src));
362
+ }, []), it = A(() => {
363
+ W((e) => {
364
+ for (let t of e) t.src && (Ae(t.src), We.current.delete(t.src));
353
365
  return [];
354
366
  });
355
- }, []), Qe = D((e) => {
356
- Le((t) => ({
367
+ }, []), at = A((e) => {
368
+ He((t) => ({
357
369
  ...t,
358
370
  ...e
359
371
  }));
360
- }, [Le]), $e = D((e, t) => {
361
- q((n) => n.map((n) => n.id === e ? {
372
+ }, [He]), ot = A((e, t) => {
373
+ W((n) => n.map((n) => n.id === e ? {
362
374
  ...n,
363
375
  ...t
364
376
  } : n));
365
377
  }, []);
366
378
  return {
367
- tab: ne,
368
- setTab: re,
369
- view: ie,
370
- setView: ae,
371
- query: I,
372
- setQuery: oe,
379
+ tab: ie,
380
+ setTab: ae,
381
+ view: oe,
382
+ setView: se,
383
+ query: ce,
384
+ setQuery: le,
373
385
  type: L,
374
- setType: se,
386
+ setType: ue,
375
387
  collection: R,
376
- setCollection: z,
377
- sort: B,
378
- setSort: ce,
379
- detailId: le,
380
- setDetailId: ue,
381
- items: Q,
382
- visibleItems: Ve,
383
- selectedIds: J,
384
- selectedItems: We,
385
- selectedSet: Y,
386
- toggleSelection: Ke,
387
- clearSelection: qe,
388
- clearFilters: Je,
389
- loading: V,
390
- error: xe,
391
- hasFilters: Ge,
392
- totalCount: He,
393
- filteredCount: Ue,
394
- stagedFiles: K,
395
- addFiles: Ye,
396
- removeStagedFile: Xe,
397
- clearStagedFiles: Ze,
398
- updateUploadOptions: Qe,
399
- uploadOptions: Ie,
400
- uploading: Ne,
401
- startUpload: D(async () => {
402
- if (Ne || K.length === 0) return;
388
+ setCollection: de,
389
+ sort: z,
390
+ setSort: fe,
391
+ detailId: pe,
392
+ setDetailId: me,
393
+ items: Y,
394
+ visibleItems: qe,
395
+ selectedIds: K,
396
+ selectedItems: Z,
397
+ selectedSet: q,
398
+ toggleSelection: Ye,
399
+ clearSelection: Xe,
400
+ selecting: $e,
401
+ setSelecting: et,
402
+ clearFilters: tt,
403
+ loading: xe,
404
+ error: we,
405
+ hasFilters: Q,
406
+ totalCount: X,
407
+ filteredCount: Je,
408
+ stagedFiles: U,
409
+ addFiles: nt,
410
+ removeStagedFile: rt,
411
+ clearStagedFiles: it,
412
+ updateUploadOptions: at,
413
+ uploadOptions: Ve,
414
+ uploading: ze,
415
+ startUpload: A(async () => {
416
+ if (ze || U.length === 0) return;
403
417
  let e = new AbortController();
404
- X.current?.abort(), X.current = e, U(null), Pe(!0), q((e) => e.map((e) => ({
418
+ J.current?.abort(), J.current = e, H(null), Be(!0), W((e) => e.map((e) => ({
405
419
  ...e,
406
420
  status: "uploading",
407
421
  progress: 0
@@ -409,65 +423,65 @@ function Ae({ items: e = ve, fetcher: t, accessors: n, selectionMode: r = "multi
409
423
  let t = {
410
424
  signal: e.signal,
411
425
  setProgress: (t, n) => {
412
- e.signal.aborted || $e(t, { progress: Math.max(0, Math.min(100, n)) });
426
+ e.signal.aborted || ot(t, { progress: Math.max(0, Math.min(100, n)) });
413
427
  },
414
428
  setFileStatus: (t, n, r) => {
415
- e.signal.aborted || $e(t, {
429
+ e.signal.aborted || ot(t, {
416
430
  status: n,
417
431
  error: r
418
432
  });
419
433
  }
420
434
  };
421
435
  try {
422
- let n = K.map((e) => e.file), i = await l?.(n, Ie, t);
436
+ let n = U.map((e) => e.file), i = await l?.(n, Ve, t);
423
437
  if (e.signal.aborted) return;
424
- if (q((e) => e.map((e) => ({
438
+ if (W((e) => e.map((e) => ({
425
439
  ...e,
426
440
  status: "done",
427
441
  progress: 100
428
442
  }))), i?.length) {
429
- Ae((e) => [...i, ...e]);
430
- let e = i.map((e) => F.getId(e));
431
- $(r === "single" ? e.slice(0, 1) : Array.from(/* @__PURE__ */ new Set([...e, ...J])));
443
+ De((e) => [...i, ...e]);
444
+ let e = i.map((e) => I.getId(e));
445
+ $(r === "single" ? e.slice(0, 1) : Array.from(/* @__PURE__ */ new Set([...e, ...K])));
432
446
  }
433
- Ze(), re("library");
447
+ it(), ae("library");
434
448
  } catch (t) {
435
449
  if (e.signal.aborted) return;
436
- U(t), q((e) => e.map((e) => e.status === "uploading" ? {
450
+ H(t), W((e) => e.map((e) => e.status === "uploading" ? {
437
451
  ...e,
438
452
  status: "error",
439
453
  error: "Upload failed"
440
454
  } : e)), u?.(t);
441
455
  } finally {
442
- X.current === e && (X.current = null, Pe(!1));
456
+ J.current === e && (J.current = null, Be(!1));
443
457
  }
444
458
  }, [
445
- F,
459
+ I,
446
460
  $,
447
- Ze,
461
+ it,
448
462
  u,
449
463
  l,
450
- J,
451
- r,
452
- re,
453
- $e,
454
464
  K,
455
- Ie,
456
- Ne
465
+ r,
466
+ ae,
467
+ ot,
468
+ U,
469
+ Ve,
470
+ ze
457
471
  ]),
458
- cancelUpload: D(() => {
459
- X.current?.abort(), X.current = null, Pe(!1), q((e) => e.map((e) => e.status === "uploading" ? {
472
+ cancelUpload: A(() => {
473
+ J.current?.abort(), J.current = null, Be(!1), W((e) => e.map((e) => e.status === "uploading" ? {
460
474
  ...e,
461
475
  status: "staged",
462
476
  progress: 0,
463
477
  error: void 0
464
478
  } : e));
465
479
  }, []),
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) => ({
480
+ updateItem: A(async (e, t) => {
481
+ let n = I.getId(e), r = `update:${n}`, i = (Ge.current.get(r) ?? 0) + 1;
482
+ Ge.current.set(r, i);
483
+ let a = Le[n];
484
+ H(null), Re((e) => ({
471
485
  ...e,
472
486
  [n]: {
473
487
  ...e[n],
@@ -477,69 +491,69 @@ function Ae({ items: e = ve, fetcher: t, accessors: n, selectionMode: r = "multi
477
491
  try {
478
492
  return await s?.(e, t), !0;
479
493
  } catch (e) {
480
- return Be.current.get(r) === i && Me((e) => {
494
+ return Ge.current.get(r) === i && Re((e) => {
481
495
  let t = { ...e };
482
496
  return a ? t[n] = a : delete t[n], t;
483
- }), U(e), u?.(e), !1;
497
+ }), H(e), u?.(e), !1;
484
498
  }
485
499
  }, [
486
- F,
487
- G,
500
+ I,
501
+ Le,
488
502
  u,
489
503
  s
490
504
  ]),
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));
505
+ removeItem: A(async (e) => {
506
+ let t = I.getId(e), n = `delete:${t}`, r = (Ge.current.get(n) ?? 0) + 1;
507
+ Ge.current.set(n, r);
508
+ let i = Fe.has(t);
509
+ H(null), Ie((e) => new Set(e).add(t));
496
510
  try {
497
- return await c?.(e), Y.has(t) && $(J.filter((e) => e !== t)), !0;
511
+ return await c?.(e), q.has(t) && $(K.filter((e) => e !== t)), !0;
498
512
  } catch (e) {
499
- return !i && Be.current.get(n) === r && W((e) => {
513
+ return !i && Ge.current.get(n) === r && Ie((e) => {
500
514
  let n = new Set(e);
501
515
  return n.delete(t), n;
502
- }), U(e), u?.(e), !1;
516
+ }), H(e), u?.(e), !1;
503
517
  }
504
518
  }, [
505
- F,
519
+ I,
506
520
  $,
507
521
  u,
508
522
  c,
509
- je,
510
- J,
511
- Y
523
+ Fe,
524
+ K,
525
+ q
512
526
  ]),
513
- accessors: F
527
+ accessors: I
514
528
  };
515
529
  }
516
530
  //#endregion
517
531
  //#region src/components/features/media-library/partials/media-library-partials.tsx
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";
519
- function W(e, t) {
520
- return N(e === "image" ? I : e === "video" ? pe : ie, { className: t ?? "size-icon" });
532
+ var Ie = `absolute inset-0 z-10 box-border block h-full w-full cursor-pointer border-0 bg-transparent p-0 font-sans outline-none ${s.inset}`, Le = "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 p-0 text-transparent shadow-xs", Re = "border-primary bg-primary text-primary-foreground opacity-100";
533
+ function U(e, t) {
534
+ return F(e === "image" ? le : e === "video" ? ve : se, { className: t ?? "size-icon" });
521
535
  }
522
- function G(e, t) {
536
+ function W(e, t) {
523
537
  return e === "image" ? t.typeImage : e === "video" ? t.typeVideo : t.typeFile;
524
538
  }
525
- function Me(e, t) {
526
- return e ? V(t.usedIn, { count: e }) : t.notUsed;
539
+ function ze(e, t) {
540
+ return e ? B(t.usedIn, { count: e }) : t.notUsed;
527
541
  }
528
- function K({ children: e, tint: t, className: n }) {
529
- return /* @__PURE__ */ N("div", {
542
+ function Be({ children: e, tint: t, className: n }) {
543
+ return /* @__PURE__ */ F("div", {
530
544
  className: r("media-library-preview relative overflow-hidden bg-muted", n),
531
545
  style: t ? { background: t } : void 0,
532
546
  children: e
533
547
  });
534
548
  }
535
- function q({ src: e, alt: t, type: n, className: r, loading: i = "lazy" }) {
536
- let [a, o] = j(!1);
537
- return O(() => {
549
+ function G({ src: e, alt: t, type: n, className: r, loading: i = "lazy" }) {
550
+ let [a, o] = P(!1);
551
+ return j(() => {
538
552
  o(!1);
539
- }, [e]), !e || a ? /* @__PURE__ */ N("div", {
553
+ }, [e]), !e || a ? /* @__PURE__ */ F("div", {
540
554
  className: "media-library-preview--fallback flex size-full items-center justify-center text-muted-foreground",
541
- children: W(n, "size-6")
542
- }) : /* @__PURE__ */ N("img", {
555
+ children: U(n, "size-6")
556
+ }) : /* @__PURE__ */ F("img", {
543
557
  src: e,
544
558
  alt: t,
545
559
  loading: i,
@@ -547,23 +561,23 @@ function q({ src: e, alt: t, type: n, className: r, loading: i = "lazy" }) {
547
561
  onError: () => o(!0)
548
562
  });
549
563
  }
550
- function Ne({ icon: e, title: t, description: n, action: i, className: a }) {
551
- return /* @__PURE__ */ N(T, {
564
+ function Ve({ icon: e, title: t, description: n, action: i, className: a }) {
565
+ return /* @__PURE__ */ F(k, {
552
566
  title: t,
553
567
  description: n ?? !1,
554
568
  actions: i,
555
- media: e ?? /* @__PURE__ */ N(I, {
569
+ media: e ?? /* @__PURE__ */ F(le, {
556
570
  className: "size-icon",
557
571
  "aria-hidden": "true"
558
572
  }),
559
573
  mediaVariant: "icon-soft",
560
574
  padding: "md",
561
575
  border: !0,
562
- className: r("media-library-empty-state--component min-h-64 bg-muted/20", a)
576
+ className: r("media-library-empty-state--component min-h-64 bg-muted/30", a)
563
577
  });
564
578
  }
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 = [
579
+ function He({ query: n, type: a, typeFilters: s, collection: c, sort: u, view: d, collections: f = [], strings: p, onQueryChange: h, onTypeChange: g, onCollectionChange: _, onSortChange: v, onViewChange: y, onClearFilters: x, toolbarEnd: C, selecting: w = !1, onSelectingChange: ee }) {
580
+ let { defaultScale: O } = e(), k = t(void 0, O), te = [
567
581
  {
568
582
  value: "all",
569
583
  label: p.allTypes,
@@ -572,29 +586,29 @@ function Pe({ query: n, type: i, typeFilters: s, collection: l, sort: u, view: d
572
586
  {
573
587
  value: "image",
574
588
  label: p.images,
575
- icon: I
589
+ icon: le
576
590
  },
577
591
  {
578
592
  value: "video",
579
593
  label: p.videos,
580
- icon: pe
594
+ icon: ve
581
595
  },
582
596
  {
583
597
  value: "file",
584
598
  label: p.files,
585
- icon: ie
599
+ icon: se
586
600
  }
587
601
  ].filter((e) => (s ?? [
588
602
  "all",
589
603
  "image",
590
604
  "video"
591
- ]).includes(e.value)), te = [{
605
+ ]).includes(e.value)), A = [{
592
606
  value: "all",
593
607
  label: p.allCollections
594
608
  }, ...f.map((e) => ({
595
609
  value: e.value,
596
610
  label: String(e.label)
597
- }))], O = [
611
+ }))], ne = [
598
612
  {
599
613
  value: "newest",
600
614
  label: p.sortNewest
@@ -611,65 +625,65 @@ function Pe({ query: n, type: i, typeFilters: s, collection: l, sort: u, view: d
611
625
  value: "usage",
612
626
  label: p.sortUsage
613
627
  }
614
- ], k = n.trim(), A = k.length > 0, j = A || i !== "all" || l !== "all";
615
- return /* @__PURE__ */ P(c, {
628
+ ], j = n.trim(), M = j.length > 0, N = M || a !== "all" || c !== "all";
629
+ return /* @__PURE__ */ I(l, {
616
630
  direction: "horizontal",
617
631
  wrap: !0,
618
632
  align: "start",
619
633
  gap: "md",
620
634
  className: "media-library-toolbar--component",
621
635
  children: [
622
- /* @__PURE__ */ P(c, {
636
+ /* @__PURE__ */ I(l, {
623
637
  gap: "xs",
624
638
  className: "media-library-toolbar--search min-w-52 flex-1",
625
- children: [/* @__PURE__ */ N(y, {
639
+ children: [/* @__PURE__ */ F(S, {
626
640
  value: n,
627
- onChange: (e) => m(e.target.value),
641
+ onChange: (e) => h(e.target.value),
628
642
  placeholder: p.searchPlaceholder,
629
- startIcon: le,
643
+ startIcon: me,
630
644
  clearable: !0,
631
- onClear: () => m(""),
645
+ onClear: () => h(""),
632
646
  strings: { clear: p.clearSearch },
633
647
  className: "bg-background"
634
- }), !!A && /* @__PURE__ */ N(c, {
648
+ }), !!M && /* @__PURE__ */ F(l, {
635
649
  direction: "horizontal",
636
650
  gap: "xs",
637
651
  wrap: !1,
638
652
  className: "media-library-toolbar--search-value px-space-xs",
639
- children: /* @__PURE__ */ P(v, {
653
+ children: /* @__PURE__ */ I(b, {
640
654
  tone: "secondary",
641
655
  className: "max-w-full",
642
- children: [/* @__PURE__ */ N(a, {
656
+ children: [/* @__PURE__ */ F(o, {
643
657
  tag: "span",
644
658
  size: "inherit",
645
659
  className: "text-current",
646
660
  children: p.activeSearchLabel
647
- }), /* @__PURE__ */ N(a, {
661
+ }), /* @__PURE__ */ F(o, {
648
662
  tag: "span",
649
663
  size: "inherit",
650
664
  weight: "normal",
651
665
  className: "min-w-0 truncate text-current",
652
- children: k
666
+ children: j
653
667
  })]
654
668
  })
655
669
  })]
656
670
  }),
657
- /* @__PURE__ */ N("div", {
658
- className: r("media-library-toolbar--type-toggle", C.frame, w[E]),
671
+ /* @__PURE__ */ F("div", {
672
+ className: r("media-library-toolbar--type-toggle", E.frame, D[k]),
659
673
  role: "tablist",
660
674
  "aria-label": p.typeFilterLabel,
661
- children: D.map((e) => {
662
- let t = e.icon, n = i === e.value;
663
- return /* @__PURE__ */ P(o, {
675
+ children: te.map((e) => {
676
+ let t = e.icon, n = a === e.value;
677
+ return /* @__PURE__ */ I(i, {
664
678
  type: "button",
665
679
  role: "tab",
666
680
  "aria-selected": n,
667
681
  tone: "secondary",
668
682
  buttonStyle: "ghost",
669
683
  size: "sm",
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, {
684
+ className: r(E.item, "shadow-none", n ? `${m.segmentActive} hover:bg-card` : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
685
+ onClick: () => g(e.value),
686
+ children: [t && /* @__PURE__ */ F(t, { className: "size-icon-md" }), /* @__PURE__ */ F(o, {
673
687
  tag: "span",
674
688
  size: "xs",
675
689
  weight: "medium",
@@ -679,147 +693,166 @@ function Pe({ query: n, type: i, typeFilters: s, collection: l, sort: u, view: d
679
693
  }, e.value);
680
694
  })
681
695
  }),
682
- /* @__PURE__ */ N("div", {
696
+ /* @__PURE__ */ F("div", {
683
697
  className: "min-w-40",
684
- children: /* @__PURE__ */ N(x, {
685
- value: l,
686
- options: te,
687
- onValueChange: (e) => g(e ?? "all"),
698
+ children: /* @__PURE__ */ F(T, {
699
+ value: c,
700
+ options: A,
701
+ onValueChange: (e) => _(e ?? "all"),
688
702
  placeholder: p.collectionFilterLabel,
689
703
  "aria-label": p.collectionFilterLabel,
690
704
  className: "bg-background"
691
705
  })
692
706
  }),
693
- /* @__PURE__ */ N("div", {
707
+ /* @__PURE__ */ F("div", {
694
708
  className: "min-w-32",
695
- children: /* @__PURE__ */ N(x, {
709
+ children: /* @__PURE__ */ F(T, {
696
710
  value: u,
697
- options: O,
698
- onValueChange: (e) => _(e ?? "newest"),
711
+ options: ne,
712
+ onValueChange: (e) => v(e ?? "newest"),
699
713
  placeholder: p.sortLabel,
700
714
  "aria-label": p.sortLabel,
701
715
  className: "bg-background"
702
716
  })
703
717
  }),
704
- /* @__PURE__ */ P("div", {
705
- className: r("media-library-toolbar--view-toggle ml-auto", C.frame, w[E]),
706
- children: [/* @__PURE__ */ N(o, {
718
+ /* @__PURE__ */ I("div", {
719
+ className: r("media-library-toolbar--view-toggle ml-auto", E.frame, D[k]),
720
+ children: [/* @__PURE__ */ F(i, {
707
721
  type: "button",
708
722
  tone: d === "grid" ? "neutral" : "secondary",
709
723
  buttonStyle: d === "grid" ? "solid" : "ghost",
710
724
  size: "sm",
711
725
  iconOnly: !0,
712
- className: r(C.item, d === "grid" && "bg-background text-foreground shadow-xs hover:bg-background"),
726
+ className: r(E.item, d === "grid" && `${m.segmentActive} hover:bg-card`),
713
727
  "aria-label": p.gridView,
714
- onClick: () => b("grid"),
715
- children: /* @__PURE__ */ N(ae, { className: "size-icon-md" })
716
- }), /* @__PURE__ */ N(o, {
728
+ onClick: () => y("grid"),
729
+ children: /* @__PURE__ */ F(ce, { className: "size-icon-md" })
730
+ }), /* @__PURE__ */ F(i, {
717
731
  type: "button",
718
732
  tone: d === "table" ? "neutral" : "secondary",
719
733
  buttonStyle: d === "table" ? "solid" : "ghost",
720
734
  size: "sm",
721
735
  iconOnly: !0,
722
- className: r(C.item, d === "table" && "bg-background text-foreground shadow-xs hover:bg-background"),
736
+ className: r(E.item, d === "table" && `${m.segmentActive} hover:bg-card`),
723
737
  "aria-label": p.tableView,
724
- onClick: () => b("table"),
725
- children: /* @__PURE__ */ N(R, { className: "size-icon-md" })
738
+ onClick: () => y("table"),
739
+ children: /* @__PURE__ */ F(de, { className: "size-icon-md" })
726
740
  })]
727
741
  }),
728
- !!j && /* @__PURE__ */ N(o, {
742
+ !!N && /* @__PURE__ */ F(i, {
729
743
  type: "button",
730
744
  tone: "secondary",
731
745
  buttonStyle: "ghost",
732
- onClick: S,
746
+ onClick: x,
733
747
  children: p.clearFilters
734
748
  }),
735
- ee
749
+ !!ee && /* @__PURE__ */ F(i, {
750
+ type: "button",
751
+ "aria-pressed": w,
752
+ tone: "secondary",
753
+ buttonStyle: "outline",
754
+ className: r("media-library-toolbar--select", w && m.togglePressed),
755
+ onClick: () => ee(!w),
756
+ children: p.selectMode
757
+ }),
758
+ C
736
759
  ]
737
760
  });
738
761
  }
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", {
762
+ function Ue({ item: e, selected: t = !1, density: n = "comfortable", showMeta: a = !0, accessors: u, strings: d, onToggle: f, onDetails: p, onOpen: h, selecting: _ = !1, className: v }) {
763
+ let y = u.getType(e), x = u.getName(e), S = u.getSrc(e), C = u.getAlt(e) || x, w = u.getSize(e), T = u.getUsageCount(e), E = u.getPublic(e) === !1, D = u.getDuration(e), ee = !!h && !_, O = ee ? h : f;
764
+ return /* @__PURE__ */ I("div", {
742
765
  "data-selected": t || void 0,
766
+ "data-selecting": _ || void 0,
743
767
  "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,
768
+ className: r("media-library-card--component relative group/card overflow-hidden rounded-radius border border-border bg-card text-left shadow-xs transition-all", `${m.tileHover} hover:shadow-sm`, t && "media-library-card--selected border-primary ring-1 ring-primary", v),
769
+ onClick: O,
746
770
  children: [
747
- !!d && /* @__PURE__ */ N("button", {
771
+ !!O && /* @__PURE__ */ F("button", {
748
772
  type: "button",
749
- "aria-label": g,
750
- "aria-pressed": t,
751
- className: r("media-library-card--select rounded-radius", je),
773
+ "aria-label": x,
774
+ "aria-pressed": ee ? void 0 : t,
775
+ className: r("media-library-card--select rounded-radius", Ie),
752
776
  onClick: (e) => {
753
- e.stopPropagation(), d();
777
+ e.stopPropagation(), O();
754
778
  }
755
779
  }),
756
- /* @__PURE__ */ P(K, {
757
- tint: l.getTint(e),
780
+ /* @__PURE__ */ I(Be, {
781
+ tint: u.getTint(e),
758
782
  className: r(n === "compact" ? "aspect-square" : "aspect-[4/3]"),
759
783
  children: [
760
- /* @__PURE__ */ N(q, {
761
- src: _,
762
- alt: y,
763
- type: h,
784
+ /* @__PURE__ */ F(G, {
785
+ src: S,
786
+ alt: C,
787
+ type: y,
764
788
  className: "size-full object-cover"
765
789
  }),
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"),
790
+ ee && f ? /* @__PURE__ */ F("button", {
791
+ type: "button",
792
+ "aria-label": B(d.selectItem, { name: x }),
793
+ "aria-pressed": t,
794
+ className: r(Le, `z-10 cursor-pointer opacity-0 transition-opacity group-hover/card:opacity-100 group-focus-within/card:opacity-100 pointer-coarse:opacity-100 ${s.frame}`, t && Re),
795
+ onClick: (e) => {
796
+ e.stopPropagation(), f();
797
+ },
798
+ children: /* @__PURE__ */ F(oe, { className: "size-icon-sm" })
799
+ }) : /* @__PURE__ */ F("span", {
800
+ className: r(Le, "transition-opacity", _ ? "opacity-100" : "opacity-0 group-hover/card:opacity-100 group-focus-within/card:opacity-100", t && Re),
768
801
  "aria-hidden": "true",
769
- children: /* @__PURE__ */ N(re, { className: "size-icon-sm" })
802
+ children: /* @__PURE__ */ F(oe, { className: "size-icon-sm" })
770
803
  }),
771
- !!f && /* @__PURE__ */ N(o, {
804
+ !!p && /* @__PURE__ */ F(i, {
772
805
  type: "button",
773
806
  tone: "secondary",
774
807
  buttonStyle: "solid",
775
808
  size: "sm",
776
809
  iconOnly: !0,
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",
778
- "aria-label": V(u.cardDetails, { name: g }),
810
+ className: "media-library-card--details absolute z-10 right-2 top-2 opacity-0 shadow-sm transition-opacity group-hover/card:opacity-100 group-focus-within/card:opacity-100 pointer-coarse:opacity-100",
811
+ "aria-label": B(d.cardDetails, { name: x }),
779
812
  onClick: (e) => {
780
- e.stopPropagation(), f();
813
+ e.stopPropagation(), p();
781
814
  },
782
- children: /* @__PURE__ */ N(L, { className: "size-icon-md" })
815
+ children: /* @__PURE__ */ F(ue, { className: "size-icon-md" })
783
816
  }),
784
- h === "video" && !!C && /* @__PURE__ */ P(v, {
817
+ y === "video" && !!D && /* @__PURE__ */ I(b, {
785
818
  tone: "secondary",
786
819
  className: "media-library-card--duration absolute bottom-2 left-2 bg-inverse-background text-inverse-foreground",
787
- children: [/* @__PURE__ */ N(B, { className: "size-icon-sm fill-current" }), C]
820
+ children: [/* @__PURE__ */ F(fe, { className: "size-icon-sm fill-current" }), D]
788
821
  }),
789
- S && /* @__PURE__ */ N(v, {
822
+ E && /* @__PURE__ */ F(b, {
790
823
  tone: "secondary",
791
824
  className: "media-library-card--private absolute bottom-2 right-2 bg-card text-card-foreground",
792
- children: /* @__PURE__ */ N(z, { className: "size-icon-sm" })
825
+ children: /* @__PURE__ */ F(z, { className: "size-icon-sm" })
793
826
  })
794
827
  ]
795
828
  }),
796
- /* @__PURE__ */ N("div", {
829
+ /* @__PURE__ */ F("div", {
797
830
  className: r("media-library-card--body", n === "compact" ? "p-surface-xs" : "p-surface"),
798
- children: /* @__PURE__ */ P(s, {
831
+ children: /* @__PURE__ */ I(c, {
799
832
  columns: 1,
800
833
  gap: "xs",
801
- children: [/* @__PURE__ */ N(a, {
834
+ children: [/* @__PURE__ */ F(o, {
802
835
  tag: "div",
803
836
  weight: "semibold",
804
837
  className: "truncate",
805
- children: g
806
- }), i && /* @__PURE__ */ P(c, {
838
+ children: x
839
+ }), a && /* @__PURE__ */ I(l, {
807
840
  direction: "horizontal",
808
841
  align: "center",
809
842
  justify: "between",
810
843
  gap: "md",
811
844
  className: "min-w-0",
812
- children: [/* @__PURE__ */ N(m, {
813
- value: b,
845
+ children: [/* @__PURE__ */ F(g, {
846
+ value: w,
814
847
  size: "xs",
815
848
  className: "truncate",
816
- emptyLabel: u.unknownSize
817
- }), !!x && /* @__PURE__ */ P(a, {
849
+ emptyLabel: d.unknownSize
850
+ }), !!T && /* @__PURE__ */ I(o, {
818
851
  tag: "span",
819
852
  size: "xs",
820
853
  type: "secondary",
821
854
  className: "inline-flex items-center gap-space-xs",
822
- children: [/* @__PURE__ */ N(se, { className: "size-icon-sm" }), x]
855
+ children: [/* @__PURE__ */ F(R, { className: "size-icon-sm" }), T]
823
856
  })]
824
857
  })]
825
858
  })
@@ -827,184 +860,195 @@ function Fe({ item: e, selected: t = !1, density: n = "comfortable", showMeta: i
827
860
  ]
828
861
  });
829
862
  }
830
- function Ie({ items: e, selectedSet: t, accessors: n, strings: s, onToggle: c, onDetails: l }) {
831
- return /* @__PURE__ */ P("div", {
863
+ function K({ items: e, selectedSet: t, accessors: n, strings: c, onToggle: l, onDetails: u, onOpen: d, selecting: f = !1 }) {
864
+ let p = !!d && !f;
865
+ return /* @__PURE__ */ I("div", {
832
866
  className: "media-library-list--component min-w-180",
833
- children: [/* @__PURE__ */ P("div", {
867
+ children: [/* @__PURE__ */ I("div", {
834
868
  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",
835
869
  children: [
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", {})
870
+ /* @__PURE__ */ F("span", {}),
871
+ /* @__PURE__ */ F("span", {}),
872
+ /* @__PURE__ */ F(a, { children: c.table.name }),
873
+ /* @__PURE__ */ F(a, { children: c.table.type }),
874
+ /* @__PURE__ */ F(a, { children: c.table.size }),
875
+ /* @__PURE__ */ F(a, { children: c.table.collection }),
876
+ /* @__PURE__ */ F(a, { children: c.table.used }),
877
+ /* @__PURE__ */ F("span", {})
844
878
  ]
845
879
  }), e.map((e) => {
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", {
848
- "data-selected": u || void 0,
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"),
850
- onClick: () => c(i),
880
+ let a = n.getId(e), f = t.has(a), h = n.getType(e), _ = n.getName(e), v = n.getSrc(e), y = n.getPublic(e) === !1;
881
+ return /* @__PURE__ */ I("div", {
882
+ "data-selected": f || void 0,
883
+ 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 ${m.rowHover}`, f && m.rowSelected),
884
+ onClick: () => p && d ? d(a) : l(a),
851
885
  children: [
852
- /* @__PURE__ */ N("button", {
886
+ /* @__PURE__ */ F("button", {
853
887
  type: "button",
854
- "aria-label": f,
855
- "aria-pressed": u,
856
- className: r("media-library-list--select rounded-inner", je),
888
+ "aria-label": _,
889
+ "aria-pressed": p ? void 0 : f,
890
+ className: r("media-library-list--select rounded-inner", Ie),
857
891
  onClick: (e) => {
858
- e.stopPropagation(), c(i);
892
+ e.stopPropagation(), p && d ? d(a) : l(a);
859
893
  }
860
894
  }),
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"),
895
+ p ? /* @__PURE__ */ F("button", {
896
+ type: "button",
897
+ "aria-label": B(c.selectItem, { name: _ }),
898
+ "aria-pressed": f,
899
+ className: r(`relative z-10 inline-flex size-icon-lg cursor-pointer items-center justify-center rounded-radius border border-input bg-background p-0 text-transparent ${s.frame}`, f && "border-primary bg-primary text-primary-foreground"),
900
+ onClick: (e) => {
901
+ e.stopPropagation(), l(a);
902
+ },
903
+ children: /* @__PURE__ */ F(oe, { className: "size-icon-sm" })
904
+ }) : /* @__PURE__ */ F("span", {
905
+ className: r("inline-flex size-icon-lg items-center justify-center rounded-radius border border-border text-transparent", f && "border-primary bg-primary text-primary-foreground"),
863
906
  "aria-hidden": "true",
864
- children: /* @__PURE__ */ N(re, { className: "size-icon-sm" })
907
+ children: /* @__PURE__ */ F(oe, { className: "size-icon-sm" })
865
908
  }),
866
- /* @__PURE__ */ N(K, {
909
+ /* @__PURE__ */ F(Be, {
867
910
  tint: n.getTint(e),
868
911
  className: "size-9 rounded-inner",
869
- children: p ? /* @__PURE__ */ N("img", {
870
- src: p,
912
+ children: v ? /* @__PURE__ */ F("img", {
913
+ src: v,
871
914
  alt: "",
872
915
  loading: "lazy",
873
916
  className: "size-full object-cover"
874
- }) : /* @__PURE__ */ N("div", {
917
+ }) : /* @__PURE__ */ F("div", {
875
918
  className: "flex size-full items-center justify-center text-muted-foreground",
876
- children: W(d, "size-icon")
919
+ children: U(h, "size-icon")
877
920
  })
878
921
  }),
879
- /* @__PURE__ */ P(a, {
922
+ /* @__PURE__ */ I(o, {
880
923
  tag: "div",
881
924
  weight: "semibold",
882
925
  className: "flex min-w-0 items-center gap-space-xs truncate",
883
- children: [f, h && /* @__PURE__ */ N(z, { className: "size-icon-sm shrink-0 text-muted-foreground" })]
926
+ children: [_, y && /* @__PURE__ */ F(z, { className: "size-icon-sm shrink-0 text-muted-foreground" })]
884
927
  }),
885
- /* @__PURE__ */ N(v, {
928
+ /* @__PURE__ */ F(b, {
886
929
  tone: "secondary",
887
- children: G(d, s)
930
+ children: W(h, c)
888
931
  }),
889
- /* @__PURE__ */ N(m, {
932
+ /* @__PURE__ */ F(g, {
890
933
  value: n.getSize(e),
891
934
  size: "xs",
892
- emptyLabel: s.unknownSize
935
+ emptyLabel: c.unknownSize
893
936
  }),
894
- /* @__PURE__ */ N(a, {
937
+ /* @__PURE__ */ F(o, {
895
938
  size: "xs",
896
939
  type: "secondary",
897
940
  className: "truncate",
898
941
  children: n.getCollection(e) || "—"
899
942
  }),
900
- /* @__PURE__ */ N(a, {
943
+ /* @__PURE__ */ F(o, {
901
944
  size: "xs",
902
945
  type: "secondary",
903
946
  children: n.getUsageCount(e) ? n.getUsageCount(e) : "—"
904
947
  }),
905
- /* @__PURE__ */ N(o, {
948
+ /* @__PURE__ */ F(i, {
906
949
  type: "button",
907
950
  tone: "secondary",
908
951
  buttonStyle: "ghost",
909
952
  size: "sm",
910
953
  iconOnly: !0,
911
- className: "relative z-20",
912
- "aria-label": V(s.cardDetails, { name: f }),
954
+ className: "relative z-10",
955
+ "aria-label": B(c.cardDetails, { name: _ }),
913
956
  onClick: (e) => {
914
- e.stopPropagation(), l(i);
957
+ e.stopPropagation(), u(a);
915
958
  },
916
- children: /* @__PURE__ */ N(L, { className: "size-icon-md" })
959
+ children: /* @__PURE__ */ F(ue, { className: "size-icon-md" })
917
960
  })
918
961
  ]
919
- }, i);
962
+ }, a);
920
963
  })]
921
964
  });
922
965
  }
923
- function Le({ item: e, collections: t = [], accessors: n, strings: r, onClose: i, onUpdate: l, onRemove: u, onReplace: d, renderDetail: f }) {
966
+ function q({ item: e, collections: t = [], accessors: n, strings: r, onClose: a, onUpdate: s, onRemove: u, onReplace: d, renderDetail: f }) {
924
967
  if (!e) return null;
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, {
968
+ let p = n.getName(e), m = n.getType(e), h = n.getSrc(e), v = n.getCollection(e) ?? t[0]?.value ?? "", y = n.getTags(e), x = n.getPublic(e) ?? !0, E = f?.(e, {
926
969
  accessors: n,
927
- update: l,
970
+ update: s,
928
971
  remove: u,
929
972
  replace: d,
930
- close: i
973
+ close: a
931
974
  });
932
- return T ? /* @__PURE__ */ N(M, { children: T }) : /* @__PURE__ */ P("aside", {
975
+ return E ? /* @__PURE__ */ F(re, { children: E }) : /* @__PURE__ */ I("aside", {
933
976
  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",
934
- children: [/* @__PURE__ */ N("div", {
977
+ children: [/* @__PURE__ */ F("div", {
935
978
  className: "media-library-detail-panel--header border-b border-border p-surface",
936
- children: /* @__PURE__ */ P(c, {
979
+ children: /* @__PURE__ */ I(l, {
937
980
  direction: "horizontal",
938
981
  align: "center",
939
982
  gap: "md",
940
- children: [/* @__PURE__ */ N(o, {
983
+ children: [/* @__PURE__ */ F(i, {
941
984
  type: "button",
942
985
  tone: "secondary",
943
986
  buttonStyle: "ghost",
944
987
  size: "sm",
945
988
  iconOnly: !0,
946
989
  "aria-label": r.detail.close,
947
- onClick: i,
948
- children: /* @__PURE__ */ N(F, { className: "size-icon-md" })
949
- }), /* @__PURE__ */ N(a, {
990
+ "data-media-detail-close": "",
991
+ onClick: a,
992
+ children: /* @__PURE__ */ F(ie, { className: "size-icon-md" })
993
+ }), /* @__PURE__ */ F(o, {
950
994
  weight: "semibold",
951
995
  children: r.detail.title
952
996
  })]
953
997
  })
954
- }), /* @__PURE__ */ P("div", {
998
+ }), /* @__PURE__ */ I("div", {
955
999
  className: "media-library-detail-panel--body grid min-h-0 gap-space-xl overflow-y-auto p-surface",
956
1000
  children: [
957
- /* @__PURE__ */ P(K, {
1001
+ /* @__PURE__ */ I(Be, {
958
1002
  tint: n.getTint(e),
959
1003
  className: "aspect-[4/3] rounded-radius border border-border",
960
- children: [/* @__PURE__ */ N(q, {
961
- src: _,
1004
+ children: [/* @__PURE__ */ F(G, {
1005
+ src: h,
962
1006
  alt: n.getAlt(e) || p,
963
- type: g,
1007
+ type: m,
964
1008
  className: "size-full object-cover"
965
- }), g === "video" && !!n.getDuration(e) && /* @__PURE__ */ P(v, {
1009
+ }), m === "video" && !!n.getDuration(e) && /* @__PURE__ */ I(b, {
966
1010
  className: "absolute bottom-2 right-2 bg-inverse-background text-inverse-foreground",
967
- children: [/* @__PURE__ */ N(B, { className: "size-icon-sm fill-current" }), n.getDuration(e)]
1011
+ children: [/* @__PURE__ */ F(fe, { className: "size-icon-sm fill-current" }), n.getDuration(e)]
968
1012
  })]
969
1013
  }),
970
- /* @__PURE__ */ N(a, {
1014
+ /* @__PURE__ */ F(o, {
971
1015
  tag: "div",
972
1016
  weight: "semibold",
973
1017
  className: "break-words",
974
1018
  children: p
975
1019
  }),
976
- /* @__PURE__ */ N(s, {
977
- render: /* @__PURE__ */ N("dl", {}),
1020
+ /* @__PURE__ */ F(c, {
1021
+ render: /* @__PURE__ */ F("dl", {}),
978
1022
  columns: 1,
979
1023
  gap: "md",
980
1024
  className: "media-library-detail-panel--facts",
981
1025
  children: [
982
- [r.detail.type, G(g, r)],
983
- [r.detail.size, /* @__PURE__ */ N(m, {
1026
+ [r.detail.type, W(m, r)],
1027
+ [r.detail.size, /* @__PURE__ */ F(g, {
984
1028
  value: n.getSize(e),
985
1029
  weight: "medium",
986
1030
  emptyLabel: r.unknownSize
987
1031
  })],
988
- [r.detail.dimensions, /* @__PURE__ */ N(h, {
1032
+ [r.detail.dimensions, /* @__PURE__ */ F(_, {
989
1033
  width: n.getWidth(e),
990
1034
  height: n.getHeight(e),
991
1035
  weight: "medium",
992
1036
  emptyLabel: r.unknownSize
993
1037
  })],
994
1038
  [r.detail.uploaded, String(n.getUploadedAt(e) ?? "—")],
995
- [r.detail.usedIn, Me(n.getUsageCount(e), r)]
996
- ].map(([e, t]) => /* @__PURE__ */ P(c, {
1039
+ [r.detail.usedIn, ze(n.getUsageCount(e), r)]
1040
+ ].map(([e, t]) => /* @__PURE__ */ I(l, {
997
1041
  direction: "horizontal",
998
1042
  justify: "between",
999
1043
  gap: "xl",
1000
- children: [/* @__PURE__ */ N("dt", { children: /* @__PURE__ */ N(a, {
1044
+ children: [/* @__PURE__ */ F("dt", { children: /* @__PURE__ */ F(o, {
1001
1045
  tag: "span",
1002
1046
  size: "xs",
1003
1047
  type: "secondary",
1004
1048
  children: e
1005
- }) }), /* @__PURE__ */ N("dd", {
1049
+ }) }), /* @__PURE__ */ F("dd", {
1006
1050
  className: "m-0 text-right",
1007
- children: typeof t == "string" ? /* @__PURE__ */ N(a, {
1051
+ children: typeof t == "string" ? /* @__PURE__ */ F(o, {
1008
1052
  tag: "span",
1009
1053
  weight: "medium",
1010
1054
  children: t
@@ -1012,64 +1056,64 @@ function Le({ item: e, collections: t = [], accessors: n, strings: r, onClose: i
1012
1056
  })]
1013
1057
  }, e))
1014
1058
  }),
1015
- /* @__PURE__ */ N(b, {
1059
+ /* @__PURE__ */ F(C, {
1016
1060
  label: r.detail.altText,
1017
- children: /* @__PURE__ */ N(y, {
1061
+ children: /* @__PURE__ */ F(S, {
1018
1062
  value: n.getAlt(e) ?? "",
1019
1063
  placeholder: r.detail.altPlaceholder,
1020
- onChange: (e) => l({ alt: e.target.value })
1064
+ onChange: (e) => s({ alt: e.target.value })
1021
1065
  })
1022
1066
  }),
1023
- /* @__PURE__ */ N(b, {
1067
+ /* @__PURE__ */ F(C, {
1024
1068
  label: r.detail.collection,
1025
- children: /* @__PURE__ */ N(x, {
1026
- value: C,
1069
+ children: /* @__PURE__ */ F(T, {
1070
+ value: v,
1027
1071
  options: t.map((e) => ({
1028
1072
  value: e.value,
1029
1073
  label: String(e.label)
1030
1074
  })),
1031
1075
  "aria-label": r.detail.collection,
1032
- onValueChange: (e) => l({ collection: e })
1076
+ onValueChange: (e) => s({ collection: e })
1033
1077
  })
1034
1078
  }),
1035
- /* @__PURE__ */ N(b, {
1079
+ /* @__PURE__ */ F(C, {
1036
1080
  label: r.detail.tags,
1037
- children: /* @__PURE__ */ N(y, {
1038
- value: w.join(", "),
1081
+ children: /* @__PURE__ */ F(S, {
1082
+ value: y.join(", "),
1039
1083
  placeholder: r.detail.tagsPlaceholder,
1040
- onChange: (e) => l({ tags: e.target.value.split(",").map((e) => e.trim()).filter(Boolean) })
1084
+ onChange: (e) => s({ tags: e.target.value.split(",").map((e) => e.trim()).filter(Boolean) })
1041
1085
  })
1042
1086
  }),
1043
- /* @__PURE__ */ N("div", {
1087
+ /* @__PURE__ */ F("div", {
1044
1088
  className: "media-library-detail-panel--public",
1045
- children: /* @__PURE__ */ P(c, {
1089
+ children: /* @__PURE__ */ I(l, {
1046
1090
  direction: "horizontal",
1047
1091
  align: "center",
1048
1092
  justify: "between",
1049
1093
  gap: "xl",
1050
- children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N(a, {
1094
+ children: [/* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F(o, {
1051
1095
  weight: "semibold",
1052
1096
  children: r.detail.public
1053
- }), /* @__PURE__ */ N(a, {
1097
+ }), /* @__PURE__ */ F(o, {
1054
1098
  size: "xs",
1055
1099
  type: "secondary",
1056
- children: ee ? r.detail.publicHint : r.detail.privateHint
1057
- })] }), /* @__PURE__ */ N(S, {
1100
+ children: x ? r.detail.publicHint : r.detail.privateHint
1101
+ })] }), /* @__PURE__ */ F(w, {
1058
1102
  "aria-label": r.detail.public,
1059
- checked: ee,
1060
- onValueChange: (e) => l({ public: e })
1103
+ checked: x,
1104
+ onValueChange: (e) => s({ public: e })
1061
1105
  })]
1062
1106
  })
1063
1107
  }),
1064
- /* @__PURE__ */ P("div", {
1108
+ /* @__PURE__ */ I("div", {
1065
1109
  className: "media-library-detail-panel--actions flex flex-wrap gap-space-md",
1066
- children: [d && /* @__PURE__ */ N(o, {
1110
+ children: [d && /* @__PURE__ */ F(i, {
1067
1111
  type: "button",
1068
1112
  tone: "secondary",
1069
1113
  buttonStyle: "outline",
1070
1114
  onClick: d,
1071
1115
  children: r.detail.replace
1072
- }), /* @__PURE__ */ N(o, {
1116
+ }), /* @__PURE__ */ F(i, {
1073
1117
  type: "button",
1074
1118
  tone: "destructive",
1075
1119
  buttonStyle: "ghost",
@@ -1081,128 +1125,128 @@ function Le({ item: e, collections: t = [], accessors: n, strings: r, onClose: i
1081
1125
  })]
1082
1126
  });
1083
1127
  }
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", {
1128
+ function We({ stagedFiles: e, uploadOptions: t, collections: n = [], uploading: r = !1, strings: a, onFiles: s, onRemoveFile: c, onOptionsChange: u, empty: d }) {
1129
+ return /* @__PURE__ */ F("div", {
1086
1130
  className: "media-library-upload-panel--component p-surface",
1087
- children: /* @__PURE__ */ P(c, {
1131
+ children: /* @__PURE__ */ I(l, {
1088
1132
  gap: "xl",
1089
1133
  children: [
1090
- /* @__PURE__ */ N(ee, {
1134
+ /* @__PURE__ */ F(O, {
1091
1135
  onDrop: s,
1092
1136
  accept: "image/*,video/*",
1093
1137
  multiple: !0,
1094
1138
  size: "md",
1095
1139
  strings: {
1096
- instruction: i.upload.dropTitle,
1097
- helper: i.upload.dropHint,
1098
- dragOver: i.upload.dragOver
1140
+ instruction: a.upload.dropTitle,
1141
+ helper: a.upload.dropHint,
1142
+ dragOver: a.upload.dragOver
1099
1143
  }
1100
1144
  }),
1101
- e.length > 0 ? /* @__PURE__ */ N(c, {
1145
+ e.length > 0 ? /* @__PURE__ */ F(l, {
1102
1146
  gap: "md",
1103
1147
  className: "media-library-upload-panel--staged",
1104
- children: e.map((e) => /* @__PURE__ */ P("div", {
1148
+ children: e.map((e) => /* @__PURE__ */ I("div", {
1105
1149
  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",
1106
1150
  children: [
1107
- /* @__PURE__ */ N(K, {
1151
+ /* @__PURE__ */ F(Be, {
1108
1152
  className: "size-10 rounded-inner",
1109
- children: e.src ? /* @__PURE__ */ N("img", {
1153
+ children: e.src ? /* @__PURE__ */ F("img", {
1110
1154
  src: e.src,
1111
1155
  alt: e.name,
1112
1156
  className: "size-full object-cover"
1113
- }) : /* @__PURE__ */ N("div", {
1157
+ }) : /* @__PURE__ */ F("div", {
1114
1158
  className: "flex size-full items-center justify-center text-muted-foreground",
1115
- children: W(e.type, "size-icon")
1159
+ children: U(e.type, "size-icon")
1116
1160
  })
1117
1161
  }),
1118
- /* @__PURE__ */ P("div", {
1162
+ /* @__PURE__ */ I("div", {
1119
1163
  className: "min-w-0 flex-1",
1120
1164
  children: [
1121
- /* @__PURE__ */ P("div", {
1165
+ /* @__PURE__ */ I("div", {
1122
1166
  className: "flex items-baseline gap-space-lg",
1123
- children: [/* @__PURE__ */ N(a, {
1167
+ children: [/* @__PURE__ */ F(o, {
1124
1168
  weight: "semibold",
1125
1169
  className: "truncate",
1126
1170
  children: e.name
1127
- }), /* @__PURE__ */ N(m, {
1171
+ }), /* @__PURE__ */ F(g, {
1128
1172
  value: e.size,
1129
1173
  size: "xs",
1130
1174
  className: "ml-auto shrink-0"
1131
1175
  })]
1132
1176
  }),
1133
- (e.status === "uploading" || e.status === "done") && /* @__PURE__ */ N("div", {
1177
+ (e.status === "uploading" || e.status === "done") && /* @__PURE__ */ F("div", {
1134
1178
  className: "mt-space-md h-1 overflow-hidden rounded-full bg-muted",
1135
- children: /* @__PURE__ */ N("div", {
1179
+ children: /* @__PURE__ */ F("div", {
1136
1180
  className: "h-full rounded-full bg-primary transition-[width]",
1137
1181
  style: { width: `${e.progress}%` }
1138
1182
  })
1139
1183
  }),
1140
- e.status === "error" && /* @__PURE__ */ N(a, {
1184
+ e.status === "error" && /* @__PURE__ */ F(o, {
1141
1185
  type: "error",
1142
1186
  children: e.error
1143
1187
  })
1144
1188
  ]
1145
1189
  }),
1146
- e.status === "done" ? /* @__PURE__ */ N(v, {
1190
+ e.status === "done" ? /* @__PURE__ */ F(b, {
1147
1191
  tone: "success",
1148
- children: i.upload.done
1149
- }) : e.status === "uploading" ? /* @__PURE__ */ N(g, {
1192
+ children: a.upload.done
1193
+ }) : e.status === "uploading" ? /* @__PURE__ */ F(v, {
1150
1194
  value: Math.round(e.progress),
1151
1195
  scaled: !0,
1152
1196
  size: "xs",
1153
1197
  type: "secondary"
1154
- }) : /* @__PURE__ */ N(o, {
1198
+ }) : /* @__PURE__ */ F(i, {
1155
1199
  type: "button",
1156
1200
  tone: "secondary",
1157
1201
  buttonStyle: "ghost",
1158
1202
  size: "sm",
1159
1203
  iconOnly: !0,
1160
1204
  disabled: r,
1161
- "aria-label": V(i.upload.removeFile, { name: e.name }),
1162
- onClick: () => l(e.id),
1163
- children: /* @__PURE__ */ N(me, { className: "size-icon-md" })
1205
+ "aria-label": B(a.upload.removeFile, { name: e.name }),
1206
+ onClick: () => c(e.id),
1207
+ children: /* @__PURE__ */ F(ye, { className: "size-icon-md" })
1164
1208
  })
1165
1209
  ]
1166
1210
  }, e.id))
1167
1211
  }) : d,
1168
- /* @__PURE__ */ P("div", {
1212
+ /* @__PURE__ */ I("div", {
1169
1213
  className: "media-library-upload-panel--options grid gap-space-lg @2xl/media-library:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",
1170
1214
  children: [
1171
- /* @__PURE__ */ N(b, {
1172
- label: i.upload.collection,
1173
- children: /* @__PURE__ */ N(x, {
1215
+ /* @__PURE__ */ F(C, {
1216
+ label: a.upload.collection,
1217
+ children: /* @__PURE__ */ F(T, {
1174
1218
  value: t.collection ?? n[0]?.value,
1175
1219
  options: n.map((e) => ({
1176
1220
  value: e.value,
1177
1221
  label: String(e.label)
1178
1222
  })),
1179
- "aria-label": i.upload.collection,
1223
+ "aria-label": a.upload.collection,
1180
1224
  onValueChange: (e) => u({ collection: e })
1181
1225
  })
1182
1226
  }),
1183
- /* @__PURE__ */ N(b, {
1184
- label: i.upload.tags,
1185
- children: /* @__PURE__ */ N(y, {
1227
+ /* @__PURE__ */ F(C, {
1228
+ label: a.upload.tags,
1229
+ children: /* @__PURE__ */ F(S, {
1186
1230
  value: t.tags.join(", "),
1187
- placeholder: i.upload.tagsPlaceholder,
1231
+ placeholder: a.upload.tagsPlaceholder,
1188
1232
  onChange: (e) => u({ tags: e.target.value.split(",").map((e) => e.trim()).filter(Boolean) })
1189
1233
  })
1190
1234
  }),
1191
- /* @__PURE__ */ P(c, {
1235
+ /* @__PURE__ */ I(l, {
1192
1236
  direction: "horizontal",
1193
1237
  align: "center",
1194
1238
  justify: "between",
1195
1239
  gap: "xl",
1196
1240
  className: "@2xl/media-library:self-end",
1197
- children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N(a, {
1241
+ children: [/* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F(o, {
1198
1242
  weight: "semibold",
1199
- children: i.upload.public
1200
- }), /* @__PURE__ */ N(a, {
1243
+ children: a.upload.public
1244
+ }), /* @__PURE__ */ F(o, {
1201
1245
  size: "xs",
1202
1246
  type: "secondary",
1203
- children: i.upload.publicHint
1204
- })] }), /* @__PURE__ */ N(S, {
1205
- "aria-label": i.upload.public,
1247
+ children: a.upload.publicHint
1248
+ })] }), /* @__PURE__ */ F(w, {
1249
+ "aria-label": a.upload.public,
1206
1250
  checked: t.public,
1207
1251
  onValueChange: (e) => u({ public: e })
1208
1252
  })]
@@ -1213,35 +1257,35 @@ function Re({ stagedFiles: e, uploadOptions: t, collections: n = [], uploading:
1213
1257
  })
1214
1258
  });
1215
1259
  }
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", {
1219
- className: m,
1260
+ function J({ tab: e, selectedIds: t, selectionMode: n, stagedFiles: a, strings: s, onClearSelection: c, className: l }) {
1261
+ let u = t.length, d = a.reduce((e, t) => e + t.size, 0), f = a.length, p = r("media-library-footer-summary--component flex min-w-0 items-center gap-space-lg", l);
1262
+ return e === "upload" ? /* @__PURE__ */ F("div", {
1263
+ className: p,
1220
1264
  "aria-live": "polite",
1221
- children: /* @__PURE__ */ N(a, {
1265
+ children: /* @__PURE__ */ F(o, {
1222
1266
  size: "xs",
1223
1267
  type: "secondary",
1224
1268
  className: "truncate",
1225
- children: f === 0 ? s.footer.noFiles : V(s.footer.stagedSummary, {
1269
+ children: f === 0 ? s.footer.noFiles : B(s.footer.stagedSummary, {
1226
1270
  count: f,
1227
- size: p(d) ?? s.unknownSize
1271
+ size: h(d) ?? s.unknownSize
1228
1272
  })
1229
1273
  })
1230
- }) : /* @__PURE__ */ N("div", {
1231
- className: m,
1274
+ }) : /* @__PURE__ */ F("div", {
1275
+ className: p,
1232
1276
  "aria-live": "polite",
1233
- children: u > 0 ? /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(a, {
1277
+ children: u > 0 ? /* @__PURE__ */ I(re, { children: [/* @__PURE__ */ F(o, {
1234
1278
  weight: "semibold",
1235
1279
  className: "whitespace-nowrap",
1236
- children: V(s.footer.selectedCount, { count: u })
1237
- }), /* @__PURE__ */ N(o, {
1280
+ children: B(s.footer.selectedCount, { count: u })
1281
+ }), /* @__PURE__ */ F(i, {
1238
1282
  type: "button",
1239
1283
  tone: "secondary",
1240
1284
  buttonStyle: "ghost",
1241
1285
  size: "sm",
1242
1286
  onClick: c,
1243
1287
  children: s.footer.clear
1244
- })] }) : /* @__PURE__ */ N(a, {
1288
+ })] }) : /* @__PURE__ */ F(o, {
1245
1289
  size: "xs",
1246
1290
  type: "secondary",
1247
1291
  className: "truncate",
@@ -1249,56 +1293,56 @@ function J({ tab: e, selectedIds: t, selectionMode: n, stagedFiles: i, strings:
1249
1293
  })
1250
1294
  });
1251
1295
  }
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", {
1296
+ function Ge({ tab: e, selectedItems: t, selectedIds: n, stagedFiles: a, uploading: o = !1, strings: s, confirmLabel: c, cancelLabel: l, onCancel: u, onConfirm: d, onUpload: f, onCancelUpload: p, className: m }) {
1297
+ let h = n.length, g = a.length;
1298
+ return e === "upload" ? /* @__PURE__ */ I("div", {
1255
1299
  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, {
1300
+ children: [/* @__PURE__ */ F(i, {
1257
1301
  type: "button",
1258
1302
  tone: "secondary",
1259
1303
  buttonStyle: "ghost",
1260
- disabled: a,
1304
+ disabled: o,
1261
1305
  onClick: p,
1262
1306
  children: l ?? s.footer.cancel
1263
- }), /* @__PURE__ */ N(o, {
1307
+ }), /* @__PURE__ */ F(i, {
1264
1308
  tone: "primary",
1265
1309
  type: "button",
1266
- disabled: g === 0 || a,
1310
+ disabled: g === 0 || o,
1267
1311
  onClick: f,
1268
- loading: a,
1312
+ loading: o,
1269
1313
  strings: { loading: s.footer.uploading },
1270
- children: g <= 1 ? s.footer.upload : V(s.footer.uploadMany, { count: g })
1314
+ children: g <= 1 ? s.footer.upload : B(s.footer.uploadMany, { count: g })
1271
1315
  })]
1272
- }) : /* @__PURE__ */ P("div", {
1316
+ }) : /* @__PURE__ */ I("div", {
1273
1317
  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, {
1318
+ children: [/* @__PURE__ */ F(i, {
1275
1319
  type: "button",
1276
1320
  tone: "secondary",
1277
1321
  buttonStyle: "ghost",
1278
1322
  onClick: u,
1279
1323
  children: l ?? s.footer.cancel
1280
- }), /* @__PURE__ */ N(o, {
1324
+ }), /* @__PURE__ */ F(i, {
1281
1325
  tone: "primary",
1282
1326
  type: "button",
1283
1327
  disabled: h === 0,
1284
1328
  onClick: d,
1285
- children: c ?? (h === 0 ? s.footer.confirmEmpty : t.length === 1 ? s.footer.confirmOne : V(s.footer.confirmMany, { count: h }))
1329
+ children: c ?? (h === 0 ? s.footer.confirmEmpty : t.length === 1 ? s.footer.confirmOne : B(s.footer.confirmMany, { count: h }))
1286
1330
  })]
1287
1331
  });
1288
1332
  }
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", {
1333
+ function Ke({ 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 }) {
1334
+ return /* @__PURE__ */ F("footer", {
1291
1335
  className: r("media-library-footer--component", h === "section" && "border-t border-border bg-background p-surface", g),
1292
- children: /* @__PURE__ */ P("div", {
1336
+ children: /* @__PURE__ */ I("div", {
1293
1337
  className: "flex min-w-0 flex-col gap-space-lg @md/media-library:flex-row @md/media-library:justify-between",
1294
- children: [/* @__PURE__ */ N(J, {
1338
+ children: [/* @__PURE__ */ F(J, {
1295
1339
  tab: e,
1296
1340
  selectedIds: n,
1297
1341
  selectionMode: i,
1298
1342
  stagedFiles: a,
1299
1343
  strings: s,
1300
1344
  onClearSelection: f
1301
- }), /* @__PURE__ */ N(Y, {
1345
+ }), /* @__PURE__ */ F(Ge, {
1302
1346
  tab: e,
1303
1347
  selectedItems: t,
1304
1348
  selectedIds: n,
@@ -1317,9 +1361,9 @@ function ze({ tab: e, selectedItems: t, selectedIds: n, selectionMode: i, staged
1317
1361
  }
1318
1362
  //#endregion
1319
1363
  //#region src/components/features/media-library/media-library.tsx
1320
- var X = E(null);
1321
- function Be(e, t, n) {
1322
- return k(() => {
1364
+ var Y = te(null);
1365
+ function qe(e, t, n) {
1366
+ return M(() => {
1323
1367
  if (e) return e;
1324
1368
  let r = /* @__PURE__ */ new Set();
1325
1369
  for (let e of t) {
@@ -1336,301 +1380,349 @@ function Be(e, t, n) {
1336
1380
  t
1337
1381
  ]);
1338
1382
  }
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,
1383
+ function X({ title: a, titleSuffix: c, description: p, confirmLabel: h, cancelLabel: g, selectionMode: _ = "multiple", density: v = "comfortable", showMeta: b = !0, allowUpload: S = !0, typeFilters: C, confirmOnSelect: w = !1, onConfirm: T, onCancel: ee, onClose: O, bulkActions: k, strings: te, slots: A, heightClassName: M, className: P, items: re, fetcher: ie, accessors: ae, collections: oe, value: se, defaultValue: ce, onValueChange: L, onItemUpdate: ue, onItemDelete: R, onItemReplace: de, onItemOpen: z, onUpload: fe, onError: pe, selecting: me, defaultSelecting: he, onSelectingChange: ge, tab: ve, defaultTab: ye, onTabChange: Se, view: Ce, defaultView: V, onViewChange: we, query: Te, defaultQuery: H, onQueryChange: Ee, type: De, defaultType: Oe, onTypeChange: ke, collection: Ae, defaultCollection: je, onCollectionChange: Me, sort: Ne, defaultSort: Pe, onSortChange: Ie, uploadOptions: Le, defaultUploadOptions: Re, onUploadOptionsChange: U, ...W }) {
1384
+ let { defaultScale: ze } = e(), Be = t(void 0, ze), G = n(xe, te), X = Fe({
1385
+ items: re,
1386
+ fetcher: ie,
1387
+ accessors: ae,
1388
+ collections: oe,
1389
+ selectionMode: _,
1390
+ value: se,
1391
+ defaultValue: ce,
1392
+ onValueChange: L,
1393
+ onItemUpdate: ue,
1394
+ onItemDelete: R,
1395
+ onUpload: fe,
1396
+ onError: pe,
1397
+ tab: ve,
1398
+ defaultTab: ye,
1399
+ onTabChange: Se,
1400
+ view: Ce,
1401
+ defaultView: V,
1402
+ onViewChange: we,
1403
+ query: Te,
1404
+ defaultQuery: H,
1405
+ onQueryChange: Ee,
1406
+ type: De,
1407
+ defaultType: Oe,
1408
+ onTypeChange: ke,
1409
+ collection: Ae,
1410
+ defaultCollection: je,
1411
+ onCollectionChange: Me,
1412
+ sort: Ne,
1413
+ defaultSort: Pe,
1414
+ onSortChange: Ie,
1415
+ uploadOptions: Le,
1416
+ defaultUploadOptions: Re,
1417
+ onUploadOptionsChange: U,
1418
+ selecting: me,
1419
+ defaultSelecting: he ?? w,
1420
+ onSelectingChange: ge
1421
+ }), Je = qe(oe, X.items, X.accessors.getCollection), Z = S ? X.tab : "library", Q = X.detailId ? X.items.find((e) => X.accessors.getId(e) === X.detailId) ?? null : null, $ = ne(Y), Ye = !A?.footer, Xe = $ && Ye ? /* @__PURE__ */ F(J, {
1422
+ tab: Z,
1423
+ selectedIds: X.selectedIds,
1424
+ selectionMode: _,
1425
+ stagedFiles: X.stagedFiles,
1426
+ strings: G,
1427
+ onClearSelection: X.clearSelection,
1381
1428
  className: "media-library-dialog--selection-summary shrink-0 justify-end"
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,
1429
+ }) : null, Ze = !!(a || c || p || A?.headerStart), Qe = !!(S || A?.headerEnd || Xe), $e = Ze || Qe, et = () => {
1430
+ T?.(X.selectedItems, X.selectedIds), O?.();
1431
+ }, tt = () => {
1432
+ ee?.(), O?.();
1433
+ }, nt = (e) => {
1434
+ let t = X.accessors.getId(e);
1435
+ X.toggleSelection(t), w && (T?.([e], [t]), O?.());
1436
+ }, rt = N(null), it = N(null), at = (e) => {
1437
+ it.current = document.activeElement instanceof HTMLElement ? document.activeElement : null, X.setDetailId(e);
1438
+ }, ot = (e) => {
1439
+ z ? z(e) : at(X.accessors.getId(e));
1440
+ };
1441
+ j(() => {
1442
+ if (X.detailId !== null) {
1443
+ it.current && rt.current?.querySelector("[data-media-detail-close]")?.focus();
1444
+ return;
1445
+ }
1446
+ let e = it.current;
1447
+ it.current = null, e?.isConnected && e.focus();
1448
+ }, [X.detailId]);
1449
+ let st = X.query.trim(), ct = st.length > 0 ? B(G.countSearch, {
1450
+ count: X.filteredCount,
1451
+ total: X.totalCount,
1452
+ query: st
1453
+ }) : X.filteredCount === X.totalCount ? B(G.countAll, { count: X.totalCount }) : B(G.countFiltered, {
1454
+ count: X.filteredCount,
1455
+ total: X.totalCount
1456
+ }), lt = !!k && !($ || T && !w), ut = N(null), dt = Z === "library" ? X.selectedIds.length : 0, ft = A?.footer ?? (lt && Z === "library" ? null : $ ? /* @__PURE__ */ F(Ge, {
1457
+ tab: Z,
1458
+ selectedItems: X.selectedItems,
1459
+ selectedIds: X.selectedIds,
1460
+ stagedFiles: X.stagedFiles,
1461
+ uploading: X.uploading,
1462
+ strings: G,
1463
+ confirmLabel: h,
1464
+ cancelLabel: g,
1465
+ onCancel: tt,
1466
+ onConfirm: et,
1467
+ onUpload: X.startUpload,
1408
1468
  onCancelUpload: () => {
1409
- G.cancelUpload(), G.clearStagedFiles(), G.setTab("library");
1469
+ X.cancelUpload(), X.clearStagedFiles(), X.setTab("library");
1410
1470
  },
1411
1471
  className: "ml-auto"
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,
1472
+ }) : /* @__PURE__ */ F(Ke, {
1473
+ tab: Z,
1474
+ selectedItems: X.selectedItems,
1475
+ selectedIds: X.selectedIds,
1476
+ selectionMode: _,
1477
+ stagedFiles: X.stagedFiles,
1478
+ uploading: X.uploading,
1479
+ strings: G,
1480
+ confirmLabel: h,
1481
+ cancelLabel: g,
1482
+ onCancel: tt,
1483
+ onConfirm: et,
1484
+ onClearSelection: X.clearSelection,
1485
+ onUpload: X.startUpload,
1426
1486
  onCancelUpload: () => {
1427
- G.cancelUpload(), G.clearStagedFiles(), G.setTab("library");
1487
+ X.cancelUpload(), X.clearStagedFiles(), X.setTab("library");
1428
1488
  }
1429
1489
  }));
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,
1490
+ return /* @__PURE__ */ I("section", {
1491
+ ref: rt,
1492
+ className: r("media-library--component @container/media-library flex min-h-0 flex-col overflow-hidden rounded-radius border border-border bg-background", M ?? "h-190 max-h-[calc(100vh-7rem)]", P),
1493
+ ...W,
1433
1494
  children: [
1434
- We && /* @__PURE__ */ P("header", {
1495
+ $e && /* @__PURE__ */ I("header", {
1435
1496
  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",
1436
- children: [He && /* @__PURE__ */ P(c, {
1497
+ children: [Ze && /* @__PURE__ */ I(l, {
1437
1498
  direction: "horizontal",
1438
1499
  align: "start",
1439
1500
  gap: "lg",
1440
1501
  className: "min-w-0",
1441
- children: [D?.headerStart, (i || s || f) && /* @__PURE__ */ P(c, {
1502
+ children: [A?.headerStart, (a || c || p) && /* @__PURE__ */ I(l, {
1442
1503
  gap: "normal",
1443
1504
  className: "min-w-0",
1444
- children: [!!(i || s) && /* @__PURE__ */ N(l, {
1445
- title: i,
1446
- suffix: s,
1505
+ children: [!!(a || c) && /* @__PURE__ */ F(u, {
1506
+ title: a,
1507
+ suffix: c,
1447
1508
  className: "media-library--title"
1448
- }), !!f && /* @__PURE__ */ N(a, {
1509
+ }), !!p && /* @__PURE__ */ F(o, {
1449
1510
  type: "secondary",
1450
- children: f
1511
+ children: p
1451
1512
  })]
1452
1513
  })]
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, {
1514
+ }), Qe && /* @__PURE__ */ I("div", {
1515
+ className: r("media-library--header-controls flex min-w-0 flex-wrap items-center gap-space-md", Xe ? "flex-1 justify-between" : "@2xl/media-library:justify-end"),
1516
+ children: [/* @__PURE__ */ I(l, {
1456
1517
  direction: "horizontal",
1457
1518
  wrap: !0,
1458
1519
  align: "center",
1459
1520
  gap: "md",
1460
1521
  className: "min-w-0",
1461
- children: [y && /* @__PURE__ */ P("div", {
1462
- className: r("media-library--tabs", C.frame, w[je]),
1522
+ children: [S && /* @__PURE__ */ I("div", {
1523
+ className: r("media-library--tabs", E.frame, D[Be]),
1463
1524
  role: "tablist",
1464
- children: [/* @__PURE__ */ P(o, {
1525
+ children: [/* @__PURE__ */ I(i, {
1465
1526
  type: "button",
1466
1527
  role: "tab",
1467
- "aria-selected": K === "library",
1528
+ "aria-selected": Z === "library",
1468
1529
  tone: "secondary",
1469
1530
  buttonStyle: "ghost",
1470
1531
  size: "sm",
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, {
1532
+ className: r(E.item, "shadow-none", Z === "library" ? `${m.segmentActive} hover:bg-card` : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
1533
+ onClick: () => X.setTab("library"),
1534
+ children: [/* @__PURE__ */ F(le, { className: "size-icon-md" }), G.tabs.library]
1535
+ }), /* @__PURE__ */ I(i, {
1475
1536
  type: "button",
1476
1537
  role: "tab",
1477
- "aria-selected": K === "upload",
1538
+ "aria-selected": Z === "upload",
1478
1539
  tone: "secondary",
1479
1540
  buttonStyle: "ghost",
1480
1541
  size: "sm",
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"),
1542
+ className: r(E.item, "shadow-none", Z === "upload" ? `${m.segmentActive} hover:bg-card` : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
1543
+ onClick: () => X.setTab("upload"),
1483
1544
  children: [
1484
- /* @__PURE__ */ N(fe, { className: "size-icon-md" }),
1485
- W.tabs.upload,
1486
- G.stagedFiles.length > 0 && /* @__PURE__ */ N(_, {
1487
- value: G.stagedFiles.length,
1545
+ /* @__PURE__ */ F(_e, { className: "size-icon-md" }),
1546
+ G.tabs.upload,
1547
+ X.stagedFiles.length > 0 && /* @__PURE__ */ F(y, {
1548
+ value: X.stagedFiles.length,
1488
1549
  size: "xs",
1489
1550
  align: "center",
1490
- className: "rounded-full bg-background/20 px-1.5"
1551
+ className: "rounded-full bg-foreground/8 px-1.5"
1491
1552
  })
1492
1553
  ]
1493
1554
  })]
1494
- }), D?.headerEnd]
1495
- }), Ve]
1555
+ }), A?.headerEnd]
1556
+ }), Xe]
1496
1557
  })]
1497
1558
  }),
1498
- /* @__PURE__ */ P("div", {
1559
+ /* @__PURE__ */ I("div", {
1499
1560
  className: "media-library--body flex min-h-0 flex-1",
1500
- children: [K === "upload" ? /* @__PURE__ */ N("div", {
1561
+ children: [Z === "upload" ? /* @__PURE__ */ F("div", {
1501
1562
  className: "min-w-0 flex-1 overflow-y-auto",
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
1563
+ children: /* @__PURE__ */ F(We, {
1564
+ stagedFiles: X.stagedFiles,
1565
+ uploadOptions: X.uploadOptions,
1566
+ collections: Je,
1567
+ uploading: X.uploading,
1568
+ strings: G,
1569
+ onFiles: X.addFiles,
1570
+ onRemoveFile: X.removeStagedFile,
1571
+ onOptionsChange: X.updateUploadOptions,
1572
+ empty: A?.uploadEmpty
1512
1573
  })
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, {
1574
+ }) : /* @__PURE__ */ I("div", {
1575
+ className: r("media-library--library min-w-0 flex-1 flex-col", Q ? "hidden @2xl/media-library:flex" : "flex"),
1576
+ children: [/* @__PURE__ */ I(l, {
1516
1577
  gap: "md",
1517
- className: "media-library--toolbar border-b border-border/70 p-surface",
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, {
1578
+ className: "media-library--toolbar border-b border-border/60 p-surface",
1579
+ children: [/* @__PURE__ */ F(He, {
1580
+ query: X.query,
1581
+ type: X.type,
1582
+ typeFilters: C,
1583
+ collection: X.collection,
1584
+ sort: X.sort,
1585
+ view: X.view,
1586
+ collections: Je,
1587
+ strings: G,
1588
+ onQueryChange: X.setQuery,
1589
+ onTypeChange: X.setType,
1590
+ onCollectionChange: X.setCollection,
1591
+ onSortChange: X.setSort,
1592
+ onViewChange: X.setView,
1593
+ onClearFilters: X.clearFilters,
1594
+ toolbarEnd: A?.toolbarEnd,
1595
+ selecting: X.selecting,
1596
+ onSelectingChange: X.setSelecting
1597
+ }), /* @__PURE__ */ F(o, {
1535
1598
  size: "xs",
1536
1599
  type: "secondary",
1537
1600
  "aria-live": "polite",
1538
- children: Je
1601
+ children: ct
1539
1602
  })]
1540
- }), /* @__PURE__ */ N("div", {
1603
+ }), /* @__PURE__ */ F("div", {
1604
+ ref: ut,
1541
1605
  role: "region",
1542
- "aria-label": W.resultsLabel,
1606
+ "aria-label": G.resultsLabel,
1543
1607
  tabIndex: 0,
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",
1545
- children: G.loading ? D?.loading ?? /* @__PURE__ */ N(u, {
1608
+ className: `media-library--results min-h-0 flex-1 overflow-y-auto p-surface focus-visible:outline-none ${s.inset}`,
1609
+ children: X.loading ? A?.loading ?? /* @__PURE__ */ F(d, {
1546
1610
  className: "min-h-64",
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, {
1611
+ label: G.loading
1612
+ }) : X.error ? A?.error ?? /* @__PURE__ */ F(f, {
1613
+ title: G.errorTitle,
1614
+ description: G.errorDescription
1615
+ }) : X.visibleItems.length === 0 ? A?.empty ?? /* @__PURE__ */ F(Ve, {
1616
+ title: X.hasFilters ? G.emptyFilteredTitle : G.emptyLibraryTitle,
1617
+ description: X.hasFilters ? G.emptyFilteredDescription : G.emptyLibraryDescription,
1618
+ action: X.hasFilters ? /* @__PURE__ */ F(i, {
1555
1619
  type: "button",
1556
1620
  tone: "secondary",
1557
1621
  buttonStyle: "outline",
1558
- onClick: G.clearFilters,
1559
- children: W.clearFilters
1560
- }) : y ? /* @__PURE__ */ N(o, {
1622
+ onClick: X.clearFilters,
1623
+ children: G.clearFilters
1624
+ }) : S ? /* @__PURE__ */ F(i, {
1561
1625
  tone: "primary",
1562
1626
  type: "button",
1563
- onClick: () => G.setTab("upload"),
1564
- children: W.uploadMedia
1627
+ onClick: () => X.setTab("upload"),
1628
+ children: G.uploadMedia
1565
1629
  }) : void 0
1566
- }) : G.view === "table" ? /* @__PURE__ */ N("div", {
1630
+ }) : X.view === "table" ? /* @__PURE__ */ F("div", {
1567
1631
  className: "overflow-x-auto",
1568
- children: /* @__PURE__ */ N(Ie, {
1569
- items: G.visibleItems,
1570
- selectedSet: G.selectedSet,
1571
- selectionMode: h,
1572
- accessors: G.accessors,
1573
- strings: W,
1632
+ children: /* @__PURE__ */ F(K, {
1633
+ items: X.visibleItems,
1634
+ selectedSet: X.selectedSet,
1635
+ selectionMode: _,
1636
+ accessors: X.accessors,
1637
+ strings: G,
1574
1638
  onToggle: (e) => {
1575
- let t = G.items.find((t) => G.accessors.getId(t) === e);
1576
- t && Ke(t);
1639
+ let t = X.items.find((t) => X.accessors.getId(t) === e);
1640
+ t && nt(t);
1577
1641
  },
1578
- onDetails: G.setDetailId
1642
+ onDetails: at,
1643
+ selecting: X.selecting,
1644
+ onOpen: (e) => {
1645
+ let t = X.items.find((t) => X.accessors.getId(t) === e);
1646
+ t && ot(t);
1647
+ }
1579
1648
  })
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 = {
1649
+ }) : /* @__PURE__ */ F("div", {
1650
+ className: r("media-library--grid grid min-w-0 gap-space-lg", v === "compact" ? "grid-cols-[repeat(auto-fill,minmax(136px,1fr))]" : "grid-cols-[repeat(auto-fill,minmax(168px,1fr))]"),
1651
+ children: X.visibleItems.map((e) => {
1652
+ let t = X.accessors.getId(e), n = {
1584
1653
  id: t,
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, {
1654
+ selected: X.selectedSet.has(t),
1655
+ selectionMode: _,
1656
+ selecting: X.selecting,
1657
+ accessors: X.accessors,
1658
+ toggle: () => nt(e),
1659
+ openDetails: () => at(t),
1660
+ open: () => ot(e)
1661
+ }, r = A?.renderItem?.(e, n);
1662
+ return r ? /* @__PURE__ */ F("div", { children: r }, t) : /* @__PURE__ */ F(Ue, {
1592
1663
  item: e,
1593
1664
  selected: n.selected,
1594
- density: g,
1595
- showMeta: v,
1596
- selectionMode: h,
1597
- accessors: G.accessors,
1598
- strings: W,
1665
+ density: v,
1666
+ showMeta: b,
1667
+ selectionMode: _,
1668
+ accessors: X.accessors,
1669
+ strings: G,
1599
1670
  onToggle: n.toggle,
1600
- onDetails: n.openDetails
1671
+ onDetails: n.openDetails,
1672
+ onOpen: n.open,
1673
+ selecting: n.selecting
1601
1674
  }, t);
1602
1675
  })
1603
1676
  })
1604
1677
  })]
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,
1678
+ }), Z === "library" && /* @__PURE__ */ F(q, {
1679
+ item: Q,
1680
+ collections: Je,
1681
+ accessors: X.accessors,
1682
+ strings: G,
1683
+ onClose: () => X.setDetailId(null),
1684
+ onUpdate: (e) => Q ? X.updateItem(Q, e) : Promise.resolve(!1),
1685
+ onReplace: de && Q ? () => de(Q) : void 0,
1613
1686
  onRemove: async () => {
1614
- if (!q) return !1;
1615
- let e = await G.removeItem(q);
1616
- return e && G.setDetailId(null), e;
1687
+ if (!Q) return !1;
1688
+ let e = await X.removeItem(Q);
1689
+ return e && X.setDetailId(null), e;
1617
1690
  },
1618
- renderDetail: D?.renderDetail
1691
+ renderDetail: A?.renderDetail
1619
1692
  })]
1620
1693
  }),
1621
- Z ? Z.element ? he(Ye, Z.element) : null : Ye
1694
+ $ ? $.element ? be(ft, $.element) : null : ft,
1695
+ lt && /* @__PURE__ */ F(x, {
1696
+ selectedCount: dt,
1697
+ totalCount: X.totalCount,
1698
+ onClear: X.clearSelection,
1699
+ returnFocusRef: ut,
1700
+ className: "media-library--bulk-actions",
1701
+ strings: {
1702
+ summary: (e) => B(G.footer.selectedCount, { count: e }),
1703
+ clear: G.footer.clear
1704
+ },
1705
+ children: dt > 0 && k?.({
1706
+ selectedItems: X.selectedItems,
1707
+ selectedIds: X.selectedIds,
1708
+ selectedCount: X.selectedIds.length,
1709
+ visibleCount: X.filteredCount,
1710
+ totalCount: X.totalCount,
1711
+ clearSelection: X.clearSelection
1712
+ })
1713
+ })
1622
1714
  ]
1623
1715
  });
1624
1716
  }
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) => {
1717
+ function Je({ open: e, onOpenChange: t, trigger: i, dialogTitle: a, dialogDescription: o, onClose: s, className: c, dialogClassName: l, contentClassName: u, closeOnEscape: d = !0, closeOnBackdropClick: f = !0, ...m }) {
1718
+ let h = n(xe, m.strings), [g, _] = P(!1), [v, y] = P(null), b = e !== void 0, x = b ? e : g, S = (e) => {
1627
1719
  b || _(e), t?.(e);
1628
1720
  }, C = () => {
1629
1721
  S(!1), s?.();
1630
1722
  };
1631
- return /* @__PURE__ */ N(X.Provider, {
1723
+ return /* @__PURE__ */ F(Y.Provider, {
1632
1724
  value: { element: v },
1633
- children: /* @__PURE__ */ N(f, {
1725
+ children: /* @__PURE__ */ F(p, {
1634
1726
  open: x,
1635
1727
  onOpenChange: S,
1636
1728
  onClose: s,
@@ -1640,16 +1732,17 @@ function Q({ open: e, onOpenChange: t, trigger: i, dialogTitle: a, dialogDescrip
1640
1732
  size: "full",
1641
1733
  showCancel: !1,
1642
1734
  showConfirm: !1,
1643
- footer: /* @__PURE__ */ N("div", {
1735
+ footer: /* @__PURE__ */ F("div", {
1644
1736
  ref: y,
1645
1737
  className: "media-library-dialog--footer @container/media-library w-full"
1646
1738
  }),
1647
1739
  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
1740
  contentClassName: r("media-library-dialog--body flex min-h-0 flex-col overflow-hidden p-0", u),
1649
- closeOnBackdropClick: p,
1741
+ closeOnBackdropClick: f,
1650
1742
  closeOnEscape: d,
1651
- children: /* @__PURE__ */ N(Z, {
1743
+ children: /* @__PURE__ */ F(X, {
1652
1744
  ...m,
1745
+ defaultSelecting: m.defaultSelecting ?? !0,
1653
1746
  onClose: C,
1654
1747
  className: r("media-library-dialog--library rounded-none border-0", c),
1655
1748
  heightClassName: m.heightClassName ?? "min-h-0 flex-1",
@@ -1660,45 +1753,45 @@ function Q({ open: e, onOpenChange: t, trigger: i, dialogTitle: a, dialogDescrip
1660
1753
  }
1661
1754
  //#endregion
1662
1755
  //#region src/components/features/media-library/media-resource-gallery.tsx
1663
- function Ve(e, t, n) {
1756
+ function Z(e, t, n) {
1664
1757
  let r = e.slice(), [i] = r.splice(t, 1);
1665
1758
  return i === void 0 || r.splice(n, 0, i), r;
1666
1759
  }
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, {
1760
+ function Q({ items: e, accessors: t, title: a, description: s, primaryId: c, onPrimaryChange: u, onRemove: d, onReorder: f, onAdd: p, maxItems: h, layout: _ = "field", density: v = "comfortable", readOnly: y = !1, empty: x, action: S, renderItem: C, strings: w, className: T, ...E }) {
1761
+ let D = n(xe, w), O = Te(t), k = e.length, te = c ?? (k > 0 ? O.getId(e[0]) : void 0), A = !y && !!p && (h === void 0 || k < h), ne = A && (_ === "field" || k > 0) ? /* @__PURE__ */ F(i, {
1669
1762
  type: "button",
1670
1763
  tone: "secondary",
1671
1764
  buttonStyle: "outline",
1672
- icon: ce,
1765
+ icon: pe,
1673
1766
  onClick: p,
1674
- children: T.gallery.add
1675
- }) : h !== void 0 && D >= h ? /* @__PURE__ */ N(v, {
1767
+ children: D.gallery.add
1768
+ }) : h !== void 0 && k >= h ? /* @__PURE__ */ F(b, {
1676
1769
  tone: "secondary",
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", {
1770
+ children: D.gallery.maxReached
1771
+ }) : null, j = (t, n) => {
1772
+ if (n < 0 || n >= k || t === n) return;
1773
+ let r = Z(e, t, n);
1774
+ f?.(r.map((e) => O.getId(e)), r);
1775
+ }, M = !!(a || s || S || ne), N = k === 0 && _ !== "field", P = () => !A || _ !== "field" ? null : /* @__PURE__ */ I("button", {
1683
1776
  type: "button",
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,
1777
+ 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 ${ee.hover}`),
1778
+ "aria-label": D.gallery.addTile,
1686
1779
  onClick: p,
1687
- children: [/* @__PURE__ */ N(ce, { className: "size-icon" }), /* @__PURE__ */ N(a, {
1780
+ children: [/* @__PURE__ */ F(pe, { className: "size-icon" }), /* @__PURE__ */ F(o, {
1688
1781
  tag: "span",
1689
1782
  size: "inherit",
1690
1783
  className: "sr-only",
1691
- children: T.gallery.addTile
1784
+ children: D.gallery.addTile
1692
1785
  })]
1693
1786
  });
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", {
1787
+ return /* @__PURE__ */ I("section", {
1788
+ className: r("media-resource-gallery--component @container/media-resource-gallery rounded-radius border border-border bg-card shadow-xs", T),
1789
+ "data-layout": _,
1790
+ "data-gallery-density": v,
1791
+ ...E,
1792
+ children: [M && /* @__PURE__ */ F("header", {
1700
1793
  className: "media-resource-gallery--header p-surface",
1701
- children: /* @__PURE__ */ P(c, {
1794
+ children: /* @__PURE__ */ I(l, {
1702
1795
  direction: {
1703
1796
  base: "vertical",
1704
1797
  md: "horizontal"
@@ -1706,300 +1799,300 @@ function He({ items: e, accessors: t, title: i, description: s, primaryId: l, on
1706
1799
  gap: "lg",
1707
1800
  align: { md: "start" },
1708
1801
  justify: { md: "between" },
1709
- children: [/* @__PURE__ */ P(c, {
1802
+ children: [/* @__PURE__ */ I(l, {
1710
1803
  gap: "normal",
1711
1804
  className: "min-w-0",
1712
- children: [!!i && /* @__PURE__ */ N(a, {
1805
+ children: [!!a && /* @__PURE__ */ F(o, {
1713
1806
  tag: "div",
1714
1807
  weight: "semibold",
1715
- children: i
1716
- }), !!s && /* @__PURE__ */ N(a, {
1808
+ children: a
1809
+ }), !!s && /* @__PURE__ */ F(o, {
1717
1810
  type: "secondary",
1718
1811
  children: s
1719
1812
  })]
1720
- }), /* @__PURE__ */ N(c, {
1813
+ }), /* @__PURE__ */ F(l, {
1721
1814
  direction: "horizontal",
1722
1815
  wrap: !0,
1723
1816
  align: "center",
1724
1817
  gap: "md",
1725
1818
  className: "media-resource-gallery--actions",
1726
- children: x ?? k
1819
+ children: S ?? ne
1727
1820
  })]
1728
1821
  })
1729
- }), M ? /* @__PURE__ */ N("div", {
1822
+ }), N ? /* @__PURE__ */ F("div", {
1730
1823
  className: "media-resource-gallery--empty px-surface pb-surface",
1731
- children: b ?? /* @__PURE__ */ N(Ne, {
1732
- title: T.gallery.emptyTitle,
1733
- description: T.gallery.emptyDescription,
1734
- action: O ? /* @__PURE__ */ N(o, {
1824
+ children: x ?? /* @__PURE__ */ F(Ve, {
1825
+ title: D.gallery.emptyTitle,
1826
+ description: D.gallery.emptyDescription,
1827
+ action: A ? /* @__PURE__ */ F(i, {
1735
1828
  tone: "primary",
1736
1829
  type: "button",
1737
- icon: oe,
1830
+ icon: L,
1738
1831
  onClick: p,
1739
- children: T.gallery.add
1832
+ children: D.gallery.add
1740
1833
  }) : void 0
1741
1834
  })
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))]"),
1835
+ }) : /* @__PURE__ */ I("div", {
1836
+ className: r("grid min-w-0 grid-cols-1", _ === "list" ? "gap-space-md" : "gap-space-lg", "media-resource-gallery--items p-surface", M && "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))]"),
1744
1837
  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, {
1838
+ let n = O.getId(e), a = O.getName(e), s = O.getType(e), c = O.getSrc(e), f = O.getAlt(e) || a, p = n === te, h = O.getPublic(e) === !1, x = O.getDuration(e), S = t > 0, w = t < k - 1, T = C?.(e, {
1746
1839
  id: n,
1747
1840
  index: t,
1748
- total: D,
1841
+ total: k,
1749
1842
  primary: p,
1750
- accessors: E,
1751
- canMovePrevious: x,
1752
- canMoveNext: C,
1843
+ accessors: O,
1844
+ canMovePrevious: S,
1845
+ canMoveNext: w,
1753
1846
  setPrimary: () => u?.(n, e),
1754
1847
  remove: () => d?.(n, e),
1755
- movePrevious: () => A(t, t - 1),
1756
- moveNext: () => A(t, t + 1)
1848
+ movePrevious: () => j(t, t - 1),
1849
+ moveNext: () => j(t, t + 1)
1757
1850
  });
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"),
1851
+ return T ? /* @__PURE__ */ F("div", { children: T }, n) : _ === "field" ? /* @__PURE__ */ I("div", {
1852
+ className: r("media-resource-gallery--item group/gallery relative aspect-square overflow-hidden rounded-radius border border-border bg-background shadow-xs", `transition-colors ${m.tileHover}`, p && "col-span-2 row-span-2 min-h-52"),
1760
1853
  "data-primary": p || void 0,
1761
1854
  children: [
1762
- l ? /* @__PURE__ */ N("img", {
1763
- src: l,
1855
+ c ? /* @__PURE__ */ F("img", {
1856
+ src: c,
1764
1857
  alt: f,
1765
1858
  loading: "lazy",
1766
1859
  className: "size-full object-cover"
1767
- }) : /* @__PURE__ */ N("div", {
1860
+ }) : /* @__PURE__ */ F("div", {
1768
1861
  className: "flex size-full items-center justify-center bg-muted text-muted-foreground",
1769
- children: /* @__PURE__ */ N(ie, { className: p ? "size-7" : "size-icon-lg" })
1862
+ children: /* @__PURE__ */ F(se, { className: p ? "size-7" : "size-icon-lg" })
1770
1863
  }),
1771
- p && /* @__PURE__ */ N(v, {
1864
+ p && /* @__PURE__ */ F(b, {
1772
1865
  tone: "secondary",
1773
- className: "absolute left-2 top-2 bg-background/90 shadow-xs",
1774
- children: T.gallery.cover
1866
+ className: "absolute left-2 top-2 bg-background shadow-xs",
1867
+ children: D.gallery.cover
1775
1868
  }),
1776
- s === "video" && !!b && /* @__PURE__ */ P(v, {
1869
+ s === "video" && !!x && /* @__PURE__ */ I(b, {
1777
1870
  tone: "secondary",
1778
1871
  className: "absolute bottom-2 left-2 bg-foreground text-background",
1779
- children: [/* @__PURE__ */ N(B, { className: "size-icon-sm fill-current" }), b]
1872
+ children: [/* @__PURE__ */ F(fe, { className: "size-icon-sm fill-current" }), x]
1780
1873
  }),
1781
- h && /* @__PURE__ */ N("span", {
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",
1783
- children: /* @__PURE__ */ N(z, { className: "size-icon-sm" })
1874
+ h && /* @__PURE__ */ F("span", {
1875
+ className: "absolute bottom-2 right-2 inline-flex size-6 items-center justify-center rounded-full border border-border bg-background text-muted-foreground shadow-xs",
1876
+ children: /* @__PURE__ */ F(z, { className: "size-icon-sm" })
1784
1877
  }),
1785
- !y && /* @__PURE__ */ N(o, {
1878
+ !y && /* @__PURE__ */ F(i, {
1786
1879
  type: "button",
1787
1880
  tone: "secondary",
1788
1881
  buttonStyle: "solid",
1789
1882
  size: "sm",
1790
1883
  iconOnly: !0,
1791
1884
  className: "absolute right-2 top-2 opacity-0 shadow-sm transition-opacity group-hover/gallery:opacity-100 group-focus-within/gallery:opacity-100",
1792
- "aria-label": T.gallery.remove,
1885
+ "aria-label": D.gallery.remove,
1793
1886
  onClick: () => d?.(n, e),
1794
- children: /* @__PURE__ */ N(me, { className: "size-icon-md" })
1887
+ children: /* @__PURE__ */ F(ye, { className: "size-icon-md" })
1795
1888
  })
1796
1889
  ]
1797
- }, n) : g === "list" ? /* @__PURE__ */ P(c, {
1890
+ }, n) : _ === "list" ? /* @__PURE__ */ I(l, {
1798
1891
  direction: "horizontal",
1799
1892
  wrap: !0,
1800
1893
  align: "center",
1801
1894
  gap: "lg",
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"),
1895
+ className: r("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"),
1803
1896
  "data-primary": p || void 0,
1804
1897
  children: [
1805
- /* @__PURE__ */ N("div", {
1898
+ /* @__PURE__ */ F("div", {
1806
1899
  className: "relative size-12 shrink-0 overflow-hidden rounded-inner bg-muted",
1807
- children: l ? /* @__PURE__ */ N("img", {
1808
- src: l,
1900
+ children: c ? /* @__PURE__ */ F("img", {
1901
+ src: c,
1809
1902
  alt: f,
1810
1903
  loading: "lazy",
1811
1904
  className: "size-full object-cover"
1812
- }) : /* @__PURE__ */ N("div", {
1905
+ }) : /* @__PURE__ */ F("div", {
1813
1906
  className: "flex size-full items-center justify-center text-muted-foreground",
1814
- children: /* @__PURE__ */ N(ie, { className: "size-icon" })
1907
+ children: /* @__PURE__ */ F(se, { className: "size-icon" })
1815
1908
  })
1816
1909
  }),
1817
- /* @__PURE__ */ P("div", {
1910
+ /* @__PURE__ */ I("div", {
1818
1911
  className: "min-w-0 flex-1",
1819
- children: [/* @__PURE__ */ P(c, {
1912
+ children: [/* @__PURE__ */ I(l, {
1820
1913
  direction: "horizontal",
1821
1914
  wrap: !0,
1822
1915
  align: "center",
1823
1916
  gap: "md",
1824
1917
  className: "min-w-0",
1825
- children: [/* @__PURE__ */ N(a, {
1918
+ children: [/* @__PURE__ */ F(o, {
1826
1919
  tag: "div",
1827
1920
  weight: "semibold",
1828
1921
  className: "min-w-0 break-all",
1829
- children: i
1830
- }), p && /* @__PURE__ */ N(v, {
1922
+ children: a
1923
+ }), p && /* @__PURE__ */ F(b, {
1831
1924
  tone: "secondary",
1832
- children: T.gallery.primary
1925
+ children: D.gallery.primary
1833
1926
  })]
1834
- }), /* @__PURE__ */ P(a, {
1927
+ }), /* @__PURE__ */ I(o, {
1835
1928
  size: "xs",
1836
1929
  type: "secondary",
1837
1930
  children: [
1838
- V(T.gallery.itemPosition, {
1931
+ B(D.gallery.itemPosition, {
1839
1932
  index: t + 1,
1840
- total: D
1933
+ total: k
1841
1934
  }),
1842
1935
  " · ",
1843
- /* @__PURE__ */ N(m, {
1844
- value: E.getSize(e),
1936
+ /* @__PURE__ */ F(g, {
1937
+ value: O.getSize(e),
1845
1938
  size: "xs",
1846
1939
  align: "left",
1847
- emptyLabel: T.unknownSize
1940
+ emptyLabel: D.unknownSize
1848
1941
  })
1849
1942
  ]
1850
1943
  })]
1851
1944
  }),
1852
- !y && /* @__PURE__ */ P("div", {
1945
+ !y && /* @__PURE__ */ I("div", {
1853
1946
  className: "media-resource-gallery--item-actions flex basis-full flex-wrap items-center justify-end gap-space-xs @sm/media-resource-gallery:basis-auto",
1854
1947
  children: [
1855
- /* @__PURE__ */ N(o, {
1948
+ /* @__PURE__ */ F(i, {
1856
1949
  type: "button",
1857
1950
  tone: "secondary",
1858
1951
  buttonStyle: "ghost",
1859
1952
  size: "sm",
1860
1953
  iconOnly: !0,
1861
1954
  disabled: p,
1862
- "aria-label": T.gallery.setPrimary,
1955
+ "aria-label": D.gallery.setPrimary,
1863
1956
  onClick: () => u?.(n, e),
1864
- children: /* @__PURE__ */ N(ue, { className: "size-icon-md" })
1957
+ children: /* @__PURE__ */ F(he, { className: "size-icon-md" })
1865
1958
  }),
1866
- /* @__PURE__ */ N(o, {
1959
+ /* @__PURE__ */ F(i, {
1867
1960
  type: "button",
1868
1961
  tone: "secondary",
1869
1962
  buttonStyle: "ghost",
1870
1963
  size: "sm",
1871
1964
  iconOnly: !0,
1872
- disabled: !x,
1873
- "aria-label": T.gallery.movePrevious,
1874
- onClick: () => A(t, t - 1),
1875
- children: /* @__PURE__ */ N(F, { className: "size-icon-md" })
1965
+ disabled: !S,
1966
+ "aria-label": D.gallery.movePrevious,
1967
+ onClick: () => j(t, t - 1),
1968
+ children: /* @__PURE__ */ F(ie, { className: "size-icon-md" })
1876
1969
  }),
1877
- /* @__PURE__ */ N(o, {
1970
+ /* @__PURE__ */ F(i, {
1878
1971
  type: "button",
1879
1972
  tone: "secondary",
1880
1973
  buttonStyle: "ghost",
1881
1974
  size: "sm",
1882
1975
  iconOnly: !0,
1883
- disabled: !C,
1884
- "aria-label": T.gallery.moveNext,
1885
- onClick: () => A(t, t + 1),
1886
- children: /* @__PURE__ */ N(ne, { className: "size-icon-md" })
1976
+ disabled: !w,
1977
+ "aria-label": D.gallery.moveNext,
1978
+ onClick: () => j(t, t + 1),
1979
+ children: /* @__PURE__ */ F(ae, { className: "size-icon-md" })
1887
1980
  }),
1888
- /* @__PURE__ */ N(o, {
1981
+ /* @__PURE__ */ F(i, {
1889
1982
  type: "button",
1890
1983
  tone: "destructive",
1891
1984
  buttonStyle: "ghost",
1892
1985
  size: "sm",
1893
1986
  iconOnly: !0,
1894
- "aria-label": T.gallery.remove,
1987
+ "aria-label": D.gallery.remove,
1895
1988
  onClick: () => d?.(n, e),
1896
- children: /* @__PURE__ */ N(de, { className: "size-icon-md" })
1989
+ children: /* @__PURE__ */ F(ge, { className: "size-icon-md" })
1897
1990
  })
1898
1991
  ]
1899
1992
  })
1900
1993
  ]
1901
- }, n) : /* @__PURE__ */ P("div", {
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",
1994
+ }, n) : /* @__PURE__ */ I("div", {
1995
+ className: `media-resource-gallery--item group/gallery overflow-hidden rounded-radius border border-border bg-background shadow-xs transition-colors ${m.tileHover}`,
1903
1996
  "data-primary": p || void 0,
1904
- children: [/* @__PURE__ */ P("div", {
1997
+ children: [/* @__PURE__ */ I("div", {
1905
1998
  className: "relative aspect-[4/3] bg-muted",
1906
- children: [l ? /* @__PURE__ */ N("img", {
1907
- src: l,
1999
+ children: [c ? /* @__PURE__ */ F("img", {
2000
+ src: c,
1908
2001
  alt: f,
1909
2002
  loading: "lazy",
1910
2003
  className: "size-full object-cover"
1911
- }) : /* @__PURE__ */ N("div", {
2004
+ }) : /* @__PURE__ */ F("div", {
1912
2005
  className: "flex size-full items-center justify-center text-muted-foreground",
1913
- children: /* @__PURE__ */ N(ie, { className: "size-6" })
1914
- }), /* @__PURE__ */ P("div", {
2006
+ children: /* @__PURE__ */ F(se, { className: "size-6" })
2007
+ }), /* @__PURE__ */ I("div", {
1915
2008
  className: "absolute left-2 top-2 flex flex-wrap gap-space-xs",
1916
- children: [p && /* @__PURE__ */ N(v, {
2009
+ children: [p && /* @__PURE__ */ F(b, {
1917
2010
  tone: "secondary",
1918
2011
  className: "bg-card text-card-foreground",
1919
- children: T.gallery.primary
1920
- }), /* @__PURE__ */ N(v, {
2012
+ children: D.gallery.primary
2013
+ }), /* @__PURE__ */ F(b, {
1921
2014
  tone: "secondary",
1922
2015
  className: "bg-card text-card-foreground",
1923
- children: V(T.gallery.itemPosition, {
2016
+ children: B(D.gallery.itemPosition, {
1924
2017
  index: t + 1,
1925
- total: D
2018
+ total: k
1926
2019
  })
1927
2020
  })]
1928
2021
  })]
1929
- }), /* @__PURE__ */ N("div", {
1930
- className: r("media-resource-gallery--item-body", _ === "compact" ? "p-surface-xs" : "p-surface"),
1931
- children: /* @__PURE__ */ P(c, {
2022
+ }), /* @__PURE__ */ F("div", {
2023
+ className: r("media-resource-gallery--item-body", v === "compact" ? "p-surface-xs" : "p-surface"),
2024
+ children: /* @__PURE__ */ I(l, {
1932
2025
  gap: "md",
1933
- children: [/* @__PURE__ */ P("div", {
2026
+ children: [/* @__PURE__ */ I("div", {
1934
2027
  className: "min-w-0",
1935
- children: [/* @__PURE__ */ N(a, {
2028
+ children: [/* @__PURE__ */ F(o, {
1936
2029
  tag: "div",
1937
2030
  weight: "semibold",
1938
2031
  className: "truncate",
1939
- children: i
1940
- }), /* @__PURE__ */ N(m, {
1941
- value: E.getSize(e),
2032
+ children: a
2033
+ }), /* @__PURE__ */ F(g, {
2034
+ value: O.getSize(e),
1942
2035
  size: "xs",
1943
2036
  align: "left",
1944
- emptyLabel: T.unknownSize
2037
+ emptyLabel: D.unknownSize
1945
2038
  })]
1946
- }), !y && /* @__PURE__ */ P("div", {
2039
+ }), !y && /* @__PURE__ */ I("div", {
1947
2040
  className: "flex items-center gap-space-xs",
1948
2041
  children: [
1949
- /* @__PURE__ */ N(o, {
2042
+ /* @__PURE__ */ F(i, {
1950
2043
  type: "button",
1951
2044
  tone: "secondary",
1952
2045
  buttonStyle: "ghost",
1953
2046
  size: "sm",
1954
2047
  iconOnly: !0,
1955
2048
  disabled: p,
1956
- "aria-label": T.gallery.setPrimary,
2049
+ "aria-label": D.gallery.setPrimary,
1957
2050
  onClick: () => u?.(n, e),
1958
- children: /* @__PURE__ */ N(ue, { className: "size-icon-md" })
2051
+ children: /* @__PURE__ */ F(he, { className: "size-icon-md" })
1959
2052
  }),
1960
- /* @__PURE__ */ N(o, {
2053
+ /* @__PURE__ */ F(i, {
1961
2054
  type: "button",
1962
2055
  tone: "secondary",
1963
2056
  buttonStyle: "ghost",
1964
2057
  size: "sm",
1965
2058
  iconOnly: !0,
1966
- disabled: !x,
1967
- "aria-label": T.gallery.movePrevious,
1968
- onClick: () => A(t, t - 1),
1969
- children: /* @__PURE__ */ N(F, { className: "size-icon-md" })
2059
+ disabled: !S,
2060
+ "aria-label": D.gallery.movePrevious,
2061
+ onClick: () => j(t, t - 1),
2062
+ children: /* @__PURE__ */ F(ie, { className: "size-icon-md" })
1970
2063
  }),
1971
- /* @__PURE__ */ N(o, {
2064
+ /* @__PURE__ */ F(i, {
1972
2065
  type: "button",
1973
2066
  tone: "secondary",
1974
2067
  buttonStyle: "ghost",
1975
2068
  size: "sm",
1976
2069
  iconOnly: !0,
1977
- disabled: !C,
1978
- "aria-label": T.gallery.moveNext,
1979
- onClick: () => A(t, t + 1),
1980
- children: /* @__PURE__ */ N(ne, { className: "size-icon-md" })
2070
+ disabled: !w,
2071
+ "aria-label": D.gallery.moveNext,
2072
+ onClick: () => j(t, t + 1),
2073
+ children: /* @__PURE__ */ F(ae, { className: "size-icon-md" })
1981
2074
  }),
1982
- /* @__PURE__ */ N(o, {
2075
+ /* @__PURE__ */ F(i, {
1983
2076
  type: "button",
1984
2077
  tone: "destructive",
1985
2078
  buttonStyle: "ghost",
1986
2079
  size: "sm",
1987
2080
  iconOnly: !0,
1988
2081
  className: "ml-auto",
1989
- "aria-label": T.gallery.remove,
2082
+ "aria-label": D.gallery.remove,
1990
2083
  onClick: () => d?.(n, e),
1991
- children: /* @__PURE__ */ N(de, { className: "size-icon-md" })
2084
+ children: /* @__PURE__ */ F(ge, { className: "size-icon-md" })
1992
2085
  })
1993
2086
  ]
1994
2087
  })]
1995
2088
  })
1996
2089
  })]
1997
2090
  }, n);
1998
- }), re()]
2091
+ }), P()]
1999
2092
  })]
2000
2093
  });
2001
2094
  }
2002
2095
  //#endregion
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 };
2096
+ export { X as MediaLibrary, Ue as MediaLibraryCard, q as MediaLibraryDetailPanel, Je as MediaLibraryDialog, Ve as MediaLibraryEmptyState, Ke as MediaLibraryFooter, K as MediaLibraryList, He as MediaLibraryToolbar, We as MediaLibraryUploadPanel, Q as MediaResourceGallery, xe as defaultMediaLibraryStrings, H as formatMediaLibrarySize, B as formatMediaLibraryString, Ee as getMediaLibraryDimensions, Te as resolveMediaLibraryAccessors, Fe as useMediaLibrary };
2004
2097
 
2005
2098
  //# sourceMappingURL=media-library.js.map