themelia-react-ui 2.0.4 → 2.0.5

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 (588) hide show
  1. package/CHANGELOG.md +135 -0
  2. package/README.md +113 -18
  3. package/dist/{accordion-96o0pN62.js → accordion-B9MHG0cT.js} +11 -11
  4. package/dist/accordion-B9MHG0cT.js.map +1 -0
  5. package/dist/{action-menu-CHgs8vmj.js → action-menu-Dr8K-ghE.js} +48 -45
  6. package/dist/action-menu-Dr8K-ghE.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-B8yGOr8-.js → affordance-geometry.generated-P-aVJisu.js} +36 -36
  8. package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
  9. package/dist/{ai-artifact-BZUGwBq6.js → ai-artifact-C58tQcBy.js} +210 -174
  10. package/dist/ai-artifact-C58tQcBy.js.map +1 -0
  11. package/dist/app-shell-B_IuNWOo.js +321 -0
  12. package/dist/app-shell-B_IuNWOo.js.map +1 -0
  13. package/dist/{attachment-DkoqHPPl.js → attachment-Dg_69lPS.js} +9 -9
  14. package/dist/{attachment-DkoqHPPl.js.map → attachment-Dg_69lPS.js.map} +1 -1
  15. package/dist/{auth-D2FVZ1MH.js → auth-DTkkshS8.js} +43 -46
  16. package/dist/auth-DTkkshS8.js.map +1 -0
  17. package/dist/{avatar-DWO_HHhB.js → avatar-CeZaFmNH.js} +8 -8
  18. package/dist/avatar-CeZaFmNH.js.map +1 -0
  19. package/dist/{badge-DErMA7ul.js → badge-xIiV_E7f.js} +5 -5
  20. package/dist/{badge-DErMA7ul.js.map → badge-xIiV_E7f.js.map} +1 -1
  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 +1 -1
  27. package/dist/base/buttons.js +1 -1
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +3 -3
  30. package/dist/base/cascader.js +2 -372
  31. package/dist/base/chart.js +1 -1
  32. package/dist/base/choice-inputs.js +2 -2
  33. package/dist/base/code-block.js +1 -1
  34. package/dist/base/combobox.js +2 -2
  35. package/dist/base/command.js +1 -1
  36. package/dist/base/copyable.js +1 -1
  37. package/dist/base/date-pickers.js +2 -2
  38. package/dist/base/display.js +6 -6
  39. package/dist/base/feedback.js +3 -3
  40. package/dist/base/forms-numeric.js +1 -1
  41. package/dist/base/forms.js +2 -2
  42. package/dist/base/inline-edit.js +10 -10
  43. package/dist/base/item.js +1 -1
  44. package/dist/base/media-gallery.js +1 -1
  45. package/dist/base/metadata-list.js +1 -1
  46. package/dist/base/navigation.js +7 -7
  47. package/dist/base/popover-menu.js +1 -1
  48. package/dist/base/popover.js +1 -1
  49. package/dist/base/qr-code.js +1 -1
  50. package/dist/base/repeaters.js +12 -12
  51. package/dist/base/repeaters.js.map +1 -1
  52. package/dist/base/sheet.js +1 -1
  53. package/dist/base/sidebar.js +2 -2
  54. package/dist/base/signature-pad.js +7 -7
  55. package/dist/base/signature-pad.js.map +1 -1
  56. package/dist/base/skeleton.js +1 -1
  57. package/dist/base/spinner.js +4 -4
  58. package/dist/base/structure.js +1 -1
  59. package/dist/base/table.js +1 -1
  60. package/dist/base/text-inputs.js +2 -2
  61. package/dist/base/toaster.js +36 -36
  62. package/dist/base/toaster.js.map +1 -1
  63. package/dist/base/tree.js +1 -1
  64. package/dist/base/upload-queue.js +1 -1
  65. package/dist/base/upload.js +3 -3
  66. package/dist/base/value-inputs.js +1 -1
  67. package/dist/{batch-action-bar-CdfIkCsV.js → batch-action-bar-Cb8cuvyy.js} +6 -6
  68. package/dist/batch-action-bar-Cb8cuvyy.js.map +1 -0
  69. package/dist/blocks/admin.js +21 -21
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +230 -216
  72. package/dist/blocks/ai.js.map +1 -1
  73. package/dist/blocks/analytics/usage-card.js +1 -1
  74. package/dist/blocks/analytics.js +325 -306
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +1 -1
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1259 -1184
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +2 -2
  81. package/dist/blocks/onboarding.js +6 -6
  82. package/dist/blocks/onboarding.js.map +1 -1
  83. package/dist/blocks/planning.js +11 -11
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-B-WFKecD.js → breadcrumbs-J-K2kl4c.js} +6 -6
  86. package/dist/{breadcrumbs-B-WFKecD.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
  87. package/dist/{button-DkmK-z8E.js → button-S2Cubiiz.js} +3 -3
  88. package/dist/button-S2Cubiiz.js.map +1 -0
  89. package/dist/{buttons-BbfzgczK.js → buttons-BedGfygC.js} +16 -16
  90. package/dist/buttons-BedGfygC.js.map +1 -0
  91. package/dist/cards-rNX1M4Xn.js +69 -0
  92. package/dist/cards-rNX1M4Xn.js.map +1 -0
  93. package/dist/cascader-B1MiqkBq.js +439 -0
  94. package/dist/cascader-B1MiqkBq.js.map +1 -0
  95. package/dist/chart-Darg_0Kv.js +162 -0
  96. package/dist/chart-Darg_0Kv.js.map +1 -0
  97. package/dist/{checkbox-CzYUTPeJ.js → checkbox-fflqmODR.js} +2 -2
  98. package/dist/{checkbox-CzYUTPeJ.js.map → checkbox-fflqmODR.js.map} +1 -1
  99. package/dist/{choice-inputs-JLtij2y4.js → choice-inputs-zUgBZfE4.js} +258 -257
  100. package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
  101. package/dist/{code-block-CGNaUtAE.js → code-block-BzmM9Eig.js} +8 -8
  102. package/dist/code-block-BzmM9Eig.js.map +1 -0
  103. package/dist/{collapsible-Do4G0zcC.js → collapsible-BkAI_XD4.js} +5 -5
  104. package/dist/{collapsible-Do4G0zcC.js.map → collapsible-BkAI_XD4.js.map} +1 -1
  105. package/dist/{collection-content-C0e8SsTm.js → collection-content-gDh1v6O4.js} +3 -3
  106. package/dist/{collection-content-C0e8SsTm.js.map → collection-content-gDh1v6O4.js.map} +1 -1
  107. package/dist/combobox-BEx0vJgF.js +362 -0
  108. package/dist/combobox-BEx0vJgF.js.map +1 -0
  109. package/dist/{combobox-CBJDs6w_.js → combobox-BwzoXFSG.js} +254 -247
  110. package/dist/combobox-BwzoXFSG.js.map +1 -0
  111. package/dist/{command-D8NrBj-b.js → command-CrlPIL6m.js} +11 -11
  112. package/dist/command-CrlPIL6m.js.map +1 -0
  113. package/dist/{comments-Di4w0H_S.js → comments-Dmpp0YIc.js} +29 -29
  114. package/dist/{comments-Di4w0H_S.js.map → comments-Dmpp0YIc.js.map} +1 -1
  115. package/dist/components/base/action-menu/action-menu.d.ts +7 -1
  116. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  117. package/dist/components/base/cards/card.recipes.d.ts +6 -4
  118. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -2
  119. package/dist/components/base/cards/partials/smart-card-header-row.d.ts +3 -1
  120. package/dist/components/base/cards/smart-card.types.d.ts +3 -4
  121. package/dist/components/base/cascader/cascader-panel.d.ts +76 -0
  122. package/dist/components/base/chart/chart.d.ts +6 -1
  123. package/dist/components/base/choice-inputs/choice-types.d.ts +1 -1
  124. package/dist/components/base/combobox/index.d.ts +4 -2
  125. package/dist/components/base/feedback/alert.d.ts +1 -1
  126. package/dist/components/base/forms/form-sizing.d.ts +7 -7
  127. package/dist/components/base/forms/workflow.d.ts +7 -1
  128. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
  129. package/dist/components/base/metadata-list/metadata-list.d.ts +1 -1
  130. package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
  131. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
  132. package/dist/components/base/navigation/page-header/page-header.d.ts +10 -3
  133. package/dist/components/base/popover/popover.d.ts +3 -3
  134. package/dist/components/base/popover/popover.recipes.d.ts +10 -6
  135. package/dist/components/base/sheet/sheet.d.ts +2 -0
  136. package/dist/components/base/sidebar/index.d.ts +1 -1
  137. package/dist/components/base/sidebar/sidebar.d.ts +27 -5
  138. package/dist/components/base/toaster/index.d.ts +1 -0
  139. package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
  140. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +3 -1
  141. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  142. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  143. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  144. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
  145. package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
  146. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
  147. package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
  148. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  149. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
  150. package/dist/components/blocks/commerce/index.d.ts +7 -6
  151. package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
  152. package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
  153. package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
  154. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  155. package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
  156. package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
  157. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
  158. package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
  159. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
  160. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
  161. package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
  162. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
  163. package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
  164. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  165. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
  166. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  167. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
  168. package/dist/components/features/activities/activities.types.d.ts +8 -2
  169. package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
  170. package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
  171. package/dist/components/features/event-calendar/colors.d.ts +2 -2
  172. package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
  173. package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
  174. package/dist/components/features/filters/filters.strings.d.ts +4 -0
  175. package/dist/components/features/filters/filters.types.d.ts +3 -0
  176. package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
  177. package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
  178. package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
  179. package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
  180. package/dist/components/features/filters/utils/filter-utils.d.ts +21 -3
  181. package/dist/components/features/global-search/global-search.types.d.ts +2 -0
  182. package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
  183. package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
  184. package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
  185. package/dist/components/features/media-library/media-library.types.d.ts +14 -4
  186. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  187. package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
  188. package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
  189. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  190. package/dist/components/features/products/products.strings.d.ts +9 -1
  191. package/dist/components/features/products/products.types.d.ts +43 -6
  192. package/dist/components/features/resource/resource.d.ts +5 -1
  193. package/dist/components/features/resource/resource.types.d.ts +12 -1
  194. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
  195. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
  196. package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
  197. package/dist/components/features/table/table.types.d.ts +1 -1
  198. package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
  199. package/dist/components/layout/app-shell/index.d.ts +1 -1
  200. package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
  201. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  202. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  203. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  204. package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
  205. package/dist/components/layout/header/header.recipes.d.ts +6 -0
  206. package/dist/components/layout/header/header.types.d.ts +6 -6
  207. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
  208. package/dist/components/layout/page/index.d.ts +2 -1
  209. package/dist/components/layout/page/page.d.ts +1 -0
  210. package/dist/components/layout/page/page.strings.d.ts +11 -0
  211. package/dist/components/layout/page/page.types.d.ts +69 -17
  212. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  213. package/dist/components/layout/settings/settings.d.ts +9 -2
  214. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  215. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  216. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  217. package/dist/components/layout/sidebar/index.d.ts +2 -1
  218. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +36 -0
  219. package/dist/components/layout/sidebar/sidebar.context.d.ts +5 -7
  220. package/dist/components/layout/sidebar/sidebar.types.d.ts +48 -10
  221. package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
  222. package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
  223. package/dist/components/ui/alert-dialog.d.ts +2 -2
  224. package/dist/components/ui/combobox.d.ts +1 -1
  225. package/dist/components/ui/dialog.d.ts +2 -2
  226. package/dist/components/ui/overlay-layer.d.ts +18 -0
  227. package/dist/components/ui/sheet.d.ts +5 -1
  228. package/dist/components/ui/sidebar-state.d.ts +82 -0
  229. package/dist/components/ui/sidebar.d.ts +5 -17
  230. package/dist/{containers-CRmHf7GP.js → containers-CIxwbZt5.js} +26 -18
  231. package/dist/containers-CIxwbZt5.js.map +1 -0
  232. package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
  233. package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
  234. package/dist/{copyable-CnGCZdX4.js → copyable-DIznBqiT.js} +7 -7
  235. package/dist/{copyable-CnGCZdX4.js.map → copyable-DIznBqiT.js.map} +1 -1
  236. package/dist/{data-display-D4oujtx0.js → data-display-BdgCAw8T.js} +268 -277
  237. package/dist/data-display-BdgCAw8T.js.map +1 -0
  238. package/dist/{date-Q7jnXxpk.js → date-Cq8ioE4o.js} +5 -5
  239. package/dist/{date-Q7jnXxpk.js.map → date-Cq8ioE4o.js.map} +1 -1
  240. package/dist/{date-picker-zOt1oNss.js → date-picker-RlIzKom_.js} +446 -437
  241. package/dist/date-picker-RlIzKom_.js.map +1 -0
  242. package/dist/{date-pickers-cj8IXbDC.js → date-pickers-DY-CpXS1.js} +12 -12
  243. package/dist/{date-pickers-cj8IXbDC.js.map → date-pickers-DY-CpXS1.js.map} +1 -1
  244. package/dist/{display-BB4BL_-K.js → display-KsZLw9Ov.js} +9 -9
  245. package/dist/{display-BB4BL_-K.js.map → display-KsZLw9Ov.js.map} +1 -1
  246. package/dist/dropdown-menu-CLs8Lihj.js +194 -0
  247. package/dist/dropdown-menu-CLs8Lihj.js.map +1 -0
  248. package/dist/features/activities.js +302 -253
  249. package/dist/features/activities.js.map +1 -1
  250. package/dist/features/ai-chat.js +15 -14
  251. package/dist/features/ai-chat.js.map +1 -1
  252. package/dist/features/appointment-calendar.js +22 -22
  253. package/dist/features/appointment-calendar.js.map +1 -1
  254. package/dist/features/async-preview.js +11 -10
  255. package/dist/features/async-preview.js.map +1 -1
  256. package/dist/features/combobox.js +1 -1
  257. package/dist/features/comments.js +1 -1
  258. package/dist/features/data-view.js +13 -13
  259. package/dist/features/data-view.js.map +1 -1
  260. package/dist/features/email-composer.js +237 -238
  261. package/dist/features/email-composer.js.map +1 -1
  262. package/dist/features/event-calendar.js +140 -146
  263. package/dist/features/event-calendar.js.map +1 -1
  264. package/dist/features/filters.js +1 -1
  265. package/dist/features/global-search.js +167 -138
  266. package/dist/features/global-search.js.map +1 -1
  267. package/dist/features/kanban.js +6 -7
  268. package/dist/features/kanban.js.map +1 -1
  269. package/dist/features/map.js +269 -260
  270. package/dist/features/map.js.map +1 -1
  271. package/dist/features/media-library.js +375 -326
  272. package/dist/features/media-library.js.map +1 -1
  273. package/dist/features/mentions.js +1 -1
  274. package/dist/features/overlays.js +1 -1
  275. package/dist/features/products.js +1266 -1193
  276. package/dist/features/products.js.map +1 -1
  277. package/dist/features/questionnaire.js +13 -13
  278. package/dist/features/questionnaire.js.map +1 -1
  279. package/dist/features/resource-assignment.js +8 -8
  280. package/dist/features/resource.js +69 -66
  281. package/dist/features/resource.js.map +1 -1
  282. package/dist/features/rich-text-editor.js +2 -2
  283. package/dist/features/schema-form.js +13 -13
  284. package/dist/features/suggestions.js +3 -3
  285. package/dist/features/sync.js +3 -3
  286. package/dist/features/table.js +1 -1
  287. package/dist/features/theme-tweaker.js +94 -95
  288. package/dist/features/theme-tweaker.js.map +1 -1
  289. package/dist/{feedback-DZNL5Lg1.js → feedback-Dm4izqFn.js} +80 -79
  290. package/dist/feedback-Dm4izqFn.js.map +1 -0
  291. package/dist/{field-affordance-recipes-DjwGx8eM.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
  292. package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
  293. package/dist/{filters-BcT-uoFy.js → filters-DzgSJpMK.js} +693 -645
  294. package/dist/filters-DzgSJpMK.js.map +1 -0
  295. package/dist/{form-field-CsgRmdit.js → form-field-BriWAXyg.js} +6 -6
  296. package/dist/{form-field-CsgRmdit.js.map → form-field-BriWAXyg.js.map} +1 -1
  297. package/dist/{form-sizing-NXgjkmBG.js → form-sizing-Bs2qFUeE.js} +4 -4
  298. package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
  299. package/dist/{forms-BV5m5aQF.js → forms-C0RGnJTe.js} +17 -13
  300. package/dist/forms-C0RGnJTe.js.map +1 -0
  301. package/dist/{forms-numeric-Cd33AKbD.js → forms-numeric-DIhghX1Q.js} +86 -82
  302. package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
  303. package/dist/{header-BA697l4a.js → header-DMMxG__r.js} +67 -63
  304. package/dist/header-DMMxG__r.js.map +1 -0
  305. package/dist/header.recipes-BigdJjw1.js +6 -0
  306. package/dist/header.recipes-BigdJjw1.js.map +1 -0
  307. package/dist/{hooks-BQ-L7Uu2.js → hooks-DB6CJ4MR.js} +26 -14
  308. package/dist/hooks-DB6CJ4MR.js.map +1 -0
  309. package/dist/{icon-badge-COWbCCWu.js → icon-badge-DZF-YjQp.js} +4 -4
  310. package/dist/{icon-badge-COWbCCWu.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
  311. package/dist/index.js +4 -5
  312. package/dist/{input-Cdw4k0fb.js → input-CvyDQlY7.js} +8 -8
  313. package/dist/{input-Cdw4k0fb.js.map → input-CvyDQlY7.js.map} +1 -1
  314. package/dist/input-DMBwAZmr.js +21 -0
  315. package/dist/input-DMBwAZmr.js.map +1 -0
  316. package/dist/{item-BvZ2DR_x.js → item-DjCcM18E.js} +16 -16
  317. package/dist/item-DjCcM18E.js.map +1 -0
  318. package/dist/layout/app-shell.js +1 -1
  319. package/dist/layout/auth.js +1 -1
  320. package/dist/layout/containers.js +1 -1
  321. package/dist/layout/header.js +1 -1
  322. package/dist/layout/hooks.js +1 -1
  323. package/dist/layout/navigation.js +1 -1
  324. package/dist/layout/page.js +2 -2
  325. package/dist/layout/settings.js +1 -1
  326. package/dist/layout/sidebar.js +3 -3
  327. package/dist/layout/workspace.js +1 -1
  328. package/dist/layout.js +11 -11
  329. package/dist/lib/affordance-geometry.generated.d.ts +35 -35
  330. package/dist/lib/control-group-recipes.d.ts +5 -5
  331. package/dist/lib/field-affordance-recipes.d.ts +2 -2
  332. package/dist/lib/motion-recipes.d.ts +3 -0
  333. package/dist/lib/navigation-row-recipes.d.ts +7 -7
  334. package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
  335. package/dist/lib/portal-recipes.d.ts +3 -0
  336. package/dist/lib/token-merge.generated.d.ts +13 -10
  337. package/dist/lib/utils.js +1 -1
  338. package/dist/map-demo-tile.svg +1 -1
  339. package/dist/{media-gallery-CSl5W1Fy.js → media-gallery-C-vChPmE.js} +6 -6
  340. package/dist/{media-gallery-CSl5W1Fy.js.map → media-gallery-C-vChPmE.js.map} +1 -1
  341. package/dist/{mentions-RKOQaaIB.js → mentions-0_4nWuI-.js} +10 -10
  342. package/dist/{mentions-RKOQaaIB.js.map → mentions-0_4nWuI-.js.map} +1 -1
  343. package/dist/{message-INU2xsxu.js → message-g8p7eVtN.js} +7 -7
  344. package/dist/message-g8p7eVtN.js.map +1 -0
  345. package/dist/{metadata-list-qVV7AVxa.js → metadata-list-C3MkU-Om.js} +64 -64
  346. package/dist/metadata-list-C3MkU-Om.js.map +1 -0
  347. package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
  348. package/dist/motion-recipes-DitYv6P2.js.map +1 -0
  349. package/dist/navigation-C90-oQFq.js +255 -0
  350. package/dist/navigation-C90-oQFq.js.map +1 -0
  351. package/dist/{navigation-BQNcg1jT.js → navigation-DaRjthVk.js} +101 -82
  352. package/dist/navigation-DaRjthVk.js.map +1 -0
  353. package/dist/{navigation-row-recipes-WZEs-hYo.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
  354. package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
  355. package/dist/{number-E_OiIfJz.js → number-CRU3kGuk.js} +5 -5
  356. package/dist/{number-E_OiIfJz.js.map → number-CRU3kGuk.js.map} +1 -1
  357. package/dist/overflow-tab-bar-IVFVQFV6.js +172 -0
  358. package/dist/overflow-tab-bar-IVFVQFV6.js.map +1 -0
  359. package/dist/overlays-BSgCtM2v.js +1013 -0
  360. package/dist/overlays-BSgCtM2v.js.map +1 -0
  361. package/dist/page-DUUKDAjo.js +331 -0
  362. package/dist/page-DUUKDAjo.js.map +1 -0
  363. package/dist/page-header-commands-7P3sfE9u.js +193 -0
  364. package/dist/page-header-commands-7P3sfE9u.js.map +1 -0
  365. package/dist/{pagination-Ch8X_47u.js → pagination-CgCjElfu.js} +7 -7
  366. package/dist/{pagination-Ch8X_47u.js.map → pagination-CgCjElfu.js.map} +1 -1
  367. package/dist/popover-B85RenIl.js +201 -0
  368. package/dist/popover-B85RenIl.js.map +1 -0
  369. package/dist/{popover-menu-BYaCdFhf.js → popover-menu-DlnQ2zlR.js} +7 -7
  370. package/dist/{popover-menu-BYaCdFhf.js.map → popover-menu-DlnQ2zlR.js.map} +1 -1
  371. package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DdiEp0rd.js} +18 -11
  372. package/dist/popover.recipes-DdiEp0rd.js.map +1 -0
  373. package/dist/portal-recipes-BpsV_iRw.js +9 -0
  374. package/dist/portal-recipes-BpsV_iRw.js.map +1 -0
  375. package/dist/{primitives-Du64iDbb.js → primitives-ByWgGUgt.js} +5 -5
  376. package/dist/{primitives-Du64iDbb.js.map → primitives-ByWgGUgt.js.map} +1 -1
  377. package/dist/primitives.js +4 -4
  378. package/dist/{progress-BvF2oCdV.js → progress-BJhQP9WX.js} +9 -9
  379. package/dist/{progress-BvF2oCdV.js.map → progress-BJhQP9WX.js.map} +1 -1
  380. package/dist/{receipt-D789Jwyy.js → receipt-tOc7B3hw.js} +7 -7
  381. package/dist/receipt-tOc7B3hw.js.map +1 -0
  382. package/dist/{rich-text-CLJEf76s.js → rich-text-Dth5E882.js} +3 -3
  383. package/dist/{rich-text-CLJEf76s.js.map → rich-text-Dth5E882.js.map} +1 -1
  384. package/dist/{rich-text-editor-Cm1dpUpQ.js → rich-text-editor-C1fOjBTd.js} +429 -430
  385. package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
  386. package/dist/{rich-text-editor-toolbar-L__e4x47.js → rich-text-editor-toolbar-laT3tpBT.js} +32 -28
  387. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
  388. package/dist/{scroll-area-La5RXsEk.js → scroll-area-B0dB2cBi.js} +2 -2
  389. package/dist/{scroll-area-La5RXsEk.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
  390. package/dist/{separator-DAEV0w65.js → separator-Bb17I4pu.js} +2 -2
  391. package/dist/{separator-DAEV0w65.js.map → separator-Bb17I4pu.js.map} +1 -1
  392. package/dist/{separator-GNfPG-90.js → separator-Ct_WSWTJ.js} +3 -3
  393. package/dist/{separator-GNfPG-90.js.map → separator-Ct_WSWTJ.js.map} +1 -1
  394. package/dist/services/actions.js +1 -1
  395. package/dist/{settings-BA2iboic.js → settings-Bar5wiSo.js} +31 -38
  396. package/dist/settings-Bar5wiSo.js.map +1 -0
  397. package/dist/sheet-BGPERY55.js +250 -0
  398. package/dist/sheet-BGPERY55.js.map +1 -0
  399. package/dist/sidebar-D-JYMMbY.js +686 -0
  400. package/dist/sidebar-D-JYMMbY.js.map +1 -0
  401. package/dist/sidebar-f9gRWXIR.js +1001 -0
  402. package/dist/sidebar-f9gRWXIR.js.map +1 -0
  403. package/dist/skeleton-BapcJd9C.js +265 -0
  404. package/dist/skeleton-BapcJd9C.js.map +1 -0
  405. package/dist/smart-card-CW0hjetE.js +617 -0
  406. package/dist/smart-card-CW0hjetE.js.map +1 -0
  407. package/dist/{structure-C0V0_Fyf.js → structure-DuxKl954.js} +2 -2
  408. package/dist/{structure-C0V0_Fyf.js.map → structure-DuxKl954.js.map} +1 -1
  409. package/dist/style.css +1 -1
  410. package/dist/{table-CpvnzJn9.js → table-B4TE7iOV.js} +3 -3
  411. package/dist/{table-CpvnzJn9.js.map → table-B4TE7iOV.js.map} +1 -1
  412. package/dist/{table-DH7rozUv.js → table-CFOWY9pQ.js} +394 -388
  413. package/dist/table-CFOWY9pQ.js.map +1 -0
  414. package/dist/{tabs-eqVsJZWO.js → tabs-e7ko9S2o.js} +11 -11
  415. package/dist/tabs-e7ko9S2o.js.map +1 -0
  416. package/dist/{text-inputs-DXItiR0O.js → text-inputs-B1culiSK.js} +17 -17
  417. package/dist/text-inputs-B1culiSK.js.map +1 -0
  418. package/dist/theme.css +40 -37
  419. package/dist/{timelines-DmtztAY_.js → timelines-D3Sl9ueq.js} +13 -12
  420. package/dist/timelines-D3Sl9ueq.js.map +1 -0
  421. package/dist/tooltip-8wz5S_Zr.js +113 -0
  422. package/dist/tooltip-8wz5S_Zr.js.map +1 -0
  423. package/dist/{tree-CV11PURP.js → tree-CzUJHnFs.js} +8 -8
  424. package/dist/{tree-CV11PURP.js.map → tree-CzUJHnFs.js.map} +1 -1
  425. package/dist/typography/rich-text.js +1 -1
  426. package/dist/{typography-CSyJrh28.js → typography-BQnine1k.js} +12 -12
  427. package/dist/{typography-CSyJrh28.js.map → typography-BQnine1k.js.map} +1 -1
  428. package/dist/typography.js +1 -1
  429. package/dist/ui-provider-C-74NVLc.js +178 -0
  430. package/dist/ui-provider-C-74NVLc.js.map +1 -0
  431. package/dist/ui-provider.js +2 -3
  432. package/dist/{upload-C9SA0X-8.js → upload-BOW6U2tI.js} +25 -24
  433. package/dist/upload-BOW6U2tI.js.map +1 -0
  434. package/dist/{upload-queue-DhQJiSRc.js → upload-queue-qUXn1ykN.js} +16 -14
  435. package/dist/upload-queue-qUXn1ykN.js.map +1 -0
  436. package/dist/{usage-card-DVTRDmGz.js → usage-card-BeSLY0i0.js} +24 -17
  437. package/dist/usage-card-BeSLY0i0.js.map +1 -0
  438. package/dist/{utils-CF3c95Io.js → utils-B6kKb8jB.js} +237 -141
  439. package/dist/utils-B6kKb8jB.js.map +1 -0
  440. package/dist/value-inputs-skdVB2zh.js +980 -0
  441. package/dist/value-inputs-skdVB2zh.js.map +1 -0
  442. package/dist/{value-typography-ClupF0Gz.js → value-typography-uAmWUAL1.js} +2 -2
  443. package/dist/{value-typography-ClupF0Gz.js.map → value-typography-uAmWUAL1.js.map} +1 -1
  444. package/dist/{workspace-9EFVXUyk.js → workspace-DHeHv0qw.js} +50 -49
  445. package/dist/workspace-DHeHv0qw.js.map +1 -0
  446. package/docs/consumer-skill/SKILL.md +4 -3
  447. package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
  448. package/docs/consumer-skill/examples/app-layout.tsx +52 -1
  449. package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
  450. package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
  451. package/docs/consumer-skill/examples/detail.tsx +5 -4
  452. package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
  453. package/docs/consumer-skill/examples/index-table.tsx +4 -4
  454. package/docs/consumer-skill/examples/manifest.json +38 -1
  455. package/docs/consumer-skill/examples/product-media.tsx +41 -0
  456. package/docs/consumer-skill/examples/product-parts.tsx +81 -0
  457. package/docs/consumer-skill/examples/rhf-edit-page.tsx +1 -1
  458. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +24 -11
  459. package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
  460. package/docs/consumer-skill/references/agents-md.md +19 -17
  461. package/docs/consumer-skill/references/analytics.md +18 -1
  462. package/docs/consumer-skill/references/commerce-composition.md +97 -0
  463. package/docs/consumer-skill/references/component-contracts.json +7131 -1754
  464. package/docs/consumer-skill/references/composition-mapping.md +17 -3
  465. package/docs/consumer-skill/references/composition.md +159 -31
  466. package/docs/consumer-skill/references/critique-rubric.md +98 -0
  467. package/docs/consumer-skill/references/custom-composition.md +261 -0
  468. package/docs/consumer-skill/references/data-reading.md +79 -0
  469. package/docs/consumer-skill/references/design-contract.md +11 -9
  470. package/docs/consumer-skill/references/discovery.md +27 -3
  471. package/docs/consumer-skill/references/domain-structures.md +124 -0
  472. package/docs/consumer-skill/references/installation.md +15 -4
  473. package/docs/consumer-skill/references/integration.md +35 -0
  474. package/docs/consumer-skill/references/product-composition.md +94 -0
  475. package/docs/consumer-skill/references/public-api.json +2881 -420
  476. package/docs/consumer-skill/references/review.md +39 -2
  477. package/docs/consumer-skill/references/rhf-workflows.md +7 -0
  478. package/docs/consumer-skill/references/screen-archetypes.md +19 -7
  479. package/docs/consumer-skill/references/screen-decisions.md +126 -0
  480. package/docs/consumer-skill/references/theming.md +17 -18
  481. package/docs/consumer-skill/references/tokens.json +9 -9
  482. package/docs/consumer-skill/references/view-craft.md +153 -0
  483. package/docs/consumer-skill/references/view-spec.md +73 -0
  484. package/docs/consumer-skill/references/workflows.md +7 -1
  485. package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
  486. package/docs/consumer-skill/scripts/composition-schema.mjs +1 -1
  487. package/docs/consumer-skill/scripts/composition.mjs +61 -5
  488. package/docs/consumer-skill/scripts/discovery.mjs +54 -0
  489. package/docs/consumer-skill/scripts/inspect-component.mjs +1 -1
  490. package/docs/consumer-skill/scripts/inspection.mjs +73 -18
  491. package/docs/consumer-skill/scripts/setup-skills.mjs +41 -6
  492. package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
  493. package/docs/consumer-skills/themelia-components/SKILL.md +14 -13
  494. package/docs/consumer-skills/themelia-composition/SKILL.md +16 -17
  495. package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
  496. package/docs/consumer-skills/themelia-foundation/SKILL.md +2 -1
  497. package/docs/consumer-skills/themelia-tokenization/SKILL.md +24 -17
  498. package/package.json +1 -1
  499. package/dist/accordion-96o0pN62.js.map +0 -1
  500. package/dist/action-menu-CHgs8vmj.js.map +0 -1
  501. package/dist/affordance-geometry.generated-B8yGOr8-.js.map +0 -1
  502. package/dist/ai-artifact-BZUGwBq6.js.map +0 -1
  503. package/dist/app-shell-D63ATkIK.js +0 -237
  504. package/dist/app-shell-D63ATkIK.js.map +0 -1
  505. package/dist/auth-D2FVZ1MH.js.map +0 -1
  506. package/dist/avatar-DWO_HHhB.js.map +0 -1
  507. package/dist/base/cascader.js.map +0 -1
  508. package/dist/batch-action-bar-CdfIkCsV.js.map +0 -1
  509. package/dist/button-DkmK-z8E.js.map +0 -1
  510. package/dist/buttons-BbfzgczK.js.map +0 -1
  511. package/dist/cards-4JTWqvVe.js +0 -68
  512. package/dist/cards-4JTWqvVe.js.map +0 -1
  513. package/dist/chart-C19flDQb.js +0 -155
  514. package/dist/chart-C19flDQb.js.map +0 -1
  515. package/dist/choice-inputs-JLtij2y4.js.map +0 -1
  516. package/dist/code-block-CGNaUtAE.js.map +0 -1
  517. package/dist/combobox-CBJDs6w_.js.map +0 -1
  518. package/dist/combobox-hbhSS18O.js +0 -355
  519. package/dist/combobox-hbhSS18O.js.map +0 -1
  520. package/dist/command-D8NrBj-b.js.map +0 -1
  521. package/dist/containers-CRmHf7GP.js.map +0 -1
  522. package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
  523. package/dist/data-display-D4oujtx0.js.map +0 -1
  524. package/dist/date-picker-zOt1oNss.js.map +0 -1
  525. package/dist/dropdown-menu-CjY8Vt7W.js +0 -193
  526. package/dist/dropdown-menu-CjY8Vt7W.js.map +0 -1
  527. package/dist/feedback-DZNL5Lg1.js.map +0 -1
  528. package/dist/field-affordance-recipes-DjwGx8eM.js.map +0 -1
  529. package/dist/filters-BcT-uoFy.js.map +0 -1
  530. package/dist/form-sizing-NXgjkmBG.js.map +0 -1
  531. package/dist/forms-BV5m5aQF.js.map +0 -1
  532. package/dist/forms-numeric-Cd33AKbD.js.map +0 -1
  533. package/dist/header-BA697l4a.js.map +0 -1
  534. package/dist/hooks-BQ-L7Uu2.js.map +0 -1
  535. package/dist/input-DOPL5_QE.js +0 -21
  536. package/dist/input-DOPL5_QE.js.map +0 -1
  537. package/dist/item-BvZ2DR_x.js.map +0 -1
  538. package/dist/message-INU2xsxu.js.map +0 -1
  539. package/dist/metadata-list-qVV7AVxa.js.map +0 -1
  540. package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
  541. package/dist/navigation-BQNcg1jT.js.map +0 -1
  542. package/dist/navigation-DLF3E1IC.js +0 -145
  543. package/dist/navigation-DLF3E1IC.js.map +0 -1
  544. package/dist/navigation-row-recipes-WZEs-hYo.js.map +0 -1
  545. package/dist/overflow-tab-bar-CrbqMteP.js +0 -284
  546. package/dist/overflow-tab-bar-CrbqMteP.js.map +0 -1
  547. package/dist/overlays-BlKynmde.js +0 -1004
  548. package/dist/overlays-BlKynmde.js.map +0 -1
  549. package/dist/page-CIwNUtGr.js +0 -227
  550. package/dist/page-CIwNUtGr.js.map +0 -1
  551. package/dist/page-header-commands-DFMlNYzN.js +0 -128
  552. package/dist/page-header-commands-DFMlNYzN.js.map +0 -1
  553. package/dist/popover-uwzX2vo7.js +0 -198
  554. package/dist/popover-uwzX2vo7.js.map +0 -1
  555. package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
  556. package/dist/receipt-D789Jwyy.js.map +0 -1
  557. package/dist/rich-text-editor-Cm1dpUpQ.js.map +0 -1
  558. package/dist/rich-text-editor-toolbar-L__e4x47.js.map +0 -1
  559. package/dist/settings-BA2iboic.js.map +0 -1
  560. package/dist/sheet-DoAxTb2J.js +0 -213
  561. package/dist/sheet-DoAxTb2J.js.map +0 -1
  562. package/dist/sidebar-ByqKR_W5.js +0 -512
  563. package/dist/sidebar-ByqKR_W5.js.map +0 -1
  564. package/dist/sidebar-D2iSnGJ7.js +0 -619
  565. package/dist/sidebar-D2iSnGJ7.js.map +0 -1
  566. package/dist/skeleton-CUj8O5Bd.js +0 -264
  567. package/dist/skeleton-CUj8O5Bd.js.map +0 -1
  568. package/dist/smart-card-CqkzQsK-.js +0 -614
  569. package/dist/smart-card-CqkzQsK-.js.map +0 -1
  570. package/dist/table-DH7rozUv.js.map +0 -1
  571. package/dist/tabs-eqVsJZWO.js.map +0 -1
  572. package/dist/text-inputs-DXItiR0O.js.map +0 -1
  573. package/dist/theme-scope-BJ6eE2xt.js +0 -50
  574. package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
  575. package/dist/timelines-DmtztAY_.js.map +0 -1
  576. package/dist/tooltip-B4hjKtoV.js +0 -111
  577. package/dist/tooltip-B4hjKtoV.js.map +0 -1
  578. package/dist/ui-provider-CQCuCBcy.js +0 -136
  579. package/dist/ui-provider-CQCuCBcy.js.map +0 -1
  580. package/dist/upload-C9SA0X-8.js.map +0 -1
  581. package/dist/upload-queue-DhQJiSRc.js.map +0 -1
  582. package/dist/usage-card-DVTRDmGz.js.map +0 -1
  583. package/dist/use-mobile-vaLKwgyf.js +0 -15
  584. package/dist/use-mobile-vaLKwgyf.js.map +0 -1
  585. package/dist/utils-CF3c95Io.js.map +0 -1
  586. package/dist/value-inputs-C0o70p-U.js +0 -980
  587. package/dist/value-inputs-C0o70p-U.js.map +0 -1
  588. package/dist/workspace-9EFVXUyk.js.map +0 -1
@@ -1,29 +1,29 @@
1
1
  "use client";
2
- import { s as e, v as t } from "../ui-provider-CQCuCBcy.js";
2
+ import { S as e, d as t } from "../ui-provider-C-74NVLc.js";
3
3
  import { useStrings as n } from "../lib/strings.js";
4
- import { t as r } from "../utils-CF3c95Io.js";
5
- import { n as i } from "../buttons-BbfzgczK.js";
6
- import { c as a, o } from "../typography-CSyJrh28.js";
4
+ import { t as r } from "../utils-B6kKb8jB.js";
5
+ import { n as i } from "../buttons-BedGfygC.js";
6
+ import { c as a, o } from "../typography-BQnine1k.js";
7
7
  import { t as s } from "../focus-recipes-B653VaLq.js";
8
- import { r as c, t as l } from "../structure-C0V0_Fyf.js";
9
- import { i as u } from "../smart-card-CqkzQsK-.js";
10
- import { n as d, t as f } from "../feedback-DZNL5Lg1.js";
11
- import { t as p } from "../progress-BvF2oCdV.js";
8
+ import { r as c, t as l } from "../structure-DuxKl954.js";
9
+ import { i as u } from "../smart-card-CW0hjetE.js";
10
+ import { n as d, t as f } from "../feedback-Dm4izqFn.js";
11
+ import { t as p } from "../progress-BJhQP9WX.js";
12
12
  import { n as m, t as h } from "../composition.recipes-COdiFhxB.js";
13
- import { r as g } from "../overlays-BlKynmde.js";
13
+ import { r as g } from "../overlays-BSgCtM2v.js";
14
14
  import { t as _ } from "../interaction-recipes-XR9ZpVYL.js";
15
- import { a as v, i as y, t as b } from "../primitives-Du64iDbb.js";
16
- import { n as x, t as S } from "../number-E_OiIfJz.js";
17
- import { t as C } from "../badge-DErMA7ul.js";
18
- import { t as ee } from "../batch-action-bar-CdfIkCsV.js";
19
- import { t as w } from "../input-Cdw4k0fb.js";
20
- import { t as T } from "../form-field-CsgRmdit.js";
21
- import { c as E, l as D } from "../choice-inputs-JLtij2y4.js";
22
- import { r as O, t as k } from "../control-group-recipes-DBXmfh2E.js";
15
+ import { a as v, i as y, t as b } from "../primitives-ByWgGUgt.js";
16
+ import { n as x, t as S } from "../number-CRU3kGuk.js";
17
+ import { t as C } from "../badge-xIiV_E7f.js";
18
+ import { t as ee } from "../batch-action-bar-Cb8cuvyy.js";
19
+ import { t as w } from "../input-CvyDQlY7.js";
20
+ import { t as T } from "../form-field-BriWAXyg.js";
21
+ import { c as E, l as D } from "../choice-inputs-zUgBZfE4.js";
22
+ import { r as O, t as k } from "../control-group-recipes-fMuFo0H7.js";
23
23
  import { t as te } from "../upload.recipes-BbxTqrCT.js";
24
- import { t as ne } from "../metadata-list-qVV7AVxa.js";
25
- import { a as A } from "../upload-queue-DhQJiSRc.js";
26
- import { s as re } from "../data-display-D4oujtx0.js";
24
+ import { t as ne } from "../metadata-list-C3MkU-Om.js";
25
+ import { a as A } from "../upload-queue-qUXn1ykN.js";
26
+ import { s as re } from "../data-display-BdgCAw8T.js";
27
27
  import { createContext as j, useCallback as M, useContext as ie, useEffect as ae, useMemo as N, useRef as oe, useState as P } from "react";
28
28
  import { Fragment as se, jsx as F, jsxs as I } from "react/jsx-runtime";
29
29
  import { ArrowLeft as L, ArrowRight as ce, Check as R, File as z, Grid2X2 as B, ImageIcon as le, ImagePlus as ue, Info as de, Layers3 as fe, LayoutList as pe, Lock as me, Play as he, Plus as ge, Search as _e, Star as ve, Trash2 as ye, UploadCloud as be, Video as xe, X as Se } from "lucide-react";
@@ -54,7 +54,7 @@ var Ce = {
54
54
  sortUsage: "Most used",
55
55
  gridView: "Grid view",
56
56
  tableView: "Table view",
57
- countAll: "{count} items",
57
+ countAll: "{count} {count, plural, one {item} other {items}}",
58
58
  countFiltered: "{count} of {total} items",
59
59
  countSearch: "{count} of {total} items for \"{query}\"",
60
60
  activeSearchLabel: "Search",
@@ -67,7 +67,8 @@ var Ce = {
67
67
  uploadMedia: "Upload media",
68
68
  loading: "Loading media...",
69
69
  errorTitle: "Media could not load",
70
- errorDescription: "Try again or adjust your filters.",
70
+ errorDescription: "Check your connection, then try again.",
71
+ retry: "Try again",
71
72
  cardDetails: "Details for {name}",
72
73
  selectMode: "Select",
73
74
  selectItem: "Select {name}",
@@ -257,7 +258,7 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
257
258
  me,
258
259
  q,
259
260
  i
260
- ]), Y = N(() => new Set(J), [J]), He = oe(/* @__PURE__ */ new Set()), X = oe(null), Z = oe(/* @__PURE__ */ new Map());
261
+ ]), Y = N(() => new Set(J), [J]), He = oe(/* @__PURE__ */ new Set()), X = oe(null), Ue = oe(/* @__PURE__ */ new Map()), [We, Ge] = P(0), Ke = M(() => Ge((e) => e + 1), []);
261
262
  ae(() => {
262
263
  if (!t) return;
263
264
  let e = new AbortController();
@@ -278,6 +279,7 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
278
279
  }), () => e.abort();
279
280
  }, [
280
281
  B,
282
+ We,
281
283
  t,
282
284
  u,
283
285
  L,
@@ -291,60 +293,60 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
291
293
  e.clear();
292
294
  };
293
295
  }, []);
