themelia-react-ui 2.0.3 → 2.0.4

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 (421) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +65 -28
  3. package/dist/{accordion-Cjb6sx0G.js → accordion-96o0pN62.js} +5 -5
  4. package/dist/{accordion-Cjb6sx0G.js.map → accordion-96o0pN62.js.map} +1 -1
  5. package/dist/action-menu-CHgs8vmj.js +281 -0
  6. package/dist/action-menu-CHgs8vmj.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-B8yGOr8-.js} +7 -1
  8. package/dist/affordance-geometry.generated-B8yGOr8-.js.map +1 -0
  9. package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-BZUGwBq6.js} +277 -276
  10. package/dist/ai-artifact-BZUGwBq6.js.map +1 -0
  11. package/dist/{app-shell-C4FhvCqF.js → app-shell-D63ATkIK.js} +84 -83
  12. package/dist/app-shell-D63ATkIK.js.map +1 -0
  13. package/dist/{attachment-BxDfL2mw.js → attachment-DkoqHPPl.js} +7 -7
  14. package/dist/{attachment-BxDfL2mw.js.map → attachment-DkoqHPPl.js.map} +1 -1
  15. package/dist/{auth-BGua8ouh.js → auth-D2FVZ1MH.js} +10 -10
  16. package/dist/{auth-BGua8ouh.js.map → auth-D2FVZ1MH.js.map} +1 -1
  17. package/dist/{avatar-DAPlDvhJ.js → avatar-DWO_HHhB.js} +5 -5
  18. package/dist/{avatar-DAPlDvhJ.js.map → avatar-DWO_HHhB.js.map} +1 -1
  19. package/dist/{badge-HpFqoqSY.js → badge-DErMA7ul.js} +4 -4
  20. package/dist/{badge-HpFqoqSY.js.map → badge-DErMA7ul.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 +13 -13
  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 +1 -1
  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 +3 -3
  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 +6 -6
  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 +9 -9
  51. package/dist/base/sheet.js +1 -1
  52. package/dist/base/sidebar.js +1 -1
  53. package/dist/base/signature-pad.js +6 -6
  54. package/dist/base/skeleton.js +1 -1
  55. package/dist/base/spinner.js +4 -4
  56. package/dist/base/structure.js +1 -1
  57. package/dist/base/table.js +1 -1
  58. package/dist/base/text-inputs.js +2 -2
  59. package/dist/base/toaster.js +3 -3
  60. package/dist/base/tree.js +1 -1
  61. package/dist/base/upload-queue.js +1 -1
  62. package/dist/base/upload.js +3 -3
  63. package/dist/base/value-inputs.js +1 -1
  64. package/dist/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-CdfIkCsV.js} +4 -4
  65. package/dist/{batch-action-bar-DnUJ21NQ.js.map → batch-action-bar-CdfIkCsV.js.map} +1 -1
  66. package/dist/blocks/admin.js +20 -20
  67. package/dist/blocks/admin.js.map +1 -1
  68. package/dist/blocks/ai.js +15 -15
  69. package/dist/blocks/analytics/usage-card.js +1 -1
  70. package/dist/blocks/analytics.js +17 -17
  71. package/dist/blocks/analytics.js.map +1 -1
  72. package/dist/blocks/collaboration.js +1 -1
  73. package/dist/blocks/commerce/receipt.js +1 -1
  74. package/dist/blocks/commerce.js +570 -567
  75. package/dist/blocks/commerce.js.map +1 -1
  76. package/dist/blocks/data-display.js +2 -2
  77. package/dist/blocks/onboarding.js +5 -5
  78. package/dist/blocks/planning.js +11 -11
  79. package/dist/blocks/timelines.js +1 -1
  80. package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-B-WFKecD.js} +4 -4
  81. package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-B-WFKecD.js.map} +1 -1
  82. package/dist/{button-DVzspB_G.js → button-DkmK-z8E.js} +2 -2
  83. package/dist/{button-DVzspB_G.js.map → button-DkmK-z8E.js.map} +1 -1
  84. package/dist/{buttons-DPZekJFu.js → buttons-BbfzgczK.js} +8 -8
  85. package/dist/{buttons-DPZekJFu.js.map → buttons-BbfzgczK.js.map} +1 -1
  86. package/dist/{cards-BaBZR-AU.js → cards-4JTWqvVe.js} +10 -10
  87. package/dist/cards-4JTWqvVe.js.map +1 -0
  88. package/dist/{chart-ZOYyK2xG.js → chart-C19flDQb.js} +4 -4
  89. package/dist/{chart-ZOYyK2xG.js.map → chart-C19flDQb.js.map} +1 -1
  90. package/dist/{checkbox-AWIhNhmo.js → checkbox-CzYUTPeJ.js} +9 -5
  91. package/dist/checkbox-CzYUTPeJ.js.map +1 -0
  92. package/dist/{choice-inputs-CNHvARCJ.js → choice-inputs-JLtij2y4.js} +182 -176
  93. package/dist/choice-inputs-JLtij2y4.js.map +1 -0
  94. package/dist/{code-block-DeneBJR_.js → code-block-CGNaUtAE.js} +7 -7
  95. package/dist/{code-block-DeneBJR_.js.map → code-block-CGNaUtAE.js.map} +1 -1
  96. package/dist/{collapsible-C-_l4hpy.js → collapsible-Do4G0zcC.js} +3 -3
  97. package/dist/{collapsible-C-_l4hpy.js.map → collapsible-Do4G0zcC.js.map} +1 -1
  98. package/dist/{collection-content-By56pLog.js → collection-content-C0e8SsTm.js} +3 -3
  99. package/dist/{collection-content-By56pLog.js.map → collection-content-C0e8SsTm.js.map} +1 -1
  100. package/dist/{combobox-Dxo2fAYQ.js → combobox-CBJDs6w_.js} +12 -12
  101. package/dist/{combobox-Dxo2fAYQ.js.map → combobox-CBJDs6w_.js.map} +1 -1
  102. package/dist/{combobox-DaHESuiL.js → combobox-hbhSS18O.js} +7 -7
  103. package/dist/{combobox-DaHESuiL.js.map → combobox-hbhSS18O.js.map} +1 -1
  104. package/dist/{command-C25VMRII.js → command-D8NrBj-b.js} +7 -7
  105. package/dist/{command-C25VMRII.js.map → command-D8NrBj-b.js.map} +1 -1
  106. package/dist/{comments-DD0DUPwJ.js → comments-Di4w0H_S.js} +383 -382
  107. package/dist/comments-Di4w0H_S.js.map +1 -0
  108. package/dist/components/base/action-menu/action-menu.d.ts +2 -0
  109. package/dist/components/base/cards/card.recipes.d.ts +12 -5
  110. package/dist/components/base/cards/smart-card.types.d.ts +12 -7
  111. package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
  112. package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
  113. package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
  114. package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
  115. package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
  116. package/dist/components/base/forms/form-field.d.ts +5 -3
  117. package/dist/components/base/forms/index.d.ts +1 -0
  118. package/dist/components/base/forms/server-errors.d.ts +16 -0
  119. package/dist/components/base/forms/workflow.d.ts +5 -2
  120. package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
  121. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -2
  122. package/dist/components/base/structure/composition.recipes.d.ts +17 -0
  123. package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
  124. package/dist/components/base/text-inputs/input.d.ts +4 -2
  125. package/dist/components/base/text-inputs/textarea.d.ts +4 -2
  126. package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
  127. package/dist/components/base/value-inputs/slider.d.ts +5 -1
  128. package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
  129. package/dist/components/typography/text.styles.d.ts +26 -1
  130. package/dist/composition.recipes-COdiFhxB.js +19 -0
  131. package/dist/composition.recipes-COdiFhxB.js.map +1 -0
  132. package/dist/containers-CRmHf7GP.js +104 -0
  133. package/dist/containers-CRmHf7GP.js.map +1 -0
  134. package/dist/{copyable-ClBuk_UK.js → copyable-CnGCZdX4.js} +4 -4
  135. package/dist/{copyable-ClBuk_UK.js.map → copyable-CnGCZdX4.js.map} +1 -1
  136. package/dist/{data-display-DT_khPl_.js → data-display-D4oujtx0.js} +239 -238
  137. package/dist/data-display-D4oujtx0.js.map +1 -0
  138. package/dist/{date-DCrsDTZc.js → date-Q7jnXxpk.js} +5 -5
  139. package/dist/{date-DCrsDTZc.js.map → date-Q7jnXxpk.js.map} +1 -1
  140. package/dist/{date-picker-B2K3ucWn.js → date-picker-zOt1oNss.js} +102 -90
  141. package/dist/date-picker-zOt1oNss.js.map +1 -0
  142. package/dist/date-pickers-cj8IXbDC.js +179 -0
  143. package/dist/date-pickers-cj8IXbDC.js.map +1 -0
  144. package/dist/{display-hAc1HjpI.js → display-BB4BL_-K.js} +8 -8
  145. package/dist/{display-hAc1HjpI.js.map → display-BB4BL_-K.js.map} +1 -1
  146. package/dist/{dropdown-menu-Cl4X7L5S.js → dropdown-menu-CjY8Vt7W.js} +8 -8
  147. package/dist/{dropdown-menu-Cl4X7L5S.js.map → dropdown-menu-CjY8Vt7W.js.map} +1 -1
  148. package/dist/features/activities.js +11 -11
  149. package/dist/features/ai-chat.js +9 -9
  150. package/dist/features/appointment-calendar.js +222 -220
  151. package/dist/features/appointment-calendar.js.map +1 -1
  152. package/dist/features/async-preview.js +8 -8
  153. package/dist/features/combobox.js +1 -1
  154. package/dist/features/comments.js +1 -1
  155. package/dist/features/data-view.js +10 -10
  156. package/dist/features/email-composer.js +275 -274
  157. package/dist/features/email-composer.js.map +1 -1
  158. package/dist/features/event-calendar.js +199 -198
  159. package/dist/features/event-calendar.js.map +1 -1
  160. package/dist/features/filters.js +1 -1
  161. package/dist/features/global-search.js +12 -12
  162. package/dist/features/kanban.js +4 -4
  163. package/dist/features/map.js +7 -7
  164. package/dist/features/media-library.js +623 -622
  165. package/dist/features/media-library.js.map +1 -1
  166. package/dist/features/mentions.js +1 -1
  167. package/dist/features/overlays.js +1 -1
  168. package/dist/features/products.js +973 -969
  169. package/dist/features/products.js.map +1 -1
  170. package/dist/features/questionnaire.js +12 -12
  171. package/dist/features/resource-assignment.js +8 -8
  172. package/dist/features/resource.js +113 -112
  173. package/dist/features/resource.js.map +1 -1
  174. package/dist/features/rich-text-editor.js +2 -2
  175. package/dist/features/schema-form.js +254 -253
  176. package/dist/features/schema-form.js.map +1 -1
  177. package/dist/features/suggestions.js +3 -3
  178. package/dist/features/sync.js +3 -3
  179. package/dist/features/table.js +1 -1
  180. package/dist/features/theme-tweaker.js +19 -19
  181. package/dist/features/theme-tweaker.js.map +1 -1
  182. package/dist/{feedback-BYIhtitP.js → feedback-DZNL5Lg1.js} +9 -9
  183. package/dist/{feedback-BYIhtitP.js.map → feedback-DZNL5Lg1.js.map} +1 -1
  184. package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DjwGx8eM.js} +2 -2
  185. package/dist/{field-affordance-recipes-DZhnIL_Y.js.map → field-affordance-recipes-DjwGx8eM.js.map} +1 -1
  186. package/dist/{filters-DJVAveHA.js → filters-BcT-uoFy.js} +19 -19
  187. package/dist/{filters-DJVAveHA.js.map → filters-BcT-uoFy.js.map} +1 -1
  188. package/dist/{form-field-CwH9y77i.js → form-field-CsgRmdit.js} +14 -8
  189. package/dist/form-field-CsgRmdit.js.map +1 -0
  190. package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-NXgjkmBG.js} +3 -3
  191. package/dist/{form-sizing-BdP_Mf5p.js.map → form-sizing-NXgjkmBG.js.map} +1 -1
  192. package/dist/{forms-B9G_xwzi.js → forms-BV5m5aQF.js} +83 -65
  193. package/dist/forms-BV5m5aQF.js.map +1 -0
  194. package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-Cd33AKbD.js} +288 -288
  195. package/dist/forms-numeric-Cd33AKbD.js.map +1 -0
  196. package/dist/{header-BSfIEWbI.js → header-BA697l4a.js} +14 -14
  197. package/dist/{header-BSfIEWbI.js.map → header-BA697l4a.js.map} +1 -1
  198. package/dist/hooks/useFormErrors.d.ts +1 -1
  199. package/dist/{hooks-ClH9thn4.js → hooks-BQ-L7Uu2.js} +2 -2
  200. package/dist/{hooks-ClH9thn4.js.map → hooks-BQ-L7Uu2.js.map} +1 -1
  201. package/dist/{icon-badge-DYKIwvOV.js → icon-badge-COWbCCWu.js} +3 -3
  202. package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-COWbCCWu.js.map} +1 -1
  203. package/dist/index.js +2 -2
  204. package/dist/input-Cdw4k0fb.js +289 -0
  205. package/dist/input-Cdw4k0fb.js.map +1 -0
  206. package/dist/{input-CZw8iU99.js → input-DOPL5_QE.js} +3 -3
  207. package/dist/{input-CZw8iU99.js.map → input-DOPL5_QE.js.map} +1 -1
  208. package/dist/item-BvZ2DR_x.js +277 -0
  209. package/dist/item-BvZ2DR_x.js.map +1 -0
  210. package/dist/layout/app-shell.js +1 -1
  211. package/dist/layout/auth.js +1 -1
  212. package/dist/layout/containers.js +1 -1
  213. package/dist/layout/header.js +1 -1
  214. package/dist/layout/hooks.js +1 -1
  215. package/dist/layout/navigation.js +1 -1
  216. package/dist/layout/page.js +1 -1
  217. package/dist/layout/settings.js +1 -1
  218. package/dist/layout/sidebar.js +2 -2
  219. package/dist/layout/workspace.js +1 -1
  220. package/dist/layout.js +10 -10
  221. package/dist/lib/affordance-geometry.generated.d.ts +6 -0
  222. package/dist/lib/ui-provider/types.d.ts +1 -1
  223. package/dist/lib/utils.js +1 -1
  224. package/dist/{media-gallery-3zIVLMWH.js → media-gallery-CSl5W1Fy.js} +6 -6
  225. package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-CSl5W1Fy.js.map} +1 -1
  226. package/dist/{mentions-CGlEJ15c.js → mentions-RKOQaaIB.js} +8 -8
  227. package/dist/{mentions-CGlEJ15c.js.map → mentions-RKOQaaIB.js.map} +1 -1
  228. package/dist/{message-DZ_ruyUV.js → message-INU2xsxu.js} +4 -4
  229. package/dist/{message-DZ_ruyUV.js.map → message-INU2xsxu.js.map} +1 -1
  230. package/dist/metadata-list-qVV7AVxa.js +443 -0
  231. package/dist/metadata-list-qVV7AVxa.js.map +1 -0
  232. package/dist/{navigation-BzhHI3lo.js → navigation-BQNcg1jT.js} +8 -8
  233. package/dist/{navigation-BzhHI3lo.js.map → navigation-BQNcg1jT.js.map} +1 -1
  234. package/dist/{navigation-Bnotn4AQ.js → navigation-DLF3E1IC.js} +7 -7
  235. package/dist/{navigation-Bnotn4AQ.js.map → navigation-DLF3E1IC.js.map} +1 -1
  236. package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-WZEs-hYo.js} +2 -2
  237. package/dist/{navigation-row-recipes-BFLCk_Aq.js.map → navigation-row-recipes-WZEs-hYo.js.map} +1 -1
  238. package/dist/{number-DbV1Dija.js → number-E_OiIfJz.js} +5 -5
  239. package/dist/{number-DbV1Dija.js.map → number-E_OiIfJz.js.map} +1 -1
  240. package/dist/{overflow-tab-bar-CWY7Nogn.js → overflow-tab-bar-CrbqMteP.js} +107 -105
  241. package/dist/overflow-tab-bar-CrbqMteP.js.map +1 -0
  242. package/dist/{overlays-tMkF-VAN.js → overlays-BlKynmde.js} +228 -227
  243. package/dist/overlays-BlKynmde.js.map +1 -0
  244. package/dist/page-CIwNUtGr.js +227 -0
  245. package/dist/page-CIwNUtGr.js.map +1 -0
  246. package/dist/page-header-commands-DFMlNYzN.js +128 -0
  247. package/dist/page-header-commands-DFMlNYzN.js.map +1 -0
  248. package/dist/{pagination-BL25hu2s.js → pagination-Ch8X_47u.js} +5 -5
  249. package/dist/{pagination-BL25hu2s.js.map → pagination-Ch8X_47u.js.map} +1 -1
  250. package/dist/{popover-menu-Cn9rUkdc.js → popover-menu-BYaCdFhf.js} +6 -6
  251. package/dist/{popover-menu-Cn9rUkdc.js.map → popover-menu-BYaCdFhf.js.map} +1 -1
  252. package/dist/{popover-gnTOhbFM.js → popover-uwzX2vo7.js} +4 -4
  253. package/dist/{popover-gnTOhbFM.js.map → popover-uwzX2vo7.js.map} +1 -1
  254. package/dist/{primitives-BFK08r9M.js → primitives-Du64iDbb.js} +6 -6
  255. package/dist/{primitives-BFK08r9M.js.map → primitives-Du64iDbb.js.map} +1 -1
  256. package/dist/primitives.js +4 -4
  257. package/dist/{progress-B1VnCT0K.js → progress-BvF2oCdV.js} +5 -5
  258. package/dist/{progress-B1VnCT0K.js.map → progress-BvF2oCdV.js.map} +1 -1
  259. package/dist/{receipt-BVSOH3Xo.js → receipt-D789Jwyy.js} +6 -6
  260. package/dist/{receipt-BVSOH3Xo.js.map → receipt-D789Jwyy.js.map} +1 -1
  261. package/dist/{rich-text-GOUyKQ-s.js → rich-text-CLJEf76s.js} +4 -4
  262. package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-CLJEf76s.js.map} +1 -1
  263. package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-Cm1dpUpQ.js} +10 -10
  264. package/dist/{rich-text-editor-cRLC-eBK.js.map → rich-text-editor-Cm1dpUpQ.js.map} +1 -1
  265. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-L__e4x47.js} +4 -4
  266. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js.map → rich-text-editor-toolbar-L__e4x47.js.map} +1 -1
  267. package/dist/{scroll-area-DcI-M1UT.js → scroll-area-La5RXsEk.js} +2 -2
  268. package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-La5RXsEk.js.map} +1 -1
  269. package/dist/{separator-Bom7NsGO.js → separator-DAEV0w65.js} +2 -2
  270. package/dist/{separator-Bom7NsGO.js.map → separator-DAEV0w65.js.map} +1 -1
  271. package/dist/{separator-BDV-Y648.js → separator-GNfPG-90.js} +3 -3
  272. package/dist/{separator-BDV-Y648.js.map → separator-GNfPG-90.js.map} +1 -1
  273. package/dist/services/actions.js +1 -1
  274. package/dist/settings-BA2iboic.js +174 -0
  275. package/dist/settings-BA2iboic.js.map +1 -0
  276. package/dist/{sheet-ijlsjq-n.js → sheet-DoAxTb2J.js} +7 -7
  277. package/dist/{sheet-ijlsjq-n.js.map → sheet-DoAxTb2J.js.map} +1 -1
  278. package/dist/{sidebar-DkTO4VTO.js → sidebar-ByqKR_W5.js} +13 -13
  279. package/dist/{sidebar-DkTO4VTO.js.map → sidebar-ByqKR_W5.js.map} +1 -1
  280. package/dist/{sidebar-Db6gkh3U.js → sidebar-D2iSnGJ7.js} +11 -11
  281. package/dist/{sidebar-Db6gkh3U.js.map → sidebar-D2iSnGJ7.js.map} +1 -1
  282. package/dist/{skeleton-Byjnt7qr.js → skeleton-CUj8O5Bd.js} +3 -3
  283. package/dist/{skeleton-Byjnt7qr.js.map → skeleton-CUj8O5Bd.js.map} +1 -1
  284. package/dist/smart-card-CqkzQsK-.js +614 -0
  285. package/dist/smart-card-CqkzQsK-.js.map +1 -0
  286. package/dist/{structure-BmisBK-3.js → structure-C0V0_Fyf.js} +3 -3
  287. package/dist/{structure-BmisBK-3.js.map → structure-C0V0_Fyf.js.map} +1 -1
  288. package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
  289. package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
  290. package/dist/style.css +1 -1
  291. package/dist/{table-DsfzoUia.js → table-CpvnzJn9.js} +3 -3
  292. package/dist/{table-DsfzoUia.js.map → table-CpvnzJn9.js.map} +1 -1
  293. package/dist/{table-BweFy_P9.js → table-DH7rozUv.js} +19 -19
  294. package/dist/{table-BweFy_P9.js.map → table-DH7rozUv.js.map} +1 -1
  295. package/dist/{tabs-CDocW5D1.js → tabs-eqVsJZWO.js} +7 -7
  296. package/dist/{tabs-CDocW5D1.js.map → tabs-eqVsJZWO.js.map} +1 -1
  297. package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-DXItiR0O.js} +101 -98
  298. package/dist/text-inputs-DXItiR0O.js.map +1 -0
  299. package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
  300. package/dist/text.styles-B64My8RZ.js.map +1 -0
  301. package/dist/theme.css +152 -112
  302. package/dist/{timelines-CwM_9IhD.js → timelines-DmtztAY_.js} +10 -10
  303. package/dist/{timelines-CwM_9IhD.js.map → timelines-DmtztAY_.js.map} +1 -1
  304. package/dist/{tooltip-yiRJUFjp.js → tooltip-B4hjKtoV.js} +3 -3
  305. package/dist/{tooltip-yiRJUFjp.js.map → tooltip-B4hjKtoV.js.map} +1 -1
  306. package/dist/{tree-WnKQzwbq.js → tree-CV11PURP.js} +8 -8
  307. package/dist/{tree-WnKQzwbq.js.map → tree-CV11PURP.js.map} +1 -1
  308. package/dist/typography/rich-text.js +1 -1
  309. package/dist/typography-CSyJrh28.js +117 -0
  310. package/dist/typography-CSyJrh28.js.map +1 -0
  311. package/dist/typography.js +1 -1
  312. package/dist/{ui-provider-C_U0Xma4.js → ui-provider-CQCuCBcy.js} +3 -3
  313. package/dist/ui-provider-CQCuCBcy.js.map +1 -0
  314. package/dist/ui-provider.js +1 -1
  315. package/dist/{upload-CXyxmQBP.js → upload-C9SA0X-8.js} +11 -11
  316. package/dist/{upload-CXyxmQBP.js.map → upload-C9SA0X-8.js.map} +1 -1
  317. package/dist/{upload-queue-Boscubn9.js → upload-queue-DhQJiSRc.js} +9 -9
  318. package/dist/{upload-queue-Boscubn9.js.map → upload-queue-DhQJiSRc.js.map} +1 -1
  319. package/dist/{usage-card-BhO5eqkX.js → usage-card-DVTRDmGz.js} +134 -133
  320. package/dist/usage-card-DVTRDmGz.js.map +1 -0
  321. package/dist/{utils-BRhFDwuU.js → utils-CF3c95Io.js} +68 -5
  322. package/dist/utils-CF3c95Io.js.map +1 -0
  323. package/dist/value-inputs-C0o70p-U.js +980 -0
  324. package/dist/value-inputs-C0o70p-U.js.map +1 -0
  325. package/dist/{value-typography-BP8OG6h5.js → value-typography-ClupF0Gz.js} +2 -2
  326. package/dist/{value-typography-BP8OG6h5.js.map → value-typography-ClupF0Gz.js.map} +1 -1
  327. package/dist/workspace-9EFVXUyk.js +410 -0
  328. package/dist/workspace-9EFVXUyk.js.map +1 -0
  329. package/docs/consumer-skill/SKILL.md +14 -129
  330. package/docs/consumer-skill/examples/app-layout.tsx +22 -12
  331. package/docs/consumer-skill/examples/authentication.tsx +77 -0
  332. package/docs/consumer-skill/examples/edit.tsx +30 -38
  333. package/docs/consumer-skill/examples/manifest.json +51 -1
  334. package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
  335. package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
  336. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +92 -0
  337. package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
  338. package/docs/consumer-skill/references/agents-md.md +17 -7
  339. package/docs/consumer-skill/references/authentication.md +42 -0
  340. package/docs/consumer-skill/references/component-contracts.json +319824 -0
  341. package/docs/consumer-skill/references/composition-mapping.md +92 -0
  342. package/docs/consumer-skill/references/composition.md +43 -19
  343. package/docs/consumer-skill/references/design-contract.md +32 -0
  344. package/docs/consumer-skill/references/discovery.md +84 -7
  345. package/docs/consumer-skill/references/installation.md +40 -36
  346. package/docs/consumer-skill/references/integration.md +6 -2
  347. package/docs/consumer-skill/references/public-api.json +1519 -65
  348. package/docs/consumer-skill/references/review.md +9 -4
  349. package/docs/consumer-skill/references/rhf-workflows.md +86 -0
  350. package/docs/consumer-skill/references/screen-archetypes.md +22 -0
  351. package/docs/consumer-skill/references/theming.md +8 -9
  352. package/docs/consumer-skill/references/tokens.json +12 -3
  353. package/docs/consumer-skill/references/workflows.md +2 -1
  354. package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
  355. package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
  356. package/docs/consumer-skill/scripts/composition.mjs +198 -0
  357. package/docs/consumer-skill/scripts/discovery.mjs +42 -10
  358. package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
  359. package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
  360. package/docs/consumer-skill/scripts/inspection.mjs +138 -0
  361. package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
  362. package/docs/consumer-skill/scripts/setup-skills.mjs +76 -0
  363. package/docs/consumer-skills/themelia-components/SKILL.md +30 -0
  364. package/docs/consumer-skills/themelia-composition/SKILL.md +35 -0
  365. package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
  366. package/docs/consumer-skills/themelia-foundation/SKILL.md +14 -0
  367. package/docs/consumer-skills/themelia-tokenization/SKILL.md +35 -0
  368. package/package.json +4 -2
  369. package/templates/README.md +39 -0
  370. package/templates/admin-shell-template.tsx +382 -0
  371. package/templates/analytics-operations-template.tsx +376 -0
  372. package/templates/customers-template.tsx +509 -0
  373. package/templates/index.ts +29 -0
  374. package/templates/orders-template.tsx +1102 -0
  375. package/templates/products-template.tsx +834 -0
  376. package/templates/user-permissions-template.tsx +450 -0
  377. package/dist/action-menu-CllU52Mm.js +0 -280
  378. package/dist/action-menu-CllU52Mm.js.map +0 -1
  379. package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
  380. package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
  381. package/dist/app-shell-C4FhvCqF.js.map +0 -1
  382. package/dist/cards-BaBZR-AU.js.map +0 -1
  383. package/dist/checkbox-AWIhNhmo.js.map +0 -1
  384. package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
  385. package/dist/comments-DD0DUPwJ.js.map +0 -1
  386. package/dist/containers-Mu1LMGV1.js +0 -103
  387. package/dist/containers-Mu1LMGV1.js.map +0 -1
  388. package/dist/data-display-DT_khPl_.js.map +0 -1
  389. package/dist/date-picker-B2K3ucWn.js.map +0 -1
  390. package/dist/date-pickers-Ds8gLaoP.js +0 -175
  391. package/dist/date-pickers-Ds8gLaoP.js.map +0 -1
  392. package/dist/form-field-CwH9y77i.js.map +0 -1
  393. package/dist/forms-B9G_xwzi.js.map +0 -1
  394. package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
  395. package/dist/input-DQdEd0YD.js +0 -263
  396. package/dist/input-DQdEd0YD.js.map +0 -1
  397. package/dist/item-K5_ghvze.js +0 -275
  398. package/dist/item-K5_ghvze.js.map +0 -1
  399. package/dist/metadata-list-8N16ZMW_.js +0 -405
  400. package/dist/metadata-list-8N16ZMW_.js.map +0 -1
  401. package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
  402. package/dist/overlays-tMkF-VAN.js.map +0 -1
  403. package/dist/page-CL9YeH_V.js +0 -224
  404. package/dist/page-CL9YeH_V.js.map +0 -1
  405. package/dist/page-header-commands-DOb6WsfD.js +0 -126
  406. package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
  407. package/dist/settings-ybnjVwbd.js +0 -171
  408. package/dist/settings-ybnjVwbd.js.map +0 -1
  409. package/dist/smart-card-DiC5aac3.js +0 -604
  410. package/dist/smart-card-DiC5aac3.js.map +0 -1
  411. package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
  412. package/dist/text.styles-g4He6UIW.js.map +0 -1
  413. package/dist/typography-UTnveOEy.js +0 -117
  414. package/dist/typography-UTnveOEy.js.map +0 -1
  415. package/dist/ui-provider-C_U0Xma4.js.map +0 -1
  416. package/dist/usage-card-BhO5eqkX.js.map +0 -1
  417. package/dist/utils-BRhFDwuU.js.map +0 -1
  418. package/dist/value-inputs-TaX4OjNk.js +0 -963
  419. package/dist/value-inputs-TaX4OjNk.js.map +0 -1
  420. package/dist/workspace-B-OEm3Kf.js +0 -408
  421. package/dist/workspace-B-OEm3Kf.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area-DcI-M1UT.js","names":["ScrollArea","ScrollAreaPrimitive","cn","ScrollArea$1","props","ScrollArea","className","viewportRef","focusRecipes","viewportClassName","orientation","ScrollBar","scrollbarClassName"],"sources":["../src/components/base/display/scroll-area.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area';\n\nimport { cn } from '../../../lib/utils';\nimport { focusRecipes } from '../../../lib/focus-recipes';\n\nexport type ScrollAreaProps = ScrollAreaPrimitive.Root.Props & {\n\t/** Axes with custom scrollbar chrome. Defaults to vertical. */\n\torientation?: 'vertical' | 'horizontal' | 'both';\n\tviewportRef?: React.Ref<HTMLDivElement>;\n\tviewportClassName?: string;\n\tscrollbarClassName?: string;\n};\n\nfunction ScrollArea({\n\torientation = 'vertical',\n\tclassName,\n\tviewportClassName,\n\tscrollbarClassName,\n\tviewportRef,\n\tchildren,\n\t...props\n}: ScrollAreaProps) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root\n\t\t\tdata-slot=\"scroll-area\"\n\t\t\tclassName={cn('scroll-area--component group/scroll-area relative overflow-hidden', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tref={viewportRef}\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'size-full rounded-[inherit] outline-none transition-[color,box-shadow]',\n\t\t\t\t\t// The root clips overflow, so the shared ring is drawn inside the viewport edge.\n\t\t\t\t\tfocusRecipes.inset,\n\t\t\t\t\tviewportClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t{orientation !== 'horizontal' && <ScrollBar className={scrollbarClassName} />}\n\t\t\t{orientation !== 'vertical' && <ScrollBar orientation=\"horizontal\" className={scrollbarClassName} />}\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({\n\tclassName,\n\torientation = 'vertical',\n\t...props\n}: ScrollAreaPrimitive.Scrollbar.Props) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Scrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\tdata-orientation={orientation}\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t{\n\t\t\t\t\t'h-2.5 flex-col border-t border-t-transparent': orientation === 'horizontal',\n\t\t\t\t\t'h-full w-2 border-l border-l-transparent': orientation === 'vertical',\n\t\t\t\t},\n\t\t\t\t// `rounded-full`, not a scale value: the track is 8-10px on its short\n\t\t\t\t// axis, so any radius past half of that already clamps to a pill.\n\t\t\t\t// Saying `rounded-full` states the intent and stops the value drifting\n\t\t\t\t// with the radius scale.\n\t\t\t\t'flex touch-none select-none rounded-full p-px opacity-0 transition-opacity',\n\t\t\t\t'data-hovering:opacity-100 data-scrolling:opacity-100 group-focus-within/scroll-area:opacity-100',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Thumb\n\t\t\t\tdata-slot=\"scroll-area-thumb\"\n\t\t\t\tclassName=\"relative flex-1 rounded-full bg-border\"\n\t\t\t/>\n\t\t</ScrollAreaPrimitive.Scrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";;;;;;;AAcA,SAASA,EAAW,EACnB,iBAAc,YACd,cACA,sBACA,uBACA,gBACA,aACA,GAAGI,KACgB;CACnB,OACC,kBAACH,EAAoB,MAArB;EACC,aAAU;EACV,WAAWC,EAAG,qEAAqEI,CAAS;EAC5F,GAAIF;EAHL,UAAA;GAKC,kBAACH,EAAoB,UAArB;IACC,KAAKM;IACL,aAAU;IACV,WAAWL,EACV,0EAEAM,EAAa,OACbC,CACD;IAEC;GAC4B,CAAA;GAC7BC,MAAgB,gBAAgB,kBAACC,GAAD,EAAW,WAAWC,EAAqB,CAAA;GAC3EF,MAAgB,cAAc,kBAACC,GAAD;IAAW,aAAY;IAAa,WAAWC;GAAqB,CAAA;GACnG,kBAACX,EAAoB,QAArB,CAA6B,CAAA;EACJ;;AAE5B;AAEA,SAASU,EAAU,EAClB,cACA,iBAAc,YACd,GAAGP,KACoC;CACvC,OACC,kBAACH,EAAoB,WAArB;EACC,aAAU;EACV,oBAAkBS;EACL;EACb,WAAWR,EACV;GACC,gDAAgDQ,MAAgB;GAChE,4CAA4CA,MAAgB;EAC7D,GAKA,8EACA,mGACAJ,CACD;EACA,GAAIF;EAEJ,UAAA,kBAACH,EAAoB,OAArB;GACC,aAAU;GACV,WAAU;EACV,CAAA;CAC6B,CAAA;AAEjC"}
