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,15 +1,15 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "./lib/strings.js";
3
- import { t } from "./utils-CF3c95Io.js";
4
- import { c as n, o as r, s as i } from "./typography-CSyJrh28.js";
3
+ import { t } from "./utils-B6kKb8jB.js";
4
+ import { c as n, o as r, s as i } from "./typography-BQnine1k.js";
5
5
  import { n as a, t as o } from "./text.styles-B64My8RZ.js";
6
6
  import { t as s } from "./focus-recipes-B653VaLq.js";
7
- import { t as c } from "./structure-C0V0_Fyf.js";
8
- import { t as l } from "./smart-card-CqkzQsK-.js";
7
+ import { t as c } from "./structure-DuxKl954.js";
8
+ import { t as l } from "./smart-card-CW0hjetE.js";
9
9
  import { n as u, t as d } from "./composition.recipes-COdiFhxB.js";
10
10
  import { t as f } from "./interaction-recipes-XR9ZpVYL.js";
11
- import { t as p } from "./badge-DErMA7ul.js";
12
- import { n as m, t as h } from "./page-header-commands-DFMlNYzN.js";
11
+ import { t as p } from "./badge-xIiV_E7f.js";
12
+ import { n as m, t as h } from "./page-header-commands-7P3sfE9u.js";
13
13
  import { n as g } from "./layout.types-Cn7aUzJp.js";
14
14
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
15
15
  //#region src/components/layout/settings/settings.tsx
@@ -30,24 +30,24 @@ function x(e, t, n) {
30
30
  let r = b(n), i = b(e.href);
31
31
  return r === i || r.startsWith(`${i}/`);
32
32
  }
