admin-ui-starter-kit 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1012) hide show
  1. package/.agents/skills/admin-ui-consumer-migration/SKILL.md +10 -0
  2. package/.agents/skills/admin-ui-consumer-migration/references/actions-service.md +236 -0
  3. package/CHANGELOG.md +26 -1
  4. package/COMPONENT_SELECTION.md +10 -1
  5. package/INTEGRATION.md +47 -0
  6. package/README.md +34 -1
  7. package/dist/_shared/accordion-Df1XrCDv.cjs +2 -0
  8. package/dist/_shared/accordion-Df1XrCDv.cjs.map +1 -0
  9. package/dist/_shared/accordion-Rzi9wEl6.js +130 -0
  10. package/dist/_shared/accordion-Rzi9wEl6.js.map +1 -0
  11. package/dist/_shared/action-menu-CrOJ63Q9.js +96 -0
  12. package/dist/_shared/action-menu-CrOJ63Q9.js.map +1 -0
  13. package/dist/_shared/action-menu-D9OowHKx.cjs +2 -0
  14. package/dist/_shared/action-menu-D9OowHKx.cjs.map +1 -0
  15. package/dist/_shared/ai-artifact-D4EjKoq6.cjs +3 -0
  16. package/dist/_shared/ai-artifact-D4EjKoq6.cjs.map +1 -0
  17. package/dist/_shared/ai-artifact-nlOrSeqT.js +1099 -0
  18. package/dist/_shared/ai-artifact-nlOrSeqT.js.map +1 -0
  19. package/dist/_shared/auth-C5HawWvp.cjs +2 -0
  20. package/dist/_shared/auth-C5HawWvp.cjs.map +1 -0
  21. package/dist/_shared/auth-DnMEJXP9.js +643 -0
  22. package/dist/_shared/auth-DnMEJXP9.js.map +1 -0
  23. package/dist/_shared/badge-6WYAMJwA.js +108 -0
  24. package/dist/_shared/badge-6WYAMJwA.js.map +1 -0
  25. package/dist/_shared/badge-CBof1rbF.cjs +2 -0
  26. package/dist/_shared/badge-CBof1rbF.cjs.map +1 -0
  27. package/dist/_shared/button-BGKY8UY0.js +173 -0
  28. package/dist/_shared/button-BGKY8UY0.js.map +1 -0
  29. package/dist/_shared/button-BI347RlM.cjs +2 -0
  30. package/dist/_shared/button-BI347RlM.cjs.map +1 -0
  31. package/dist/_shared/button-DEFoa7-c.cjs +2 -0
  32. package/dist/_shared/button-DEFoa7-c.cjs.map +1 -0
  33. package/dist/_shared/button-DlqryxqA.js +46 -0
  34. package/dist/_shared/button-DlqryxqA.js.map +1 -0
  35. package/dist/_shared/buttons-PL-TGJ32.js +143 -0
  36. package/dist/_shared/buttons-PL-TGJ32.js.map +1 -0
  37. package/dist/_shared/buttons-kVvSD_oI.cjs +2 -0
  38. package/dist/_shared/buttons-kVvSD_oI.cjs.map +1 -0
  39. package/dist/_shared/combobox-B4KmDZK0.cjs +2 -0
  40. package/dist/_shared/combobox-B4KmDZK0.cjs.map +1 -0
  41. package/dist/_shared/combobox-YUGi3xSc.js +810 -0
  42. package/dist/_shared/combobox-YUGi3xSc.js.map +1 -0
  43. package/dist/_shared/comments-GzXdwpq4.js +952 -0
  44. package/dist/_shared/comments-GzXdwpq4.js.map +1 -0
  45. package/dist/_shared/comments-Zj_foV1V.cjs +2 -0
  46. package/dist/_shared/comments-Zj_foV1V.cjs.map +1 -0
  47. package/dist/_shared/date-picker-Dl91BM3D.js +1361 -0
  48. package/dist/_shared/date-picker-Dl91BM3D.js.map +1 -0
  49. package/dist/_shared/date-picker-zFOqtmAS.cjs +2 -0
  50. package/dist/_shared/date-picker-zFOqtmAS.cjs.map +1 -0
  51. package/dist/_shared/date-pickers-BBydcIjN.cjs +2 -0
  52. package/dist/_shared/date-pickers-BBydcIjN.cjs.map +1 -0
  53. package/dist/_shared/date-pickers-D2OsgV4V.js +330 -0
  54. package/dist/_shared/date-pickers-D2OsgV4V.js.map +1 -0
  55. package/dist/_shared/dialog-CCN4tjU9.js +101 -0
  56. package/dist/_shared/dialog-CCN4tjU9.js.map +1 -0
  57. package/dist/_shared/dialog-Dd0ENSrU.cjs +2 -0
  58. package/dist/_shared/dialog-Dd0ENSrU.cjs.map +1 -0
  59. package/dist/_shared/display-Dhy5ogxC.cjs +2 -0
  60. package/dist/_shared/display-Dhy5ogxC.cjs.map +1 -0
  61. package/dist/_shared/display-NBtWdAMl.js +1154 -0
  62. package/dist/_shared/display-NBtWdAMl.js.map +1 -0
  63. package/dist/_shared/forms-BweX9Lm8.cjs +2 -0
  64. package/dist/_shared/forms-BweX9Lm8.cjs.map +1 -0
  65. package/dist/_shared/forms-L1hyNKpZ.js +3430 -0
  66. package/dist/_shared/forms-L1hyNKpZ.js.map +1 -0
  67. package/dist/_shared/header-BSBPtGn4.cjs +2 -0
  68. package/dist/_shared/header-BSBPtGn4.cjs.map +1 -0
  69. package/dist/_shared/header-No6GSp4R.js +360 -0
  70. package/dist/_shared/header-No6GSp4R.js.map +1 -0
  71. package/dist/_shared/hooks-BkXvZ4py.js +118 -0
  72. package/dist/_shared/hooks-BkXvZ4py.js.map +1 -0
  73. package/dist/_shared/hooks-D3SbLBRk.cjs +2 -0
  74. package/dist/_shared/hooks-D3SbLBRk.cjs.map +1 -0
  75. package/dist/_shared/mentions-CA1Ka_Bv.cjs +2 -0
  76. package/dist/_shared/mentions-CA1Ka_Bv.cjs.map +1 -0
  77. package/dist/_shared/mentions-CdvvLGQG.js +506 -0
  78. package/dist/_shared/mentions-CdvvLGQG.js.map +1 -0
  79. package/dist/_shared/metadata-Ckcmar8d.js +235 -0
  80. package/dist/_shared/metadata-Ckcmar8d.js.map +1 -0
  81. package/dist/_shared/metadata-DamdYVZL.cjs +2 -0
  82. package/dist/_shared/metadata-DamdYVZL.cjs.map +1 -0
  83. package/dist/_shared/navigation-BemwPPC8.cjs +2 -0
  84. package/dist/_shared/navigation-BemwPPC8.cjs.map +1 -0
  85. package/dist/_shared/navigation-DY540HB0.js +419 -0
  86. package/dist/_shared/navigation-DY540HB0.js.map +1 -0
  87. package/dist/_shared/overlays-CJs_syAu.js +648 -0
  88. package/dist/_shared/overlays-CJs_syAu.js.map +1 -0
  89. package/dist/_shared/overlays-DWFEaAog.cjs +2 -0
  90. package/dist/_shared/overlays-DWFEaAog.cjs.map +1 -0
  91. package/dist/_shared/page-Cg_gNpyK.js +262 -0
  92. package/dist/_shared/page-Cg_gNpyK.js.map +1 -0
  93. package/dist/_shared/page-CpFWQuWU.cjs +2 -0
  94. package/dist/_shared/page-CpFWQuWU.cjs.map +1 -0
  95. package/dist/_shared/rich-text-editor-B2VqNi6j.js +620 -0
  96. package/dist/_shared/rich-text-editor-B2VqNi6j.js.map +1 -0
  97. package/dist/_shared/rich-text-editor-ChE-pI3N.cjs +2 -0
  98. package/dist/_shared/rich-text-editor-ChE-pI3N.cjs.map +1 -0
  99. package/dist/_shared/sheet-BOgUA4fC.cjs +2 -0
  100. package/dist/_shared/sheet-BOgUA4fC.cjs.map +1 -0
  101. package/dist/_shared/sheet-DWQuyRRz.js +100 -0
  102. package/dist/_shared/sheet-DWQuyRRz.js.map +1 -0
  103. package/dist/_shared/sidebar-BGpi9K_Q.js +389 -0
  104. package/dist/_shared/sidebar-BGpi9K_Q.js.map +1 -0
  105. package/dist/_shared/sidebar-BTFfxmNG.cjs +2 -0
  106. package/dist/_shared/sidebar-BTFfxmNG.cjs.map +1 -0
  107. package/dist/_shared/sidebar-CC3lcvNX.cjs +2 -0
  108. package/dist/_shared/sidebar-CC3lcvNX.cjs.map +1 -0
  109. package/dist/_shared/sidebar-wmztVpnO.js +538 -0
  110. package/dist/_shared/sidebar-wmztVpnO.js.map +1 -0
  111. package/dist/_shared/smart-card-B6m7tmt0.cjs +2 -0
  112. package/dist/_shared/smart-card-B6m7tmt0.cjs.map +1 -0
  113. package/dist/_shared/smart-card-thLb85Ih.js +361 -0
  114. package/dist/_shared/smart-card-thLb85Ih.js.map +1 -0
  115. package/dist/_shared/table-BItnJ8lG.cjs +2 -0
  116. package/dist/_shared/table-BItnJ8lG.cjs.map +1 -0
  117. package/dist/_shared/table-D3349b-v.js +1189 -0
  118. package/dist/_shared/table-D3349b-v.js.map +1 -0
  119. package/dist/_shared/workspace-BGVeTeJy.js +357 -0
  120. package/dist/_shared/workspace-BGVeTeJy.js.map +1 -0
  121. package/dist/_shared/workspace-CWyzTUmE.cjs +2 -0
  122. package/dist/_shared/workspace-CWyzTUmE.cjs.map +1 -0
  123. package/dist/components/base/accordion/index.cjs +1 -1
  124. package/dist/components/base/accordion/index.js +1 -1
  125. package/dist/components/base/badge/index.cjs +1 -1
  126. package/dist/components/base/badge/index.js +1 -1
  127. package/dist/components/base/buttons/index.cjs +1 -1
  128. package/dist/components/base/buttons/index.js +2 -2
  129. package/dist/components/base/cards/index.cjs +1 -1
  130. package/dist/components/base/cards/index.js +1 -1
  131. package/dist/components/base/carousel/index.cjs +1 -1
  132. package/dist/components/base/carousel/index.js +1 -1
  133. package/dist/components/base/combobox/index.cjs +1 -1
  134. package/dist/components/base/combobox/index.js +1 -1
  135. package/dist/components/base/date-pickers/index.cjs +1 -1
  136. package/dist/components/base/date-pickers/index.js +2 -2
  137. package/dist/components/base/display/alert.d.ts +1 -1
  138. package/dist/components/base/display/index.cjs +1 -1
  139. package/dist/components/base/display/index.js +6 -6
  140. package/dist/components/base/display/metadata/index.cjs +1 -1
  141. package/dist/components/base/display/metadata/index.js +1 -1
  142. package/dist/components/base/event-calendar/index.cjs +1 -1
  143. package/dist/components/base/event-calendar/index.js +41 -41
  144. package/dist/components/base/forms/index.cjs +1 -1
  145. package/dist/components/base/forms/index.js +1 -1
  146. package/dist/components/base/map/index.cjs +1 -1
  147. package/dist/components/base/map/index.js +31 -31
  148. package/dist/components/base/navigation/index.cjs +1 -1
  149. package/dist/components/base/navigation/index.js +2 -2
  150. package/dist/components/base/sheet/index.cjs +1 -1
  151. package/dist/components/base/sheet/index.js +1 -1
  152. package/dist/components/base/sidebar/index.cjs +1 -1
  153. package/dist/components/base/sidebar/index.js +1 -1
  154. package/dist/components/base/table/index.cjs +1 -1
  155. package/dist/components/base/table/index.js +1 -1
  156. package/dist/components/composed/admin/index.cjs +1 -1
  157. package/dist/components/composed/admin/index.js +47 -47
  158. package/dist/components/composed/ai/index.cjs +1 -1
  159. package/dist/components/composed/ai/index.js +105 -105
  160. package/dist/components/composed/analytics/index.cjs +1 -1
  161. package/dist/components/composed/analytics/index.js +89 -89
  162. package/dist/components/composed/cards/index.cjs +1 -1
  163. package/dist/components/composed/cards/index.js +116 -116
  164. package/dist/components/composed/commerce/index.cjs +1 -1
  165. package/dist/components/composed/commerce/index.js +127 -127
  166. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  167. package/dist/components/composed/dark-surfaces/index.js +37 -37
  168. package/dist/components/composed/data-display/index.cjs +1 -1
  169. package/dist/components/composed/data-display/index.js +3 -3
  170. package/dist/components/composed/navigation/index.cjs +1 -1
  171. package/dist/components/composed/navigation/index.js +55 -55
  172. package/dist/components/composed/onboarding/index.cjs +1 -1
  173. package/dist/components/composed/onboarding/index.js +1 -1
  174. package/dist/components/composed/timelines/index.cjs +1 -1
  175. package/dist/components/composed/timelines/index.js +2 -2
  176. package/dist/components/features/activities/index.cjs +1 -1
  177. package/dist/components/features/activities/index.js +56 -56
  178. package/dist/components/features/ai-chat/index.cjs +2 -2
  179. package/dist/components/features/ai-chat/index.js +53 -53
  180. package/dist/components/features/card/index.cjs +1 -1
  181. package/dist/components/features/card/index.js +21 -21
  182. package/dist/components/features/comments/index.cjs +1 -1
  183. package/dist/components/features/comments/index.js +2 -2
  184. package/dist/components/features/event-log/index.cjs +1 -1
  185. package/dist/components/features/event-log/index.js +3 -3
  186. package/dist/components/features/filters/index.cjs +1 -1
  187. package/dist/components/features/filters/index.js +143 -143
  188. package/dist/components/features/global-search/index.cjs +1 -1
  189. package/dist/components/features/global-search/index.js +57 -57
  190. package/dist/components/features/kanban/index.cjs +1 -1
  191. package/dist/components/features/kanban/index.js +14 -14
  192. package/dist/components/features/media-library/index.cjs +1 -1
  193. package/dist/components/features/media-library/index.js +178 -178
  194. package/dist/components/features/mentions/index.cjs +1 -1
  195. package/dist/components/features/mentions/index.js +1 -1
  196. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  197. package/dist/components/features/overlays/alert-dialog.d.ts.map +1 -1
  198. package/dist/components/features/overlays/drawer.d.ts +1 -1
  199. package/dist/components/features/overlays/drawer.d.ts.map +1 -1
  200. package/dist/components/features/overlays/index.cjs +1 -1
  201. package/dist/components/features/overlays/index.js +1 -1
  202. package/dist/components/features/overlays/overlays.types.d.ts +1 -0
  203. package/dist/components/features/overlays/overlays.types.d.ts.map +1 -1
  204. package/dist/components/features/products/index.cjs +1 -1
  205. package/dist/components/features/products/index.js +124 -124
  206. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  207. package/dist/components/features/rich-text-editor/index.js +1 -1
  208. package/dist/components/features/schema-form/index.cjs +1 -1
  209. package/dist/components/features/schema-form/index.js +26 -26
  210. package/dist/components/features/suggestions/index.cjs +1 -1
  211. package/dist/components/features/suggestions/index.js +1 -1
  212. package/dist/components/layout/auth/index.cjs +1 -1
  213. package/dist/components/layout/auth/index.js +1 -1
  214. package/dist/components/layout/header/index.cjs +1 -1
  215. package/dist/components/layout/header/index.js +1 -1
  216. package/dist/components/layout/hooks/index.cjs +1 -1
  217. package/dist/components/layout/hooks/index.js +1 -1
  218. package/dist/components/layout/index.cjs +1 -1
  219. package/dist/components/layout/index.js +6 -6
  220. package/dist/components/layout/page/index.cjs +1 -1
  221. package/dist/components/layout/page/index.js +1 -1
  222. package/dist/components/layout/sidebar/index.cjs +1 -1
  223. package/dist/components/layout/sidebar/index.js +2 -2
  224. package/dist/components/layout/workspace/index.cjs +1 -1
  225. package/dist/components/layout/workspace/index.js +1 -1
  226. package/dist/components/ui/alert.d.ts +1 -1
  227. package/dist/components/ui/badge.d.ts +1 -1
  228. package/dist/components/ui/button.d.ts +1 -1
  229. package/dist/services/actions/action-overlay-outlet.d.ts +4 -0
  230. package/dist/services/actions/action-overlay-outlet.d.ts.map +1 -0
  231. package/dist/services/actions/action-provider.d.ts +8 -0
  232. package/dist/services/actions/action-provider.d.ts.map +1 -0
  233. package/dist/services/actions/action-scope.d.ts +4 -0
  234. package/dist/services/actions/action-scope.d.ts.map +1 -0
  235. package/dist/services/actions/action-store.d.ts +44 -0
  236. package/dist/services/actions/action-store.d.ts.map +1 -0
  237. package/dist/services/actions/actions.strings.d.ts +3 -0
  238. package/dist/services/actions/actions.strings.d.ts.map +1 -0
  239. package/dist/services/actions/actions.types.d.ts +248 -0
  240. package/dist/services/actions/actions.types.d.ts.map +1 -0
  241. package/dist/services/actions/hooks.d.ts +8 -0
  242. package/dist/services/actions/hooks.d.ts.map +1 -0
  243. package/dist/services/actions/index.cjs +2 -0
  244. package/dist/services/actions/index.cjs.map +1 -0
  245. package/dist/services/actions/index.d.ts +8 -0
  246. package/dist/services/actions/index.d.ts.map +1 -0
  247. package/dist/services/actions/index.js +562 -0
  248. package/dist/services/actions/index.js.map +1 -0
  249. package/dist/showcase/assets/AreaChart-BYEewdc_.js +6 -0
  250. package/dist/showcase/assets/CompositeItem-Duekeg4m.js +1 -0
  251. package/dist/showcase/assets/CompositeRoot-BgNU3T7R.js +1 -0
  252. package/dist/showcase/assets/DialogTrigger-9xWmoeF5.js +1 -0
  253. package/dist/showcase/assets/LabelableContext-B3W_70Qk.js +1 -0
  254. package/dist/showcase/assets/PreviewLayout-nADJqRlP.js +1 -0
  255. package/dist/showcase/assets/RadioGroup-Bp1VCzxr.js +1 -0
  256. package/dist/showcase/assets/Separator-9PWX3shz.js +1 -0
  257. package/dist/showcase/assets/ToolbarRootContext-DwELw9xS.js +1 -0
  258. package/dist/showcase/assets/accordion-CfqHO9_z.js +171 -0
  259. package/dist/showcase/assets/accordion-variants-pkPHxkLW.js +1 -0
  260. package/dist/showcase/assets/action-menu-DFzSuDjI.js +1 -0
  261. package/dist/showcase/assets/activities-Bo97b2-I.js +501 -0
  262. package/dist/showcase/assets/activities-feed-card-D77gf27B.js +1 -0
  263. package/dist/showcase/assets/activity-BUlCWLI8.js +1 -0
  264. package/dist/showcase/assets/admin-CxTV4kZX.js +80 -0
  265. package/dist/showcase/assets/ai-Bym5H8bn.js +41 -0
  266. package/dist/showcase/assets/ai-artifact-DZVl1WmK.js +2 -0
  267. package/dist/showcase/assets/ai-chat-M3X5-PgT.js +568 -0
  268. package/dist/showcase/assets/ai-elements-DjppcMBD.js +387 -0
  269. package/dist/showcase/assets/ai-new-CXnrIi5S.js +167 -0
  270. package/dist/showcase/assets/ai-tool-call-DyMI8DqD.js +1 -0
  271. package/dist/showcase/assets/alert-D6Pygy2s.js +62 -0
  272. package/dist/showcase/assets/alert-DCrWLbEx.js +93 -0
  273. package/dist/showcase/assets/alert-qTNM0vld.js +1 -0
  274. package/dist/showcase/assets/api-key-list-CCpuHYHc.js +73 -0
  275. package/dist/showcase/assets/app-sidebar-CxTRNC5L.js +1 -0
  276. package/dist/showcase/assets/arrow-down--phuskCV.js +1 -0
  277. package/dist/showcase/assets/arrow-left-B__WWqyA.js +1 -0
  278. package/dist/showcase/assets/arrow-right-1-EvXxjB.js +1 -0
  279. package/dist/showcase/assets/arrow-up-lWotnmo7.js +1 -0
  280. package/dist/showcase/assets/arrow-up-right-IyQ3oeq0.js +1 -0
  281. package/dist/showcase/assets/avatar-gugtNx4D.js +57 -0
  282. package/dist/showcase/assets/avatar-n1nywTlx.js +1 -0
  283. package/dist/showcase/assets/badge-TuE-u3Hv.js +28 -0
  284. package/dist/showcase/assets/badge-check-CPDvpVzK.js +1 -0
  285. package/dist/showcase/assets/bell-DeCVddCA.js +1 -0
  286. package/dist/showcase/assets/bot-B_vzJEJH.js +1 -0
  287. package/dist/showcase/assets/box-z4O8t_K5.js +1 -0
  288. package/dist/showcase/assets/brain-DdKBE4Bh.js +1 -0
  289. package/dist/showcase/assets/brand-CfW7mgTY.js +36 -0
  290. package/dist/showcase/assets/breadcrumb-B4TBbKv3.js +52 -0
  291. package/dist/showcase/assets/breadcrumb-bF_sFVBL.js +1 -0
  292. package/dist/showcase/assets/breadcrumbs-CBv3EaMX.js +1 -0
  293. package/dist/showcase/assets/briefcase-ClqzeNt3.js +1 -0
  294. package/dist/showcase/assets/building-2-BQuWgjZj.js +1 -0
  295. package/dist/showcase/assets/button-CWKNCI82.js +44 -0
  296. package/dist/showcase/assets/button-group-BYhxtFwV.js +1 -0
  297. package/dist/showcase/assets/buttons-mBRyBw3Q.js +270 -0
  298. package/dist/showcase/assets/calendar-BgloJjlW.js +1 -0
  299. package/dist/showcase/assets/calendar-CJDWspzi.js +1 -0
  300. package/dist/showcase/assets/calendar-CgML2kJt.js +16 -0
  301. package/dist/showcase/assets/calendar-days-C0gTLVnY.js +1 -0
  302. package/dist/showcase/assets/camera-nIlaz4Sn.js +1 -0
  303. package/dist/showcase/assets/card-1ncRnRvq.js +1 -0
  304. package/dist/showcase/assets/card-CcgWzFB-.js +188 -0
  305. package/dist/showcase/assets/card-primitives-By4-RTuP.js +1 -0
  306. package/dist/showcase/assets/card-radio-group-DeX3qsRg.js +1 -0
  307. package/dist/showcase/assets/cards-DdqQr8rY.js +328 -0
  308. package/dist/showcase/assets/carousel-CV8ltDl8.js +449 -0
  309. package/dist/showcase/assets/chart-BNzHjskC.js +358 -0
  310. package/dist/showcase/assets/chart-column-CpTxRLEH.js +1 -0
  311. package/dist/showcase/assets/checkbox-CZTTm4Dv.js +1 -0
  312. package/dist/showcase/assets/chevron-down-LWBNHe9S.js +1 -0
  313. package/dist/showcase/assets/chevron-left-BsshO7nf.js +1 -0
  314. package/dist/showcase/assets/chevron-right-t68um2_G.js +1 -0
  315. package/dist/showcase/assets/chevron-up-DjhlESJB.js +1 -0
  316. package/dist/showcase/assets/chevrons-up-down-ZUo0Do59.js +1 -0
  317. package/dist/showcase/assets/circle-BL52dLr9.js +1 -0
  318. package/dist/showcase/assets/circle-alert-CXCt6zxc.js +1 -0
  319. package/dist/showcase/assets/circle-check-CbiRRw7s.js +1 -0
  320. package/dist/showcase/assets/circle-check-big-BSgn7lyt.js +1 -0
  321. package/dist/showcase/assets/circle-dot-WEOpGGJf.js +1 -0
  322. package/dist/showcase/assets/circle-question-mark-C9hLlsD7.js +1 -0
  323. package/dist/showcase/assets/circle-x-BT9TJbJC.js +1 -0
  324. package/dist/showcase/assets/clock-3-CfRK8ckc.js +1 -0
  325. package/dist/showcase/assets/clock-D-3zf0c1.js +1 -0
  326. package/dist/showcase/assets/code-xml-CQYKKuBU.js +1 -0
  327. package/dist/showcase/assets/collapsible-BC0hQvat.js +27 -0
  328. package/dist/showcase/assets/collapsible-CRVtVDCF.js +1 -0
  329. package/dist/showcase/assets/combobox-D4VYvYCT.js +696 -0
  330. package/dist/showcase/assets/command-CxeHT4lL.js +1 -0
  331. package/dist/showcase/assets/command-Do_t_Zou.js +1 -0
  332. package/dist/showcase/assets/comment-composer-DoFwvVlq.js +1 -0
  333. package/dist/showcase/assets/comment-item-CT8UbVeg.js +1 -0
  334. package/dist/showcase/assets/comments-CqdXrjUn.js +357 -0
  335. package/dist/showcase/assets/commerce-B9V2Wo_q.js +79 -0
  336. package/dist/showcase/assets/commerce-extras-CNT3QmAT.js +189 -0
  337. package/dist/showcase/assets/composite-BXLXcagx.js +1 -0
  338. package/dist/showcase/assets/contact-card-BLcAXepj.js +65 -0
  339. package/dist/showcase/assets/content-container-DJVD3ZmI.js +1 -0
  340. package/dist/showcase/assets/copyable-od17NrMu.js +96 -0
  341. package/dist/showcase/assets/course-card-CdZQr5yy.js +77 -0
  342. package/dist/showcase/assets/cpu-B8kRNR1R.js +1 -0
  343. package/dist/showcase/assets/credit-card-BYMQj03s.js +1 -0
  344. package/dist/showcase/assets/currency-Cxv3Cp6B.js +149 -0
  345. package/dist/showcase/assets/dark-surfaces-Cfp58iFb.js +90 -0
  346. package/dist/showcase/assets/database-DuUABvxU.js +1 -0
  347. package/dist/showcase/assets/date-block-E9qfY7W7.js +1 -0
  348. package/dist/showcase/assets/date-picker-I8BdaiiU.js +1 -0
  349. package/dist/showcase/assets/date-pickers-BLJaqhcS.js +73 -0
  350. package/dist/showcase/assets/dense-info-Bk1K_7Ww.js +106 -0
  351. package/dist/showcase/assets/dialog-BuatDnQ9.js +1 -0
  352. package/dist/showcase/assets/dialog-DCx-LydW.js +1 -0
  353. package/dist/showcase/assets/display-Bt7busw5.js +403 -0
  354. package/dist/showcase/assets/dist-BPyBHOXU.js +45 -0
  355. package/dist/showcase/assets/dollar-sign-qXQSS6Gh.js +1 -0
  356. package/dist/showcase/assets/download-B2JAmHmJ.js +1 -0
  357. package/dist/showcase/assets/dropdown-menu-DXT3BZLa.js +1 -0
  358. package/dist/showcase/assets/dropzone-BKIxDJNy.js +1 -0
  359. package/dist/showcase/assets/earth-7-Z3Gv2v.js +1 -0
  360. package/dist/showcase/assets/ellipsis-6Krb3RRW.js +1 -0
  361. package/dist/showcase/assets/ellipsis-vertical-DeOMIw1J.js +1 -0
  362. package/dist/showcase/assets/empty-BSYKaeXQ.js +1 -0
  363. package/dist/showcase/assets/empty-item-YElgv25f.js +49 -0
  364. package/dist/showcase/assets/empty-state-D-LrvnKF.js +1 -0
  365. package/dist/showcase/assets/empty-state-dNh1GtVU.js +188 -0
  366. package/dist/showcase/assets/enhanced-activities-Bw99ItYl.js +361 -0
  367. package/dist/showcase/assets/enhanced-combobox-CqLZmU3K.js +1 -0
  368. package/dist/showcase/assets/event-calendar-CcSi7g5A.js +138 -0
  369. package/dist/showcase/assets/event-log-2uq-eYxh.js +330 -0
  370. package/dist/showcase/assets/example-CTJ8AdNR.js +1 -0
  371. package/dist/showcase/assets/external-link-D0gqSa1q.js +1 -0
  372. package/dist/showcase/assets/eye-CDMCDLei.js +1 -0
  373. package/dist/showcase/assets/feature-announcement-BlyNck35.js +34 -0
  374. package/dist/showcase/assets/file-Y5EbzufX.js +1 -0
  375. package/dist/showcase/assets/file-text-DH1mBuPi.js +1 -0
  376. package/dist/showcase/assets/filters-BtHF4GSM.js +78 -0
  377. package/dist/showcase/assets/flag-CJ08LwLY.js +1 -0
  378. package/dist/showcase/assets/folder-open-DODo2pjy.js +1 -0
  379. package/dist/showcase/assets/form-field-CHY7jh1q.js +1 -0
  380. package/dist/showcase/assets/format-DYJqAuDM.js +1 -0
  381. package/dist/showcase/assets/forms-DgvQQXHO.js +862 -0
  382. package/dist/showcase/assets/frame-CdKicP4A.js +167 -0
  383. package/dist/showcase/assets/getPseudoElementBounds-D9-Hr3mO.js +1 -0
  384. package/dist/showcase/assets/gift-DD8O7cld.js +1 -0
  385. package/dist/showcase/assets/giftcard-cards-Dp9eYodY.js +85 -0
  386. package/dist/showcase/assets/git-branch-DZq1Vo2G.js +1 -0
  387. package/dist/showcase/assets/global-search-BqDotXql.js +215 -0
  388. package/dist/showcase/assets/global-search-PH6LXqZw.js +1 -0
  389. package/dist/showcase/assets/globe-mRTwrUxM.js +1 -0
  390. package/dist/showcase/assets/gradient-card-CaL88YKv.js +58 -0
  391. package/dist/showcase/assets/hash-DuqvHQHv.js +1 -0
  392. package/dist/showcase/assets/header-CiNgDop3.js +1 -0
  393. package/dist/showcase/assets/header-notifications-B9XMBsK_.js +1 -0
  394. package/dist/showcase/assets/heart-DsGJfnDx.js +1 -0
  395. package/dist/showcase/assets/house-B504aFIP.js +1 -0
  396. package/dist/showcase/assets/icon-badge-DMNu8xb5.js +1 -0
  397. package/dist/showcase/assets/image-C3DaMxmn.js +1 -0
  398. package/dist/showcase/assets/inbox-BWKQMLMx.js +1 -0
  399. package/dist/showcase/assets/index-DaYVSqKu.js +10 -0
  400. package/dist/showcase/assets/inertValue-DrtTkMGx.js +1 -0
  401. package/dist/showcase/assets/info-_FrGoCay.js +1 -0
  402. package/dist/showcase/assets/inline-stat-BYu-tiUU.js +1 -0
  403. package/dist/showcase/assets/input-C96HMHWR.js +1 -0
  404. package/dist/showcase/assets/input-fMPi7XxI.js +1 -0
  405. package/dist/showcase/assets/input-group-BZnSgFCn.js +47 -0
  406. package/dist/showcase/assets/input-group-CVONNP3T.js +1 -0
  407. package/dist/showcase/assets/inputs-Blh0LJ8-.js +155 -0
  408. package/dist/showcase/assets/invoice-header-Bpo4iwX3.js +36 -0
  409. package/dist/showcase/assets/invoice-items-OVIrbG0k.js +36 -0
  410. package/dist/showcase/assets/invoice-mini-CaOMTiUO.js +14 -0
  411. package/dist/showcase/assets/invoice-table-BXd_HhUg.js +30 -0
  412. package/dist/showcase/assets/isSameDay-NBVO9AKF.js +1 -0
  413. package/dist/showcase/assets/isToday-Bk5HMXWn.js +1 -0
  414. package/dist/showcase/assets/italic-BOv5bW4H.js +1 -0
  415. package/dist/showcase/assets/item-B4rdcVVp.js +134 -0
  416. package/dist/showcase/assets/item-BVt0zZ12.js +1 -0
  417. package/dist/showcase/assets/item-C4Xk3DC1.js +1 -0
  418. package/dist/showcase/assets/kanban-BXbelelR.js +186 -0
  419. package/dist/showcase/assets/label-Cv6wotdv.js +1 -0
  420. package/dist/showcase/assets/languages-BofyvcCF.js +1 -0
  421. package/dist/showcase/assets/layers-DJK0t5px.js +1 -0
  422. package/dist/showcase/assets/layout-app-shell-D_yMonSl.js +608 -0
  423. package/dist/showcase/assets/layout-auth-BTvSTwUz.js +754 -0
  424. package/dist/showcase/assets/layout-containers-PMuo__2O.js +101 -0
  425. package/dist/showcase/assets/layout-header-DQ3zeCHz.js +170 -0
  426. package/dist/showcase/assets/layout-page-CbvWdHrK.js +122 -0
  427. package/dist/showcase/assets/layout-primitives-6nsFFIdE.js +34 -0
  428. package/dist/showcase/assets/layout-sidebar-CKqeVCSY.js +224 -0
  429. package/dist/showcase/assets/layout-users-Cypq-42s.js +117 -0
  430. package/dist/showcase/assets/layout-workspace-DiRR8vDv.js +183 -0
  431. package/dist/showcase/assets/lock-DXmvLEEx.js +1 -0
  432. package/dist/showcase/assets/lock-keyhole-Cu6M-jjE.js +1 -0
  433. package/dist/showcase/assets/mail-CXVFHkzh.js +1 -0
  434. package/dist/showcase/assets/mail-check-BNEu3j2a.js +1 -0
  435. package/dist/showcase/assets/map-DnE1pFCQ.js +124 -0
  436. package/dist/showcase/assets/map-pin-CpOVa8IH.js +1 -0
  437. package/dist/showcase/assets/media-library-C-KfEvm4.js +695 -0
  438. package/dist/showcase/assets/mention-inline-suggestions-DlmslsfR.js +1 -0
  439. package/dist/showcase/assets/mentions-C8ZdNFuC.js +138 -0
  440. package/dist/showcase/assets/menus-B8yUL75K.js +165 -0
  441. package/dist/showcase/assets/message-square-DNOTaOFs.js +1 -0
  442. package/dist/showcase/assets/metadata-list-BQAanxM-.js +1 -0
  443. package/dist/showcase/assets/metadata-list-DL9qgDAp.js +288 -0
  444. package/dist/showcase/assets/metric-CYi09Ltx.js +1 -0
  445. package/dist/showcase/assets/metric-bar-CQH1z8T3.js +1 -0
  446. package/dist/showcase/assets/metric-grid-H1ixqMCI.js +1 -0
  447. package/dist/showcase/assets/metric-trend-chip-BBzWzFZ-.js +1 -0
  448. package/dist/showcase/assets/metrics-analytics-bar-C7Z2ITl4.js +44 -0
  449. package/dist/showcase/assets/metrics-analytics-cards-CZZSWiMn.js +50 -0
  450. package/dist/showcase/assets/metrics-comparison-BPqz8k30.js +76 -0
  451. package/dist/showcase/assets/metrics-heatmap-C3NYZAfx.js +27 -0
  452. package/dist/showcase/assets/metrics-inline-badge-RjHfm7um.js +17 -0
  453. package/dist/showcase/assets/metrics-kpi-row-DnBjyDH4.js +31 -0
  454. package/dist/showcase/assets/metrics-micro-grid-CKn405qb.js +42 -0
  455. package/dist/showcase/assets/metrics-overview-D8YGtdrh.js +192 -0
  456. package/dist/showcase/assets/metrics-stat-cards-Dxh6cAha.js +54 -0
  457. package/dist/showcase/assets/minus-20OTSSxf.js +1 -0
  458. package/dist/showcase/assets/money-display-BoiAMxH8.js +1 -0
  459. package/dist/showcase/assets/month-year-picker-Bl59Ygq9.js +1 -0
  460. package/dist/showcase/assets/navigation-B8d2CDU6.js +90 -0
  461. package/dist/showcase/assets/navigation-D16JX3kL.js +230 -0
  462. package/dist/showcase/assets/navigation-extras-Dm83uT6i.js +43 -0
  463. package/dist/showcase/assets/onboarding-checklist-DznDpP9M.js +119 -0
  464. package/dist/showcase/assets/overlays-CzlSqbFz.js +408 -0
  465. package/dist/showcase/assets/overlays-DUFqbkb9.js +159 -0
  466. package/dist/showcase/assets/package-BCXIwEPz.js +1 -0
  467. package/dist/showcase/assets/package-check-Ol-Cw3j-.js +1 -0
  468. package/dist/showcase/assets/page-action-button-DpzdSYvw.js +1 -0
  469. package/dist/showcase/assets/page-header-B_b7SqW8.js +1 -0
  470. package/dist/showcase/assets/pagination-BPDQo9Dl.js +1 -0
  471. package/dist/showcase/assets/pagination-PvkEX0qs.js +42 -0
  472. package/dist/showcase/assets/paperclip-CznEsmLN.js +1 -0
  473. package/dist/showcase/assets/password-input-CWMY5q3b.js +1 -0
  474. package/dist/showcase/assets/pencil-Cl9qi90g.js +1 -0
  475. package/dist/showcase/assets/phone-DbvK_QQJ.js +1 -0
  476. package/dist/showcase/assets/plus-CO8t66Yo.js +1 -0
  477. package/dist/showcase/assets/popover-3QIVx9lU.js +1 -0
  478. package/dist/showcase/assets/popover-Cyg9oYIU.js +1 -0
  479. package/dist/showcase/assets/popover-menu-DJPHeIL1.js +1 -0
  480. package/dist/showcase/assets/products-WsU-qdMz.js +407 -0
  481. package/dist/showcase/assets/progress-C61sf-qt.js +1 -0
  482. package/dist/showcase/assets/progress-PvTl8Fgf.js +18 -0
  483. package/dist/showcase/assets/props-table-C8la6vcG.js +1 -0
  484. package/dist/showcase/assets/props.generated-vFrhDrth.json +38618 -0
  485. package/dist/showcase/assets/quote-N1_lRDnX.js +1 -0
  486. package/dist/showcase/assets/receipt-C6a_WyLu.js +1 -0
  487. package/dist/showcase/assets/receipt-text-CDOh8FAv.js +1 -0
  488. package/dist/showcase/assets/refresh-cw-D4-ECZ1x.js +1 -0
  489. package/dist/showcase/assets/resolveValueLabel-DqAP3zJd.js +1 -0
  490. package/dist/showcase/assets/rich-text-editor-CU0IZpwV.js +143 -0
  491. package/dist/showcase/assets/rich-text-editor-DCU7mMoO.js +124 -0
  492. package/dist/showcase/assets/rotate-ccw-Dd5zEmr7.js +1 -0
  493. package/dist/showcase/assets/save-DDmFSQli.js +1 -0
  494. package/dist/showcase/assets/schema-form-B7naqMvv.js +325 -0
  495. package/dist/showcase/assets/scroll-area-CdaYm4UK.js +32 -0
  496. package/dist/showcase/assets/scroll-area-DwWSHYHB.js +1 -0
  497. package/dist/showcase/assets/select-CNzpb5ug.js +1 -0
  498. package/dist/showcase/assets/select-DBXZ_Wzf.js +1 -0
  499. package/dist/showcase/assets/send-eDm7YMmA.js +1 -0
  500. package/dist/showcase/assets/separator-4IC9ED7s.js +1 -0
  501. package/dist/showcase/assets/separator-DPGDsZpG.js +28 -0
  502. package/dist/showcase/assets/settings-IANZGo2i.js +1 -0
  503. package/dist/showcase/assets/sheet-2oCce5ae.js +1 -0
  504. package/dist/showcase/assets/shield-CDZhhvFW.js +1 -0
  505. package/dist/showcase/assets/shield-alert-5hL3sdf3.js +1 -0
  506. package/dist/showcase/assets/shield-check-CaO2dhVS.js +1 -0
  507. package/dist/showcase/assets/shopping-bag-Bt3iK-Bv.js +1 -0
  508. package/dist/showcase/assets/sidebar-Cds60-PS.js +1 -0
  509. package/dist/showcase/assets/sidebar.context-CdH_DH9M.js +1 -0
  510. package/dist/showcase/assets/skeleton-2HajJKO4.js +29 -0
  511. package/dist/showcase/assets/skeleton-CGEJwPdD.js +1 -0
  512. package/dist/showcase/assets/slider-BjQViBR0.js +1 -0
  513. package/dist/showcase/assets/sliders-horizontal-C3JH5WQu.js +1 -0
  514. package/dist/showcase/assets/smart-card-CHouYi8U.js +1 -0
  515. package/dist/showcase/assets/sonner-Cog559j7.js +22 -0
  516. package/dist/showcase/assets/sortable.esm-hUEKsxpQ.js +5 -0
  517. package/dist/showcase/assets/sparkles-B18eTHVN.js +1 -0
  518. package/dist/showcase/assets/spinner-BSI97i4D.js +1 -0
  519. package/dist/showcase/assets/spinner-D0WhVyye.js +30 -0
  520. package/dist/showcase/assets/spinner-DQmJ7k9y.js +49 -0
  521. package/dist/showcase/assets/square-pen-CLyDWdhj.js +1 -0
  522. package/dist/showcase/assets/stacked-avatars-ECnU27uV.js +1 -0
  523. package/dist/showcase/assets/star-C3mhkpSK.js +1 -0
  524. package/dist/showcase/assets/startOfDay-ECIxhJGC.js +1 -0
  525. package/dist/showcase/assets/styles-CDD7mDye.js +1 -0
  526. package/dist/showcase/assets/suggestions-DOW6NBJp.js +126 -0
  527. package/dist/showcase/assets/switch-D59YKmf6.js +1 -0
  528. package/dist/showcase/assets/switch-NICmdoPn.js +1 -0
  529. package/dist/showcase/assets/sync-B8nBZXQ9.js +107 -0
  530. package/dist/showcase/assets/table-CckompuR.js +382 -0
  531. package/dist/showcase/assets/table-DtA4-Q0p.js +1 -0
  532. package/dist/showcase/assets/table-actions-DdoPJTMy.js +1 -0
  533. package/dist/showcase/assets/tabs-BrC_HxL_.js +1 -0
  534. package/dist/showcase/assets/tabs-UVxr80vY.js +19 -0
  535. package/dist/showcase/assets/tags-input-iDfvhzZD.js +1 -0
  536. package/dist/showcase/assets/text-button-DHFCLCoc.js +1 -0
  537. package/dist/showcase/assets/text-link-nCLLDcS_.js +1 -0
  538. package/dist/showcase/assets/textarea-DsSuQHQY.js +1 -0
  539. package/dist/showcase/assets/textarea-DyGI3Kcn.js +1 -0
  540. package/dist/showcase/assets/timelines-JmMcH657.js +200 -0
  541. package/dist/showcase/assets/toggle-group-BZKzMmC8.js +1 -0
  542. package/dist/showcase/assets/toggles-BSJvy4Tw.js +71 -0
  543. package/dist/showcase/assets/toggles-group-Bsc6eaWw.js +32 -0
  544. package/dist/showcase/assets/trash-2-C9AC7Pcv.js +1 -0
  545. package/dist/showcase/assets/trending-up-CGaDZj0S.js +1 -0
  546. package/dist/showcase/assets/truck-Dq6heokm.js +1 -0
  547. package/dist/showcase/assets/typography-ByvwR6Kg.js +223 -0
  548. package/dist/showcase/assets/ui-badge-BYgJSE_w.js +28 -0
  549. package/dist/showcase/assets/ui-card-BdueUfow.js +30 -0
  550. package/dist/showcase/assets/ui-table-CxtCQUsg.js +42 -0
  551. package/dist/showcase/assets/upload-tray-DKJ8nFZp.js +138 -0
  552. package/dist/showcase/assets/use-layout-link-CGBQHZon.js +1 -0
  553. package/dist/showcase/assets/useAnchoredPopupScrollLock-CywAbxVB.js +1 -0
  554. package/dist/showcase/assets/useAriaLabelledBy-B2bZzE7D.js +1 -0
  555. package/dist/showcase/assets/useCollapsiblePanel-SLdY_s6S.js +1 -0
  556. package/dist/showcase/assets/useCompositeItem-g6aCBp84.js +1 -0
  557. package/dist/showcase/assets/useCompositeListItem-DK0Tpege.js +1 -0
  558. package/dist/showcase/assets/useLabelableId-hdKzFCp2.js +1 -0
  559. package/dist/showcase/assets/useOpenInteractionType-CnhifZ1E.js +1 -0
  560. package/dist/showcase/assets/useRender-QhawWhpb.js +1 -0
  561. package/dist/showcase/assets/useTriggerFocusGuards-Cht7Sa7e.js +1 -0
  562. package/dist/showcase/assets/useValueChanged-DURO1kfZ.js +1 -0
  563. package/dist/showcase/assets/user-plus-DbOuTfr7.js +1 -0
  564. package/dist/showcase/assets/user-u65Fo7k7.js +1 -0
  565. package/dist/showcase/assets/users-BUb7CmVp.js +1 -0
  566. package/dist/showcase/assets/vendor-profile-wfI3PBuO.js +37 -0
  567. package/dist/showcase/assets/video-e4hDbTQ2.js +1 -0
  568. package/dist/showcase/assets/wrench-CBUvtxdr.js +1 -0
  569. package/dist/showcase/assets/x-oVTJnCJn.js +1 -0
  570. package/dist/showcase/assets/zap-CzABYL3c.js +1 -0
  571. package/dist/showcase/index.html +1 -1
  572. package/package.json +11 -3
  573. package/scripts/README.md +24 -0
  574. package/scripts/metadata.json +325 -0
  575. package/dist/_shared/accordion-BWU7zxlO.cjs +0 -2
  576. package/dist/_shared/accordion-BWU7zxlO.cjs.map +0 -1
  577. package/dist/_shared/accordion-DTYKGqWD.js +0 -130
  578. package/dist/_shared/accordion-DTYKGqWD.js.map +0 -1
  579. package/dist/_shared/action-menu-BoQnI2UF.cjs +0 -2
  580. package/dist/_shared/action-menu-BoQnI2UF.cjs.map +0 -1
  581. package/dist/_shared/action-menu-uyg1Phsn.js +0 -96
  582. package/dist/_shared/action-menu-uyg1Phsn.js.map +0 -1
  583. package/dist/_shared/ai-artifact-CY1Jf9gM.cjs +0 -3
  584. package/dist/_shared/ai-artifact-CY1Jf9gM.cjs.map +0 -1
  585. package/dist/_shared/ai-artifact-DdlK_l56.js +0 -1099
  586. package/dist/_shared/ai-artifact-DdlK_l56.js.map +0 -1
  587. package/dist/_shared/auth-CDjZFJxy.cjs +0 -2
  588. package/dist/_shared/auth-CDjZFJxy.cjs.map +0 -1
  589. package/dist/_shared/auth-_udUdWtn.js +0 -643
  590. package/dist/_shared/auth-_udUdWtn.js.map +0 -1
  591. package/dist/_shared/badge--o9wFHB_.cjs +0 -2
  592. package/dist/_shared/badge--o9wFHB_.cjs.map +0 -1
  593. package/dist/_shared/badge-yGlx9trX.js +0 -108
  594. package/dist/_shared/badge-yGlx9trX.js.map +0 -1
  595. package/dist/_shared/button-683R5quQ.js +0 -46
  596. package/dist/_shared/button-683R5quQ.js.map +0 -1
  597. package/dist/_shared/button-C1qc97U1.cjs +0 -2
  598. package/dist/_shared/button-C1qc97U1.cjs.map +0 -1
  599. package/dist/_shared/button-CjZrRLzR.cjs +0 -2
  600. package/dist/_shared/button-CjZrRLzR.cjs.map +0 -1
  601. package/dist/_shared/button-SuocMQFT.js +0 -173
  602. package/dist/_shared/button-SuocMQFT.js.map +0 -1
  603. package/dist/_shared/buttons-9YBwevkP.cjs +0 -2
  604. package/dist/_shared/buttons-9YBwevkP.cjs.map +0 -1
  605. package/dist/_shared/buttons-BR4BGVYf.js +0 -143
  606. package/dist/_shared/buttons-BR4BGVYf.js.map +0 -1
  607. package/dist/_shared/combobox-CpSmiPV8.cjs +0 -2
  608. package/dist/_shared/combobox-CpSmiPV8.cjs.map +0 -1
  609. package/dist/_shared/combobox-D01JwyFZ.js +0 -810
  610. package/dist/_shared/combobox-D01JwyFZ.js.map +0 -1
  611. package/dist/_shared/comments-D9velZAW.js +0 -952
  612. package/dist/_shared/comments-D9velZAW.js.map +0 -1
  613. package/dist/_shared/comments-DyUAKSQu.cjs +0 -2
  614. package/dist/_shared/comments-DyUAKSQu.cjs.map +0 -1
  615. package/dist/_shared/date-picker-BnsvBFOZ.cjs +0 -2
  616. package/dist/_shared/date-picker-BnsvBFOZ.cjs.map +0 -1
  617. package/dist/_shared/date-picker-TMcjGO26.js +0 -1361
  618. package/dist/_shared/date-picker-TMcjGO26.js.map +0 -1
  619. package/dist/_shared/date-pickers-BI4xLjHR.js +0 -330
  620. package/dist/_shared/date-pickers-BI4xLjHR.js.map +0 -1
  621. package/dist/_shared/date-pickers-BhaUK5S2.cjs +0 -2
  622. package/dist/_shared/date-pickers-BhaUK5S2.cjs.map +0 -1
  623. package/dist/_shared/dialog-A95-614f.js +0 -101
  624. package/dist/_shared/dialog-A95-614f.js.map +0 -1
  625. package/dist/_shared/dialog-ivDByBmO.cjs +0 -2
  626. package/dist/_shared/dialog-ivDByBmO.cjs.map +0 -1
  627. package/dist/_shared/display-C4n0uuxl.js +0 -1154
  628. package/dist/_shared/display-C4n0uuxl.js.map +0 -1
  629. package/dist/_shared/display-oDW0O9yB.cjs +0 -2
  630. package/dist/_shared/display-oDW0O9yB.cjs.map +0 -1
  631. package/dist/_shared/forms-CwJci54_.js +0 -3430
  632. package/dist/_shared/forms-CwJci54_.js.map +0 -1
  633. package/dist/_shared/forms-E3JkTgcC.cjs +0 -2
  634. package/dist/_shared/forms-E3JkTgcC.cjs.map +0 -1
  635. package/dist/_shared/header-CyBTcM-L.js +0 -360
  636. package/dist/_shared/header-CyBTcM-L.js.map +0 -1
  637. package/dist/_shared/header-kwvkesfq.cjs +0 -2
  638. package/dist/_shared/header-kwvkesfq.cjs.map +0 -1
  639. package/dist/_shared/hooks-MW0UTO3q.cjs +0 -2
  640. package/dist/_shared/hooks-MW0UTO3q.cjs.map +0 -1
  641. package/dist/_shared/hooks-ZiPIvs0_.js +0 -118
  642. package/dist/_shared/hooks-ZiPIvs0_.js.map +0 -1
  643. package/dist/_shared/mentions-Br-EP9tq.js +0 -506
  644. package/dist/_shared/mentions-Br-EP9tq.js.map +0 -1
  645. package/dist/_shared/mentions-DNTsRHJl.cjs +0 -2
  646. package/dist/_shared/mentions-DNTsRHJl.cjs.map +0 -1
  647. package/dist/_shared/metadata-CPSQGPJh.cjs +0 -2
  648. package/dist/_shared/metadata-CPSQGPJh.cjs.map +0 -1
  649. package/dist/_shared/metadata-qTNAOM7E.js +0 -235
  650. package/dist/_shared/metadata-qTNAOM7E.js.map +0 -1
  651. package/dist/_shared/navigation-HnnA6uSV.js +0 -419
  652. package/dist/_shared/navigation-HnnA6uSV.js.map +0 -1
  653. package/dist/_shared/navigation-J2g0Tw9D.cjs +0 -2
  654. package/dist/_shared/navigation-J2g0Tw9D.cjs.map +0 -1
  655. package/dist/_shared/overlays-CIeniDjj.js +0 -639
  656. package/dist/_shared/overlays-CIeniDjj.js.map +0 -1
  657. package/dist/_shared/overlays-Xc_F_Y-E.cjs +0 -2
  658. package/dist/_shared/overlays-Xc_F_Y-E.cjs.map +0 -1
  659. package/dist/_shared/page-BFV-KE8H.js +0 -262
  660. package/dist/_shared/page-BFV-KE8H.js.map +0 -1
  661. package/dist/_shared/page-UJfWfw2R.cjs +0 -2
  662. package/dist/_shared/page-UJfWfw2R.cjs.map +0 -1
  663. package/dist/_shared/rich-text-editor-B6WKHUKC.js +0 -620
  664. package/dist/_shared/rich-text-editor-B6WKHUKC.js.map +0 -1
  665. package/dist/_shared/rich-text-editor-Dm-6r_xe.cjs +0 -2
  666. package/dist/_shared/rich-text-editor-Dm-6r_xe.cjs.map +0 -1
  667. package/dist/_shared/sheet-BKEfwhCn.js +0 -100
  668. package/dist/_shared/sheet-BKEfwhCn.js.map +0 -1
  669. package/dist/_shared/sheet-D4yWgkwC.cjs +0 -2
  670. package/dist/_shared/sheet-D4yWgkwC.cjs.map +0 -1
  671. package/dist/_shared/sidebar-B_L_dnAe.cjs +0 -2
  672. package/dist/_shared/sidebar-B_L_dnAe.cjs.map +0 -1
  673. package/dist/_shared/sidebar-C5DApiDy.js +0 -389
  674. package/dist/_shared/sidebar-C5DApiDy.js.map +0 -1
  675. package/dist/_shared/sidebar-CIlGkVbF.js +0 -538
  676. package/dist/_shared/sidebar-CIlGkVbF.js.map +0 -1
  677. package/dist/_shared/sidebar-D3sK9otF.cjs +0 -2
  678. package/dist/_shared/sidebar-D3sK9otF.cjs.map +0 -1
  679. package/dist/_shared/smart-card-DYZGY_Su.js +0 -361
  680. package/dist/_shared/smart-card-DYZGY_Su.js.map +0 -1
  681. package/dist/_shared/smart-card-Df80VF8x.cjs +0 -2
  682. package/dist/_shared/smart-card-Df80VF8x.cjs.map +0 -1
  683. package/dist/_shared/table-CBKDA7ZE.js +0 -1189
  684. package/dist/_shared/table-CBKDA7ZE.js.map +0 -1
  685. package/dist/_shared/table-CJoxRCWy.cjs +0 -2
  686. package/dist/_shared/table-CJoxRCWy.cjs.map +0 -1
  687. package/dist/_shared/workspace-CTjIGCE0.cjs +0 -2
  688. package/dist/_shared/workspace-CTjIGCE0.cjs.map +0 -1
  689. package/dist/_shared/workspace-WgJgiSUA.js +0 -357
  690. package/dist/_shared/workspace-WgJgiSUA.js.map +0 -1
  691. package/dist/showcase/assets/AreaChart-BkAbL-UV.js +0 -6
  692. package/dist/showcase/assets/CompositeItem-Dzu0MfUC.js +0 -1
  693. package/dist/showcase/assets/CompositeRoot-CQvQ_uj2.js +0 -1
  694. package/dist/showcase/assets/DialogTrigger-BxVhSw4D.js +0 -1
  695. package/dist/showcase/assets/LabelableContext-DapqaNeY.js +0 -1
  696. package/dist/showcase/assets/PreviewLayout-CGEkbS-i.js +0 -1
  697. package/dist/showcase/assets/RadioGroup-DBA3iBQw.js +0 -1
  698. package/dist/showcase/assets/Separator-BEMr82IS.js +0 -1
  699. package/dist/showcase/assets/ToolbarRootContext-xN-ruoGR.js +0 -1
  700. package/dist/showcase/assets/accordion-B-Iy0jKu.js +0 -171
  701. package/dist/showcase/assets/accordion-variants-B9GD0oBE.js +0 -1
  702. package/dist/showcase/assets/action-menu-CMUF6gPp.js +0 -1
  703. package/dist/showcase/assets/activities-C1P9bsJm.js +0 -501
  704. package/dist/showcase/assets/activities-feed-card-WZUuGHmT.js +0 -1
  705. package/dist/showcase/assets/activity-BVP5C805.js +0 -1
  706. package/dist/showcase/assets/admin-DWOK4sj4.js +0 -80
  707. package/dist/showcase/assets/ai-Dteb3y6G.js +0 -41
  708. package/dist/showcase/assets/ai-artifact-B0d7GveY.js +0 -2
  709. package/dist/showcase/assets/ai-chat-IJ0b2FOw.js +0 -568
  710. package/dist/showcase/assets/ai-elements-Cr8GgtEV.js +0 -387
  711. package/dist/showcase/assets/ai-new-BJN9wNvX.js +0 -167
  712. package/dist/showcase/assets/ai-tool-call-BqlQuR1P.js +0 -1
  713. package/dist/showcase/assets/alert-2_0J7Vv6.js +0 -1
  714. package/dist/showcase/assets/alert-7wEOpEor.js +0 -93
  715. package/dist/showcase/assets/alert-C_FOBilU.js +0 -62
  716. package/dist/showcase/assets/api-key-list-CGV1k52v.js +0 -73
  717. package/dist/showcase/assets/app-sidebar-S6oUYO4h.js +0 -1
  718. package/dist/showcase/assets/arrow-down-VNr82bS3.js +0 -1
  719. package/dist/showcase/assets/arrow-left-BSVeKWNq.js +0 -1
  720. package/dist/showcase/assets/arrow-right-D6hTB0Bd.js +0 -1
  721. package/dist/showcase/assets/arrow-up-p9oA4cIz.js +0 -1
  722. package/dist/showcase/assets/arrow-up-right-BtlQ62bc.js +0 -1
  723. package/dist/showcase/assets/avatar-BxcQUuh0.js +0 -57
  724. package/dist/showcase/assets/avatar-LGWm52rv.js +0 -1
  725. package/dist/showcase/assets/badge-COn5psy3.js +0 -28
  726. package/dist/showcase/assets/badge-check-D2C2BPUT.js +0 -1
  727. package/dist/showcase/assets/bell-C80n9VRl.js +0 -1
  728. package/dist/showcase/assets/bot-C83bUUi9.js +0 -1
  729. package/dist/showcase/assets/box-rZ0pA-02.js +0 -1
  730. package/dist/showcase/assets/brain-BJtktdVu.js +0 -1
  731. package/dist/showcase/assets/brand-CxdIBpyJ.js +0 -36
  732. package/dist/showcase/assets/breadcrumb-BZsr_A8k.js +0 -1
  733. package/dist/showcase/assets/breadcrumb-CSU8FvWB.js +0 -52
  734. package/dist/showcase/assets/breadcrumbs-BUm4gHzL.js +0 -1
  735. package/dist/showcase/assets/briefcase-0WhUdLn5.js +0 -1
  736. package/dist/showcase/assets/building-2-1D6zVdCI.js +0 -1
  737. package/dist/showcase/assets/button-C22Gs6y0.js +0 -44
  738. package/dist/showcase/assets/button-group-C0Ts4-x3.js +0 -1
  739. package/dist/showcase/assets/buttons-Dfn6hmwe.js +0 -270
  740. package/dist/showcase/assets/calendar-7a4yQlzJ.js +0 -1
  741. package/dist/showcase/assets/calendar-Bo17POsN.js +0 -1
  742. package/dist/showcase/assets/calendar-D6XNDRVQ.js +0 -16
  743. package/dist/showcase/assets/calendar-days-C4mG2tOe.js +0 -1
  744. package/dist/showcase/assets/camera-C16z6v0m.js +0 -1
  745. package/dist/showcase/assets/card-BjqRQxxz.js +0 -1
  746. package/dist/showcase/assets/card-IzYmUTpI.js +0 -188
  747. package/dist/showcase/assets/card-primitives-BDj4DtS8.js +0 -1
  748. package/dist/showcase/assets/card-radio-group-7GU9AtWs.js +0 -1
  749. package/dist/showcase/assets/cards-DAqpr8CM.js +0 -328
  750. package/dist/showcase/assets/carousel-D1n4Kkoo.js +0 -449
  751. package/dist/showcase/assets/chart-D2EGeI3b.js +0 -358
  752. package/dist/showcase/assets/chart-column-DKcP77Dx.js +0 -1
  753. package/dist/showcase/assets/checkbox-BI3gcjED.js +0 -1
  754. package/dist/showcase/assets/chevron-down-ByPPEdNm.js +0 -1
  755. package/dist/showcase/assets/chevron-left-BNByuq3g.js +0 -1
  756. package/dist/showcase/assets/chevron-right-D4pIMCh9.js +0 -1
  757. package/dist/showcase/assets/chevron-up-Cha879Nz.js +0 -1
  758. package/dist/showcase/assets/chevrons-up-down-eAgHau5X.js +0 -1
  759. package/dist/showcase/assets/circle-V5hdlsIn.js +0 -1
  760. package/dist/showcase/assets/circle-alert-BW-Btwgh.js +0 -1
  761. package/dist/showcase/assets/circle-check-1MSds3Vu.js +0 -1
  762. package/dist/showcase/assets/circle-check-big-vBWkmhCZ.js +0 -1
  763. package/dist/showcase/assets/circle-dot-CsD5uXwH.js +0 -1
  764. package/dist/showcase/assets/circle-question-mark-xYn9p1nL.js +0 -1
  765. package/dist/showcase/assets/circle-x-VSqZOeGt.js +0 -1
  766. package/dist/showcase/assets/clock-3-CP_t59kW.js +0 -1
  767. package/dist/showcase/assets/clock-9xbB7EnW.js +0 -1
  768. package/dist/showcase/assets/code-xml-CeGA85eB.js +0 -1
  769. package/dist/showcase/assets/collapsible-C2W51-wl.js +0 -27
  770. package/dist/showcase/assets/collapsible-C4eof15p.js +0 -1
  771. package/dist/showcase/assets/combobox-i8o4u6Q0.js +0 -696
  772. package/dist/showcase/assets/command-C4F78Ppy.js +0 -1
  773. package/dist/showcase/assets/command-wjOXUieO.js +0 -1
  774. package/dist/showcase/assets/comment-composer-DeURrlgL.js +0 -1
  775. package/dist/showcase/assets/comment-item-D07Qk-Nt.js +0 -1
  776. package/dist/showcase/assets/comments-Bo-lZU18.js +0 -357
  777. package/dist/showcase/assets/commerce-extras-Cio3xn_B.js +0 -189
  778. package/dist/showcase/assets/commerce-jqA58sCZ.js +0 -79
  779. package/dist/showcase/assets/composite-BQFpnmS9.js +0 -1
  780. package/dist/showcase/assets/contact-card-4ajPhcd_.js +0 -65
  781. package/dist/showcase/assets/content-container-B83BnjFb.js +0 -1
  782. package/dist/showcase/assets/copyable-DKkroGJ3.js +0 -96
  783. package/dist/showcase/assets/course-card-DShYl03k.js +0 -77
  784. package/dist/showcase/assets/cpu-BZTsuaUu.js +0 -1
  785. package/dist/showcase/assets/credit-card-CAI3F3HB.js +0 -1
  786. package/dist/showcase/assets/currency-PXgbngHk.js +0 -149
  787. package/dist/showcase/assets/dark-surfaces-pSCicdm4.js +0 -90
  788. package/dist/showcase/assets/database-oHsxHUj-.js +0 -1
  789. package/dist/showcase/assets/date-block-CvCdJr8d.js +0 -1
  790. package/dist/showcase/assets/date-picker-Cd5vsEEd.js +0 -1
  791. package/dist/showcase/assets/date-pickers-CBK-zvSB.js +0 -73
  792. package/dist/showcase/assets/dense-info-zOdJpez6.js +0 -106
  793. package/dist/showcase/assets/dialog-D9-MRCRg.js +0 -1
  794. package/dist/showcase/assets/dialog-EDw9DvZs.js +0 -1
  795. package/dist/showcase/assets/display-CE9JWinr.js +0 -403
  796. package/dist/showcase/assets/dist-CjZ6RM9v.js +0 -45
  797. package/dist/showcase/assets/dollar-sign-BXD_x2mP.js +0 -1
  798. package/dist/showcase/assets/download-D0ur_d_N.js +0 -1
  799. package/dist/showcase/assets/dropdown-menu-Cto8-yDW.js +0 -1
  800. package/dist/showcase/assets/dropzone-9Gb4mR4x.js +0 -1
  801. package/dist/showcase/assets/earth-BN1w3w7h.js +0 -1
  802. package/dist/showcase/assets/ellipsis-DsrebD1Y.js +0 -1
  803. package/dist/showcase/assets/ellipsis-vertical-CAiMV7G2.js +0 -1
  804. package/dist/showcase/assets/empty-DoJF3uif.js +0 -1
  805. package/dist/showcase/assets/empty-item-zZ85qI6s.js +0 -49
  806. package/dist/showcase/assets/empty-state-CGfB7sOE.js +0 -1
  807. package/dist/showcase/assets/empty-state-Y_4qnNWt.js +0 -188
  808. package/dist/showcase/assets/enhanced-activities-B41hAxhb.js +0 -361
  809. package/dist/showcase/assets/enhanced-combobox-BOimEW-1.js +0 -1
  810. package/dist/showcase/assets/event-calendar-BjcfC6fM.js +0 -138
  811. package/dist/showcase/assets/event-log-BhoMXcix.js +0 -330
  812. package/dist/showcase/assets/example-Cz_880po.js +0 -1
  813. package/dist/showcase/assets/external-link-Cy1-PP8k.js +0 -1
  814. package/dist/showcase/assets/eye-C85PNNdH.js +0 -1
  815. package/dist/showcase/assets/feature-announcement-_tpahla3.js +0 -34
  816. package/dist/showcase/assets/file-C8PCBEtY.js +0 -1
  817. package/dist/showcase/assets/file-text-DwqbUujq.js +0 -1
  818. package/dist/showcase/assets/filters-ChqGg_1z.js +0 -78
  819. package/dist/showcase/assets/flag-csHQcBml.js +0 -1
  820. package/dist/showcase/assets/folder-open-BThTng3d.js +0 -1
  821. package/dist/showcase/assets/form-field-B5g_5Zjm.js +0 -1
  822. package/dist/showcase/assets/format-DrTwpH65.js +0 -1
  823. package/dist/showcase/assets/forms-BukyUSKs.js +0 -862
  824. package/dist/showcase/assets/frame-BNKhZVlb.js +0 -167
  825. package/dist/showcase/assets/getPseudoElementBounds-DwyQgIj-.js +0 -1
  826. package/dist/showcase/assets/gift-CtM--bDo.js +0 -1
  827. package/dist/showcase/assets/giftcard-cards-imm4Br0H.js +0 -85
  828. package/dist/showcase/assets/git-branch-Dl3AzbqP.js +0 -1
  829. package/dist/showcase/assets/global-search-Bhl7z_vN.js +0 -1
  830. package/dist/showcase/assets/global-search-C4yaPFSW.js +0 -215
  831. package/dist/showcase/assets/globe-BCikLfKc.js +0 -1
  832. package/dist/showcase/assets/gradient-card-Dh_5ZYv0.js +0 -58
  833. package/dist/showcase/assets/hash-C8m0EECO.js +0 -1
  834. package/dist/showcase/assets/header-BXjw7Lm_.js +0 -1
  835. package/dist/showcase/assets/header-notifications-CShSQ8kR.js +0 -1
  836. package/dist/showcase/assets/heart-BJVBFZ-j.js +0 -1
  837. package/dist/showcase/assets/house-C3fXPhlL.js +0 -1
  838. package/dist/showcase/assets/icon-badge-dwVx3Hxf.js +0 -1
  839. package/dist/showcase/assets/image-gc4qX_7C.js +0 -1
  840. package/dist/showcase/assets/inbox-C0GJ1KEC.js +0 -1
  841. package/dist/showcase/assets/index-BQIv1ffM.js +0 -10
  842. package/dist/showcase/assets/inertValue-DeVQ2cCe.js +0 -1
  843. package/dist/showcase/assets/info-BimmreJ-.js +0 -1
  844. package/dist/showcase/assets/inline-stat-DcNP6bcO.js +0 -1
  845. package/dist/showcase/assets/input-DJAWOJEx.js +0 -1
  846. package/dist/showcase/assets/input-NIgvB9CZ.js +0 -1
  847. package/dist/showcase/assets/input-group-BmqJ20bA.js +0 -1
  848. package/dist/showcase/assets/input-group-gOUubhee.js +0 -47
  849. package/dist/showcase/assets/inputs-Dk8YOVkI.js +0 -155
  850. package/dist/showcase/assets/invoice-header-BnNpWej2.js +0 -36
  851. package/dist/showcase/assets/invoice-items-BdPmW10L.js +0 -36
  852. package/dist/showcase/assets/invoice-mini-CbSYyHIb.js +0 -14
  853. package/dist/showcase/assets/invoice-table-DjnWG3KF.js +0 -30
  854. package/dist/showcase/assets/isSameDay-B2KDl_YX.js +0 -1
  855. package/dist/showcase/assets/isToday-CXNS7ELW.js +0 -1
  856. package/dist/showcase/assets/italic-BRS-PpYL.js +0 -1
  857. package/dist/showcase/assets/item--6Hx9AXZ.js +0 -1
  858. package/dist/showcase/assets/item-BszVRzXj.js +0 -134
  859. package/dist/showcase/assets/item-YF6wMI9W.js +0 -1
  860. package/dist/showcase/assets/kanban-BWBbWLVe.js +0 -186
  861. package/dist/showcase/assets/label-BgpcD3V6.js +0 -1
  862. package/dist/showcase/assets/languages-DDgmIDFe.js +0 -1
  863. package/dist/showcase/assets/layers-nkkXRmvA.js +0 -1
  864. package/dist/showcase/assets/layout-app-shell-D3MbPoGC.js +0 -608
  865. package/dist/showcase/assets/layout-auth-DIeRtG0B.js +0 -754
  866. package/dist/showcase/assets/layout-containers-Dc3-IAgV.js +0 -101
  867. package/dist/showcase/assets/layout-header-Cg6GfMST.js +0 -170
  868. package/dist/showcase/assets/layout-page-DojPq8S6.js +0 -122
  869. package/dist/showcase/assets/layout-primitives-JBSQS72B.js +0 -34
  870. package/dist/showcase/assets/layout-sidebar-C6jUJRhx.js +0 -224
  871. package/dist/showcase/assets/layout-users-uzPscfo7.js +0 -117
  872. package/dist/showcase/assets/layout-workspace-B3leaOKl.js +0 -183
  873. package/dist/showcase/assets/lock-DLIcOBUd.js +0 -1
  874. package/dist/showcase/assets/lock-keyhole-DY6aV7Mq.js +0 -1
  875. package/dist/showcase/assets/mail-AES_tOd2.js +0 -1
  876. package/dist/showcase/assets/mail-check-dJTzg2bD.js +0 -1
  877. package/dist/showcase/assets/map-CZ2l0iGH.js +0 -124
  878. package/dist/showcase/assets/map-pin-0O7GD5Dz.js +0 -1
  879. package/dist/showcase/assets/media-library-CRllxSGQ.js +0 -695
  880. package/dist/showcase/assets/mention-inline-suggestions-Dx2Z1GHF.js +0 -1
  881. package/dist/showcase/assets/mentions-CDqqGCE4.js +0 -138
  882. package/dist/showcase/assets/menus-CDgE79I5.js +0 -165
  883. package/dist/showcase/assets/message-square-CBNI_sf8.js +0 -1
  884. package/dist/showcase/assets/metadata-list-BoEVt7cX.js +0 -1
  885. package/dist/showcase/assets/metadata-list-NtWuY9W8.js +0 -288
  886. package/dist/showcase/assets/metric-Bx_LWobe.js +0 -1
  887. package/dist/showcase/assets/metric-bar-BldYHNLQ.js +0 -1
  888. package/dist/showcase/assets/metric-grid-BDw7w7d2.js +0 -1
  889. package/dist/showcase/assets/metric-trend-chip-lSjDkUEo.js +0 -1
  890. package/dist/showcase/assets/metrics-analytics-bar-CCFhTmQZ.js +0 -44
  891. package/dist/showcase/assets/metrics-analytics-cards-C1AjZqJU.js +0 -50
  892. package/dist/showcase/assets/metrics-comparison-vEE6BtuW.js +0 -76
  893. package/dist/showcase/assets/metrics-heatmap-DKkz8ibX.js +0 -27
  894. package/dist/showcase/assets/metrics-inline-badge-CZmVnReB.js +0 -17
  895. package/dist/showcase/assets/metrics-kpi-row-s2FYIYB1.js +0 -31
  896. package/dist/showcase/assets/metrics-micro-grid-DDlCl9Ep.js +0 -42
  897. package/dist/showcase/assets/metrics-overview-BgliK2L1.js +0 -192
  898. package/dist/showcase/assets/metrics-stat-cards-Cn5sRZsB.js +0 -54
  899. package/dist/showcase/assets/minus-DByvcC8K.js +0 -1
  900. package/dist/showcase/assets/money-display-DG4IaEaA.js +0 -1
  901. package/dist/showcase/assets/month-year-picker-CVurc9L7.js +0 -1
  902. package/dist/showcase/assets/navigation-CHYgQTsY.js +0 -90
  903. package/dist/showcase/assets/navigation-C_6gS4FA.js +0 -230
  904. package/dist/showcase/assets/navigation-extras-CflOar2P.js +0 -43
  905. package/dist/showcase/assets/onboarding-checklist-CYiciKwv.js +0 -119
  906. package/dist/showcase/assets/overlays-HrH2wdTK.js +0 -408
  907. package/dist/showcase/assets/overlays-cp7VMq3b.js +0 -159
  908. package/dist/showcase/assets/package-CjcwDJKu.js +0 -1
  909. package/dist/showcase/assets/package-check-CCH3ax-x.js +0 -1
  910. package/dist/showcase/assets/page-action-button-Cn5j2_EP.js +0 -1
  911. package/dist/showcase/assets/page-header-CkvCF1MQ.js +0 -1
  912. package/dist/showcase/assets/pagination-DM5QGPo2.js +0 -42
  913. package/dist/showcase/assets/pagination-DUzHnhJ6.js +0 -1
  914. package/dist/showcase/assets/paperclip-DoqDQQVa.js +0 -1
  915. package/dist/showcase/assets/password-input-CfS4sfCl.js +0 -1
  916. package/dist/showcase/assets/pencil-C2OfFQMj.js +0 -1
  917. package/dist/showcase/assets/phone-CLvml_XI.js +0 -1
  918. package/dist/showcase/assets/plus-D5swsZCz.js +0 -1
  919. package/dist/showcase/assets/popover-menu-Bu9q96nE.js +0 -1
  920. package/dist/showcase/assets/popover-nCGXR4Yd.js +0 -1
  921. package/dist/showcase/assets/popover-xC8qczvP.js +0 -1
  922. package/dist/showcase/assets/products-BbSzEFvw.js +0 -407
  923. package/dist/showcase/assets/progress-DYfoy7pk.js +0 -1
  924. package/dist/showcase/assets/progress-ENNwjW3X.js +0 -18
  925. package/dist/showcase/assets/props-table-2pIZzGC-.js +0 -1
  926. package/dist/showcase/assets/props.generated-DggzG-JL.json +0 -38611
  927. package/dist/showcase/assets/quote-BO1bufuX.js +0 -1
  928. package/dist/showcase/assets/receipt-kIVP3kxJ.js +0 -1
  929. package/dist/showcase/assets/receipt-text-BDQIvI4l.js +0 -1
  930. package/dist/showcase/assets/refresh-cw-UdL93poQ.js +0 -1
  931. package/dist/showcase/assets/resolveValueLabel-DfiI3G4i.js +0 -1
  932. package/dist/showcase/assets/rich-text-editor-CNtfwLC2.js +0 -143
  933. package/dist/showcase/assets/rich-text-editor-DB4QWptQ.js +0 -124
  934. package/dist/showcase/assets/rotate-ccw-DQPoMfMY.js +0 -1
  935. package/dist/showcase/assets/save-Cd0ZM40i.js +0 -1
  936. package/dist/showcase/assets/schema-form-Cyc6vCVO.js +0 -325
  937. package/dist/showcase/assets/scroll-area-B5NZsDdi.js +0 -32
  938. package/dist/showcase/assets/scroll-area-BvTq99pz.js +0 -1
  939. package/dist/showcase/assets/select-BRbyPtx8.js +0 -1
  940. package/dist/showcase/assets/select-Dymyvyh6.js +0 -1
  941. package/dist/showcase/assets/send-BWzI7mwi.js +0 -1
  942. package/dist/showcase/assets/separator-BsYPzBlF.js +0 -1
  943. package/dist/showcase/assets/separator-Osp0OJ78.js +0 -28
  944. package/dist/showcase/assets/settings-DRmWJILI.js +0 -1
  945. package/dist/showcase/assets/sheet-BKsjMYMo.js +0 -1
  946. package/dist/showcase/assets/shield-D1EaWJMG.js +0 -1
  947. package/dist/showcase/assets/shield-alert-DWsbR2jn.js +0 -1
  948. package/dist/showcase/assets/shield-check-DUTAPADm.js +0 -1
  949. package/dist/showcase/assets/shopping-bag-XmeqUqk9.js +0 -1
  950. package/dist/showcase/assets/sidebar-B5uO9sUB.js +0 -1
  951. package/dist/showcase/assets/sidebar.context-CRjgeYJL.js +0 -1
  952. package/dist/showcase/assets/skeleton-BtiPkfxB.js +0 -1
  953. package/dist/showcase/assets/skeleton-DbybIpkV.js +0 -29
  954. package/dist/showcase/assets/slider-vuwVVBby.js +0 -1
  955. package/dist/showcase/assets/sliders-horizontal-BE_cwUn0.js +0 -1
  956. package/dist/showcase/assets/smart-card-Dhu_1A_u.js +0 -1
  957. package/dist/showcase/assets/sonner-DZB-G4q5.js +0 -22
  958. package/dist/showcase/assets/sortable.esm-YOwRw8Hr.js +0 -5
  959. package/dist/showcase/assets/sparkles-N8rqKQez.js +0 -1
  960. package/dist/showcase/assets/spinner-B5zKCNXu.js +0 -30
  961. package/dist/showcase/assets/spinner-BOjRziLu.js +0 -1
  962. package/dist/showcase/assets/spinner-PIr8y8av.js +0 -49
  963. package/dist/showcase/assets/square-pen-ImRrVwT8.js +0 -1
  964. package/dist/showcase/assets/stacked-avatars-DnIAc098.js +0 -1
  965. package/dist/showcase/assets/star-BaV-UTPq.js +0 -1
  966. package/dist/showcase/assets/startOfDay-CtTeiGV0.js +0 -1
  967. package/dist/showcase/assets/styles-Bv0pDLVi.js +0 -1
  968. package/dist/showcase/assets/suggestions-QnLPdgnG.js +0 -126
  969. package/dist/showcase/assets/switch-DwAS_TXx.js +0 -1
  970. package/dist/showcase/assets/switch-xzxCDtyg.js +0 -1
  971. package/dist/showcase/assets/sync-LeYxWAap.js +0 -107
  972. package/dist/showcase/assets/table-BbEFanNu.js +0 -1
  973. package/dist/showcase/assets/table-CVVHBty6.js +0 -382
  974. package/dist/showcase/assets/table-actions-DvI9U67L.js +0 -1
  975. package/dist/showcase/assets/tabs-CLcyGwLd.js +0 -1
  976. package/dist/showcase/assets/tabs-ck8y1Bjr.js +0 -19
  977. package/dist/showcase/assets/tags-input-DmBY2CKI.js +0 -1
  978. package/dist/showcase/assets/text-button-C54O1rZM.js +0 -1
  979. package/dist/showcase/assets/text-link-9_mZpq_f.js +0 -1
  980. package/dist/showcase/assets/textarea-CHvnWHWH.js +0 -1
  981. package/dist/showcase/assets/textarea-jexcMklP.js +0 -1
  982. package/dist/showcase/assets/timelines-uvFVjEQv.js +0 -200
  983. package/dist/showcase/assets/toggle-group-B3fORi8i.js +0 -1
  984. package/dist/showcase/assets/toggles-Cox6Yk2k.js +0 -71
  985. package/dist/showcase/assets/toggles-group-CSvSPqCB.js +0 -32
  986. package/dist/showcase/assets/trash-2-CE9bDw49.js +0 -1
  987. package/dist/showcase/assets/trending-up-0iJl0XvC.js +0 -1
  988. package/dist/showcase/assets/truck-DlhOPoCD.js +0 -1
  989. package/dist/showcase/assets/typography-BotOITw4.js +0 -223
  990. package/dist/showcase/assets/ui-badge-hfmO1K3-.js +0 -28
  991. package/dist/showcase/assets/ui-card-Aigzxhn3.js +0 -30
  992. package/dist/showcase/assets/ui-table-CKif9sNO.js +0 -42
  993. package/dist/showcase/assets/upload-tray-BnKDNrw9.js +0 -138
  994. package/dist/showcase/assets/use-layout-link-BQ6Y9z__.js +0 -1
  995. package/dist/showcase/assets/useAnchoredPopupScrollLock-CP1vkwD7.js +0 -1
  996. package/dist/showcase/assets/useAriaLabelledBy-J_Rvjwx3.js +0 -1
  997. package/dist/showcase/assets/useCollapsiblePanel-BwUOowW2.js +0 -1
  998. package/dist/showcase/assets/useCompositeItem-D3XOIML-.js +0 -1
  999. package/dist/showcase/assets/useCompositeListItem-BWfShNPP.js +0 -1
  1000. package/dist/showcase/assets/useLabelableId-DxorZ3YW.js +0 -1
  1001. package/dist/showcase/assets/useOpenInteractionType-DLUX6CcH.js +0 -1
  1002. package/dist/showcase/assets/useRender-B9zzqKA1.js +0 -1
  1003. package/dist/showcase/assets/useTriggerFocusGuards-BSvL8pKg.js +0 -1
  1004. package/dist/showcase/assets/useValueChanged-DSoTBFAJ.js +0 -1
  1005. package/dist/showcase/assets/user-BZog6aIh.js +0 -1
  1006. package/dist/showcase/assets/user-plus-CPxlPoxf.js +0 -1
  1007. package/dist/showcase/assets/users-BgXAp2UO.js +0 -1
  1008. package/dist/showcase/assets/vendor-profile-BLYiDIrO.js +0 -37
  1009. package/dist/showcase/assets/video-YBnCbmIb.js +0 -1
  1010. package/dist/showcase/assets/wrench-BFTavxzg.js +0 -1
  1011. package/dist/showcase/assets/x-D8UN9pOu.js +0 -1
  1012. package/dist/showcase/assets/zap-DIJUAJEb.js +0 -1