1
+ {"version":3,"file":"scroll-area-La5RXsEk.js","names":["ScrollArea","ScrollAreaPrimitive","cn","ScrollArea$1","props","ScrollArea","className","viewportRef","focusRecipes","viewportClassName","orientation","ScrollBar","scrollbarClassName"],"sources":["../src/components/base/display/scroll-area.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area';\n\nimport { cn } from '../../../lib/utils';\nimport { focusRecipes } from '../../../lib/focus-recipes';\n\nexport type ScrollAreaProps = ScrollAreaPrimitive.Root.Props & {\n\t/** Axes with custom scrollbar chrome. Defaults to vertical. */\n\torientation?: 'vertical' | 'horizontal' | 'both';\n\tviewportRef?: React.Ref<HTMLDivElement>;\n\tviewportClassName?: string;\n\tscrollbarClassName?: string;\n};\n\nfunction ScrollArea({\n\torientation = 'vertical',\n\tclassName,\n\tviewportClassName,\n\tscrollbarClassName,\n\tviewportRef,\n\tchildren,\n\t...props\n}: ScrollAreaProps) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root\n\t\t\tdata-slot=\"scroll-area\"\n\t\t\tclassName={cn('scroll-area--component group/scroll-area relative overflow-hidden', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tref={viewportRef}\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'size-full rounded-[inherit] outline-none transition-[color,box-shadow]',\n\t\t\t\t\t// The root clips overflow, so the shared ring is drawn inside the viewport edge.\n\t\t\t\t\tfocusRecipes.inset,\n\t\t\t\t\tviewportClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t{orientation !== 'horizontal' && <ScrollBar className={scrollbarClassName} />}\n\t\t\t{orientation !== 'vertical' && <ScrollBar orientation=\"horizontal\" className={scrollbarClassName} />}\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({\n\tclassName,\n\torientation = 'vertical',\n\t...props\n}: ScrollAreaPrimitive.Scrollbar.Props) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Scrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\tdata-orientation={orientation}\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t{\n\t\t\t\t\t'h-2.5 flex-col border-t border-t-transparent': orientation === 'horizontal',\n\t\t\t\t\t'h-full w-2 border-l border-l-transparent': orientation === 'vertical',\n\t\t\t\t},\n\t\t\t\t// `rounded-full`, not a scale value: the track is 8-10px on its short\n\t\t\t\t// axis, so any radius past half of that already clamps to a pill.\n\t\t\t\t// Saying `rounded-full` states the intent and stops the value drifting\n\t\t\t\t// with the radius scale.\n\t\t\t\t'flex touch-none select-none rounded-full p-px opacity-0 transition-opacity',\n\t\t\t\t'data-hovering:opacity-100 data-scrolling:opacity-100 group-focus-within/scroll-area:opacity-100',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Thumb\n\t\t\t\tdata-slot=\"scroll-area-thumb\"\n\t\t\t\tclassName=\"relative flex-1 rounded-full bg-border\"\n\t\t\t/>\n\t\t</ScrollAreaPrimitive.Scrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";;;;;;;AAcA,SAASA,EAAW,EACnB,iBAAc,YACd,cACA,sBACA,uBACA,gBACA,aACA,GAAGI,KACgB;CACnB,OACC,kBAACH,EAAoB,MAArB;EACC,aAAU;EACV,WAAWC,EAAG,qEAAqEI,CAAS;EAC5F,GAAIF;EAHL,UAAA;GAKC,kBAACH,EAAoB,UAArB;IACC,KAAKM;IACL,aAAU;IACV,WAAWL,EACV,0EAEAM,EAAa,OACbC,CACD;IAEC;GAC4B,CAAA;GAC7BC,MAAgB,gBAAgB,kBAACC,GAAD,EAAW,WAAWC,EAAqB,CAAA;GAC3EF,MAAgB,cAAc,kBAACC,GAAD;IAAW,aAAY;IAAa,WAAWC;GAAqB,CAAA;GACnG,kBAACX,EAAoB,QAArB,CAA6B,CAAA;EACJ;;AAE5B;AAEA,SAASU,EAAU,EAClB,cACA,iBAAc,YACd,GAAGP,KACoC;CACvC,OACC,kBAACH,EAAoB,WAArB;EACC,aAAU;EACV,oBAAkBS;EACL;EACb,WAAWR,EACV;GACC,gDAAgDQ,MAAgB;GAChE,4CAA4CA,MAAgB;EAC7D,GAKA,8EACA,mGACAJ,CACD;EACA,GAAIF;EAEJ,UAAA,kBAACH,EAAoB,OAArB;GACC,aAAU;GACV,WAAU;EACV,CAAA;CAC6B,CAAA;AAEjC"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "./utils-BRhFDwuU.js";
2
+ import { t as e } from "./utils-CF3c95Io.js";
3
3
  import { jsx as t } from "react/jsx-runtime";
4
4
  import { Separator as n } from "@base-ui/react/separator";
5
5
  //#region src/components/ui/separator.tsx
@@ -14,4 +14,4 @@ function r({ className: r, orientation: i = "horizontal", ...a }) {
14
14
  //#endregion
15
15
  export { r as t };
16
16
 
17
- //# sourceMappingURL=separator-Bom7NsGO.js.map
17
+ //# sourceMappingURL=separator-DAEV0w65.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator-Bom7NsGO.js","names":["Separator","SeparatorPrimitive","cn","Separator$1","props","Separator","className"],"sources":["../src/components/ui/separator.tsx"],"sourcesContent":["\"use client\"\n\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n ...props\n}: SeparatorPrimitive.Props) {\n return (\n <SeparatorPrimitive\n data-slot=\"separator\"\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"],"mappings":";;;;;AAMA,SAASA,EAAU,EACjB,cACA,iBAAc,cACd,GAAGI,KACwB;CAC3B,OACE,kBAACH,GAAD;EACE,aAAU;EACG;EACb,WAAWC,EACT,wKACAI,CACF;EACA,GAAIF;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"separator-DAEV0w65.js","names":["Separator","SeparatorPrimitive","cn","Separator$1","props","Separator","className"],"sources":["../src/components/ui/separator.tsx"],"sourcesContent":["\"use client\"\n\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n ...props\n}: SeparatorPrimitive.Props) {\n return (\n <SeparatorPrimitive\n data-slot=\"separator\"\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"],"mappings":";;;;;AAMA,SAASA,EAAU,EACjB,cACA,iBAAc,cACd,GAAGI,KACwB;CAC3B,OACE,kBAACH,GAAD;EACE,aAAU;EACG;EACb,WAAWC,EACT,wKACAI,CACF;EACA,GAAIF;CACL,CAAA;AAEL"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { t as e } from "./utils-BRhFDwuU.js";
3
- import { t } from "./separator-Bom7NsGO.js";
2
+ import { t as e } from "./utils-CF3c95Io.js";
3
+ import { t } from "./separator-DAEV0w65.js";
4
4
  import "react";
5
5
  import { jsx as n } from "react/jsx-runtime";
6
6
  //#region src/components/base/display/separator.tsx
@@ -18,4 +18,4 @@ r.displayName = "Separator";
18
18
  //#endregion
19
19
  export { r as t };
20
20
 
21
- //# sourceMappingURL=separator-BDV-Y648.js.map
21
+ //# sourceMappingURL=separator-GNfPG-90.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator-BDV-Y648.js","names":["PrimitiveSeparator","cn","Separator","props","Separator$1","dashed","className"],"sources":["../src/components/base/display/separator.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Separator as PrimitiveSeparator } from '../../ui/separator';\nimport { cn } from '../../../lib/utils';\n\nexport interface SeparatorProps extends React.ComponentPropsWithoutRef<typeof PrimitiveSeparator> {\n\t/** Render the rule as a dashed line instead of a solid border fill. */\n\tdashed?: boolean;\n}\n\nexport function Separator({\n\tclassName,\n\tdashed = false,\n\t...props\n}: SeparatorProps) {\n\treturn (\n\t\t<PrimitiveSeparator\n\t\t\tclassName={cn(\n\t\t\t\t'separator--component',\n\t\t\t\tdashed && [\n\t\t\t\t\t// `border-0` zeroes every side first: without preflight, a dashed\n\t\t\t\t\t// style would otherwise give the unset sides a 3px medium border.\n\t\t\t\t\t'bg-transparent border-0 border-border border-dashed',\n\t\t\t\t\t'data-[orientation=horizontal]:h-0 data-[orientation=horizontal]:border-t',\n\t\t\t\t\t'data-[orientation=vertical]:w-0 data-[orientation=vertical]:border-l',\n\t\t\t\t],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nSeparator.displayName = 'Separator';\n"],"mappings":";;;;;;AAUA,SAAgBE,EAAU,EACzB,cACA,YAAS,IACT,GAAGC,KACe;CAClB,OACC,kBAACH,GAAD;EACC,WAAWC,EACV,wBACAI,KAAU;GAGT;GACA;GACA;EACD,GACAC,CACD;EACA,GAAIH;CACJ,CAAA;AAEH;AAEA,EAAU,cAAc"}
1
+ {"version":3,"file":"separator-GNfPG-90.js","names":["PrimitiveSeparator","cn","Separator","props","Separator$1","dashed","className"],"sources":["../src/components/base/display/separator.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Separator as PrimitiveSeparator } from '../../ui/separator';\nimport { cn } from '../../../lib/utils';\n\nexport interface SeparatorProps extends React.ComponentPropsWithoutRef<typeof PrimitiveSeparator> {\n\t/** Render the rule as a dashed line instead of a solid border fill. */\n\tdashed?: boolean;\n}\n\nexport function Separator({\n\tclassName,\n\tdashed = false,\n\t...props\n}: SeparatorProps) {\n\treturn (\n\t\t<PrimitiveSeparator\n\t\t\tclassName={cn(\n\t\t\t\t'separator--component',\n\t\t\t\tdashed && [\n\t\t\t\t\t// `border-0` zeroes every side first: without preflight, a dashed\n\t\t\t\t\t// style would otherwise give the unset sides a 3px medium border.\n\t\t\t\t\t'bg-transparent border-0 border-border border-dashed',\n\t\t\t\t\t'data-[orientation=horizontal]:h-0 data-[orientation=horizontal]:border-t',\n\t\t\t\t\t'data-[orientation=vertical]:w-0 data-[orientation=vertical]:border-l',\n\t\t\t\t],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nSeparator.displayName = 'Separator';\n"],"mappings":";;;;;;AAUA,SAAgBE,EAAU,EACzB,cACA,YAAS,IACT,GAAGC,KACe;CAClB,OACC,kBAACH,GAAD;EACC,WAAWC,EACV,wBACAI,KAAU;GAGT;GACA;GACA;EACD,GACAC,CACD;EACA,GAAIH;CACJ,CAAA;AAEH;AAEA,EAAU,cAAc"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "../lib/strings.js";
3
- import { n as t, r as n, t as r } from "../overlays-tMkF-VAN.js";
3
+ import { n as t, r as n, t as r } from "../overlays-BlKynmde.js";
4
4
  import { createContext as i, createElement as a, useContext as o, useEffect as s, useId as c, useMemo as l, useRef as u, useSyncExternalStore as d } from "react";
5
5
  import { jsx as f, jsxs as p } from "react/jsx-runtime";
6
6
  //#region src/services/actions/actions.types.ts
@@ -0,0 +1,174 @@
1
+ "use client";
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";
5
+ import { n as a, t as o } from "./text.styles-B64My8RZ.js";
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";
9
+ import { n as u, t as d } from "./composition.recipes-COdiFhxB.js";
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";
13
+ import { n as g } from "./layout.types-Cn7aUzJp.js";
14
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
15
+ //#region src/components/layout/settings/settings.tsx
16
+ var y = { navigationAriaLabel: "Settings navigation" };
17
+ function b(e) {
18
+ if (!e) return "";
19
+ try {
20
+ let t = typeof window < "u" ? window.location.origin : "http://localhost", n = new URL(e, t).pathname.replace(/\/+$/, "");
21
+ return n.length > 0 ? n : "/";
22
+ } catch {
23
+ let t = (e.split("?")[0] ?? e).replace(/\/+$/, "");
24
+ return t.length > 0 ? t : "/";
25
+ }
26
+ }
27
+ function x(e, t, n) {
28
+ if (t) return e.id === t;
29
+ if (!n || !e.href) return !1;
30
+ let r = b(n), i = b(e.href);
31
+ return r === i || r.startsWith(`${i}/`);
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);
35
+ return /* @__PURE__ */ v("section", {
36
+ "data-component": "aside-nav-shell",
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),
39
+ children: [/* @__PURE__ */ _("aside", {
40
+ "data-slot": "aside-nav-shell-aside",
41
+ className: "aside-nav-shell--aside min-w-0",
42
+ children: /* @__PURE__ */ v(l, {
43
+ surface: "card",
44
+ className: t("aside-nav-shell--nav-card sticky top-[calc(var(--shell-header-height)_+_1rem*var(--space-scale))]", P),
45
+ contentClassName: "grid gap-space-xl",
46
+ children: [!!D && /* @__PURE__ */ _("div", {
47
+ className: "aside-nav-shell--aside-header",
48
+ children: D
49
+ }), /* @__PURE__ */ _(c, {
50
+ render: /* @__PURE__ */ _("nav", { "aria-label": R.navigationAriaLabel }),
51
+ gap: "xl",
52
+ children: C.map((e) => /* @__PURE__ */ v(c, {
53
+ gap: "sm",
54
+ children: [!!e.label && /* @__PURE__ */ _(r, {
55
+ className: "px-row-x text-inherit",
56
+ children: e.label
57
+ }), /* @__PURE__ */ _(c, {
58
+ gap: "2xs",
59
+ children: e.items.map((e) => {
60
+ let r = e.icon, i = x(e, w, T), a = /* @__PURE__ */ v(c, {
61
+ direction: "horizontal",
62
+ align: "start",
63
+ gap: "md",
64
+ wrap: !1,
65
+ render: /* @__PURE__ */ _("span", {}),
66
+ className: "min-w-0 w-full",
67
+ children: [
68
+ !!r && /* @__PURE__ */ _(r, { className: t("size-icon shrink-0 mt-space-2xs", i ? "text-accent-foreground" : "text-muted-foreground") }),
69
+ /* @__PURE__ */ v(c, {
70
+ render: /* @__PURE__ */ _("span", {}),
71
+ gap: "dense",
72
+ className: "min-w-0 flex-1",
73
+ children: [/* @__PURE__ */ _(n, {
74
+ tag: "span",
75
+ type: "inherit",
76
+ weight: i ? "semibold" : "medium",
77
+ className: "truncate",
78
+ children: e.label
79
+ }), !!e.description && /* @__PURE__ */ _(n, {
80
+ tag: "span",
81
+ size: "xs",
82
+ type: "secondary",
83
+ className: "truncate",
84
+ children: e.description
85
+ })]
86
+ }),
87
+ !!e.badge && /* @__PURE__ */ _(p, {
88
+ tone: "secondary",
89
+ className: "shrink-0",
90
+ children: e.badge
91
+ })
92
+ ]
93
+ });
94
+ return /* @__PURE__ */ _("div", {
95
+ onClick: () => {
96
+ e.disabled || e.onSelect?.(e.id);
97
+ },
98
+ children: z({
99
+ href: e.href,
100
+ children: a,
101
+ active: i,
102
+ disabled: e.disabled,
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"),
105
+ "aria-label": typeof e.label == "string" ? e.label : void 0
106
+ })
107
+ }, e.id);
108
+ })
109
+ })]
110
+ }, e.id))
111
+ })]
112
+ })
113
+ }), /* @__PURE__ */ v(c, {
114
+ gap: u.subjects,
115
+ "data-slot": "aside-nav-shell-main",
116
+ className: t("aside-nav-shell--main", F),
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",
128
+ children: [/* @__PURE__ */ v(c, {
129
+ gap: "normal",
130
+ className: "min-w-0 flex-1",
131
+ children: [!!b && /* @__PURE__ */ _(i, {
132
+ tag: "h2",
133
+ size: a.subject,
134
+ className: "border-0 pb-0",
135
+ children: b
136
+ }), !!S && /* @__PURE__ */ _(n, {
137
+ ...o.structuralDescription,
138
+ className: "max-w-3xl",
139
+ children: S
140
+ })]
141
+ }), !!(O || B) && /* @__PURE__ */ v(c, {
142
+ direction: "horizontal",
143
+ wrap: !0,
144
+ align: "center",
145
+ justify: B ? "end" : void 0,
146
+ gap: u.commands,
147
+ className: "aside-nav-shell--actions shrink-0",
148
+ children: [O, B && /* @__PURE__ */ _(h, {
149
+ primaryAction: k,
150
+ secondaryActions: A,
151
+ moreActionsLabel: j,
152
+ renderLink: z
153
+ })]
154
+ })]
155
+ }),
156
+ /* @__PURE__ */ _("div", {
157
+ "data-slot": "aside-nav-shell-content",
158
+ className: "aside-nav-shell--content min-w-0",
159
+ children: E
160
+ }),
161
+ !!M && /* @__PURE__ */ _("footer", {
162
+ className: "aside-nav-shell--footer",
163
+ children: M
164
+ })
165
+ ]
166
+ })]
167
+ });
168
+ }
169
+ var C = S;
170
+ S.displayName = "AsideNavShell";
171
+ //#endregion
172
+ export { C as n, y as r, S as t };
173
+
174
+ //# sourceMappingURL=settings-BA2iboic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-BA2iboic.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, visible at every width. */\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/** 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\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<Card\n\t\t\t\t\tsurface=\"card\"\n\t\t\t\t\tclassName={cn('aside-nav-shell--nav-card sticky top-[calc(var(--shell-header-height)_+_1rem*var(--space-scale))]', 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<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=\"truncate\">\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=\"truncate\">\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-inner 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<Stack\n\t\t\t\t\t\trender={<header />}\n\t\t\t\t\t\tdirection={{ base: 'vertical', sm: 'horizontal' }}\n\t\t\t\t\t\tgap=\"lg\"\n\t\t\t\t\t\talign={{ sm: 'start' }}\n\t\t\t\t\t\tjustify={{ sm: 'between' }}\n\t\t\t\t\t\tclassName=\"aside-nav-shell--header\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* `flex-1` so the text yields width to the actions instead of\n\t\t\t\t\t\t claiming its full content width. The header wraps on `sm`,\n\t\t\t\t\t\t and the description's `max-w-3xl` is wider than the content\n\t\t\t\t\t\t column, so without this the actions wrapped onto their own\n\t\t\t\t\t\t line below the description rather than sitting beside the\n\t\t\t\t\t\t title. */}\n\t\t\t\t\t\t<Stack gap=\"normal\" className=\"min-w-0 flex-1\">\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=\"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 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\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</Stack>\n\t\t\t\t)}\n\t\t\t\t\t<div data-slot=\"aside-nav-shell-content\" className=\"aside-nav-shell--content min-w-0\">\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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"}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { r as e } from "./theme-scope-BJ6eE2xt.js";
3
- import { t } from "./utils-BRhFDwuU.js";
4
- import { t as n } from "./affordance-geometry.generated-tF36bREk.js";
5
- import { c as r } from "./typography-UTnveOEy.js";
6
- import { a as i, i as a, s as o } from "./text.styles-g4He6UIW.js";
3
+ import { t } from "./utils-CF3c95Io.js";
4
+ import { t as n } from "./affordance-geometry.generated-B8yGOr8-.js";
5
+ import { c as r } from "./typography-CSyJrh28.js";
6
+ import { l as i, o as a, s as o } from "./text.styles-B64My8RZ.js";
7
7
  import { t as s } from "./motion-recipes-ChBg4HBq.js";