33
- function S({ title: b, description: S, groups: C, currentId: w, currentPath: T, children: E, aside: D, actions: O, primaryAction: k, secondaryActions: A, moreActionsLabel: j = "More actions", footer: M, className: N, navClassName: P, contentClassName: F, renderLink: I, strings: L }) {
34
- let R = e(y, L), z = g({ renderLink: I }), B = m(k, A);
33
+ function S({ title: b, description: S, groups: C, currentId: w, currentPath: T, children: E, aside: D, actions: O, primaryAction: k, secondaryActions: A, maxVisibleSecondaryActions: j, moreActionsLabel: M = "More actions", footer: N, className: P, navClassName: F, contentClassName: I, renderLink: L, strings: R }) {
34
+ let z = e(y, R), B = g({ renderLink: L }), V = m(k, A);
35
35
  return /* @__PURE__ */ v("section", {
36
36
  "data-component": "aside-nav-shell",
37
37
  "data-slot": "aside-nav-shell",
38
- className: t("aside-nav-shell--component grid min-w-0 lg:grid-cols-[17rem_minmax(0,1fr)]", d.subjects, N),
38
+ className: t("aside-nav-shell--component grid min-w-0 lg:grid-cols-[17rem_minmax(0,1fr)]", d.subjects, P),
39
39
  children: [/* @__PURE__ */ _("aside", {
40
40
  "data-slot": "aside-nav-shell-aside",
41
41
  className: "aside-nav-shell--aside min-w-0",
42
42
  children: /* @__PURE__ */ v(l, {
43
43
  surface: "card",
44
- className: t("aside-nav-shell--nav-card sticky top-[calc(var(--shell-header-height)_+_1rem*var(--space-scale))]", P),
44
+ className: t("aside-nav-shell--nav-card sticky top-0", F),
45
45
  contentClassName: "grid gap-space-xl",
46
46
  children: [!!D && /* @__PURE__ */ _("div", {
47
47
  className: "aside-nav-shell--aside-header",
48
48
  children: D
49
49
  }), /* @__PURE__ */ _(c, {
50
- render: /* @__PURE__ */ _("nav", { "aria-label": R.navigationAriaLabel }),
50
+ render: /* @__PURE__ */ _("nav", { "aria-label": z.navigationAriaLabel }),
51
51
  gap: "xl",
52
52
  children: C.map((e) => /* @__PURE__ */ v(c, {
53
53
  gap: "sm",
@@ -74,13 +74,13 @@ function S({ title: b, description: S, groups: C, currentId: w, currentPath: T,
74
74
  tag: "span",
75
75
  type: "inherit",
76
76
  weight: i ? "semibold" : "medium",
77
- className: "truncate",
77
+ className: "[overflow-wrap:anywhere]",
78
78
  children: e.label
79
79
  }), !!e.description && /* @__PURE__ */ _(n, {
80
80
  tag: "span",
81
81
  size: "xs",
82
82
  type: "secondary",
83
- className: "truncate",
83
+ className: "[overflow-wrap:anywhere]",
84
84
  children: e.description
85
85
  })]
86
86
  }),
@@ -95,13 +95,13 @@ function S({ title: b, description: S, groups: C, currentId: w, currentPath: T,
95
95
  onClick: () => {
96
96
  e.disabled || e.onSelect?.(e.id);
97
97
  },
98
- children: z({
98
+ children: B({
99
99
  href: e.href,
100
100
  children: a,
101
101
  active: i,
102
102
  disabled: e.disabled,
103
103
  external: e.external,
104
- className: t("aside-nav-shell--item flex min-w-0 rounded-inner px-row-x py-row-y transition-colors", `focus-visible:outline-none ${s.edge}`, i ? f.rowSelected : `text-inherit ${f.rowHover}`, e.disabled && "pointer-events-none opacity-50"),
104
+ className: t("aside-nav-shell--item flex min-w-0 rounded-radius px-row-x py-row-y transition-colors", `focus-visible:outline-none ${s.edge}`, i ? f.rowSelected : `text-inherit ${f.rowHover}`, e.disabled && "pointer-events-none opacity-50"),
105
105
  "aria-label": typeof e.label == "string" ? e.label : void 0
106
106
  })
107
107
  }, e.id);
@@ -113,21 +113,13 @@ function S({ title: b, description: S, groups: C, currentId: w, currentPath: T,
113
113
  }), /* @__PURE__ */ v(c, {
114
114
  gap: u.subjects,
115
115
  "data-slot": "aside-nav-shell-main",
116
- className: t("aside-nav-shell--main", F),
116
+ className: t("aside-nav-shell--main", I),
117
117
  children: [
118
- (b || S || O || B) && /* @__PURE__ */ v(c, {
119
- render: /* @__PURE__ */ _("header", {}),
120
- direction: {
121
- base: "vertical",
122
- sm: "horizontal"
123
- },
124
- gap: "lg",
125
- align: { sm: "start" },
126
- justify: { sm: "between" },
127
- className: "aside-nav-shell--header",
118
+ (b || S || O || V) && /* @__PURE__ */ v("header", {
119
+ className: "aside-nav-shell--header page-header--component @container/page-header flex min-w-0 flex-wrap items-start justify-between gap-x-space-xl gap-y-space-lg",
128
120
  children: [/* @__PURE__ */ v(c, {
129
121
  gap: "normal",
130
- className: "min-w-0 flex-1",
122
+ className: "aside-nav-shell--copy min-w-0 flex-1 basis-48 @min-[40rem]/page-header:basis-96",
131
123
  children: [!!b && /* @__PURE__ */ _(i, {
132
124
  tag: "h2",
133
125
  size: a.subject,
@@ -135,32 +127,33 @@ function S({ title: b, description: S, groups: C, currentId: w, currentPath: T,
135
127
  children: b
136
128
  }), !!S && /* @__PURE__ */ _(n, {
137
129
  ...o.structuralDescription,
138
- className: "max-w-3xl",
130
+ className: "aside-nav-shell--description max-w-3xl",
139
131
  children: S
140
132
  })]
141
- }), !!(O || B) && /* @__PURE__ */ v(c, {
133
+ }), !!(O || V) && /* @__PURE__ */ v(c, {
142
134
  direction: "horizontal",
143
135
  wrap: !0,
144
136
  align: "center",
145
- justify: B ? "end" : void 0,
137
+ justify: V ? "end" : void 0,
146
138
  gap: u.commands,
147
- className: "aside-nav-shell--actions shrink-0",
148
- children: [O, B && /* @__PURE__ */ _(h, {
139
+ className: "aside-nav-shell--actions max-w-full shrink-0",
140
+ children: [O, V && /* @__PURE__ */ _(h, {
149
141
  primaryAction: k,
150
142
  secondaryActions: A,
151
- moreActionsLabel: j,
152
- renderLink: z
143
+ maxVisibleSecondaryActions: j,
144
+ moreActionsLabel: M,
145
+ renderLink: B
153
146
  })]
154
147
  })]
155
148
  }),
156
149
  /* @__PURE__ */ _("div", {
157
150
  "data-slot": "aside-nav-shell-content",
158
- className: "aside-nav-shell--content min-w-0",
151
+ className: t("aside-nav-shell--content flex min-w-0 flex-col", d.subjects),
159
152
  children: E
160
153
  }),
161
- !!M && /* @__PURE__ */ _("footer", {
154
+ !!N && /* @__PURE__ */ _("footer", {
162
155
  className: "aside-nav-shell--footer",
163
- children: M
156
+ children: N
164
157
  })
165
158
  ]
166
159
  })]
@@ -171,4 +164,4 @@ S.displayName = "AsideNavShell";
171
164
  //#endregion
172
165
  export { C as n, y as r, S as t };
173
166
 
174
- //# sourceMappingURL=settings-BA2iboic.js.map
167
+ //# sourceMappingURL=settings-Bar5wiSo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-Bar5wiSo.js","names":["Text","DisplayLabel","Heading","headingRoleSizes","copyRoleProps","focusRecipes","Stack","Card","compositionRhythm","compositionClasses","interactionRecipes","Badge","hasPageHeaderCommands","PageHeaderCommands","resolveLayoutLinkRenderer","defaultAsideNavShellStrings","normalizePath","rawUrl","baseOrigin","trimmed","isActiveItem","currentId","item","currentPath","activePath","itemPath","AsideNavShell","stringsProp","strings","useStrings","linkRenderer","hasCommands","primaryAction","secondaryActions","cn","className","navClassName","aside","groups","group","Icon","active","content","contentClassName","title","description","actions","footer","SettingsShell"],"sources":["../src/components/layout/settings/settings.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react';\n\nimport { Badge } from '../../base/badge';\nimport { Card } from '../../base/cards';\nimport { Stack } from '../../base/structure';\nimport {compositionClasses, compositionRhythm} from '../../base/structure/composition.recipes';\nimport { hasPageHeaderCommands, PageHeaderCommands, type PageHeaderAction } from '../../base/navigation/page-header/page-header-commands';\nimport { DisplayLabel, Heading, Text } from '../../typography';\nimport {copyRoleProps, headingRoleSizes} from '../../typography/text.styles';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport {\n\tresolveLayoutLinkRenderer,\n\ttype LayoutNavigationAdapter,\n} from '../layout.types';\nimport { focusRecipes } from '../../../lib/focus-recipes';\nimport { interactionRecipes } from '../../../lib/interaction-recipes';\n\nexport interface AsideNavShellStrings {\n\tnavigationAriaLabel: string;\n}\n\nexport const defaultAsideNavShellStrings: AsideNavShellStrings = {\n\tnavigationAriaLabel: 'Settings navigation',\n};\n\nexport interface AsideNavItem {\n\tid: string;\n\t/** Display label. */\n\tlabel: ReactNode;\n\t/** Destination for the entry, when it navigates. */\n\thref?: string;\n\t/** Supporting copy under the title. */\n\tdescription?: ReactNode;\n\t/** Leading glyph. */\n\ticon?: ComponentType<{ className?: string }>;\n\t/** Chip rendered beside the label. */\n\tbadge?: ReactNode;\n\t/** Disables the control. */\n\tdisabled?: boolean;\n\texternal?: boolean;\n\tonSelect?: (id: string) => void;\n}\n\nexport interface AsideNavGroup {\n\tid: string;\n\t/** Display label. */\n\tlabel?: ReactNode;\n\t/** Entries to render, in order. */\n\titems: AsideNavItem[];\n}\n\nexport interface AsideNavShellProps extends LayoutNavigationAdapter {\n\t/** Surface title. */\n\ttitle?: ReactNode;\n\t/** Supporting copy under the title. */\n\tdescription?: ReactNode;\n\t/** Sections of the settings navigation. */\n\tgroups: AsideNavGroup[];\n\t/** Id of the active entry. */\n\tcurrentId?: string;\n\t/** Path of the active route. */\n\tcurrentPath?: string;\n\tchildren?: ReactNode;\n\t/** Content beside the main settings panel. */\n\taside?: ReactNode;\n\t/**\n\t * Non-command controls beside the title, such as a scope select. They\n\t * render before the role-based commands.\n\t */\n\tactions?: ReactNode;\n\t/** The page's one main command: a solid primary button, available in the compact header menu. */\n\tprimaryAction?: PageHeaderAction;\n\t/**\n\t * Supporting commands in priority order, as in Page headers: the first two\n\t * render as outline buttons before the primary command; the rest, and every\n\t * destructive command, move into the More actions menu, which closes the row.\n\t */\n\tsecondaryActions?: readonly PageHeaderAction[];\n\t/**\n\t * How many routine secondary commands render as outline buttons on wide\n\t * headers; later ones join the More actions menu. Use `1` or `0` when long\n\t * labels beside the primary command would crowd the header; `Infinity`\n\t * keeps every routine command inline. @default 2\n\t */\n\tmaxVisibleSecondaryActions?: number;\n\t/** Accessible name of the More actions menu trigger. Default: `'More actions'`. */\n\tmoreActionsLabel?: string;\n\t/** Content below the body. */\n\tfooter?: ReactNode;\n\tclassName?: string;\n\t/** Merged onto the navigation region. */\n\tnavClassName?: string;\n\t/** Merged onto the content region. */\n\tcontentClassName?: string;\n\t/** Overrides this surface's own copy. */\n\tstrings?: StringsProp<AsideNavShellStrings>;\n}\n\nexport type SettingsShellProps = AsideNavShellProps;\n\nfunction normalizePath(rawUrl?: string): string {\n\tif (!rawUrl) return '';\n\ttry {\n\t\tconst baseOrigin = typeof window !== 'undefined' ? window.location.origin : 'http://localhost';\n\t\tconst parsed = new URL(rawUrl, baseOrigin);\n\t\tconst trimmed = parsed.pathname.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t} catch {\n\t\tconst clean = rawUrl.split('?')[0] ?? rawUrl;\n\t\tconst trimmed = clean.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t}\n}\n\nfunction isActiveItem(item: AsideNavItem, currentId?: string, currentPath?: string): boolean {\n\tif (currentId) return item.id === currentId;\n\tif (!currentPath || !item.href) return false;\n\tconst activePath = normalizePath(currentPath);\n\tconst itemPath = normalizePath(item.href);\n\treturn activePath === itemPath || activePath.startsWith(`${itemPath}/`);\n}\n\nexport function AsideNavShell({\n\ttitle,\n\tdescription,\n\tgroups,\n\tcurrentId,\n\tcurrentPath,\n\tchildren,\n\taside,\n\tactions,\n\tprimaryAction,\n\tsecondaryActions,\n\tmaxVisibleSecondaryActions,\n\tmoreActionsLabel = 'More actions',\n\tfooter,\n\tclassName,\n\tnavClassName,\n\tcontentClassName,\n\trenderLink,\n\tstrings: stringsProp,\n}: AsideNavShellProps) {\n\tconst strings = useStrings(defaultAsideNavShellStrings, stringsProp);\n\tconst linkRenderer = resolveLayoutLinkRenderer({ renderLink });\n\tconst hasCommands = hasPageHeaderCommands(primaryAction, secondaryActions);\n\n\treturn (\n\t\t<section\n\t\t\tdata-component=\"aside-nav-shell\"\n\t\t\tdata-slot=\"aside-nav-shell\"\n\t\t\tclassName={cn('aside-nav-shell--component grid min-w-0 lg:grid-cols-[17rem_minmax(0,1fr)]', compositionClasses.subjects, className)}\n\t\t>\n\t\t\t<aside data-slot=\"aside-nav-shell-aside\" className=\"aside-nav-shell--aside min-w-0\">\n\t\t\t\t{/* PageViewport scrolls below the application header, so no header offset\n\t\t\t\t applies. A zero offset keeps the card level with the section header at\n\t\t\t\t rest even when the shell starts its scroll container: any larger offset\n\t\t\t\t would push the card down there before anything scrolled. */}\n\t\t\t\t<Card\n\t\t\t\t\tsurface=\"card\"\n\t\t\t\t\tclassName={cn('aside-nav-shell--nav-card sticky top-0', navClassName)}\n\t\t\t\t\tcontentClassName=\"grid gap-space-xl\"\n\t\t\t\t>\n\t\t\t\t\t{!!aside && <div className=\"aside-nav-shell--aside-header\">{aside}</div>}\n\t\t\t\t\t<Stack render={<nav aria-label={strings.navigationAriaLabel} />} gap=\"xl\">\n\t\t\t\t\t\t{groups.map((group) => (\n\t\t\t\t\t\t\t<Stack key={group.id} gap=\"sm\">\n\t\t\t\t\t\t\t\t{!!group.label && (\n\t\t\t\t\t\t\t\t\t<DisplayLabel className=\"px-row-x text-inherit\">\n\t\t\t\t\t\t\t\t\t\t{group.label}\n\t\t\t\t\t\t\t\t\t</DisplayLabel>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Stack gap=\"2xs\">\n\t\t\t\t\t\t\t\t\t{group.items.map((item) => {\n\t\t\t\t\t\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\t\t\t\t\t\tconst active = isActiveItem(item, currentId, currentPath);\n\t\t\t\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t\t\t\t<Stack direction=\"horizontal\" align=\"start\" gap=\"md\" wrap={false} render={<span />} className=\"min-w-0 w-full\">\n\t\t\t\t\t\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'size-icon shrink-0 mt-space-2xs',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactive ? 'text-accent-foreground' : 'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{/* Labels and descriptions wrap: the navigation column is narrow,\n\t\t\t\t\t\t\t\t\t\t\t\t and a clipped description loses the copy it exists for. */}\n\t\t\t\t\t\t\t\t\t\t\t\t<Stack render={<span />} gap=\"dense\" className=\"min-w-0 flex-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" type=\"inherit\" weight={active ? 'semibold' : 'medium'} className=\"[overflow-wrap:anywhere]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{!!item.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"[overflow-wrap:anywhere]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Badge tone=\"secondary\" className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div key={item.id} onClick={() => { if (!item.disabled) item.onSelect?.(item.id); }}>\n\t\t\t\t\t\t\t\t\t\t\t\t{linkRenderer({\n\t\t\t\t\t\t\t\t\t\t\t\t\thref: item.href,\n\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: content,\n\t\t\t\t\t\t\t\t\t\t\t\t\tactive,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled: item.disabled,\n\t\t\t\t\t\t\t\t\t\t\t\t\texternal: item.external,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'aside-nav-shell--item flex min-w-0 rounded-radius px-row-x py-row-y transition-colors',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`focus-visible:outline-none ${focusRecipes.edge}`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactive\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? interactionRecipes.rowSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `text-inherit ${interactionRecipes.rowHover}`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.disabled && 'pointer-events-none opacity-50',\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-label': typeof item.label === 'string' ? item.label : undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Stack>\n\t\t\t\t</Card>\n\t\t\t</aside>\n\n\t\t\t\t<Stack gap={compositionRhythm.subjects} data-slot=\"aside-nav-shell-main\" className={cn('aside-nav-shell--main', contentClassName)}>\n\t\t\t\t{(title || description || actions || hasCommands) && (\n\t\t\t\t\t// The header is the commands' `page-header` container, as in PageHeader:\n\t\t\t\t\t// below 40rem of its own width the commands collapse into More actions.\n\t\t\t\t\t// Actions sit beside the copy only while the copy keeps a readable\n\t\t\t\t\t// measure (12rem, or 24rem once inline commands show); otherwise they\n\t\t\t\t\t// wrap below it instead of squeezing the description.\n\t\t\t\t\t<header className=\"aside-nav-shell--header page-header--component @container/page-header flex min-w-0 flex-wrap items-start justify-between gap-x-space-xl gap-y-space-lg\">\n\t\t\t\t\t\t<Stack gap=\"normal\" className=\"aside-nav-shell--copy min-w-0 flex-1 basis-48 @min-[40rem]/page-header:basis-96\">\n\t\t\t\t\t\t\t{!!title && <Heading tag=\"h2\" size={headingRoleSizes.subject} className=\"border-0 pb-0\">{title}</Heading>}\n\t\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t\t<Text {...copyRoleProps.structuralDescription} className=\"aside-nav-shell--description max-w-3xl\">\n\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t{!!(actions || hasCommands) && (\n\t\t\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" justify={hasCommands ? 'end' : undefined} gap={compositionRhythm.commands} className=\"aside-nav-shell--actions max-w-full shrink-0\">\n\t\t\t\t\t\t\t\t{actions}\n\t\t\t\t\t\t\t\t{hasCommands && (\n\t\t\t\t\t\t\t\t\t<PageHeaderCommands\n\t\t\t\t\t\t\t\t\t\tprimaryAction={primaryAction}\n\t\t\t\t\t\t\t\t\t\tsecondaryActions={secondaryActions}\n\t\t\t\t\t\t\t\t\t\tmaxVisibleSecondaryActions={maxVisibleSecondaryActions}\n\t\t\t\t\t\t\t\t\t\tmoreActionsLabel={moreActionsLabel}\n\t\t\t\t\t\t\t\t\t\trenderLink={linkRenderer}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</header>\n\t\t\t\t)}\n\t\t\t\t\t<div data-slot=\"aside-nav-shell-content\" className={cn('aside-nav-shell--content flex min-w-0 flex-col', compositionClasses.subjects)}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!footer && <footer className=\"aside-nav-shell--footer\">{footer}</footer>}\n\t\t\t\t</Stack>\n\t\t</section>\n\t);\n}\n\nexport const SettingsShell = AsideNavShell;\n\nAsideNavShell.displayName = 'AsideNavShell';\n"],"mappings":"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"}
@@ -0,0 +1,250 @@
1
+ "use client";
2
+ import { i as e } from "./ui-provider-C-74NVLc.js";
3
+ import { t } from "./utils-B6kKb8jB.js";
4
+ import { t as n } from "./affordance-geometry.generated-P-aVJisu.js";
5
+ import { c as r } from "./typography-BQnine1k.js";
6
+ import { l as i, o as a, s as o } from "./text.styles-B64My8RZ.js";
7
+ import { t as s } from "./portal-recipes-BpsV_iRw.js";
8
+ import { t as c } from "./motion-recipes-DitYv6P2.js";
9
+ import { t as l } from "./slot-CLF9kLrS.js";
10
+ import { t as u } from "./button-S2Cubiiz.js";
11
+ import { a as d, r as f } from "./surface-recipes-BKRVW8Os.js";
12
+ import { t as p } from "./overlay.recipes-8GHqmlb4.js";
13
+ import { t as m } from "./use-popup-focus-recovery-C0QPvgOR.js";
14
+ import * as h from "react";
15
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
16
+ import { XIcon as v } from "lucide-react";
17
+ import { Dialog as y } from "@base-ui/react/dialog";
18
+ //#region src/lib/overlay-anatomy-recipes.ts
19
+ var b = {
20
+ close: n.overlayClose,
21
+ header: n.overlayHeader,
22
+ headerCentered: n.overlayHeaderCentered
23
+ }, x = h.createContext(!1);
24
+ function S({ children: e }) {
25
+ return /* @__PURE__ */ g(x.Provider, {
26
+ value: !0,
27
+ children: e
28
+ });
29
+ }
30
+ function C() {
31
+ return h.useContext(x);
32
+ }
33
+ function w({ target: e }) {
34
+ return h.useState(() => {
35
+ let t = typeof document > "u" ? null : document.activeElement;
36
+ return e.current = t instanceof HTMLElement && t !== t.ownerDocument.body ? t : null, null;
37
+ }), null;
38
+ }
39
+ function T(e) {
40
+ let t = h.useRef(null), n = h.useCallback(() => {
41
+ let e = t.current;
42
+ if (!e?.isConnected) return !0;
43
+ let n = e.ownerDocument.activeElement;
44
+ return n instanceof HTMLElement && n !== e.ownerDocument.body && !n.closest("[role=dialog],[role=alertdialog]") ? !1 : e;
45
+ }, []);
46
+ return {
47
+ capture: /* @__PURE__ */ g(w, { target: t }),
48
+ finalFocus: e ?? n
49
+ };
50
+ }
51
+ //#endregion
52
+ //#region src/components/ui/sheet.tsx
53
+ function E({ ...e }) {
54
+ return /* @__PURE__ */ g(y.Root, {
55
+ "data-slot": "sheet",
56
+ modal: "trap-focus",
57
+ ...e
58
+ });
59
+ }
60
+ function D({ asChild: e = !1, ...t }) {
61
+ let n = e ? /* @__PURE__ */ g(l, {}) : void 0;
62
+ return /* @__PURE__ */ g(y.Trigger, {
63
+ "data-slot": "sheet-trigger",
64
+ render: n,
65
+ ...t
66
+ });
67
+ }
68
+ function O({ asChild: e = !1, ...t }) {
69
+ let n = e ? /* @__PURE__ */ g(l, {}) : void 0;
70
+ return /* @__PURE__ */ g(y.Close, {
71
+ "data-slot": "sheet-close",
72
+ render: n,
73
+ ...t
74
+ });
75
+ }
76
+ function k({ container: t, className: n, ...r }) {
77
+ let i = e(t);
78
+ return /* @__PURE__ */ g(y.Portal, {
79
+ container: i,
80
+ "data-slot": "sheet-portal",
81
+ className: s(n),
82
+ ...r
83
+ });
84
+ }
85
+ function A({ className: e, ...n }) {
86
+ return /* @__PURE__ */ g(y.Backdrop, {
87
+ "data-slot": "sheet-overlay",
88
+ className: t(p, c.backdrop, e),
89
+ ...n
90
+ });
91
+ }
92
+ function j({ className: n, container: r, children: i, side: a = "right", showCloseButton: o = !0, forceRenderBackdrop: s = !1, backdropClassName: l, onFocusCapture: d, finalFocus: f, ...p }) {
93
+ let h = e(r), x = m(d), w = C(), { capture: E, finalFocus: D } = T(f);
94
+ return /* @__PURE__ */ _(k, {
95
+ container: h,
96
+ children: [/* @__PURE__ */ g(A, {
97
+ forceRender: s || !w,
98
+ className: l
99
+ }), /* @__PURE__ */ _(y.Popup, {
100
+ "data-slot": "sheet-content",
101
+ "data-side": a,
102
+ className: t(c.drawer, "border-border bg-background fixed z-50 flex flex-col gap-space-xl bg-clip-padding text-sm shadow-lg data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", n),
103
+ ...p,
104
+ finalFocus: D,
105
+ onFocusCapture: x,
106
+ children: [
107
+ E,
108
+ /* @__PURE__ */ g(S, { children: i }),
109
+ !!o && /* @__PURE__ */ _(y.Close, {
110
+ "data-slot": "sheet-close",
111
+ render: /* @__PURE__ */ g(u, {
112
+ variant: "ghost",
113
+ "data-overlay-close": "",
114
+ className: b.close,
115
+ size: "icon-sm"
116
+ }),
117
+ children: [/* @__PURE__ */ g(v, {}), /* @__PURE__ */ g("span", {
118
+ className: "sr-only",
119
+ children: "Close"
120
+ })]
121
+ })
122
+ ]
123
+ })]
124
+ });
125
+ }
126
+ function M({ className: e, ...n }) {
127
+ return /* @__PURE__ */ g("div", {
128
+ "data-slot": "sheet-header",
129
+ className: t("flex flex-col", e),
130
+ ...n
131
+ });
132
+ }
133
+ function N({ className: e, ...n }) {
134
+ return /* @__PURE__ */ g("div", {
135
+ "data-slot": "sheet-footer",
136
+ className: t("mt-auto flex flex-col", e),
137
+ ...n
138
+ });
139
+ }
140
+ function P({ className: e, asChild: n = !1, ...r }) {
141
+ let i = n ? /* @__PURE__ */ g(l, {}) : void 0;
142
+ return /* @__PURE__ */ g(y.Title, {
143
+ "data-slot": "sheet-title",
144
+ render: i,
145
+ className: t("text-foreground font-medium", e),
146
+ ...r
147
+ });
148
+ }
149
+ function F({ className: e, asChild: n = !1, ...r }) {
150
+ let i = n ? /* @__PURE__ */ g(l, {}) : void 0;
151
+ return /* @__PURE__ */ g(y.Description, {
152
+ "data-slot": "sheet-description",
153
+ render: i,
154
+ className: t("text-muted-foreground text-sm", e),
155
+ ...r
156
+ });
157
+ }
158
+ //#endregion
159
+ //#region src/components/base/sheet/sheet.tsx
160
+ function I(e) {
161
+ return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
162
+ }
163
+ var L = t(o.base, i.semibold, a.snug), R = E, z = h.forwardRef(function({ className: e, ...n }, r) {
164
+ return /* @__PURE__ */ g(D, {
165
+ ref: r,
166
+ className: t("sheet-trigger--component", e),
167
+ ...n
168
+ });
169
+ });
170
+ z.displayName = "SheetTrigger";
171
+ var B = h.forwardRef(function({ className: e, ...n }, r) {
172
+ return /* @__PURE__ */ g(O, {
173
+ ref: r,
174
+ className: t("sheet-close--component", e),
175
+ ...n
176
+ });
177
+ });
178
+ B.displayName = "SheetClose";
179
+ var V = h.forwardRef(function({ className: e, ...n }, r) {
180
+ return /* @__PURE__ */ g(j, {
181
+ ref: r,
182
+ className: t("sheet-content--component min-h-0 gap-0 overflow-hidden bg-popover p-0 text-popover-foreground", d.modal.edge, "data-[side=top]:max-h-[85vh] data-[side=bottom]:max-h-[85vh]", e),
183
+ ...n
184
+ });
185
+ });
186
+ V.displayName = "SheetContent";
187
+ var H = h.forwardRef(function({ className: e, textGap: n = "normal", ...r }, i) {
188
+ return /* @__PURE__ */ g(M, {
189
+ ref: i,
190
+ "data-modal-region": "",
191
+ className: t("sheet-header--component", f.header, b.header, n === "dense" ? "gap-dense" : "gap-normal", e),
192
+ ...r
193
+ });
194
+ });
195
+ H.displayName = "SheetHeader";
196
+ var U = h.forwardRef(function({ className: e, ...n }, r) {
197
+ return /* @__PURE__ */ g("div", {
198
+ ref: r,
199
+ "data-slot": "sheet-body",
200
+ "data-modal-region": "",
201
+ className: t("sheet-body--component", f.body, e),
202
+ ...n
203
+ });
204
+ });
205
+ U.displayName = "SheetBody";
206
+ var W = h.forwardRef(function({ className: e, ...n }, r) {
207
+ return /* @__PURE__ */ g(N, {
208
+ ref: r,
209
+ "data-modal-region": "",
210
+ className: t("sheet-footer--component mt-auto flex-row items-center justify-end", f.footer, e),
211
+ ...n
212
+ });
213
+ });
214
+ W.displayName = "SheetFooter";
215
+ var G = h.forwardRef(function({ children: e, className: n, ...i }, a) {
216
+ return /* @__PURE__ */ g(P, {
217
+ ref: a,
218
+ className: t("sheet-title--component m-0 text-inherit", L, n),
219
+ ...i,
220
+ children: I(e) ? /* @__PURE__ */ g(r, {
221
+ tag: "span",
222
+ type: "inherit",
223
+ size: "base",
224
+ weight: "semibold",
225
+ lineHeight: "snug",
226
+ className: "sheet-title--text",
227
+ children: e
228
+ }) : e
229
+ });
230
+ });
231
+ G.displayName = "SheetTitle";
232
+ var K = h.forwardRef(function({ children: e, className: n, ...i }, a) {
233
+ return /* @__PURE__ */ g(F, {
234
+ ref: a,
235
+ className: t("sheet-description--component m-0", n),
236
+ ...i,
237
+ children: I(e) ? /* @__PURE__ */ g(r, {
238
+ tag: "span",
239
+ type: "secondary",
240
+ lineHeight: "relaxed",
241
+ className: "sheet-description--text",
242
+ children: e
243
+ }) : e
244
+ });
245
+ });
246
+ K.displayName = "SheetDescription";
247
+ //#endregion
248
+ export { K as a, G as c, C as d, T as f, V as i, z as l, U as n, W as o, b as p, B as r, H as s, R as t, S as u };
249
+
250
+ //# sourceMappingURL=sheet-BGPERY55.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-BGPERY55.js","names":["React","Sheet","SheetPrimitive","SheetTrigger","SheetClose","SheetContent","SheetHeader","SheetFooter","SheetTitle","SheetDescription","SheetPrimitive","React","SheetTriggerPrimitive","SheetClosePrimitive","SheetContentPrimitive","SheetHeaderPrimitive","SheetFooterPrimitive","SheetTitlePrimitive","SheetDescriptionPrimitive","useThemePortalContainer","affordanceGeometry","Text","textWeights","textLineHeights","textSizes","portalClassName","motionRecipes","Slot","Button","surfaceDividerRecipes","modalRegionRecipes","modalBackdropRecipe","usePopupFocusRecovery","React$1","overlayAnatomyRecipes","OverlayLayerContext","OverlayLayer","useInsideOverlayLayer","OpenerCapture","active","useOpenerFinalFocus","opener","restore","target","finalFocus","Sheet$1","props","Dialog","SheetTrigger$1","renderSlot","asChild","SheetClose$1","SheetPortal","resolvedContainer","container","className","SheetOverlay","cn","SheetContent$1","finalFocusProp","recoverFocus","onFocusCapture","insideOverlay","forceRenderBackdrop","backdropClassName","side","capture","showCloseButton","XIcon","SheetHeader$1","SheetFooter$1","SheetTitle$1","SheetDescription$1","isSimpleText","value","titleTypography","Sheet","SheetTrigger","SheetClose","SheetContent","SheetHeader","textGap","SheetBody","SheetFooter","SheetTitle","children","SheetDescription"],"sources":["../src/lib/overlay-anatomy-recipes.ts","../src/components/ui/overlay-layer.tsx","../src/components/ui/sheet.tsx","../src/components/base/sheet/sheet.tsx"],"sourcesContent":["import { affordanceGeometry } from './affordance-geometry.generated';\n/** Dismiss controls follow the surface's logical inset; headers reserve the\n * actual small-action width plus an action gap only when a close control exists.\n * These are derived recipes, not additional theme settings.\n */\nexport const overlayAnatomyRecipes = {\n\tclose: affordanceGeometry.overlayClose,\n\theader: affordanceGeometry.overlayHeader,\n\theaderCentered: affordanceGeometry.overlayHeaderCentered,\n} as const;\n","\"use client\";\n\nimport * as React from \"react\"\n\n/**\n * Whether a subtree renders inside another modal's popup. Base UI counts every\n * dialog below any Dialog root as nested and skips its backdrop, and the\n * AppSidebar drawer owner is a Dialog root around the whole application. The\n * scrim therefore follows this React-tree layer instead: a modal draws its own\n * backdrop unless it opens from inside another modal's content.\n */\nconst OverlayLayerContext = React.createContext(false)\n\nfunction OverlayLayer({ children }: { children?: React.ReactNode }) {\n return <OverlayLayerContext.Provider value={true}>{children}</OverlayLayerContext.Provider>\n}\n\nfunction useInsideOverlayLayer() {\n return React.useContext(OverlayLayerContext)\n}\n\ntype FinalFocus = boolean | React.RefObject<HTMLElement | null> | ((closeType: never) => boolean | HTMLElement | null | void)\n\n// Renders inside the popup, which mounts on each open, so it reads the element\n// that had focus before the popup moved it.\nfunction OpenerCapture({ target }: { target: React.RefObject<HTMLElement | null> }) {\n React.useState(() => {\n const active = typeof document === \"undefined\" ? null : document.activeElement\n target.current = active instanceof HTMLElement && active !== active.ownerDocument.body ? active : null\n return null\n })\n return null\n}\n\n/**\n * Returns focus to the element that opened the modal. Base UI returns it to the\n * nested parent instead, and under the sidebar drawer owner that parent is closed,\n * so focus fell to the body. Like the default, it leaves focus alone when the app\n * already moved it outside the popup (a confirm that focuses an editor). An\n * explicit `finalFocus` still wins.\n */\nfunction useOpenerFinalFocus<T extends FinalFocus | undefined>(finalFocus: T) {\n const opener = React.useRef<HTMLElement | null>(null)\n const restore = React.useCallback(() => {\n const target = opener.current\n if (!target?.isConnected) return true\n const active = target.ownerDocument.activeElement\n const movedByApp = active instanceof HTMLElement && active !== target.ownerDocument.body && !active.closest('[role=dialog],[role=alertdialog]')\n return movedByApp ? false : target\n }, [])\n return { capture: <OpenerCapture target={opener} />, finalFocus: finalFocus ?? restore }\n}\n\nexport { OverlayLayer, useInsideOverlayLayer, useOpenerFinalFocus }\n","\"use client\";\n\nimport { overlayAnatomyRecipes } from '../../lib/overlay-anatomy-recipes';\nimport { motionRecipes } from '../../lib/motion-recipes';\nimport { portalClassName } from '../../lib/portal-recipes';\nimport { modalBackdropRecipe } from './overlay.recipes';\nimport { OverlayLayer, useInsideOverlayLayer, useOpenerFinalFocus } from './overlay-layer';\nimport { usePopupFocusRecovery } from '../../lib/use-popup-focus-recovery';\n\nimport { useThemePortalContainer, type ThemePortalContainer } from '../../lib/theme-scope';\n\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\"\nimport { XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { Button } from \"./button\"\nimport { Slot } from \"./slot\"\nimport { cn } from \"../../lib/utils\"\n\nfunction Sheet({ ...props }: SheetPrimitive.Root.Props) {\n return <SheetPrimitive.Root data-slot=\"sheet\" modal=\"trap-focus\" {...props} />\n}\n\nfunction SheetTrigger({\n asChild = false,\n ...props\n}: SheetPrimitive.Trigger.Props & { asChild?: boolean }) {\n const renderSlot = asChild ? <Slot /> : undefined\n\n return (\n <SheetPrimitive.Trigger\n data-slot=\"sheet-trigger\"\n render={renderSlot}\n {...props}\n />\n )\n}\n\nfunction SheetClose({\n asChild = false,\n ...props\n}: SheetPrimitive.Close.Props & { asChild?: boolean }) {\n const renderSlot = asChild ? <Slot /> : undefined\n\n return (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n render={renderSlot}\n {...props}\n />\n )\n}\n\nfunction SheetPortal({ container, className, ...props }: SheetPrimitive.Portal.Props) {\n const resolvedContainer = useThemePortalContainer(container)\n return <SheetPrimitive.Portal container={resolvedContainer} data-slot=\"sheet-portal\" className={portalClassName(className)} {...props} />\n}\n\nfunction SheetOverlay({ className, ...props }: SheetPrimitive.Backdrop.Props) {\n return (\n <SheetPrimitive.Backdrop\n data-slot=\"sheet-overlay\"\n className={cn(modalBackdropRecipe, motionRecipes.backdrop, className)}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n container,\n children,\n side = \"right\",\n showCloseButton = true,\n forceRenderBackdrop = false,\n backdropClassName,\n onFocusCapture,\n finalFocus: finalFocusProp,\n ...props\n}: SheetPrimitive.Popup.Props & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n showCloseButton?: boolean\n /** @internal Render the native backdrop for an embedded sidebar root. */\n forceRenderBackdrop?: boolean\n /** @internal Position the existing native backdrop within a sidebar frame. */\n backdropClassName?: string\n} & { container?: ThemePortalContainer }) {\n const resolvedContainer = useThemePortalContainer(container)\n const recoverFocus = usePopupFocusRecovery(onFocusCapture)\n const insideOverlay = useInsideOverlayLayer()\n const { capture, finalFocus } = useOpenerFinalFocus(finalFocusProp)\n return (\n <SheetPortal container={resolvedContainer}>\n <SheetOverlay forceRender={forceRenderBackdrop || !insideOverlay} className={backdropClassName} />\n <SheetPrimitive.Popup\n data-slot=\"sheet-content\"\n data-side={side}\n className={cn(\n motionRecipes.drawer,\n \"border-border bg-background fixed z-50 flex flex-col gap-space-xl bg-clip-padding text-sm shadow-lg data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm\",\n className\n )}\n {...props}\n finalFocus={finalFocus}\n onFocusCapture={recoverFocus}\n >\n {capture}\n <OverlayLayer>{children}</OverlayLayer>\n {!!showCloseButton && (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n render={\n <Button\n variant=\"ghost\"\n data-overlay-close=\"\"\n className={overlayAnatomyRecipes.close}\n size=\"icon-sm\"\n />\n }\n >\n <XIcon\n />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Popup>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n asChild = false,\n ...props\n}: SheetPrimitive.Title.Props & { asChild?: boolean }) {\n const renderSlot = asChild ? <Slot /> : undefined\n\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n render={renderSlot}\n className={cn(\"text-foreground font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n asChild = false,\n ...props\n}: SheetPrimitive.Description.Props & { asChild?: boolean }) {\n const renderSlot = asChild ? <Slot /> : undefined\n\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n render={renderSlot}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","import { modalRegionRecipes, surfaceDividerRecipes } from '../../../lib/surface-recipes';\nimport { overlayAnatomyRecipes } from '../../../lib/overlay-anatomy-recipes';\nimport type { TextGap } from '../structure';\n/**\n * Sheet — internal edge-anchored modal anatomy behind `ActionDrawer` and the\n * mobile sidebar drawer.\n *\n * Applications use `ActionDrawer` from `themelia-react-ui/features/overlays`,\n * which owns the lifecycle, focus, dismissal and action contract; the\n * `themelia-react-ui/base/sheet` entrypoint remains only as a deprecated\n * compatibility surface. The panel shares the modal geometry of the internal\n * Dialog wrapper: header, scrolling body and footer each own their inset, one\n * rule separates adjacent visible regions, and one edge rule separates the\n * panel from the page.\n */\nimport * as React from 'react';\n\nimport {\n\tSheet as SheetPrimitive,\n\tSheetClose as SheetClosePrimitive,\n\tSheetContent as SheetContentPrimitive,\n\tSheetDescription as SheetDescriptionPrimitive,\n\tSheetFooter as SheetFooterPrimitive,\n\tSheetHeader as SheetHeaderPrimitive,\n\tSheetTitle as SheetTitlePrimitive,\n\tSheetTrigger as SheetTriggerPrimitive,\n} from '../../ui/sheet';\nimport { Text } from '../../typography';\nimport { textLineHeights, textSizes, textWeights } from '../../typography/text.styles';\nimport { cn } from '../../../lib/utils';\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/** Same title role as Dialog, set on the element so its line box matches the Text inside. */\nconst titleTypography = cn(textSizes.base, textWeights.semibold, textLineHeights.snug);\n\nexport const Sheet = SheetPrimitive;\n\nexport const SheetTrigger = React.forwardRef<\n\tReact.ElementRef<typeof SheetTriggerPrimitive>,\n\tReact.ComponentPropsWithoutRef<typeof SheetTriggerPrimitive>\n>(function SheetTrigger({ className, ...props }, ref) {\n\treturn (\n\t\t<SheetTriggerPrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn('sheet-trigger--component', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSheetTrigger.displayName = 'SheetTrigger';\n\nexport const SheetClose = React.forwardRef<\n\tReact.ElementRef<typeof SheetClosePrimitive>,\n\tReact.ComponentPropsWithoutRef<typeof SheetClosePrimitive>\n>(function SheetClose({ className, ...props }, ref) {\n\treturn (\n\t\t<SheetClosePrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn('sheet-close--component', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSheetClose.displayName = 'SheetClose';\n\nexport const SheetContent = React.forwardRef<\n\tReact.ElementRef<typeof SheetContentPrimitive>,\n\tReact.ComponentPropsWithoutRef<typeof SheetContentPrimitive>\n>(function SheetContent({ className, ...props }, ref) {\n\treturn (\n\t\t<SheetContentPrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t// The shell is flush: each region owns its inset once and the rules\n\t\t\t\t// between regions run edge to edge. One rule marks the open edge.\n\t\t\t\t'sheet-content--component min-h-0 gap-0 overflow-hidden bg-popover p-0 text-popover-foreground',\n\t\t\t\tsurfaceDividerRecipes.modal.edge,\n\t\t\t\t'data-[side=top]:max-h-[85vh] data-[side=bottom]:max-h-[85vh]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSheetContent.displayName = 'SheetContent';\n\nexport const SheetHeader = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentPropsWithoutRef<typeof SheetHeaderPrimitive> & { textGap?: TextGap }\n>(function SheetHeader({ className, textGap = 'normal', ...props }, ref) {\n\treturn (\n\t\t<SheetHeaderPrimitive\n\t\t\tref={ref}\n\t\t\tdata-modal-region=\"\"\n\t\t\tclassName={cn(\n\t\t\t\t'sheet-header--component', modalRegionRecipes.header,\n\t\t\t\toverlayAnatomyRecipes.header,\n\t\t\t\ttextGap === 'dense' ? 'gap-dense' : 'gap-normal',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSheetHeader.displayName = 'SheetHeader';\n\n/** Scroll-owning content region between the pinned sheet header and footer. */\nexport const SheetBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n\tfunction SheetBody({ className, ...props }, ref) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tdata-slot=\"sheet-body\"\n\t\t\t\tdata-modal-region=\"\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'sheet-body--component', modalRegionRecipes.body,\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nSheetBody.displayName = 'SheetBody';\n\nexport const SheetFooter = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentPropsWithoutRef<typeof SheetFooterPrimitive>\n>(function SheetFooter({ className, ...props }, ref) {\n\treturn (\n\t\t<SheetFooterPrimitive\n\t\t\tref={ref}\n\t\t\tdata-modal-region=\"\"\n\t\t\tclassName={cn(\n\t\t\t\t'sheet-footer--component mt-auto flex-row items-center justify-end', modalRegionRecipes.footer,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSheetFooter.displayName = 'SheetFooter';\n\nexport const SheetTitle = React.forwardRef<\n\tReact.ElementRef<typeof SheetTitlePrimitive>,\n\tReact.ComponentPropsWithoutRef<typeof SheetTitlePrimitive>\n>(function SheetTitle({ children, className, ...props }, ref) {\n\treturn (\n\t\t<SheetTitlePrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn('sheet-title--component m-0 text-inherit', titleTypography, className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\ttype=\"inherit\"\n\t\t\t\t\tsize=\"base\"\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tlineHeight=\"snug\"\n\t\t\t\t\tclassName=\"sheet-title--text\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</SheetTitlePrimitive>\n\t);\n});\n\nSheetTitle.displayName = 'SheetTitle';\n\nexport const SheetDescription = React.forwardRef<\n\tReact.ElementRef<typeof SheetDescriptionPrimitive>,\n\tReact.ComponentPropsWithoutRef<typeof SheetDescriptionPrimitive>\n>(function SheetDescription({ children, className, ...props }, ref) {\n\treturn (\n\t\t<SheetDescriptionPrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn('sheet-description--component m-0', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\tlineHeight=\"relaxed\"\n\t\t\t\t\tclassName=\"sheet-description--text\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</SheetDescriptionPrimitive>\n\t);\n});\n\nSheetDescription.displayName = 'SheetDescription';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAKA,IAAakC,IAAwB;CACpC,OAAOd,EAAmB;CAC1B,QAAQA,EAAmB;CAC3B,gBAAgBA,EAAmB;AACpC,GCEMe,IAAsBnC,EAAM,cAAc,EAAK;AAErD,SAASoC,EAAa,EAAE,eAA4C;CAClE,OAAO,kBAACD,EAAoB,UAArB;EAA8B,OAAO;EAAO;CAAuC,CAAA;AAC5F;AAEA,SAASE,IAAwB;CAC/B,OAAOrC,EAAM,WAAWmC,CAAmB;AAC7C;AAMA,SAASG,EAAc,EAAE,aAA2D;CAMlF,OALAL,EAAM,eAAe;EACnB,IAAMM,IAAS,OAAO,WAAa,MAAc,OAAO,SAAS;EAEjE,OADA,EAAO,UAAUA,aAAkB,eAAeA,MAAWA,EAAO,cAAc,OAAOA,IAAS,MAC3F;CACT,CAAC,GACM;AACT;AASA,SAASC,EAAsD,GAAe;CAC5E,IAAMC,IAASzC,EAAM,OAA2B,IAAI,GAC9C0C,IAAU1C,EAAM,kBAAkB;EACtC,IAAM2C,IAASF,EAAO;EACtB,IAAI,CAACE,GAAQ,aAAa,OAAO;EACjC,IAAMJ,IAASI,EAAO,cAAc;EAEpC,OADmBJ,aAAkB,eAAeA,MAAWI,EAAO,cAAc,QAAQ,CAACJ,EAAO,QAAQ,kCAAkC,IAC1H,KAAQI;CAC9B,GAAG,CAAC,CAAC;CACL,OAAO;EAAE,SAAS,kBAACL,GAAD,EAAe,QAAQG,EAAS,CAAA;EAAG,YAAYG,KAAcF;CAAQ;AACzF;;;AChCA,SAASzC,EAAM,EAAE,GAAG6C,KAAoC;CACtD,OAAO,kBAAC5C,EAAe,MAAhB;EAAqB,aAAU;EAAQ,OAAM;EAAa,GAAI4C;CAAQ,CAAA;AAC/E;AAEA,SAAS3C,EAAa,EACpB,aAAU,IACV,GAAG2C,KACoD;CACvD,IAAMG,IAAaC,IAAU,kBAACvB,GAAD,CAAO,CAAA,IAAI,KAAA;CAExC,OACE,kBAACzB,EAAe,SAAhB;EACE,aAAU;EACV,QAAQ+C;EACR,GAAIH;CACL,CAAA;AAEL;AAEA,SAAS1C,EAAW,EAClB,aAAU,IACV,GAAG0C,KACkD;CACrD,IAAMG,IAAaC,IAAU,kBAACvB,GAAD,CAAO,CAAA,IAAI,KAAA;CAExC,OACE,kBAACzB,EAAe,OAAhB;EACE,aAAU;EACV,QAAQ+C;EACR,GAAIH;CACL,CAAA;AAEL;AAEA,SAASM,EAAY,EAAE,cAAW,cAAW,GAAGN,KAAsC;CACpF,IAAMO,IAAoBlC,EAAwBmC,CAAS;CAC3D,OAAO,kBAACpD,EAAe,QAAhB;EAAuB,WAAWmD;EAAmB,aAAU;EAAe,WAAW5B,EAAgB8B,CAAS;EAAG,GAAIT;CAAQ,CAAA;AAC1I;AAEA,SAASU,EAAa,EAAE,cAAW,GAAGV,KAAwC;CAC5E,OACE,kBAAC5C,EAAe,UAAhB;EACE,aAAU;EACV,WAAWuD,EAAG1B,GAAqBL,EAAc,UAAU6B,CAAS;EACpE,GAAIT;CACL,CAAA;AAEL;AAEA,SAASzC,EAAa,EACpB,cACA,cACA,aACA,UAAO,SACP,qBAAkB,IAClB,yBAAsB,IACtB,sBACA,mBACA,YAAYsD,GACZ,GAAGb,KAQqC;CACxC,IAAMO,IAAoBlC,EAAwBmC,CAAS,GACrDM,IAAe5B,EAAsB6B,CAAc,GACnDC,IAAgBzB,EAAsB,GACtC,EAAE,YAAS,kBAAeG,EAAoBmB,CAAc;CAClE,OACE,kBAACP,GAAD;EAAa,WAAWC;EAAxB,UAAA,CACE,kBAACG,GAAD;GAAc,aAAaO,KAAuB,CAACD;GAAe,WAAWE;EAAoB,CAAA,GACjG,kBAAC9D,EAAe,OAAhB;GACE,aAAU;GACV,aAAW+D;GACX,WAAWR,EACT/B,EAAc,QACd,+mBACA6B,CACF;GACA,GAAIT;GACQ;GACZ,gBAAgBc;GAVlB,UAAA;IAYGM;IACD,kBAAC9B,GAAD,EAAe,YAAuB,CAAA;IACrC,CAAC,CAAC+B,KACD,kBAACjE,EAAe,OAAhB;KACE,aAAU;KACV,QACE,kBAAC0B,GAAD;MACE,SAAQ;MACR,sBAAmB;MACnB,WAAWM,EAAsB;MACjC,MAAK;KACN,CAAA;KARL,UAAA,CAWE,kBAACkC,GAAD,CACC,CAAA,GACD,kBAAC,QAAD;MAAM,WAAU;MAAU,UAAA;KAAW,CAAA,CACjB;;GAEJ;EACX,CAAA,CAAA;;AAEjB;AAEA,SAAS9D,EAAY,EAAE,cAAW,GAAGwC,KAAsC;CACzE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAWW,EAAG,iBAAiBF,CAAS;EACxC,GAAIT;CACL,CAAA;AAEL;AAEA,SAASvC,EAAY,EAAE,cAAW,GAAGuC,KAAsC;CACzE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAWW,EAAG,yBAAyBF,CAAS;EAChD,GAAIT;CACL,CAAA;AAEL;AAEA,SAAStC,EAAW,EAClB,cACA,aAAU,IACV,GAAGsC,KACkD;CACrD,IAAMG,IAAaC,IAAU,kBAACvB,GAAD,CAAO,CAAA,IAAI,KAAA;CAExC,OACE,kBAACzB,EAAe,OAAhB;EACE,aAAU;EACV,QAAQ+C;EACR,WAAWQ,EAAG,+BAA+BF,CAAS;EACtD,GAAIT;CACL,CAAA;AAEL;AAEA,SAASrC,EAAiB,EACxB,cACA,aAAU,IACV,GAAGqC,KACwD;CAC3D,IAAMG,IAAaC,IAAU,kBAACvB,GAAD,CAAO,CAAA,IAAI,KAAA;CAExC,OACE,kBAACzB,EAAe,aAAhB;EACE,aAAU;EACV,QAAQ+C;EACR,WAAWQ,EAAG,iCAAiCF,CAAS;EACxD,GAAIT;CACL,CAAA;AAEL;;;ACvJA,SAAS2B,EAAa,GAA2D;CAChF,OAAO,OAAOC,KAAU,YAAY,OAAOA,KAAU,YAAY,OAAOA,KAAU;AACnF;AAGA,IAAMC,IAAkBlB,EAAGjC,EAAU,MAAMF,EAAY,UAAUC,EAAgB,IAAI,GAExEqD,IAAQlE,GAERmE,IAAelE,EAAM,WAGhC,SAAsB,EAAE,cAAW,GAAGmC,KAAS,GAAK;CACrD,OACC,kBAAClC,GAAD;EACM;EACL,WAAW6C,EAAG,4BAA4BF,CAAS;EACnD,GAAIT;CACJ,CAAA;AAEH,CAAC;AAED,EAAa,cAAc;AAE3B,IAAagC,IAAanE,EAAM,WAG9B,SAAoB,EAAE,cAAW,GAAGmC,KAAS,GAAK;CACnD,OACC,kBAACjC,GAAD;EACM;EACL,WAAW4C,EAAG,0BAA0BF,CAAS;EACjD,GAAIT;CACJ,CAAA;AAEH,CAAC;AAED,EAAW,cAAc;AAEzB,IAAaiC,IAAepE,EAAM,WAGhC,SAAsB,EAAE,cAAW,GAAGmC,KAAS,GAAK;CACrD,OACC,kBAAChC,GAAD;EACM;EACL,WAAW2C,EAGV,iGACA5B,EAAsB,MAAM,MAC5B,gEACA0B,CACD;EACA,GAAIT;CACJ,CAAA;AAEH,CAAC;AAED,EAAa,cAAc;AAE3B,IAAakC,IAAcrE,EAAM,WAG/B,SAAqB,EAAE,cAAW,aAAU,UAAU,GAAGmC,KAAS,GAAK;CACxE,OACC,kBAAC/B,GAAD;EACM;EACL,qBAAkB;EAClB,WAAW0C,EACV,2BAA2B3B,EAAmB,QAC9CI,EAAsB,QACtB+C,MAAY,UAAU,cAAc,cACpC1B,CACD;EACA,GAAIT;CACJ,CAAA;AAEH,CAAC;AAED,EAAY,cAAc;AAG1B,IAAaoC,IAAYvE,EAAM,WAC9B,SAAmB,EAAE,cAAW,GAAGmC,KAAS,GAAK;CAChD,OACC,kBAAC,OAAD;EACM;EACL,aAAU;EACV,qBAAkB;EAClB,WAAWW,EACV,yBAAyB3B,EAAmB,MAC5CyB,CACD;EACA,GAAIT;CACJ,CAAA;AAEH,CACD;AAEA,EAAU,cAAc;AAExB,IAAaqC,IAAcxE,EAAM,WAG/B,SAAqB,EAAE,cAAW,GAAGmC,KAAS,GAAK;CACpD,OACC,kBAAC9B,GAAD;EACM;EACL,qBAAkB;EAClB,WAAWyC,EACV,qEAAqE3B,EAAmB,QACxFyB,CACD;EACA,GAAIT;CACJ,CAAA;AAEH,CAAC;AAED,EAAY,cAAc;AAE1B,IAAasC,IAAazE,EAAM,WAG9B,SAAoB,EAAE,aAAU,cAAW,GAAGmC,KAAS,GAAK;CAC7D,OACC,kBAAC7B,GAAD;EACM;EACL,WAAWwC,EAAG,2CAA2CkB,GAAiBpB,CAAS;EACnF,GAAIT;EAEH,UAAA2B,EAAaY,CAAQ,IACrB,kBAAChE,GAAD;GACC,KAAI;GACJ,MAAK;GACL,MAAK;GACL,QAAO;GACP,YAAW;GACX,WAAU;GAET;EACI,CAAA,IACHgE;CACgB,CAAA;AAEvB,CAAC;AAED,EAAW,cAAc;AAEzB,IAAaC,IAAmB3E,EAAM,WAGpC,SAA0B,EAAE,aAAU,cAAW,GAAGmC,KAAS,GAAK;CACnE,OACC,kBAAC5B,GAAD;EACM;EACL,WAAWuC,EAAG,oCAAoCF,CAAS;EAC3D,GAAIT;EAEH,UAAA2B,EAAaY,CAAQ,IACrB,kBAAChE,GAAD;GACC,KAAI;GACJ,MAAK;GACL,YAAW;GACX,WAAU;GAET;EACI,CAAA,IACHgE;CACsB,CAAA;AAE7B,CAAC;AAED,EAAiB,cAAc"}