294
- let Ue = N(() => t ? ge : [...Ce, ...e], [
296
+ let qe = N(() => t ? ge : [...Ce, ...e], [
295
297
  Ce,
296
298
  ge,
297
299
  t,
298
300
  e
299
- ]), Q = N(() => Ue.filter((e) => !Ee.has(j.getId(e))).map((e) => Fe(e, ke[j.getId(e)])), [
301
+ ]), Z = N(() => qe.filter((e) => !Ee.has(j.getId(e))).map((e) => Fe(e, ke[j.getId(e)])), [
300
302
  j,
301
303
  ke,
302
304
  Ee,
303
- Ue
304
- ]), We = N(() => {
305
- let e = t ? Q : Ie(Q, j, L, R, B);
305
+ qe
306
+ ]), Je = N(() => {
307
+ let e = t ? Z : Ie(Z, j, L, R, B);
306
308
  return t ? e : Le(e, j, ue);
307
309
  }, [
308
310
  j,
309
311
  B,
310
312
  t,
311
- Q,
313
+ Z,
312
314
  L,
313
315
  ue,
314
316
  R
315
- ]), Ge = ve ?? Q.length, Ke = We.length, qe = N(() => Q.filter((e) => Y.has(j.getId(e))), [
317
+ ]), Ye = ve ?? Z.length, Q = Je.length, Xe = N(() => Z.filter((e) => Y.has(j.getId(e))), [
316
318
  j,
317
- Q,
319
+ Z,
318
320
  Y
319
- ]), Je = !!L.trim() || R !== "all" || B !== "all", $ = M((e) => {
321
+ ]), Ze = !!L.trim() || R !== "all" || B !== "all", $ = M((e) => {
320
322
  q || he(e);
321
- let t = new Set(e), n = Q.filter((e) => t.has(j.getId(e)));
323
+ let t = new Set(e), n = Z.filter((e) => t.has(j.getId(e)));
322
324
  o?.(e, n);
323
325
  }, [
324
326
  j,
325
327
  q,
326
328
  o,
327
- Q
328
- ]), Ye = M((e) => {
329
+ Z
330
+ ]), Qe = M((e) => {
329
331
  let t = new Set(r === "single" ? [] : Y);
330
332
  Y.has(e) && r !== "single" ? t.delete(e) : t.add(e), $(Array.from(t));
331
333
  }, [
332
334
  $,
333
335
  Y,
334
336
  r
335
- ]), Xe = M(() => $([]), [$]), [Ze, Qe] = U(ne, A, re), $e = Ze || J.length > 0, et = M((e) => {
336
- Qe(e), !e && J.length > 0 && $([]);
337
+ ]), $e = M(() => $([]), [$]), [et, tt] = U(ne, A, re), nt = et || J.length > 0, rt = M((e) => {
338
+ tt(e), !e && J.length > 0 && $([]);
337
339
  }, [
338
340
  $,
339
341
  J.length,
340
- Qe
341
- ]), tt = M(() => {
342
+ tt
343
+ ]), it = M(() => {
342
344
  ce(""), z("all"), le("all");
343
345
  }, [
344
346
  le,
345
347
  ce,
346
348
  z
347
- ]), nt = M((e) => {
349
+ ]), at = M((e) => {
348
350
  W((t) => [...t, ...e.map((e, t) => {
349
351
  let n = Me(e);
350
352
  return n && He.current.add(n), {
@@ -358,22 +360,22 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
358
360
  status: "staged"
359
361
  };
360
362
  })]);
361
- }, []), rt = M((e) => {
363
+ }, []), ot = M((e) => {
362
364
  W((t) => {
363
365
  let n = t.find((t) => t.id === e);
364
366
  return n?.src && (Ne(n.src), He.current.delete(n.src)), t.filter((t) => t.id !== e);
365
367
  });
366
- }, []), it = M(() => {
368
+ }, []), st = M(() => {
367
369
  W((e) => {
368
370
  for (let t of e) t.src && (Ne(t.src), He.current.delete(t.src));
369
371
  return [];
370
372
  });
371
- }, []), at = M((e) => {
373
+ }, []), ct = M((e) => {
372
374
  K((t) => ({
373
375
  ...t,
374
376
  ...e
375
377
  }));
376
- }, [K]), ot = M((e, t) => {
378
+ }, [K]), lt = M((e, t) => {
377
379
  W((n) => n.map((n) => n.id === e ? {
378
380
  ...n,
379
381
  ...t
@@ -394,26 +396,27 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
394
396
  setSort: de,
395
397
  detailId: fe,
396
398
  setDetailId: pe,
397
- items: Q,
398
- visibleItems: We,
399
+ items: Z,
400
+ visibleItems: Je,
399
401
  selectedIds: J,
400
- selectedItems: qe,
402
+ selectedItems: Xe,
401
403
  selectedSet: Y,
402
- toggleSelection: Ye,
403
- clearSelection: Xe,
404
- selecting: $e,
405
- setSelecting: et,
406
- clearFilters: tt,
404
+ toggleSelection: Qe,
405
+ clearSelection: $e,
406
+ selecting: nt,
407
+ setSelecting: rt,
408
+ clearFilters: it,
407
409
  loading: be,
408
410
  error: Se,
409
- hasFilters: Je,
410
- totalCount: Ge,
411
- filteredCount: Ke,
411
+ retry: Ke,
412
+ hasFilters: Ze,
413
+ totalCount: Ye,
414
+ filteredCount: Q,
412
415
  stagedFiles: Re,
413
- addFiles: nt,
414
- removeStagedFile: rt,
415
- clearStagedFiles: it,
416
- updateUploadOptions: at,
416
+ addFiles: at,
417
+ removeStagedFile: ot,
418
+ clearStagedFiles: st,
419
+ updateUploadOptions: ct,
417
420
  uploadOptions: G,
418
421
  uploading: ze,
419
422
  startUpload: M(async () => {
@@ -427,10 +430,10 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
427
430
  let t = {
428
431
  signal: e.signal,
429
432
  setProgress: (t, n) => {
430
- e.signal.aborted || ot(t, { progress: Math.max(0, Math.min(100, n)) });
433
+ e.signal.aborted || lt(t, { progress: Math.max(0, Math.min(100, n)) });
431
434
  },
432
435
  setFileStatus: (t, n, r) => {
433
- e.signal.aborted || ot(t, {
436
+ e.signal.aborted || lt(t, {
434
437
  status: n,
435
438
  error: r
436
439
  });
@@ -448,7 +451,7 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
448
451
  let e = i.map((e) => j.getId(e));
449
452
  $(r === "single" ? e.slice(0, 1) : Array.from(/* @__PURE__ */ new Set([...e, ...J])));
450
453
  }
451
- it(), se("library");
454
+ st(), se("library");
452
455
  } catch (t) {
453
456
  if (e.signal.aborted) return;
454
457
  V(t), W((e) => e.map((e) => e.status === "uploading" ? {
@@ -462,13 +465,13 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
462
465
  }, [
463
466
  j,
464
467
  $,
465
- it,
468
+ st,
466
469
  u,
467
470
  l,
468
471
  J,
469
472
  r,
470
473
  se,
471
- ot,
474
+ lt,
472
475
  Re,
473
476
  G,
474
477
  ze
@@ -482,8 +485,8 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
482
485
  } : e));
483
486
  }, []),
484
487
  updateItem: M(async (e, t) => {
485
- let n = j.getId(e), r = `update:${n}`, i = (Z.current.get(r) ?? 0) + 1;
486
- Z.current.set(r, i);
488
+ let n = j.getId(e), r = `update:${n}`, i = (Ue.current.get(r) ?? 0) + 1;
489
+ Ue.current.set(r, i);
487
490
  let a = ke[n];
488
491
  V(null), Ae((e) => ({
489
492
  ...e,
@@ -495,7 +498,7 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
495
498
  try {
496
499
  return await s?.(e, t), !0;
497
500
  } catch (e) {
498
- return Z.current.get(r) === i && Ae((e) => {
501
+ return Ue.current.get(r) === i && Ae((e) => {
499
502
  let t = { ...e };
500
503
  return a ? t[n] = a : delete t[n], t;
501
504
  }), V(e), u?.(e), !1;
@@ -507,14 +510,14 @@ function Re({ items: e = Te, fetcher: t, accessors: n, selectionMode: r = "multi
507
510
  s
508
511
  ]),
509
512
  removeItem: M(async (e) => {
510
- let t = j.getId(e), n = `delete:${t}`, r = (Z.current.get(n) ?? 0) + 1;
511
- Z.current.set(n, r);
513
+ let t = j.getId(e), n = `delete:${t}`, r = (Ue.current.get(n) ?? 0) + 1;
514
+ Ue.current.set(n, r);
512
515
  let i = Ee.has(t);
513
516
  V(null), Oe((e) => new Set(e).add(t));
514
517
  try {
515
518
  return await c?.(e), Y.has(t) && $(J.filter((e) => e !== t)), !0;
516
519
  } catch (e) {
517
- return !i && Z.current.get(n) === r && Oe((e) => {
520
+ return !i && Ue.current.get(n) === r && Oe((e) => {
518
521
  let n = new Set(e);
519
522
  return n.delete(t), n;
520
523
  }), V(e), u?.(e), !1;
@@ -580,8 +583,8 @@ function Y({ icon: e, title: t, description: n, action: i, className: a }) {
580
583
  className: r("media-library-empty-state--component min-h-64 bg-muted/30", a)
581
584
  });
582
585
  }
583
- function He({ query: n, type: o, typeFilters: s, collection: c, sort: u, view: d, collections: f = [], strings: p, onQueryChange: m, onTypeChange: h, onCollectionChange: g, onSortChange: v, onViewChange: y, onClearFilters: b, toolbarEnd: x, selecting: S = !1, onSelectingChange: ee }) {
584
- let { defaultScale: T } = e(), E = t(void 0, T), te = [
586
+ function He({ query: n, type: o, typeFilters: s, collection: c, sort: u, view: d, collections: f = [], strings: p, onQueryChange: m, onTypeChange: h, onCollectionChange: g, onSortChange: v, onViewChange: y, onClearFilters: b, toolbarEnd: x, selecting: S = !1, onSelectingChange: ee, summary: T, disabled: E = !1 }) {
587
+ let { defaultScale: te } = t(), ne = e(void 0, te), A = [
585
588
  {
586
589
  value: "all",
587
590
  label: p.allTypes,
@@ -606,13 +609,13 @@ function He({ query: n, type: o, typeFilters: s, collection: c, sort: u, view: d
606
609
  "all",
607
610
  "image",
608
611
  "video"
609
- ]).includes(e.value)), ne = [{
612
+ ]).includes(e.value)), re = [{
610
613
  value: "all",
611
614
  label: p.allCollections
612
615
  }, ...f.map((e) => ({
613
616
  value: e.value,
614
617
  label: String(e.label)
615
- }))], A = [
618
+ }))], j = [
616
619
  {
617
620
  value: "newest",
618
621
  label: p.sortNewest
@@ -629,138 +632,167 @@ function He({ query: n, type: o, typeFilters: s, collection: c, sort: u, view: d
629
632
  value: "usage",
630
633
  label: p.sortUsage
631
634
  }
632
- ], re = n.trim(), j = re.length > 0, M = j || o !== "all" || c !== "all";
635
+ ], M = n.trim(), ie = M.length > 0, ae = ie || o !== "all" || c !== "all";
633
636
  return /* @__PURE__ */ I(l, {
634
637
  direction: "horizontal",
635
638
  wrap: !0,
636
639
  align: "start",
637
640
  gap: "md",
638
641
  className: "media-library-toolbar--component",
639
- children: [
640
- /* @__PURE__ */ I(l, {
641
- gap: "xs",
642
- className: "media-library-toolbar--search min-w-52 flex-1",
643
- children: [/* @__PURE__ */ F(w, {
644
- value: n,
645
- onChange: (e) => m(e.target.value),
646
- placeholder: p.searchPlaceholder,
647
- startIcon: _e,
648
- clearable: !0,
649
- onClear: () => m(""),
650
- strings: { clear: p.clearSearch },
651
- className: "bg-background"
652
- }), !!j && /* @__PURE__ */ F(l, {
653
- direction: "horizontal",
642
+ children: [/* @__PURE__ */ I(l, {
643
+ direction: "horizontal",
644
+ wrap: !0,
645
+ align: "start",
646
+ gap: "md",
647
+ className: "media-library-toolbar--filters min-w-0 grow basis-80",
648
+ children: [
649
+ /* @__PURE__ */ I(l, {
654
650
  gap: "xs",
655
- wrap: !1,
656
- className: "media-library-toolbar--search-value px-space-xs",
657
- children: /* @__PURE__ */ I(C, {
658
- tone: "secondary",
659
- className: "max-w-full",
660
- children: [/* @__PURE__ */ F(a, {
661
- tag: "span",
662
- size: "inherit",
663
- className: "text-current",
664
- children: p.activeSearchLabel
665
- }), /* @__PURE__ */ F(a, {
666
- tag: "span",
667
- size: "inherit",
668
- weight: "normal",
669
- className: "min-w-0 truncate text-current",
670
- children: re
671
- })]
651
+ className: "media-library-toolbar--search min-w-52 flex-1",
652
+ children: [/* @__PURE__ */ F(w, {
653
+ value: n,
654
+ onChange: (e) => m(e.target.value),
655
+ placeholder: p.searchPlaceholder,
656
+ startIcon: _e,
657
+ clearable: !0,
658
+ onClear: () => m(""),
659
+ strings: { clear: p.clearSearch },
660
+ disabled: E,
661
+ className: "bg-background"
662
+ }), !!ie && /* @__PURE__ */ F(l, {
663
+ direction: "horizontal",
664
+ gap: "xs",
665
+ wrap: !1,
666
+ className: "media-library-toolbar--search-value px-space-xs",
667
+ children: /* @__PURE__ */ I(C, {
668
+ tone: "secondary",
669
+ className: "max-w-full",
670
+ children: [/* @__PURE__ */ F(a, {
671
+ tag: "span",
672
+ size: "inherit",
673
+ className: "text-current",
674
+ children: p.activeSearchLabel
675
+ }), /* @__PURE__ */ F(a, {
676
+ tag: "span",
677
+ size: "inherit",
678
+ weight: "normal",
679
+ className: "min-w-0 truncate text-current",
680
+ children: M
681
+ })]
682
+ })
683
+ })]
684
+ }),
685
+ /* @__PURE__ */ F("div", {
686
+ className: r("media-library-toolbar--type-toggle shrink-0", O.frame, k[ne]),
687
+ role: "tablist",
688
+ "aria-label": p.typeFilterLabel,
689
+ children: A.map((e) => {
690
+ let t = e.icon, n = o === e.value;
691
+ return /* @__PURE__ */ I(i, {
692
+ type: "button",
693
+ role: "tab",
694
+ "aria-selected": n,
695
+ tone: "secondary",
696
+ buttonStyle: "ghost",
697
+ size: "sm",
698
+ disabled: E,
699
+ className: r(O.item, "shadow-none", n ? `${_.segmentActive} hover:bg-card` : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
700
+ onClick: () => h(e.value),
701
+ children: [t && /* @__PURE__ */ F(t, { className: "size-icon-md" }), /* @__PURE__ */ F(a, {
702
+ tag: "span",
703
+ size: "xs",
704
+ weight: "medium",
705
+ className: "text-inherit",
706
+ children: e.label
707
+ })]
708
+ }, e.value);
672
709
  })
673
- })]
674
- }),
675
- /* @__PURE__ */ F("div", {
676
- className: r("media-library-toolbar--type-toggle", O.frame, k[E]),
677
- role: "tablist",
678
- "aria-label": p.typeFilterLabel,
679
- children: te.map((e) => {
680
- let t = e.icon, n = o === e.value;
681
- return /* @__PURE__ */ I(i, {
710
+ }),
711
+ /* @__PURE__ */ I(l, {
712
+ direction: "horizontal",
713
+ gap: "md",
714
+ wrap: !0,
715
+ className: "media-library-toolbar--selects min-w-0",
716
+ children: [/* @__PURE__ */ F("div", {
717
+ className: "min-w-40 grow",
718
+ children: /* @__PURE__ */ F(D, {
719
+ value: c,
720
+ options: re,
721
+ onValueChange: (e) => g(e ?? "all"),
722
+ placeholder: p.collectionFilterLabel,
723
+ "aria-label": p.collectionFilterLabel,
724
+ disabled: E,
725
+ className: "bg-background"
726
+ })
727
+ }), /* @__PURE__ */ F("div", {
728
+ className: "min-w-32 grow",
729
+ children: /* @__PURE__ */ F(D, {
730
+ value: u,
731
+ options: j,
732
+ onValueChange: (e) => v(e ?? "newest"),
733
+ placeholder: p.sortLabel,
734
+ "aria-label": p.sortLabel,
735
+ disabled: E,
736
+ className: "bg-background"
737
+ })
738
+ })]
739
+ }),
740
+ !!ae && /* @__PURE__ */ F(i, {
741
+ type: "button",
742
+ tone: "secondary",
743
+ buttonStyle: "ghost",
744
+ disabled: E,
745
+ onClick: b,
746
+ children: p.clearFilters
747
+ })
748
+ ]
749
+ }), /* @__PURE__ */ I(l, {
750
+ direction: "horizontal",
751
+ align: "center",
752
+ gap: "md",
753
+ wrap: !1,
754
+ className: "media-library-toolbar--view ms-auto min-w-0 max-w-full",
755
+ children: [
756
+ T,
757
+ /* @__PURE__ */ I("div", {
758
+ className: r("media-library-toolbar--view-toggle shrink-0", O.frame, k[ne]),
759
+ children: [/* @__PURE__ */ F(i, {
682
760
  type: "button",
683
- role: "tab",
684
- "aria-selected": n,
685
- tone: "secondary",
686
- buttonStyle: "ghost",
761
+ tone: d === "grid" ? "neutral" : "secondary",
762
+ buttonStyle: d === "grid" ? "solid" : "ghost",
687
763
  size: "sm",
688
- className: r(O.item, "shadow-none", n ? `${_.segmentActive} hover:bg-card` : "text-muted-foreground hover:bg-transparent hover:text-foreground"),
689
- onClick: () => h(e.value),
690
- children: [t && /* @__PURE__ */ F(t, { className: "size-icon-md" }), /* @__PURE__ */ F(a, {
691
- tag: "span",
692
- size: "xs",
693
- weight: "medium",
694
- className: "text-inherit",
695
- children: e.label
696
- })]
697
- }, e.value);
698
- })
699
- }),
700
- /* @__PURE__ */ F("div", {
701
- className: "min-w-40",
702
- children: /* @__PURE__ */ F(D, {
703
- value: c,
704
- options: ne,
705
- onValueChange: (e) => g(e ?? "all"),
706
- placeholder: p.collectionFilterLabel,
707
- "aria-label": p.collectionFilterLabel,
708
- className: "bg-background"
709
- })
710
- }),
711
- /* @__PURE__ */ F("div", {
712
- className: "min-w-32",
713
- children: /* @__PURE__ */ F(D, {
714
- value: u,
715
- options: A,
716
- onValueChange: (e) => v(e ?? "newest"),
717
- placeholder: p.sortLabel,
718
- "aria-label": p.sortLabel,
719
- className: "bg-background"
720
- })
721
- }),
722
- /* @__PURE__ */ I("div", {
723
- className: r("media-library-toolbar--view-toggle ml-auto", O.frame, k[E]),
724
- children: [/* @__PURE__ */ F(i, {
725
- type: "button",
726
- tone: d === "grid" ? "neutral" : "secondary",
727
- buttonStyle: d === "grid" ? "solid" : "ghost",
728
- size: "sm",
729
- iconOnly: !0,
730
- className: r(O.item, d === "grid" && `${_.segmentActive} hover:bg-card`),
731
- "aria-label": p.gridView,
732
- onClick: () => y("grid"),
733
- children: /* @__PURE__ */ F(B, { className: "size-icon-md" })
734
- }), /* @__PURE__ */ F(i, {
764
+ iconOnly: !0,
765
+ disabled: E,
766
+ className: r(O.item, d === "grid" && `${_.segmentActive} hover:bg-card`),
767
+ "aria-label": p.gridView,
768
+ onClick: () => y("grid"),
769
+ children: /* @__PURE__ */ F(B, { className: "size-icon-md" })
770
+ }), /* @__PURE__ */ F(i, {
771
+ type: "button",
772
+ tone: d === "table" ? "neutral" : "secondary",
773
+ buttonStyle: d === "table" ? "solid" : "ghost",
774
+ size: "sm",
775
+ iconOnly: !0,
776
+ disabled: E,
777
+ className: r(O.item, d === "table" && `${_.segmentActive} hover:bg-card`),
778
+ "aria-label": p.tableView,
779
+ onClick: () => y("table"),
780
+ children: /* @__PURE__ */ F(pe, { className: "size-icon-md" })
781
+ })]
782
+ }),
783
+ !!ee && /* @__PURE__ */ F(i, {
735
784
  type: "button",
736
- tone: d === "table" ? "neutral" : "secondary",
737
- buttonStyle: d === "table" ? "solid" : "ghost",
738
- size: "sm",
739
- iconOnly: !0,
740
- className: r(O.item, d === "table" && `${_.segmentActive} hover:bg-card`),
741
- "aria-label": p.tableView,
742
- onClick: () => y("table"),
743
- children: /* @__PURE__ */ F(pe, { className: "size-icon-md" })
744
- })]
745
- }),
746
- !!M && /* @__PURE__ */ F(i, {
747
- type: "button",
748
- tone: "secondary",
749
- buttonStyle: "ghost",
750
- onClick: b,
751
- children: p.clearFilters
752
- }),
753
- !!ee && /* @__PURE__ */ F(i, {
754
- type: "button",
755
- "aria-pressed": S,
756
- tone: "secondary",
757
- buttonStyle: "outline",
758
- className: r("media-library-toolbar--select", S && _.togglePressed),
759
- onClick: () => ee(!S),
760
- children: p.selectMode
761
- }),
762
- x
763
- ]
785
+ "aria-pressed": S,
786
+ tone: "secondary",
787
+ buttonStyle: "outline",
788
+ disabled: E,
789
+ className: r("media-library-toolbar--select shrink-0", S && _.togglePressed),
790
+ onClick: () => ee(!S),
791
+ children: p.selectMode
792
+ }),
793
+ x
794
+ ]
795
+ })]
764
796
  });
765
797
  }
766
798
  function X({ item: e, selected: t = !1, density: n = "comfortable", showMeta: o = !0, accessors: u, strings: d, onToggle: f, onDetails: p, onOpen: m, selecting: h = !1, className: g }) {
@@ -865,7 +897,7 @@ function X({ item: e, selected: t = !1, density: n = "comfortable", showMeta: o
865
897
  ]
866
898
  });
867
899
  }
868
- function Z({ items: e, selectedSet: t, accessors: n, strings: c, onToggle: l, onDetails: u, onOpen: d, selecting: f = !1 }) {
900
+ function Ue({ items: e, selectedSet: t, accessors: n, strings: c, onToggle: l, onDetails: u, onOpen: d, selecting: f = !1 }) {
869
901
  let p = !!d && !f;
870
902
  return /* @__PURE__ */ I("div", {
871
903
  className: "media-library-list--component min-w-180",
@@ -885,14 +917,14 @@ function Z({ items: e, selectedSet: t, accessors: n, strings: c, onToggle: l, on
885
917
  let o = n.getId(e), f = t.has(o), m = n.getType(e), h = n.getName(e), g = n.getSrc(e), v = n.getPublic(e) === !1;
886
918
  return /* @__PURE__ */ I("div", {
887
919
  "data-selected": f || void 0,
888
- 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 ${_.rowHover}`, f && _.rowSelected),
920
+ 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-radius transition-colors ${_.rowHover}`, f && _.rowSelected),
889
921
  onClick: () => p && d ? d(o) : l(o),
890
922
  children: [
891
923
  /* @__PURE__ */ F("button", {
892
924
  type: "button",
893
925
  "aria-label": h,
894
926
  "aria-pressed": p ? void 0 : f,
895
- className: r("media-library-list--select rounded-inner", W),
927
+ className: r("media-library-list--select rounded-radius", W),
896
928
  onClick: (e) => {
897
929
  e.stopPropagation(), p && d ? d(o) : l(o);
898
930
  }
@@ -913,7 +945,7 @@ function Z({ items: e, selectedSet: t, accessors: n, strings: c, onToggle: l, on
913
945
  }),
914
946
  /* @__PURE__ */ F(q, {
915
947
  tint: n.getTint(e),
916
- className: "size-9 rounded-inner",
948
+ className: "size-9 rounded-radius",
917
949
  children: g ? /* @__PURE__ */ F("img", {
918
950
  src: g,
919
951
  alt: "",
@@ -969,7 +1001,7 @@ function Z({ items: e, selectedSet: t, accessors: n, strings: c, onToggle: l, on
969
1001
  })]
970
1002
  });
971
1003
  }
972
- function Ue({ item: e, collections: t = [], accessors: n, strings: o, onClose: s, onUpdate: c, onRemove: u, onReplace: d, renderDetail: f }) {
1004
+ function We({ item: e, collections: t = [], accessors: n, strings: o, onClose: s, onUpdate: c, onRemove: u, onReplace: d, renderDetail: f }) {
973
1005
  if (!e) return null;
974
1006
  let p = n.getName(e), m = n.getType(e), g = n.getSrc(e), _ = n.getCollection(e) ?? t[0]?.value ?? "", v = n.getTags(e), x = n.getPublic(e) ?? !0, S = f?.(e, {
975
1007
  accessors: n,
@@ -1132,7 +1164,7 @@ function Ue({ item: e, collections: t = [], accessors: n, strings: o, onClose: s
1132
1164
  })]
1133
1165
  });
1134
1166
  }
1135
- function Q({ stagedFiles: e, uploadOptions: t, collections: n = [], uploading: r = !1, strings: o, onFiles: s, onRemoveFile: c, onOptionsChange: u, empty: d }) {
1167
+ function Ge({ stagedFiles: e, uploadOptions: t, collections: n = [], uploading: r = !1, strings: o, onFiles: s, onRemoveFile: c, onOptionsChange: u, empty: d }) {
1136
1168
  return /* @__PURE__ */ F("div", {
1137
1169
  className: "media-library-upload-panel--component p-surface",
1138
1170
  children: /* @__PURE__ */ I(l, {
@@ -1156,7 +1188,7 @@ function Q({ stagedFiles: e, uploadOptions: t, collections: n = [], uploading: r
1156
1188
  className: "media-library-upload-panel--staged-file flex items-center gap-space-lg rounded-radius border border-border bg-card text-card-foreground px-row-x py-row-y",
1157
1189
  children: [
1158
1190
  /* @__PURE__ */ F(q, {
1159
- className: "size-10 rounded-inner",
1191
+ className: "size-10 rounded-radius",
1160
1192
  children: e.src ? /* @__PURE__ */ F("img", {
1161
1193
  src: e.src,
1162
1194
  alt: e.name,
@@ -1264,7 +1296,7 @@ function Q({ stagedFiles: e, uploadOptions: t, collections: n = [], uploading: r
1264
1296
  })
1265
1297
  });
1266
1298
  }
1267
- function We({ tab: e, selectedIds: t, selectionMode: n, stagedFiles: o, strings: s, onClearSelection: c, className: l }) {
1299
+ function Ke({ tab: e, selectedIds: t, selectionMode: n, stagedFiles: o, strings: s, onClearSelection: c, className: l }) {
1268
1300
  let u = t.length, d = o.reduce((e, t) => e + t.size, 0), f = o.length, p = r("media-library-footer-summary--component flex min-w-0 items-center gap-space-lg", l);
1269
1301
  return e === "upload" ? /* @__PURE__ */ F("div", {
1270
1302
  className: p,
@@ -1300,7 +1332,7 @@ function We({ tab: e, selectedIds: t, selectionMode: n, stagedFiles: o, strings:
1300
1332
  })
1301
1333
  });
1302
1334
  }
1303
- 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 }) {
1335
+ function qe({ 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 }) {
1304
1336
  let h = n.length, g = a.length;
1305
1337
  return e === "upload" ? /* @__PURE__ */ I("div", {
1306
1338
  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),
@@ -1337,19 +1369,19 @@ function Ge({ tab: e, selectedItems: t, selectedIds: n, stagedFiles: a, uploadin
1337
1369
  })]
1338
1370
  });
1339
1371
  }
1340
- 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 }) {
1372
+ function Z({ 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 }) {
1341
1373
  return /* @__PURE__ */ F("footer", {
1342
1374
  className: r("media-library-footer--component", h === "section" && "border-t border-border bg-background text-foreground p-surface", g),
1343
1375
  children: /* @__PURE__ */ I("div", {
1344
1376
  className: "flex min-w-0 flex-col gap-space-lg @md/media-library:flex-row @md/media-library:justify-between",
1345
- children: [/* @__PURE__ */ F(We, {
1377
+ children: [/* @__PURE__ */ F(Ke, {
1346
1378
  tab: e,
1347
1379
  selectedIds: n,
1348
1380
  selectionMode: i,
1349
1381
  stagedFiles: a,
1350
1382
  strings: s,
1351
1383
  onClearSelection: f
1352
- }), /* @__PURE__ */ F(Ge, {
1384
+ }), /* @__PURE__ */ F(qe, {
1353
1385
  tab: e,
1354
1386
  selectedItems: t,
1355
1387
  selectedIds: n,
@@ -1368,8 +1400,8 @@ function Ke({ tab: e, selectedItems: t, selectedIds: n, selectionMode: i, staged
1368
1400
  }
1369
1401
  //#endregion
1370
1402
  //#region src/components/features/media-library/media-library.tsx
1371
- var qe = j(null);
1372
- function Je(e, t, n) {
1403
+ var Je = j(null);
1404
+ function Ye(e, t, n) {
1373
1405
  return N(() => {
1374
1406
  if (e) return e;
1375
1407
  let r = /* @__PURE__ */ new Set();
@@ -1387,8 +1419,8 @@ function Je(e, t, n) {
1387
1419
  t
1388
1420
  ]);
1389
1421
  }
1390
- function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLabel: h, selectionMode: g = "multiple", density: v = "comfortable", showMeta: y = !0, allowUpload: b = !0, typeFilters: x, confirmOnSelect: w = !1, onConfirm: T, onCancel: E, onClose: D, bulkActions: te, strings: ne, slots: A, heightClassName: re, className: j, items: M, fetcher: N, accessors: P, collections: se, value: L, defaultValue: ce, onValueChange: R, onItemUpdate: z, onItemDelete: B, onItemReplace: ue, onItemOpen: de, onUpload: fe, onError: pe, selecting: me, defaultSelecting: he, onSelectingChange: ge, tab: _e, defaultTab: ve, onTabChange: ye, view: xe, defaultView: Se, onViewChange: we, query: Te, defaultQuery: U, onQueryChange: Ee, type: De, defaultType: Oe, onTypeChange: ke, collection: Ae, defaultCollection: je, onCollectionChange: Me, sort: Ne, defaultSort: Pe, onSortChange: Fe, uploadOptions: Ie, defaultUploadOptions: Le, onUploadOptionsChange: W, ...ze }) {
1391
- let { defaultScale: Be } = e(), Ve = t(void 0, Be), G = n(Ce, ne), K = Re({
1422
+ function Q({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLabel: h, selectionMode: g = "multiple", density: v = "comfortable", showMeta: y = !0, allowUpload: b = !0, typeFilters: x, confirmOnSelect: w = !1, onConfirm: T, onCancel: E, onClose: D, bulkActions: te, strings: ne, slots: A, heightClassName: re, className: j, items: M, fetcher: N, accessors: P, collections: se, value: L, defaultValue: ce, onValueChange: R, onItemUpdate: z, onItemDelete: B, onItemReplace: ue, onItemOpen: de, onUpload: fe, onError: pe, selecting: me, defaultSelecting: he, onSelectingChange: ge, tab: _e, defaultTab: ve, onTabChange: ye, view: xe, defaultView: Se, onViewChange: we, query: Te, defaultQuery: U, onQueryChange: Ee, type: De, defaultType: Oe, onTypeChange: ke, collection: Ae, defaultCollection: je, onCollectionChange: Me, sort: Ne, defaultSort: Pe, onSortChange: Fe, uploadOptions: Ie, defaultUploadOptions: Le, onUploadOptionsChange: W, ...ze }) {
1423
+ let { defaultScale: Be } = t(), Ve = e(void 0, Be), G = n(Ce, ne), K = Re({
1392
1424
  items: M,
1393
1425
  fetcher: N,
1394
1426
  accessors: P,
@@ -1425,7 +1457,7 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1425
1457
  selecting: me,
1426
1458
  defaultSelecting: he ?? w,
1427
1459
  onSelectingChange: ge
1428
- }), q = Je(se, K.items, K.accessors.getCollection), J = b ? K.tab : "library", $ = K.detailId ? K.items.find((e) => K.accessors.getId(e) === K.detailId) ?? null : null, Ye = ie(qe), Xe = !A?.footer, Ze = Ye && Xe ? /* @__PURE__ */ F(We, {
1460
+ }), q = Ye(se, K.items, K.accessors.getCollection), J = b ? K.tab : "library", Q = K.detailId ? K.items.find((e) => K.accessors.getId(e) === K.detailId) ?? null : null, Xe = ie(Je), Ze = !A?.footer, $ = Xe && Ze ? /* @__PURE__ */ F(Ke, {
1429
1461
  tab: J,
1430
1462
  selectedIds: K.selectedIds,
1431
1463
  selectionMode: g,
@@ -1433,7 +1465,7 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1433
1465
  strings: G,
1434
1466
  onClearSelection: K.clearSelection,
1435
1467
  className: "media-library-dialog--selection-summary shrink-0 justify-end"
1436
- }) : null, Qe = !!(o || c || p || A?.headerStart), $e = !!(b || A?.headerEnd || Ze), et = Qe || $e, tt = () => {
1468
+ }) : null, Qe = !!(o || c || p || A?.headerStart), $e = !!(b || A?.headerEnd || $), et = Qe || $e, tt = () => {
1437
1469
  T?.(K.selectedItems, K.selectedIds), D?.();
1438
1470
  }, nt = () => {
1439
1471
  E?.(), D?.();
@@ -1453,14 +1485,14 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1453
1485
  let e = at.current;
1454
1486
  at.current = null, e?.isConnected && e.focus();
1455
1487
  }, [K.detailId]);
1456
- let ct = K.query.trim(), lt = ct.length > 0 ? H(G.countSearch, {
1488
+ let ct = !K.loading && !!K.error, lt = K.query.trim(), ut = lt.length > 0 ? H(G.countSearch, {
1457
1489
  count: K.filteredCount,
1458
1490
  total: K.totalCount,
1459
- query: ct
1491
+ query: lt
1460
1492
  }) : K.filteredCount === K.totalCount ? H(G.countAll, { count: K.totalCount }) : H(G.countFiltered, {
1461
1493
  count: K.filteredCount,
1462
1494
  total: K.totalCount
1463
- }), ut = !!te && !(Ye || T && !w), dt = oe(null), ft = J === "library" ? K.selectedIds.length : 0, pt = A?.footer ?? (ut && J === "library" ? null : Ye ? /* @__PURE__ */ F(Ge, {
1495
+ }), dt = !!te && !(Xe || T && !w), ft = oe(null), pt = J === "library" ? K.selectedIds.length : 0, mt = A?.footer ?? (dt && J === "library" ? null : Xe ? /* @__PURE__ */ F(qe, {
1464
1496
  tab: J,
1465
1497
  selectedItems: K.selectedItems,
1466
1498
  selectedIds: K.selectedIds,
@@ -1476,7 +1508,7 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1476
1508
  K.cancelUpload(), K.clearStagedFiles(), K.setTab("library");
1477
1509
  },
1478
1510
  className: "ml-auto"
1479
- }) : /* @__PURE__ */ F(Ke, {
1511
+ }) : /* @__PURE__ */ F(Z, {
1480
1512
  tab: J,
1481
1513
  selectedItems: K.selectedItems,
1482
1514
  selectedIds: K.selectedIds,
@@ -1496,7 +1528,7 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1496
1528
  }));
1497
1529
  return /* @__PURE__ */ I("section", {
1498
1530
  ref: it,
1499
- className: r("media-library--component @container/media-library box-border flex min-h-0 flex-col overflow-hidden rounded-radius border border-border bg-background text-foreground", re ?? "h-190 max-h-[calc(100vh-7rem)]", j),
1531
+ className: r("media-library--component @container/media-library box-border flex min-h-0 flex-col overflow-hidden rounded-surface border border-border bg-background text-foreground", re ?? "h-190 max-h-[calc(100vh-7rem)]", j),
1500
1532
  ...ze,
1501
1533
  children: [
1502
1534
  et && /* @__PURE__ */ I("header", {
@@ -1519,7 +1551,7 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1519
1551
  })]
1520
1552
  })]
1521
1553
  }), $e && /* @__PURE__ */ I("div", {
1522
- className: r("media-library--header-controls flex min-w-0 flex-wrap items-center gap-space-md", Ze ? "flex-1 justify-between" : "@2xl/media-library:justify-end"),
1554
+ className: r("media-library--header-controls flex min-w-0 flex-wrap items-center gap-space-md", $ ? "flex-1 justify-between" : "@2xl/media-library:justify-end"),
1523
1555
  children: [/* @__PURE__ */ I(l, {
1524
1556
  direction: "horizontal",
1525
1557
  wrap: !0,
@@ -1566,14 +1598,14 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1566
1598
  ]
1567
1599
  })]
1568
1600
  }), A?.headerEnd]
1569
- }), Ze]
1601
+ }), $]
1570
1602
  })]
1571
1603
  }),
1572
1604
  /* @__PURE__ */ I("div", {
1573
1605
  className: "media-library--body flex min-h-0 flex-1",
1574
1606
  children: [J === "upload" ? /* @__PURE__ */ F("div", {
1575
1607
  className: "min-w-0 flex-1 overflow-y-auto",
1576
- children: /* @__PURE__ */ F(Q, {
1608
+ children: /* @__PURE__ */ F(Ge, {
1577
1609
  stagedFiles: K.stagedFiles,
1578
1610
  uploadOptions: K.uploadOptions,
1579
1611
  collections: q,
@@ -1585,11 +1617,11 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1585
1617
  empty: A?.uploadEmpty
1586
1618
  })
1587
1619
  }) : /* @__PURE__ */ I("div", {
1588
- className: r("media-library--library min-w-0 flex-1 flex-col", $ ? "hidden @2xl/media-library:flex" : "flex"),
1589
- children: [/* @__PURE__ */ I(l, {
1620
+ className: r("media-library--library min-w-0 flex-1 flex-col", Q ? "hidden @2xl/media-library:flex" : "flex"),
1621
+ children: [/* @__PURE__ */ F(l, {
1590
1622
  gap: "md",
1591
1623
  className: "media-library--toolbar border-b border-border/60 p-surface",
1592
- children: [/* @__PURE__ */ F(He, {
1624
+ children: /* @__PURE__ */ F(He, {
1593
1625
  query: K.query,
1594
1626
  type: K.type,
1595
1627
  typeFilters: x,
@@ -1606,43 +1638,60 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1606
1638
  onClearFilters: K.clearFilters,
1607
1639
  toolbarEnd: A?.toolbarEnd,
1608
1640
  selecting: K.selecting,
1609
- onSelectingChange: K.setSelecting
1610
- }), /* @__PURE__ */ F(a, {
1611
- size: "xs",
1612
- type: "secondary",
1613
- "aria-live": "polite",
1614
- children: lt
1615
- })]
1641
+ onSelectingChange: K.setSelecting,
1642
+ disabled: ct,
1643
+ summary: /* @__PURE__ */ F("span", {
1644
+ "aria-live": "polite",
1645
+ className: "media-library--count min-w-0 truncate",
1646
+ children: ct || K.loading ? null : /* @__PURE__ */ F(a, {
1647
+ tag: "span",
1648
+ size: "xs",
1649
+ type: "secondary",
1650
+ children: ut
1651
+ })
1652
+ })
1653
+ })
1616
1654
  }), /* @__PURE__ */ F("div", {
1617
- ref: dt,
1655
+ ref: ft,
1618
1656
  role: "region",
1619
1657
  "aria-label": G.resultsLabel,
1620
1658
  tabIndex: 0,
1621
- className: `media-library--results min-h-0 flex-1 overflow-y-auto p-surface focus-visible:outline-none ${s.inset}`,
1622
- children: K.loading ? A?.loading ?? /* @__PURE__ */ F(d, {
1623
- className: "min-h-64",
1624
- label: G.loading
1625
- }) : K.error ? A?.error ?? /* @__PURE__ */ F(f, {
1626
- title: G.errorTitle,
1627
- description: G.errorDescription
1628
- }) : K.visibleItems.length === 0 ? A?.empty ?? /* @__PURE__ */ F(Y, {
1629
- title: K.hasFilters ? G.emptyFilteredTitle : G.emptyLibraryTitle,
1630
- description: K.hasFilters ? G.emptyFilteredDescription : G.emptyLibraryDescription,
1631
- action: K.hasFilters ? /* @__PURE__ */ F(i, {
1632
- type: "button",
1633
- tone: "secondary",
1634
- buttonStyle: "outline",
1635
- onClick: K.clearFilters,
1636
- children: G.clearFilters
1637
- }) : b ? /* @__PURE__ */ F(i, {
1638
- tone: "primary",
1639
- type: "button",
1640
- onClick: () => K.setTab("upload"),
1641
- children: G.uploadMedia
1642
- }) : void 0
1659
+ className: `media-library--results flex min-h-0 flex-1 flex-col overflow-y-auto p-surface focus-visible:outline-none ${s.inset}`,
1660
+ children: K.loading ? /* @__PURE__ */ F("div", {
1661
+ className: "media-library--state my-auto",
1662
+ children: A?.loading ?? /* @__PURE__ */ F(d, {
1663
+ className: "min-h-64",
1664
+ label: G.loading
1665
+ })
1666
+ }) : ct ? /* @__PURE__ */ F("div", {
1667
+ className: "media-library--state my-auto",
1668
+ children: A?.error ?? /* @__PURE__ */ F(f, {
1669
+ title: G.errorTitle,
1670
+ description: G.errorDescription,
1671
+ onRetry: N ? K.retry : void 0,
1672
+ retryLabel: G.retry ?? Ce.retry
1673
+ })
1674
+ }) : K.visibleItems.length === 0 ? /* @__PURE__ */ F("div", {
1675
+ className: "media-library--state my-auto",
1676
+ children: A?.empty ?? /* @__PURE__ */ F(Y, {
1677
+ title: K.hasFilters ? G.emptyFilteredTitle : G.emptyLibraryTitle,
1678
+ description: K.hasFilters ? G.emptyFilteredDescription : G.emptyLibraryDescription,
1679
+ action: K.hasFilters ? /* @__PURE__ */ F(i, {
1680
+ type: "button",
1681
+ tone: "secondary",
1682
+ buttonStyle: "outline",
1683
+ onClick: K.clearFilters,
1684
+ children: G.clearFilters
1685
+ }) : b ? /* @__PURE__ */ F(i, {
1686
+ tone: "primary",
1687
+ type: "button",
1688
+ onClick: () => K.setTab("upload"),
1689
+ children: G.uploadMedia
1690
+ }) : void 0
1691
+ })
1643
1692
  }) : K.view === "table" ? /* @__PURE__ */ F("div", {
1644
1693
  className: "overflow-x-auto",
1645
- children: /* @__PURE__ */ F(Z, {
1694
+ children: /* @__PURE__ */ F(Ue, {
1646
1695
  items: K.visibleItems,
1647
1696
  selectedSet: K.selectedSet,
1648
1697
  selectionMode: g,
@@ -1688,35 +1737,35 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1688
1737
  })
1689
1738
  })
1690
1739
  })]
1691
- }), J === "library" && /* @__PURE__ */ F(Ue, {
1692
- item: $,
1740
+ }), J === "library" && /* @__PURE__ */ F(We, {
1741
+ item: Q,
1693
1742
  collections: q,
1694
1743
  accessors: K.accessors,
1695
1744
  strings: G,
1696
1745
  onClose: () => K.setDetailId(null),
1697
- onUpdate: (e) => $ ? K.updateItem($, e) : Promise.resolve(!1),
1698
- onReplace: ue && $ ? () => ue($) : void 0,
1746
+ onUpdate: (e) => Q ? K.updateItem(Q, e) : Promise.resolve(!1),
1747
+ onReplace: ue && Q ? () => ue(Q) : void 0,
1699
1748
  onRemove: async () => {
1700
- if (!$) return !1;
1701
- let e = await K.removeItem($);
1749
+ if (!Q) return !1;
1750
+ let e = await K.removeItem(Q);
1702
1751
  return e && K.setDetailId(null), e;
1703
1752
  },
1704
1753
  renderDetail: A?.renderDetail
1705
1754
  })]
1706
1755
  }),
1707
- Ye ? Ye.element ? V(pt, Ye.element) : null : pt,
1708
- ut && /* @__PURE__ */ F(ee, {
1709
- selectedCount: ft,
1756
+ Xe ? Xe.element ? V(mt, Xe.element) : null : mt,
1757
+ dt && /* @__PURE__ */ F(ee, {
1758
+ selectedCount: pt,
1710
1759
  totalCount: K.totalCount,
1711
1760
  onClear: K.clearSelection,
1712
- returnFocusRef: dt,
1761
+ returnFocusRef: ft,
1713
1762
  className: "media-library--bulk-actions",
1714
1763
  strings: {
1715
1764
  label: G.batchActionsLabel,
1716
1765
  summary: (e) => H(G.footer.selectedCount, { count: e }),
1717
1766
  clear: G.footer.clear
1718
1767
  },
1719
- children: ft > 0 && te?.({
1768
+ children: pt > 0 && te?.({
1720
1769
  selectedItems: K.selectedItems,
1721
1770
  selectedIds: K.selectedIds,
1722
1771
  selectedCount: K.selectedIds.length,
@@ -1728,13 +1777,13 @@ function $({ title: o, titleSuffix: c, description: p, confirmLabel: m, cancelLa
1728
1777
  ]
1729
1778
  });
1730
1779
  }
1731
- function Ye({ open: e, onOpenChange: t, trigger: i, dialogTitle: a, dialogDescription: o, onClose: s, className: c, dialogClassName: l, contentClassName: u, closeOnEscape: d = !0, closeOnBackdropClick: f = !0, ...p }) {
1780
+ function Xe({ open: e, onOpenChange: t, trigger: i, dialogTitle: a, dialogDescription: o, onClose: s, className: c, dialogClassName: l, contentClassName: u, closeOnEscape: d = !0, closeOnBackdropClick: f = !0, ...p }) {
1732
1781
  let m = n(Ce, p.strings), [h, _] = P(!1), [v, y] = P(null), b = e !== void 0, x = b ? e : h, S = (e) => {
1733
1782
  b || _(e), t?.(e);
1734
1783
  }, C = () => {
1735
1784
  S(!1), s?.();
1736
1785
  };
1737
- return /* @__PURE__ */ F(qe.Provider, {
1786
+ return /* @__PURE__ */ F(Je.Provider, {
1738
1787
  value: { element: v },
1739
1788
  children: /* @__PURE__ */ F(g, {
1740
1789
  open: x,
@@ -1754,7 +1803,7 @@ function Ye({ open: e, onOpenChange: t, trigger: i, dialogTitle: a, dialogDescri
1754
1803
  contentClassName: r("media-library-dialog--body flex min-h-0 flex-col overflow-hidden p-0", u),
1755
1804
  closeOnBackdropClick: f,
1756
1805
  closeOnEscape: d,
1757
- children: /* @__PURE__ */ F($, {
1806
+ children: /* @__PURE__ */ F(Q, {
1758
1807
  ...p,
1759
1808
  defaultSelecting: p.defaultSelecting ?? !0,
1760
1809
  onClose: C,
@@ -1767,12 +1816,12 @@ function Ye({ open: e, onOpenChange: t, trigger: i, dialogTitle: a, dialogDescri
1767
1816
  }
1768
1817
  //#endregion
1769
1818
  //#region src/components/features/media-library/media-resource-gallery.tsx
1770
- function Xe(e, t, n) {
1819
+ function Ze(e, t, n) {
1771
1820
  let r = e.slice(), [i] = r.splice(t, 1);
1772
1821
  return i === void 0 || r.splice(n, 0, i), r;
1773
1822
  }
1774
- function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, onPrimaryChange: u, onRemove: d, onReorder: f, onAdd: p, maxItems: h, layout: g = "field", density: v = "comfortable", readOnly: b = !1, empty: x, action: S, renderItem: ee, strings: w, className: T, ...E }) {
1775
- let D = n(Ce, w), O = De(t), k = e.length, ne = c ?? (k > 0 ? O.getId(e[0]) : void 0), A = !b && !!p && (h === void 0 || k < h), re = A && (g === "field" || k > 0) ? /* @__PURE__ */ F(i, {
1823
+ function $({ items: e, accessors: t, title: o, description: s, primaryId: c, onPrimaryChange: u, onRemove: d, onReorder: f, onAdd: p, maxItems: h, layout: g = "field", density: v = "comfortable", readOnly: b = !1, empty: x, action: S, renderItem: ee, strings: w, className: T, ...E }) {
1824
+ let D = n(Ce, w), O = De(t), k = e.length, ne = c ?? (k > 0 ? O.getId(e[0]) : void 0), A = !b && !!p && (h === void 0 || k < h), re = !b && !!u, j = !b && !!d, M = !b && !!f, ie = re || j || M, ae = A && (g === "field" || k > 0) ? /* @__PURE__ */ F(i, {
1776
1825
  type: "button",
1777
1826
  tone: "secondary",
1778
1827
  buttonStyle: "outline",
@@ -1782,11 +1831,11 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
1782
1831
  }) : h !== void 0 && k >= h ? /* @__PURE__ */ F(C, {
1783
1832
  tone: "secondary",
1784
1833
  children: D.gallery.maxReached
1785
- }) : null, j = (t, n) => {
1786
- if (n < 0 || n >= k || t === n) return;
1787
- let r = Xe(e, t, n);
1834
+ }) : null, N = (t, n) => {
1835
+ if (!M || n < 0 || n >= k || t === n) return;
1836
+ let r = Ze(e, t, n);
1788
1837
  f?.(r.map((e) => O.getId(e)), r);
1789
- }, M = !!(o || s || S || re), ie = k === 0 && g !== "field", ae = () => !A || g !== "field" ? null : /* @__PURE__ */ I("button", {
1838
+ }, oe = !!(o || s || S || ae), P = k === 0 && g !== "field", R = () => !A || g !== "field" ? null : /* @__PURE__ */ I("button", {
1790
1839
  type: "button",
1791
1840
  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 ${te.hover}`),
1792
1841
  "aria-label": D.gallery.addTile,
@@ -1799,11 +1848,11 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
1799
1848
  })]
1800
1849
  });
1801
1850
  return /* @__PURE__ */ I("section", {
1802
- className: r("media-resource-gallery--component @container/media-resource-gallery rounded-radius border border-border bg-card text-card-foreground shadow-xs", T),
1851
+ className: r("media-resource-gallery--component @container/media-resource-gallery rounded-surface border border-border bg-card text-card-foreground shadow-xs", T),
1803
1852
  "data-layout": g,
1804
1853
  "data-gallery-density": v,
1805
1854
  ...E,
1806
- children: [M && /* @__PURE__ */ F("header", {
1855
+ children: [oe && /* @__PURE__ */ F("header", {
1807
1856
  className: "media-resource-gallery--header p-surface",
1808
1857
  children: /* @__PURE__ */ I(l, {
1809
1858
  direction: {
@@ -1831,10 +1880,10 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
1831
1880
  align: "center",
1832
1881
  gap: m.commands,
1833
1882
  className: "media-resource-gallery--actions",
1834
- children: S ?? re
1883
+ children: S ?? ae
1835
1884
  })]
1836
1885
  })
1837
- }), ie ? /* @__PURE__ */ F("div", {
1886
+ }), P ? /* @__PURE__ */ F("div", {
1838
1887
  className: "media-resource-gallery--empty px-surface pb-surface",
1839
1888
  children: x ?? /* @__PURE__ */ F(Y, {
1840
1889
  title: D.gallery.emptyTitle,
@@ -1848,22 +1897,26 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
1848
1897
  }) : void 0
1849
1898
  })
1850
1899
  }) : /* @__PURE__ */ I("div", {
1851
- className: r("grid min-w-0 grid-cols-1", g === "list" ? "gap-space-md" : "gap-space-lg", "media-resource-gallery--items p-surface", M && "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))]" : v === "compact" ? "grid-cols-[repeat(auto-fill,minmax(132px,1fr))]" : "grid-cols-[repeat(auto-fill,minmax(164px,1fr))]"),
1900
+ className: r("grid min-w-0 grid-cols-1", g === "list" ? "gap-space-md" : "gap-space-lg", "media-resource-gallery--items p-surface", oe && "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))]" : v === "compact" ? "grid-cols-[repeat(auto-fill,minmax(132px,1fr))]" : "grid-cols-[repeat(auto-fill,minmax(164px,1fr))]"),
1852
1901
  children: [e.map((e, t) => {
1853
- let n = O.getId(e), o = O.getName(e), s = O.getType(e), c = O.getSrc(e), f = O.getAlt(e) || o, p = n === ne, m = O.getPublic(e) === !1, h = O.getDuration(e), x = t > 0, S = t < k - 1, w = ee?.(e, {
1902
+ let n = O.getId(e), o = O.getName(e), s = O.getType(e), c = O.getSrc(e), f = O.getAlt(e) || o, p = n === ne, m = O.getPublic(e) === !1, h = O.getDuration(e), b = M && t > 0, x = M && t < k - 1, S = ee?.(e, {
1854
1903
  id: n,
1855
1904
  index: t,
1856
1905
  total: k,
1857
1906
  primary: p,
1858
1907
  accessors: O,
1859
- canMovePrevious: x,
1860
- canMoveNext: S,
1861
- setPrimary: () => u?.(n, e),
1862
- remove: () => d?.(n, e),
1863
- movePrevious: () => j(t, t - 1),
1864
- moveNext: () => j(t, t + 1)
1908
+ canMovePrevious: b,
1909
+ canMoveNext: x,
1910
+ setPrimary: () => {
1911
+ re && u?.(n, e);
1912
+ },
1913
+ remove: () => {
1914
+ j && d?.(n, e);
1915
+ },
1916
+ movePrevious: () => N(t, t - 1),
1917
+ moveNext: () => N(t, t + 1)
1865
1918
  });
1866
- return w ? /* @__PURE__ */ F("div", { children: w }, n) : g === "field" ? /* @__PURE__ */ I("div", {
1919
+ return S ? /* @__PURE__ */ F("div", { children: S }, n) : g === "field" ? /* @__PURE__ */ I("div", {
1867
1920
  className: r("media-resource-gallery--item group/gallery relative aspect-square overflow-hidden rounded-radius border border-border bg-background text-foreground shadow-xs", `transition-colors ${_.tileHover}`, p && "col-span-2 row-span-2 min-h-52"),
1868
1921
  "data-primary": p || void 0,
1869
1922
  children: [
@@ -1890,7 +1943,7 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
1890
1943
  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",
1891
1944
  children: /* @__PURE__ */ F(me, { className: "size-icon-sm" })
1892
1945
  }),
1893
- !b && /* @__PURE__ */ F(i, {
1946
+ j && /* @__PURE__ */ F(i, {
1894
1947
  type: "button",
1895
1948
  tone: "secondary",
1896
1949
  buttonStyle: "solid",
@@ -1911,7 +1964,7 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
1911
1964
  "data-primary": p || void 0,
1912
1965
  children: [
1913
1966
  /* @__PURE__ */ F("div", {
1914
- className: "relative size-12 shrink-0 overflow-hidden rounded-inner bg-muted",
1967
+ className: "relative size-12 shrink-0 overflow-hidden rounded-radius bg-muted",
1915
1968
  children: c ? /* @__PURE__ */ F("img", {
1916
1969
  src: c,
1917
1970
  alt: f,
@@ -1942,25 +1995,21 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
1942
1995
  }), /* @__PURE__ */ I(a, {
1943
1996
  size: "xs",
1944
1997
  type: "secondary",
1945
- children: [
1946
- H(D.gallery.itemPosition, {
1947
- index: t + 1,
1948
- total: k
1949
- }),
1950
- " · ",
1951
- /* @__PURE__ */ F(y, {
1952
- value: O.getSize(e),
1953
- size: "xs",
1954
- align: "left",
1955
- emptyLabel: D.unknownSize
1956
- })
1957
- ]
1998
+ children: [H(D.gallery.itemPosition, {
1999
+ index: t + 1,
2000
+ total: k
2001
+ }), O.getSize(e) !== void 0 && /* @__PURE__ */ I(se, { children: [" · ", /* @__PURE__ */ F(y, {
2002
+ value: O.getSize(e),
2003
+ size: "xs",
2004
+ align: "left",
2005
+ emptyLabel: D.unknownSize
2006
+ })] })]
1958
2007
  })]
1959
2008
  }),
1960
- !b && /* @__PURE__ */ I("div", {
2009
+ ie && /* @__PURE__ */ I("div", {
1961
2010
  className: "media-resource-gallery--item-actions flex basis-full flex-wrap items-center justify-end gap-space-xs @sm/media-resource-gallery:basis-auto",
1962
2011
  children: [
1963
- /* @__PURE__ */ F(i, {
2012
+ re && /* @__PURE__ */ F(i, {
1964
2013
  type: "button",
1965
2014
  tone: "secondary",
1966
2015
  buttonStyle: "ghost",
@@ -1971,29 +2020,29 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
1971
2020
  onClick: () => u?.(n, e),
1972
2021
  children: /* @__PURE__ */ F(ve, { className: "size-icon-md" })
1973
2022
  }),
1974
- /* @__PURE__ */ F(i, {
2023
+ M && /* @__PURE__ */ F(i, {
1975
2024
  type: "button",
1976
2025
  tone: "secondary",
1977
2026
  buttonStyle: "ghost",
1978
2027
  size: "sm",
1979
2028
  iconOnly: !0,
1980
- disabled: !x,
2029
+ disabled: !b,
1981
2030
  "aria-label": D.gallery.movePrevious,
1982
- onClick: () => j(t, t - 1),
2031
+ onClick: () => N(t, t - 1),
1983
2032
  children: /* @__PURE__ */ F(L, { className: "size-icon-md" })
1984
2033
  }),
1985
- /* @__PURE__ */ F(i, {
2034
+ M && /* @__PURE__ */ F(i, {
1986
2035
  type: "button",
1987
2036
  tone: "secondary",
1988
2037
  buttonStyle: "ghost",
1989
2038
  size: "sm",
1990
2039
  iconOnly: !0,
1991
- disabled: !S,
2040
+ disabled: !x,
1992
2041
  "aria-label": D.gallery.moveNext,
1993
- onClick: () => j(t, t + 1),
2042
+ onClick: () => N(t, t + 1),
1994
2043
  children: /* @__PURE__ */ F(ce, { className: "size-icon-md" })
1995
2044
  }),
1996
- /* @__PURE__ */ F(i, {
2045
+ j && /* @__PURE__ */ F(i, {
1997
2046
  type: "button",
1998
2047
  tone: "destructive",
1999
2048
  buttonStyle: "ghost",
@@ -2015,7 +2064,7 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
2015
2064
  src: c,
2016
2065
  alt: f,
2017
2066
  loading: "lazy",
2018
- className: "size-full object-cover"
2067
+ className: "size-full object-contain"
2019
2068
  }) : /* @__PURE__ */ F("div", {
2020
2069
  className: "flex size-full items-center justify-center text-muted-foreground",
2021
2070
  children: /* @__PURE__ */ F(z, { className: "size-6" })
@@ -2045,16 +2094,16 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
2045
2094
  weight: "semibold",
2046
2095
  className: "truncate",
2047
2096
  children: o
2048
- }), /* @__PURE__ */ F(y, {
2097
+ }), O.getSize(e) !== void 0 && /* @__PURE__ */ F(y, {
2049
2098
  value: O.getSize(e),
2050
2099
  size: "xs",
2051
2100
  align: "left",
2052
2101
  emptyLabel: D.unknownSize
2053
2102
  })]
2054
- }), !b && /* @__PURE__ */ I("div", {
2103
+ }), ie && /* @__PURE__ */ I("div", {
2055
2104
  className: "flex items-center gap-space-xs",
2056
2105
  children: [
2057
- /* @__PURE__ */ F(i, {
2106
+ re && /* @__PURE__ */ F(i, {
2058
2107
  type: "button",
2059
2108
  tone: "secondary",
2060
2109
  buttonStyle: "ghost",
@@ -2065,29 +2114,29 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
2065
2114
  onClick: () => u?.(n, e),
2066
2115
  children: /* @__PURE__ */ F(ve, { className: "size-icon-md" })
2067
2116
  }),
2068
- /* @__PURE__ */ F(i, {
2117
+ M && /* @__PURE__ */ F(i, {
2069
2118
  type: "button",
2070
2119
  tone: "secondary",
2071
2120
  buttonStyle: "ghost",
2072
2121
  size: "sm",
2073
2122
  iconOnly: !0,
2074
- disabled: !x,
2123
+ disabled: !b,
2075
2124
  "aria-label": D.gallery.movePrevious,
2076
- onClick: () => j(t, t - 1),
2125
+ onClick: () => N(t, t - 1),
2077
2126
  children: /* @__PURE__ */ F(L, { className: "size-icon-md" })
2078
2127
  }),
2079
- /* @__PURE__ */ F(i, {
2128
+ M && /* @__PURE__ */ F(i, {
2080
2129
  type: "button",
2081
2130
  tone: "secondary",
2082
2131
  buttonStyle: "ghost",
2083
2132
  size: "sm",
2084
2133
  iconOnly: !0,
2085
- disabled: !S,
2134
+ disabled: !x,
2086
2135
  "aria-label": D.gallery.moveNext,
2087
- onClick: () => j(t, t + 1),
2136
+ onClick: () => N(t, t + 1),
2088
2137
  children: /* @__PURE__ */ F(ce, { className: "size-icon-md" })
2089
2138
  }),
2090
- /* @__PURE__ */ F(i, {
2139
+ j && /* @__PURE__ */ F(i, {
2091
2140
  type: "button",
2092
2141
  tone: "destructive",
2093
2142
  buttonStyle: "ghost",
@@ -2103,11 +2152,11 @@ function Ze({ items: e, accessors: t, title: o, description: s, primaryId: c, on
2103
2152
  })
2104
2153
  })]
2105
2154
  }, n);
2106
- }), ae()]
2155
+ }), R()]
2107
2156
  })]
2108
2157
  });
2109
2158
  }
2110
2159
  //#endregion
2111
- export { $ as MediaLibrary, X as MediaLibraryCard, Ue as MediaLibraryDetailPanel, Ye as MediaLibraryDialog, Y as MediaLibraryEmptyState, Ke as MediaLibraryFooter, Z as MediaLibraryList, He as MediaLibraryToolbar, Q as MediaLibraryUploadPanel, Ze as MediaResourceGallery, Ce as defaultMediaLibraryStrings, Oe as formatMediaLibrarySize, H as formatMediaLibraryString, ke as getMediaLibraryDimensions, De as resolveMediaLibraryAccessors, Re as useMediaLibrary };
2160
+ export { Q as MediaLibrary, X as MediaLibraryCard, We as MediaLibraryDetailPanel, Xe as MediaLibraryDialog, Y as MediaLibraryEmptyState, Z as MediaLibraryFooter, Ue as MediaLibraryList, He as MediaLibraryToolbar, Ge as MediaLibraryUploadPanel, $ as MediaResourceGallery, Ce as defaultMediaLibraryStrings, Oe as formatMediaLibrarySize, H as formatMediaLibraryString, ke as getMediaLibraryDimensions, De as resolveMediaLibraryAccessors, Re as useMediaLibrary };
2112
2161
 
2113
2162
  //# sourceMappingURL=media-library.js.map