8
8
  import { t as c } from "./slot-CLF9kLrS.js";
9
- import { t as l } from "./button-DVzspB_G.js";
9
+ import { t as l } from "./button-DkmK-z8E.js";
10
10
  import { a as u, r as d } from "./surface-recipes-BKRVW8Os.js";
11
11
  import { t as f } from "./overlay.recipes-8GHqmlb4.js";
12
12
  import { t as p } from "./use-popup-focus-recovery-C0QPvgOR.js";
@@ -123,7 +123,7 @@ function k({ className: e, asChild: n = !1, ...r }) {
123
123
  function A(e) {
124
124
  return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
125
125
  }
126
- var j = t(i.base, o.semibold, a.snug), M = b, N = m.forwardRef(function({ className: e, ...n }, r) {
126
+ var j = t(o.base, i.semibold, a.snug), M = b, N = m.forwardRef(function({ className: e, ...n }, r) {
127
127
  return /* @__PURE__ */ h(x, {
128
128
  ref: r,
129
129
  className: t("sheet-trigger--component", e),
@@ -210,4 +210,4 @@ B.displayName = "SheetDescription";
210
210
  //#endregion
211
211
  export { B as a, z as c, F as i, N as l, L as n, R as o, P as r, I as s, M as t, y as u };
212
212
 
213
- //# sourceMappingURL=sheet-ijlsjq-n.js.map
213
+ //# sourceMappingURL=sheet-DoAxTb2J.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-ijlsjq-n.js","names":["Sheet","SheetPrimitive","SheetTrigger","SheetClose","SheetContent","SheetHeader","SheetFooter","SheetTitle","SheetDescription","SheetPrimitive","React","SheetTriggerPrimitive","SheetClosePrimitive","SheetContentPrimitive","SheetHeaderPrimitive","SheetFooterPrimitive","SheetTitlePrimitive","SheetDescriptionPrimitive","useThemePortalContainer","affordanceGeometry","Text","textSizes","textLineHeights","textWeights","motionRecipes","Slot","Button","surfaceDividerRecipes","modalRegionRecipes","modalBackdropRecipe","usePopupFocusRecovery","React$1","overlayAnatomyRecipes","Sheet$1","props","Dialog","SheetTrigger$1","renderSlot","asChild","SheetClose$1","SheetPortal","resolvedContainer","container","SheetOverlay","cn","className","SheetContent$1","recoverFocus","onFocusCapture","side","children","showCloseButton","XIcon","SheetHeader$1","SheetFooter$1","SheetTitle$1","SheetDescription$1","isSimpleText","value","titleTypography","Sheet","SheetTrigger","SheetClose","SheetContent","SheetHeader","textGap","SheetBody","SheetFooter","SheetTitle","SheetDescription"],"sources":["../src/lib/overlay-anatomy-recipes.ts","../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 { overlayAnatomyRecipes } from '../../lib/overlay-anatomy-recipes';\nimport { motionRecipes } from '../../lib/motion-recipes';\nimport { modalBackdropRecipe } from './overlay.recipes';\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, ...props }: SheetPrimitive.Portal.Props) {\n const resolvedContainer = useThemePortalContainer(container)\n return <SheetPrimitive.Portal container={resolvedContainer} data-slot=\"sheet-portal\" {...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 onFocusCapture,\n ...props\n}: SheetPrimitive.Popup.Props & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n showCloseButton?: boolean\n} & { container?: ThemePortalContainer }) {\n const resolvedContainer = useThemePortalContainer(container)\n const recoverFocus = usePopupFocusRecovery(onFocusCapture)\n return (\n <SheetPortal container={resolvedContainer}>\n <SheetOverlay />\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 onFocusCapture={recoverFocus}\n >\n {children}\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 active:translate-y-0!', 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 [&_[data-slot=sheet-close]]:active:translate-y-0!',\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":"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"}
1
+ {"version":3,"file":"sheet-DoAxTb2J.js","names":["Sheet","SheetPrimitive","SheetTrigger","SheetClose","SheetContent","SheetHeader","SheetFooter","SheetTitle","SheetDescription","SheetPrimitive","React","SheetTriggerPrimitive","SheetClosePrimitive","SheetContentPrimitive","SheetHeaderPrimitive","SheetFooterPrimitive","SheetTitlePrimitive","SheetDescriptionPrimitive","useThemePortalContainer","affordanceGeometry","Text","textWeights","textLineHeights","textSizes","motionRecipes","Slot","Button","surfaceDividerRecipes","modalRegionRecipes","modalBackdropRecipe","usePopupFocusRecovery","React$1","overlayAnatomyRecipes","Sheet$1","props","Dialog","SheetTrigger$1","renderSlot","asChild","SheetClose$1","SheetPortal","resolvedContainer","container","SheetOverlay","cn","className","SheetContent$1","recoverFocus","onFocusCapture","side","children","showCloseButton","XIcon","SheetHeader$1","SheetFooter$1","SheetTitle$1","SheetDescription$1","isSimpleText","value","titleTypography","Sheet","SheetTrigger","SheetClose","SheetContent","SheetHeader","textGap","SheetBody","SheetFooter","SheetTitle","SheetDescription"],"sources":["../src/lib/overlay-anatomy-recipes.ts","../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 { overlayAnatomyRecipes } from '../../lib/overlay-anatomy-recipes';\nimport { motionRecipes } from '../../lib/motion-recipes';\nimport { modalBackdropRecipe } from './overlay.recipes';\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, ...props }: SheetPrimitive.Portal.Props) {\n const resolvedContainer = useThemePortalContainer(container)\n return <SheetPrimitive.Portal container={resolvedContainer} data-slot=\"sheet-portal\" {...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 onFocusCapture,\n ...props\n}: SheetPrimitive.Popup.Props & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n showCloseButton?: boolean\n} & { container?: ThemePortalContainer }) {\n const resolvedContainer = useThemePortalContainer(container)\n const recoverFocus = usePopupFocusRecovery(onFocusCapture)\n return (\n <SheetPortal container={resolvedContainer}>\n <SheetOverlay />\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 onFocusCapture={recoverFocus}\n >\n {children}\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 active:translate-y-0!', 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 [&_[data-slot=sheet-close]]:active:translate-y-0!',\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":"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"}
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "./lib/strings.js";
3
- import { t } from "./utils-BRhFDwuU.js";
4
- import { c as n } from "./typography-UTnveOEy.js";
5
- import { r } from "./tooltip-yiRJUFjp.js";
6
- import { t as i } from "./structure-BmisBK-3.js";
7
- import { g as a, r as o, t as s } from "./dropdown-menu-Cl4X7L5S.js";
8
- import { n as c } from "./action-menu-CllU52Mm.js";
9
- import { r as l } from "./skeleton-Byjnt7qr.js";
3
+ import { t } from "./utils-CF3c95Io.js";
4
+ import { c as n } from "./typography-CSyJrh28.js";
5
+ import { r } from "./tooltip-B4hjKtoV.js";
6
+ import { t as i } from "./structure-C0V0_Fyf.js";
7
+ import { g as a, r as o, t as s } from "./dropdown-menu-CjY8Vt7W.js";
8
+ import { n as c } from "./action-menu-CHgs8vmj.js";
9
+ import { r as l } from "./skeleton-CUj8O5Bd.js";
10
10
  import { t as u } from "./initials-format-CDoQEOd_.js";
11
- import { i as d, n as f, s as p } from "./avatar-DAPlDvhJ.js";
12
- import { n as m, r as h, t as g } from "./collapsible-C-_l4hpy.js";
13
- import { t as _ } from "./scroll-area-DcI-M1UT.js";
14
- import { E as v, T as y, _ as ee, b, c as x, d as S, f as te, h as C, i as w, l as T, m as E, n as ne, o as D, r as re, s as O, t as k, v as ie, y as ae } from "./sidebar-Db6gkh3U.js";
15
- import { a as A, c as j, d as M, i as N, l as P, o as F, r as I, s as L, u as R } from "./hooks-ClH9thn4.js";
11
+ import { i as d, n as f, s as p } from "./avatar-DWO_HHhB.js";
12
+ import { n as m, r as h, t as g } from "./collapsible-Do4G0zcC.js";
13
+ import { t as _ } from "./scroll-area-La5RXsEk.js";
14
+ import { E as v, T as y, _ as ee, b, c as x, d as S, f as te, h as C, i as w, l as T, m as E, n as ne, o as D, r as re, s as O, t as k, v as ie, y as ae } from "./sidebar-D2iSnGJ7.js";
15
+ import { a as A, c as j, d as M, i as N, l as P, o as F, r as I, s as L, u as R } from "./hooks-BQ-L7Uu2.js";
16
16
  import * as z from "react";
17
17
  import { Fragment as B, jsx as V, jsxs as H } from "react/jsx-runtime";
18
18
  import { ChevronRight as oe, ChevronsUpDown as U, ExternalLink as se, LogOut as W, Settings as G, User as K } from "lucide-react";
@@ -509,4 +509,4 @@ function ge({ user: t, customContent: r, onProfile: l, onSettings: m, onLogout:
509
509
  //#endregion
510
510
  export { $ as a, X as c, ce as d, J as f, de as i, le as l, he as n, Q as o, q as p, me as r, Z as s, ge as t, Y as u };
511
511
 
512
- //# sourceMappingURL=sidebar-DkTO4VTO.js.map
512
+ //# sourceMappingURL=sidebar-ByqKR_W5.js.map