@@ -1,2 +0,0 @@
1
- const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("../lib/utils.cjs"),r=require("./heading-0DYCOrgC.cjs"),i=require("./tooltip-mvxZV_Lu.cjs"),a=require("./dropdown-menu-CHQzQWUK.cjs"),o=require("./avatar-0spfQEHG.cjs"),s=require("./scroll-area-u46BOVcC.cjs"),c=require("./skeleton-D1c5OHXa.cjs"),l=require("./sheet-D4yWgkwC.cjs"),u=require("./sidebar-B_L_dnAe.cjs"),d=require("./hooks-MW0UTO3q.cjs");let f=require("react");f=e.t(f,1);let p=require("react/jsx-runtime"),m=require("lucide-react"),h=require("class-variance-authority");var g=u.w;function _({defaultOpen:e=!0,open:t,onOpenChange:r,className:a,style:o,children:s,...c}){return(0,p.jsx)(i.r,{delayDuration:0,children:(0,p.jsx)(u.b,{defaultOpen:e,open:t,onOpenChange:r,style:o,className:n.cn(`min-h-svh`,a),...c,children:s})})}var v=`18rem`;(0,h.cva)(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});var y={mobileTitle:`Sidebar`,mobileDescription:`Displays the mobile sidebar.`};function b({side:e=`left`,variant:r=`sidebar`,collapsible:i=`offcanvas`,className:a,surfaceClassName:o,children:s,strings:c,...u}){let{isMobile:d,state:f,openMobile:m,setOpenMobile:h}=g(),_=t.useStrings(y,c);return i===`none`?(0,p.jsx)(`div`,{"data-slot":`sidebar`,className:n.cn(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,o,a),...u,children:s}):d?(0,p.jsx)(l.t,{open:m,onOpenChange:h,...u,children:(0,p.jsxs)(l.r,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,className:n.cn(`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden`,o),style:{"--sidebar-width":v},side:e,children:[(0,p.jsxs)(l.o,{className:`sr-only`,children:[(0,p.jsx)(l.s,{children:_.mobileTitle}),(0,p.jsx)(l.i,{children:_.mobileDescription})]}),(0,p.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:s})]})}):(0,p.jsx)(`div`,{className:`group peer sticky top-0 hidden h-full text-sidebar-foreground md:block`,"data-state":f,"data-collapsible":f===`collapsed`?i:``,"data-variant":r,"data-side":e,"data-slot":`sidebar`,children:(0,p.jsx)(`div`,{className:n.cn(`inset-y-0 z-10 hidden h-full w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,r===`floating`||r===`inset`?`px-2 py-3 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,a),...u,children:(0,p.jsx)(`div`,{"data-sidebar":`sidebar`,className:n.cn(`sidebar flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm`,o),children:s})})})}function x({item:e}){return(0,p.jsx)(r.n,{tag:`span`,className:`truncate text-inherit`,children:d.o(e)})}function S({navigationByGroups:e,currentUrl:t=`/`,iconMap:i={},liveBadges:a,renderLink:o,LinkComponent:s,emptySlot:c,renderItem:l,className:m}){let h=d.d({renderLink:o,LinkComponent:s}),g=e=>!!e&&d.s(t,d.u(e)),_=e=>{let n=-1,r=-1;for(let i=0;i<e.length;i+=1){let a=e[i],o=a?.href?d.u(a.href):``;o&&d.s(t,o)&&o.length>r&&(r=o.length,n=i)}return n},v=e=>!!e?.some(e=>g(e.href)||v(e.children)),y=(e,t=0,o=0)=>{let s=!!e.children?.length,c=g(e.href),m=s?v(e.children):!1,y=c||m,b=d.l(e.handle,e.badge,a),S=d.o(e),C={depth:t,active:c,expanded:y,badge:b,renderLink:h};if(l)return(0,p.jsx)(f.Fragment,{children:l(e,C)},d.a(e,o));if(s){let t=_(e.children??[]),s=(0,p.jsxs)(p.Fragment,{children:[!!e.icon&&(0,p.jsx)(d.r,{icon:e.icon,iconMap:i,className:`size-4`,"aria-hidden":`true`}),(0,p.jsx)(x,{item:e}),!!b&&(0,p.jsx)(d.i,{value:b})]});return(0,p.jsxs)(u.g,{children:[(0,p.jsx)(u.t,{isActive:y,render:e.href&&!e.disabled?d.c(h,e,s,void 0,y):void 0,tooltip:{children:S},disabled:e.disabled,className:n.cn(`h-8 font-medium`,c&&`bg-sidebar-accent text-sidebar-accent-foreground`,!c&&m&&`bg-sidebar-accent/70 text-sidebar-accent-foreground`,e.disabled&&`cursor-not-allowed opacity-50`),children:s}),!!y&&(0,p.jsx)(u.v,{className:`gap-0.5`,children:e.children?.map((e,i)=>{let o=i===t||g(e.href),s=d.l(e.handle,e.badge,a),c=d.o(e),l=(0,p.jsxs)(p.Fragment,{children:[typeof c==`string`||typeof c==`number`?(0,p.jsx)(r.n,{tag:`span`,className:`min-w-0 flex-1 truncate text-inherit`,children:c}):c,!!s&&(0,p.jsx)(d.i,{value:s,size:`small`})]});return(0,p.jsx)(u.y,{children:(0,p.jsx)(u.n,{isActive:o,render:e.href&&!e.disabled?d.c(h,e,l,void 0,o):void 0,className:n.cn(`w-full`,o&&`font-semibold text-sidebar-accent-foreground`),children:l})},d.a(e,i))})})]},d.a(e,o))}let w=(0,p.jsxs)(p.Fragment,{children:[!!e.icon&&(0,p.jsx)(d.r,{icon:e.icon,iconMap:i,className:`size-4`,"aria-hidden":`true`}),(0,p.jsx)(x,{item:e}),!!b&&(0,p.jsx)(d.i,{value:b})]});return(0,p.jsx)(u.g,{children:(0,p.jsx)(u.t,{isActive:c,render:e.href&&!e.disabled?d.c(h,e,w,void 0,c):void 0,tooltip:{children:S},disabled:e.disabled,className:n.cn(`h-8 font-medium`,c&&`bg-sidebar-accent text-sidebar-accent-foreground`,e.disabled&&`cursor-not-allowed opacity-50`),children:w})},d.a(e,o))},b=Object.entries(e).filter(([,e])=>e.length>0);return b.length===0?c??null:(0,p.jsx)(`div`,{className:m,children:b.map(([e,t],n)=>(0,p.jsxs)(f.Fragment,{children:[(0,p.jsxs)(u.o,{className:`px-2 py-0`,children:[!e.startsWith(`_`)&&(0,p.jsx)(u.l,{children:e}),(0,p.jsx)(u.p,{className:`gap-0.5`,children:t.map((e,t)=>y(e,0,t))})]}),n<b.length-1&&(0,p.jsx)(u.S,{className:`!mx-auto !my-1.5 !w-11/12 overflow-hidden px-4`})]},e))})}function C({logo:e,collapsedLogo:t=null,className:r}){let{state:i}=g(),a=i===`collapsed`?t:e;return a?(0,p.jsx)(`div`,{className:n.cn(`min-w-0`,r),children:a}):null}function w({items:e,label:t,currentUrl:i=`/`,iconMap:a={},liveBadges:o,renderLink:s,LinkComponent:c,className:l}){let f=d.d({renderLink:s,LinkComponent:c});return(0,p.jsxs)(u.o,{className:n.cn(`group-data-[collapsible=icon]:p-0`,l),children:[!!t&&(0,p.jsx)(u.l,{children:t}),(0,p.jsx)(u.c,{children:(0,p.jsx)(u.p,{className:`gap-0.5`,children:e.map((e,t)=>{let s=!!e.href&&d.s(i,d.u(e.href)),c=d.l(e.handle,e.badge,o),l=d.o(e),h=(0,p.jsxs)(p.Fragment,{children:[!!e.icon&&(0,p.jsx)(d.r,{icon:e.icon,iconMap:a,className:`size-4`,"aria-hidden":`true`}),typeof l==`string`||typeof l==`number`?(0,p.jsx)(r.n,{tag:`span`,className:`truncate text-inherit`,children:l}):l,!!c&&(0,p.jsx)(d.i,{value:c}),!!e.external&&(0,p.jsx)(m.ExternalLink,{className:`ml-auto size-3 opacity-50`,"aria-hidden":`true`})]});return(0,p.jsx)(u.g,{children:(0,p.jsx)(u.t,{isActive:s,render:e.href&&!e.disabled?d.c(f,e,h,void 0,s):void 0,className:n.cn(`h-8 font-medium text-sidebar-foreground/70 hover:text-sidebar-accent-foreground`,s&&`bg-sidebar-accent text-sidebar-accent-foreground`),tooltip:{children:l},disabled:e.disabled,children:h})},d.a(e,t))})})})]})}var T={label:`Workspace`,select:`Select workspace`};function E({logo:e,collapsedLogo:i,workspaceLinks:o,renderLink:s,LinkComponent:c,strings:l,contentClassName:f}){let h=t.useStrings(T,l),_=d.d({renderLink:s,LinkComponent:c}),{state:v}=g(),y=v===`collapsed`;return(0,p.jsx)(u.p,{children:(0,p.jsx)(u.g,{children:(0,p.jsxs)(a.t,{children:[(0,p.jsxs)(a.g,{render:(0,p.jsx)(u.t,{size:`lg`,className:`data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground`}),children:[(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[y?i??e:e,!y&&(0,p.jsx)(r.n,{tag:`span`,size:`xs`,className:`sr-only`,children:h.select})]}),!y&&(0,p.jsx)(m.ChevronsUpDown,{className:`ml-auto size-4 shrink-0`,"aria-hidden":`true`})]}),(0,p.jsx)(a.r,{className:n.cn(`min-w-56`,f),align:`start`,side:`right`,sideOffset:8,children:(0,p.jsxs)(a.i,{children:[(0,p.jsx)(a.o,{children:(0,p.jsx)(r.n,{weight:`semibold`,children:h.label})}),(0,p.jsx)(a.d,{}),o.map(e=>{let t=(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(e.icon??m.ExternalLink,{className:`size-4 shrink-0`,"aria-hidden":`true`}),(0,p.jsx)(r.n,{tag:`span`,size:`xs`,className:`text-inherit`,children:e.label})]});return(0,p.jsx)(a.a,{render:_({href:e.url,external:e.external??!0,children:null,className:`flex items-center gap-2`}),children:t},e.url)})]})})]})})})}function D({navigationGroups:e,footerNavItems:t=[],footerLabel:r,logo:i,collapsedLogo:a,workspaceLinks:o=[],workspaceStrings:c,workspaceContentClassName:l,headerClassName:d,logoClassName:f,iconMap:m,currentUrl:h=`/`,liveBadges:g,renderLink:_,LinkComponent:v,loading:y,collapsible:x=`icon`,variant:T=`sidebar`,side:D=`left`,className:k,surfaceClassName:A,contentClassName:j,slots:M,renderItem:N}){let P=t.length>0||!!M?.footer,F=y||!e,I=o.length>0;return(0,p.jsxs)(b,{collapsible:x,variant:T,side:D,className:n.cn(`h-svh`,k),surfaceClassName:A,children:[M?.header??(!!i&&(0,p.jsx)(u.u,{className:d,children:I?(0,p.jsx)(E,{logo:i,collapsedLogo:a,workspaceLinks:o,strings:c,contentClassName:l,renderLink:_,LinkComponent:v}):(0,p.jsx)(C,{logo:i,collapsedLogo:a,className:f})})),(0,p.jsx)(u.i,{className:j,children:(0,p.jsxs)(s.t,{className:`h-full pr-1.5 pt-4`,children:[M?.beforeNavigation,F?M?.loading??(0,p.jsx)(O,{}):(0,p.jsx)(S,{navigationByGroups:e,currentUrl:h,iconMap:m,liveBadges:g,renderLink:_,LinkComponent:v,emptySlot:M?.empty,renderItem:N}),M?.afterNavigation]})}),P&&(0,p.jsx)(u.a,{children:M?.footer??(0,p.jsx)(w,{items:t,label:r,currentUrl:h,iconMap:m,liveBadges:g,renderLink:_,LinkComponent:v})})]})}function O(){let e=[9,3,4,2,1];return(0,p.jsx)(p.Fragment,{children:e.map((t,n)=>(0,p.jsxs)(f.Fragment,{children:[(0,p.jsx)(u.o,{className:`px-2 py-0`,children:(0,p.jsx)(u.p,{className:`gap-0.5`,children:Array.from({length:t},(e,t)=>(0,p.jsx)(u.g,{children:(0,p.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-2`,children:[(0,p.jsx)(c.t,{className:`h-4 w-4 shrink-0 rounded`}),(0,p.jsx)(c.t,{className:`h-3.5 rounded`,style:{width:`${60+(n*7+t*13)%40}px`}})]})},t))})}),n<e.length-1&&(0,p.jsx)(u.S,{className:`!mx-auto !my-1 !w-11/12 overflow-hidden px-4`})]},n))})}function k({item:e}){return(0,p.jsx)(r.n,{tag:`span`,className:`truncate text-inherit`,children:d.o(e)})}function A({items:e,label:t=`Platform`,currentUrl:r=`/`,iconMap:i={},liveBadges:a,renderLink:o,LinkComponent:s,renderItem:c,className:l}){let m=d.d({renderLink:o,LinkComponent:s});return(0,p.jsxs)(u.o,{className:n.cn(`px-2 py-0`,l),children:[!!t&&(0,p.jsx)(u.l,{children:t}),(0,p.jsx)(u.p,{className:`gap-0.5`,children:e.map((e,t)=>{let o=!!e.href&&d.s(r,d.u(e.href)),s=d.l(e.handle,e.badge,a),l={depth:0,active:o,expanded:!1,badge:s,renderLink:m},h=d.o(e);if(c)return(0,p.jsx)(f.Fragment,{children:c(e,l)},d.a(e,t));let g=(0,p.jsxs)(p.Fragment,{children:[!!e.icon&&(0,p.jsx)(d.r,{icon:e.icon,iconMap:i,className:`size-4`,"aria-hidden":`true`}),(0,p.jsx)(k,{item:e}),!!s&&(0,p.jsx)(d.i,{value:s})]});return(0,p.jsx)(u.g,{children:(0,p.jsx)(u.t,{isActive:o,render:e.href&&!e.disabled?d.c(m,e,g,void 0,o):void 0,tooltip:{children:h},disabled:e.disabled,className:n.cn(`h-8 font-medium`,o&&`bg-sidebar-accent text-sidebar-accent-foreground`,e.disabled&&`cursor-not-allowed opacity-50`),children:g})},d.a(e,t))})})]})}var j={profile:`Profile`,settings:`Settings`,logout:`Log out`};function M(e){return e.split(` `).map(e=>e[0]).filter(Boolean).slice(0,2).join(``).toUpperCase()}function N({user:e,customContent:n,onProfile:i,onSettings:s,onLogout:c,strings:l,renderTrigger:d}){let f=t.useStrings(j,l),{state:h,isMobile:_}=g(),v=_||h!==`collapsed`?`bottom`:`right`,y=M(e.name),b=(0,p.jsxs)(p.Fragment,{children:[!!i&&(0,p.jsxs)(a.a,{onClick:i,children:[(0,p.jsx)(m.User,{className:`mr-2 size-4`,"aria-hidden":`true`}),(0,p.jsx)(r.n,{tag:`span`,size:`xs`,className:`text-inherit`,children:f.profile})]}),!!s&&(0,p.jsxs)(a.a,{onClick:s,children:[(0,p.jsx)(m.Settings,{className:`mr-2 size-4`,"aria-hidden":`true`}),(0,p.jsx)(r.n,{tag:`span`,size:`xs`,className:`text-inherit`,children:f.settings})]}),!!(i||s)&&!!c&&(0,p.jsx)(a.d,{}),!!c&&(0,p.jsxs)(a.a,{onClick:c,children:[(0,p.jsx)(m.LogOut,{className:`mr-2 size-4`,"aria-hidden":`true`}),(0,p.jsx)(r.n,{tag:`span`,size:`xs`,className:`text-inherit`,children:f.logout})]})]});return(0,p.jsx)(u.p,{children:(0,p.jsx)(u.g,{children:(0,p.jsxs)(a.t,{children:[(0,p.jsx)(a.g,{render:(0,p.jsx)(u.t,{size:`lg`,className:`group text-sidebar-accent-foreground data-[state=open]:bg-sidebar-accent`}),children:d?.(e)??(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,p.jsxs)(o.t,{className:`size-8 rounded-full`,children:[!!e.avatar&&(0,p.jsx)(o.o,{src:e.avatar,alt:e.name}),(0,p.jsx)(o.r,{className:`bg-sidebar-accent text-xs text-sidebar-accent-foreground`,children:y})]}),(0,p.jsxs)(`div`,{className:`flex flex-1 flex-col items-start justify-center overflow-hidden`,children:[(0,p.jsx)(r.n,{weight:`medium`,className:`w-full truncate`,children:e.name}),!!e.email&&(0,p.jsx)(r.n,{size:`xs`,type:`secondary`,className:`w-full truncate`,children:e.email})]})]}),(0,p.jsx)(m.ChevronsUpDown,{className:`ml-auto size-4 shrink-0`,"aria-hidden":`true`})]})}),(0,p.jsx)(a.r,{className:`w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg`,align:`end`,side:v,sideOffset:4,children:n??b})]})})})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return b}});
2
- //# sourceMappingURL=sidebar-D3sK9otF.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-D3sK9otF.cjs","names":[],"sources":["../../src/components/layout/sidebar/sidebar.context.tsx","../../src/components/layout/sidebar/sidebar.settings.ts","../../src/components/layout/sidebar/sidebar.tsx","../../src/components/layout/sidebar/components/sidebar-grouped-navigation.tsx","../../src/components/layout/sidebar/components/sidebar-logo.tsx","../../src/components/layout/sidebar/components/sidebar-navigation-footer.tsx","../../src/components/layout/sidebar/sidebar.types.ts","../../src/components/layout/sidebar/components/sidebar-workspace-dropdown.tsx","../../src/components/layout/sidebar/app-sidebar.tsx","../../src/components/layout/sidebar/components/sidebar-navigation.tsx","../../src/components/layout/sidebar/components/sidebar-navigation-user.tsx"],"sourcesContent":[" \n/** SidebarProvider — layout-scoped wrapper around the shadcn sidebar context. */\nimport * as React from 'react';\n\nimport { TooltipProvider } from '@/components/base/display/tooltip';\nimport {\n\tSidebarProvider as PrimitiveSidebarProvider,\n\tuseSidebar as primitiveUseSidebar,\n} from '@/components/base/sidebar';\nimport { cn } from '@/lib/utils';\n\nexport const useSidebar = primitiveUseSidebar;\nexport type SidebarContext = ReturnType<typeof primitiveUseSidebar>;\n\nexport type SidebarProviderProps = React.ComponentProps<'div'> & {\n\tdefaultOpen?: boolean;\n\topen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n};\n\nexport function SidebarProvider({\n\tdefaultOpen = true,\n\topen,\n\tonOpenChange,\n\tclassName,\n\tstyle,\n\tchildren,\n\t...props\n}: SidebarProviderProps) {\n\treturn (\n\t\t<TooltipProvider delayDuration={0}>\n\t\t\t<PrimitiveSidebarProvider\n\t\t\t\tdefaultOpen={defaultOpen}\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={onOpenChange}\n\t\t\t\tstyle={style}\n\t\t\t\tclassName={cn('min-h-svh', className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</PrimitiveSidebarProvider>\n\t\t</TooltipProvider>\n\t);\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const SIDEBAR_COOKIE_NAME = \"sidebar_state\"\nexport const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nexport const SIDEBAR_WIDTH = \"16rem\"\nexport const SIDEBAR_WIDTH_MOBILE = \"18rem\"\nexport const SIDEBAR_WIDTH_ICON = \"3rem\"\nexport const SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\nexport const sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n"," \n/** Sidebar — responsive shell around the shadcn sidebar primitive pieces. */\nimport * as React from 'react';\n\nimport {\n\tSheet,\n\tSheetContent,\n\tSheetDescription,\n\tSheetHeader,\n\tSheetTitle,\n} from '@/components/base/sheet';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useSidebar } from './sidebar.context';\nimport { SIDEBAR_WIDTH_MOBILE } from './sidebar.settings';\n\nexport interface SidebarStrings {\n\tmobileTitle: string;\n\tmobileDescription: string;\n}\n\nexport const defaultSidebarStrings: SidebarStrings = {\n\tmobileTitle: 'Sidebar',\n\tmobileDescription: 'Displays the mobile sidebar.',\n};\n\nexport type SidebarProps = React.ComponentProps<'div'> & {\n\tside?: 'left' | 'right';\n\tvariant?: 'sidebar' | 'floating' | 'inset';\n\tcollapsible?: 'offcanvas' | 'icon' | 'none';\n\tstrings?: Partial<SidebarStrings>;\n\tsurfaceClassName?: string;\n};\n\nexport function Sidebar({\n\tside = 'left',\n\tvariant = 'sidebar',\n\tcollapsible = 'offcanvas',\n\tclassName,\n\tsurfaceClassName,\n\tchildren,\n\tstrings: stringsProp,\n\t...props\n}: SidebarProps) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\tconst strings = useStrings(defaultSidebarStrings, stringsProp);\n\n\tif (collapsible === 'none') {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\tclassName={cn('flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground', surfaceClassName, className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName={cn('w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden', surfaceClassName)}\n\t\t\t\t\tstyle={{ '--sidebar-width': SIDEBAR_WIDTH_MOBILE } as React.CSSProperties}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>{strings.mobileTitle}</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>{strings.mobileDescription}</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"group peer sticky top-0 hidden h-full text-sidebar-foreground md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === 'collapsed' ? collapsible : ''}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t\tdata-slot=\"sidebar\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'inset-y-0 z-10 hidden h-full w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n\t\t\t\t\tside === 'left'\n\t\t\t\t\t\t? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n\t\t\t\t\t\t: 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'px-2 py-3 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'sidebar flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm',\n\t\t\t\t\t\tsurfaceClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","/** SidebarGroupedNavigation — grouped tree navigation with composable rows. */\nimport * as React from 'react';\n\nimport {\n\tSidebarGroup,\n\tSidebarGroupLabel,\n\tSidebarMenu,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n\tSidebarMenuSub,\n\tSidebarMenuSubButton,\n\tSidebarMenuSubItem,\n\tSidebarSeparator,\n} from '@/components/base/sidebar';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport type { SidebarGroupedNavigationProps, SidebarNavItem, SidebarRenderItemContext } from '../sidebar.types';\nimport {\n\tDynamicIcon,\n\tgetNavKey,\n\tgetNavLabel,\n\tisPathMatch,\n\tNavBadge,\n\trenderSidebarLink,\n\tresolveNavBadge,\n\ttoPath,\n} from '../sidebar.utils';\n\nfunction NavLabel({ item }: { item: SidebarNavItem }) {\n\tconst label = getNavLabel(item);\n\treturn (\n\t\t<Text tag=\"span\" className=\"truncate text-inherit\">\n\t\t\t{label}\n\t\t</Text>\n\t);\n}\n\nexport function SidebarGroupedNavigation({\n\tnavigationByGroups,\n\tcurrentUrl = '/',\n\ticonMap = {},\n\tliveBadges,\n\trenderLink,\n\tLinkComponent,\n\temptySlot,\n\trenderItem,\n\tclassName,\n}: SidebarGroupedNavigationProps) {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst isActive = (href?: string): boolean => !!href && isPathMatch(currentUrl, toPath(href));\n\n\tconst bestMatchIndex = (siblings: SidebarNavItem[]): number => {\n\t\tlet bestIdx = -1;\n\t\tlet bestLen = -1;\n\t\tfor (let i = 0; i < siblings.length; i += 1) {\n\t\t\tconst sibling = siblings[i];\n\t\t\tconst path = sibling?.href ? toPath(sibling.href) : '';\n\t\t\tif (path && isPathMatch(currentUrl, path) && path.length > bestLen) {\n\t\t\t\tbestLen = path.length;\n\t\t\t\tbestIdx = i;\n\t\t\t}\n\t\t}\n\t\treturn bestIdx;\n\t};\n\n\tconst hasActiveChild = (children?: SidebarNavItem[]): boolean =>\n\t\t!!children?.some((child) => isActive(child.href) || hasActiveChild(child.children));\n\n\tconst renderDefaultItem = (item: SidebarNavItem, depth = 0, index = 0): React.ReactNode => {\n\t\tconst hasChildren = !!item.children?.length;\n\t\tconst itemActive = isActive(item.href);\n\t\tconst childActive = hasChildren ? hasActiveChild(item.children) : false;\n\t\tconst expanded = itemActive || childActive;\n\t\tconst badge = resolveNavBadge(item.handle, item.badge, liveBadges);\n\t\tconst label = getNavLabel(item);\n\t\tconst context: SidebarRenderItemContext = {\n\t\t\tdepth,\n\t\t\tactive: itemActive,\n\t\t\texpanded,\n\t\t\tbadge,\n\t\t\trenderLink: resolvedRenderLink,\n\t\t};\n\n\t\tif (renderItem) {\n\t\t\treturn <React.Fragment key={getNavKey(item, index)}>{renderItem(item, context)}</React.Fragment>;\n\t\t}\n\n\t\tif (hasChildren) {\n\t\t\tconst activeChildIdx = bestMatchIndex(item.children ?? []);\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{!!item.icon && <DynamicIcon icon={item.icon} iconMap={iconMap} className=\"size-4\" aria-hidden=\"true\" />}\n\t\t\t\t\t<NavLabel item={item} />\n\t\t\t\t\t{!!badge && <NavBadge value={badge} />}\n\t\t\t\t</>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<SidebarMenuItem key={getNavKey(item, index)}>\n\t\t\t\t\t<SidebarMenuButton\n\t\t\t\t\t\tisActive={expanded}\n\t\t\t\t\t\trender={\n\t\t\t\t\t\t\titem.href && !item.disabled\n\t\t\t\t\t\t\t\t? renderSidebarLink(resolvedRenderLink, item, content, undefined, expanded) as React.ReactElement\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttooltip={{ children: label }}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'h-8 font-medium',\n\t\t\t\t\t\t\titemActive && 'bg-sidebar-accent text-sidebar-accent-foreground',\n\t\t\t\t\t\t\t!itemActive && childActive && 'bg-sidebar-accent/70 text-sidebar-accent-foreground',\n\t\t\t\t\t\t\titem.disabled && 'cursor-not-allowed opacity-50',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</SidebarMenuButton>\n\n\t\t\t\t\t{!!expanded && (\n\t\t\t\t\t\t<SidebarMenuSub className=\"gap-0.5\">\n\t\t\t\t\t\t\t{item.children?.map((child, childIndex) => {\n\t\t\t\t\t\t\t\tconst childActiveNow = childIndex === activeChildIdx || isActive(child.href);\n\t\t\t\t\t\t\t\tconst childBadge = resolveNavBadge(child.handle, child.badge, liveBadges);\n\t\t\t\t\t\t\t\tconst childLabel = getNavLabel(child);\n\t\t\t\t\t\t\t\tconst childContent = (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{typeof childLabel === 'string' || typeof childLabel === 'number' ? (\n\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" className=\"min-w-0 flex-1 truncate text-inherit\">\n\t\t\t\t\t\t\t\t\t\t\t\t{childLabel}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t) : childLabel}\n\t\t\t\t\t\t\t\t\t\t{!!childBadge && <NavBadge value={childBadge} size=\"small\" />}\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<SidebarMenuSubItem key={getNavKey(child, childIndex)}>\n\t\t\t\t\t\t\t\t\t\t<SidebarMenuSubButton\n\t\t\t\t\t\t\t\t\t\t\tisActive={childActiveNow}\n\t\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t\tchild.href && !child.disabled\n\t\t\t\t\t\t\t\t\t\t\t\t? renderSidebarLink(resolvedRenderLink, child, childContent, undefined, childActiveNow) as React.ReactElement\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn('w-full', childActiveNow && 'font-semibold text-sidebar-accent-foreground')}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{childContent}\n\t\t\t\t\t\t\t\t\t\t</SidebarMenuSubButton>\n\t\t\t\t\t\t\t\t\t</SidebarMenuSubItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</SidebarMenuSub>\n\t\t\t\t\t)}\n\t\t\t</SidebarMenuItem>\n\t\t);\n\t}\n\n\tconst content = (\n\t\t<>\n\t\t\t{!!item.icon && <DynamicIcon icon={item.icon} iconMap={iconMap} className=\"size-4\" aria-hidden=\"true\" />}\n\t\t\t<NavLabel item={item} />\n\t\t\t{!!badge && <NavBadge value={badge} />}\n\t\t</>\n\t);\n\n\treturn (\n\t\t<SidebarMenuItem key={getNavKey(item, index)}>\n\t\t\t<SidebarMenuButton\n\t\t\t\tisActive={itemActive}\n\t\t\t\trender={\n\t\t\t\t\titem.href && !item.disabled\n\t\t\t\t\t\t? renderSidebarLink(resolvedRenderLink, item, content, undefined, itemActive) as React.ReactElement\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\ttooltip={{ children: label }}\n\t\t\t\tdisabled={item.disabled}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'h-8 font-medium',\n\t\t\t\t\titemActive && 'bg-sidebar-accent text-sidebar-accent-foreground',\n\t\t\t\t\titem.disabled && 'cursor-not-allowed opacity-50',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</SidebarMenuButton>\n\t\t</SidebarMenuItem>\n\t);\n\t};\n\n\tconst groupEntries = Object.entries(navigationByGroups).filter(([, items]) => items.length > 0);\n\tif (groupEntries.length === 0) return emptySlot ?? null;\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t{groupEntries.map(([groupName, items], groupIndex) => (\n\t\t\t\t<React.Fragment key={groupName}>\n\t\t\t\t\t<SidebarGroup className=\"px-2 py-0\">\n\t\t\t\t\t\t{!groupName.startsWith('_') && <SidebarGroupLabel>{groupName}</SidebarGroupLabel>}\n\t\t\t\t\t\t<SidebarMenu className=\"gap-0.5\">\n\t\t\t\t\t\t\t{items.map((item, index) => renderDefaultItem(item, 0, index))}\n\t\t\t\t\t\t</SidebarMenu>\n\t\t\t\t\t</SidebarGroup>\n\t\t\t\t\t{groupIndex < groupEntries.length - 1 && (\n\t\t\t\t\t\t<SidebarSeparator className=\"!mx-auto !my-1.5 !w-11/12 overflow-hidden px-4\" />\n\t\t\t\t\t)}\n\t\t\t\t</React.Fragment>\n\t\t\t))}\n\t\t</div>\n\t);\n}\n","/** SidebarLogo — hides its logo content when the sidebar is icon-collapsed. */\nimport type { ReactNode } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nimport { useSidebar } from '../sidebar.context';\n\nexport interface SidebarLogoProps {\n\tlogo: ReactNode;\n\tcollapsedLogo?: ReactNode;\n\tclassName?: string;\n}\n\nexport function SidebarLogo({ logo, collapsedLogo = null, className }: SidebarLogoProps) {\n\tconst { state } = useSidebar();\n\tconst isCollapsed = state === 'collapsed';\n\tconst content = isCollapsed ? collapsedLogo : logo;\n\tif (!content) return null;\n\treturn <div className={cn('min-w-0', className)}>{content}</div>;\n}\n","/** SidebarNavigationFooter — secondary footer navigation using renderLink. */\nimport { ExternalLink } from 'lucide-react';\n\nimport {\n\tSidebarGroup,\n\tSidebarGroupContent,\n\tSidebarGroupLabel,\n\tSidebarMenu,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n} from '@/components/base/sidebar';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport type { SidebarNavigationFooterProps } from '../sidebar.types';\nimport {\n\tDynamicIcon,\n\tgetNavKey,\n\tgetNavLabel,\n\tisPathMatch,\n\tNavBadge,\n\trenderSidebarLink,\n\tresolveNavBadge,\n\ttoPath,\n} from '../sidebar.utils';\n\nexport function SidebarNavigationFooter({\n\titems,\n\tlabel,\n\tcurrentUrl = '/',\n\ticonMap = {},\n\tliveBadges,\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n}: SidebarNavigationFooterProps) {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\n\treturn (\n\t\t<SidebarGroup className={cn('group-data-[collapsible=icon]:p-0', className)}>\n\t\t\t{!!label && <SidebarGroupLabel>{label}</SidebarGroupLabel>}\n\t\t\t<SidebarGroupContent>\n\t\t\t\t<SidebarMenu className=\"gap-0.5\">\n\t\t\t\t\t{items.map((item, index) => {\n\t\t\t\t\t\tconst active = !!item.href && isPathMatch(currentUrl, toPath(item.href));\n\t\t\t\t\t\tconst badge = resolveNavBadge(item.handle, item.badge, liveBadges);\n\t\t\t\t\t\tconst labelNode = getNavLabel(item);\n\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{!!item.icon && <DynamicIcon icon={item.icon} iconMap={iconMap} className=\"size-4\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t\t{typeof labelNode === 'string' || typeof labelNode === 'number' ? (\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" className=\"truncate text-inherit\">{labelNode}</Text>\n\t\t\t\t\t\t\t\t) : labelNode}\n\t\t\t\t\t\t\t\t{!!badge && <NavBadge value={badge} />}\n\t\t\t\t\t\t\t\t{!!item.external && <ExternalLink className=\"ml-auto size-3 opacity-50\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<SidebarMenuItem key={getNavKey(item, index)}>\n\t\t\t\t\t\t\t\t<SidebarMenuButton\n\t\t\t\t\t\t\t\t\tisActive={active}\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\titem.href && !item.disabled\n\t\t\t\t\t\t\t\t\t\t\t? renderSidebarLink(resolvedRenderLink, item, content, undefined, active) as React.ReactElement\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'h-8 font-medium text-sidebar-foreground/70 hover:text-sidebar-accent-foreground',\n\t\t\t\t\t\t\t\t\t\tactive && 'bg-sidebar-accent text-sidebar-accent-foreground',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\ttooltip={{ children: labelNode }}\n\t\t\t\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t\t\t\t</SidebarMenuItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</SidebarMenu>\n\t\t\t</SidebarGroupContent>\n\t\t</SidebarGroup>\n\t);\n}\n","/**\n * Sidebar types — framework-neutral navigation tree, render contexts, slots,\n * strings, and composition props.\n */\nimport type { ComponentType, ReactNode } from 'react';\n\nimport type {\n\tLayoutIconSource,\n\tLayoutLinkRenderer,\n\tLayoutNavigationAdapter,\n\tLinkComponent,\n} from '../layout.types';\n\nexport interface SidebarNavItem {\n\t/** New preferred label. */\n\tlabel?: ReactNode;\n\t/** Back-compat label used by older call sites. */\n\ttitle?: ReactNode;\n\thref?: string;\n\thandle?: string;\n\ticon?: LayoutIconSource;\n\tdisabled?: boolean;\n\tbadge?: string | number;\n\tchildren?: SidebarNavItem[];\n\tgroup?: string;\n\texternal?: boolean;\n}\n\nexport type SidebarFlatNavItem = Omit<SidebarNavItem, 'children' | 'group'>;\n\nexport interface SidebarRenderItemContext {\n\tdepth: number;\n\tactive: boolean;\n\texpanded: boolean;\n\tbadge?: string | number;\n\trenderLink: LayoutLinkRenderer;\n}\n\nexport interface SidebarSlots {\n\theader?: ReactNode;\n\tbeforeNavigation?: ReactNode;\n\tafterNavigation?: ReactNode;\n\tfooter?: ReactNode;\n\tempty?: ReactNode;\n\tloading?: ReactNode;\n}\n\nexport interface AppSidebarProps extends LayoutNavigationAdapter {\n\tnavigationGroups?: Record<string, SidebarNavItem[]>;\n\tfooterNavItems?: SidebarFlatNavItem[];\n\tfooterLabel?: ReactNode;\n\tlogo?: ReactNode;\n\tcollapsedLogo?: ReactNode;\n\tworkspaceLinks?: WorkspaceLink[];\n\tworkspaceStrings?: Partial<SidebarWorkspaceDropdownStrings>;\n\tworkspaceContentClassName?: string;\n\theaderClassName?: string;\n\tlogoClassName?: string;\n\ticonMap?: Record<string, ComponentType<{ className?: string }>>;\n\tcurrentUrl?: string;\n\tliveBadges?: Record<string, string | number>;\n\tloading?: boolean;\n\tcollapsible?: 'offcanvas' | 'icon' | 'none';\n\tvariant?: 'sidebar' | 'floating' | 'inset';\n\tside?: 'left' | 'right';\n\tclassName?: string;\n\tsurfaceClassName?: string;\n\tcontentClassName?: string;\n\tslots?: SidebarSlots;\n\trenderItem?: (item: SidebarNavItem, context: SidebarRenderItemContext) => ReactNode;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport interface SidebarGroupedNavigationProps extends LayoutNavigationAdapter {\n\tnavigationByGroups: Record<string, SidebarNavItem[]>;\n\tcurrentUrl?: string;\n\ticonMap?: Record<string, ComponentType<{ className?: string }>>;\n\tliveBadges?: Record<string, string | number>;\n\temptySlot?: ReactNode;\n\trenderItem?: (item: SidebarNavItem, context: SidebarRenderItemContext) => ReactNode;\n\tclassName?: string;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport interface SidebarFlatNavigationProps extends LayoutNavigationAdapter {\n\titems: SidebarFlatNavItem[];\n\tlabel?: ReactNode;\n\tcurrentUrl?: string;\n\ticonMap?: Record<string, ComponentType<{ className?: string }>>;\n\tliveBadges?: Record<string, string | number>;\n\trenderItem?: (item: SidebarFlatNavItem, context: SidebarRenderItemContext) => ReactNode;\n\tclassName?: string;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport interface WorkspaceLink {\n\tlabel: ReactNode;\n\turl: string;\n\ticon?: ComponentType<{ className?: string }>;\n\texternal?: boolean;\n}\n\nexport interface SidebarWorkspaceDropdownStrings {\n\tlabel: string;\n\tselect: string;\n}\n\nexport const defaultSidebarWorkspaceDropdownStrings: SidebarWorkspaceDropdownStrings = {\n\tlabel: 'Workspace',\n\tselect: 'Select workspace',\n};\n\nexport interface SidebarWorkspaceDropdownProps extends LayoutNavigationAdapter {\n\tlogo: ReactNode;\n\tcollapsedLogo?: ReactNode;\n\tworkspaceLinks: WorkspaceLink[];\n\tstrings?: Partial<SidebarWorkspaceDropdownStrings>;\n\tcontentClassName?: string;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport type SidebarFooterNavigationItem = SidebarFlatNavItem;\n\nexport interface SidebarNavigationFooterProps extends LayoutNavigationAdapter {\n\titems: SidebarFooterNavigationItem[];\n\tlabel?: ReactNode;\n\tcurrentUrl?: string;\n\ticonMap?: Record<string, ComponentType<{ className?: string }>>;\n\tliveBadges?: Record<string, string | number>;\n\tclassName?: string;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n","/** SidebarWorkspaceDropdown — workspace selector using consumer link rendering. */\nimport { ChevronsUpDown, ExternalLink } from 'lucide-react';\n\nimport { Text } from '@/components/typography';\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuSeparator,\n\tDropdownMenuTrigger,\n} from '@/components/base/navigation/dropdown-menu';\nimport {\n\tSidebarMenu,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n} from '@/components/base/sidebar';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport {\n\tdefaultSidebarWorkspaceDropdownStrings,\n\ttype SidebarWorkspaceDropdownProps,\n} from '../sidebar.types';\nimport { useSidebar } from '../sidebar.context';\n\nexport function SidebarWorkspaceDropdown({\n\tlogo,\n\tcollapsedLogo,\n\tworkspaceLinks,\n\trenderLink,\n\tLinkComponent,\n\tstrings: stringsProp,\n\tcontentClassName,\n}: SidebarWorkspaceDropdownProps) {\n\tconst strings = useStrings(defaultSidebarWorkspaceDropdownStrings, stringsProp);\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst { state } = useSidebar();\n\tconst isCollapsed = state === 'collapsed';\n\tconst visibleLogo = isCollapsed ? (collapsedLogo ?? logo) : logo;\n\n\treturn (\n\t\t<SidebarMenu>\n\t\t\t<SidebarMenuItem>\n\t\t\t\t<DropdownMenu>\n\t\t\t\t\t<DropdownMenuTrigger\n\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t<SidebarMenuButton\n\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\tclassName=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex min-w-0 flex-1 items-center gap-2\">\n\t\t\t\t\t\t\t{visibleLogo}\n\t\t\t\t\t\t\t{!isCollapsed && (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"sr-only\">\n\t\t\t\t\t\t\t\t\t{strings.select}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{!isCollapsed && <ChevronsUpDown className=\"ml-auto size-4 shrink-0\" aria-hidden=\"true\" />}\n\t\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t\t<DropdownMenuContent className={cn('min-w-56', contentClassName)} align=\"start\" side=\"right\" sideOffset={8}>\n\t\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t\t<DropdownMenuLabel>\n\t\t\t\t\t\t\t\t<Text weight=\"semibold\">{strings.label}</Text>\n\t\t\t\t\t\t\t</DropdownMenuLabel>\n\t\t\t\t\t\t\t<DropdownMenuSeparator />\n\t\t\t\t\t\t\t{workspaceLinks.map((link) => {\n\t\t\t\t\t\t\t\tconst Icon = link.icon ?? ExternalLink;\n\t\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<Icon className=\"size-4 shrink-0\" aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">{link.label}</Text>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tkey={link.url}\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\tresolvedRenderLink({\n\t\t\t\t\t\t\t\t\t\t\t\thref: link.url,\n\t\t\t\t\t\t\t\t\t\t\t\texternal: link.external ?? true,\n\t\t\t\t\t\t\t\t\t\t\t\tchildren: null,\n\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'flex items-center gap-2',\n\t\t\t\t\t\t\t\t\t\t\t}) as React.ReactElement\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t</DropdownMenu>\n\t\t\t</SidebarMenuItem>\n\t\t</SidebarMenu>\n\t);\n}\n","/**\n * AppSidebar — opinionated assembly of logo/header, grouped navigation, and\n * footer links. Consumers still own framework routing through `renderLink`.\n */\nimport * as React from 'react';\n\nimport { ScrollArea } from '@/components/base/display/scroll-area';\nimport { Skeleton } from '@/components/base/display/skeleton';\nimport {\n\tSidebarContent,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarHeader,\n\tSidebarMenu,\n\tSidebarMenuItem,\n\tSidebarSeparator,\n} from '@/components/base/sidebar';\nimport { cn } from '@/lib/utils';\n\nimport { SidebarGroupedNavigation } from './components/sidebar-grouped-navigation';\nimport { SidebarLogo } from './components/sidebar-logo';\nimport { SidebarNavigationFooter } from './components/sidebar-navigation-footer';\nimport { SidebarWorkspaceDropdown } from './components/sidebar-workspace-dropdown';\nimport { Sidebar } from './sidebar';\nimport type { AppSidebarProps } from './sidebar.types';\n\nexport function AppSidebar({\n\tnavigationGroups,\n\tfooterNavItems = [],\n\tfooterLabel,\n\tlogo,\n\tcollapsedLogo,\n\tworkspaceLinks = [],\n\tworkspaceStrings,\n\tworkspaceContentClassName,\n\theaderClassName,\n\tlogoClassName,\n\ticonMap,\n\tcurrentUrl = '/',\n\tliveBadges,\n\trenderLink,\n\tLinkComponent,\n\tloading,\n\tcollapsible = 'icon',\n\tvariant = 'sidebar',\n\tside = 'left',\n\tclassName,\n\tsurfaceClassName,\n\tcontentClassName,\n\tslots,\n\trenderItem,\n}: AppSidebarProps) {\n\tconst hasFooter = footerNavItems.length > 0 || !!slots?.footer;\n\tconst isLoading = loading || !navigationGroups;\n\tconst hasWorkspaceLinks = workspaceLinks.length > 0;\n\n\treturn (\n\t\t<Sidebar collapsible={collapsible} variant={variant} side={side} className={cn('h-svh', className)} surfaceClassName={surfaceClassName}>\n\t\t\t{slots?.header ?? (!!logo && (\n\t\t\t\t<SidebarHeader className={headerClassName}>\n\t\t\t\t\t{hasWorkspaceLinks ? (\n\t\t\t\t\t\t<SidebarWorkspaceDropdown\n\t\t\t\t\t\t\tlogo={logo}\n\t\t\t\t\t\t\tcollapsedLogo={collapsedLogo}\n\t\t\t\t\t\t\tworkspaceLinks={workspaceLinks}\n\t\t\t\t\t\t\tstrings={workspaceStrings}\n\t\t\t\t\t\t\tcontentClassName={workspaceContentClassName}\n\t\t\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\t\t\tLinkComponent={LinkComponent}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<SidebarLogo logo={logo} collapsedLogo={collapsedLogo} className={logoClassName} />\n\t\t\t\t\t)}\n\t\t\t\t</SidebarHeader>\n\t\t\t))}\n\n\t\t\t<SidebarContent className={contentClassName}>\n\t\t\t\t<ScrollArea className=\"h-full pr-1.5 pt-4\">\n\t\t\t\t\t{slots?.beforeNavigation}\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\tslots?.loading ?? <AppSidebarSkeleton />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<SidebarGroupedNavigation\n\t\t\t\t\t\t\tnavigationByGroups={navigationGroups}\n\t\t\t\t\t\t\tcurrentUrl={currentUrl}\n\t\t\t\t\t\t\ticonMap={iconMap}\n\t\t\t\t\t\t\tliveBadges={liveBadges}\n\t\t\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\t\t\tLinkComponent={LinkComponent}\n\t\t\t\t\t\t\temptySlot={slots?.empty}\n\t\t\t\t\t\t\trenderItem={renderItem}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{slots?.afterNavigation}\n\t\t\t\t</ScrollArea>\n\t\t\t</SidebarContent>\n\n\t\t\t{hasFooter && (\n\t\t\t\t<SidebarFooter>\n\t\t\t\t\t{slots?.footer ?? (\n\t\t\t\t\t\t<SidebarNavigationFooter\n\t\t\t\t\t\t\titems={footerNavItems}\n\t\t\t\t\t\t\tlabel={footerLabel}\n\t\t\t\t\t\t\tcurrentUrl={currentUrl}\n\t\t\t\t\t\t\ticonMap={iconMap}\n\t\t\t\t\t\t\tliveBadges={liveBadges}\n\t\t\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\t\t\tLinkComponent={LinkComponent}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</SidebarFooter>\n\t\t\t)}\n\t\t</Sidebar>\n\t);\n}\n\nfunction AppSidebarSkeleton() {\n\tconst groups = [9, 3, 4, 2, 1];\n\n\treturn (\n\t\t<>\n\t\t\t{groups.map((count, groupIdx) => (\n\t\t\t\t<React.Fragment key={groupIdx}>\n\t\t\t\t\t<SidebarGroup className=\"px-2 py-0\">\n\t\t\t\t\t\t<SidebarMenu className=\"gap-0.5\">\n\t\t\t\t\t\t\t{Array.from({ length: count }, (_, i) => (\n\t\t\t\t\t\t\t\t<SidebarMenuItem key={i}>\n\t\t\t\t\t\t\t\t\t<div className=\"flex h-8 items-center gap-2 px-2\">\n\t\t\t\t\t\t\t\t\t\t<Skeleton className=\"h-4 w-4 shrink-0 rounded\" />\n\t\t\t\t\t\t\t\t\t\t<Skeleton\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"h-3.5 rounded\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ width: `${60 + ((groupIdx * 7 + i * 13) % 40)}px` }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</SidebarMenuItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SidebarMenu>\n\t\t\t\t\t</SidebarGroup>\n\t\t\t\t\t{groupIdx < groups.length - 1 && (\n\t\t\t\t\t\t<SidebarSeparator className=\"!mx-auto !my-1 !w-11/12 overflow-hidden px-4\" />\n\t\t\t\t\t)}\n\t\t\t\t</React.Fragment>\n\t\t\t))}\n\t\t</>\n\t);\n}\n","/** SidebarNavigation — flat, framework-neutral sidebar nav list. */\nimport * as React from 'react';\n\nimport {\n\tSidebarGroup,\n\tSidebarGroupLabel,\n\tSidebarMenu,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n} from '@/components/base/sidebar';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport type { SidebarFlatNavigationProps, SidebarFlatNavItem, SidebarRenderItemContext } from '../sidebar.types';\nimport {\n\tDynamicIcon,\n\tgetNavKey,\n\tgetNavLabel,\n\tisPathMatch,\n\tNavBadge,\n\trenderSidebarLink,\n\tresolveNavBadge,\n\ttoPath,\n} from '../sidebar.utils';\n\nexport { DynamicIcon } from '../sidebar.utils';\nexport { DynamicIcon as Icon } from '../sidebar.utils';\n\nfunction NavLabel({ item }: { item: SidebarFlatNavItem }) {\n\tconst label = getNavLabel(item);\n\treturn (\n\t\t<Text tag=\"span\" className=\"truncate text-inherit\">\n\t\t\t{label}\n\t\t</Text>\n\t);\n}\n\nexport function SidebarNavigation({\n\titems,\n\tlabel = 'Platform',\n\tcurrentUrl = '/',\n\ticonMap = {},\n\tliveBadges,\n\trenderLink,\n\tLinkComponent,\n\trenderItem,\n\tclassName,\n}: SidebarFlatNavigationProps) {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\n\treturn (\n\t\t<SidebarGroup className={cn('px-2 py-0', className)}>\n\t\t\t{!!label && <SidebarGroupLabel>{label}</SidebarGroupLabel>}\n\t\t\t<SidebarMenu className=\"gap-0.5\">\n\t\t\t\t{items.map((item, index) => {\n\t\t\t\t\tconst active = !!item.href && isPathMatch(currentUrl, toPath(item.href));\n\t\t\t\t\tconst badge = resolveNavBadge(item.handle, item.badge, liveBadges);\n\t\t\t\t\tconst context: SidebarRenderItemContext = {\n\t\t\t\t\t\tdepth: 0,\n\t\t\t\t\t\tactive,\n\t\t\t\t\t\texpanded: false,\n\t\t\t\t\t\tbadge,\n\t\t\t\t\t\trenderLink: resolvedRenderLink,\n\t\t\t\t\t};\n\t\t\t\t\tconst labelNode = getNavLabel(item);\n\n\t\t\t\t\tif (renderItem) {\n\t\t\t\t\t\treturn <React.Fragment key={getNavKey(item, index)}>{renderItem(item, context)}</React.Fragment>;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst content = (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{!!item.icon && <DynamicIcon icon={item.icon} iconMap={iconMap} className=\"size-4\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t<NavLabel item={item} />\n\t\t\t\t\t\t\t{!!badge && <NavBadge value={badge} />}\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SidebarMenuItem key={getNavKey(item, index)}>\n\t\t\t\t\t\t\t<SidebarMenuButton\n\t\t\t\t\t\t\t\tisActive={active}\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\titem.href && !item.disabled\n\t\t\t\t\t\t\t\t\t\t? renderSidebarLink(resolvedRenderLink, item, content, undefined, active) as React.ReactElement\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttooltip={{ children: labelNode }}\n\t\t\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'h-8 font-medium',\n\t\t\t\t\t\t\t\t\tactive && 'bg-sidebar-accent text-sidebar-accent-foreground',\n\t\t\t\t\t\t\t\t\titem.disabled && 'cursor-not-allowed opacity-50',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t\t\t</SidebarMenuItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</SidebarMenu>\n\t\t</SidebarGroup>\n\t);\n}\n\n/** @deprecated Use `SidebarFlatNavItem` from `sidebar.types`. */\nexport type SidebarNavigationItem = SidebarFlatNavItem;\n"," \n/** SidebarNavigationUser — user profile dropdown for sidebar footer. */\nimport { ChevronsUpDown, LogOut, Settings, User } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/base/display/avatar';\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuTrigger,\n} from '@/components/base/navigation/dropdown-menu';\nimport { Text } from '@/components/typography';\nimport {\n\tSidebarMenu,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n} from '@/components/base/sidebar';\nimport { useStrings } from '@/lib/strings';\n\nimport type { LayoutUser } from '../../layout.types';\nimport { useSidebar } from '../sidebar.context';\n\nexport interface SidebarNavigationUserStrings {\n\tprofile: string;\n\tsettings: string;\n\tlogout: string;\n}\n\nexport const defaultSidebarNavigationUserStrings: SidebarNavigationUserStrings = {\n\tprofile: 'Profile',\n\tsettings: 'Settings',\n\tlogout: 'Log out',\n};\n\nexport interface SidebarNavigationUserProps {\n\tuser: LayoutUser;\n\tcustomContent?: ReactNode;\n\tonProfile?: () => void;\n\tonSettings?: () => void;\n\tonLogout?: () => void;\n\tstrings?: Partial<SidebarNavigationUserStrings>;\n\trenderTrigger?: (user: LayoutUser) => ReactNode;\n}\n\nfunction deriveInitials(name: string): string {\n\treturn name\n\t\t.split(' ')\n\t\t.map((part) => part[0])\n\t\t.filter(Boolean)\n\t\t.slice(0, 2)\n\t\t.join('')\n\t\t.toUpperCase();\n}\n\nexport function SidebarNavigationUser({\n\tuser,\n\tcustomContent,\n\tonProfile,\n\tonSettings,\n\tonLogout,\n\tstrings: stringsProp,\n\trenderTrigger,\n}: SidebarNavigationUserProps) {\n\tconst strings = useStrings(defaultSidebarNavigationUserStrings, stringsProp);\n\tconst { state, isMobile } = useSidebar();\n\tconst dropdownSide = isMobile || state !== 'collapsed' ? 'bottom' : 'right';\n\tconst initials = deriveInitials(user.name);\n\n\tconst defaultContent = (\n\t\t<>\n\t\t\t{!!onProfile && (\n\t\t\t\t<DropdownMenuItem onClick={onProfile}>\n\t\t\t\t\t<User className=\"mr-2 size-4\" aria-hidden=\"true\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">{strings.profile}</Text>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t)}\n\t\t\t{!!onSettings && (\n\t\t\t\t<DropdownMenuItem onClick={onSettings}>\n\t\t\t\t\t<Settings className=\"mr-2 size-4\" aria-hidden=\"true\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">{strings.settings}</Text>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t)}\n\t\t\t{!!(onProfile || onSettings) && !!onLogout && <DropdownMenuSeparator />}\n\t\t\t{!!onLogout && (\n\t\t\t\t<DropdownMenuItem onClick={onLogout}>\n\t\t\t\t\t<LogOut className=\"mr-2 size-4\" aria-hidden=\"true\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">{strings.logout}</Text>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t)}\n\t\t</>\n\t);\n\n\treturn (\n\t\t<SidebarMenu>\n\t\t\t<SidebarMenuItem>\n\t\t\t\t<DropdownMenu>\n\t\t\t\t\t<DropdownMenuTrigger\n\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t<SidebarMenuButton\n\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\tclassName=\"group text-sidebar-accent-foreground data-[state=open]:bg-sidebar-accent\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderTrigger?.(user) ?? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<div className=\"flex min-w-0 flex-1 items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<Avatar className=\"size-8 rounded-full\">\n\t\t\t\t\t\t\t\t\t\t{!!user.avatar && <AvatarImage src={user.avatar} alt={user.name} />}\n\t\t\t\t\t\t\t\t\t\t<AvatarFallback className=\"bg-sidebar-accent text-xs text-sidebar-accent-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{initials}\n\t\t\t\t\t\t\t\t\t\t</AvatarFallback>\n\t\t\t\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-1 flex-col items-start justify-center overflow-hidden\">\n\t\t\t\t\t\t\t\t\t\t<Text weight=\"medium\" className=\"w-full truncate\">{user.name}</Text>\n\t\t\t\t\t\t\t\t\t\t{!!user.email && <Text size=\"xs\" type=\"secondary\" className=\"w-full truncate\">{user.email}</Text>}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<ChevronsUpDown className=\"ml-auto size-4 shrink-0\" aria-hidden=\"true\" />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownMenuTrigger>\n\n\t\t\t\t\t<DropdownMenuContent\n\t\t\t\t\t\tclassName=\"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg\"\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tside={dropdownSide}\n\t\t\t\t\t\tsideOffset={4}\n\t\t\t\t\t>\n\t\t\t\t\t\t{customContent ?? defaultContent}\n\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t</DropdownMenu>\n\t\t\t</SidebarMenuItem>\n\t\t</SidebarMenu>\n\t);\n}\n\n/** @deprecated — use `LayoutUser` from `layout.types`. */\nexport type SidebarUserData = LayoutUser;\n"],"mappings":"qjBAWA,IAAa,EAAa,EAAA,EAS1B,SAAgB,EAAgB,CAC/B,cAAc,GACd,OACA,eACA,YACA,QACA,WACA,GAAG,GACqB,CACxB,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAiB,cAAe,YAC/B,EAAA,EAAA,KAAC,EAAA,EAAD,CACc,cACP,OACQ,eACP,QACP,UAAW,EAAA,GAAG,YAAa,CAAS,EACpC,GAAI,EAEH,UACwB,CAAA,CACV,CAAA,CAEnB,CCtCA,IAAa,EAAuB,SAIvB,EAAA,EAAA,KACX,ozBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,+DACT,QACE,oKACJ,EACA,KAAM,CACJ,QAAS,cACT,GAAI,cACJ,GAAI,iDACN,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,ECPA,IAAa,EAAwC,CACpD,YAAa,UACb,kBAAmB,8BACpB,EAUA,SAAgB,EAAQ,CACvB,OAAO,OACP,UAAU,UACV,cAAc,YACd,YACA,mBACA,WACA,QAAS,EACT,GAAG,GACa,CAChB,GAAM,CAAE,WAAU,QAAO,aAAY,iBAAkB,EAAW,EAC5D,EAAU,EAAA,WAAW,EAAuB,CAAW,EAmC7D,OAjCI,IAAgB,QAElB,EAAA,EAAA,KAAC,MAAD,CACC,YAAU,UACV,UAAW,EAAA,GAAG,8EAA+E,EAAkB,CAAS,EACxH,GAAI,EAEH,UACG,CAAA,EAIH,GAEF,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,KAAM,EAAY,aAAc,EAAe,GAAI,YACzD,EAAA,EAAA,MAAC,EAAA,EAAD,CACC,eAAa,UACb,YAAU,UACV,cAAY,OACZ,UAAW,EAAA,GAAG,+EAAgF,CAAgB,EAC9G,MAAO,CAAE,kBAAmB,CAAqB,EAC3C,gBANP,EAQC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAa,UAAU,mBAAvB,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAa,EAAQ,WAAwB,CAAA,GAC7C,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAmB,EAAQ,iBAAoC,CAAA,CACnD,KACb,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,8BAA+B,UAAc,CAAA,CAC/C,GACR,CAAA,GAKR,EAAA,EAAA,KAAC,MAAD,CACC,UAAU,yEACV,aAAY,EACZ,mBAAkB,IAAU,YAAc,EAAc,GACxD,eAAc,EACd,YAAW,EACX,YAAU,oBAEV,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,kHACA,IAAS,OACN,iFACA,mFACH,IAAY,YAAc,IAAY,QACnC,iGACA,0HACH,CACD,EACA,GAAI,YAEJ,EAAA,EAAA,KAAC,MAAD,CACC,eAAa,UACb,UAAW,EAAA,GACV,2NACA,CACD,EAEC,UACG,CAAA,CACD,CAAA,CACD,CAAA,CAEP,CCrFA,SAAS,EAAS,CAAE,QAAkC,CAErD,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,UAAU,iCAFd,EAAA,EAAY,CAGvB,CACI,CAAA,CAER,CAEA,SAAgB,EAAyB,CACxC,qBACA,aAAa,IACb,UAAU,CAAC,EACX,aACA,aACA,gBACA,YACA,aACA,aACiC,CACjC,IAAM,EAAqB,EAAA,EAAsB,CAAE,aAAY,eAAc,CAAC,EACxE,EAAY,GAA2B,CAAC,CAAC,GAAQ,EAAA,EAAY,EAAY,EAAA,EAAO,CAAI,CAAC,EAErF,EAAkB,GAAuC,CAC9D,IAAI,EAAU,GACV,EAAU,GACd,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,GAAK,EAAG,CAC5C,IAAM,EAAU,EAAS,GACnB,EAAO,GAAS,KAAO,EAAA,EAAO,EAAQ,IAAI,EAAI,GAChD,GAAQ,EAAA,EAAY,EAAY,CAAI,GAAK,EAAK,OAAS,IAC1D,EAAU,EAAK,OACf,EAAU,EAEZ,CACA,OAAO,CACR,EAEM,EAAkB,GACvB,CAAC,CAAC,GAAU,KAAM,GAAU,EAAS,EAAM,IAAI,GAAK,EAAe,EAAM,QAAQ,CAAC,EAE7E,GAAqB,EAAsB,EAAQ,EAAG,EAAQ,IAAuB,CAC1F,IAAM,EAAc,CAAC,CAAC,EAAK,UAAU,OAC/B,EAAa,EAAS,EAAK,IAAI,EAC/B,EAAc,EAAc,EAAe,EAAK,QAAQ,EAAI,GAC5D,EAAW,GAAc,EACzB,EAAQ,EAAA,EAAgB,EAAK,OAAQ,EAAK,MAAO,CAAU,EAC3D,EAAQ,EAAA,EAAY,CAAI,EACxB,EAAoC,CACzC,QACA,OAAQ,EACR,WACA,QACA,WAAY,CACb,EAEA,GAAI,EACH,OAAO,EAAA,EAAA,KAAC,EAAM,SAAP,CAAA,SAA8C,EAAW,EAAM,CAAO,CAAkB,EAAnE,EAAA,EAAU,EAAM,CAAK,CAA8C,EAGhG,GAAI,EAAa,CAChB,IAAM,EAAiB,EAAe,EAAK,UAAY,CAAC,CAAC,EACnD,GACL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,CAAC,CAAC,EAAK,OAAQ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,KAAM,EAAK,KAAe,UAAS,UAAU,SAAS,cAAY,MAAQ,CAAA,GACvG,EAAA,EAAA,KAAC,EAAD,CAAgB,MAAO,CAAA,EACtB,CAAC,CAAC,IAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAU,MAAO,CAAQ,CAAA,CACpC,CAAA,CAAA,EAGH,OACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,SAAU,EACV,OACC,EAAK,MAAQ,CAAC,EAAK,SAChB,EAAA,EAAkB,EAAoB,EAAM,EAAS,IAAA,GAAW,CAAQ,EACxE,IAAA,GAEJ,QAAS,CAAE,SAAU,CAAM,EAC3B,SAAU,EAAK,SACf,UAAW,EAAA,GACV,kBACA,GAAc,mDACd,CAAC,GAAc,GAAe,sDAC9B,EAAK,UAAY,+BAClB,WAEC,CACiB,CAAA,EAElB,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CAAgB,UAAU,mBACxB,EAAK,UAAU,KAAK,EAAO,IAAe,CAC1C,IAAM,EAAiB,IAAe,GAAkB,EAAS,EAAM,IAAI,EACrE,EAAa,EAAA,EAAgB,EAAM,OAAQ,EAAM,MAAO,CAAU,EAClE,EAAa,EAAA,EAAY,CAAK,EAC9B,GACL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,OAAO,GAAe,UAAY,OAAO,GAAe,UACxD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,UAAU,gDACzB,CACI,CAAA,EACH,EACH,CAAC,CAAC,IAAc,EAAA,EAAA,KAAC,EAAA,EAAD,CAAU,MAAO,EAAY,KAAK,OAAS,CAAA,CAC3D,CAAA,CAAA,EAEH,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,SAAU,EACV,OACC,EAAM,MAAQ,CAAC,EAAM,SACnB,EAAA,EAAkB,EAAoB,EAAO,EAAc,IAAA,GAAW,CAAc,EACnF,IAAA,GAEJ,UAAW,EAAA,GAAG,SAAU,GAAkB,8CAA8C,WAEvF,CACoB,CAAA,CACH,EAZK,EAAA,EAAU,EAAO,CAAU,CAYhC,CAEtB,CAAC,CACc,CAAA,CAEF,CAAA,EAtDM,EAAA,EAAU,EAAM,CAAK,CAsD3B,CAEnB,CAEA,IAAM,GACL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,CAAC,CAAC,EAAK,OAAQ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,KAAM,EAAK,KAAe,UAAS,UAAU,SAAS,cAAY,MAAQ,CAAA,GACvG,EAAA,EAAA,KAAC,EAAD,CAAgB,MAAO,CAAA,EACtB,CAAC,CAAC,IAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAU,MAAO,CAAQ,CAAA,CACpC,CAAA,CAAA,EAGH,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,SAAU,EACV,OACC,EAAK,MAAQ,CAAC,EAAK,SAChB,EAAA,EAAkB,EAAoB,EAAM,EAAS,IAAA,GAAW,CAAU,EAC1E,IAAA,GAEJ,QAAS,CAAE,SAAU,CAAM,EAC3B,SAAU,EAAK,SACf,UAAW,EAAA,GACV,kBACA,GAAc,mDACd,EAAK,UAAY,+BAClB,WAEC,CACiB,CAAA,CACH,EAlBK,EAAA,EAAU,EAAM,CAAK,CAkB1B,CAElB,EAEM,EAAe,OAAO,QAAQ,CAAkB,EAAE,QAAQ,EAAG,KAAW,EAAM,OAAS,CAAC,EAG9F,OAFI,EAAa,SAAW,EAAU,GAAa,MAGlD,EAAA,EAAA,KAAC,MAAD,CAAgB,qBACd,EAAa,KAAK,CAAC,EAAW,GAAQ,KACtC,EAAA,EAAA,MAAC,EAAM,SAAP,CAAA,SAAA,EACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAc,UAAU,qBAAxB,CACE,CAAC,EAAU,WAAW,GAAG,IAAK,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAoB,CAA6B,CAAA,GAChF,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,UAAU,mBACrB,EAAM,KAAK,EAAM,IAAU,EAAkB,EAAM,EAAG,CAAK,CAAC,CACjD,CAAA,CACA,IACb,EAAa,EAAa,OAAS,IACnC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAkB,UAAU,gDAAkD,CAAA,CAEhE,CAAA,EAVK,CAUL,CAChB,CACG,CAAA,CAEP,CCpMA,SAAgB,EAAY,CAAE,OAAM,gBAAgB,KAAM,aAA+B,CACxF,GAAM,CAAE,SAAU,EAAW,EAEvB,EADc,IAAU,YACA,EAAgB,EAE9C,OADK,GACE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,GAAG,UAAW,CAAS,WAAI,CAAa,CAAA,EAD1C,IAEtB,CCQA,SAAgB,EAAwB,CACvC,QACA,QACA,aAAa,IACb,UAAU,CAAC,EACX,aACA,aACA,gBACA,aACgC,CAChC,IAAM,EAAqB,EAAA,EAAsB,CAAE,aAAY,eAAc,CAAC,EAE9E,OACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAc,UAAW,EAAA,GAAG,oCAAqC,CAAS,WAA1E,CACE,CAAC,CAAC,IAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAoB,CAAyB,CAAA,GACzD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,UAAU,mBACrB,EAAM,KAAK,EAAM,IAAU,CAC3B,IAAM,EAAS,CAAC,CAAC,EAAK,MAAQ,EAAA,EAAY,EAAY,EAAA,EAAO,EAAK,IAAI,CAAC,EACjE,EAAQ,EAAA,EAAgB,EAAK,OAAQ,EAAK,MAAO,CAAU,EAC3D,EAAY,EAAA,EAAY,CAAI,EAC5B,GACL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,CAAC,CAAC,EAAK,OAAQ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,KAAM,EAAK,KAAe,UAAS,UAAU,SAAS,cAAY,MAAQ,CAAA,EACtG,OAAO,GAAc,UAAY,OAAO,GAAc,UACtD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,UAAU,iCAAyB,CAAgB,CAAA,EACjE,EACH,CAAC,CAAC,IAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAU,MAAO,CAAQ,CAAA,EACpC,CAAC,CAAC,EAAK,WAAY,EAAA,EAAA,KAAC,EAAA,aAAD,CAAc,UAAU,4BAA4B,cAAY,MAAQ,CAAA,CAC3F,CAAA,CAAA,EAEH,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,SAAU,EACV,OACC,EAAK,MAAQ,CAAC,EAAK,SAChB,EAAA,EAAkB,EAAoB,EAAM,EAAS,IAAA,GAAW,CAAM,EACtE,IAAA,GAEJ,UAAW,EAAA,GACV,kFACA,GAAU,kDACX,EACA,QAAS,CAAE,SAAU,CAAU,EAC/B,SAAU,EAAK,kBAEd,CACiB,CAAA,CACH,EAjBK,EAAA,EAAU,EAAM,CAAK,CAiB1B,CAEnB,CAAC,CACW,CAAA,CACO,CAAA,CACR,GAEhB,CC2BA,IAAa,EAA0E,CACtF,MAAO,YACP,OAAQ,kBACT,ECrFA,SAAgB,EAAyB,CACxC,OACA,gBACA,iBACA,aACA,gBACA,QAAS,EACT,oBACiC,CACjC,IAAM,EAAU,EAAA,WAAW,EAAwC,CAAW,EACxE,EAAqB,EAAA,EAAsB,CAAE,aAAY,eAAc,CAAC,EACxE,CAAE,SAAU,EAAW,EACvB,EAAc,IAAU,YAG9B,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,EACC,EAAA,EAAA,MAAC,EAAA,EAAD,CACC,QACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,KACL,UAAU,sFACV,CAAA,WALH,EAQC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kDAAf,CAde,EAAe,GAAiB,EAAQ,EAgBrD,CAAC,IACD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAK,KAAK,UAAU,mBACnC,EAAQ,MACJ,CAAA,CAEH,IACJ,CAAC,IAAe,EAAA,EAAA,KAAC,EAAA,eAAD,CAAgB,UAAU,0BAA0B,cAAY,MAAQ,CAAA,CACrE,KACrB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAqB,UAAW,EAAA,GAAG,WAAY,CAAgB,EAAG,MAAM,QAAQ,KAAK,QAAQ,WAAY,YACxG,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,OAAO,oBAAY,EAAQ,KAAY,CAAA,CAC3B,CAAA,GACnB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAwB,CAAA,EACvB,EAAe,IAAK,GAAS,CAE7B,IAAM,GACL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAHW,EAAK,MAAQ,EAAA,aAGxB,CAAM,UAAU,kBAAkB,cAAY,MAAQ,CAAA,GACtD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAK,KAAK,UAAU,wBAAgB,EAAK,KAAY,CAAA,CACrE,CAAA,CAAA,EAEH,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAEC,OACC,EAAmB,CAClB,KAAM,EAAK,IACX,SAAU,EAAK,UAAY,GAC3B,SAAU,KACV,UAAW,yBACZ,CAAC,WAGD,CACgB,EAXZ,EAAK,GAWO,CAEpB,CAAC,CACiB,CAAA,CAAA,CACC,CAAA,CACR,CAAA,CAAA,CACE,CAAA,CACL,CAAA,CAEf,CC3EA,SAAgB,EAAW,CAC1B,mBACA,iBAAiB,CAAC,EAClB,cACA,OACA,gBACA,iBAAiB,CAAC,EAClB,mBACA,4BACA,kBACA,gBACA,UACA,aAAa,IACb,aACA,aACA,gBACA,UACA,cAAc,OACd,UAAU,UACV,OAAO,OACP,YACA,mBACA,mBACA,QACA,cACmB,CACnB,IAAM,EAAY,EAAe,OAAS,GAAK,CAAC,CAAC,GAAO,OAClD,EAAY,GAAW,CAAC,EACxB,EAAoB,EAAe,OAAS,EAElD,OACC,EAAA,EAAA,MAAC,EAAD,CAAsB,cAAsB,UAAe,OAAM,UAAW,EAAA,GAAG,QAAS,CAAS,EAAqB,4BAAtH,CACE,GAAO,SAAW,CAAC,CAAC,IACpB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAe,UAAW,WACxB,GACA,EAAA,EAAA,KAAC,EAAD,CACO,OACS,gBACC,iBAChB,QAAS,EACT,iBAAkB,EACN,aACG,eACf,CAAA,GAED,EAAA,EAAA,KAAC,EAAD,CAAmB,OAAqB,gBAAe,UAAW,CAAgB,CAAA,CAErE,CAAA,IAGhB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAgB,UAAW,YAC1B,EAAA,EAAA,MAAC,EAAA,EAAD,CAAY,UAAU,8BAAtB,CACE,GAAO,iBACP,EACA,GAAO,UAAW,EAAA,EAAA,KAAC,EAAD,CAAqB,CAAA,GAEvC,EAAA,EAAA,KAAC,EAAD,CACC,mBAAoB,EACR,aACH,UACG,aACA,aACG,gBACf,UAAW,GAAO,MACN,YACZ,CAAA,EAED,GAAO,eACG,GACG,CAAA,EAEf,IACA,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SACE,GAAO,SACP,EAAA,EAAA,KAAC,EAAD,CACC,MAAO,EACP,MAAO,EACK,aACH,UACG,aACA,aACG,eACf,CAAA,CAEY,CAAA,CAER,GAEX,CAEA,SAAS,GAAqB,CAC7B,IAAM,EAAS,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,EAE7B,OACC,EAAA,EAAA,KAAA,EAAA,SAAA,CAAA,SACE,EAAO,KAAK,EAAO,KACnB,EAAA,EAAA,MAAC,EAAM,SAAP,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAc,UAAU,sBACvB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,UAAU,mBACrB,MAAM,KAAK,CAAE,OAAQ,CAAM,GAAI,EAAG,KAClC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4CAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAU,UAAU,0BAA4B,CAAA,GAChD,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,UAAU,gBACV,MAAO,CAAE,MAAO,GAAG,IAAO,EAAW,EAAI,EAAI,IAAM,GAAI,GAAI,CAC3D,CAAA,CACG,GACW,EARK,CAQL,CACjB,CACW,CAAA,CACA,CAAA,EACb,EAAW,EAAO,OAAS,IAC3B,EAAA,EAAA,KAAC,EAAA,EAAD,CAAkB,UAAU,8CAAgD,CAAA,CAE9D,CAAA,EAnBK,CAmBL,CAChB,CACA,CAAA,CAEJ,CCpHA,SAAS,EAAS,CAAE,QAAsC,CAEzD,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,UAAU,iCAFd,EAAA,EAAY,CAGvB,CACI,CAAA,CAER,CAEA,SAAgB,EAAkB,CACjC,QACA,QAAQ,WACR,aAAa,IACb,UAAU,CAAC,EACX,aACA,aACA,gBACA,aACA,aAC8B,CAC9B,IAAM,EAAqB,EAAA,EAAsB,CAAE,aAAY,eAAc,CAAC,EAE9E,OACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAc,UAAW,EAAA,GAAG,YAAa,CAAS,WAAlD,CACE,CAAC,CAAC,IAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAoB,CAAyB,CAAA,GACzD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,UAAU,mBACrB,EAAM,KAAK,EAAM,IAAU,CAC3B,IAAM,EAAS,CAAC,CAAC,EAAK,MAAQ,EAAA,EAAY,EAAY,EAAA,EAAO,EAAK,IAAI,CAAC,EACjE,EAAQ,EAAA,EAAgB,EAAK,OAAQ,EAAK,MAAO,CAAU,EAC3D,EAAoC,CACzC,MAAO,EACP,SACA,SAAU,GACV,QACA,WAAY,CACb,EACM,EAAY,EAAA,EAAY,CAAI,EAElC,GAAI,EACH,OAAO,EAAA,EAAA,KAAC,EAAM,SAAP,CAAA,SAA8C,EAAW,EAAM,CAAO,CAAkB,EAAnE,EAAA,EAAU,EAAM,CAAK,CAA8C,EAGhG,IAAM,GACL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,CAAC,CAAC,EAAK,OAAQ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,KAAM,EAAK,KAAe,UAAS,UAAU,SAAS,cAAY,MAAQ,CAAA,GACvG,EAAA,EAAA,KAAC,EAAD,CAAgB,MAAO,CAAA,EACtB,CAAC,CAAC,IAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAU,MAAO,CAAQ,CAAA,CACpC,CAAA,CAAA,EAGH,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,SAAU,EACV,OACC,EAAK,MAAQ,CAAC,EAAK,SAChB,EAAA,EAAkB,EAAoB,EAAM,EAAS,IAAA,GAAW,CAAM,EACtE,IAAA,GAEJ,QAAS,CAAE,SAAU,CAAU,EAC/B,SAAU,EAAK,SACf,UAAW,EAAA,GACV,kBACA,GAAU,mDACV,EAAK,UAAY,+BAClB,WAEC,CACiB,CAAA,CACH,EAlBK,EAAA,EAAU,EAAM,CAAK,CAkB1B,CAEnB,CAAC,CACW,CAAA,CACA,GAEhB,CC1EA,IAAa,EAAoE,CAChF,QAAS,UACT,SAAU,WACV,OAAQ,SACT,EAYA,SAAS,EAAe,EAAsB,CAC7C,OAAO,EACL,MAAM,GAAG,EACT,IAAK,GAAS,EAAK,EAAE,EACrB,OAAO,OAAO,EACd,MAAM,EAAG,CAAC,EACV,KAAK,EAAE,EACP,YAAY,CACf,CAEA,SAAgB,EAAsB,CACrC,OACA,gBACA,YACA,aACA,WACA,QAAS,EACT,iBAC8B,CAC9B,IAAM,EAAU,EAAA,WAAW,EAAqC,CAAW,EACrE,CAAE,QAAO,YAAa,EAAW,EACjC,EAAe,GAAY,IAAU,YAAc,SAAW,QAC9D,EAAW,EAAe,EAAK,IAAI,EAEnC,GACL,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,CAAC,CAAC,IACF,EAAA,EAAA,MAAC,EAAA,EAAD,CAAkB,QAAS,WAA3B,EACC,EAAA,EAAA,KAAC,EAAA,KAAD,CAAM,UAAU,cAAc,cAAY,MAAQ,CAAA,GAClD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAK,KAAK,UAAU,wBAAgB,EAAQ,OAAc,CAAA,CAC1D,IAElB,CAAC,CAAC,IACF,EAAA,EAAA,MAAC,EAAA,EAAD,CAAkB,QAAS,WAA3B,EACC,EAAA,EAAA,KAAC,EAAA,SAAD,CAAU,UAAU,cAAc,cAAY,MAAQ,CAAA,GACtD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAK,KAAK,UAAU,wBAAgB,EAAQ,QAAe,CAAA,CAC3D,IAElB,CAAC,EAAE,GAAa,IAAe,CAAC,CAAC,IAAY,EAAA,EAAA,KAAC,EAAA,EAAD,CAAwB,CAAA,EACrE,CAAC,CAAC,IACF,EAAA,EAAA,MAAC,EAAA,EAAD,CAAkB,QAAS,WAA3B,EACC,EAAA,EAAA,KAAC,EAAA,OAAD,CAAQ,UAAU,cAAc,cAAY,MAAQ,CAAA,GACpD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAK,KAAK,UAAU,wBAAgB,EAAQ,MAAa,CAAA,CACzD,GAElB,CAAA,CAAA,EAGH,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,QACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,KACL,UAAU,0EACV,CAAA,WAGD,IAAgB,CAAI,IACpB,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kDAAf,EACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAQ,UAAU,+BAAlB,CACE,CAAC,CAAC,EAAK,SAAU,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,IAAK,EAAK,OAAQ,IAAK,EAAK,IAAO,CAAA,GAClE,EAAA,EAAA,KAAC,EAAA,EAAD,CAAgB,UAAU,oEACxB,CACc,CAAA,CACT,KACR,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2EAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,OAAO,SAAS,UAAU,2BAAmB,EAAK,IAAW,CAAA,EAClE,CAAC,CAAC,EAAK,QAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,UAAU,2BAAmB,EAAK,KAAY,CAAA,CAC5F,GACD,KACL,EAAA,EAAA,KAAC,EAAA,eAAD,CAAgB,UAAU,0BAA0B,cAAY,MAAQ,CAAA,CACvE,CAAA,CAAA,CAEiB,CAAA,GAErB,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,UAAU,8DACV,MAAM,MACN,KAAM,EACN,WAAY,WAEX,GAAiB,CACE,CAAA,CACR,CAAA,CAAA,CACE,CAAA,CACL,CAAA,CAEf"}
@@ -1,361 +0,0 @@
1
- import { useStrings as e } from "../lib/strings.js";
2
- import { r as t } from "./ui-provider-C8Ot88lS.js";
3
- import { cn as n } from "../lib/utils.js";
4
- import { n as r } from "./heading-HeP06nXG.js";
5
- import { t as i } from "./button-SuocMQFT.js";
6
- import { i as a, n as o, t as s } from "./tooltip-CLr_sPX8.js";
7
- import { r as c, t as l } from "./alert-k60OnTtb.js";
8
- import { a as u, g as d, r as f, t as p } from "./dropdown-menu-CoWmrjYX.js";
9
- import { Fragment as m, forwardRef as h, isValidElement as g, useCallback as _, useState as v } from "react";
10
- import { jsx as y, jsxs as b } from "react/jsx-runtime";
11
- import { ChevronDown as x, Info as S, MoreHorizontal as C } from "lucide-react";
12
- //#region src/components/ui/card.tsx
13
- function w({ className: e, size: t = "default", ...r }) {
14
- return /* @__PURE__ */ y("div", {
15
- "data-slot": "card",
16
- "data-size": t,
17
- className: n("ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col", e),
18
- ...r
19
- });
20
- }
21
- function T({ className: e, ...t }) {
22
- return /* @__PURE__ */ y("div", {
23
- "data-slot": "card-header",
24
- className: n("gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]", e),
25
- ...t
26
- });
27
- }
28
- function E({ className: e, ...t }) {
29
- return /* @__PURE__ */ y("div", {
30
- "data-slot": "card-title",
31
- className: n("text-base leading-normal font-medium group-data-[size=sm]/card:text-sm", e),
32
- ...t
33
- });
34
- }
35
- function D({ className: e, ...t }) {
36
- return /* @__PURE__ */ y("div", {
37
- "data-slot": "card-description",
38
- className: n("text-muted-foreground text-sm", e),
39
- ...t
40
- });
41
- }
42
- function O({ className: e, ...t }) {
43
- return /* @__PURE__ */ y("div", {
44
- "data-slot": "card-content",
45
- className: n("px-6 group-data-[size=sm]/card:px-4", e),
46
- ...t
47
- });
48
- }
49
- function k({ className: e, ...t }) {
50
- return /* @__PURE__ */ y("div", {
51
- "data-slot": "card-footer",
52
- className: n("rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center", e),
53
- ...t
54
- });
55
- }
56
- //#endregion
57
- //#region src/components/base/cards/smart-card.tokens.ts
58
- var A = {
59
- root: "card--component",
60
- header: "card--header",
61
- title: "card--title",
62
- description: "card--description",
63
- content: "card--content",
64
- footer: "card--footer",
65
- alert: "card--alert"
66
- }, j = {
67
- sm: {
68
- shell: "gap-3 py-4",
69
- headerX: "px-4",
70
- contentX: "px-4",
71
- contentY: "py-0",
72
- footerX: "px-4",
73
- alertX: "px-4",
74
- alertOffsetWithHeader: "-mt-1",
75
- alertOffsetStandalone: "mt-0"
76
- },
77
- base: {
78
- shell: "gap-4 py-6",
79
- headerX: "px-6",
80
- contentX: "px-6",
81
- contentY: "py-0",
82
- footerX: "px-6",
83
- alertX: "px-6",
84
- alertOffsetWithHeader: "-mt-1",
85
- alertOffsetStandalone: "mt-0"
86
- },
87
- lg: {
88
- shell: "gap-4 py-6",
89
- headerX: "px-6",
90
- contentX: "px-6",
91
- contentY: "py-0",
92
- footerX: "px-6",
93
- alertX: "px-6",
94
- alertOffsetWithHeader: "-mt-1",
95
- alertOffsetStandalone: "mt-0"
96
- }
97
- }, M = {
98
- card: "rounded-lg border border-border bg-card text-card-foreground shadow-xs",
99
- flat: "bg-transparent text-card-foreground border-none shadow-none",
100
- framed: n("relative bg-card text-card-foreground shadow-xs", "rounded-lg border-[3px] border-border/30", "before:pointer-events-none before:absolute before:inset-0 before:rounded-md before:border before:border-border/60 before:content-[\"\"]")
101
- };
102
- //#endregion
103
- //#region src/components/base/cards/partials/has-renderable-content.ts
104
- function N(e) {
105
- return e == null || typeof e == "boolean" ? !1 : typeof e == "string" ? e.trim().length > 0 : typeof e == "number" || typeof e == "bigint" ? !0 : Array.isArray(e) ? e.some(N) : g(e) && e.type === m ? N(e.props.children) : !0;
106
- }
107
- //#endregion
108
- //#region src/components/base/cards/partials/card-primitives.tsx
109
- function P({ className: e, ...t }) {
110
- return /* @__PURE__ */ y(w, {
111
- className: n(A.root, "flex w-full flex-col gap-3 py-4 ring-0", e),
112
- ...t
113
- });
114
- }
115
- function F({ className: e, ...t }) {
116
- return /* @__PURE__ */ y(T, {
117
- className: n(A.header, "flex flex-col gap-0.5 px-4", e),
118
- ...t
119
- });
120
- }
121
- function I({ className: e, children: t, ...i }) {
122
- return N(t) ? typeof t == "string" || typeof t == "number" || typeof t == "bigint" ? /* @__PURE__ */ y(r, {
123
- "data-slot": "card-title",
124
- tag: "div",
125
- weight: "semibold",
126
- lineHeight: "none",
127
- className: n(A.title, "min-w-0 leading-none font-semibold", e),
128
- ...i,
129
- children: t
130
- }) : /* @__PURE__ */ y(E, {
131
- className: n(A.title, "min-w-0 leading-none font-semibold", e),
132
- ...i,
133
- children: t
134
- }) : null;
135
- }
136
- function L({ className: e, children: t, ...i }) {
137
- return N(t) ? typeof t == "string" || typeof t == "number" || typeof t == "bigint" ? /* @__PURE__ */ y(r, {
138
- "data-slot": "card-description",
139
- tag: "div",
140
- type: "secondary",
141
- className: n(A.description, "text-muted-foreground text-sm", e),
142
- ...i,
143
- children: t
144
- }) : /* @__PURE__ */ y(D, {
145
- className: n(A.description, "text-muted-foreground text-sm", e),
146
- ...i,
147
- children: t
148
- }) : null;
149
- }
150
- function R({ className: e, ...t }) {
151
- return /* @__PURE__ */ y(O, {
152
- className: n(A.content, "px-4", e),
153
- ...t
154
- });
155
- }
156
- function z({ className: e, ...t }) {
157
- return /* @__PURE__ */ y(k, {
158
- className: n(A.footer, "flex items-center px-4", e),
159
- ...t
160
- });
161
- }
162
- //#endregion
163
- //#region src/components/base/cards/partials/smart-card-alert.tsx
164
- function ee({ alert: e, alertVariant: t, hasHeader: r, padding: i }) {
165
- let a = j[i];
166
- return /* @__PURE__ */ y("div", {
167
- className: n(A.alert, a.alertX, r ? a.alertOffsetWithHeader : a.alertOffsetStandalone),
168
- children: /* @__PURE__ */ y(l, {
169
- variant: t,
170
- children: /* @__PURE__ */ y(c, { children: e })
171
- })
172
- });
173
- }
174
- //#endregion
175
- //#region src/components/base/cards/partials/smart-card-actions-menu.tsx
176
- function B({ actions: e, actionsLabel: t }) {
177
- return /* @__PURE__ */ b(p, { children: [/* @__PURE__ */ y(d, {
178
- type: "button",
179
- "aria-label": t,
180
- className: n("inline-flex size-7 shrink-0 items-center justify-center rounded-md p-0", "text-muted-foreground hover:bg-accent hover:text-accent-foreground", "outline-none focus-visible:ring-2 focus-visible:ring-ring/50", "transition-colors"),
181
- children: /* @__PURE__ */ y(C, { className: "size-4" })
182
- }), /* @__PURE__ */ y(f, {
183
- align: "end",
184
- className: "min-w-[140px]",
185
- children: e.map((e, t) => /* @__PURE__ */ b(u, {
186
- onClick: e.onClick,
187
- disabled: e.disabled,
188
- className: "gap-1.5 px-2 py-1 text-xs",
189
- children: [!!e.icon && /* @__PURE__ */ y("span", {
190
- className: "flex shrink-0 items-center",
191
- children: e.icon
192
- }), e.label]
193
- }, e.id ?? `${e.label}-${t}`))
194
- })] });
195
- }
196
- //#endregion
197
- //#region src/components/base/cards/partials/smart-card-header-row.tsx
198
- function V({ tooltipLabel: e }) {
199
- return /* @__PURE__ */ y(a, { render: (t) => {
200
- let r = t;
201
- return /* @__PURE__ */ y(i, {
202
- ...r,
203
- type: "button",
204
- variant: "secondary",
205
- buttonStyle: "ghost",
206
- size: "icon-xs",
207
- className: n("h-5 w-5 text-muted-foreground", r.className),
208
- "aria-label": e,
209
- children: /* @__PURE__ */ y(S, { className: "size-3.5" })
210
- });
211
- } });
212
- }
213
- function te({ icon: e, title: t, titleSuffix: r, description: i, tooltip: a, tooltipLabel: c, headerStart: l, headerEnd: u, headerAction: d, actions: f, actionsLabel: p, padding: m, className: h }) {
214
- let g = Array.isArray(f) ? f : [], _ = g.length > 0, v = N(e), x = N(t), S = N(r), C = N(i), w = N(a), T = N(l), E = N(u), D = N(d), O = v || x || S || w, k = E || D || _;
215
- return /* @__PURE__ */ b(F, {
216
- className: n("flex-row items-start justify-between gap-3 pb-0", j[m].headerX, h),
217
- children: [/* @__PURE__ */ b("div", {
218
- className: "flex min-w-0 flex-1 flex-col gap-0.5",
219
- children: [
220
- !!T && l,
221
- !!O && /* @__PURE__ */ b("div", {
222
- className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",
223
- children: [
224
- !!v && /* @__PURE__ */ y("span", {
225
- className: "flex shrink-0 items-center text-muted-foreground",
226
- children: e
227
- }),
228
- /* @__PURE__ */ y(I, { children: t }),
229
- !!S && /* @__PURE__ */ y("div", {
230
- className: "flex items-center gap-2",
231
- children: r
232
- }),
233
- !!w && /* @__PURE__ */ b(s, { children: [/* @__PURE__ */ y(V, { tooltipLabel: c }), /* @__PURE__ */ y(o, { children: a })] })
234
- ]
235
- }),
236
- !!C && /* @__PURE__ */ y(L, {
237
- className: "text-left",
238
- children: i
239
- })
240
- ]
241
- }), !!k && /* @__PURE__ */ b("div", {
242
- className: "flex shrink-0 items-center gap-2",
243
- children: [
244
- !!E && u,
245
- !!D && d,
246
- !!_ && /* @__PURE__ */ y(B, {
247
- actions: g,
248
- actionsLabel: p
249
- })
250
- ]
251
- })]
252
- });
253
- }
254
- //#endregion
255
- //#region src/components/base/cards/smart-card.strings.ts
256
- var H = {
257
- expandLabel: "Expand card",
258
- collapseLabel: "Collapse card"
259
- };
260
- //#endregion
261
- //#region src/components/base/cards/partials/smart-card-skeleton.tsx
262
- function U({ title: e, lines: t = 2, className: r }) {
263
- let i = ({ barClassName: e }) => /* @__PURE__ */ y("div", { className: n("animate-pulse rounded bg-muted", e) });
264
- return /* @__PURE__ */ b(P, {
265
- className: n(M.card, "gap-4 py-6", r),
266
- children: [/* @__PURE__ */ y(F, {
267
- className: "flex-col gap-1.5 px-6 pb-0",
268
- children: e ? /* @__PURE__ */ y(I, { children: e }) : /* @__PURE__ */ y(i, { barClassName: "h-4 w-32" })
269
- }), /* @__PURE__ */ y(R, {
270
- className: "space-y-3 px-6 py-0",
271
- children: Array.from({ length: t }, (e, t) => /* @__PURE__ */ y(i, { barClassName: n("h-4", t === 0 ? "w-full" : "w-3/4") }, `skel-${String(t)}`))
272
- })]
273
- });
274
- }
275
- U.displayName = "SmartCardSkeleton";
276
- //#endregion
277
- //#region src/components/base/cards/smart-card.tsx
278
- var W = h(function({ icon: r, title: a, titleSuffix: o, description: s, tooltip: c, tooltipAriaLabel: l = "Card info", footerText: u, alert: d, alertVariant: f = "default", surface: p, transparent: m = !1, padding: h, actions: g, actionsLabel: S = "Card actions", headerAction: C, headerStart: w, headerEnd: T, contentTop: E, contentBottom: D, footerSlot: O, headerDivider: k = !1, footerDivider: A = !1, expandable: F = !1, defaultExpanded: I = !1, expanded: L, onExpandedChange: B, children: V, className: U, headerClassName: W, contentClassName: ne, footerClassName: G, strings: re }, ie) {
279
- let { defaultPadding: ae } = t(), K = h ?? ae ?? "sm", q = j[K], J = Array.isArray(g) ? g : [], Y = e(H, re), X = F !== !1 && F !== void 0, Z = typeof F == "object" && F?.collapsedMaxHeight !== void 0 ? F.collapsedMaxHeight : "12rem", oe = typeof Z == "number" ? `${Z}px` : Z, Q = L !== void 0, [se, ce] = v(I), $ = Q ? L : se, le = _(() => {
280
- let e = !$;
281
- Q || ce(e), B?.(e);
282
- }, [
283
- $,
284
- Q,
285
- B
286
- ]), ue = N(r) || N(a) || N(s) || J.length > 0 || N(C) || N(w) || N(T), de = N(d), fe = N(u), pe = N(O), me = N(E), he = N(D), ge = l.trim().length > 0 ? l : "Card info", _e = X ? { maxHeight: $ ? "" : oe } : void 0, ve = p ?? (m ? "flat" : "card");
287
- return /* @__PURE__ */ b(P, {
288
- ref: ie,
289
- "data-surface": ve,
290
- className: n(M[ve], q.shell, X && "relative pb-1 !overflow-visible", U),
291
- children: [
292
- !!ue && /* @__PURE__ */ y(te, {
293
- icon: r,
294
- title: a,
295
- titleSuffix: o,
296
- description: s,
297
- tooltip: c,
298
- tooltipLabel: ge,
299
- headerStart: w,
300
- headerEnd: T,
301
- headerAction: C,
302
- actions: J,
303
- actionsLabel: S,
304
- padding: K,
305
- className: n(k && "pb-3 border-b border-border/60", W)
306
- }),
307
- !!de && /* @__PURE__ */ y(ee, {
308
- alert: d,
309
- alertVariant: f,
310
- hasHeader: ue,
311
- padding: K
312
- }),
313
- /* @__PURE__ */ b(R, {
314
- className: n(q.contentX, q.contentY, X && "relative overflow-hidden transition-[max-height] duration-500 ease-in-out", ne),
315
- style: _e,
316
- children: [
317
- !!me && E,
318
- V,
319
- !!he && D,
320
- !!X && !$ && /* @__PURE__ */ y("div", {
321
- "aria-hidden": "true",
322
- className: "from-background pointer-events-none absolute inset-x-0 bottom-0 h-20 rounded-b-lg bg-linear-to-t to-transparent"
323
- })
324
- ]
325
- }),
326
- !!fe && /* @__PURE__ */ y(z, {
327
- className: n("justify-end text-xs text-muted-foreground", q.footerX, A && "pt-3 border-t border-border/60", G),
328
- children: u
329
- }),
330
- !!pe && /* @__PURE__ */ y(z, {
331
- className: n("flex-col items-stretch", q.footerX, A && "pt-3 border-t border-border/60", G),
332
- children: O
333
- }),
334
- !!X && /* @__PURE__ */ y("div", {
335
- className: "absolute -bottom-4 left-1/2 -translate-x-1/2 z-10",
336
- children: /* @__PURE__ */ b(i, {
337
- type: "button",
338
- variant: "secondary",
339
- buttonStyle: "outline",
340
- size: "icon-sm",
341
- onClick: le,
342
- "aria-expanded": $,
343
- "aria-label": $ ? Y.collapseLabel : Y.expandLabel,
344
- className: n("inline-flex size-8 items-center justify-center rounded-full", "border border-border bg-background text-foreground shadow-sm", "hover:bg-muted/40 transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50"),
345
- children: [/* @__PURE__ */ y(x, {
346
- "aria-hidden": "true",
347
- className: n("size-4 transition-transform duration-300", $ && "rotate-180")
348
- }), /* @__PURE__ */ y("span", {
349
- className: "sr-only",
350
- children: $ ? Y.collapseLabel : Y.expandLabel
351
- })]
352
- })
353
- })
354
- ]
355
- });
356
- });
357
- W.displayName = "SmartCard";
358
- //#endregion
359
- export { L as a, P as c, R as i, I as l, U as n, z as o, H as r, F as s, W as t };
360
-
361
- //# sourceMappingURL=smart-card-DYZGY_Su.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smart-card-DYZGY_Su.js","names":[],"sources":["../../src/components/ui/card.tsx","../../src/components/base/cards/smart-card.tokens.ts","../../src/components/base/cards/partials/has-renderable-content.ts","../../src/components/base/cards/partials/card-primitives.tsx","../../src/components/base/cards/partials/smart-card-alert.tsx","../../src/components/base/cards/partials/smart-card-actions-menu.tsx","../../src/components/base/cards/partials/smart-card-header-row.tsx","../../src/components/base/cards/smart-card.strings.ts","../../src/components/base/cards/partials/smart-card-skeleton.tsx","../../src/components/base/cards/smart-card.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\"ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"text-base leading-normal font-medium group-data-[size=sm]/card:text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6 group-data-[size=sm]/card:px-4\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","import { cn } from '@/lib/utils';\n\nimport type { CardPadding, SmartCardSurface } from './smart-card.types';\n\n/**\n * BEM-style hooks applied to every SmartCard subregion. Library\n * consumers can target them in CSS / tests / analytics without\n * relying on shadcn's data-slot attributes (which are framework\n * internals). Keep these names consistent — they are part of the\n * public DOM contract.\n */\nexport const CARD_BEM = {\n\troot: 'card--component',\n\theader: 'card--header',\n\ttitle: 'card--title',\n\tdescription: 'card--description',\n\tcontent: 'card--content',\n\tfooter: 'card--footer',\n\talert: 'card--alert',\n} as const;\n\ninterface PaddingTokens {\n\tshell: string;\n\theaderX: string;\n\tcontentX: string;\n\tcontentY: string;\n\tfooterX: string;\n\talertX: string;\n\t/** Vertical offset applied when alert sits BELOW the header (pulls it up). */\n\talertOffsetWithHeader: string;\n\t/** Vertical spacing applied when alert is the first content (no header). */\n\talertOffsetStandalone: string;\n}\n\nexport const PADDING: Record<CardPadding, PaddingTokens> = {\n\tsm: {\n\t\tshell: 'gap-3 py-4',\n\t\theaderX: 'px-4',\n\t\tcontentX: 'px-4',\n\t\tcontentY: 'py-0',\n\t\tfooterX: 'px-4',\n\t\talertX: 'px-4',\n\t\talertOffsetWithHeader: '-mt-1',\n\t\talertOffsetStandalone: 'mt-0',\n\t},\n\tbase: {\n\t\tshell: 'gap-4 py-6',\n\t\theaderX: 'px-6',\n\t\tcontentX: 'px-6',\n\t\tcontentY: 'py-0',\n\t\tfooterX: 'px-6',\n\t\talertX: 'px-6',\n\t\talertOffsetWithHeader: '-mt-1',\n\t\talertOffsetStandalone: 'mt-0',\n\t},\n\tlg: {\n\t\tshell: 'gap-4 py-6',\n\t\theaderX: 'px-6',\n\t\tcontentX: 'px-6',\n\t\tcontentY: 'py-0',\n\t\tfooterX: 'px-6',\n\t\talertX: 'px-6',\n\t\talertOffsetWithHeader: '-mt-1',\n\t\talertOffsetStandalone: 'mt-0',\n\t},\n};\n\n/**\n * Surface-specific shell classes. The `framed` variant uses a soft 3px\n * outer border tinted from `--border` plus a 1px hairline inner border\n * drawn via the `before:` pseudo-element. All values flow through theme\n * tokens — no raw hex.\n */\nexport const SURFACE_CLASSES: Record<SmartCardSurface, string> = {\n\tcard: 'rounded-lg border border-border bg-card text-card-foreground shadow-xs',\n\tflat: 'bg-transparent text-card-foreground border-none shadow-none',\n\tframed: cn(\n\t\t'relative bg-card text-card-foreground shadow-xs',\n\t\t// Outer soft border: 3px, low-alpha tint of theme border.\n\t\t'rounded-lg border-[3px] border-border/30',\n\t\t// Inner hairline border drawn inside the outer (matches the\n\t\t// border-thickness offset). Pure shadcn tokens (`border-border`\n\t\t// + `bg-card`) so it picks up the active theme.\n\t\t'before:pointer-events-none before:absolute before:inset-0 before:rounded-md before:border before:border-border/60 before:content-[\"\"]',\n\t),\n};\n","import { Fragment, isValidElement, type ReactNode } from 'react';\n\n/**\n * Predicate used by SmartCard subregions to decide whether each slot\n * warrants rendering its wrapper. Numbers (incl. `0`) and JSX always\n * render; falsy / empty-string content is treated as absent. Fragments\n * recurse into their children.\n */\nexport function hasRenderableContent(content?: ReactNode): boolean {\n\tif (content === null || content === undefined) return false;\n\tif (typeof content === 'boolean') return false;\n\tif (typeof content === 'string') return content.trim().length > 0;\n\tif (typeof content === 'number' || typeof content === 'bigint') return true;\n\tif (Array.isArray(content)) return content.some(hasRenderableContent);\n\tif (isValidElement<{ children?: ReactNode }>(content)) {\n\t\tif (content.type === Fragment) return hasRenderableContent(content.props.children);\n\t\treturn true;\n\t}\n\treturn true;\n}\n","/**\n * Internal layout primitives — re-exported from `smart-card.tsx` for\n * advanced composition (deeply customised layouts that still want the\n * design-system surface tokens). Each primitive is intentionally thin:\n * a single responsibility, a single set of default classes, no business\n * logic. The BEM hooks (`card--component`, `card--header`, etc.) are\n * applied here so the public DOM contract lives in one place.\n */\nimport {\n\ttype ComponentPropsWithRef,\n\ttype ComponentPropsWithoutRef,\n} from 'react';\n\nimport {\n\tCard as CardPrimitive,\n\tCardContent as CardContentPrimitive,\n\tCardDescription as CardDescriptionPrimitive,\n\tCardFooter as CardFooterPrimitive,\n\tCardHeader as CardHeaderPrimitive,\n\tCardTitle as CardTitlePrimitive,\n} from '@/components/ui/card';\nimport Text from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport { CARD_BEM } from '../smart-card.tokens';\n\nimport { hasRenderableContent } from './has-renderable-content';\n\nexport function CardShell({ className, ...props }: ComponentPropsWithRef<'div'>) {\n\treturn (\n\t\t<CardPrimitive\n\t\t\tclassName={cn(\n\t\t\t\tCARD_BEM.root,\n\t\t\t\t'flex w-full flex-col gap-3 py-4 ring-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function CardHeader({\n\tclassName,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\treturn (\n\t\t<CardHeaderPrimitive\n\t\t\tclassName={cn(CARD_BEM.header, 'flex flex-col gap-0.5 px-4', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function CardTitle({\n\tclassName,\n\tchildren,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\tif (!hasRenderableContent(children)) return null;\n\n\tconst isPlainText =\n\t\ttypeof children === 'string' ||\n\t\ttypeof children === 'number' ||\n\t\ttypeof children === 'bigint';\n\n\tif (!isPlainText) {\n\t\treturn (\n\t\t\t<CardTitlePrimitive\n\t\t\t\tclassName={cn(CARD_BEM.title, 'min-w-0 leading-none font-semibold', className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</CardTitlePrimitive>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text\n\t\t\tdata-slot=\"card-title\"\n\t\t\ttag=\"div\"\n\t\t\tweight=\"semibold\"\n\t\t\tlineHeight=\"none\"\n\t\t\tclassName={cn(CARD_BEM.title, 'min-w-0 leading-none font-semibold', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</Text>\n\t);\n}\n\nexport function CardDescription({\n\tclassName,\n\tchildren,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\tif (!hasRenderableContent(children)) return null;\n\n\tconst isPlainText =\n\t\ttypeof children === 'string' ||\n\t\ttypeof children === 'number' ||\n\t\ttypeof children === 'bigint';\n\n\tif (!isPlainText) {\n\t\treturn (\n\t\t\t<CardDescriptionPrimitive\n\t\t\t\tclassName={cn(\n\t\t\t\t\tCARD_BEM.description,\n\t\t\t\t\t'text-muted-foreground text-sm',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</CardDescriptionPrimitive>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text\n\t\t\tdata-slot=\"card-description\"\n\t\t\ttag=\"div\"\n\t\t\ttype=\"secondary\"\n\t\t\tclassName={cn(\n\t\t\t\tCARD_BEM.description,\n\t\t\t\t'text-muted-foreground text-sm',\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</Text>\n\t);\n}\n\nexport function CardContent({\n\tclassName,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\treturn (\n\t\t<CardContentPrimitive\n\t\t\tclassName={cn(CARD_BEM.content, 'px-4', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function CardFooter({\n\tclassName,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\treturn (\n\t\t<CardFooterPrimitive\n\t\t\tclassName={cn(CARD_BEM.footer, 'flex items-center px-4', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n","/**\n * Inline alert banner rendered between the header and the card body.\n * Pulls itself up under the header (`alertOffsetWithHeader`) when one\n * exists so the visual gap between header bottom and alert top stays\n * tight; otherwise pushes itself down (`alertOffsetStandalone`) so it\n * doesn't kiss the card top edge.\n */\nimport type { ReactNode } from 'react';\n\nimport { Alert, AlertDescription } from '@/components/base/display/alert';\nimport { cn } from '@/lib/utils';\n\nimport { CARD_BEM, PADDING } from '../smart-card.tokens';\nimport type { CardAlertVariant, CardPadding } from '../smart-card.types';\n\ninterface AlertSlotProps {\n\talert: ReactNode | string;\n\talertVariant: CardAlertVariant;\n\thasHeader: boolean;\n\tpadding: CardPadding;\n}\n\nexport function SmartCardAlert({\n\talert,\n\talertVariant,\n\thasHeader,\n\tpadding,\n}: AlertSlotProps) {\n\tconst tokens = PADDING[padding];\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\tCARD_BEM.alert,\n\t\t\t\ttokens.alertX,\n\t\t\t\thasHeader ? tokens.alertOffsetWithHeader : tokens.alertOffsetStandalone,\n\t\t\t)}\n\t\t>\n\t\t\t<Alert variant={alertVariant}>\n\t\t\t\t<AlertDescription>{alert}</AlertDescription>\n\t\t\t</Alert>\n\t\t</div>\n\t);\n}\n","/**\n * SmartCard actions menu — `⋮` trigger + dropdown of consumer-supplied\n * `SmartCardAction` items. Always renders a 28×28 square trigger so it\n * reads cleanly as a circle (consumer overrides to `rounded-full`) or\n * a rectangle (default `rounded-md`).\n */\nimport { MoreHorizontal } from 'lucide-react';\n\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\nimport type { SmartCardAction } from '../smart-card.types';\n\ninterface ActionsMenuProps {\n\tactions: SmartCardAction[];\n\tactionsLabel: string;\n}\n\nexport function ActionsMenu({ actions, actionsLabel }: ActionsMenuProps) {\n\treturn (\n\t\t<DropdownMenu>\n\t\t\t<DropdownMenuTrigger\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={actionsLabel}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'inline-flex size-7 shrink-0 items-center justify-center rounded-md p-0',\n\t\t\t\t\t'text-muted-foreground hover:bg-accent hover:text-accent-foreground',\n\t\t\t\t\t'outline-none focus-visible:ring-2 focus-visible:ring-ring/50',\n\t\t\t\t\t'transition-colors',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<MoreHorizontal className=\"size-4\" />\n\t\t\t</DropdownMenuTrigger>\n\t\t\t<DropdownMenuContent align=\"end\" className=\"min-w-[140px]\">\n\t\t\t\t{actions.map((action, index) => (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={action.id ?? `${action.label}-${index}`}\n\t\t\t\t\t\tonClick={action.onClick}\n\t\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\t\tclassName=\"gap-1.5 px-2 py-1 text-xs\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{!!action.icon && (\n\t\t\t\t\t\t\t<span className=\"flex shrink-0 items-center\">{action.icon}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{action.label}\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t))}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n}\n","/**\n * SmartCardHeaderRow — the chrome above the card body. Combines icon /\n * title / description / tooltip / suffix on the leading side with the\n * trailing `headerEnd` / `headerAction` slots and the actions menu.\n *\n * `TooltipTrigger_Info` is colocated here because it's only used by the\n * header — keeping it private avoids polluting the public partial\n * surface.\n */\nimport { Info } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipTrigger,\n} from '@/components/base/display/tooltip';\nimport { cn } from '@/lib/utils';\n\nimport { PADDING } from '../smart-card.tokens';\nimport type { CardPadding, SmartCardAction } from '../smart-card.types';\n\nimport { CardHeader, CardTitle, CardDescription } from './card-primitives';\nimport { hasRenderableContent } from './has-renderable-content';\nimport { ActionsMenu } from './smart-card-actions-menu';\n\nfunction TooltipTrigger_Info({ tooltipLabel }: { tooltipLabel: string }) {\n\treturn (\n\t\t<TooltipTrigger\n\t\t\trender={(triggerProps) => {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\tconst passthrough = triggerProps as Record<string, any>;\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t{...passthrough}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\tsize=\"icon-xs\"\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'h-5 w-5 text-muted-foreground',\n\t\t\t\t\t\t\tpassthrough.className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\taria-label={tooltipLabel}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Info className=\"size-3.5\" />\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n\ninterface HeaderProps {\n\ticon?: ReactNode;\n\ttitle?: ReactNode;\n\ttitleSuffix?: ReactNode;\n\tdescription?: ReactNode;\n\ttooltip?: ReactNode;\n\ttooltipLabel: string;\n\theaderStart?: ReactNode;\n\theaderEnd?: ReactNode;\n\theaderAction?: ReactNode;\n\tactions?: SmartCardAction[];\n\tactionsLabel: string;\n\tpadding: CardPadding;\n\tclassName?: string;\n}\n\nexport function SmartCardHeaderRow({\n\ticon,\n\ttitle,\n\ttitleSuffix,\n\tdescription,\n\ttooltip,\n\ttooltipLabel,\n\theaderStart,\n\theaderEnd,\n\theaderAction,\n\tactions,\n\tactionsLabel,\n\tpadding,\n\tclassName,\n}: HeaderProps) {\n\tconst cardActions = Array.isArray(actions) ? actions : [];\n\tconst hasActions = cardActions.length > 0;\n\n\tconst hasIcon = hasRenderableContent(icon);\n\tconst hasTitle = hasRenderableContent(title);\n\tconst hasTitleSuffix = hasRenderableContent(titleSuffix);\n\tconst hasDescription = hasRenderableContent(description);\n\tconst hasTooltip = hasRenderableContent(tooltip);\n\tconst hasHeaderStart = hasRenderableContent(headerStart);\n\tconst hasHeaderEnd = hasRenderableContent(headerEnd);\n\tconst hasHeaderAction = hasRenderableContent(headerAction);\n\n\tconst showTitleRow = hasIcon || hasTitle || hasTitleSuffix || hasTooltip;\n\tconst showTrailing = hasHeaderEnd || hasHeaderAction || hasActions;\n\n\treturn (\n\t\t<CardHeader\n\t\t\tclassName={cn(\n\t\t\t\t'flex-row items-start justify-between gap-3 pb-0',\n\t\t\t\tPADDING[padding].headerX,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n\t\t\t\t{!!hasHeaderStart && headerStart}\n\n\t\t\t\t{!!showTitleRow && (\n\t\t\t\t\t<div className=\"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1\">\n\t\t\t\t\t\t{!!hasIcon && (\n\t\t\t\t\t\t\t<span className=\"flex shrink-0 items-center text-muted-foreground\">\n\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<CardTitle>{title}</CardTitle>\n\t\t\t\t\t\t{!!hasTitleSuffix && (\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">{titleSuffix}</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!hasTooltip && (\n\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t<TooltipTrigger_Info tooltipLabel={tooltipLabel} />\n\t\t\t\t\t\t\t\t<TooltipContent>{tooltip}</TooltipContent>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{!!hasDescription && (\n\t\t\t\t\t<CardDescription className=\"text-left\">{description}</CardDescription>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{!!showTrailing && (\n\t\t\t\t<div className=\"flex shrink-0 items-center gap-2\">\n\t\t\t\t\t{!!hasHeaderEnd && headerEnd}\n\t\t\t\t\t{!!hasHeaderAction && headerAction}\n\t\t\t\t\t{!!hasActions && (\n\t\t\t\t\t\t<ActionsMenu actions={cardActions} actionsLabel={actionsLabel} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</CardHeader>\n\t);\n}\n","/**\n * SmartCard strings — i18n surface for the chrome the consumer doesn't\n * pass directly. Most copy (title, description, action labels, alert\n * body) flows in via props; the strings here cover the implicit\n * affordances (expand toggle).\n */\n\nexport interface SmartCardStrings {\n\texpandLabel: string;\n\tcollapseLabel: string;\n}\n\nexport const defaultSmartCardStrings: SmartCardStrings = {\n\texpandLabel: 'Expand card',\n\tcollapseLabel: 'Collapse card',\n};\n","/**\n * SmartCardSkeleton — placeholder shell rendered while a SmartCard's\n * data is loading. Picks up the canonical card surface so the loading\n * state visually matches the eventual `SmartCard` it'll replace.\n */\nimport type { ReactNode } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nimport { SURFACE_CLASSES } from '../smart-card.tokens';\n\nimport {\n\tCardContent,\n\tCardHeader,\n\tCardShell,\n\tCardTitle,\n} from './card-primitives';\n\nexport interface SmartCardSkeletonProps {\n\ttitle?: ReactNode;\n\tlines?: number;\n\tclassName?: string;\n}\n\nexport function SmartCardSkeleton({\n\ttitle,\n\tlines = 2,\n\tclassName,\n}: SmartCardSkeletonProps) {\n\tconst SkeletonBar = ({ barClassName }: { barClassName?: string }) => (\n\t\t<div className={cn('animate-pulse rounded bg-muted', barClassName)} />\n\t);\n\n\treturn (\n\t\t<CardShell className={cn(SURFACE_CLASSES.card, 'gap-4 py-6', className)}>\n\t\t\t<CardHeader className=\"flex-col gap-1.5 px-6 pb-0\">\n\t\t\t\t{title ? <CardTitle>{title}</CardTitle> : <SkeletonBar barClassName=\"h-4 w-32\" />}\n\t\t\t</CardHeader>\n\t\t\t<CardContent className=\"space-y-3 px-6 py-0\">\n\t\t\t\t{Array.from({ length: lines }, (_, i) => (\n\t\t\t\t\t<SkeletonBar\n\t\t\t\t\t\tkey={`skel-${String(i)}`}\n\t\t\t\t\t\tbarClassName={cn('h-4', i === 0 ? 'w-full' : 'w-3/4')}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</CardContent>\n\t\t</CardShell>\n\t);\n}\n\nSmartCardSkeleton.displayName = 'SmartCardSkeleton';\n","/**\n * SmartCard — composed card with header (icon, title, suffix, description,\n * tooltip), actions menu, alert banner, header / content / footer slots,\n * surface variants (card / flat / framed), and an opt-in expandable body.\n *\n * The single card primitive everything else builds on — never reach past it\n * to shadcn `Card` directly. The CardShell / CardHeader / CardTitle /\n * CardDescription / CardContent / CardFooter primitives are re-exported\n * for advanced composition (deeply customised layouts that still want the\n * design-system surface tokens). Each subregion paints a BEM-style hook\n * (`card--component`, `card--header`, `card--title`, …) for CSS / test /\n * analytics targeting independent of shadcn's data-slot internals.\n *\n * The file is a thin orchestrator. The actual chrome lives in:\n * - `./smart-card.types.ts` — public prop / variant types\n * - `./smart-card.strings.ts` — i18n (expand toggle copy)\n * - `./smart-card.tokens.ts` — PADDING + SURFACE_CLASSES + CARD_BEM\n * - `./partials/card-primitives.tsx` — CardShell + CardHeader / Title /\n * Description / Content / Footer\n * - `./partials/smart-card-header-row.tsx` — header layout + actions menu\n * - `./partials/smart-card-alert.tsx` — inline alert banner\n * - `./partials/smart-card-actions-menu.tsx` — `⋮` dropdown\n * - `./partials/smart-card-skeleton.tsx` — loading placeholder\n * - `./partials/has-renderable-content.ts` — slot-empty predicate\n */\nimport { ChevronDown } from 'lucide-react';\nimport {\n\ttype CSSProperties,\n\tforwardRef,\n\tuseCallback,\n\tuseState,\n} from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { useStrings } from '@/lib/strings';\nimport { useCardConfig } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tCardContent,\n\tCardFooter,\n\tCardShell,\n} from './partials/card-primitives';\nimport { hasRenderableContent } from './partials/has-renderable-content';\nimport { SmartCardAlert } from './partials/smart-card-alert';\nimport { SmartCardHeaderRow } from './partials/smart-card-header-row';\nimport {\n\tdefaultSmartCardStrings,\n} from './smart-card.strings';\nimport {\n\tPADDING,\n\tSURFACE_CLASSES,\n} from './smart-card.tokens';\nimport type {\n\tCardPadding,\n\tSmartCardProps,\n\tSmartCardSurface,\n} from './smart-card.types';\n\nexport const SmartCard = forwardRef<HTMLDivElement, SmartCardProps>(function SmartCard({\n\ticon,\n\ttitle,\n\ttitleSuffix,\n\tdescription,\n\ttooltip,\n\ttooltipAriaLabel = 'Card info',\n\tfooterText,\n\talert,\n\talertVariant = 'default',\n\tsurface,\n\ttransparent = false,\n\tpadding,\n\tactions,\n\tactionsLabel = 'Card actions',\n\theaderAction,\n\theaderStart,\n\theaderEnd,\n\tcontentTop,\n\tcontentBottom,\n\tfooterSlot,\n\theaderDivider = false,\n\tfooterDivider = false,\n\texpandable = false,\n\tdefaultExpanded = false,\n\texpanded: expandedProp,\n\tonExpandedChange,\n\tchildren,\n\tclassName,\n\theaderClassName,\n\tcontentClassName,\n\tfooterClassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst { defaultPadding } = useCardConfig();\n\tconst resolvedPadding: CardPadding = padding ?? defaultPadding ?? 'sm';\n\tconst tokens = PADDING[resolvedPadding];\n\tconst cardActions = Array.isArray(actions) ? actions : [];\n\tconst strings = useStrings(defaultSmartCardStrings, stringsProp);\n\n\tconst isExpandable = expandable !== false && expandable !== undefined;\n\tconst collapsedMaxHeightRaw =\n\t\ttypeof expandable === 'object' && expandable?.collapsedMaxHeight !== undefined\n\t\t\t? expandable.collapsedMaxHeight\n\t\t\t: '12rem';\n\tconst collapsedMaxHeight =\n\t\ttypeof collapsedMaxHeightRaw === 'number'\n\t\t\t? `${collapsedMaxHeightRaw}px`\n\t\t\t: collapsedMaxHeightRaw;\n\n\tconst isExpandedControlled = expandedProp !== undefined;\n\tconst [internalExpanded, setInternalExpanded] = useState(defaultExpanded);\n\tconst expanded = isExpandedControlled ? expandedProp : internalExpanded;\n\tconst handleToggle = useCallback(() => {\n\t\tconst next = !expanded;\n\t\tif (!isExpandedControlled) setInternalExpanded(next);\n\t\tonExpandedChange?.(next);\n\t}, [expanded, isExpandedControlled, onExpandedChange]);\n\n\tconst hasHeader =\n\t\thasRenderableContent(icon) ||\n\t\thasRenderableContent(title) ||\n\t\thasRenderableContent(description) ||\n\t\tcardActions.length > 0 ||\n\t\thasRenderableContent(headerAction) ||\n\t\thasRenderableContent(headerStart) ||\n\t\thasRenderableContent(headerEnd);\n\n\tconst hasAlert = hasRenderableContent(alert);\n\tconst hasFooterText = hasRenderableContent(footerText);\n\tconst hasFooterSlot = hasRenderableContent(footerSlot);\n\tconst hasContentTop = hasRenderableContent(contentTop);\n\tconst hasContentBottom = hasRenderableContent(contentBottom);\n\n\tconst tooltipLabel =\n\t\ttooltipAriaLabel.trim().length > 0 ? tooltipAriaLabel : 'Card info';\n\n\tconst collapseStyle: CSSProperties | undefined = isExpandable\n\t\t? {\n\t\t\t\tmaxHeight: expanded ? '' : collapsedMaxHeight,\n\t\t\t}\n\t\t: undefined;\n\n\t// Resolve surface — explicit `surface` wins, else legacy `transparent`,\n\t// else the default `'card'` chrome.\n\tconst resolvedSurface: SmartCardSurface = surface ?? (transparent ? 'flat' : 'card');\n\n\treturn (\n\t\t<CardShell\n\t\t\tref={ref}\n\t\t\tdata-surface={resolvedSurface}\n\t\t\tclassName={cn(\n\t\t\t\tSURFACE_CLASSES[resolvedSurface],\n\t\t\t\ttokens.shell,\n\t\t\t\t// `isExpandable` parks the chevron at `-bottom-4` outside the\n\t\t\t\t// shell — `overflow-visible` lets it render past the card\n\t\t\t\t// edge, otherwise the shadcn primitive's `overflow-hidden`\n\t\t\t\t// clips it.\n\t\t\t\tisExpandable && 'relative pb-1 !overflow-visible',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!!hasHeader && (\n\t\t\t\t<SmartCardHeaderRow\n\t\t\t\t\ticon={icon}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\ttitleSuffix={titleSuffix}\n\t\t\t\t\tdescription={description}\n\t\t\t\t\ttooltip={tooltip}\n\t\t\t\t\ttooltipLabel={tooltipLabel}\n\t\t\t\t\theaderStart={headerStart}\n\t\t\t\t\theaderEnd={headerEnd}\n\t\t\t\t\theaderAction={headerAction}\n\t\t\t\t\tactions={cardActions}\n\t\t\t\t\tactionsLabel={actionsLabel}\n\t\t\t\t\tpadding={resolvedPadding}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\theaderDivider && 'pb-3 border-b border-border/60',\n\t\t\t\t\t\theaderClassName,\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!!hasAlert && (\n\t\t\t\t<SmartCardAlert\n\t\t\t\t\talert={alert}\n\t\t\t\t\talertVariant={alertVariant}\n\t\t\t\t\thasHeader={hasHeader}\n\t\t\t\t\tpadding={resolvedPadding}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<CardContent\n\t\t\t\tclassName={cn(\n\t\t\t\t\ttokens.contentX,\n\t\t\t\t\ttokens.contentY,\n\t\t\t\t\tisExpandable &&\n\t\t\t\t\t\t'relative overflow-hidden transition-[max-height] duration-500 ease-in-out',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t\tstyle={collapseStyle}\n\t\t\t>\n\t\t\t\t{!!hasContentTop && contentTop}\n\t\t\t\t{children}\n\t\t\t\t{!!hasContentBottom && contentBottom}\n\n\t\t\t\t{!!isExpandable && !expanded && (\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName=\"from-background pointer-events-none absolute inset-x-0 bottom-0 h-20 rounded-b-lg bg-linear-to-t to-transparent\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</CardContent>\n\n\t\t\t{!!hasFooterText && (\n\t\t\t\t<CardFooter\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'justify-end text-xs text-muted-foreground',\n\t\t\t\t\t\ttokens.footerX,\n\t\t\t\t\t\tfooterDivider && 'pt-3 border-t border-border/60',\n\t\t\t\t\t\tfooterClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{footerText}\n\t\t\t\t</CardFooter>\n\t\t\t)}\n\n\t\t\t{!!hasFooterSlot && (\n\t\t\t\t<CardFooter\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'flex-col items-stretch',\n\t\t\t\t\t\ttokens.footerX,\n\t\t\t\t\t\tfooterDivider && 'pt-3 border-t border-border/60',\n\t\t\t\t\t\tfooterClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{footerSlot}\n\t\t\t\t</CardFooter>\n\t\t\t)}\n\n\t\t\t{!!isExpandable && (\n\t\t\t\t<div className=\"absolute -bottom-4 left-1/2 -translate-x-1/2 z-10\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\t\tsize=\"icon-sm\"\n\t\t\t\t\t\tonClick={handleToggle}\n\t\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\t\taria-label={expanded ? strings.collapseLabel : strings.expandLabel}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'inline-flex size-8 items-center justify-center rounded-full',\n\t\t\t\t\t\t\t'border border-border bg-background text-foreground shadow-sm',\n\t\t\t\t\t\t\t'hover:bg-muted/40 transition-colors',\n\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronDown\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'size-4 transition-transform duration-300',\n\t\t\t\t\t\t\t\texpanded && 'rotate-180',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"sr-only\">\n\t\t\t\t\t\t\t{expanded ? strings.collapseLabel : strings.expandLabel}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</CardShell>\n\t);\n});\n\nSmartCard.displayName = 'SmartCard';\n\n// ──────────────────────────────────────────────────────────────────────────\n// Re-exports — public surface lives here so `import { ... } from\n// '@/components/base/cards'` keeps working through the file split.\n// ──────────────────────────────────────────────────────────────────────────\n\nexport {\n\tdefaultSmartCardStrings,\n\ttype SmartCardStrings,\n} from './smart-card.strings';\nexport type {\n\tCardAlertVariant,\n\tCardPadding,\n\tSmartCardAction,\n\tSmartCardProps,\n\tSmartCardSkeletonProps,\n\tSmartCardSurface,\n} from './smart-card.types';\nexport {\n\tCardContent,\n\tCardDescription,\n\tCardFooter,\n\tCardHeader,\n\tCardShell,\n\tCardTitle,\n} from './partials/card-primitives';\nexport { SmartCardSkeleton } from './partials/smart-card-skeleton';\n"],"mappings":"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"}