admin-ui-starter-kit 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1121) hide show
  1. package/.agents/skills/component-library-rules/SKILL.md +19 -0
  2. package/.agents/skills/component-library-rules/references/components/base__metadata-list.md +2 -2
  3. package/.agents/skills/component-library-rules/references/import-paths.md +21 -0
  4. package/AGENTS.md +3 -1
  5. package/INTEGRATION.md +29 -2
  6. package/PUBLISHING.md +2 -0
  7. package/README.md +24 -0
  8. package/dist/_shared/accordion-CztqyaIN.js +130 -0
  9. package/dist/_shared/accordion-CztqyaIN.js.map +1 -0
  10. package/dist/_shared/accordion-D5uTCLCB.cjs +2 -0
  11. package/dist/_shared/accordion-D5uTCLCB.cjs.map +1 -0
  12. package/dist/_shared/action-menu-Yrj6VzFS.js +96 -0
  13. package/dist/_shared/action-menu-Yrj6VzFS.js.map +1 -0
  14. package/dist/_shared/action-menu-eVP8GGlv.cjs +2 -0
  15. package/dist/_shared/action-menu-eVP8GGlv.cjs.map +1 -0
  16. package/dist/_shared/ai-artifact-DaHXJTKg.cjs +3 -0
  17. package/dist/_shared/ai-artifact-DaHXJTKg.cjs.map +1 -0
  18. package/dist/_shared/ai-artifact-DyLn3JAs.js +1068 -0
  19. package/dist/_shared/ai-artifact-DyLn3JAs.js.map +1 -0
  20. package/dist/_shared/alert-BVw4Mq6H.js +48 -0
  21. package/dist/_shared/alert-BVw4Mq6H.js.map +1 -0
  22. package/dist/_shared/alert-DXSlR9ja.cjs +2 -0
  23. package/dist/_shared/alert-DXSlR9ja.cjs.map +1 -0
  24. package/dist/_shared/avatar-CpBz9pTv.js +52 -0
  25. package/dist/_shared/avatar-CpBz9pTv.js.map +1 -0
  26. package/dist/_shared/avatar-dg20YFFs.cjs +2 -0
  27. package/dist/_shared/avatar-dg20YFFs.cjs.map +1 -0
  28. package/dist/_shared/badge-BVCh_hfL.js +108 -0
  29. package/dist/_shared/badge-BVCh_hfL.js.map +1 -0
  30. package/dist/_shared/badge-C49SSz-6.cjs +2 -0
  31. package/dist/_shared/badge-C49SSz-6.cjs.map +1 -0
  32. package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs +2 -0
  33. package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs.map +1 -0
  34. package/dist/_shared/breadcrumbs-Dc93fqqE.js +111 -0
  35. package/dist/_shared/breadcrumbs-Dc93fqqE.js.map +1 -0
  36. package/dist/_shared/button-2xglT7yf.cjs +2 -0
  37. package/dist/_shared/button-2xglT7yf.cjs.map +1 -0
  38. package/dist/_shared/button-ChCkwoOD.js +176 -0
  39. package/dist/_shared/button-ChCkwoOD.js.map +1 -0
  40. package/dist/_shared/button-D0nF99a9.cjs +2 -0
  41. package/dist/_shared/button-D0nF99a9.cjs.map +1 -0
  42. package/dist/_shared/button-DBR4QI9E.js +46 -0
  43. package/dist/_shared/button-DBR4QI9E.js.map +1 -0
  44. package/dist/_shared/buttons-Bcnt1md_.js +143 -0
  45. package/dist/_shared/buttons-Bcnt1md_.js.map +1 -0
  46. package/dist/_shared/buttons-km9xqXJv.cjs +2 -0
  47. package/dist/_shared/buttons-km9xqXJv.cjs.map +1 -0
  48. package/dist/_shared/card-radio-group-BGH93O5-.js +158 -0
  49. package/dist/_shared/card-radio-group-BGH93O5-.js.map +1 -0
  50. package/dist/_shared/card-radio-group-Vq741uhL.cjs +2 -0
  51. package/dist/_shared/card-radio-group-Vq741uhL.cjs.map +1 -0
  52. package/dist/_shared/combobox-BgXAxjU2.js +746 -0
  53. package/dist/_shared/combobox-BgXAxjU2.js.map +1 -0
  54. package/dist/_shared/combobox-DuIyh3xJ.cjs +2 -0
  55. package/dist/_shared/combobox-DuIyh3xJ.cjs.map +1 -0
  56. package/dist/_shared/command-BbiijN61.js +39 -0
  57. package/dist/_shared/command-BbiijN61.js.map +1 -0
  58. package/dist/_shared/command-D7zTvyBJ.cjs +2 -0
  59. package/dist/_shared/command-D7zTvyBJ.cjs.map +1 -0
  60. package/dist/_shared/command-DGNtTI-V.cjs +2 -0
  61. package/dist/_shared/command-DGNtTI-V.cjs.map +1 -0
  62. package/dist/_shared/command-jKbwFRtS.js +123 -0
  63. package/dist/_shared/command-jKbwFRtS.js.map +1 -0
  64. package/dist/_shared/comments-CNUsdwGW.cjs +2 -0
  65. package/dist/_shared/comments-CNUsdwGW.cjs.map +1 -0
  66. package/dist/_shared/comments-CvmS7zG3.js +945 -0
  67. package/dist/_shared/comments-CvmS7zG3.js.map +1 -0
  68. package/dist/_shared/containers-BFDv7cCV.cjs +2 -0
  69. package/dist/_shared/containers-BFDv7cCV.cjs.map +1 -0
  70. package/dist/_shared/containers-C1-A_2PT.js +19 -0
  71. package/dist/_shared/containers-C1-A_2PT.js.map +1 -0
  72. package/dist/_shared/content-container-CwqFnaI0.cjs +2 -0
  73. package/dist/_shared/content-container-CwqFnaI0.cjs.map +1 -0
  74. package/dist/_shared/content-container-D_3JGBSc.js +33 -0
  75. package/dist/_shared/content-container-D_3JGBSc.js.map +1 -0
  76. package/dist/_shared/copyable-CHhCGMfW.js +38 -0
  77. package/dist/_shared/copyable-CHhCGMfW.js.map +1 -0
  78. package/dist/_shared/copyable-ndaiocYq.cjs +2 -0
  79. package/dist/_shared/copyable-ndaiocYq.cjs.map +1 -0
  80. package/dist/_shared/date-picker-B8O_qbik.js +1353 -0
  81. package/dist/_shared/date-picker-B8O_qbik.js.map +1 -0
  82. package/dist/_shared/date-picker-BnOjyuKS.cjs +2 -0
  83. package/dist/_shared/date-picker-BnOjyuKS.cjs.map +1 -0
  84. package/dist/_shared/date-pickers-Cas9cPlj.js +330 -0
  85. package/dist/_shared/date-pickers-Cas9cPlj.js.map +1 -0
  86. package/dist/_shared/date-pickers-Dk-G3RMy.cjs +2 -0
  87. package/dist/_shared/date-pickers-Dk-G3RMy.cjs.map +1 -0
  88. package/dist/_shared/dialog-67GmkMLC.js +101 -0
  89. package/dist/_shared/dialog-67GmkMLC.js.map +1 -0
  90. package/dist/_shared/dialog-BF_4uAhE.cjs +2 -0
  91. package/dist/_shared/dialog-BF_4uAhE.cjs.map +1 -0
  92. package/dist/_shared/display-B9xVWboG.cjs +8 -0
  93. package/dist/_shared/display-B9xVWboG.cjs.map +1 -0
  94. package/dist/_shared/display-BM_GxDAo.js +1237 -0
  95. package/dist/_shared/display-BM_GxDAo.js.map +1 -0
  96. package/dist/_shared/dropdown-menu-4nxEBMnd.js +147 -0
  97. package/dist/_shared/dropdown-menu-4nxEBMnd.js.map +1 -0
  98. package/dist/_shared/dropdown-menu-DZlWHqWS.cjs +2 -0
  99. package/dist/_shared/dropdown-menu-DZlWHqWS.cjs.map +1 -0
  100. package/dist/_shared/form-field-BQlki-8s.js +319 -0
  101. package/dist/_shared/form-field-BQlki-8s.js.map +1 -0
  102. package/dist/_shared/form-field-DzpwVS99.cjs +2 -0
  103. package/dist/_shared/form-field-DzpwVS99.cjs.map +1 -0
  104. package/dist/_shared/form-sizing-CcbB-OHF.js +21 -0
  105. package/dist/_shared/form-sizing-CcbB-OHF.js.map +1 -0
  106. package/dist/_shared/form-sizing-Cw12UeI6.cjs +2 -0
  107. package/dist/_shared/form-sizing-Cw12UeI6.cjs.map +1 -0
  108. package/dist/_shared/format-B2AdSQVn.cjs +2 -0
  109. package/dist/_shared/format-B2AdSQVn.cjs.map +1 -0
  110. package/dist/_shared/format-CP65h1vK.js +48 -0
  111. package/dist/_shared/format-CP65h1vK.js.map +1 -0
  112. package/dist/_shared/forms-B8aaNG44.cjs +2 -0
  113. package/dist/_shared/forms-B8aaNG44.cjs.map +1 -0
  114. package/dist/_shared/forms-BusuTZZ2.js +3374 -0
  115. package/dist/_shared/forms-BusuTZZ2.js.map +1 -0
  116. package/dist/_shared/header-DWfOUjFL.cjs +2 -0
  117. package/dist/_shared/header-DWfOUjFL.cjs.map +1 -0
  118. package/dist/_shared/header-KpdoLtP9.js +369 -0
  119. package/dist/_shared/header-KpdoLtP9.js.map +1 -0
  120. package/dist/_shared/heading-BprqyzDs.js +39 -0
  121. package/dist/_shared/heading-BprqyzDs.js.map +1 -0
  122. package/dist/_shared/heading-mZc_jan1.cjs +2 -0
  123. package/dist/_shared/heading-mZc_jan1.cjs.map +1 -0
  124. package/dist/_shared/hooks-C-uWoRq5.cjs +2 -0
  125. package/dist/_shared/hooks-C-uWoRq5.cjs.map +1 -0
  126. package/dist/_shared/hooks-D5HJtvvP.js +118 -0
  127. package/dist/_shared/hooks-D5HJtvvP.js.map +1 -0
  128. package/dist/_shared/icon-badge-BBqDyAUz.cjs +2 -0
  129. package/dist/_shared/icon-badge-BBqDyAUz.cjs.map +1 -0
  130. package/dist/_shared/icon-badge-Bi63T-bj.js +52 -0
  131. package/dist/_shared/icon-badge-Bi63T-bj.js.map +1 -0
  132. package/dist/_shared/input-B2YXTHqz.cjs +2 -0
  133. package/dist/_shared/input-B2YXTHqz.cjs.map +1 -0
  134. package/dist/_shared/input-BJb10xb9.cjs +2 -0
  135. package/dist/_shared/input-BJb10xb9.cjs.map +1 -0
  136. package/dist/_shared/input-CZxP5Xgj.js +17 -0
  137. package/dist/_shared/input-CZxP5Xgj.js.map +1 -0
  138. package/dist/_shared/input-DQahu2sm.js +182 -0
  139. package/dist/_shared/input-DQahu2sm.js.map +1 -0
  140. package/dist/_shared/item-Cu5JbZyZ.js +224 -0
  141. package/dist/_shared/item-Cu5JbZyZ.js.map +1 -0
  142. package/dist/_shared/item-Cx_7QZ2o.cjs +2 -0
  143. package/dist/_shared/item-Cx_7QZ2o.cjs.map +1 -0
  144. package/dist/_shared/mentions-CS3rIhze.js +493 -0
  145. package/dist/_shared/mentions-CS3rIhze.js.map +1 -0
  146. package/dist/_shared/mentions-D7gnP3Nf.cjs +2 -0
  147. package/dist/_shared/mentions-D7gnP3Nf.cjs.map +1 -0
  148. package/dist/_shared/metadata-CRsVWE8Y.cjs +2 -0
  149. package/dist/_shared/metadata-CRsVWE8Y.cjs.map +1 -0
  150. package/dist/_shared/metadata-CfG0FdFZ.js +236 -0
  151. package/dist/_shared/metadata-CfG0FdFZ.js.map +1 -0
  152. package/dist/_shared/money-display-Bd0rkjc9.js +198 -0
  153. package/dist/_shared/money-display-Bd0rkjc9.js.map +1 -0
  154. package/dist/_shared/money-display-DSFft9Mi.cjs +2 -0
  155. package/dist/_shared/money-display-DSFft9Mi.cjs.map +1 -0
  156. package/dist/_shared/navigation-Do9k5Xh1.js +420 -0
  157. package/dist/_shared/navigation-Do9k5Xh1.js.map +1 -0
  158. package/dist/_shared/navigation-QAAD3HJd.cjs +2 -0
  159. package/dist/_shared/navigation-QAAD3HJd.cjs.map +1 -0
  160. package/dist/_shared/overlays-B8AH8fNv.js +633 -0
  161. package/dist/_shared/overlays-B8AH8fNv.js.map +1 -0
  162. package/dist/_shared/overlays-DOcoRy8k.cjs +2 -0
  163. package/dist/_shared/overlays-DOcoRy8k.cjs.map +1 -0
  164. package/dist/_shared/page-BPCeKX9X.js +263 -0
  165. package/dist/_shared/page-BPCeKX9X.js.map +1 -0
  166. package/dist/_shared/page-DMM32sxi.cjs +2 -0
  167. package/dist/_shared/page-DMM32sxi.cjs.map +1 -0
  168. package/dist/_shared/popover-B1f_EUQS.cjs +2 -0
  169. package/dist/_shared/popover-B1f_EUQS.cjs.map +1 -0
  170. package/dist/_shared/popover-CgRGcFk9.js +83 -0
  171. package/dist/_shared/popover-CgRGcFk9.js.map +1 -0
  172. package/dist/_shared/popover-menu-BEKIT3LR.cjs +2 -0
  173. package/dist/_shared/popover-menu-BEKIT3LR.cjs.map +1 -0
  174. package/dist/_shared/popover-menu-BHdHLEVL.js +95 -0
  175. package/dist/_shared/popover-menu-BHdHLEVL.js.map +1 -0
  176. package/dist/_shared/rich-text-editor-0uoIoYXU.js +608 -0
  177. package/dist/_shared/rich-text-editor-0uoIoYXU.js.map +1 -0
  178. package/dist/_shared/rich-text-editor-wTiARGuB.cjs +2 -0
  179. package/dist/_shared/rich-text-editor-wTiARGuB.cjs.map +1 -0
  180. package/dist/_shared/scroll-area-Bo17wtZD.cjs +2 -0
  181. package/dist/_shared/scroll-area-Bo17wtZD.cjs.map +1 -0
  182. package/dist/_shared/scroll-area-Cj-hmB5D.js +41 -0
  183. package/dist/_shared/scroll-area-Cj-hmB5D.js.map +1 -0
  184. package/dist/_shared/select-07RRiTWc.js +85 -0
  185. package/dist/_shared/select-07RRiTWc.js.map +1 -0
  186. package/dist/_shared/select-BfiU7a4n.cjs +2 -0
  187. package/dist/_shared/select-BfiU7a4n.cjs.map +1 -0
  188. package/dist/_shared/separator-CN9zAJfs.cjs +2 -0
  189. package/dist/_shared/separator-CN9zAJfs.cjs.map +1 -0
  190. package/dist/_shared/separator-DR0uUMKa.js +16 -0
  191. package/dist/_shared/separator-DR0uUMKa.js.map +1 -0
  192. package/dist/_shared/sheet-B5FoGJAZ.cjs +2 -0
  193. package/dist/_shared/sheet-B5FoGJAZ.cjs.map +1 -0
  194. package/dist/_shared/sheet-cUI8cypP.js +100 -0
  195. package/dist/_shared/sheet-cUI8cypP.js.map +1 -0
  196. package/dist/_shared/sidebar-Bq7yKLrG.cjs +2 -0
  197. package/dist/_shared/sidebar-Bq7yKLrG.cjs.map +1 -0
  198. package/dist/_shared/sidebar-Da20tCUc.cjs +2 -0
  199. package/dist/_shared/sidebar-Da20tCUc.cjs.map +1 -0
  200. package/dist/_shared/sidebar-Q6TYE8Ux.js +371 -0
  201. package/dist/_shared/sidebar-Q6TYE8Ux.js.map +1 -0
  202. package/dist/_shared/sidebar-WmnQ55YY.js +537 -0
  203. package/dist/_shared/sidebar-WmnQ55YY.js.map +1 -0
  204. package/dist/_shared/skeleton-B3HWEc6G.js +14 -0
  205. package/dist/_shared/skeleton-B3HWEc6G.js.map +1 -0
  206. package/dist/_shared/skeleton-Cz_l8-fc.cjs +2 -0
  207. package/dist/_shared/skeleton-Cz_l8-fc.cjs.map +1 -0
  208. package/dist/_shared/slot-BgnZtKR5.js +18 -0
  209. package/dist/_shared/slot-BgnZtKR5.js.map +1 -0
  210. package/dist/_shared/slot-Dac1ipUC.cjs +2 -0
  211. package/dist/_shared/slot-Dac1ipUC.cjs.map +1 -0
  212. package/dist/_shared/smart-card-Bm_VxYUG.cjs +2 -0
  213. package/dist/_shared/smart-card-Bm_VxYUG.cjs.map +1 -0
  214. package/dist/_shared/smart-card-MT6JjkoI.js +360 -0
  215. package/dist/_shared/smart-card-MT6JjkoI.js.map +1 -0
  216. package/dist/_shared/spinner-BQjxJ_Kx.js +67 -0
  217. package/dist/_shared/spinner-BQjxJ_Kx.js.map +1 -0
  218. package/dist/_shared/spinner-Dvaa6GUm.cjs +2 -0
  219. package/dist/_shared/spinner-Dvaa6GUm.cjs.map +1 -0
  220. package/dist/_shared/switch-C0yyhsXZ.js +51 -0
  221. package/dist/_shared/switch-C0yyhsXZ.js.map +1 -0
  222. package/dist/_shared/switch-DozkSQNn.cjs +2 -0
  223. package/dist/_shared/switch-DozkSQNn.cjs.map +1 -0
  224. package/dist/_shared/textarea-Cgl-FPwu.js +119 -0
  225. package/dist/_shared/textarea-Cgl-FPwu.js.map +1 -0
  226. package/dist/_shared/textarea-D8wC0XlZ.cjs +2 -0
  227. package/dist/_shared/textarea-D8wC0XlZ.cjs.map +1 -0
  228. package/dist/_shared/tooltip-Cws4BiPT.js +49 -0
  229. package/dist/_shared/tooltip-Cws4BiPT.js.map +1 -0
  230. package/dist/_shared/tooltip-DyUi-Tac.cjs +2 -0
  231. package/dist/_shared/tooltip-DyUi-Tac.cjs.map +1 -0
  232. package/dist/_shared/typography-BW7iZBx7.cjs +2 -0
  233. package/dist/_shared/typography-BW7iZBx7.cjs.map +1 -0
  234. package/dist/_shared/typography-a3hydyvI.js +102 -0
  235. package/dist/_shared/typography-a3hydyvI.js.map +1 -0
  236. package/dist/components/base/accordion/index.cjs +1 -1
  237. package/dist/components/base/accordion/index.js +1 -1
  238. package/dist/components/base/badge/index.cjs +1 -1
  239. package/dist/components/base/badge/index.js +1 -1
  240. package/dist/components/base/buttons/index.cjs +1 -1
  241. package/dist/components/base/buttons/index.js +2 -2
  242. package/dist/components/base/cards/index.cjs +1 -1
  243. package/dist/components/base/cards/index.js +1 -1
  244. package/dist/components/base/combobox/index.cjs +1 -1
  245. package/dist/components/base/combobox/index.js +1 -1
  246. package/dist/components/base/command/index.cjs +1 -1
  247. package/dist/components/base/command/index.js +2 -2
  248. package/dist/components/base/copyable/index.cjs +1 -1
  249. package/dist/components/base/copyable/index.js +1 -1
  250. package/dist/components/base/currency/index.cjs +1 -1
  251. package/dist/components/base/currency/index.js +1 -1
  252. package/dist/components/base/date-pickers/index.cjs +1 -1
  253. package/dist/components/base/date-pickers/index.js +2 -2
  254. package/dist/components/base/display/index.cjs +1 -1
  255. package/dist/components/base/display/index.js +12 -11
  256. package/dist/components/base/display/metadata/index.cjs +1 -0
  257. package/dist/components/base/display/metadata/index.js +2 -0
  258. package/dist/components/base/event-calendar/index.cjs +1 -1
  259. package/dist/components/base/event-calendar/index.cjs.map +1 -1
  260. package/dist/components/base/event-calendar/index.js +4 -4
  261. package/dist/components/base/forms/index.cjs +1 -1
  262. package/dist/components/base/forms/index.js +6 -6
  263. package/dist/components/base/item/index.cjs +1 -1
  264. package/dist/components/base/item/index.js +1 -1
  265. package/dist/components/base/map/index.cjs +1 -1
  266. package/dist/components/base/map/index.js +3 -3
  267. package/dist/components/base/navigation/index.cjs +1 -1
  268. package/dist/components/base/navigation/index.js +4 -4
  269. package/dist/components/base/popover/index.cjs +1 -1
  270. package/dist/components/base/popover/index.js +1 -1
  271. package/dist/components/base/popover-menu/index.cjs +1 -1
  272. package/dist/components/base/popover-menu/index.js +1 -1
  273. package/dist/components/base/sheet/index.cjs +1 -1
  274. package/dist/components/base/sheet/index.js +1 -1
  275. package/dist/components/base/sidebar/index.cjs +1 -1
  276. package/dist/components/base/sidebar/index.js +1 -1
  277. package/dist/components/base/spinner/index.cjs +1 -1
  278. package/dist/components/base/spinner/index.js +1 -1
  279. package/dist/components/base/table/index.cjs +1 -1
  280. package/dist/components/base/table/index.js +7 -7
  281. package/dist/components/composed/admin/index.cjs +1 -1
  282. package/dist/components/composed/admin/index.cjs.map +1 -1
  283. package/dist/components/composed/admin/index.js +12 -12
  284. package/dist/components/composed/ai/index.cjs +1 -1
  285. package/dist/components/composed/ai/index.js +9 -9
  286. package/dist/components/composed/analytics/index.cjs +1 -1
  287. package/dist/components/composed/analytics/index.cjs.map +1 -1
  288. package/dist/components/composed/analytics/index.js +4 -4
  289. package/dist/components/composed/cards/index.cjs +1 -1
  290. package/dist/components/composed/cards/index.cjs.map +1 -1
  291. package/dist/components/composed/cards/index.js +8 -8
  292. package/dist/components/composed/commerce/index.cjs +1 -1
  293. package/dist/components/composed/commerce/index.cjs.map +1 -1
  294. package/dist/components/composed/commerce/index.js +9 -9
  295. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  296. package/dist/components/composed/dark-surfaces/index.cjs.map +1 -1
  297. package/dist/components/composed/dark-surfaces/index.js +6 -6
  298. package/dist/components/composed/data-display/index.cjs +1 -1
  299. package/dist/components/composed/data-display/index.cjs.map +1 -1
  300. package/dist/components/composed/data-display/index.js +7 -7
  301. package/dist/components/composed/navigation/index.cjs +1 -1
  302. package/dist/components/composed/navigation/index.js +4 -4
  303. package/dist/components/composed/onboarding/index.cjs +1 -1
  304. package/dist/components/composed/onboarding/index.js +2 -2
  305. package/dist/components/composed/timelines/index.cjs +1 -1
  306. package/dist/components/composed/timelines/index.js +2 -2
  307. package/dist/components/features/activities/index.cjs +1 -1
  308. package/dist/components/features/activities/index.js +4 -4
  309. package/dist/components/features/ai-chat/index.cjs +1 -1
  310. package/dist/components/features/ai-chat/index.cjs.map +1 -1
  311. package/dist/components/features/ai-chat/index.js +6 -6
  312. package/dist/components/features/card/index.cjs +1 -1
  313. package/dist/components/features/card/index.js +3 -3
  314. package/dist/components/features/comments/index.cjs +1 -1
  315. package/dist/components/features/comments/index.js +2 -2
  316. package/dist/components/features/event-log/index.cjs +1 -1
  317. package/dist/components/features/event-log/index.js +3 -3
  318. package/dist/components/features/filters/index.cjs +1 -1
  319. package/dist/components/features/filters/index.js +9 -9
  320. package/dist/components/features/global-search/index.cjs +1 -1
  321. package/dist/components/features/global-search/index.js +2 -2
  322. package/dist/components/features/kanban/index.cjs +1 -1
  323. package/dist/components/features/kanban/index.js +1 -1
  324. package/dist/components/features/mentions/index.cjs +1 -1
  325. package/dist/components/features/mentions/index.js +1 -1
  326. package/dist/components/features/overlays/index.cjs +1 -1
  327. package/dist/components/features/overlays/index.js +1 -1
  328. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  329. package/dist/components/features/rich-text-editor/index.js +1 -1
  330. package/dist/components/features/suggestions/index.cjs +1 -1
  331. package/dist/components/features/suggestions/index.js +1 -1
  332. package/dist/components/features/sync/index.cjs +1 -1
  333. package/dist/components/features/sync/index.js +2 -2
  334. package/dist/components/layout/containers/index.cjs +1 -1
  335. package/dist/components/layout/containers/index.js +2 -2
  336. package/dist/components/layout/header/index.cjs +1 -1
  337. package/dist/components/layout/header/index.js +1 -1
  338. package/dist/components/layout/hooks/index.cjs +1 -1
  339. package/dist/components/layout/hooks/index.js +1 -1
  340. package/dist/components/layout/index.cjs +1 -1
  341. package/dist/components/layout/index.js +6 -6
  342. package/dist/components/layout/page/index.cjs +1 -1
  343. package/dist/components/layout/page/index.js +1 -1
  344. package/dist/components/layout/sidebar/index.cjs +1 -1
  345. package/dist/components/layout/sidebar/index.js +2 -2
  346. package/dist/components/typography/index.cjs +1 -1
  347. package/dist/components/typography/index.js +3 -2
  348. package/dist/showcase/assets/AreaChart-CJ57G5Ub.js +6 -0
  349. package/dist/showcase/assets/CSPContext-BA7DfnCI.js +1 -0
  350. package/dist/showcase/assets/CompositeItem-PwzgE4va.js +1 -0
  351. package/dist/showcase/assets/CompositeRoot-Du4CMlK7.js +1 -0
  352. package/dist/showcase/assets/DialogTrigger-FkENgwo6.js +1 -0
  353. package/dist/showcase/assets/FormContext-ChygLayp.js +1 -0
  354. package/dist/showcase/assets/PreviewLayout-z6vpJJGt.js +1 -0
  355. package/dist/showcase/assets/RadioGroup-CcDmbxOw.js +1 -0
  356. package/dist/showcase/assets/Separator-Dk4eN76U.js +1 -0
  357. package/dist/showcase/assets/ToolbarRootContext-D_KAA5hZ.js +1 -0
  358. package/dist/showcase/assets/accordion-dQszzfmw.js +172 -0
  359. package/dist/showcase/assets/accordion-variants-Dp4wxic-.js +1 -0
  360. package/dist/showcase/assets/action-menu-CBi2Eiy0.js +1 -0
  361. package/dist/showcase/assets/activities-DoXsgP4G.js +501 -0
  362. package/dist/showcase/assets/activities-feed-card-xz5FtkOm.js +1 -0
  363. package/dist/showcase/assets/admin-CxklUqAG.js +80 -0
  364. package/dist/showcase/assets/ai-artifact-DkhUdEbM.js +2 -0
  365. package/dist/showcase/assets/ai-chat-B6PuqkEu.js +568 -0
  366. package/dist/showcase/assets/ai-elements-D_rpj_ds.js +379 -0
  367. package/dist/showcase/assets/ai-new-CUPrAbOK.js +167 -0
  368. package/dist/showcase/assets/ai-tool-call-CEr-dGVx.js +1 -0
  369. package/dist/showcase/assets/ai-zxF_msJF.js +41 -0
  370. package/dist/showcase/assets/alert-771BE3Ny.js +59 -0
  371. package/dist/showcase/assets/alert-CG42DAlX.js +1 -0
  372. package/dist/showcase/assets/api-key-list-D6jUN7Fq.js +73 -0
  373. package/dist/showcase/assets/arrow-down-CUoXUyN1.js +1 -0
  374. package/dist/showcase/assets/arrow-left-Cdq69X6h.js +1 -0
  375. package/dist/showcase/assets/arrow-right-i25q9L2H.js +1 -0
  376. package/dist/showcase/assets/arrow-up-pnezegnF.js +1 -0
  377. package/dist/showcase/assets/arrow-up-right-CK3XnMah.js +1 -0
  378. package/dist/showcase/assets/avatar-LPmQqZQv.js +1 -0
  379. package/dist/showcase/assets/avatar-ZVFIQouy.js +57 -0
  380. package/dist/showcase/assets/badge-DK4bsgZC.js +28 -0
  381. package/dist/showcase/assets/badge-check-Cw5gkVcG.js +1 -0
  382. package/dist/showcase/assets/bell-BvJELoaV.js +1 -0
  383. package/dist/showcase/assets/bot-DRj6sdSR.js +1 -0
  384. package/dist/showcase/assets/box-BNND3M2m.js +1 -0
  385. package/dist/showcase/assets/brain-Cy3o-12l.js +1 -0
  386. package/dist/showcase/assets/brand-DvipEpFn.js +40 -0
  387. package/dist/showcase/assets/breadcrumb-B-LNuOyv.js +1 -0
  388. package/dist/showcase/assets/breadcrumb-Lzpc0yo4.js +52 -0
  389. package/dist/showcase/assets/breadcrumbs-DD6msKFZ.js +1 -0
  390. package/dist/showcase/assets/briefcase-LcAwoEmu.js +1 -0
  391. package/dist/showcase/assets/button-CuwcGzk1.js +44 -0
  392. package/dist/showcase/assets/button-group-CAImjDrl.js +1 -0
  393. package/dist/showcase/assets/buttons-DTjNHCMl.js +259 -0
  394. package/dist/showcase/assets/calendar-B1zW0q6I.js +1 -0
  395. package/dist/showcase/assets/calendar-Dlv72ytt.js +1 -0
  396. package/dist/showcase/assets/calendar-ls2A08Pn.js +16 -0
  397. package/dist/showcase/assets/card-BhtkM1BT.js +1 -0
  398. package/dist/showcase/assets/cards-BRpRXzGk.js +328 -0
  399. package/dist/showcase/assets/chart-column-BpQkEi1H.js +1 -0
  400. package/dist/showcase/assets/chevron-down-DyObdfSb.js +1 -0
  401. package/dist/showcase/assets/chevron-left-T7dHNxYM.js +1 -0
  402. package/dist/showcase/assets/chevron-right-D_EcqHpT.js +1 -0
  403. package/dist/showcase/assets/chevron-up-B38ivdGO.js +1 -0
  404. package/dist/showcase/assets/chevrons-up-down-SdRARzoq.js +1 -0
  405. package/dist/showcase/assets/circle-BrCPAmDA.js +1 -0
  406. package/dist/showcase/assets/circle-alert-DdhzLPY_.js +1 -0
  407. package/dist/showcase/assets/circle-check-DlA6zidQ.js +1 -0
  408. package/dist/showcase/assets/circle-check-big-DFGJANQF.js +1 -0
  409. package/dist/showcase/assets/circle-dot-BKmnVUqM.js +1 -0
  410. package/dist/showcase/assets/circle-question-mark-BNREvgVC.js +1 -0
  411. package/dist/showcase/assets/circle-x-C45QjHEs.js +1 -0
  412. package/dist/showcase/assets/clock-D1nKQzQo.js +1 -0
  413. package/dist/showcase/assets/code-xml-B8N3GRSu.js +1 -0
  414. package/dist/showcase/assets/collapsible-4TfcWyNs.js +1 -0
  415. package/dist/showcase/assets/collapsible-CKbZtvTj.js +27 -0
  416. package/dist/showcase/assets/combobox-DTdGPaU0.js +622 -0
  417. package/dist/showcase/assets/command-DymTXwL1.js +1 -0
  418. package/dist/showcase/assets/command-ksVIHQKJ.js +45 -0
  419. package/dist/showcase/assets/comment-composer-DC9oS1Yy.js +1 -0
  420. package/dist/showcase/assets/comment-item-CAmKnJa7.js +1 -0
  421. package/dist/showcase/assets/comments-Benk-2mV.js +349 -0
  422. package/dist/showcase/assets/commerce-Qz-mq8mQ.js +78 -0
  423. package/dist/showcase/assets/commerce-extras-CQRc3Bna.js +179 -0
  424. package/dist/showcase/assets/composite-DBDXLPyz.js +1 -0
  425. package/dist/showcase/assets/contact-card-DkL2nI3r.js +65 -0
  426. package/dist/showcase/assets/content-container-mRm6oJEa.js +1 -0
  427. package/dist/showcase/assets/copyable-DmLlmwzy.js +96 -0
  428. package/dist/showcase/assets/course-card-CJJoeZj9.js +113 -0
  429. package/dist/showcase/assets/cpu-BXJnF2Xy.js +1 -0
  430. package/dist/showcase/assets/credit-card-BQK3KKb2.js +1 -0
  431. package/dist/showcase/assets/currency-DBPUh8ee.js +149 -0
  432. package/dist/showcase/assets/dark-surfaces-LpPuIeYy.js +90 -0
  433. package/dist/showcase/assets/database-BZerpzGE.js +1 -0
  434. package/dist/showcase/assets/date-block-iiHUpbNX.js +1 -0
  435. package/dist/showcase/assets/date-picker-BQeBGL7T.js +1 -0
  436. package/dist/showcase/assets/date-pickers-CKcUEMMF.js +110 -0
  437. package/dist/showcase/assets/dense-info-DATmxRU8.js +106 -0
  438. package/dist/showcase/assets/dialog-Bqu5KDYH.js +1 -0
  439. package/dist/showcase/assets/display-Bj7uPXD4.js +392 -0
  440. package/dist/showcase/assets/dist-QK7JxeYv.js +1 -0
  441. package/dist/showcase/assets/dollar-sign-DFZs6vfz.js +1 -0
  442. package/dist/showcase/assets/download-5oGw_WbW.js +1 -0
  443. package/dist/showcase/assets/dropdown-menu-1CJgYn0S.js +1 -0
  444. package/dist/showcase/assets/dropzone-Co1uhsDn.js +1 -0
  445. package/dist/showcase/assets/ellipsis-cKRcvuyL.js +1 -0
  446. package/dist/showcase/assets/ellipsis-vertical-B1RErEkj.js +1 -0
  447. package/dist/showcase/assets/empty-Y2-4nCBr.js +1 -0
  448. package/dist/showcase/assets/empty-item-USa6xcUv.js +49 -0
  449. package/dist/showcase/assets/empty-state-DfhZ9AT5.js +188 -0
  450. package/dist/showcase/assets/enhanced-activities-DmAPVUSu.js +359 -0
  451. package/dist/showcase/assets/esm-BeGQ_ZTM.js +2 -0
  452. package/dist/showcase/assets/event-calendar-D-jGrrZS.js +138 -0
  453. package/dist/showcase/assets/event-log-tA_i4eR9.js +326 -0
  454. package/dist/showcase/assets/example-6phCHGsN.js +1 -0
  455. package/dist/showcase/assets/external-link-BuVHkCy0.js +1 -0
  456. package/dist/showcase/assets/eye-DC5HfGm6.js +1 -0
  457. package/dist/showcase/assets/feature-announcement-DwvxLytd.js +34 -0
  458. package/dist/showcase/assets/file-D-xM4vLy.js +1 -0
  459. package/dist/showcase/assets/file-text-tmG5vNbr.js +1 -0
  460. package/dist/showcase/assets/filters-CrGRXmq6.js +78 -0
  461. package/dist/showcase/assets/flag-CWrEtkY5.js +1 -0
  462. package/dist/showcase/assets/folder-open-Br-x1pjP.js +1 -0
  463. package/dist/showcase/assets/form-sizing-Bb5hiM45.js +1 -0
  464. package/dist/showcase/assets/format-D_ETCyg4.js +1 -0
  465. package/dist/showcase/assets/forms-B_MkQ3rm.js +790 -0
  466. package/dist/showcase/assets/generic-CdmsyXV3.js +1 -0
  467. package/dist/showcase/assets/getPseudoElementBounds-CZnCbCFP.js +1 -0
  468. package/dist/showcase/assets/gift-NkuklfU2.js +1 -0
  469. package/dist/showcase/assets/giftcard-cards-BAvevZ0i.js +85 -0
  470. package/dist/showcase/assets/git-branch-B_CBqPeO.js +1 -0
  471. package/dist/showcase/assets/global-search-D9teAbPe.js +90 -0
  472. package/dist/showcase/assets/globe-gzw45GU2.js +1 -0
  473. package/dist/showcase/assets/gradient-card-Xk2r7R5H.js +58 -0
  474. package/dist/showcase/assets/header-notifications-_aZCpE5A.js +1 -0
  475. package/dist/showcase/assets/heart-CEMKbRaZ.js +1 -0
  476. package/dist/showcase/assets/house-BlGXAcMH.js +1 -0
  477. package/dist/showcase/assets/icon-badge-z6N9reH_.js +1 -0
  478. package/dist/showcase/assets/image-B8mzmVBr.js +1 -0
  479. package/dist/showcase/assets/inbox-qdSnP4UV.js +1 -0
  480. package/dist/showcase/assets/index-B4ubXfly.js +10 -0
  481. package/dist/showcase/assets/inertValue-D5Q8cLku.js +1 -0
  482. package/dist/showcase/assets/info-DBvvNjc_.js +1 -0
  483. package/dist/showcase/assets/inline-stat-Bm1zVT8D.js +1 -0
  484. package/dist/showcase/assets/input-CBQR0aeX.js +1 -0
  485. package/dist/showcase/assets/input-OrUzpI55.js +1 -0
  486. package/dist/showcase/assets/input-group-DhqOen2N.js +47 -0
  487. package/dist/showcase/assets/input-group-l8xa5nUq.js +1 -0
  488. package/dist/showcase/assets/inputs-DbiJ0qy2.js +49 -0
  489. package/dist/showcase/assets/invoice-header-C6youIbL.js +36 -0
  490. package/dist/showcase/assets/invoice-items-g6dgryF-.js +36 -0
  491. package/dist/showcase/assets/invoice-mini-0iWhufpt.js +14 -0
  492. package/dist/showcase/assets/invoice-table-Bvdh3rRq.js +30 -0
  493. package/dist/showcase/assets/isSameDay-BpZEtJe8.js +1 -0
  494. package/dist/showcase/assets/isToday-F0CS28oK.js +1 -0
  495. package/dist/showcase/assets/italic-CJOEwjdc.js +1 -0
  496. package/dist/showcase/assets/item-BiMm1PPB.js +1 -0
  497. package/dist/showcase/assets/item-CN0cwdj_.js +1 -0
  498. package/dist/showcase/assets/item-DNqEUYLT.js +117 -0
  499. package/dist/showcase/assets/kanban-DxePEUiQ.js +175 -0
  500. package/dist/showcase/assets/label-Dx4WO-fg.js +1 -0
  501. package/dist/showcase/assets/layout-containers-DDl8rG8S.js +96 -0
  502. package/dist/showcase/assets/layout-header-Bu6IcDWu.js +170 -0
  503. package/dist/showcase/assets/layout-page-D-88Qnoy.js +122 -0
  504. package/dist/showcase/assets/layout-sidebar-Ctft10pk.js +224 -0
  505. package/dist/showcase/assets/layout-users-DtbZduBG.js +104 -0
  506. package/dist/showcase/assets/lib-D9BoOYUd.js +1 -0
  507. package/dist/showcase/assets/lock-CHurDI0n.js +1 -0
  508. package/dist/showcase/assets/mail-DZ1o1RLW.js +1 -0
  509. package/dist/showcase/assets/map-C8xiyT9X.js +124 -0
  510. package/dist/showcase/assets/map-pin-CAKaoYod.js +1 -0
  511. package/dist/showcase/assets/menus-C6mnp636.js +89 -0
  512. package/dist/showcase/assets/message-square-Zo5J_zU1.js +1 -0
  513. package/dist/showcase/assets/metadata-list-W83-UMhc.js +278 -0
  514. package/dist/showcase/assets/metric-BSvxidIX.js +1 -0
  515. package/dist/showcase/assets/metric-grid-Dtqx_3Lg.js +1 -0
  516. package/dist/showcase/assets/metric-trend-chip-mtvcJ_M9.js +1 -0
  517. package/dist/showcase/assets/metrics-analytics-bar-DQbyss7i.js +44 -0
  518. package/dist/showcase/assets/metrics-analytics-cards-CEBu5Uw0.js +77 -0
  519. package/dist/showcase/assets/metrics-comparison-Bs-R6v4y.js +76 -0
  520. package/dist/showcase/assets/metrics-heatmap-BKHWH8sM.js +27 -0
  521. package/dist/showcase/assets/metrics-inline-badge-BxVn0Y2p.js +17 -0
  522. package/dist/showcase/assets/metrics-kpi-row-DtACYEds.js +31 -0
  523. package/dist/showcase/assets/metrics-micro-grid-BkwUGOUR.js +42 -0
  524. package/dist/showcase/assets/metrics-overview-BAtrlzsI.js +192 -0
  525. package/dist/showcase/assets/metrics-stat-cards-iCRCNyHY.js +54 -0
  526. package/dist/showcase/assets/minus-C6eBW-2t.js +1 -0
  527. package/dist/showcase/assets/money-display-DjGRJ16l.js +1 -0
  528. package/dist/showcase/assets/month-year-picker-DTDebPqf.js +1 -0
  529. package/dist/showcase/assets/navigation-BrG8Chig.js +86 -0
  530. package/dist/showcase/assets/navigation-CfXQJbyM.js +230 -0
  531. package/dist/showcase/assets/navigation-extras-D_gzLlZ5.js +43 -0
  532. package/dist/showcase/assets/onboarding-checklist-1EerUwAo.js +119 -0
  533. package/dist/showcase/assets/overlays-2AB9-S1Z.js +88 -0
  534. package/dist/showcase/assets/overlays-CYt9o3Xq.js +393 -0
  535. package/dist/showcase/assets/package-BJMP-Fcr.js +1 -0
  536. package/dist/showcase/assets/page-action-button-BZxJ0X1j.js +1 -0
  537. package/dist/showcase/assets/page-header-B_rqHJhe.js +1 -0
  538. package/dist/showcase/assets/pagination-BHiQvvka.js +1 -0
  539. package/dist/showcase/assets/pagination-Dq0GruQd.js +42 -0
  540. package/dist/showcase/assets/paperclip-BMYKrUQo.js +1 -0
  541. package/dist/showcase/assets/pencil-BJ3VS_FO.js +1 -0
  542. package/dist/showcase/assets/phone-CsRIyvep.js +1 -0
  543. package/dist/showcase/assets/plus-D2JuXYLg.js +1 -0
  544. package/dist/showcase/assets/popover-DNT9755r.js +1 -0
  545. package/dist/showcase/assets/popover-KvGgcPNg.js +1 -0
  546. package/dist/showcase/assets/popover-menu-CJx30R65.js +1 -0
  547. package/dist/showcase/assets/progress-B7WuXcJR.js +1 -0
  548. package/dist/showcase/assets/progress-CweCSAUv.js +18 -0
  549. package/dist/showcase/assets/props-table-uDY4eIzt.js +1 -0
  550. package/dist/showcase/assets/quote-DAyyfzQd.js +1 -0
  551. package/dist/showcase/assets/receipt-C0mMZGbF.js +1 -0
  552. package/dist/showcase/assets/refresh-cw-X06JbXb-.js +1 -0
  553. package/dist/showcase/assets/resolveValueLabel-Bks7UDko.js +1 -0
  554. package/dist/showcase/assets/rich-text-editor-QJsb-qIe.js +124 -0
  555. package/dist/showcase/assets/rich-text-editor-h07VBNI9.js +141 -0
  556. package/dist/showcase/assets/rotate-ccw-D84bdX_x.js +1 -0
  557. package/dist/showcase/assets/scroll-area-0rT06pXZ.js +1 -0
  558. package/dist/showcase/assets/scroll-area-YXwdzGpN.js +32 -0
  559. package/dist/showcase/assets/select-BoWQDtUf.js +1 -0
  560. package/dist/showcase/assets/send-DJsk3cr1.js +1 -0
  561. package/dist/showcase/assets/separator-CLSnRcJa.js +28 -0
  562. package/dist/showcase/assets/separator-DWv-twD-.js +1 -0
  563. package/dist/showcase/assets/settings-Cb2MsAmN.js +1 -0
  564. package/dist/showcase/assets/sheet-Dn1-MYus.js +1 -0
  565. package/dist/showcase/assets/shield-DwLjF5ch.js +1 -0
  566. package/dist/showcase/assets/shield-alert-D8i6gzMK.js +1 -0
  567. package/dist/showcase/assets/shield-check-D5YRSBIz.js +1 -0
  568. package/dist/showcase/assets/shopping-bag-BqlAP4vn.js +1 -0
  569. package/dist/showcase/assets/sidebar.context-BAp_pBEB.js +1 -0
  570. package/dist/showcase/assets/skeleton-CeNPp4hr.js +1 -0
  571. package/dist/showcase/assets/skeleton-QPsnM_NR.js +29 -0
  572. package/dist/showcase/assets/smart-card-BisUbLPt.js +1 -0
  573. package/dist/showcase/assets/sonner-B7GzbBK2.js +22 -0
  574. package/dist/showcase/assets/sortable.esm-BDcEOHT7.js +5 -0
  575. package/dist/showcase/assets/sparkles-CF9P5Tqh.js +1 -0
  576. package/dist/showcase/assets/spinner-BeamEyJd.js +49 -0
  577. package/dist/showcase/assets/spinner-DoYBfalR.js +1 -0
  578. package/dist/showcase/assets/spinner-UsLsOYzn.js +30 -0
  579. package/dist/showcase/assets/square-pen-BGTVdnt1.js +1 -0
  580. package/dist/showcase/assets/stacked-avatars-BWfVX1Ov.js +1 -0
  581. package/dist/showcase/assets/star-NsPNO9gR.js +1 -0
  582. package/dist/showcase/assets/startOfDay-zJBpxLuW.js +1 -0
  583. package/dist/showcase/assets/styles-DA7a7hVy.js +1 -0
  584. package/dist/showcase/assets/switch-C62S4U2o.js +1 -0
  585. package/dist/showcase/assets/switch-CYQcinJZ.js +1 -0
  586. package/dist/showcase/assets/table-w4IABkpa.js +1 -0
  587. package/dist/showcase/assets/table-xgB63UrY.js +390 -0
  588. package/dist/showcase/assets/tabs-BFTEaTXj.js +19 -0
  589. package/dist/showcase/assets/tabs-oMJn9Ujq.js +1 -0
  590. package/dist/showcase/assets/text-button-BgcutPuu.js +1 -0
  591. package/dist/showcase/assets/text-link-CS9thOWL.js +1 -0
  592. package/dist/showcase/assets/textarea-BOBx4EM6.js +1 -0
  593. package/dist/showcase/assets/textarea-CTzYZZqa.js +1 -0
  594. package/dist/showcase/assets/timelines-CK07mEBK.js +186 -0
  595. package/dist/showcase/assets/toggle-group-CSPdPT6G.js +1 -0
  596. package/dist/showcase/assets/toggles-DDSdl-gA.js +71 -0
  597. package/dist/showcase/assets/toggles-group-Y2BdKEFB.js +32 -0
  598. package/dist/showcase/assets/trash-2-C-FAptQP.js +1 -0
  599. package/dist/showcase/assets/trending-up-BmLhdF_w.js +1 -0
  600. package/dist/showcase/assets/truck-pZdUS_as.js +1 -0
  601. package/dist/showcase/assets/typography-CnBH2z7f.js +214 -0
  602. package/dist/showcase/assets/ui-badge-Cl6INRO5.js +28 -0
  603. package/dist/showcase/assets/ui-card-B5P-thNu.js +30 -0
  604. package/dist/showcase/assets/ui-table-B32RILKk.js +42 -0
  605. package/dist/showcase/assets/upload-tray-mu6bR2ZE.js +138 -0
  606. package/dist/showcase/assets/useAnchoredPopupScrollLock-CzDaXxmM.js +1 -0
  607. package/dist/showcase/assets/useCollapsiblePanel-B0DZvDFu.js +1 -0
  608. package/dist/showcase/assets/useCompositeItem-BVIVLT9X.js +1 -0
  609. package/dist/showcase/assets/useCompositeListItem-JEMeTFPx.js +1 -0
  610. package/dist/showcase/assets/useControlled-ZjqBfPCn.js +1 -0
  611. package/dist/showcase/assets/useLabelableId-D8CZq8Bm.js +1 -0
  612. package/dist/showcase/assets/useOpenInteractionType-CopGCf3q.js +1 -0
  613. package/dist/showcase/assets/useRender-zuKv6JQF.js +1 -0
  614. package/dist/showcase/assets/useRole-08KeyiD3.js +1 -0
  615. package/dist/showcase/assets/useTriggerFocusGuards-DEuz5CGe.js +1 -0
  616. package/dist/showcase/assets/useValueChanged-BxFi_qyj.js +1 -0
  617. package/dist/showcase/assets/user-Bgc2t2_e.js +1 -0
  618. package/dist/showcase/assets/user-plus-F_TfagnP.js +1 -0
  619. package/dist/showcase/assets/users-B7G4yTCR.js +1 -0
  620. package/dist/showcase/assets/vendor-profile-BTQmsKM6.js +37 -0
  621. package/dist/showcase/assets/wrench-BdzICmjR.js +1 -0
  622. package/dist/showcase/assets/x-B156Wr-5.js +1 -0
  623. package/dist/showcase/assets/zap-B3iByjNV.js +1 -0
  624. package/dist/showcase/index.html +1 -1
  625. package/package.json +10 -1
  626. package/dist/_shared/accordion-7rwpgJ1k.cjs +0 -2
  627. package/dist/_shared/accordion-7rwpgJ1k.cjs.map +0 -1
  628. package/dist/_shared/accordion-DcduCEIo.js +0 -130
  629. package/dist/_shared/accordion-DcduCEIo.js.map +0 -1
  630. package/dist/_shared/action-menu-D0u-q0q-.cjs +0 -2
  631. package/dist/_shared/action-menu-D0u-q0q-.cjs.map +0 -1
  632. package/dist/_shared/action-menu-DUBXdReV.js +0 -96
  633. package/dist/_shared/action-menu-DUBXdReV.js.map +0 -1
  634. package/dist/_shared/ai-artifact-C3R0god0.cjs +0 -3
  635. package/dist/_shared/ai-artifact-C3R0god0.cjs.map +0 -1
  636. package/dist/_shared/ai-artifact-DMjQv_Si.js +0 -1068
  637. package/dist/_shared/ai-artifact-DMjQv_Si.js.map +0 -1
  638. package/dist/_shared/alert-B2cuJGAA.cjs +0 -2
  639. package/dist/_shared/alert-B2cuJGAA.cjs.map +0 -1
  640. package/dist/_shared/alert-BKUmOI2e.js +0 -48
  641. package/dist/_shared/alert-BKUmOI2e.js.map +0 -1
  642. package/dist/_shared/avatar-BcYcRORH.cjs +0 -2
  643. package/dist/_shared/avatar-BcYcRORH.cjs.map +0 -1
  644. package/dist/_shared/avatar-CNzG6jSZ.js +0 -52
  645. package/dist/_shared/avatar-CNzG6jSZ.js.map +0 -1
  646. package/dist/_shared/badge-BbUN6W7E.js +0 -108
  647. package/dist/_shared/badge-BbUN6W7E.js.map +0 -1
  648. package/dist/_shared/badge-BjtDcU1M.cjs +0 -2
  649. package/dist/_shared/badge-BjtDcU1M.cjs.map +0 -1
  650. package/dist/_shared/breadcrumbs-DctwTld5.js +0 -111
  651. package/dist/_shared/breadcrumbs-DctwTld5.js.map +0 -1
  652. package/dist/_shared/breadcrumbs-m0-gCdNj.cjs +0 -2
  653. package/dist/_shared/breadcrumbs-m0-gCdNj.cjs.map +0 -1
  654. package/dist/_shared/button-BCABTFLE.js +0 -46
  655. package/dist/_shared/button-BCABTFLE.js.map +0 -1
  656. package/dist/_shared/button-Ck2qS42n.js +0 -176
  657. package/dist/_shared/button-Ck2qS42n.js.map +0 -1
  658. package/dist/_shared/button-DjJ-mDI1.cjs +0 -2
  659. package/dist/_shared/button-DjJ-mDI1.cjs.map +0 -1
  660. package/dist/_shared/button-DjacsNTg.cjs +0 -2
  661. package/dist/_shared/button-DjacsNTg.cjs.map +0 -1
  662. package/dist/_shared/buttons-BVnjQ-uE.js +0 -143
  663. package/dist/_shared/buttons-BVnjQ-uE.js.map +0 -1
  664. package/dist/_shared/buttons-BdY6igTr.cjs +0 -2
  665. package/dist/_shared/buttons-BdY6igTr.cjs.map +0 -1
  666. package/dist/_shared/card-radio-group--GP1xrz_.js +0 -158
  667. package/dist/_shared/card-radio-group--GP1xrz_.js.map +0 -1
  668. package/dist/_shared/card-radio-group-DnQsWozr.cjs +0 -2
  669. package/dist/_shared/card-radio-group-DnQsWozr.cjs.map +0 -1
  670. package/dist/_shared/combobox-DBrRE1Dr.cjs +0 -2
  671. package/dist/_shared/combobox-DBrRE1Dr.cjs.map +0 -1
  672. package/dist/_shared/combobox-DYztEJaw.js +0 -746
  673. package/dist/_shared/combobox-DYztEJaw.js.map +0 -1
  674. package/dist/_shared/command-COvgXQ8r.cjs +0 -2
  675. package/dist/_shared/command-COvgXQ8r.cjs.map +0 -1
  676. package/dist/_shared/command-CvZ6Emb8.js +0 -39
  677. package/dist/_shared/command-CvZ6Emb8.js.map +0 -1
  678. package/dist/_shared/command-DTFQIUVG.cjs +0 -2
  679. package/dist/_shared/command-DTFQIUVG.cjs.map +0 -1
  680. package/dist/_shared/command-Sq8XbHbA.js +0 -123
  681. package/dist/_shared/command-Sq8XbHbA.js.map +0 -1
  682. package/dist/_shared/comments-BOFU1GYY.js +0 -945
  683. package/dist/_shared/comments-BOFU1GYY.js.map +0 -1
  684. package/dist/_shared/comments-BbTYFzx6.cjs +0 -2
  685. package/dist/_shared/comments-BbTYFzx6.cjs.map +0 -1
  686. package/dist/_shared/containers-BthqdOhA.cjs +0 -2
  687. package/dist/_shared/containers-BthqdOhA.cjs.map +0 -1
  688. package/dist/_shared/containers-CD2xs1nk.js +0 -19
  689. package/dist/_shared/containers-CD2xs1nk.js.map +0 -1
  690. package/dist/_shared/content-container-CFfYbWoa.js +0 -33
  691. package/dist/_shared/content-container-CFfYbWoa.js.map +0 -1
  692. package/dist/_shared/content-container-CReiVugL.cjs +0 -2
  693. package/dist/_shared/content-container-CReiVugL.cjs.map +0 -1
  694. package/dist/_shared/copyable-CweQ72QI.cjs +0 -2
  695. package/dist/_shared/copyable-CweQ72QI.cjs.map +0 -1
  696. package/dist/_shared/copyable-JgsTp6ev.js +0 -38
  697. package/dist/_shared/copyable-JgsTp6ev.js.map +0 -1
  698. package/dist/_shared/date-picker-DI4b-SeE.cjs +0 -2
  699. package/dist/_shared/date-picker-DI4b-SeE.cjs.map +0 -1
  700. package/dist/_shared/date-picker-DTazvODY.js +0 -1352
  701. package/dist/_shared/date-picker-DTazvODY.js.map +0 -1
  702. package/dist/_shared/date-pickers-CLzuzmuc.cjs +0 -2
  703. package/dist/_shared/date-pickers-CLzuzmuc.cjs.map +0 -1
  704. package/dist/_shared/date-pickers-CWPxP3zy.js +0 -330
  705. package/dist/_shared/date-pickers-CWPxP3zy.js.map +0 -1
  706. package/dist/_shared/dialog-2MJmaj_d.js +0 -101
  707. package/dist/_shared/dialog-2MJmaj_d.js.map +0 -1
  708. package/dist/_shared/dialog-KKD0i1T8.cjs +0 -2
  709. package/dist/_shared/dialog-KKD0i1T8.cjs.map +0 -1
  710. package/dist/_shared/display-BCy1Ti7T.cjs +0 -8
  711. package/dist/_shared/display-BCy1Ti7T.cjs.map +0 -1
  712. package/dist/_shared/display-DUpkE2aS.js +0 -1462
  713. package/dist/_shared/display-DUpkE2aS.js.map +0 -1
  714. package/dist/_shared/dropdown-menu-BebBffUH.cjs +0 -2
  715. package/dist/_shared/dropdown-menu-BebBffUH.cjs.map +0 -1
  716. package/dist/_shared/dropdown-menu-xdGEynC8.js +0 -147
  717. package/dist/_shared/dropdown-menu-xdGEynC8.js.map +0 -1
  718. package/dist/_shared/form-field-rOj3cm6C.js +0 -319
  719. package/dist/_shared/form-field-rOj3cm6C.js.map +0 -1
  720. package/dist/_shared/form-field-rcyIIHjR.cjs +0 -2
  721. package/dist/_shared/form-field-rcyIIHjR.cjs.map +0 -1
  722. package/dist/_shared/form-sizing--bs_xPe2.cjs +0 -2
  723. package/dist/_shared/form-sizing--bs_xPe2.cjs.map +0 -1
  724. package/dist/_shared/form-sizing-CkKcs5fi.js +0 -21
  725. package/dist/_shared/form-sizing-CkKcs5fi.js.map +0 -1
  726. package/dist/_shared/format-BlVEsPyT.js +0 -48
  727. package/dist/_shared/format-BlVEsPyT.js.map +0 -1
  728. package/dist/_shared/format-DYVtSA2I.cjs +0 -2
  729. package/dist/_shared/format-DYVtSA2I.cjs.map +0 -1
  730. package/dist/_shared/forms-BAVsxxRk.js +0 -3374
  731. package/dist/_shared/forms-BAVsxxRk.js.map +0 -1
  732. package/dist/_shared/forms-DaZ3LsYc.cjs +0 -2
  733. package/dist/_shared/forms-DaZ3LsYc.cjs.map +0 -1
  734. package/dist/_shared/header-BtTMsQ5P.cjs +0 -2
  735. package/dist/_shared/header-BtTMsQ5P.cjs.map +0 -1
  736. package/dist/_shared/header-DpW4UWV6.js +0 -369
  737. package/dist/_shared/header-DpW4UWV6.js.map +0 -1
  738. package/dist/_shared/hooks-Bsm917yh.cjs +0 -2
  739. package/dist/_shared/hooks-Bsm917yh.cjs.map +0 -1
  740. package/dist/_shared/hooks-CX-SICd4.js +0 -118
  741. package/dist/_shared/hooks-CX-SICd4.js.map +0 -1
  742. package/dist/_shared/icon-badge-DGKpbo9_.cjs +0 -2
  743. package/dist/_shared/icon-badge-DGKpbo9_.cjs.map +0 -1
  744. package/dist/_shared/icon-badge-DoClA_9q.js +0 -52
  745. package/dist/_shared/icon-badge-DoClA_9q.js.map +0 -1
  746. package/dist/_shared/input-BXt-YtVs.cjs +0 -2
  747. package/dist/_shared/input-BXt-YtVs.cjs.map +0 -1
  748. package/dist/_shared/input-Bx4LeLhn.js +0 -17
  749. package/dist/_shared/input-Bx4LeLhn.js.map +0 -1
  750. package/dist/_shared/input-ChZGIhtS.cjs +0 -2
  751. package/dist/_shared/input-ChZGIhtS.cjs.map +0 -1
  752. package/dist/_shared/input-Cwv1-5jt.js +0 -182
  753. package/dist/_shared/input-Cwv1-5jt.js.map +0 -1
  754. package/dist/_shared/item-BmTYKzEb.js +0 -224
  755. package/dist/_shared/item-BmTYKzEb.js.map +0 -1
  756. package/dist/_shared/item-BtR-bz96.cjs +0 -2
  757. package/dist/_shared/item-BtR-bz96.cjs.map +0 -1
  758. package/dist/_shared/mentions-DVCjaO_z.cjs +0 -2
  759. package/dist/_shared/mentions-DVCjaO_z.cjs.map +0 -1
  760. package/dist/_shared/mentions-DzG8mX5H.js +0 -493
  761. package/dist/_shared/mentions-DzG8mX5H.js.map +0 -1
  762. package/dist/_shared/money-display-B5oxCs_0.cjs +0 -2
  763. package/dist/_shared/money-display-B5oxCs_0.cjs.map +0 -1
  764. package/dist/_shared/money-display-C0wI02ou.js +0 -198
  765. package/dist/_shared/money-display-C0wI02ou.js.map +0 -1
  766. package/dist/_shared/navigation-BA2nsTgU.cjs +0 -2
  767. package/dist/_shared/navigation-BA2nsTgU.cjs.map +0 -1
  768. package/dist/_shared/navigation-DHyaf-RZ.js +0 -420
  769. package/dist/_shared/navigation-DHyaf-RZ.js.map +0 -1
  770. package/dist/_shared/overlays-Kl6Gp6WR.js +0 -633
  771. package/dist/_shared/overlays-Kl6Gp6WR.js.map +0 -1
  772. package/dist/_shared/overlays-W6j-Pe1L.cjs +0 -2
  773. package/dist/_shared/overlays-W6j-Pe1L.cjs.map +0 -1
  774. package/dist/_shared/page-DROZhtWT.js +0 -263
  775. package/dist/_shared/page-DROZhtWT.js.map +0 -1
  776. package/dist/_shared/page-lh9Rcx_d.cjs +0 -2
  777. package/dist/_shared/page-lh9Rcx_d.cjs.map +0 -1
  778. package/dist/_shared/popover-BTEwjJZS.cjs +0 -2
  779. package/dist/_shared/popover-BTEwjJZS.cjs.map +0 -1
  780. package/dist/_shared/popover-CF9VWt-l.js +0 -83
  781. package/dist/_shared/popover-CF9VWt-l.js.map +0 -1
  782. package/dist/_shared/popover-menu-BYesl29w.js +0 -95
  783. package/dist/_shared/popover-menu-BYesl29w.js.map +0 -1
  784. package/dist/_shared/popover-menu-DF9sWz61.cjs +0 -2
  785. package/dist/_shared/popover-menu-DF9sWz61.cjs.map +0 -1
  786. package/dist/_shared/rich-text-editor-UZghkgsh.cjs +0 -2
  787. package/dist/_shared/rich-text-editor-UZghkgsh.cjs.map +0 -1
  788. package/dist/_shared/rich-text-editor-fUeuK-rY.js +0 -608
  789. package/dist/_shared/rich-text-editor-fUeuK-rY.js.map +0 -1
  790. package/dist/_shared/scroll-area-XJLcCczs.js +0 -41
  791. package/dist/_shared/scroll-area-XJLcCczs.js.map +0 -1
  792. package/dist/_shared/scroll-area-y8ZJoS97.cjs +0 -2
  793. package/dist/_shared/scroll-area-y8ZJoS97.cjs.map +0 -1
  794. package/dist/_shared/select-D8MYF4f7.js +0 -85
  795. package/dist/_shared/select-D8MYF4f7.js.map +0 -1
  796. package/dist/_shared/select-DxAiUfpM.cjs +0 -2
  797. package/dist/_shared/select-DxAiUfpM.cjs.map +0 -1
  798. package/dist/_shared/separator-BazqiQ9s.js +0 -16
  799. package/dist/_shared/separator-BazqiQ9s.js.map +0 -1
  800. package/dist/_shared/separator-DSkXMOXq.cjs +0 -2
  801. package/dist/_shared/separator-DSkXMOXq.cjs.map +0 -1
  802. package/dist/_shared/sheet-7iHOs-IU.js +0 -100
  803. package/dist/_shared/sheet-7iHOs-IU.js.map +0 -1
  804. package/dist/_shared/sheet-qKtoyxgi.cjs +0 -2
  805. package/dist/_shared/sheet-qKtoyxgi.cjs.map +0 -1
  806. package/dist/_shared/sidebar-CaTUJ3t-.js +0 -537
  807. package/dist/_shared/sidebar-CaTUJ3t-.js.map +0 -1
  808. package/dist/_shared/sidebar-DVjfsm-f.cjs +0 -2
  809. package/dist/_shared/sidebar-DVjfsm-f.cjs.map +0 -1
  810. package/dist/_shared/sidebar-aV5DVAVg.js +0 -371
  811. package/dist/_shared/sidebar-aV5DVAVg.js.map +0 -1
  812. package/dist/_shared/sidebar-mL0jSJ8u.cjs +0 -2
  813. package/dist/_shared/sidebar-mL0jSJ8u.cjs.map +0 -1
  814. package/dist/_shared/skeleton-Bwv_j9jJ.cjs +0 -2
  815. package/dist/_shared/skeleton-Bwv_j9jJ.cjs.map +0 -1
  816. package/dist/_shared/skeleton-DyKa-Ed-.js +0 -14
  817. package/dist/_shared/skeleton-DyKa-Ed-.js.map +0 -1
  818. package/dist/_shared/slot-ClIPTht1.cjs +0 -2
  819. package/dist/_shared/slot-ClIPTht1.cjs.map +0 -1
  820. package/dist/_shared/slot-CrS_VEVl.js +0 -18
  821. package/dist/_shared/slot-CrS_VEVl.js.map +0 -1
  822. package/dist/_shared/smart-card-Ddsjvf7r.cjs +0 -2
  823. package/dist/_shared/smart-card-Ddsjvf7r.cjs.map +0 -1
  824. package/dist/_shared/smart-card-hJ01usWt.js +0 -360
  825. package/dist/_shared/smart-card-hJ01usWt.js.map +0 -1
  826. package/dist/_shared/spinner-D-pcMBt1.js +0 -67
  827. package/dist/_shared/spinner-D-pcMBt1.js.map +0 -1
  828. package/dist/_shared/spinner-zbmhn0vE.cjs +0 -2
  829. package/dist/_shared/spinner-zbmhn0vE.cjs.map +0 -1
  830. package/dist/_shared/switch-C5J37LMI.cjs +0 -2
  831. package/dist/_shared/switch-C5J37LMI.cjs.map +0 -1
  832. package/dist/_shared/switch-ClGgHcEb.js +0 -51
  833. package/dist/_shared/switch-ClGgHcEb.js.map +0 -1
  834. package/dist/_shared/textarea-DeISZfHw.js +0 -119
  835. package/dist/_shared/textarea-DeISZfHw.js.map +0 -1
  836. package/dist/_shared/textarea-iR9txrty.cjs +0 -2
  837. package/dist/_shared/textarea-iR9txrty.cjs.map +0 -1
  838. package/dist/_shared/tooltip-CEqxHWxQ.js +0 -49
  839. package/dist/_shared/tooltip-CEqxHWxQ.js.map +0 -1
  840. package/dist/_shared/tooltip-DPv0LGr9.cjs +0 -2
  841. package/dist/_shared/tooltip-DPv0LGr9.cjs.map +0 -1
  842. package/dist/_shared/typography-BtPQBvSm.js +0 -135
  843. package/dist/_shared/typography-BtPQBvSm.js.map +0 -1
  844. package/dist/_shared/typography-DClleVWi.cjs +0 -2
  845. package/dist/_shared/typography-DClleVWi.cjs.map +0 -1
  846. package/dist/showcase/assets/AreaChart-D-RqNtqG.js +0 -6
  847. package/dist/showcase/assets/CSPContext-t69BXyB7.js +0 -1
  848. package/dist/showcase/assets/CompositeItem-DHNLgEeV.js +0 -1
  849. package/dist/showcase/assets/CompositeRoot-xq_0ZFev.js +0 -1
  850. package/dist/showcase/assets/DialogTrigger-Cl7n_3xX.js +0 -1
  851. package/dist/showcase/assets/FormContext-CXdwDz7F.js +0 -1
  852. package/dist/showcase/assets/PreviewLayout-BHemtKEf.js +0 -1
  853. package/dist/showcase/assets/RadioGroup-DXAt4VZN.js +0 -1
  854. package/dist/showcase/assets/Separator-C9vXwWmZ.js +0 -1
  855. package/dist/showcase/assets/ToolbarRootContext-iF4ctnIz.js +0 -1
  856. package/dist/showcase/assets/accordion-DzkNgNcB.js +0 -172
  857. package/dist/showcase/assets/accordion-variants-DP5-oxLe.js +0 -1
  858. package/dist/showcase/assets/action-menu-CyA2e9TF.js +0 -1
  859. package/dist/showcase/assets/activities-Dt-dO5ew.js +0 -501
  860. package/dist/showcase/assets/activities-feed-card-DZdFekXl.js +0 -1
  861. package/dist/showcase/assets/admin-C2SeJmE7.js +0 -80
  862. package/dist/showcase/assets/ai-Cwo0h_Xn.js +0 -41
  863. package/dist/showcase/assets/ai-artifact-3UJofyU5.js +0 -2
  864. package/dist/showcase/assets/ai-chat-CrFtG_Vg.js +0 -568
  865. package/dist/showcase/assets/ai-elements-iJ15Y7pS.js +0 -379
  866. package/dist/showcase/assets/ai-new-DuznZydd.js +0 -167
  867. package/dist/showcase/assets/ai-tool-call-CTcGGAQU.js +0 -1
  868. package/dist/showcase/assets/alert-CUGGckOX.js +0 -1
  869. package/dist/showcase/assets/alert-tWped3Sw.js +0 -59
  870. package/dist/showcase/assets/api-key-list-Q5LAqzMn.js +0 -73
  871. package/dist/showcase/assets/arrow-down-CfwCPcHL.js +0 -1
  872. package/dist/showcase/assets/arrow-left-BKx9qNX6.js +0 -1
  873. package/dist/showcase/assets/arrow-right-DlEpbqEk.js +0 -1
  874. package/dist/showcase/assets/arrow-up-BYQ4F9L1.js +0 -1
  875. package/dist/showcase/assets/arrow-up-right-C8r6vYfE.js +0 -1
  876. package/dist/showcase/assets/avatar-BuZ3zTbH.js +0 -57
  877. package/dist/showcase/assets/avatar-DR2mqPpY.js +0 -1
  878. package/dist/showcase/assets/badge-D1HLfP93.js +0 -28
  879. package/dist/showcase/assets/badge-check-oP2z_95u.js +0 -1
  880. package/dist/showcase/assets/bell-BTX2D-ES.js +0 -1
  881. package/dist/showcase/assets/bot-CKh5XgUG.js +0 -1
  882. package/dist/showcase/assets/box-F1uaZ6iw.js +0 -1
  883. package/dist/showcase/assets/brain-dD_ppLUa.js +0 -1
  884. package/dist/showcase/assets/brand-zisZOFKf.js +0 -40
  885. package/dist/showcase/assets/breadcrumb-C7vv0L8K.js +0 -52
  886. package/dist/showcase/assets/breadcrumb-fay5sLba.js +0 -1
  887. package/dist/showcase/assets/breadcrumbs-DklRXepp.js +0 -1
  888. package/dist/showcase/assets/briefcase-D9M4aNmi.js +0 -1
  889. package/dist/showcase/assets/button-DbhXfR1N.js +0 -44
  890. package/dist/showcase/assets/button-group-BpdhyMif.js +0 -1
  891. package/dist/showcase/assets/buttons-XexbmUtN.js +0 -259
  892. package/dist/showcase/assets/calendar-BADJgjpI.js +0 -16
  893. package/dist/showcase/assets/calendar-Djh3xLVx.js +0 -1
  894. package/dist/showcase/assets/calendar-dWZ2-0gU.js +0 -1
  895. package/dist/showcase/assets/card-BUSAPPkx.js +0 -1
  896. package/dist/showcase/assets/cards-DHBPe01w.js +0 -328
  897. package/dist/showcase/assets/chart-column-6l5wIZ0h.js +0 -1
  898. package/dist/showcase/assets/chevron-down-at2vrt1V.js +0 -1
  899. package/dist/showcase/assets/chevron-left-DIs3WYNO.js +0 -1
  900. package/dist/showcase/assets/chevron-right-BNy0Or0x.js +0 -1
  901. package/dist/showcase/assets/chevron-up-CX7619BJ.js +0 -1
  902. package/dist/showcase/assets/chevrons-up-down-Be6eciau.js +0 -1
  903. package/dist/showcase/assets/circle-C0Yd1DDS.js +0 -1
  904. package/dist/showcase/assets/circle-alert-DfQp_X3_.js +0 -1
  905. package/dist/showcase/assets/circle-check-BkqQe1tv.js +0 -1
  906. package/dist/showcase/assets/circle-check-big-BXxHUhuc.js +0 -1
  907. package/dist/showcase/assets/circle-dot-HeRgxZxN.js +0 -1
  908. package/dist/showcase/assets/circle-question-mark-BgS4fb6N.js +0 -1
  909. package/dist/showcase/assets/circle-x-CMzwDsaf.js +0 -1
  910. package/dist/showcase/assets/clock-ynCzs_rR.js +0 -1
  911. package/dist/showcase/assets/code-xml-B8aVstrJ.js +0 -1
  912. package/dist/showcase/assets/collapsible-C8CKdiRn.js +0 -27
  913. package/dist/showcase/assets/collapsible-u43HxDHB.js +0 -1
  914. package/dist/showcase/assets/combobox-D-6ff0VG.js +0 -622
  915. package/dist/showcase/assets/command-BsHudlBe.js +0 -1
  916. package/dist/showcase/assets/command-DZqmBolX.js +0 -45
  917. package/dist/showcase/assets/comment-composer-OnxlkC5y.js +0 -1
  918. package/dist/showcase/assets/comment-item-DmZ1AJ2Y.js +0 -1
  919. package/dist/showcase/assets/comments-BjIVksjE.js +0 -349
  920. package/dist/showcase/assets/commerce-3T1GxvrA.js +0 -78
  921. package/dist/showcase/assets/commerce-extras-CYv_uRQR.js +0 -179
  922. package/dist/showcase/assets/composite-mol0-2zZ.js +0 -1
  923. package/dist/showcase/assets/contact-card-CWAANJqn.js +0 -65
  924. package/dist/showcase/assets/content-container-D3Phw6h8.js +0 -1
  925. package/dist/showcase/assets/copyable-BdzUH3U3.js +0 -96
  926. package/dist/showcase/assets/course-card-Cb6Y2vJ6.js +0 -113
  927. package/dist/showcase/assets/cpu-CRrekbGQ.js +0 -1
  928. package/dist/showcase/assets/credit-card--5vg7bQy.js +0 -1
  929. package/dist/showcase/assets/currency-VuqnKj_Y.js +0 -149
  930. package/dist/showcase/assets/dark-surfaces-DEyBimFz.js +0 -90
  931. package/dist/showcase/assets/database-Bnvw0wVV.js +0 -1
  932. package/dist/showcase/assets/date-block-IhoCVl_d.js +0 -1
  933. package/dist/showcase/assets/date-picker-DnJpsnaF.js +0 -1
  934. package/dist/showcase/assets/date-pickers-CEbieq-R.js +0 -110
  935. package/dist/showcase/assets/dense-info-B04QmrOd.js +0 -106
  936. package/dist/showcase/assets/dialog-DotEO3IO.js +0 -1
  937. package/dist/showcase/assets/display-hK7Dtm-B.js +0 -392
  938. package/dist/showcase/assets/dist-DQgGKvzA.js +0 -1
  939. package/dist/showcase/assets/dollar-sign-gJtl-XaL.js +0 -1
  940. package/dist/showcase/assets/download-CMrNgeil.js +0 -1
  941. package/dist/showcase/assets/dropdown-menu-Cqv6D7Sb.js +0 -1
  942. package/dist/showcase/assets/dropzone-v69fWHZJ.js +0 -1
  943. package/dist/showcase/assets/ellipsis-CgqPlt6Z.js +0 -1
  944. package/dist/showcase/assets/ellipsis-vertical-CiJqC0n2.js +0 -1
  945. package/dist/showcase/assets/empty-DYHzk-Gb.js +0 -1
  946. package/dist/showcase/assets/empty-item-CTwvC_3M.js +0 -49
  947. package/dist/showcase/assets/empty-state-eUgJ4h41.js +0 -188
  948. package/dist/showcase/assets/enhanced-activities-XU2u5gO6.js +0 -359
  949. package/dist/showcase/assets/esm-B7xAMXnv.js +0 -2
  950. package/dist/showcase/assets/event-calendar-D2rjpzq1.js +0 -138
  951. package/dist/showcase/assets/event-log-BxER62Ds.js +0 -326
  952. package/dist/showcase/assets/example-DPfw-R7_.js +0 -1
  953. package/dist/showcase/assets/external-link-DJNGkjZ0.js +0 -1
  954. package/dist/showcase/assets/eye-BQU3UqWi.js +0 -1
  955. package/dist/showcase/assets/feature-announcement-CjGQEODB.js +0 -34
  956. package/dist/showcase/assets/file-DBpbC8g-.js +0 -1
  957. package/dist/showcase/assets/file-text-DokBif5V.js +0 -1
  958. package/dist/showcase/assets/filters-DM2olMKy.js +0 -78
  959. package/dist/showcase/assets/flag-hAuZbHU1.js +0 -1
  960. package/dist/showcase/assets/folder-open-DqubQ0ts.js +0 -1
  961. package/dist/showcase/assets/form-sizing-CfbZF8Ja.js +0 -1
  962. package/dist/showcase/assets/format-gCABLair.js +0 -1
  963. package/dist/showcase/assets/forms-FsAT0C-I.js +0 -790
  964. package/dist/showcase/assets/generic-BUuo7j09.js +0 -1
  965. package/dist/showcase/assets/getPseudoElementBounds-l8uxcPNL.js +0 -1
  966. package/dist/showcase/assets/gift-CS7Tg3kD.js +0 -1
  967. package/dist/showcase/assets/giftcard-cards-h1ffLs9F.js +0 -85
  968. package/dist/showcase/assets/git-branch-D4-6vv6t.js +0 -1
  969. package/dist/showcase/assets/global-search-BUyhhsQv.js +0 -90
  970. package/dist/showcase/assets/globe-CqLYhUfl.js +0 -1
  971. package/dist/showcase/assets/gradient-card-Bwr9OLIL.js +0 -58
  972. package/dist/showcase/assets/header-notifications-BWla1yhM.js +0 -1
  973. package/dist/showcase/assets/heart-DfZtXfIP.js +0 -1
  974. package/dist/showcase/assets/house-DhIReDt8.js +0 -1
  975. package/dist/showcase/assets/icon-badge-BgRFYZEc.js +0 -1
  976. package/dist/showcase/assets/image-D_eNEZWQ.js +0 -1
  977. package/dist/showcase/assets/inbox-5sFkO7gC.js +0 -1
  978. package/dist/showcase/assets/index-B-Z7p0So.js +0 -10
  979. package/dist/showcase/assets/inertValue-NU_Amr-x.js +0 -1
  980. package/dist/showcase/assets/info-DyB6KH3Z.js +0 -1
  981. package/dist/showcase/assets/inline-stat-D2aaM1Vt.js +0 -1
  982. package/dist/showcase/assets/input-BS64kyoq.js +0 -1
  983. package/dist/showcase/assets/input-DWLyniGt.js +0 -1
  984. package/dist/showcase/assets/input-group-BS8j5Eek.js +0 -47
  985. package/dist/showcase/assets/input-group-B_E_3EGS.js +0 -1
  986. package/dist/showcase/assets/inputs-DOQ2foig.js +0 -49
  987. package/dist/showcase/assets/invoice-header-C2-uQE_s.js +0 -36
  988. package/dist/showcase/assets/invoice-items-BUunRJqA.js +0 -36
  989. package/dist/showcase/assets/invoice-mini-BrLMrzN6.js +0 -14
  990. package/dist/showcase/assets/invoice-table-CaB9Z8jI.js +0 -30
  991. package/dist/showcase/assets/isSameDay-rwvIyLOL.js +0 -1
  992. package/dist/showcase/assets/isToday-CIAzBrb5.js +0 -1
  993. package/dist/showcase/assets/italic-B02a4PdD.js +0 -1
  994. package/dist/showcase/assets/item-C-0RObvI.js +0 -117
  995. package/dist/showcase/assets/item-CCu0Ufaq.js +0 -1
  996. package/dist/showcase/assets/item-DF4m_56j.js +0 -1
  997. package/dist/showcase/assets/kanban-BgW23a7P.js +0 -175
  998. package/dist/showcase/assets/label-MdV7pglj.js +0 -1
  999. package/dist/showcase/assets/layout-containers-nKVReEJB.js +0 -96
  1000. package/dist/showcase/assets/layout-header-CKyxHHPC.js +0 -170
  1001. package/dist/showcase/assets/layout-page-ClD2yMnK.js +0 -122
  1002. package/dist/showcase/assets/layout-sidebar-jdQnYDiT.js +0 -224
  1003. package/dist/showcase/assets/layout-users-Cv849xnU.js +0 -104
  1004. package/dist/showcase/assets/lib-BHW4JERQ.js +0 -1
  1005. package/dist/showcase/assets/lock-B8bfl9sZ.js +0 -1
  1006. package/dist/showcase/assets/mail-DmOBTX4I.js +0 -1
  1007. package/dist/showcase/assets/map-ButgRl8f.js +0 -124
  1008. package/dist/showcase/assets/map-pin-o3egisLq.js +0 -1
  1009. package/dist/showcase/assets/menus-DdXgYKVA.js +0 -89
  1010. package/dist/showcase/assets/message-square-Bl6P4TA0.js +0 -1
  1011. package/dist/showcase/assets/metadata-list-aXo96h_U.js +0 -278
  1012. package/dist/showcase/assets/metric-BLHKuZtE.js +0 -1
  1013. package/dist/showcase/assets/metric-grid-6Dpj5eV3.js +0 -1
  1014. package/dist/showcase/assets/metric-trend-chip-m389ipmG.js +0 -1
  1015. package/dist/showcase/assets/metrics-analytics-bar-B-1IUlHf.js +0 -44
  1016. package/dist/showcase/assets/metrics-analytics-cards-B8tvK_RB.js +0 -77
  1017. package/dist/showcase/assets/metrics-comparison-DKJ7Js3F.js +0 -76
  1018. package/dist/showcase/assets/metrics-heatmap-BlRnJoI0.js +0 -27
  1019. package/dist/showcase/assets/metrics-inline-badge-COI7f64X.js +0 -17
  1020. package/dist/showcase/assets/metrics-kpi-row-LRfmKhsy.js +0 -31
  1021. package/dist/showcase/assets/metrics-micro-grid-DmqIQVVR.js +0 -42
  1022. package/dist/showcase/assets/metrics-overview-Dbf5RM2k.js +0 -192
  1023. package/dist/showcase/assets/metrics-stat-cards-D5oevQvv.js +0 -54
  1024. package/dist/showcase/assets/minus-D-jmUi0G.js +0 -1
  1025. package/dist/showcase/assets/money-display-C__61373.js +0 -1
  1026. package/dist/showcase/assets/month-year-picker-BfBQePUY.js +0 -1
  1027. package/dist/showcase/assets/navigation-DUAe-sQV.js +0 -86
  1028. package/dist/showcase/assets/navigation-extras-itSAf6QT.js +0 -43
  1029. package/dist/showcase/assets/navigation-fAOvwIlP.js +0 -230
  1030. package/dist/showcase/assets/onboarding-checklist-1gmzk3_J.js +0 -119
  1031. package/dist/showcase/assets/overlays-BMTBOIEI.js +0 -88
  1032. package/dist/showcase/assets/overlays-Lu16yJWM.js +0 -393
  1033. package/dist/showcase/assets/package-BIa1hPVQ.js +0 -1
  1034. package/dist/showcase/assets/page-action-button-C5NiQHnP.js +0 -1
  1035. package/dist/showcase/assets/page-header-Cwf9DuhD.js +0 -1
  1036. package/dist/showcase/assets/pagination-9iSNmdCx.js +0 -1
  1037. package/dist/showcase/assets/pagination-MjniF-7j.js +0 -42
  1038. package/dist/showcase/assets/paperclip-CaNLUOIA.js +0 -1
  1039. package/dist/showcase/assets/pencil-DTLGPoc_.js +0 -1
  1040. package/dist/showcase/assets/phone-XvU6LndA.js +0 -1
  1041. package/dist/showcase/assets/plus-BDSCn8ol.js +0 -1
  1042. package/dist/showcase/assets/popover-CvhuubS6.js +0 -1
  1043. package/dist/showcase/assets/popover-DUQqLZN2.js +0 -1
  1044. package/dist/showcase/assets/popover-menu-DVGBuFpL.js +0 -1
  1045. package/dist/showcase/assets/progress-BQopCRpV.js +0 -1
  1046. package/dist/showcase/assets/progress-CvSUR260.js +0 -18
  1047. package/dist/showcase/assets/props-table-BzUnIcv-.js +0 -1
  1048. package/dist/showcase/assets/quote-D55lkoXn.js +0 -1
  1049. package/dist/showcase/assets/receipt-D3ilhl9U.js +0 -1
  1050. package/dist/showcase/assets/refresh-cw-Csl2LQ4l.js +0 -1
  1051. package/dist/showcase/assets/resolveValueLabel-CM5i142y.js +0 -1
  1052. package/dist/showcase/assets/rich-text-editor-Bz7jWvPv.js +0 -124
  1053. package/dist/showcase/assets/rich-text-editor-DWKFpgNI.js +0 -141
  1054. package/dist/showcase/assets/rotate-ccw-BnkpK7eq.js +0 -1
  1055. package/dist/showcase/assets/scroll-area-BTVLd58j.js +0 -1
  1056. package/dist/showcase/assets/scroll-area-CgFEDepJ.js +0 -32
  1057. package/dist/showcase/assets/select-B7-tZDlG.js +0 -1
  1058. package/dist/showcase/assets/send-BhjEdZ06.js +0 -1
  1059. package/dist/showcase/assets/separator-CJayjKGP.js +0 -28
  1060. package/dist/showcase/assets/separator-CZ_sPWQj.js +0 -1
  1061. package/dist/showcase/assets/settings-Duj7gAZe.js +0 -1
  1062. package/dist/showcase/assets/sheet-BMabZ_Gj.js +0 -1
  1063. package/dist/showcase/assets/shield-C22sWOf4.js +0 -1
  1064. package/dist/showcase/assets/shield-alert-DgZ6UO46.js +0 -1
  1065. package/dist/showcase/assets/shield-check-jGSgmijm.js +0 -1
  1066. package/dist/showcase/assets/shopping-bag-Cd09Ga6D.js +0 -1
  1067. package/dist/showcase/assets/sidebar.context-CXTHS3vn.js +0 -1
  1068. package/dist/showcase/assets/skeleton-Dmp4eC1A.js +0 -1
  1069. package/dist/showcase/assets/skeleton-FLNbc7QP.js +0 -29
  1070. package/dist/showcase/assets/smart-card-50WN9sCI.js +0 -1
  1071. package/dist/showcase/assets/sonner-DR_DYpqb.js +0 -22
  1072. package/dist/showcase/assets/sortable.esm-C_l8_Iqt.js +0 -5
  1073. package/dist/showcase/assets/sparkles-C-fyahzv.js +0 -1
  1074. package/dist/showcase/assets/spinner-B8jgVQNj.js +0 -30
  1075. package/dist/showcase/assets/spinner-C4zPRpI0.js +0 -49
  1076. package/dist/showcase/assets/spinner-DFjHsQlR.js +0 -1
  1077. package/dist/showcase/assets/square-pen-Dp7lCfI3.js +0 -1
  1078. package/dist/showcase/assets/stacked-avatars-CTckbUiW.js +0 -1
  1079. package/dist/showcase/assets/star-l00ivfkD.js +0 -1
  1080. package/dist/showcase/assets/startOfDay-Xmododib.js +0 -1
  1081. package/dist/showcase/assets/styles-zuwR0q1z.js +0 -1
  1082. package/dist/showcase/assets/switch-D3LrIrTQ.js +0 -1
  1083. package/dist/showcase/assets/switch-ylXVyh_N.js +0 -1
  1084. package/dist/showcase/assets/table-Cn3-19zb.js +0 -1
  1085. package/dist/showcase/assets/table-ao3IcAnF.js +0 -390
  1086. package/dist/showcase/assets/tabs-CTLQKtiu.js +0 -19
  1087. package/dist/showcase/assets/tabs-lc1fX94A.js +0 -1
  1088. package/dist/showcase/assets/text-button-Fu8UY1A8.js +0 -1
  1089. package/dist/showcase/assets/text-link--EyGasJN.js +0 -1
  1090. package/dist/showcase/assets/textarea-BdhnlNrF.js +0 -1
  1091. package/dist/showcase/assets/textarea-D1kG3a9B.js +0 -1
  1092. package/dist/showcase/assets/timelines-DF3tNgyG.js +0 -186
  1093. package/dist/showcase/assets/toggle-group-CfxuWsv9.js +0 -1
  1094. package/dist/showcase/assets/toggles-CacdBPlV.js +0 -71
  1095. package/dist/showcase/assets/toggles-group-CRhgTGmL.js +0 -32
  1096. package/dist/showcase/assets/trash-2-B0_GprQM.js +0 -1
  1097. package/dist/showcase/assets/trending-up-B202l1b6.js +0 -1
  1098. package/dist/showcase/assets/truck-Bl1pNrHi.js +0 -1
  1099. package/dist/showcase/assets/typography-DEtOxBlR.js +0 -214
  1100. package/dist/showcase/assets/ui-badge-n4RA0J5b.js +0 -28
  1101. package/dist/showcase/assets/ui-card-Ck-kzrTh.js +0 -30
  1102. package/dist/showcase/assets/ui-table-gzOp82pf.js +0 -42
  1103. package/dist/showcase/assets/upload-tray-VvKdTZSi.js +0 -138
  1104. package/dist/showcase/assets/useAnchoredPopupScrollLock-Cu2ZwN7Z.js +0 -1
  1105. package/dist/showcase/assets/useCollapsiblePanel-C6_cdQ7B.js +0 -1
  1106. package/dist/showcase/assets/useCompositeItem-BfUPqXoj.js +0 -1
  1107. package/dist/showcase/assets/useCompositeListItem-Cf2lpKB8.js +0 -1
  1108. package/dist/showcase/assets/useControlled-C6q3nmcf.js +0 -1
  1109. package/dist/showcase/assets/useLabelableId-CfPT16c1.js +0 -1
  1110. package/dist/showcase/assets/useOpenInteractionType-CGeqRuuY.js +0 -1
  1111. package/dist/showcase/assets/useRender-CoUlh0uZ.js +0 -1
  1112. package/dist/showcase/assets/useRole-DSPUSyVX.js +0 -1
  1113. package/dist/showcase/assets/useTriggerFocusGuards-BwZ1HD24.js +0 -1
  1114. package/dist/showcase/assets/useValueChanged-Dej794I1.js +0 -1
  1115. package/dist/showcase/assets/user-3L762Mec.js +0 -1
  1116. package/dist/showcase/assets/user-plus-9WRYjS04.js +0 -1
  1117. package/dist/showcase/assets/users-CxKZ7gt8.js +0 -1
  1118. package/dist/showcase/assets/vendor-profile-BaCptdMF.js +0 -37
  1119. package/dist/showcase/assets/wrench-Duh91tnW.js +0 -1
  1120. package/dist/showcase/assets/x-t42iKYpL.js +0 -1
  1121. package/dist/showcase/assets/zap-D0z3Tv_L.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-BPCeKX9X.js","names":[],"sources":["../../src/components/layout/page/partials/page-header.tsx","../../src/components/layout/page/page.tsx","../../src/components/layout/page/page-content.tsx","../../src/components/layout/page/page.types.ts","../../src/components/layout/page/partials/page-actions.tsx"],"sourcesContent":["/**\n * PageHeader — page title, back control, title badges, and actions.\n *\n * Navigation goes through `renderLink`; consumer apps wire framework links at\n * the boundary. Slots let consumers replace any structural region without\n * forking the page wrapper.\n */\nimport { ArrowLeft } from 'lucide-react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { Separator } from '@/components/base/display/separator';\nimport { Heading, Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport type { PageHeaderProps, PageHeadingTag } from '../page.types';\n\nconst PAGE_TITLE_CLASS: Record<PageHeadingTag, string> = {\n\th1: 'border-0 pb-0 text-xl',\n\th2: 'border-0 pb-0 text-lg',\n\th3: 'text-base',\n\th4: 'text-sm',\n\th5: 'text-sm',\n\th6: 'text-sm',\n};\n\nexport function PageHeader({\n\ttitle,\n\tdescription,\n\theadingTag = 'h3',\n\tbackHref,\n\tonBack,\n\tbackLabel = 'Back',\n\ttitleBadges = [],\n\tactions,\n\tslots,\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n\tcontentClassName,\n\tactionsClassName,\n\ttitleClassName,\n\tdescriptionClassName,\n}: PageHeaderProps) {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst hasBack = !!backHref || !!onBack;\n\n\tconst defaultBack = hasBack ? (\n\t\t<div className=\"flex items-center gap-1.5 pt-1\">\n\t\t\t{backHref && !onBack ? (\n\t\t\t\tresolvedRenderLink({\n\t\t\t\t\thref: backHref,\n\t\t\t\t\t'aria-label': backLabel,\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon-xs\"\n\t\t\t\t\t\t\tclassName=\"h-7 w-7 rounded p-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ArrowLeft className=\"size-4\" aria-hidden=\"true\" />\n\t\t\t\t\t\t\t<span className=\"sr-only\">{backLabel}</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t),\n\t\t\t\t})\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\tsize=\"icon-xs\"\n\t\t\t\t\tclassName=\"h-7 w-7 rounded p-1\"\n\t\t\t\t\tonClick={onBack}\n\t\t\t\t\taria-label={backLabel}\n\t\t\t\t>\n\t\t\t\t\t<ArrowLeft className=\"size-4\" aria-hidden=\"true\" />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t<Separator orientation=\"vertical\" className=\"h-7\" />\n\t\t</div>\n\t) : null;\n\n\treturn (\n\t\t<header\n\t\t\tclassName={cn(\n\t\t\t\t'flex w-full flex-col gap-4 md:flex-row md:items-start md:justify-between',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"flex min-w-0 flex-1 items-start gap-3\">\n\t\t\t\t{slots?.back ?? defaultBack}\n\n\t\t\t\t<div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n\t\t\t\t\t{slots?.beforeTitle}\n\t\t\t\t\t<div className={cn('flex max-w-[475px] flex-col gap-0.5', contentClassName)}>\n\t\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-3\">\n\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\ttag={headingTag}\n\t\t\t\t\t\t\t\tcontainerClassName=\"space-y-0\"\n\t\t\t\t\t\t\t\tclassName={cn(PAGE_TITLE_CLASS[headingTag], titleClassName)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t{titleBadges.length > 0 && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t\t\t{titleBadges.map((badge, index) => (\n\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\tkey={badge.key ?? index}\n\t\t\t\t\t\t\t\t\t\t\tvariant={badge.variant ?? 'secondary'}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{badge.label}\n\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className={descriptionClassName}>\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{slots?.afterDescription}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{slots?.actions ?? (\n\t\t\t\t!!actions && <div className={cn('shrink-0', actionsClassName)}>{actions}</div>\n\t\t\t)}\n\t\t</header>\n\t);\n}\n","/**\n * Page — convenience wrapper that pairs `<PageHeader>` with `<Container>`.\n * For full control, compose `<PageHeader />`, `<PageContent />`, and\n * `<Container />` directly.\n */\nimport { Container } from '../containers/content-container';\nimport { PageHeader } from './partials/page-header';\nimport type { PageProps } from './page.types';\nimport { cn } from '@/lib/utils';\n\nexport function Page({\n\theader,\n\twidth = 'narrow',\n\tchildren,\n\tclassName,\n\tbodyClassName,\n\trenderLink,\n\tLinkComponent,\n}: PageProps) {\n\treturn (\n\t\t<Container width={width} className={className}>\n\t\t\t{!!header && (\n\t\t\t\t<PageHeader\n\t\t\t\t\t{...header}\n\t\t\t\t\trenderLink={header.renderLink ?? renderLink}\n\t\t\t\t\tLinkComponent={header.LinkComponent ?? LinkComponent}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!!children && (\n\t\t\t\t<div className={cn('relative block w-full', bodyClassName)}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</Container>\n\t);\n}\n","/**\n * PageContent — `<main>` wrapper for the body region of an app shell.\n *\n * Provides consistent padding and an optional width clamp. Lighter-weight\n * than `Page` — use directly inside an `AppShell` flexbox where the surrounding\n * structure (header, sidebar) is already in place.\n */\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageContentMaxWidth = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';\n\nexport interface PageContentProps extends HTMLAttributes<HTMLElement> {\n\t/** Body content. */\n\tchildren?: ReactNode;\n\t/** When true, removes default `p-4 md:p-6` padding. */\n\tnoPadding?: boolean;\n\t/** Optional max-width clamp (centers when set). */\n\tmaxWidth?: PageContentMaxWidth;\n}\n\nconst MAX_WIDTH_CLASS: Record<PageContentMaxWidth, string> = {\n\tsm: 'max-w-screen-sm',\n\tmd: 'max-w-screen-md',\n\tlg: 'max-w-screen-lg',\n\txl: 'max-w-screen-xl',\n\t'2xl': 'max-w-screen-2xl',\n\tfull: 'max-w-full',\n};\n\nexport function PageContent({\n\tnoPadding = false,\n\tmaxWidth,\n\tclassName,\n\tchildren,\n\t...props\n}: PageContentProps) {\n\treturn (\n\t\t<main\n\t\t\tclassName={cn(\n\t\t\t\t'flex-1',\n\t\t\t\t!noPadding && 'p-4 md:p-6',\n\t\t\t\tmaxWidth && cn('mx-auto w-full', MAX_WIDTH_CLASS[maxWidth]),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</main>\n\t);\n}\n","/**\n * Page-level types for `Page`, `PageHeader`, `PageActions`, and exported\n * partials. All navigation is framework-neutral via `renderLink`.\n */\nimport type { ComponentType, JSX, Key, ReactNode } from 'react';\n\nimport type {\n\tLayoutLinkRenderer,\n\tLayoutNavigationAdapter,\n\tLinkComponent,\n} from '../layout.types';\nimport type { ContainerWidth } from '../containers/containers.types';\n\nexport type PageHeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface PageTitleBadge {\n\tlabel: ReactNode;\n\tvariant?: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error';\n\tkey?: Key;\n}\n\nexport interface PageHeaderSlots {\n\t/** Replaces the leading back control entirely. */\n\tback?: ReactNode;\n\t/** Additional content before the title line. */\n\tbeforeTitle?: ReactNode;\n\t/** Additional content after the description. */\n\tafterDescription?: ReactNode;\n\t/** Replaces the trailing actions region. */\n\tactions?: ReactNode;\n}\n\nexport interface PageHeaderProps extends LayoutNavigationAdapter {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\t/** Semantic heading level for the title. Defaults to `h3` for nested app pages. */\n\theadingTag?: PageHeadingTag;\n\tbackHref?: string;\n\tonBack?: () => void;\n\tbackLabel?: string;\n\ttitleBadges?: PageTitleBadge[];\n\tactions?: ReactNode;\n\tslots?: PageHeaderSlots;\n\tclassName?: string;\n\tcontentClassName?: string;\n\tactionsClassName?: string;\n\ttitleClassName?: string;\n\tdescriptionClassName?: string;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport type PageActionVariant =\n\t| 'primary'\n\t| 'secondary'\n\t| 'destructive'\n\t| 'success'\n\t| 'warning';\n\nexport interface PageActionContext {\n\tindex: number;\n\tisInline: boolean;\n\trenderLink: LayoutLinkRenderer;\n}\n\nexport interface PageAction {\n\tid?: string;\n\tlabel: ReactNode;\n\tonClick?: () => void;\n\thref?: string;\n\ttarget?: string;\n\trel?: string;\n\texternal?: boolean;\n\tdisabled?: boolean;\n\tloading?: boolean;\n\ticon?: ComponentType<{ className?: string }>;\n\tvariant?: PageActionVariant;\n\tvisible?: boolean;\n\tgroup?: string;\n\tplacement?: 'auto' | 'inline' | 'menu';\n\t/** Escape hatch for one action only. Prefer `renderAction` for consistent customization. */\n\telement?: ReactNode | JSX.Element;\n}\n\nexport type PageActionsDisplay = 'flat' | 'dropdown' | 'auto';\n\nexport interface PageActionsStrings {\n\tmenuLabel: string;\n}\n\nexport const defaultPageActionsStrings: PageActionsStrings = {\n\tmenuLabel: 'Page actions',\n};\n\nexport interface PageActionsProps extends LayoutNavigationAdapter {\n\tactions?: PageAction[];\n\tdisplay?: PageActionsDisplay;\n\tbreakpoint?: number;\n\t/**\n\t * Maximum non-menu actions rendered inline before overflow moves them into\n\t * the dropdown menu. Defaults to 4 for admin header density.\n\t */\n\tmaxInlineActions?: number;\n\tstrings?: Partial<PageActionsStrings>;\n\tclassName?: string;\n\tinlineClassName?: string;\n\tmenuClassName?: string;\n\trenderAction?: (action: PageAction, context: PageActionContext) => ReactNode;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport interface PageProps extends LayoutNavigationAdapter {\n\theader?: PageHeaderProps;\n\twidth?: ContainerWidth;\n\tchildren?: ReactNode;\n\tclassName?: string;\n\tbodyClassName?: string;\n}\n","/**\n * PageActions — composable action ribbon for page headers.\n *\n * Links go through `renderLink`, never router imports or DOM click hacks.\n * Use `renderAction` for app-specific rendering while keeping grouping,\n * filtering, breakpoint, and menu placement logic centralized.\n */\nimport { Fragment, useEffect, useMemo, useState, type ReactNode } from 'react';\nimport { MoreHorizontal } from 'lucide-react';\n\nimport { PageActionButton } from '@/components/base/buttons/page-action-button';\nimport { Separator } from '@/components/base/display/separator';\nimport { ActionMenu } from '@/components/base/navigation/action-menu';\nimport {\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n} from '@/components/base/navigation/dropdown-menu';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport {\n\tdefaultPageActionsStrings,\n\ttype PageAction,\n\ttype PageActionContext,\n\ttype PageActionVariant,\n\ttype PageActionsProps,\n} from '../page.types';\n\nconst resolveBaseVariant = (\n\tvariant: PageActionVariant | undefined,\n): 'primary' | 'secondary' | 'error' => {\n\tif (variant === 'destructive') return 'error';\n\tif (variant === 'primary' || variant === 'success' || variant === 'warning') return 'primary';\n\treturn 'secondary';\n};\n\nconst PAGE_ACTIONS_MENU_CLASS = 'max-h-[80vh] overflow-y-auto overscroll-contain';\nconst DEFAULT_MAX_INLINE_ACTIONS = 4;\n\ntype PageActionEntry = {\n\taction: PageAction;\n\tindex: number;\n};\n\nfunction renderInlineAction(\n\taction: PageAction,\n\tcontext: PageActionContext,\n\trenderAction?: PageActionsProps['renderAction'],\n): ReactNode {\n\tif (action.visible === false) return null;\n\tif (action.element) return <div key={action.id ?? context.index}>{action.element}</div>;\n\tif (renderAction) return renderAction(action, context);\n\n\tconst key = action.id ?? context.index;\n\tconst disabled = !!action.disabled || !!action.loading;\n\tconst Icon = action.icon;\n\tconst button = (\n\t\t<PageActionButton\n\t\t\tkey={key}\n\t\t\tvariant={resolveBaseVariant(action.variant)}\n\t\t\tonClick={action.onClick}\n\t\t\tdisabled={disabled}\n\t\t>\n\t\t\t{!!Icon && <Icon className=\"size-3.5\" aria-hidden=\"true\" />}\n\t\t\t{action.label}\n\t\t</PageActionButton>\n\t);\n\n\tif (action.href && !action.onClick) {\n\t\treturn context.renderLink({\n\t\t\thref: action.href,\n\t\t\tchildren: button,\n\t\t\tclassName: 'inline-flex',\n\t\t\ttarget: action.target,\n\t\t\trel: action.rel,\n\t\t\texternal: action.external,\n\t\t\tdisabled,\n\t\t});\n\t}\n\n\treturn button;\n}\n\nfunction renderMenuItems(\n\tentries: PageActionEntry[],\n\tcontextBase: Omit<PageActionContext, 'index' | 'isInline'>,\n\trenderAction?: PageActionsProps['renderAction'],\n): ReactNode[] {\n\tconst items: ReactNode[] = [];\n\tlet currentGroup: string | null = null;\n\n\tentries.forEach(({ action, index }) => {\n\t\tconst context: PageActionContext = { ...contextBase, index, isInline: false };\n\t\tconst nextGroup = action.group ?? null;\n\t\tconst groupChanged = nextGroup !== currentGroup;\n\n\t\tif (items.length > 0 && groupChanged) {\n\t\t\titems.push(\n\t\t\t\t<Separator\n\t\t\t\t\tkey={`sep-${currentGroup ?? 'root'}-${nextGroup ?? 'root'}-${action.id ?? index}`}\n\t\t\t\t\tclassName=\"my-1\"\n\t\t\t\t/>,\n\t\t\t);\n\t\t}\n\n\t\tif (groupChanged) {\n\t\t\tcurrentGroup = nextGroup;\n\t\t\tif (nextGroup) {\n\t\t\t\titems.push(\n\t\t\t\t\t<div key={`group-${nextGroup}-${action.id ?? index}`} className=\"px-2 pt-1\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\tclassName=\"uppercase tracking-wider\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{nextGroup}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (action.element) {\n\t\t\titems.push(<div key={action.id ?? index}>{action.element}</div>);\n\t\t\treturn;\n\t\t}\n\n\t\tif (renderAction) {\n\t\t\titems.push(<div key={action.id ?? index}>{renderAction(action, context)}</div>);\n\t\t\treturn;\n\t\t}\n\n\t\tconst Icon = action.icon;\n\t\tconst disabled = !!action.disabled || !!action.loading;\n\t\tconst children = (\n\t\t\t<>\n\t\t\t\t{!!Icon && <Icon className=\"size-3.5\" aria-hidden=\"true\" />}\n\t\t\t\t{typeof action.label === 'string' ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">\n\t\t\t\t\t\t{action.label}\n\t\t\t\t\t</Text>\n\t\t\t\t) : action.label}\n\t\t\t</>\n\t\t);\n\n\t\tconst itemClassName = cn(\n\t\t\t'gap-1.5 px-2 py-1.5 text-xs',\n\t\t\taction.variant === 'destructive' && 'text-destructive focus-visible:text-destructive',\n\t\t);\n\n\t\tif (action.href && !action.onClick && !disabled) {\n\t\t\titems.push(\n\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\tkey={action.id ?? index}\n\t\t\t\t\thref={action.href}\n\t\t\t\t\tclassName={itemClassName}\n\t\t\t\t\trender={(props) =>\n\t\t\t\t\t\tcontext.renderLink({\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\thref: action.href,\n\t\t\t\t\t\t\tchildren: props.children,\n\t\t\t\t\t\t\ttarget: action.target,\n\t\t\t\t\t\t\trel: action.rel,\n\t\t\t\t\t\t\texternal: action.external,\n\t\t\t\t\t\t}) as React.ReactElement\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</DropdownMenuLinkItem>,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\titems.push(\n\t\t\t<DropdownMenuItem\n\t\t\t\tkey={action.id ?? index}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonClick={action.onClick}\n\t\t\t\tclassName={itemClassName}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</DropdownMenuItem>,\n\t\t);\n\t});\n\n\treturn items;\n}\n\nexport function PageActions({\n\tactions,\n\tdisplay = 'dropdown',\n\tbreakpoint = 1040,\n\tmaxInlineActions = DEFAULT_MAX_INLINE_ACTIONS,\n\trenderLink,\n\tLinkComponent,\n\tstrings: stringsProp,\n\tclassName,\n\tinlineClassName,\n\tmenuClassName,\n\trenderAction,\n}: PageActionsProps) {\n\tconst strings = useStrings(defaultPageActionsStrings, stringsProp);\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\n\tconst filtered = useMemo<PageActionEntry[]>(\n\t\t() => (actions ?? [])\n\t\t\t.map((action, index) => ({ action, index }))\n\t\t\t.filter(({ action }) => action.visible !== false),\n\t\t[actions],\n\t);\n\n\tconst [isNarrow, setIsNarrow] = useState(false);\n\tuseEffect(() => {\n\t\tif (display !== 'auto' || typeof window === 'undefined') return;\n\n\t\tconst check = () => setIsNarrow(window.innerWidth <= breakpoint);\n\t\tcheck();\n\t\twindow.addEventListener('resize', check);\n\t\treturn () => window.removeEventListener('resize', check);\n\t}, [display, breakpoint]);\n\n\tif (filtered.length === 0) return null;\n\n\tconst inlineContextBase = { renderLink: resolvedRenderLink };\n\tconst inlineClass = cn('flex items-center gap-2', inlineClassName, className);\n\tconst menuContentClass = cn(PAGE_ACTIONS_MENU_CLASS, menuClassName);\n\n\tif (display === 'dropdown' || (display === 'auto' && isNarrow)) {\n\t\treturn (\n\t\t\t<ActionMenu\n\t\t\t\ticon={MoreHorizontal}\n\t\t\t\tsrText={strings.menuLabel}\n\t\t\t\talign=\"end\"\n\t\t\t\tcloseOnSelect\n\t\t\t\tcontentClassName={menuContentClass}\n\t\t\t>\n\t\t\t\t{renderMenuItems(filtered, inlineContextBase, renderAction)}\n\t\t\t</ActionMenu>\n\t\t);\n\t}\n\n\tconst inlineLimit = Math.max(0, maxInlineActions);\n\tconst inlineCandidates = filtered.filter(({ action }) => (action.placement ?? 'auto') !== 'menu');\n\tconst inline = inlineCandidates.slice(0, inlineLimit);\n\tconst overflow = inlineCandidates.slice(inlineLimit);\n\tconst menu = [\n\t\t...overflow,\n\t\t...filtered.filter(({ action }) => (action.placement ?? 'auto') === 'menu'),\n\t];\n\n\treturn (\n\t\t<div className={inlineClass}>\n\t\t\t{inline.map((action) => (\n\t\t\t\t<Fragment key={action.action.id ?? action.index}>\n\t\t\t\t\t{renderInlineAction(\n\t\t\t\t\t\taction.action,\n\t\t\t\t\t\t{ ...inlineContextBase, index: action.index, isInline: true },\n\t\t\t\t\t\trenderAction,\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t))}\n\t\t\t{menu.length > 0 && (\n\t\t\t\t<ActionMenu\n\t\t\t\t\ticon={MoreHorizontal}\n\t\t\t\t\tsrText={strings.menuLabel}\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tcloseOnSelect\n\t\t\t\t\tcontentClassName={menuContentClass}\n\t\t\t\t>\n\t\t\t\t\t{renderMenuItems(menu, inlineContextBase, renderAction)}\n\t\t\t\t</ActionMenu>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ require(`./chunk-D3uCBrYO.cjs`);const e=require(`../lib/strings.cjs`),t=require(`../lib/utils.cjs`),n=require(`./text-DBnY6fcL.cjs`),r=require(`./heading-mZc_jan1.cjs`),i=require(`./badge-C49SSz-6.cjs`),a=require(`./button-D0nF99a9.cjs`),o=require(`./buttons-km9xqXJv.cjs`),s=require(`./dropdown-menu-DZlWHqWS.cjs`),c=require(`./separator-CN9zAJfs.cjs`),l=require(`./action-menu-eVP8GGlv.cjs`),u=require(`./hooks-C-uWoRq5.cjs`),d=require(`./content-container-CwqFnaI0.cjs`);let f=require(`react`),p=require(`react/jsx-runtime`),m=require(`lucide-react`);var h={h1:`border-0 pb-0 text-xl`,h2:`border-0 pb-0 text-lg`,h3:`text-base`,h4:`text-sm`,h5:`text-sm`,h6:`text-sm`};function g({title:e,description:o,headingTag:s=`h3`,backHref:l,onBack:d,backLabel:f=`Back`,titleBadges:g=[],actions:_,slots:v,renderLink:y,LinkComponent:b,className:x,contentClassName:S,actionsClassName:C,titleClassName:w,descriptionClassName:T}){let E=u.d({renderLink:y,LinkComponent:b}),D=l||d?(0,p.jsxs)(`div`,{className:`flex items-center gap-1.5 pt-1`,children:[l&&!d?E({href:l,"aria-label":f,children:(0,p.jsxs)(a.t,{variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,className:`h-7 w-7 rounded p-1`,children:[(0,p.jsx)(m.ArrowLeft,{className:`size-4`,"aria-hidden":`true`}),(0,p.jsx)(`span`,{className:`sr-only`,children:f})]})}):(0,p.jsx)(a.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,className:`h-7 w-7 rounded p-1`,onClick:d,"aria-label":f,children:(0,p.jsx)(m.ArrowLeft,{className:`size-4`,"aria-hidden":`true`})}),(0,p.jsx)(c.t,{orientation:`vertical`,className:`h-7`})]}):null;return(0,p.jsxs)(`header`,{className:t.cn(`flex w-full flex-col gap-4 md:flex-row md:items-start md:justify-between`,x),children:[(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[v?.back??D,(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[v?.beforeTitle,(0,p.jsxs)(`div`,{className:t.cn(`flex max-w-[475px] flex-col gap-0.5`,S),children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,p.jsx)(r.t,{tag:s,containerClassName:`space-y-0`,className:t.cn(h[s],w),children:e}),g.length>0&&(0,p.jsx)(`div`,{className:`flex items-center gap-1.5`,children:g.map((e,t)=>(0,p.jsx)(i.t,{variant:e.variant??`secondary`,children:e.label},e.key??t))})]}),!!o&&(0,p.jsx)(n.t,{size:`xs`,type:`secondary`,className:T,children:o}),v?.afterDescription]})]})]}),v?.actions??(!!_&&(0,p.jsx)(`div`,{className:t.cn(`shrink-0`,C),children:_}))]})}function _({header:e,width:n=`narrow`,children:r,className:i,bodyClassName:a,renderLink:o,LinkComponent:s}){return(0,p.jsxs)(d.t,{width:n,className:i,children:[!!e&&(0,p.jsx)(g,{...e,renderLink:e.renderLink??o,LinkComponent:e.LinkComponent??s}),!!r&&(0,p.jsx)(`div`,{className:t.cn(`relative block w-full`,a),children:r})]})}var v={sm:`max-w-screen-sm`,md:`max-w-screen-md`,lg:`max-w-screen-lg`,xl:`max-w-screen-xl`,"2xl":`max-w-screen-2xl`,full:`max-w-full`};function y({noPadding:e=!1,maxWidth:n,className:r,children:i,...a}){return(0,p.jsx)(`main`,{className:t.cn(`flex-1`,!e&&`p-4 md:p-6`,n&&t.cn(`mx-auto w-full`,v[n]),r),...a,children:i})}var b={menuLabel:`Page actions`},x=e=>e===`destructive`?`error`:e===`primary`||e===`success`||e===`warning`?`primary`:`secondary`,S=`max-h-[80vh] overflow-y-auto overscroll-contain`,C=4;function w(e,t,n){if(e.visible===!1)return null;if(e.element)return(0,p.jsx)(`div`,{children:e.element},e.id??t.index);if(n)return n(e,t);let r=e.id??t.index,i=!!e.disabled||!!e.loading,a=e.icon,s=(0,p.jsxs)(o.t,{variant:x(e.variant),onClick:e.onClick,disabled:i,children:[!!a&&(0,p.jsx)(a,{className:`size-3.5`,"aria-hidden":`true`}),e.label]},r);return e.href&&!e.onClick?t.renderLink({href:e.href,children:s,className:`inline-flex`,target:e.target,rel:e.rel,external:e.external,disabled:i}):s}function T(e,r,i){let a=[],o=null;return e.forEach(({action:e,index:l})=>{let u={...r,index:l,isInline:!1},d=e.group??null,f=d!==o;if(a.length>0&&f&&a.push((0,p.jsx)(c.t,{className:`my-1`},`sep-${o??`root`}-${d??`root`}-${e.id??l}`)),f&&(o=d,d&&a.push((0,p.jsx)(`div`,{className:`px-2 pt-1`,children:(0,p.jsx)(n.t,{size:`xxs`,weight:`semibold`,type:`secondary`,className:`uppercase tracking-wider`,children:d})},`group-${d}-${e.id??l}`))),e.element){a.push((0,p.jsx)(`div`,{children:e.element},e.id??l));return}if(i){a.push((0,p.jsx)(`div`,{children:i(e,u)},e.id??l));return}let m=e.icon,h=!!e.disabled||!!e.loading,g=(0,p.jsxs)(p.Fragment,{children:[!!m&&(0,p.jsx)(m,{className:`size-3.5`,"aria-hidden":`true`}),typeof e.label==`string`?(0,p.jsx)(n.t,{tag:`span`,size:`xs`,className:`text-inherit`,children:e.label}):e.label]}),_=t.cn(`gap-1.5 px-2 py-1.5 text-xs`,e.variant===`destructive`&&`text-destructive focus-visible:text-destructive`);if(e.href&&!e.onClick&&!h){a.push((0,p.jsx)(s.s,{href:e.href,className:_,render:t=>u.renderLink({...t,href:e.href,children:t.children,target:e.target,rel:e.rel,external:e.external}),children:g},e.id??l));return}a.push((0,p.jsx)(s.a,{disabled:h,onClick:e.onClick,className:_,children:g},e.id??l))}),a}function E({actions:n,display:r=`dropdown`,breakpoint:i=1040,maxInlineActions:a=C,renderLink:o,LinkComponent:s,strings:c,className:d,inlineClassName:h,menuClassName:g,renderAction:_}){let v=e.useStrings(b,c),y=u.d({renderLink:o,LinkComponent:s}),x=(0,f.useMemo)(()=>(n??[]).map((e,t)=>({action:e,index:t})).filter(({action:e})=>e.visible!==!1),[n]),[E,D]=(0,f.useState)(!1);if((0,f.useEffect)(()=>{if(r!==`auto`||typeof window>`u`)return;let e=()=>D(window.innerWidth<=i);return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[r,i]),x.length===0)return null;let O={renderLink:y},k=t.cn(`flex items-center gap-2`,h,d),A=t.cn(S,g);if(r===`dropdown`||r===`auto`&&E)return(0,p.jsx)(l.t,{icon:m.MoreHorizontal,srText:v.menuLabel,align:`end`,closeOnSelect:!0,contentClassName:A,children:T(x,O,_)});let j=Math.max(0,a),M=x.filter(({action:e})=>(e.placement??`auto`)!==`menu`),N=M.slice(0,j),P=[...M.slice(j),...x.filter(({action:e})=>(e.placement??`auto`)===`menu`)];return(0,p.jsxs)(`div`,{className:k,children:[N.map(e=>(0,p.jsx)(f.Fragment,{children:w(e.action,{...O,index:e.index,isInline:!0},_)},e.action.id??e.index)),P.length>0&&(0,p.jsx)(l.t,{icon:m.MoreHorizontal,srText:v.menuLabel,align:`end`,closeOnSelect:!0,contentClassName:A,children:T(P,O,_)})]})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return E}});
2
+ //# sourceMappingURL=page-DMM32sxi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-DMM32sxi.cjs","names":[],"sources":["../../src/components/layout/page/partials/page-header.tsx","../../src/components/layout/page/page.tsx","../../src/components/layout/page/page-content.tsx","../../src/components/layout/page/page.types.ts","../../src/components/layout/page/partials/page-actions.tsx"],"sourcesContent":["/**\n * PageHeader — page title, back control, title badges, and actions.\n *\n * Navigation goes through `renderLink`; consumer apps wire framework links at\n * the boundary. Slots let consumers replace any structural region without\n * forking the page wrapper.\n */\nimport { ArrowLeft } from 'lucide-react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { Separator } from '@/components/base/display/separator';\nimport { Heading, Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport type { PageHeaderProps, PageHeadingTag } from '../page.types';\n\nconst PAGE_TITLE_CLASS: Record<PageHeadingTag, string> = {\n\th1: 'border-0 pb-0 text-xl',\n\th2: 'border-0 pb-0 text-lg',\n\th3: 'text-base',\n\th4: 'text-sm',\n\th5: 'text-sm',\n\th6: 'text-sm',\n};\n\nexport function PageHeader({\n\ttitle,\n\tdescription,\n\theadingTag = 'h3',\n\tbackHref,\n\tonBack,\n\tbackLabel = 'Back',\n\ttitleBadges = [],\n\tactions,\n\tslots,\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n\tcontentClassName,\n\tactionsClassName,\n\ttitleClassName,\n\tdescriptionClassName,\n}: PageHeaderProps) {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst hasBack = !!backHref || !!onBack;\n\n\tconst defaultBack = hasBack ? (\n\t\t<div className=\"flex items-center gap-1.5 pt-1\">\n\t\t\t{backHref && !onBack ? (\n\t\t\t\tresolvedRenderLink({\n\t\t\t\t\thref: backHref,\n\t\t\t\t\t'aria-label': backLabel,\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon-xs\"\n\t\t\t\t\t\t\tclassName=\"h-7 w-7 rounded p-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ArrowLeft className=\"size-4\" aria-hidden=\"true\" />\n\t\t\t\t\t\t\t<span className=\"sr-only\">{backLabel}</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t),\n\t\t\t\t})\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\tsize=\"icon-xs\"\n\t\t\t\t\tclassName=\"h-7 w-7 rounded p-1\"\n\t\t\t\t\tonClick={onBack}\n\t\t\t\t\taria-label={backLabel}\n\t\t\t\t>\n\t\t\t\t\t<ArrowLeft className=\"size-4\" aria-hidden=\"true\" />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t<Separator orientation=\"vertical\" className=\"h-7\" />\n\t\t</div>\n\t) : null;\n\n\treturn (\n\t\t<header\n\t\t\tclassName={cn(\n\t\t\t\t'flex w-full flex-col gap-4 md:flex-row md:items-start md:justify-between',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"flex min-w-0 flex-1 items-start gap-3\">\n\t\t\t\t{slots?.back ?? defaultBack}\n\n\t\t\t\t<div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n\t\t\t\t\t{slots?.beforeTitle}\n\t\t\t\t\t<div className={cn('flex max-w-[475px] flex-col gap-0.5', contentClassName)}>\n\t\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-3\">\n\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\ttag={headingTag}\n\t\t\t\t\t\t\t\tcontainerClassName=\"space-y-0\"\n\t\t\t\t\t\t\t\tclassName={cn(PAGE_TITLE_CLASS[headingTag], titleClassName)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t{titleBadges.length > 0 && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t\t\t{titleBadges.map((badge, index) => (\n\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\tkey={badge.key ?? index}\n\t\t\t\t\t\t\t\t\t\t\tvariant={badge.variant ?? 'secondary'}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{badge.label}\n\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className={descriptionClassName}>\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{slots?.afterDescription}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{slots?.actions ?? (\n\t\t\t\t!!actions && <div className={cn('shrink-0', actionsClassName)}>{actions}</div>\n\t\t\t)}\n\t\t</header>\n\t);\n}\n","/**\n * Page — convenience wrapper that pairs `<PageHeader>` with `<Container>`.\n * For full control, compose `<PageHeader />`, `<PageContent />`, and\n * `<Container />` directly.\n */\nimport { Container } from '../containers/content-container';\nimport { PageHeader } from './partials/page-header';\nimport type { PageProps } from './page.types';\nimport { cn } from '@/lib/utils';\n\nexport function Page({\n\theader,\n\twidth = 'narrow',\n\tchildren,\n\tclassName,\n\tbodyClassName,\n\trenderLink,\n\tLinkComponent,\n}: PageProps) {\n\treturn (\n\t\t<Container width={width} className={className}>\n\t\t\t{!!header && (\n\t\t\t\t<PageHeader\n\t\t\t\t\t{...header}\n\t\t\t\t\trenderLink={header.renderLink ?? renderLink}\n\t\t\t\t\tLinkComponent={header.LinkComponent ?? LinkComponent}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!!children && (\n\t\t\t\t<div className={cn('relative block w-full', bodyClassName)}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</Container>\n\t);\n}\n","/**\n * PageContent — `<main>` wrapper for the body region of an app shell.\n *\n * Provides consistent padding and an optional width clamp. Lighter-weight\n * than `Page` — use directly inside an `AppShell` flexbox where the surrounding\n * structure (header, sidebar) is already in place.\n */\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageContentMaxWidth = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';\n\nexport interface PageContentProps extends HTMLAttributes<HTMLElement> {\n\t/** Body content. */\n\tchildren?: ReactNode;\n\t/** When true, removes default `p-4 md:p-6` padding. */\n\tnoPadding?: boolean;\n\t/** Optional max-width clamp (centers when set). */\n\tmaxWidth?: PageContentMaxWidth;\n}\n\nconst MAX_WIDTH_CLASS: Record<PageContentMaxWidth, string> = {\n\tsm: 'max-w-screen-sm',\n\tmd: 'max-w-screen-md',\n\tlg: 'max-w-screen-lg',\n\txl: 'max-w-screen-xl',\n\t'2xl': 'max-w-screen-2xl',\n\tfull: 'max-w-full',\n};\n\nexport function PageContent({\n\tnoPadding = false,\n\tmaxWidth,\n\tclassName,\n\tchildren,\n\t...props\n}: PageContentProps) {\n\treturn (\n\t\t<main\n\t\t\tclassName={cn(\n\t\t\t\t'flex-1',\n\t\t\t\t!noPadding && 'p-4 md:p-6',\n\t\t\t\tmaxWidth && cn('mx-auto w-full', MAX_WIDTH_CLASS[maxWidth]),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</main>\n\t);\n}\n","/**\n * Page-level types for `Page`, `PageHeader`, `PageActions`, and exported\n * partials. All navigation is framework-neutral via `renderLink`.\n */\nimport type { ComponentType, JSX, Key, ReactNode } from 'react';\n\nimport type {\n\tLayoutLinkRenderer,\n\tLayoutNavigationAdapter,\n\tLinkComponent,\n} from '../layout.types';\nimport type { ContainerWidth } from '../containers/containers.types';\n\nexport type PageHeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface PageTitleBadge {\n\tlabel: ReactNode;\n\tvariant?: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error';\n\tkey?: Key;\n}\n\nexport interface PageHeaderSlots {\n\t/** Replaces the leading back control entirely. */\n\tback?: ReactNode;\n\t/** Additional content before the title line. */\n\tbeforeTitle?: ReactNode;\n\t/** Additional content after the description. */\n\tafterDescription?: ReactNode;\n\t/** Replaces the trailing actions region. */\n\tactions?: ReactNode;\n}\n\nexport interface PageHeaderProps extends LayoutNavigationAdapter {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\t/** Semantic heading level for the title. Defaults to `h3` for nested app pages. */\n\theadingTag?: PageHeadingTag;\n\tbackHref?: string;\n\tonBack?: () => void;\n\tbackLabel?: string;\n\ttitleBadges?: PageTitleBadge[];\n\tactions?: ReactNode;\n\tslots?: PageHeaderSlots;\n\tclassName?: string;\n\tcontentClassName?: string;\n\tactionsClassName?: string;\n\ttitleClassName?: string;\n\tdescriptionClassName?: string;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport type PageActionVariant =\n\t| 'primary'\n\t| 'secondary'\n\t| 'destructive'\n\t| 'success'\n\t| 'warning';\n\nexport interface PageActionContext {\n\tindex: number;\n\tisInline: boolean;\n\trenderLink: LayoutLinkRenderer;\n}\n\nexport interface PageAction {\n\tid?: string;\n\tlabel: ReactNode;\n\tonClick?: () => void;\n\thref?: string;\n\ttarget?: string;\n\trel?: string;\n\texternal?: boolean;\n\tdisabled?: boolean;\n\tloading?: boolean;\n\ticon?: ComponentType<{ className?: string }>;\n\tvariant?: PageActionVariant;\n\tvisible?: boolean;\n\tgroup?: string;\n\tplacement?: 'auto' | 'inline' | 'menu';\n\t/** Escape hatch for one action only. Prefer `renderAction` for consistent customization. */\n\telement?: ReactNode | JSX.Element;\n}\n\nexport type PageActionsDisplay = 'flat' | 'dropdown' | 'auto';\n\nexport interface PageActionsStrings {\n\tmenuLabel: string;\n}\n\nexport const defaultPageActionsStrings: PageActionsStrings = {\n\tmenuLabel: 'Page actions',\n};\n\nexport interface PageActionsProps extends LayoutNavigationAdapter {\n\tactions?: PageAction[];\n\tdisplay?: PageActionsDisplay;\n\tbreakpoint?: number;\n\t/**\n\t * Maximum non-menu actions rendered inline before overflow moves them into\n\t * the dropdown menu. Defaults to 4 for admin header density.\n\t */\n\tmaxInlineActions?: number;\n\tstrings?: Partial<PageActionsStrings>;\n\tclassName?: string;\n\tinlineClassName?: string;\n\tmenuClassName?: string;\n\trenderAction?: (action: PageAction, context: PageActionContext) => ReactNode;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport interface PageProps extends LayoutNavigationAdapter {\n\theader?: PageHeaderProps;\n\twidth?: ContainerWidth;\n\tchildren?: ReactNode;\n\tclassName?: string;\n\tbodyClassName?: string;\n}\n","/**\n * PageActions — composable action ribbon for page headers.\n *\n * Links go through `renderLink`, never router imports or DOM click hacks.\n * Use `renderAction` for app-specific rendering while keeping grouping,\n * filtering, breakpoint, and menu placement logic centralized.\n */\nimport { Fragment, useEffect, useMemo, useState, type ReactNode } from 'react';\nimport { MoreHorizontal } from 'lucide-react';\n\nimport { PageActionButton } from '@/components/base/buttons/page-action-button';\nimport { Separator } from '@/components/base/display/separator';\nimport { ActionMenu } from '@/components/base/navigation/action-menu';\nimport {\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n} from '@/components/base/navigation/dropdown-menu';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport {\n\tdefaultPageActionsStrings,\n\ttype PageAction,\n\ttype PageActionContext,\n\ttype PageActionVariant,\n\ttype PageActionsProps,\n} from '../page.types';\n\nconst resolveBaseVariant = (\n\tvariant: PageActionVariant | undefined,\n): 'primary' | 'secondary' | 'error' => {\n\tif (variant === 'destructive') return 'error';\n\tif (variant === 'primary' || variant === 'success' || variant === 'warning') return 'primary';\n\treturn 'secondary';\n};\n\nconst PAGE_ACTIONS_MENU_CLASS = 'max-h-[80vh] overflow-y-auto overscroll-contain';\nconst DEFAULT_MAX_INLINE_ACTIONS = 4;\n\ntype PageActionEntry = {\n\taction: PageAction;\n\tindex: number;\n};\n\nfunction renderInlineAction(\n\taction: PageAction,\n\tcontext: PageActionContext,\n\trenderAction?: PageActionsProps['renderAction'],\n): ReactNode {\n\tif (action.visible === false) return null;\n\tif (action.element) return <div key={action.id ?? context.index}>{action.element}</div>;\n\tif (renderAction) return renderAction(action, context);\n\n\tconst key = action.id ?? context.index;\n\tconst disabled = !!action.disabled || !!action.loading;\n\tconst Icon = action.icon;\n\tconst button = (\n\t\t<PageActionButton\n\t\t\tkey={key}\n\t\t\tvariant={resolveBaseVariant(action.variant)}\n\t\t\tonClick={action.onClick}\n\t\t\tdisabled={disabled}\n\t\t>\n\t\t\t{!!Icon && <Icon className=\"size-3.5\" aria-hidden=\"true\" />}\n\t\t\t{action.label}\n\t\t</PageActionButton>\n\t);\n\n\tif (action.href && !action.onClick) {\n\t\treturn context.renderLink({\n\t\t\thref: action.href,\n\t\t\tchildren: button,\n\t\t\tclassName: 'inline-flex',\n\t\t\ttarget: action.target,\n\t\t\trel: action.rel,\n\t\t\texternal: action.external,\n\t\t\tdisabled,\n\t\t});\n\t}\n\n\treturn button;\n}\n\nfunction renderMenuItems(\n\tentries: PageActionEntry[],\n\tcontextBase: Omit<PageActionContext, 'index' | 'isInline'>,\n\trenderAction?: PageActionsProps['renderAction'],\n): ReactNode[] {\n\tconst items: ReactNode[] = [];\n\tlet currentGroup: string | null = null;\n\n\tentries.forEach(({ action, index }) => {\n\t\tconst context: PageActionContext = { ...contextBase, index, isInline: false };\n\t\tconst nextGroup = action.group ?? null;\n\t\tconst groupChanged = nextGroup !== currentGroup;\n\n\t\tif (items.length > 0 && groupChanged) {\n\t\t\titems.push(\n\t\t\t\t<Separator\n\t\t\t\t\tkey={`sep-${currentGroup ?? 'root'}-${nextGroup ?? 'root'}-${action.id ?? index}`}\n\t\t\t\t\tclassName=\"my-1\"\n\t\t\t\t/>,\n\t\t\t);\n\t\t}\n\n\t\tif (groupChanged) {\n\t\t\tcurrentGroup = nextGroup;\n\t\t\tif (nextGroup) {\n\t\t\t\titems.push(\n\t\t\t\t\t<div key={`group-${nextGroup}-${action.id ?? index}`} className=\"px-2 pt-1\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\tclassName=\"uppercase tracking-wider\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{nextGroup}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (action.element) {\n\t\t\titems.push(<div key={action.id ?? index}>{action.element}</div>);\n\t\t\treturn;\n\t\t}\n\n\t\tif (renderAction) {\n\t\t\titems.push(<div key={action.id ?? index}>{renderAction(action, context)}</div>);\n\t\t\treturn;\n\t\t}\n\n\t\tconst Icon = action.icon;\n\t\tconst disabled = !!action.disabled || !!action.loading;\n\t\tconst children = (\n\t\t\t<>\n\t\t\t\t{!!Icon && <Icon className=\"size-3.5\" aria-hidden=\"true\" />}\n\t\t\t\t{typeof action.label === 'string' ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">\n\t\t\t\t\t\t{action.label}\n\t\t\t\t\t</Text>\n\t\t\t\t) : action.label}\n\t\t\t</>\n\t\t);\n\n\t\tconst itemClassName = cn(\n\t\t\t'gap-1.5 px-2 py-1.5 text-xs',\n\t\t\taction.variant === 'destructive' && 'text-destructive focus-visible:text-destructive',\n\t\t);\n\n\t\tif (action.href && !action.onClick && !disabled) {\n\t\t\titems.push(\n\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\tkey={action.id ?? index}\n\t\t\t\t\thref={action.href}\n\t\t\t\t\tclassName={itemClassName}\n\t\t\t\t\trender={(props) =>\n\t\t\t\t\t\tcontext.renderLink({\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\thref: action.href,\n\t\t\t\t\t\t\tchildren: props.children,\n\t\t\t\t\t\t\ttarget: action.target,\n\t\t\t\t\t\t\trel: action.rel,\n\t\t\t\t\t\t\texternal: action.external,\n\t\t\t\t\t\t}) as React.ReactElement\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</DropdownMenuLinkItem>,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\titems.push(\n\t\t\t<DropdownMenuItem\n\t\t\t\tkey={action.id ?? index}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonClick={action.onClick}\n\t\t\t\tclassName={itemClassName}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</DropdownMenuItem>,\n\t\t);\n\t});\n\n\treturn items;\n}\n\nexport function PageActions({\n\tactions,\n\tdisplay = 'dropdown',\n\tbreakpoint = 1040,\n\tmaxInlineActions = DEFAULT_MAX_INLINE_ACTIONS,\n\trenderLink,\n\tLinkComponent,\n\tstrings: stringsProp,\n\tclassName,\n\tinlineClassName,\n\tmenuClassName,\n\trenderAction,\n}: PageActionsProps) {\n\tconst strings = useStrings(defaultPageActionsStrings, stringsProp);\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\n\tconst filtered = useMemo<PageActionEntry[]>(\n\t\t() => (actions ?? [])\n\t\t\t.map((action, index) => ({ action, index }))\n\t\t\t.filter(({ action }) => action.visible !== false),\n\t\t[actions],\n\t);\n\n\tconst [isNarrow, setIsNarrow] = useState(false);\n\tuseEffect(() => {\n\t\tif (display !== 'auto' || typeof window === 'undefined') return;\n\n\t\tconst check = () => setIsNarrow(window.innerWidth <= breakpoint);\n\t\tcheck();\n\t\twindow.addEventListener('resize', check);\n\t\treturn () => window.removeEventListener('resize', check);\n\t}, [display, breakpoint]);\n\n\tif (filtered.length === 0) return null;\n\n\tconst inlineContextBase = { renderLink: resolvedRenderLink };\n\tconst inlineClass = cn('flex items-center gap-2', inlineClassName, className);\n\tconst menuContentClass = cn(PAGE_ACTIONS_MENU_CLASS, menuClassName);\n\n\tif (display === 'dropdown' || (display === 'auto' && isNarrow)) {\n\t\treturn (\n\t\t\t<ActionMenu\n\t\t\t\ticon={MoreHorizontal}\n\t\t\t\tsrText={strings.menuLabel}\n\t\t\t\talign=\"end\"\n\t\t\t\tcloseOnSelect\n\t\t\t\tcontentClassName={menuContentClass}\n\t\t\t>\n\t\t\t\t{renderMenuItems(filtered, inlineContextBase, renderAction)}\n\t\t\t</ActionMenu>\n\t\t);\n\t}\n\n\tconst inlineLimit = Math.max(0, maxInlineActions);\n\tconst inlineCandidates = filtered.filter(({ action }) => (action.placement ?? 'auto') !== 'menu');\n\tconst inline = inlineCandidates.slice(0, inlineLimit);\n\tconst overflow = inlineCandidates.slice(inlineLimit);\n\tconst menu = [\n\t\t...overflow,\n\t\t...filtered.filter(({ action }) => (action.placement ?? 'auto') === 'menu'),\n\t];\n\n\treturn (\n\t\t<div className={inlineClass}>\n\t\t\t{inline.map((action) => (\n\t\t\t\t<Fragment key={action.action.id ?? action.index}>\n\t\t\t\t\t{renderInlineAction(\n\t\t\t\t\t\taction.action,\n\t\t\t\t\t\t{ ...inlineContextBase, index: action.index, isInline: true },\n\t\t\t\t\t\trenderAction,\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t))}\n\t\t\t{menu.length > 0 && (\n\t\t\t\t<ActionMenu\n\t\t\t\t\ticon={MoreHorizontal}\n\t\t\t\t\tsrText={strings.menuLabel}\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tcloseOnSelect\n\t\t\t\t\tcontentClassName={menuContentClass}\n\t\t\t\t>\n\t\t\t\t\t{renderMenuItems(menu, inlineContextBase, renderAction)}\n\t\t\t\t</ActionMenu>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-D3uCBrYO.cjs`),t=require(`../lib/utils.cjs`),n=require(`./slot-Dac1ipUC.cjs`);let r=require(`react`);r=e.t(r,1);let i=require(`react/jsx-runtime`),a=require(`@base-ui/react/popover`);function o({...e}){return(0,i.jsx)(a.Popover.Root,{"data-slot":`popover`,...e})}function s({asChild:e=!1,nativeButton:t,render:o,children:s,...c}){let l=e?(0,i.jsx)(n.t,{}):void 0,u=typeof o==`function`?((e,t)=>{let{nativeButton:n,...r}=e;return o(r,t)}):o,d=!0;e&&r.isValidElement(s)&&(d=typeof s.type==`string`?s.type===`button`:!(`href`in(s.props??{})));let f=t??(e?d:!0);return(0,i.jsx)(a.Popover.Trigger,{"data-slot":`popover-trigger`,render:l??u,nativeButton:f,...c,children:s})}function c({asChild:e=!1,...t}){return e?(0,i.jsx)(n.t,{...t}):(0,i.jsx)(`span`,{"data-slot":`popover-anchor`,...t})}function l({className:e,align:n=`center`,alignOffset:r=0,side:o=`bottom`,sideOffset:s=4,disablePortal:c=!1,onOpenAutoFocus:l,onInteractOutside:u,...d}){let f=(0,i.jsx)(a.Popover.Positioner,{align:n,alignOffset:r,side:o,sideOffset:s,className:`isolate z-50`,children:(0,i.jsx)(a.Popover.Popup,{"data-slot":`popover-content`,className:t.cn(`bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 flex flex-col gap-4 rounded-md p-4 text-sm shadow-md ring-1 duration-100 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 w-72 origin-(--transform-origin) outline-hidden`,e),...d})});return c?f:(0,i.jsx)(a.Popover.Portal,{children:f})}function u({className:e,...n}){return(0,i.jsx)(`div`,{"data-slot":`popover-header`,className:t.cn(`flex flex-col gap-1 text-sm`,e),...n})}function d({className:e,...n}){return(0,i.jsx)(a.Popover.Title,{"data-slot":`popover-title`,className:t.cn(`font-medium`,e),...n})}function f({className:e,...n}){return(0,i.jsx)(a.Popover.Description,{"data-slot":`popover-description`,className:t.cn(`text-muted-foreground`,e),...n})}function p({className:e,sideOffset:n=6,style:r,...a}){return(0,i.jsx)(l,{sideOffset:n,className:t.cn(`popover--component`,`p-(--popover-content-pad)`,`border border-border/60 shadow-md ring-0`,e),style:r,...a})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
2
+ //# sourceMappingURL=popover-B1f_EUQS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-B1f_EUQS.cjs","names":[],"sources":["../../src/components/ui/popover.tsx","../../src/components/base/popover/popover.tsx"],"sourcesContent":["import { Popover as PopoverPrimitive } from \"@base-ui/react/popover\"\nimport * as React from \"react\"\n\nimport { Slot } from \"@/components/ui/slot\"\nimport { cn } from \"@/lib/utils\"\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n asChild = false,\n nativeButton,\n render,\n children,\n ...props\n}: PopoverPrimitive.Trigger.Props & { asChild?: boolean; nativeButton?: boolean }) {\n const slotRender = asChild ? <Slot /> : undefined\n const safeRender: PopoverPrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n let inferredNativeButton = true\n if (asChild && React.isValidElement(children)) {\n if (typeof children.type === \"string\") {\n inferredNativeButton = children.type === \"button\"\n } else {\n const childProps = (children.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in childProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? (asChild ? inferredNativeButton : true)\n return (\n <PopoverPrimitive.Trigger\n data-slot=\"popover-trigger\"\n render={slotRender ?? safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </PopoverPrimitive.Trigger>\n )\n}\n\nfunction PopoverAnchor({\n asChild = false,\n ...props\n}: React.ComponentPropsWithoutRef<\"span\"> & { asChild?: boolean }) {\n if (asChild) {\n return <Slot {...props} />\n }\n\n return <span data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n disablePortal = false,\n onOpenAutoFocus,\n onInteractOutside,\n ...props\n}: PopoverPrimitive.Popup.Props &\n Pick<\n PopoverPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n > & {\n disablePortal?: boolean\n onOpenAutoFocus?: (event: Event) => void\n onInteractOutside?: (event: Event) => void\n }) {\n void onOpenAutoFocus\n void onInteractOutside\n\n const content = (\n <PopoverPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 flex flex-col gap-4 rounded-md p-4 text-sm shadow-md ring-1 duration-100 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 w-72 origin-(--transform-origin) outline-hidden\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Positioner>\n )\n\n if (disablePortal) {\n return content\n }\n\n return <PopoverPrimitive.Portal>{content}</PopoverPrimitive.Portal>\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col gap-1 text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={cn(\"font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={cn(\"text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n}\n","/**\n * Popover — base wrapper around the shadcn `ui/popover` primitive.\n *\n * What this layer adds on top of the primitive:\n * - Library-default `sideOffset` (6px) and tighter content padding,\n * consumed via the `--popover-content-pad` CSS variable in App.css.\n * - A consistent shadow + border treatment matching the rest of the\n * library (subtle ring, no harsh shadow).\n * - Re-exports every primitive part untouched so the compound-component\n * pattern from shadcn keeps working: consumers compose\n * `<Popover>`, `<PopoverTrigger>`, `<PopoverContent>` exactly as\n * they would with the primitive.\n *\n * Override at the call site via `className` for one-offs, or override\n * `--popover-content-pad` on a wrapping element for surface-wide\n * density tweaks.\n */\nimport * as React from 'react';\n\nimport {\n Popover as PopoverPrimitive,\n PopoverAnchor,\n PopoverContent as PopoverContentPrimitive,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n} from '@/components/ui/popover';\nimport { cn } from '@/lib/utils';\n\ntype PopoverContentBaseProps = React.ComponentProps<typeof PopoverContentPrimitive>;\n\nfunction PopoverContent({\n className,\n sideOffset = 6,\n style,\n ...props\n}: PopoverContentBaseProps) {\n return (\n <PopoverContentPrimitive\n sideOffset={sideOffset}\n className={cn('popover--component', \n // Tighter than the primitive's `p-4` default, density-tokenized.\n 'p-(--popover-content-pad)',\n // Single chrome layer: 1px hairline border + soft shadow. The\n // primitive ships its own `ring-1 ring-foreground/10`; we\n // suppress it so the popover doesn't read as a 2px outline.\n 'border border-border/60 shadow-md ring-0',\n className,\n )}\n style={style}\n {...props}\n />\n );\n}\n\nexport {\n PopoverPrimitive as Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n};\n"],"mappings":"gNAMA,SAAS,EAAQ,CAAE,GAAG,GAAsC,CAC1D,OAAO,EAAA,EAAA,KAAC,EAAA,QAAiB,KAAlB,CAAuB,YAAU,UAAU,GAAI,EAAS,CAAA,CAGjE,SAAS,EAAe,CACtB,UAAU,GACV,eACA,SACA,WACA,GAAG,GAC8E,CACjF,IAAM,EAAa,GAAU,EAAA,EAAA,KAAC,EAAA,EAAD,EAAQ,CAAA,CAAG,IAAA,GAClC,EAAuD,OAAO,GAAW,aACzE,EAAa,IAAU,CACzB,GAAM,CAAE,aAAc,EAAe,GAAG,GAAS,EAEjD,OAAO,EAAO,EAA4B,EAAM,GAEhD,EACA,EAAuB,GACvB,GAAW,EAAM,eAAe,EAAS,GAC3C,AAIE,EAJE,OAAO,EAAS,MAAS,SACJ,EAAS,OAAS,SAGlB,EAAE,SADL,EAAS,OAAS,EAAE,IAI5C,IAAM,EAAuB,IAAiB,EAAU,EAAuB,IAC/E,OACE,EAAA,EAAA,KAAC,EAAA,QAAiB,QAAlB,CACE,YAAU,kBACV,OAAQ,GAAc,EACtB,aAAc,EACd,GAAI,EAEH,WACwB,CAAA,CAI/B,SAAS,EAAc,CACrB,UAAU,GACV,GAAG,GAC8D,CAKjE,OAJI,GACK,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,GAAI,EAAS,CAAA,EAGrB,EAAA,EAAA,KAAC,OAAD,CAAM,YAAU,iBAAiB,GAAI,EAAS,CAAA,CAGvD,SAAS,EAAe,CACtB,YACA,QAAQ,SACR,cAAc,EACd,OAAO,SACP,aAAa,EACb,gBAAgB,GAChB,kBACA,oBACA,GAAG,GASA,CAIH,IAAM,GACJ,EAAA,EAAA,KAAC,EAAA,QAAiB,WAAlB,CACS,QACM,cACP,OACM,aACZ,UAAU,yBAEV,EAAA,EAAA,KAAC,EAAA,QAAiB,MAAlB,CACE,YAAU,kBACV,UAAW,EAAA,GACT,kjBACA,EACD,CACD,GAAI,EACJ,CAAA,CAC0B,CAAA,CAOhC,OAJI,EACK,GAGF,EAAA,EAAA,KAAC,EAAA,QAAiB,OAAlB,CAAA,SAA0B,EAAkC,CAAA,CAGrE,SAAS,EAAc,CAAE,YAAW,GAAG,GAAsC,CAC3E,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,iBACV,UAAW,EAAA,GAAG,8BAA+B,EAAU,CACvD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAa,CAAE,YAAW,GAAG,GAAuC,CAC3E,OACE,EAAA,EAAA,KAAC,EAAA,QAAiB,MAAlB,CACE,YAAU,gBACV,UAAW,EAAA,GAAG,cAAe,EAAU,CACvC,GAAI,EACJ,CAAA,CAIN,SAAS,EAAmB,CAC1B,YACA,GAAG,GACkC,CACrC,OACE,EAAA,EAAA,KAAC,EAAA,QAAiB,YAAlB,CACE,YAAU,sBACV,UAAW,EAAA,GAAG,wBAAyB,EAAU,CACjD,GAAI,EACJ,CAAA,CCvGN,SAAS,EAAe,CACpB,YACA,aAAa,EACb,QACA,GAAG,GACqB,CACxB,OACI,EAAA,EAAA,KAAC,EAAD,CACgB,aACZ,UAAW,EAAA,GAAG,qBAEV,4BAIA,2CACA,EACH,CACM,QACP,GAAI,EACN,CAAA"}
@@ -0,0 +1,83 @@
1
+ import { cn as e } from "../lib/utils.js";
2
+ import { t } from "./slot-BgnZtKR5.js";
3
+ import * as n from "react";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ import { Popover as i } from "@base-ui/react/popover";
6
+ //#region src/components/ui/popover.tsx
7
+ function a({ ...e }) {
8
+ return /* @__PURE__ */ r(i.Root, {
9
+ "data-slot": "popover",
10
+ ...e
11
+ });
12
+ }
13
+ function o({ asChild: e = !1, nativeButton: a, render: o, children: s, ...c }) {
14
+ let l = e ? /* @__PURE__ */ r(t, {}) : void 0, u = typeof o == "function" ? ((e, t) => {
15
+ let { nativeButton: n, ...r } = e;
16
+ return o(r, t);
17
+ }) : o, d = !0;
18
+ e && n.isValidElement(s) && (d = typeof s.type == "string" ? s.type === "button" : !("href" in (s.props ?? {})));
19
+ let f = a ?? (e ? d : !0);
20
+ return /* @__PURE__ */ r(i.Trigger, {
21
+ "data-slot": "popover-trigger",
22
+ render: l ?? u,
23
+ nativeButton: f,
24
+ ...c,
25
+ children: s
26
+ });
27
+ }
28
+ function s({ asChild: e = !1, ...n }) {
29
+ return e ? /* @__PURE__ */ r(t, { ...n }) : /* @__PURE__ */ r("span", {
30
+ "data-slot": "popover-anchor",
31
+ ...n
32
+ });
33
+ }
34
+ function c({ className: t, align: n = "center", alignOffset: a = 0, side: o = "bottom", sideOffset: s = 4, disablePortal: c = !1, onOpenAutoFocus: l, onInteractOutside: u, ...d }) {
35
+ let f = /* @__PURE__ */ r(i.Positioner, {
36
+ align: n,
37
+ alignOffset: a,
38
+ side: o,
39
+ sideOffset: s,
40
+ className: "isolate z-50",
41
+ children: /* @__PURE__ */ r(i.Popup, {
42
+ "data-slot": "popover-content",
43
+ className: e("bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 flex flex-col gap-4 rounded-md p-4 text-sm shadow-md ring-1 duration-100 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 w-72 origin-(--transform-origin) outline-hidden", t),
44
+ ...d
45
+ })
46
+ });
47
+ return c ? f : /* @__PURE__ */ r(i.Portal, { children: f });
48
+ }
49
+ function l({ className: t, ...n }) {
50
+ return /* @__PURE__ */ r("div", {
51
+ "data-slot": "popover-header",
52
+ className: e("flex flex-col gap-1 text-sm", t),
53
+ ...n
54
+ });
55
+ }
56
+ function u({ className: t, ...n }) {
57
+ return /* @__PURE__ */ r(i.Title, {
58
+ "data-slot": "popover-title",
59
+ className: e("font-medium", t),
60
+ ...n
61
+ });
62
+ }
63
+ function d({ className: t, ...n }) {
64
+ return /* @__PURE__ */ r(i.Description, {
65
+ "data-slot": "popover-description",
66
+ className: e("text-muted-foreground", t),
67
+ ...n
68
+ });
69
+ }
70
+ //#endregion
71
+ //#region src/components/base/popover/popover.tsx
72
+ function f({ className: t, sideOffset: n = 6, style: i, ...a }) {
73
+ return /* @__PURE__ */ r(c, {
74
+ sideOffset: n,
75
+ className: e("popover--component", "p-(--popover-content-pad)", "border border-border/60 shadow-md ring-0", t),
76
+ style: i,
77
+ ...a
78
+ });
79
+ }
80
+ //#endregion
81
+ export { l as a, d as i, a as n, u as o, s as r, o as s, f as t };
82
+
83
+ //# sourceMappingURL=popover-CgRGcFk9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-CgRGcFk9.js","names":[],"sources":["../../src/components/ui/popover.tsx","../../src/components/base/popover/popover.tsx"],"sourcesContent":["import { Popover as PopoverPrimitive } from \"@base-ui/react/popover\"\nimport * as React from \"react\"\n\nimport { Slot } from \"@/components/ui/slot\"\nimport { cn } from \"@/lib/utils\"\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n asChild = false,\n nativeButton,\n render,\n children,\n ...props\n}: PopoverPrimitive.Trigger.Props & { asChild?: boolean; nativeButton?: boolean }) {\n const slotRender = asChild ? <Slot /> : undefined\n const safeRender: PopoverPrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n let inferredNativeButton = true\n if (asChild && React.isValidElement(children)) {\n if (typeof children.type === \"string\") {\n inferredNativeButton = children.type === \"button\"\n } else {\n const childProps = (children.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in childProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? (asChild ? inferredNativeButton : true)\n return (\n <PopoverPrimitive.Trigger\n data-slot=\"popover-trigger\"\n render={slotRender ?? safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </PopoverPrimitive.Trigger>\n )\n}\n\nfunction PopoverAnchor({\n asChild = false,\n ...props\n}: React.ComponentPropsWithoutRef<\"span\"> & { asChild?: boolean }) {\n if (asChild) {\n return <Slot {...props} />\n }\n\n return <span data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n disablePortal = false,\n onOpenAutoFocus,\n onInteractOutside,\n ...props\n}: PopoverPrimitive.Popup.Props &\n Pick<\n PopoverPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n > & {\n disablePortal?: boolean\n onOpenAutoFocus?: (event: Event) => void\n onInteractOutside?: (event: Event) => void\n }) {\n void onOpenAutoFocus\n void onInteractOutside\n\n const content = (\n <PopoverPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 flex flex-col gap-4 rounded-md p-4 text-sm shadow-md ring-1 duration-100 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 w-72 origin-(--transform-origin) outline-hidden\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Positioner>\n )\n\n if (disablePortal) {\n return content\n }\n\n return <PopoverPrimitive.Portal>{content}</PopoverPrimitive.Portal>\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col gap-1 text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={cn(\"font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={cn(\"text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n}\n","/**\n * Popover — base wrapper around the shadcn `ui/popover` primitive.\n *\n * What this layer adds on top of the primitive:\n * - Library-default `sideOffset` (6px) and tighter content padding,\n * consumed via the `--popover-content-pad` CSS variable in App.css.\n * - A consistent shadow + border treatment matching the rest of the\n * library (subtle ring, no harsh shadow).\n * - Re-exports every primitive part untouched so the compound-component\n * pattern from shadcn keeps working: consumers compose\n * `<Popover>`, `<PopoverTrigger>`, `<PopoverContent>` exactly as\n * they would with the primitive.\n *\n * Override at the call site via `className` for one-offs, or override\n * `--popover-content-pad` on a wrapping element for surface-wide\n * density tweaks.\n */\nimport * as React from 'react';\n\nimport {\n Popover as PopoverPrimitive,\n PopoverAnchor,\n PopoverContent as PopoverContentPrimitive,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n} from '@/components/ui/popover';\nimport { cn } from '@/lib/utils';\n\ntype PopoverContentBaseProps = React.ComponentProps<typeof PopoverContentPrimitive>;\n\nfunction PopoverContent({\n className,\n sideOffset = 6,\n style,\n ...props\n}: PopoverContentBaseProps) {\n return (\n <PopoverContentPrimitive\n sideOffset={sideOffset}\n className={cn('popover--component', \n // Tighter than the primitive's `p-4` default, density-tokenized.\n 'p-(--popover-content-pad)',\n // Single chrome layer: 1px hairline border + soft shadow. The\n // primitive ships its own `ring-1 ring-foreground/10`; we\n // suppress it so the popover doesn't read as a 2px outline.\n 'border border-border/60 shadow-md ring-0',\n className,\n )}\n style={style}\n {...props}\n />\n );\n}\n\nexport {\n PopoverPrimitive as Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n};\n"],"mappings":";;;;;;AAMA,SAAS,EAAQ,EAAE,GAAG,KAAsC;AAC1D,QAAO,kBAAC,EAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAI;EAAS,CAAA;;AAGjE,SAAS,EAAe,EACtB,aAAU,IACV,iBACA,WACA,aACA,GAAG,KAC8E;CACjF,IAAM,IAAa,IAAU,kBAAC,GAAD,EAAQ,CAAA,GAAG,KAAA,GAClC,IAAuD,OAAO,KAAW,eACzE,GAAa,MAAU;EACzB,IAAM,EAAE,cAAc,GAAe,GAAG,MAAS;AAEjD,SAAO,EAAO,GAA4B,EAAM;MAEhD,GACA,IAAuB;AAC3B,CAAI,KAAW,EAAM,eAAe,EAAS,KAC3C,AAIE,IAJE,OAAO,EAAS,QAAS,WACJ,EAAS,SAAS,WAGlB,EAAE,WADL,EAAS,SAAS,EAAE;CAI5C,IAAM,IAAuB,MAAiB,IAAU,IAAuB;AAC/E,QACE,kBAAC,EAAiB,SAAlB;EACE,aAAU;EACV,QAAQ,KAAc;EACtB,cAAc;EACd,GAAI;EAEH;EACwB,CAAA;;AAI/B,SAAS,EAAc,EACrB,aAAU,IACV,GAAG,KAC8D;AAKjE,QAJI,IACK,kBAAC,GAAD,EAAM,GAAI,GAAS,CAAA,GAGrB,kBAAC,QAAD;EAAM,aAAU;EAAiB,GAAI;EAAS,CAAA;;AAGvD,SAAS,EAAe,EACtB,cACA,WAAQ,UACR,iBAAc,GACd,UAAO,UACP,gBAAa,GACb,mBAAgB,IAChB,oBACA,sBACA,GAAG,KASA;CAIH,IAAM,IACJ,kBAAC,EAAiB,YAAlB;EACS;EACM;EACP;EACM;EACZ,WAAU;YAEV,kBAAC,EAAiB,OAAlB;GACE,aAAU;GACV,WAAW,EACT,mjBACA,EACD;GACD,GAAI;GACJ,CAAA;EAC0B,CAAA;AAOhC,QAJI,IACK,IAGF,kBAAC,EAAiB,QAAlB,EAAA,UAA0B,GAAkC,CAAA;;AAGrE,SAAS,EAAc,EAAE,cAAW,GAAG,KAAsC;AAC3E,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,+BAA+B,EAAU;EACvD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAa,EAAE,cAAW,GAAG,KAAuC;AAC3E,QACE,kBAAC,EAAiB,OAAlB;EACE,aAAU;EACV,WAAW,EAAG,eAAe,EAAU;EACvC,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAmB,EAC1B,cACA,GAAG,KACkC;AACrC,QACE,kBAAC,EAAiB,aAAlB;EACE,aAAU;EACV,WAAW,EAAG,yBAAyB,EAAU;EACjD,GAAI;EACJ,CAAA;;;;ACvGN,SAAS,EAAe,EACpB,cACA,gBAAa,GACb,UACA,GAAG,KACqB;AACxB,QACI,kBAAC,GAAD;EACgB;EACZ,WAAW,EAAG,sBAEV,6BAIA,4CACA,EACH;EACM;EACP,GAAI;EACN,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-D3uCBrYO.cjs`),t=require(`../lib/utils.cjs`),n=require(`./text-DBnY6fcL.cjs`),r=require(`./command-D7zTvyBJ.cjs`),i=require(`./command-DGNtTI-V.cjs`),a=require(`./popover-B1f_EUQS.cjs`);let o=require(`react`);o=e.t(o,1);let s=require(`react/jsx-runtime`),c=require(`lucide-react`);var l={searchPlaceholder:`Search…`,empty:`No results.`,loading:`Loading…`};function u({trigger:e,items:o,onSelect:u,open:d,onOpenChange:f,search:p=!0,searchValue:m,onSearchChange:h,loading:g=!1,header:_,footer:v,empty:y,loadingSlot:b,renderItem:x,strings:S,align:C=`start`,sideOffset:w,contentClassName:T}){let E={...l,...S};return(0,s.jsxs)(a.n,{open:d,onOpenChange:f,children:[(0,s.jsx)(a.s,{render:e}),(0,s.jsx)(a.t,{align:C,sideOffset:w,className:t.cn(`popover-menu--component`,`w-56 p-0 overflow-hidden`,T),children:(0,s.jsxs)(i.t,{shouldFilter:!h,children:[!!_&&(0,s.jsx)(`div`,{className:`border-b border-border/60 px-3 py-2`,children:_}),!!p&&(0,s.jsx)(r.i,{placeholder:E.searchPlaceholder,value:m,onValueChange:h}),(0,s.jsxs)(i.a,{children:[!!g&&(b??(0,s.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-3 text-muted-foreground`,children:[(0,s.jsx)(c.Loader2,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),(0,s.jsx)(n.t,{tag:`span`,size:`xs`,type:`secondary`,children:E.loading})]})),(0,s.jsx)(i.n,{children:y??E.empty}),o.length>0&&(0,s.jsx)(i.r,{children:o.map(e=>(0,s.jsx)(i.i,{value:e.searchValue??e.value,onSelect:()=>u(e),disabled:e.disabled,"data-checked":e.selected||void 0,className:`data-[checked=true]:**:[svg]:text-primary`,children:x?x(e,{isHighlighted:!1}):(0,s.jsxs)(s.Fragment,{children:[!!e.icon&&(0,s.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e.icon}),(0,s.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col leading-tight`,children:[(0,s.jsx)(n.t,{tag:`span`,size:`xs`,weight:e.selected?`medium`:`regular`,className:`truncate`,children:e.label}),!!e.description&&(0,s.jsx)(n.t,{tag:`span`,size:`xxs`,type:`secondary`,className:`mt-0.5 truncate`,children:e.description})]})]})},e.value))})]}),!!v&&(0,s.jsx)(`div`,{className:`border-t border-border/60 px-3 py-2`,children:v})]})})]})}u.displayName=`PopoverMenu`,Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
2
+ //# sourceMappingURL=popover-menu-BEKIT3LR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-menu-BEKIT3LR.cjs","names":[],"sources":["../../src/components/base/popover-menu/popover-menu.types.ts","../../src/components/base/popover-menu/popover-menu.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport interface PopoverMenuItem<T = unknown> {\n /** Unique identifier — also the cmdk match value when no `searchValue` provided. */\n value: string;\n /** Visible label rendered in the row. Override entirely via `renderItem`. */\n label: ReactNode;\n /** Optional secondary line rendered under the label. */\n description?: ReactNode;\n /** Leading icon — keep small (size-3.5/size-4 max). */\n icon?: ReactNode;\n /** Show the trailing checkmark when `true`. */\n selected?: boolean;\n /** Disable the row. */\n disabled?: boolean;\n /** Custom string used by cmdk for matching when `label` is not a plain string. */\n searchValue?: string;\n /** Arbitrary payload for `onSelect` consumers. */\n data?: T;\n}\n\nexport interface PopoverMenuStrings {\n /** Placeholder for the search input (when `search` is enabled). */\n searchPlaceholder: string;\n /** Empty-state copy when filtering yields no items. */\n empty: string;\n /** Loading-state copy. */\n loading: string;\n}\n\nexport const defaultPopoverMenuStrings: PopoverMenuStrings = {\n searchPlaceholder: 'Search…',\n empty: 'No results.',\n loading: 'Loading…',\n};\n","/**\n * PopoverMenu — composed wrapper around `base/popover` + `base/command`.\n *\n * Captures the recurring \"trigger → optional header → search → command list\"\n * pattern used by filter facets, operator selects, and similar pickers\n * across the library.\n *\n * Slots (all optional):\n * - `header` — rendered above the search input / list\n * - `footer` — rendered below the list (e.g. confirm/clear buttons)\n * - `empty` — replaces the default empty-state copy\n * - `loading` — rendered above the list when `loading` is true\n *\n * Render-prop:\n * - `renderItem={(item, ctx) => ReactNode}` — full control over a row\n *\n * Strings:\n * - `strings={{ searchPlaceholder, empty, loading }}` — merged with defaults\n *\n * For headless usage (custom UI against the same selection state),\n * compose `base/popover` + `base/command` directly.\n */\nimport { Loader2 } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/base/command';\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from '@/components/base/popover';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultPopoverMenuStrings,\n type PopoverMenuItem,\n type PopoverMenuStrings,\n} from './popover-menu.types';\n\nexport interface PopoverMenuRenderItemContext {\n /** True when the item is the user's currently-active match (cmdk highlight). */\n isHighlighted: boolean;\n}\n\nexport interface PopoverMenuProps<T = unknown> {\n /** Trigger element. The popover anchors to it. Pass any clickable. */\n trigger: React.ReactNode;\n /** Items to render in the list. */\n items: ReadonlyArray<PopoverMenuItem<T>>;\n /** Selection callback — fires on row click / Enter. */\n onSelect: (item: PopoverMenuItem<T>) => void;\n\n /** Controlled open state. Omit for uncontrolled. */\n open?: boolean;\n /** Open-state callback for controlled / uncontrolled flows. */\n onOpenChange?: (open: boolean) => void;\n\n /** Show the search input above the list. Default: true. */\n search?: boolean;\n /** Search input value (controlled). */\n searchValue?: string;\n /** Search input change callback. */\n onSearchChange?: (value: string) => void;\n\n /** Async loading flag — shows the loading slot above the list. */\n loading?: boolean;\n\n /** Optional pre-list slot (e.g. a label / eyebrow). */\n header?: React.ReactNode;\n /** Optional post-list slot (e.g. confirm / clear buttons). */\n footer?: React.ReactNode;\n /** Override empty-state slot (defaults to `strings.empty`). */\n empty?: React.ReactNode;\n /** Override loading slot (defaults to spinner + `strings.loading`). */\n loadingSlot?: React.ReactNode;\n\n /** Per-item render override. */\n renderItem?: (\n item: PopoverMenuItem<T>,\n ctx: PopoverMenuRenderItemContext,\n ) => React.ReactNode;\n\n /** Override copy. Deep-merged over defaults. */\n strings?: Partial<PopoverMenuStrings>;\n\n /** Popover content positioning props (forwarded). */\n align?: React.ComponentProps<typeof PopoverContent>['align'];\n sideOffset?: React.ComponentProps<typeof PopoverContent>['sideOffset'];\n\n /** Width override for the popover content. Default: w-56. */\n contentClassName?: string;\n}\n\nexport function PopoverMenu<T = unknown>({\n trigger,\n items,\n onSelect,\n open,\n onOpenChange,\n search = true,\n searchValue,\n onSearchChange,\n loading = false,\n header,\n footer,\n empty,\n loadingSlot,\n renderItem,\n strings: stringsProp,\n align = 'start',\n sideOffset,\n contentClassName,\n}: PopoverMenuProps<T>) {\n const strings: PopoverMenuStrings = {\n ...defaultPopoverMenuStrings,\n ...stringsProp,\n };\n\n return (\n <Popover open={open} onOpenChange={onOpenChange}>\n <PopoverTrigger render={trigger as React.ReactElement} />\n <PopoverContent\n align={align}\n sideOffset={sideOffset}\n className={cn('popover-menu--component', 'w-56 p-0 overflow-hidden', contentClassName)}\n >\n <Command shouldFilter={!onSearchChange}>\n {!!header && (\n <div className=\"border-b border-border/60 px-3 py-2\">\n {header}\n </div>\n )}\n\n {!!search && (\n <CommandInput\n placeholder={strings.searchPlaceholder}\n value={searchValue}\n onValueChange={onSearchChange}\n />\n )}\n\n <CommandList>\n {!!loading && (\n loadingSlot ?? (\n <div className=\"flex items-center justify-center gap-2 py-3 text-muted-foreground\">\n <Loader2 className=\"size-3.5 animate-spin\" aria-hidden=\"true\" />\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n {strings.loading}\n </Text>\n </div>\n )\n )}\n\n <CommandEmpty>{empty ?? strings.empty}</CommandEmpty>\n\n {items.length > 0 && (\n <CommandGroup>\n {items.map((item) => (\n <CommandItem\n key={item.value}\n value={item.searchValue ?? item.value}\n onSelect={() => onSelect(item)}\n disabled={item.disabled}\n data-checked={item.selected || undefined}\n className=\"data-[checked=true]:**:[svg]:text-primary\"\n >\n {renderItem\n ? renderItem(item, { isHighlighted: false })\n : (\n <>\n {!!item.icon && (\n <span className=\"text-muted-foreground shrink-0\">\n {item.icon}\n </span>\n )}\n <div className=\"flex min-w-0 flex-1 flex-col leading-tight\">\n <Text\n tag=\"span\"\n size=\"xs\"\n weight={item.selected ? 'medium' : 'regular'}\n className=\"truncate\"\n >\n {item.label}\n </Text>\n {!!item.description && (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"mt-0.5 truncate\"\n >\n {item.description}\n </Text>\n )}\n </div>\n </>\n )}\n </CommandItem>\n ))}\n </CommandGroup>\n )}\n </CommandList>\n\n {!!footer && (\n <div className=\"border-t border-border/60 px-3 py-2\">\n {footer}\n </div>\n )}\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\nPopoverMenu.displayName = 'PopoverMenu';\n"],"mappings":"kTA8BA,IAAa,EAAgD,CACzD,kBAAmB,UACnB,MAAO,cACP,QAAS,WACZ,CCmED,SAAgB,EAAyB,CACrC,UACA,QACA,WACA,OACA,eACA,SAAS,GACT,cACA,iBACA,UAAU,GACV,SACA,SACA,QACA,cACA,aACA,QAAS,EACT,QAAQ,QACR,aACA,oBACoB,CACpB,IAAM,EAA8B,CAChC,GAAG,EACH,GAAG,EACN,CAED,OACI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAe,OAAoB,wBAAnC,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAgB,OAAQ,EAAiC,CAAA,EACzD,EAAA,EAAA,KAAC,EAAA,EAAD,CACW,QACK,aACZ,UAAW,EAAA,GAAG,0BAA2B,2BAA4B,EAAiB,WAEtF,EAAA,EAAA,MAAC,EAAA,EAAD,CAAS,aAAc,CAAC,WAAxB,CACK,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+CACV,EACC,CAAA,CAGT,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,YAAa,EAAQ,kBACrB,MAAO,EACP,cAAe,EACjB,CAAA,EAGN,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,CACK,CAAC,CAAC,IACC,IACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6EAAf,EACI,EAAA,EAAA,KAAC,EAAA,QAAD,CAAS,UAAU,wBAAwB,cAAY,OAAS,CAAA,EAChE,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAK,KAAK,KAAK,qBAC3B,EAAQ,QACN,CAAA,CACL,KAId,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAe,GAAS,EAAQ,MAAqB,CAAA,CAEpD,EAAM,OAAS,IACZ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SACK,EAAM,IAAK,IACR,EAAA,EAAA,KAAC,EAAA,EAAD,CAEI,MAAO,EAAK,aAAe,EAAK,MAChC,aAAgB,EAAS,EAAK,CAC9B,SAAU,EAAK,SACf,eAAc,EAAK,UAAY,IAAA,GAC/B,UAAU,qDAET,EACK,EAAW,EAAM,CAAE,cAAe,GAAO,CAAC,EAExC,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACK,CAAC,CAAC,EAAK,OACJ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,0CACX,EAAK,KACH,CAAA,EAEX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sDAAf,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,IAAI,OACJ,KAAK,KACL,OAAQ,EAAK,SAAW,SAAW,UACnC,UAAU,oBAET,EAAK,MACH,CAAA,CACN,CAAC,CAAC,EAAK,cACJ,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,IAAI,OACJ,KAAK,MACL,KAAK,YACL,UAAU,2BAET,EAAK,YACH,CAAA,CAET,GACP,CAAA,CAAA,CAED,CAtCL,EAAK,MAsCA,CAChB,CACS,CAAA,CAET,CAAA,CAAA,CAEb,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+CACV,EACC,CAAA,CAEJ,GACG,CAAA,CACX,GAIlB,EAAY,YAAc"}
@@ -0,0 +1,95 @@
1
+ import { cn as e } from "../lib/utils.js";
2
+ import { t } from "./text-DIxMTECE.js";
3
+ import { i as n } from "./command-jKbwFRtS.js";
4
+ import { a as r, i, n as a, r as o, t as s } from "./command-BbiijN61.js";
5
+ import { n as c, s as l, t as u } from "./popover-CgRGcFk9.js";
6
+ import "react";
7
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
8
+ import { Loader2 as m } from "lucide-react";
9
+ //#region src/components/base/popover-menu/popover-menu.types.ts
10
+ var h = {
11
+ searchPlaceholder: "Search…",
12
+ empty: "No results.",
13
+ loading: "Loading…"
14
+ };
15
+ //#endregion
16
+ //#region src/components/base/popover-menu/popover-menu.tsx
17
+ function g({ trigger: g, items: _, onSelect: v, open: y, onOpenChange: b, search: x = !0, searchValue: S, onSearchChange: C, loading: w = !1, header: T, footer: E, empty: D, loadingSlot: O, renderItem: k, strings: A, align: j = "start", sideOffset: M, contentClassName: N }) {
18
+ let P = {
19
+ ...h,
20
+ ...A
21
+ };
22
+ return /* @__PURE__ */ p(c, {
23
+ open: y,
24
+ onOpenChange: b,
25
+ children: [/* @__PURE__ */ f(l, { render: g }), /* @__PURE__ */ f(u, {
26
+ align: j,
27
+ sideOffset: M,
28
+ className: e("popover-menu--component", "w-56 p-0 overflow-hidden", N),
29
+ children: /* @__PURE__ */ p(s, {
30
+ shouldFilter: !C,
31
+ children: [
32
+ !!T && /* @__PURE__ */ f("div", {
33
+ className: "border-b border-border/60 px-3 py-2",
34
+ children: T
35
+ }),
36
+ !!x && /* @__PURE__ */ f(n, {
37
+ placeholder: P.searchPlaceholder,
38
+ value: S,
39
+ onValueChange: C
40
+ }),
41
+ /* @__PURE__ */ p(r, { children: [
42
+ !!w && (O ?? /* @__PURE__ */ p("div", {
43
+ className: "flex items-center justify-center gap-2 py-3 text-muted-foreground",
44
+ children: [/* @__PURE__ */ f(m, {
45
+ className: "size-3.5 animate-spin",
46
+ "aria-hidden": "true"
47
+ }), /* @__PURE__ */ f(t, {
48
+ tag: "span",
49
+ size: "xs",
50
+ type: "secondary",
51
+ children: P.loading
52
+ })]
53
+ })),
54
+ /* @__PURE__ */ f(a, { children: D ?? P.empty }),
55
+ _.length > 0 && /* @__PURE__ */ f(o, { children: _.map((e) => /* @__PURE__ */ f(i, {
56
+ value: e.searchValue ?? e.value,
57
+ onSelect: () => v(e),
58
+ disabled: e.disabled,
59
+ "data-checked": e.selected || void 0,
60
+ className: "data-[checked=true]:**:[svg]:text-primary",
61
+ children: k ? k(e, { isHighlighted: !1 }) : /* @__PURE__ */ p(d, { children: [!!e.icon && /* @__PURE__ */ f("span", {
62
+ className: "text-muted-foreground shrink-0",
63
+ children: e.icon
64
+ }), /* @__PURE__ */ p("div", {
65
+ className: "flex min-w-0 flex-1 flex-col leading-tight",
66
+ children: [/* @__PURE__ */ f(t, {
67
+ tag: "span",
68
+ size: "xs",
69
+ weight: e.selected ? "medium" : "regular",
70
+ className: "truncate",
71
+ children: e.label
72
+ }), !!e.description && /* @__PURE__ */ f(t, {
73
+ tag: "span",
74
+ size: "xxs",
75
+ type: "secondary",
76
+ className: "mt-0.5 truncate",
77
+ children: e.description
78
+ })]
79
+ })] })
80
+ }, e.value)) })
81
+ ] }),
82
+ !!E && /* @__PURE__ */ f("div", {
83
+ className: "border-t border-border/60 px-3 py-2",
84
+ children: E
85
+ })
86
+ ]
87
+ })
88
+ })]
89
+ });
90
+ }
91
+ g.displayName = "PopoverMenu";
92
+ //#endregion
93
+ export { h as n, g as t };
94
+
95
+ //# sourceMappingURL=popover-menu-BHdHLEVL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-menu-BHdHLEVL.js","names":[],"sources":["../../src/components/base/popover-menu/popover-menu.types.ts","../../src/components/base/popover-menu/popover-menu.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport interface PopoverMenuItem<T = unknown> {\n /** Unique identifier — also the cmdk match value when no `searchValue` provided. */\n value: string;\n /** Visible label rendered in the row. Override entirely via `renderItem`. */\n label: ReactNode;\n /** Optional secondary line rendered under the label. */\n description?: ReactNode;\n /** Leading icon — keep small (size-3.5/size-4 max). */\n icon?: ReactNode;\n /** Show the trailing checkmark when `true`. */\n selected?: boolean;\n /** Disable the row. */\n disabled?: boolean;\n /** Custom string used by cmdk for matching when `label` is not a plain string. */\n searchValue?: string;\n /** Arbitrary payload for `onSelect` consumers. */\n data?: T;\n}\n\nexport interface PopoverMenuStrings {\n /** Placeholder for the search input (when `search` is enabled). */\n searchPlaceholder: string;\n /** Empty-state copy when filtering yields no items. */\n empty: string;\n /** Loading-state copy. */\n loading: string;\n}\n\nexport const defaultPopoverMenuStrings: PopoverMenuStrings = {\n searchPlaceholder: 'Search…',\n empty: 'No results.',\n loading: 'Loading…',\n};\n","/**\n * PopoverMenu — composed wrapper around `base/popover` + `base/command`.\n *\n * Captures the recurring \"trigger → optional header → search → command list\"\n * pattern used by filter facets, operator selects, and similar pickers\n * across the library.\n *\n * Slots (all optional):\n * - `header` — rendered above the search input / list\n * - `footer` — rendered below the list (e.g. confirm/clear buttons)\n * - `empty` — replaces the default empty-state copy\n * - `loading` — rendered above the list when `loading` is true\n *\n * Render-prop:\n * - `renderItem={(item, ctx) => ReactNode}` — full control over a row\n *\n * Strings:\n * - `strings={{ searchPlaceholder, empty, loading }}` — merged with defaults\n *\n * For headless usage (custom UI against the same selection state),\n * compose `base/popover` + `base/command` directly.\n */\nimport { Loader2 } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/base/command';\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from '@/components/base/popover';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultPopoverMenuStrings,\n type PopoverMenuItem,\n type PopoverMenuStrings,\n} from './popover-menu.types';\n\nexport interface PopoverMenuRenderItemContext {\n /** True when the item is the user's currently-active match (cmdk highlight). */\n isHighlighted: boolean;\n}\n\nexport interface PopoverMenuProps<T = unknown> {\n /** Trigger element. The popover anchors to it. Pass any clickable. */\n trigger: React.ReactNode;\n /** Items to render in the list. */\n items: ReadonlyArray<PopoverMenuItem<T>>;\n /** Selection callback — fires on row click / Enter. */\n onSelect: (item: PopoverMenuItem<T>) => void;\n\n /** Controlled open state. Omit for uncontrolled. */\n open?: boolean;\n /** Open-state callback for controlled / uncontrolled flows. */\n onOpenChange?: (open: boolean) => void;\n\n /** Show the search input above the list. Default: true. */\n search?: boolean;\n /** Search input value (controlled). */\n searchValue?: string;\n /** Search input change callback. */\n onSearchChange?: (value: string) => void;\n\n /** Async loading flag — shows the loading slot above the list. */\n loading?: boolean;\n\n /** Optional pre-list slot (e.g. a label / eyebrow). */\n header?: React.ReactNode;\n /** Optional post-list slot (e.g. confirm / clear buttons). */\n footer?: React.ReactNode;\n /** Override empty-state slot (defaults to `strings.empty`). */\n empty?: React.ReactNode;\n /** Override loading slot (defaults to spinner + `strings.loading`). */\n loadingSlot?: React.ReactNode;\n\n /** Per-item render override. */\n renderItem?: (\n item: PopoverMenuItem<T>,\n ctx: PopoverMenuRenderItemContext,\n ) => React.ReactNode;\n\n /** Override copy. Deep-merged over defaults. */\n strings?: Partial<PopoverMenuStrings>;\n\n /** Popover content positioning props (forwarded). */\n align?: React.ComponentProps<typeof PopoverContent>['align'];\n sideOffset?: React.ComponentProps<typeof PopoverContent>['sideOffset'];\n\n /** Width override for the popover content. Default: w-56. */\n contentClassName?: string;\n}\n\nexport function PopoverMenu<T = unknown>({\n trigger,\n items,\n onSelect,\n open,\n onOpenChange,\n search = true,\n searchValue,\n onSearchChange,\n loading = false,\n header,\n footer,\n empty,\n loadingSlot,\n renderItem,\n strings: stringsProp,\n align = 'start',\n sideOffset,\n contentClassName,\n}: PopoverMenuProps<T>) {\n const strings: PopoverMenuStrings = {\n ...defaultPopoverMenuStrings,\n ...stringsProp,\n };\n\n return (\n <Popover open={open} onOpenChange={onOpenChange}>\n <PopoverTrigger render={trigger as React.ReactElement} />\n <PopoverContent\n align={align}\n sideOffset={sideOffset}\n className={cn('popover-menu--component', 'w-56 p-0 overflow-hidden', contentClassName)}\n >\n <Command shouldFilter={!onSearchChange}>\n {!!header && (\n <div className=\"border-b border-border/60 px-3 py-2\">\n {header}\n </div>\n )}\n\n {!!search && (\n <CommandInput\n placeholder={strings.searchPlaceholder}\n value={searchValue}\n onValueChange={onSearchChange}\n />\n )}\n\n <CommandList>\n {!!loading && (\n loadingSlot ?? (\n <div className=\"flex items-center justify-center gap-2 py-3 text-muted-foreground\">\n <Loader2 className=\"size-3.5 animate-spin\" aria-hidden=\"true\" />\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n {strings.loading}\n </Text>\n </div>\n )\n )}\n\n <CommandEmpty>{empty ?? strings.empty}</CommandEmpty>\n\n {items.length > 0 && (\n <CommandGroup>\n {items.map((item) => (\n <CommandItem\n key={item.value}\n value={item.searchValue ?? item.value}\n onSelect={() => onSelect(item)}\n disabled={item.disabled}\n data-checked={item.selected || undefined}\n className=\"data-[checked=true]:**:[svg]:text-primary\"\n >\n {renderItem\n ? renderItem(item, { isHighlighted: false })\n : (\n <>\n {!!item.icon && (\n <span className=\"text-muted-foreground shrink-0\">\n {item.icon}\n </span>\n )}\n <div className=\"flex min-w-0 flex-1 flex-col leading-tight\">\n <Text\n tag=\"span\"\n size=\"xs\"\n weight={item.selected ? 'medium' : 'regular'}\n className=\"truncate\"\n >\n {item.label}\n </Text>\n {!!item.description && (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"mt-0.5 truncate\"\n >\n {item.description}\n </Text>\n )}\n </div>\n </>\n )}\n </CommandItem>\n ))}\n </CommandGroup>\n )}\n </CommandList>\n\n {!!footer && (\n <div className=\"border-t border-border/60 px-3 py-2\">\n {footer}\n </div>\n )}\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\nPopoverMenu.displayName = 'PopoverMenu';\n"],"mappings":";;;;;;;;;AA8BA,IAAa,IAAgD;CACzD,mBAAmB;CACnB,OAAO;CACP,SAAS;CACZ;;;ACmED,SAAgB,EAAyB,EACrC,YACA,UACA,aACA,SACA,iBACA,YAAS,IACT,gBACA,mBACA,aAAU,IACV,WACA,WACA,UACA,gBACA,eACA,SAAS,GACT,WAAQ,SACR,eACA,uBACoB;CACpB,IAAM,IAA8B;EAChC,GAAG;EACH,GAAG;EACN;AAED,QACI,kBAAC,GAAD;EAAe;EAAoB;YAAnC,CACI,kBAAC,GAAD,EAAgB,QAAQ,GAAiC,CAAA,EACzD,kBAAC,GAAD;GACW;GACK;GACZ,WAAW,EAAG,2BAA2B,4BAA4B,EAAiB;aAEtF,kBAAC,GAAD;IAAS,cAAc,CAAC;cAAxB;KACK,CAAC,CAAC,KACC,kBAAC,OAAD;MAAK,WAAU;gBACV;MACC,CAAA;KAGT,CAAC,CAAC,KACC,kBAAC,GAAD;MACI,aAAa,EAAQ;MACrB,OAAO;MACP,eAAe;MACjB,CAAA;KAGN,kBAAC,GAAD,EAAA,UAAA;MACK,CAAC,CAAC,MACC,KACI,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACI,kBAAC,GAAD;QAAS,WAAU;QAAwB,eAAY;QAAS,CAAA,EAChE,kBAAC,GAAD;QAAM,KAAI;QAAO,MAAK;QAAK,MAAK;kBAC3B,EAAQ;QACN,CAAA,CACL;;MAId,kBAAC,GAAD,EAAA,UAAe,KAAS,EAAQ,OAAqB,CAAA;MAEpD,EAAM,SAAS,KACZ,kBAAC,GAAD,EAAA,UACK,EAAM,KAAK,MACR,kBAAC,GAAD;OAEI,OAAO,EAAK,eAAe,EAAK;OAChC,gBAAgB,EAAS,EAAK;OAC9B,UAAU,EAAK;OACf,gBAAc,EAAK,YAAY,KAAA;OAC/B,WAAU;iBAET,IACK,EAAW,GAAM,EAAE,eAAe,IAAO,CAAC,GAExC,kBAAA,GAAA,EAAA,UAAA,CACK,CAAC,CAAC,EAAK,QACJ,kBAAC,QAAD;QAAM,WAAU;kBACX,EAAK;QACH,CAAA,EAEX,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACI,kBAAC,GAAD;SACI,KAAI;SACJ,MAAK;SACL,QAAQ,EAAK,WAAW,WAAW;SACnC,WAAU;mBAET,EAAK;SACH,CAAA,EACN,CAAC,CAAC,EAAK,eACJ,kBAAC,GAAD;SACI,KAAI;SACJ,MAAK;SACL,MAAK;SACL,WAAU;mBAET,EAAK;SACH,CAAA,CAET;UACP,EAAA,CAAA;OAED,EAtCL,EAAK,MAsCA,CAChB,EACS,CAAA;MAET,EAAA,CAAA;KAEb,CAAC,CAAC,KACC,kBAAC,OAAD;MAAK,WAAU;gBACV;MACC,CAAA;KAEJ;;GACG,CAAA,CACX;;;AAIlB,EAAY,cAAc"}