admin-ui-starter-kit 0.6.4 → 0.6.6

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 (1176) hide show
  1. package/.agents/skills/component-library-rules/references/components/base__cards.md +3 -4
  2. package/.agents/skills/component-library-rules/references/components/base__table.md +32 -11
  3. package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +2 -2
  4. package/dist/_shared/accordion-BRj4TDQx.js +135 -0
  5. package/dist/_shared/accordion-BRj4TDQx.js.map +1 -0
  6. package/dist/_shared/accordion-DvlDjk29.cjs +2 -0
  7. package/dist/_shared/accordion-DvlDjk29.cjs.map +1 -0
  8. package/dist/_shared/action-menu-BrHF4nss.cjs +2 -0
  9. package/dist/_shared/action-menu-BrHF4nss.cjs.map +1 -0
  10. package/dist/_shared/action-menu-Crn22LKo.js +96 -0
  11. package/dist/_shared/action-menu-Crn22LKo.js.map +1 -0
  12. package/dist/_shared/ai-artifact-BHgd3agA.js +1099 -0
  13. package/dist/_shared/ai-artifact-BHgd3agA.js.map +1 -0
  14. package/dist/_shared/ai-artifact-BRM5cvGv.cjs +3 -0
  15. package/dist/_shared/ai-artifact-BRM5cvGv.cjs.map +1 -0
  16. package/dist/_shared/alert-CMVVt2Br.js +81 -0
  17. package/dist/_shared/alert-CMVVt2Br.js.map +1 -0
  18. package/dist/_shared/alert-Dmhtbmpg.cjs +2 -0
  19. package/dist/_shared/alert-Dmhtbmpg.cjs.map +1 -0
  20. package/dist/_shared/app-shell-BZQJfTkf.cjs +2 -0
  21. package/dist/_shared/app-shell-BZQJfTkf.cjs.map +1 -0
  22. package/dist/_shared/app-shell-Da6GHxTZ.js +69 -0
  23. package/dist/_shared/app-shell-Da6GHxTZ.js.map +1 -0
  24. package/dist/_shared/auth-DZW6NkJx.cjs +2 -0
  25. package/dist/_shared/auth-DZW6NkJx.cjs.map +1 -0
  26. package/dist/_shared/auth-Dh790NI_.js +643 -0
  27. package/dist/_shared/auth-Dh790NI_.js.map +1 -0
  28. package/dist/_shared/badge-B8xGFpfM.cjs +2 -0
  29. package/dist/_shared/badge-B8xGFpfM.cjs.map +1 -0
  30. package/dist/_shared/badge-BYNwSWh5.js +110 -0
  31. package/dist/_shared/badge-BYNwSWh5.js.map +1 -0
  32. package/dist/_shared/breadcrumbs-CuT0YIfo.js +105 -0
  33. package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +1 -0
  34. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +2 -0
  35. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +1 -0
  36. package/dist/_shared/button-BMiPFJIb.cjs +2 -0
  37. package/dist/_shared/button-BMiPFJIb.cjs.map +1 -0
  38. package/dist/_shared/button-vv59_uS_.js +189 -0
  39. package/dist/_shared/button-vv59_uS_.js.map +1 -0
  40. package/dist/_shared/buttons-CvqIMv3I.js +137 -0
  41. package/dist/_shared/buttons-CvqIMv3I.js.map +1 -0
  42. package/dist/_shared/buttons-tCkWktN3.cjs +2 -0
  43. package/dist/_shared/buttons-tCkWktN3.cjs.map +1 -0
  44. package/dist/_shared/card-radio-group-Bhe8gAbH.js +150 -0
  45. package/dist/_shared/card-radio-group-Bhe8gAbH.js.map +1 -0
  46. package/dist/_shared/card-radio-group-CdG1zr8M.cjs +2 -0
  47. package/dist/_shared/card-radio-group-CdG1zr8M.cjs.map +1 -0
  48. package/dist/_shared/cards-Cu6p1Brd.cjs +2 -0
  49. package/dist/_shared/cards-Cu6p1Brd.cjs.map +1 -0
  50. package/dist/_shared/cards-cQ9lL6zy.js +354 -0
  51. package/dist/_shared/cards-cQ9lL6zy.js.map +1 -0
  52. package/dist/_shared/combobox-BGYjyXeN.cjs +2 -0
  53. package/dist/_shared/combobox-BGYjyXeN.cjs.map +1 -0
  54. package/dist/_shared/combobox-DTwomOBt.js +954 -0
  55. package/dist/_shared/combobox-DTwomOBt.js.map +1 -0
  56. package/dist/_shared/comments-C97vL5km.js +952 -0
  57. package/dist/_shared/comments-C97vL5km.js.map +1 -0
  58. package/dist/_shared/comments-DBe6dP-d.cjs +2 -0
  59. package/dist/_shared/comments-DBe6dP-d.cjs.map +1 -0
  60. package/dist/_shared/containers-CB7zaAvN.cjs +2 -0
  61. package/dist/_shared/containers-CB7zaAvN.cjs.map +1 -0
  62. package/dist/_shared/containers-CLBmhGfs.js +48 -0
  63. package/dist/_shared/containers-CLBmhGfs.js.map +1 -0
  64. package/dist/_shared/copyable-BgFdERqs.js +38 -0
  65. package/dist/_shared/copyable-BgFdERqs.js.map +1 -0
  66. package/dist/_shared/copyable-Ce8rmE-V.cjs +2 -0
  67. package/dist/_shared/copyable-Ce8rmE-V.cjs.map +1 -0
  68. package/dist/_shared/data-display-DUWxoDKq.js +1873 -0
  69. package/dist/_shared/data-display-DUWxoDKq.js.map +1 -0
  70. package/dist/_shared/data-display-o-rbMuIA.cjs +2 -0
  71. package/dist/_shared/data-display-o-rbMuIA.cjs.map +1 -0
  72. package/dist/_shared/date-picker-Cxx9jllA.js +1361 -0
  73. package/dist/_shared/date-picker-Cxx9jllA.js.map +1 -0
  74. package/dist/_shared/date-picker-DE5A8yqN.cjs +2 -0
  75. package/dist/_shared/date-picker-DE5A8yqN.cjs.map +1 -0
  76. package/dist/_shared/date-pickers-Dex1Mfye.cjs +2 -0
  77. package/dist/_shared/date-pickers-Dex1Mfye.cjs.map +1 -0
  78. package/dist/_shared/date-pickers-m0dpDcqH.js +329 -0
  79. package/dist/_shared/date-pickers-m0dpDcqH.js.map +1 -0
  80. package/dist/_shared/display-Bro3Kufg.js +986 -0
  81. package/dist/_shared/display-Bro3Kufg.js.map +1 -0
  82. package/dist/_shared/display-CRQjSjgB.cjs +2 -0
  83. package/dist/_shared/display-CRQjSjgB.cjs.map +1 -0
  84. package/dist/_shared/form-sizing-DJus3nK3.cjs +2 -0
  85. package/dist/_shared/form-sizing-DJus3nK3.cjs.map +1 -0
  86. package/dist/_shared/form-sizing-DWjJsQSR.js +42 -0
  87. package/dist/_shared/form-sizing-DWjJsQSR.js.map +1 -0
  88. package/dist/_shared/forms-D-SNQmtB.cjs +2 -0
  89. package/dist/_shared/forms-D-SNQmtB.cjs.map +1 -0
  90. package/dist/_shared/forms-p7cfzJwf.js +3533 -0
  91. package/dist/_shared/forms-p7cfzJwf.js.map +1 -0
  92. package/dist/_shared/header-8C71wVRp.js +447 -0
  93. package/dist/_shared/header-8C71wVRp.js.map +1 -0
  94. package/dist/_shared/header-CYgFCnjZ.cjs +2 -0
  95. package/dist/_shared/header-CYgFCnjZ.cjs.map +1 -0
  96. package/dist/_shared/hooks-Ci1LFWRG.js +95 -0
  97. package/dist/_shared/hooks-Ci1LFWRG.js.map +1 -0
  98. package/dist/_shared/hooks-Cjl7LJpn.cjs +2 -0
  99. package/dist/_shared/hooks-Cjl7LJpn.cjs.map +1 -0
  100. package/dist/_shared/input-BgcP6x4C.js +182 -0
  101. package/dist/_shared/input-BgcP6x4C.js.map +1 -0
  102. package/dist/_shared/input-DV3g7Fm5.cjs +2 -0
  103. package/dist/_shared/input-DV3g7Fm5.cjs.map +1 -0
  104. package/dist/_shared/item-D7GTzvhf.js +226 -0
  105. package/dist/_shared/item-D7GTzvhf.js.map +1 -0
  106. package/dist/_shared/item-DTrnHpfm.cjs +2 -0
  107. package/dist/_shared/item-DTrnHpfm.cjs.map +1 -0
  108. package/dist/_shared/layout-BExg7Vlx.js +261 -0
  109. package/dist/_shared/layout-BExg7Vlx.js.map +1 -0
  110. package/dist/_shared/layout-CKRD_goE.cjs +2 -0
  111. package/dist/_shared/layout-CKRD_goE.cjs.map +1 -0
  112. package/dist/_shared/layout.types-CXFAjJCj.cjs +2 -0
  113. package/dist/_shared/layout.types-CXFAjJCj.cjs.map +1 -0
  114. package/dist/_shared/layout.types-ip8BYRa7.js +28 -0
  115. package/dist/_shared/layout.types-ip8BYRa7.js.map +1 -0
  116. package/dist/_shared/mentions-BtGhYisA.js +506 -0
  117. package/dist/_shared/mentions-BtGhYisA.js.map +1 -0
  118. package/dist/_shared/mentions-CnVOuQJU.cjs +2 -0
  119. package/dist/_shared/mentions-CnVOuQJU.cjs.map +1 -0
  120. package/dist/_shared/money-display-BvVpRUs5.cjs +2 -0
  121. package/dist/_shared/money-display-BvVpRUs5.cjs.map +1 -0
  122. package/dist/_shared/money-display-D6Qtvyyv.js +198 -0
  123. package/dist/_shared/money-display-D6Qtvyyv.js.map +1 -0
  124. package/dist/_shared/navigation-C4dO1I82.cjs +2 -0
  125. package/dist/_shared/navigation-C4dO1I82.cjs.map +1 -0
  126. package/dist/_shared/navigation-Ct-LFlpY.js +436 -0
  127. package/dist/_shared/navigation-Ct-LFlpY.js.map +1 -0
  128. package/dist/_shared/overlays-ChyqXn0n.js +735 -0
  129. package/dist/_shared/overlays-ChyqXn0n.js.map +1 -0
  130. package/dist/_shared/overlays-Dn2bt3CL.cjs +2 -0
  131. package/dist/_shared/overlays-Dn2bt3CL.cjs.map +1 -0
  132. package/dist/_shared/popover-menu-17Dxn25O.js +93 -0
  133. package/dist/_shared/popover-menu-17Dxn25O.js.map +1 -0
  134. package/dist/_shared/popover-menu-DXVN0bvj.cjs +2 -0
  135. package/dist/_shared/popover-menu-DXVN0bvj.cjs.map +1 -0
  136. package/dist/_shared/rich-text-editor-BRpcNkj1.js +620 -0
  137. package/dist/_shared/rich-text-editor-BRpcNkj1.js.map +1 -0
  138. package/dist/_shared/rich-text-editor-BXxGNbmI.cjs +2 -0
  139. package/dist/_shared/rich-text-editor-BXxGNbmI.cjs.map +1 -0
  140. package/dist/_shared/settings-CW9yzfQM.js +143 -0
  141. package/dist/_shared/settings-CW9yzfQM.js.map +1 -0
  142. package/dist/_shared/settings-cCPrw7si.cjs +2 -0
  143. package/dist/_shared/settings-cCPrw7si.cjs.map +1 -0
  144. package/dist/_shared/sidebar-Cq6J_I4l.cjs +2 -0
  145. package/dist/_shared/sidebar-Cq6J_I4l.cjs.map +1 -0
  146. package/dist/_shared/sidebar-DtF_ihE3.js +548 -0
  147. package/dist/_shared/sidebar-DtF_ihE3.js.map +1 -0
  148. package/dist/_shared/spinner-DY2de3Wt.cjs +2 -0
  149. package/dist/_shared/spinner-DY2de3Wt.cjs.map +1 -0
  150. package/dist/_shared/spinner-ZmIq_zsx.js +67 -0
  151. package/dist/_shared/spinner-ZmIq_zsx.js.map +1 -0
  152. package/dist/_shared/table-BBWc-wIw.js +1377 -0
  153. package/dist/_shared/table-BBWc-wIw.js.map +1 -0
  154. package/dist/_shared/table-DMDkdLzV.cjs +2 -0
  155. package/dist/_shared/table-DMDkdLzV.cjs.map +1 -0
  156. package/dist/_shared/textarea-C1TeJ7Vt.cjs +2 -0
  157. package/dist/_shared/textarea-C1TeJ7Vt.cjs.map +1 -0
  158. package/dist/_shared/textarea-CGRkgH5z.js +118 -0
  159. package/dist/_shared/textarea-CGRkgH5z.js.map +1 -0
  160. package/dist/_shared/typography-CzFVA1w1.js +201 -0
  161. package/dist/_shared/typography-CzFVA1w1.js.map +1 -0
  162. package/dist/_shared/typography-GtkgK9QX.cjs +2 -0
  163. package/dist/_shared/typography-GtkgK9QX.cjs.map +1 -0
  164. package/dist/_shared/workspace-BF5BtDhD.cjs +2 -0
  165. package/dist/_shared/workspace-BF5BtDhD.cjs.map +1 -0
  166. package/dist/_shared/workspace-IvsczduM.js +357 -0
  167. package/dist/_shared/workspace-IvsczduM.js.map +1 -0
  168. package/dist/components/base/accordion/index.cjs +1 -1
  169. package/dist/components/base/accordion/index.js +1 -1
  170. package/dist/components/base/badge/badge.d.ts.map +1 -1
  171. package/dist/components/base/badge/index.cjs +1 -1
  172. package/dist/components/base/badge/index.js +1 -1
  173. package/dist/components/base/buttons/index.cjs +1 -1
  174. package/dist/components/base/buttons/index.js +2 -2
  175. package/dist/components/base/cards/index.cjs +1 -1
  176. package/dist/components/base/cards/index.js +1 -1
  177. package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
  178. package/dist/components/base/cards/smart-card.types.d.ts +3 -3
  179. package/dist/components/base/carousel/index.cjs +1 -1
  180. package/dist/components/base/carousel/index.js +1 -1
  181. package/dist/components/base/combobox/index.cjs +1 -1
  182. package/dist/components/base/combobox/index.js +1 -1
  183. package/dist/components/base/copyable/index.cjs +1 -1
  184. package/dist/components/base/copyable/index.js +1 -1
  185. package/dist/components/base/currency/index.cjs +1 -1
  186. package/dist/components/base/currency/index.js +1 -1
  187. package/dist/components/base/date-pickers/index.cjs +1 -1
  188. package/dist/components/base/date-pickers/index.js +2 -2
  189. package/dist/components/base/display/chart.cjs +1 -1
  190. package/dist/components/base/display/chart.js +1 -1
  191. package/dist/components/base/display/index.cjs +1 -1
  192. package/dist/components/base/display/index.js +3 -3
  193. package/dist/components/base/event-calendar/index.cjs +1 -1
  194. package/dist/components/base/event-calendar/index.js +3 -3
  195. package/dist/components/base/forms/index.cjs +1 -1
  196. package/dist/components/base/forms/index.js +5 -5
  197. package/dist/components/base/item/index.cjs +1 -1
  198. package/dist/components/base/item/index.js +1 -1
  199. package/dist/components/base/map/index.cjs +1 -1
  200. package/dist/components/base/map/index.js +2 -2
  201. package/dist/components/base/navigation/index.cjs +1 -1
  202. package/dist/components/base/navigation/index.js +3 -3
  203. package/dist/components/base/popover-menu/index.cjs +1 -1
  204. package/dist/components/base/popover-menu/index.js +1 -1
  205. package/dist/components/base/spinner/index.cjs +1 -1
  206. package/dist/components/base/spinner/index.js +1 -1
  207. package/dist/components/base/table/data-table.d.ts.map +1 -1
  208. package/dist/components/base/table/index.cjs +1 -1
  209. package/dist/components/base/table/index.js +1 -1
  210. package/dist/components/composed/admin/index.cjs +1 -1
  211. package/dist/components/composed/admin/index.js +11 -11
  212. package/dist/components/composed/ai/index.cjs +1 -1
  213. package/dist/components/composed/ai/index.js +8 -8
  214. package/dist/components/composed/analytics/index.cjs +1 -1
  215. package/dist/components/composed/analytics/index.js +3 -3
  216. package/dist/components/composed/cards/index.cjs +1 -1
  217. package/dist/components/composed/cards/index.js +7 -7
  218. package/dist/components/composed/commerce/index.cjs +1 -1
  219. package/dist/components/composed/commerce/index.js +8 -8
  220. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  221. package/dist/components/composed/dark-surfaces/index.js +4 -4
  222. package/dist/components/composed/data-display/index.cjs +1 -1
  223. package/dist/components/composed/data-display/index.js +1 -1
  224. package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
  225. package/dist/components/composed/navigation/index.cjs +1 -1
  226. package/dist/components/composed/navigation/index.js +5 -5
  227. package/dist/components/composed/onboarding/index.cjs +1 -1
  228. package/dist/components/composed/onboarding/index.js +3 -3
  229. package/dist/components/composed/timelines/index.cjs +1 -1
  230. package/dist/components/composed/timelines/index.js +3 -3
  231. package/dist/components/features/activities/index.cjs +1 -1
  232. package/dist/components/features/activities/index.js +4 -4
  233. package/dist/components/features/ai-chat/index.cjs +1 -1
  234. package/dist/components/features/ai-chat/index.js +5 -5
  235. package/dist/components/features/card/index.cjs +1 -1
  236. package/dist/components/features/card/index.js +4 -4
  237. package/dist/components/features/comments/index.cjs +1 -1
  238. package/dist/components/features/comments/index.js +2 -2
  239. package/dist/components/features/data-view/index.cjs +1 -1
  240. package/dist/components/features/data-view/index.js +2 -2
  241. package/dist/components/features/event-log/index.cjs +1 -1
  242. package/dist/components/features/event-log/index.js +4 -4
  243. package/dist/components/features/filters/index.cjs +1 -1
  244. package/dist/components/features/filters/index.js +6 -6
  245. package/dist/components/features/global-search/index.cjs +1 -1
  246. package/dist/components/features/global-search/index.js +4 -4
  247. package/dist/components/features/kanban/index.cjs +1 -1
  248. package/dist/components/features/kanban/index.js +3 -3
  249. package/dist/components/features/media-library/index.cjs +1 -1
  250. package/dist/components/features/media-library/index.js +8 -8
  251. package/dist/components/features/mentions/index.cjs +1 -1
  252. package/dist/components/features/mentions/index.js +1 -1
  253. package/dist/components/features/overlays/index.cjs +1 -1
  254. package/dist/components/features/overlays/index.js +1 -1
  255. package/dist/components/features/products/index.cjs +1 -1
  256. package/dist/components/features/products/index.js +11 -11
  257. package/dist/components/features/resource/index.cjs +1 -1
  258. package/dist/components/features/resource/index.js +4 -4
  259. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  260. package/dist/components/features/rich-text-editor/index.js +1 -1
  261. package/dist/components/features/schema-form/index.cjs +1 -1
  262. package/dist/components/features/schema-form/index.js +8 -8
  263. package/dist/components/features/suggestions/index.cjs +1 -1
  264. package/dist/components/features/suggestions/index.js +1 -1
  265. package/dist/components/features/sync/index.cjs +1 -1
  266. package/dist/components/features/sync/index.js +2 -2
  267. package/dist/components/layout/app-shell/index.cjs +1 -1
  268. package/dist/components/layout/app-shell/index.js +1 -1
  269. package/dist/components/layout/auth/index.cjs +1 -1
  270. package/dist/components/layout/auth/index.js +1 -1
  271. package/dist/components/layout/containers/containers.types.d.ts +2 -2
  272. package/dist/components/layout/containers/containers.types.d.ts.map +1 -1
  273. package/dist/components/layout/containers/content-container.d.ts.map +1 -1
  274. package/dist/components/layout/containers/index.cjs +1 -1
  275. package/dist/components/layout/containers/index.js +1 -2
  276. package/dist/components/layout/header/index.cjs +1 -1
  277. package/dist/components/layout/header/index.js +1 -1
  278. package/dist/components/layout/hooks/index.cjs +1 -1
  279. package/dist/components/layout/hooks/index.js +1 -1
  280. package/dist/components/layout/index.cjs +1 -1
  281. package/dist/components/layout/index.js +11 -12
  282. package/dist/components/layout/layout.types.d.ts.map +1 -1
  283. package/dist/components/layout/page/index.cjs +1 -1
  284. package/dist/components/layout/page/index.js +2 -2
  285. package/dist/components/layout/settings/index.cjs +1 -1
  286. package/dist/components/layout/settings/index.js +1 -1
  287. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts.map +1 -1
  288. package/dist/components/layout/sidebar/index.cjs +1 -1
  289. package/dist/components/layout/sidebar/index.js +2 -2
  290. package/dist/components/layout/workspace/index.cjs +1 -1
  291. package/dist/components/layout/workspace/index.js +1 -1
  292. package/dist/components/typography/index.cjs +1 -1
  293. package/dist/components/typography/index.js +1 -1
  294. package/dist/services/actions/index.cjs +1 -1
  295. package/dist/services/actions/index.js +1 -1
  296. package/dist/showcase/assets/AreaChart-CsIm9z7Y.js +6 -0
  297. package/dist/showcase/assets/CompositeItem-D9zznn01.js +1 -0
  298. package/dist/showcase/assets/CompositeRoot-CvxtZ81W.js +1 -0
  299. package/dist/showcase/assets/DialogTrigger-C-osQGHu.js +1 -0
  300. package/dist/showcase/assets/LabelableContext-_EE-HBND.js +1 -0
  301. package/dist/showcase/assets/PreviewLayout-KdEsSl3b.js +1 -0
  302. package/dist/showcase/assets/RadioGroup-4jOeNTc1.js +1 -0
  303. package/dist/showcase/assets/ScrollAreaCorner-CXTdUcaE.js +1 -0
  304. package/dist/showcase/assets/Separator-CHVXO6nj.js +1 -0
  305. package/dist/showcase/assets/ToolbarRootContext-CM5tQGGX.js +1 -0
  306. package/dist/showcase/assets/accordion-CA84bxb2.js +171 -0
  307. package/dist/showcase/assets/accordion-variants-DqWzAOO3.js +1 -0
  308. package/dist/showcase/assets/action-menu-D0q5z-Kq.js +1 -0
  309. package/dist/showcase/assets/actions-DnqxABJU.js +310 -0
  310. package/dist/showcase/assets/activities-BC9hoMy9.js +500 -0
  311. package/dist/showcase/assets/activities-feed-card-D6wGLpbH.js +1 -0
  312. package/dist/showcase/assets/admin-CMnMsugJ.js +140 -0
  313. package/dist/showcase/assets/ai-B6_sE9Zg.js +207 -0
  314. package/dist/showcase/assets/ai-artifact-BVvbsSJB.js +2 -0
  315. package/dist/showcase/assets/ai-chat-lcXeqJrA.js +568 -0
  316. package/dist/showcase/assets/ai-elements-B32o_UjE.js +387 -0
  317. package/dist/showcase/assets/ai-tool-call-BLrAioKz.js +1 -0
  318. package/dist/showcase/assets/alert-B1p1Grce.js +62 -0
  319. package/dist/showcase/assets/alert-BBiffYsY.js +93 -0
  320. package/dist/showcase/assets/alert-vH0nJ8J9.js +1 -0
  321. package/dist/showcase/assets/api-key-list-BrSc6V1y.js +1 -0
  322. package/dist/showcase/assets/api-key-list-CoKe_PaL.js +73 -0
  323. package/dist/showcase/assets/app-sidebar-R93lRPB4.js +1 -0
  324. package/dist/showcase/assets/arrow-down-xxVIADbv.js +1 -0
  325. package/dist/showcase/assets/arrow-left-DxnlnN8R.js +1 -0
  326. package/dist/showcase/assets/arrow-right-S5k93UPM.js +1 -0
  327. package/dist/showcase/assets/arrow-up-OlEVG7a-.js +1 -0
  328. package/dist/showcase/assets/arrow-up-right-j55bbl4b.js +1 -0
  329. package/dist/showcase/assets/avatar-BbiXvZq7.js +67 -0
  330. package/dist/showcase/assets/avatar-Bwpw-hQo.js +57 -0
  331. package/dist/showcase/assets/avatar-D0DKQ1lK.js +1 -0
  332. package/dist/showcase/assets/avatar-WyjSBov9.js +1 -0
  333. package/dist/showcase/assets/badge-BzLZQO3L.js +31 -0
  334. package/dist/showcase/assets/badge-check-TFWm1m3F.js +1 -0
  335. package/dist/showcase/assets/bell-CmuQlO_k.js +1 -0
  336. package/dist/showcase/assets/bot-Bu518AJB.js +1 -0
  337. package/dist/showcase/assets/box-D-wrSdOJ.js +1 -0
  338. package/dist/showcase/assets/braces-CgCdmdAl.js +1 -0
  339. package/dist/showcase/assets/brain-DkHdwgHO.js +1 -0
  340. package/dist/showcase/assets/brand-CpovnVoG.js +36 -0
  341. package/dist/showcase/assets/breadcrumb-BUc0WC5d.js +1 -0
  342. package/dist/showcase/assets/breadcrumb-Do_Dazt1.js +52 -0
  343. package/dist/showcase/assets/breadcrumbs-Bj21o2zm.js +1 -0
  344. package/dist/showcase/assets/briefcase-CQBh2kok.js +1 -0
  345. package/dist/showcase/assets/building-2-D07Ej6iR.js +1 -0
  346. package/dist/showcase/assets/button-CCZ4KEGQ.js +44 -0
  347. package/dist/showcase/assets/button-group-BTjeHOvz.js +1 -0
  348. package/dist/showcase/assets/buttons-D45Wwiwn.js +272 -0
  349. package/dist/showcase/assets/calendar-BsEWULmZ.js +16 -0
  350. package/dist/showcase/assets/calendar-CkPefzIO.js +1 -0
  351. package/dist/showcase/assets/calendar-DZlT3qTq.js +1 -0
  352. package/dist/showcase/assets/calendar-days-C9awTMru.js +1 -0
  353. package/dist/showcase/assets/camera-CQhMw-RD.js +1 -0
  354. package/dist/showcase/assets/card-CKrz_UHt.js +1 -0
  355. package/dist/showcase/assets/card-DZgZgjXO.js +188 -0
  356. package/dist/showcase/assets/card-primitives-CpkDLK3Y.js +1 -0
  357. package/dist/showcase/assets/card-radio-group-BjXwMI4v.js +1 -0
  358. package/dist/showcase/assets/cards-Cd24XZ9l.js +353 -0
  359. package/dist/showcase/assets/carousel-Doon04yO.js +449 -0
  360. package/dist/showcase/assets/cell-renderers-CTay3duH.js +1 -0
  361. package/dist/showcase/assets/chart-CkvbdpWw.js +358 -0
  362. package/dist/showcase/assets/chart-column-Dz57kUMl.js +1 -0
  363. package/dist/showcase/assets/checkbox-L-L4-wvA.js +1 -0
  364. package/dist/showcase/assets/checkbox-sP254E7e.js +1 -0
  365. package/dist/showcase/assets/chevron-down-CLc_a2Ua.js +1 -0
  366. package/dist/showcase/assets/chevron-left-CMRIGOJt.js +1 -0
  367. package/dist/showcase/assets/chevron-up-BDw6LdDZ.js +1 -0
  368. package/dist/showcase/assets/chevrons-up-down-C519RKki.js +1 -0
  369. package/dist/showcase/assets/circle-B_tOHWTY.js +1 -0
  370. package/dist/showcase/assets/circle-alert-B56AFULT.js +1 -0
  371. package/dist/showcase/assets/circle-check-B4XZj4Ty.js +1 -0
  372. package/dist/showcase/assets/circle-check-big-C0iEkwPB.js +1 -0
  373. package/dist/showcase/assets/circle-dot-DPdJZkc6.js +1 -0
  374. package/dist/showcase/assets/circle-question-mark-LTetdrq6.js +1 -0
  375. package/dist/showcase/assets/circle-x-B4FwM-sI.js +1 -0
  376. package/dist/showcase/assets/clock-3-DZhjBuw8.js +1 -0
  377. package/dist/showcase/assets/clock-B9Fna2Q3.js +1 -0
  378. package/dist/showcase/assets/code-xml-B6Xb_vIg.js +1 -0
  379. package/dist/showcase/assets/collapsible-Bf7Oo37i.js +27 -0
  380. package/dist/showcase/assets/collapsible-BfLeooy8.js +1 -0
  381. package/dist/showcase/assets/combobox-4NYfJznY.js +685 -0
  382. package/dist/showcase/assets/command-7jRRucHf.js +1 -0
  383. package/dist/showcase/assets/command-D56CjgNc.js +1 -0
  384. package/dist/showcase/assets/comment-composer-BWeXIZfK.js +1 -0
  385. package/dist/showcase/assets/comment-item-ChkiK-ut.js +1 -0
  386. package/dist/showcase/assets/comments-YnEop7v3.js +357 -0
  387. package/dist/showcase/assets/commerce-7XxWJChs.js +267 -0
  388. package/dist/showcase/assets/composite-CHcyYCsk.js +1 -0
  389. package/dist/showcase/assets/contact-card-BXw-VuBm.js +65 -0
  390. package/dist/showcase/assets/content-container-C4uopCBg.js +1 -0
  391. package/dist/showcase/assets/copyable-CjVYEJ0P.js +1 -0
  392. package/dist/showcase/assets/copyable-Cz2jW7yL.js +96 -0
  393. package/dist/showcase/assets/course-card-CvK3dw9W.js +77 -0
  394. package/dist/showcase/assets/cpu-Vk5WgcC1.js +1 -0
  395. package/dist/showcase/assets/credit-card-CaigqZGk.js +1 -0
  396. package/dist/showcase/assets/css-variables-hLaBmeMt.js +1190 -0
  397. package/dist/showcase/assets/currency-yO1giHp1.js +149 -0
  398. package/dist/showcase/assets/dark-surfaces-BPQnyk9a.js +90 -0
  399. package/dist/showcase/assets/data-view-CjjXn5VT.js +124 -0
  400. package/dist/showcase/assets/data-view-DF0n8uva.js +4 -0
  401. package/dist/showcase/assets/database-ChUBDe8E.js +1 -0
  402. package/dist/showcase/assets/date-block-DUg1Oyn4.js +1 -0
  403. package/dist/showcase/assets/date-picker-CoQPZa34.js +1 -0
  404. package/dist/showcase/assets/date-pickers-B-IUbyXw.js +73 -0
  405. package/dist/showcase/assets/dense-info-zVQSWqOU.js +106 -0
  406. package/dist/showcase/assets/design-system-consistency-Bnz_h3-6.js +264 -0
  407. package/dist/showcase/assets/dialog-BtilpgxJ.js +1 -0
  408. package/dist/showcase/assets/dialog-kf9WwmTC.js +1 -0
  409. package/dist/showcase/assets/display-utilities-BBzG5EPX.js +267 -0
  410. package/dist/showcase/assets/dist-9gFIhkw-.js +45 -0
  411. package/dist/showcase/assets/dist-CGpz_7Mu.js +1 -0
  412. package/dist/showcase/assets/dollar-sign-CWbYI3Pd.js +1 -0
  413. package/dist/showcase/assets/download-Bt_z-poH.js +1 -0
  414. package/dist/showcase/assets/dropdown-menu-C1_SYTHm.js +1 -0
  415. package/dist/showcase/assets/dropzone-D5BGVTnl.js +1 -0
  416. package/dist/showcase/assets/earth-sP5mIgG3.js +1 -0
  417. package/dist/showcase/assets/ellipsis-vertical-BD7kMOzj.js +1 -0
  418. package/dist/showcase/assets/ellipsis-yqIF49C8.js +1 -0
  419. package/dist/showcase/assets/empty-DIrJgtrh.js +1 -0
  420. package/dist/showcase/assets/empty-item-GgnZk2yf.js +49 -0
  421. package/dist/showcase/assets/empty-state-ZGKkJ6sf.js +190 -0
  422. package/dist/showcase/assets/empty-state-n_Fspzt-.js +1 -0
  423. package/dist/showcase/assets/enhanced-activities-CCw_hZnZ.js +357 -0
  424. package/dist/showcase/assets/enhanced-combobox-bBF-ADDs.js +1 -0
  425. package/dist/showcase/assets/esm-CyFPn936.js +2 -0
  426. package/dist/showcase/assets/event-calendar-Czo7yBDx.js +138 -0
  427. package/dist/showcase/assets/event-log-DJ3B3nMV.js +330 -0
  428. package/dist/showcase/assets/example-eGsLGIcp.js +1 -0
  429. package/dist/showcase/assets/external-link-DPOQEVWH.js +1 -0
  430. package/dist/showcase/assets/eye-CN92NVL0.js +1 -0
  431. package/dist/showcase/assets/feature-announcement-BXkSW17e.js +34 -0
  432. package/dist/showcase/assets/file-CFHePlKG.js +1 -0
  433. package/dist/showcase/assets/file-text--WYCYQMw.js +1 -0
  434. package/dist/showcase/assets/filter-layout-B35gGmcO.js +1 -0
  435. package/dist/showcase/assets/filters-GDW_oiT3.js +139 -0
  436. package/dist/showcase/assets/flag-XsT9XFPr.js +1 -0
  437. package/dist/showcase/assets/folder-open-RtsQ8vxf.js +1 -0
  438. package/dist/showcase/assets/form-field-Bijd1Gex.js +1 -0
  439. package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +1 -0
  440. package/dist/showcase/assets/format-Ckw4OM66.js +1 -0
  441. package/dist/showcase/assets/forms-00bU7LN8.js +915 -0
  442. package/dist/showcase/assets/funnel-qu25WlXD.js +1 -0
  443. package/dist/showcase/assets/generic-Bf82Wiol.js +1 -0
  444. package/dist/showcase/assets/getPseudoElementBounds-BR4_m2HH.js +1 -0
  445. package/dist/showcase/assets/gift-D4GQoqzV.js +1 -0
  446. package/dist/showcase/assets/giftcard-cards-CMutwaAY.js +85 -0
  447. package/dist/showcase/assets/git-branch-B2QG2zRg.js +1 -0
  448. package/dist/showcase/assets/global-search-CRAB9TSF.js +1 -0
  449. package/dist/showcase/assets/global-search-DY0cKfhY.js +215 -0
  450. package/dist/showcase/assets/globe-BxZW28rG.js +1 -0
  451. package/dist/showcase/assets/gradient-card-CQGnXG8r.js +58 -0
  452. package/dist/showcase/assets/hash-CsRtIoKK.js +1 -0
  453. package/dist/showcase/assets/header-DzYOgZLP.js +1 -0
  454. package/dist/showcase/assets/header-notifications-D_CJPbvs.js +1 -0
  455. package/dist/showcase/assets/heart-B2YsYprq.js +1 -0
  456. package/dist/showcase/assets/hooks-BhUMA4Tb.js +220 -0
  457. package/dist/showcase/assets/house-HeRFNhI0.js +1 -0
  458. package/dist/showcase/assets/icon-badge-CpDkc-S0.js +37 -0
  459. package/dist/showcase/assets/icon-badge-eNEGgpAV.js +1 -0
  460. package/dist/showcase/assets/image-T88JyDag.js +1 -0
  461. package/dist/showcase/assets/inbox-DLrLLnTR.js +1 -0
  462. package/dist/showcase/assets/index-DDZl6kOS.js +10 -0
  463. package/dist/showcase/assets/index-nOkXemgw.css +2 -0
  464. package/dist/showcase/assets/inertValue-BajuuRy4.js +1 -0
  465. package/dist/showcase/assets/info-CNYfw2Yz.js +1 -0
  466. package/dist/showcase/assets/inline-stat-BN6yhDR5.js +15 -0
  467. package/dist/showcase/assets/inline-stat-Bqw3lVfk.js +1 -0
  468. package/dist/showcase/assets/input-C-9K6F0N.js +1 -0
  469. package/dist/showcase/assets/input-DaZzfkZV.js +1 -0
  470. package/dist/showcase/assets/input-group-DE-Xdhv4.js +1 -0
  471. package/dist/showcase/assets/input-group-DIQZnytn.js +47 -0
  472. package/dist/showcase/assets/inputs-Cl_JgSR4.js +155 -0
  473. package/dist/showcase/assets/installation-DdhD4Dkq.js +134 -0
  474. package/dist/showcase/assets/invoice-header-DOs2ACqQ.js +36 -0
  475. package/dist/showcase/assets/invoice-items-1EuA62mF.js +36 -0
  476. package/dist/showcase/assets/invoice-mini-vCrYEtWp.js +14 -0
  477. package/dist/showcase/assets/invoice-table--mDTs1Iz.js +30 -0
  478. package/dist/showcase/assets/isSameDay-BNB1yam4.js +1 -0
  479. package/dist/showcase/assets/isToday-BugOpGJC.js +1 -0
  480. package/dist/showcase/assets/italic-Ck4UD2ZT.js +1 -0
  481. package/dist/showcase/assets/item-BcesxqFS.js +139 -0
  482. package/dist/showcase/assets/item-BgPlwUMv.js +1 -0
  483. package/dist/showcase/assets/item-CB9k_rmo.js +1 -0
  484. package/dist/showcase/assets/kanban-cPuSVqWY.js +188 -0
  485. package/dist/showcase/assets/key-round-BmYjd5dk.js +1 -0
  486. package/dist/showcase/assets/label-BTIBJBqN.js +1 -0
  487. package/dist/showcase/assets/languages-he6FNXRs.js +1 -0
  488. package/dist/showcase/assets/layers-B_48DtOz.js +1 -0
  489. package/dist/showcase/assets/layout-app-shell-zwLv6jTP.js +608 -0
  490. package/dist/showcase/assets/layout-auth-2Zv5lr52.js +790 -0
  491. package/dist/showcase/assets/layout-containers-Dzw3xlKn.js +101 -0
  492. package/dist/showcase/assets/layout-header-TJ-WVmG3.js +203 -0
  493. package/dist/showcase/assets/layout-page-CIVQCKXK.js +314 -0
  494. package/dist/showcase/assets/layout-primitives-i_O81fzT.js +34 -0
  495. package/dist/showcase/assets/layout-sidebar-eH_pwBq_.js +224 -0
  496. package/dist/showcase/assets/layout-users-CWSaFBLj.js +117 -0
  497. package/dist/showcase/assets/layout-workspace-w3oe32GE.js +191 -0
  498. package/dist/showcase/assets/lib-CoS0xjP8.js +1 -0
  499. package/dist/showcase/assets/list-checks-DecRPpK3.js +1 -0
  500. package/dist/showcase/assets/lock-D9f8uXol.js +1 -0
  501. package/dist/showcase/assets/lock-keyhole-C20eixH6.js +1 -0
  502. package/dist/showcase/assets/mail-CVgP8Qlo.js +1 -0
  503. package/dist/showcase/assets/mail-check-mplTKcSH.js +1 -0
  504. package/dist/showcase/assets/map-B6OGeOup.js +124 -0
  505. package/dist/showcase/assets/map-pin-BZXSwrzT.js +1 -0
  506. package/dist/showcase/assets/media-library-DSlVIM1Q.js +699 -0
  507. package/dist/showcase/assets/mention-inline-suggestions-CNAEeXgy.js +1 -0
  508. package/dist/showcase/assets/mentions-Cb3g4hDN.js +138 -0
  509. package/dist/showcase/assets/menus-CE0Hlj8N.js +171 -0
  510. package/dist/showcase/assets/message-square-HliU8vbW.js +1 -0
  511. package/dist/showcase/assets/metadata-list-CJ5v5Bvc.js +286 -0
  512. package/dist/showcase/assets/metadata-list-DY92-pw2.js +1 -0
  513. package/dist/showcase/assets/metric-DxMTjIvU.js +1 -0
  514. package/dist/showcase/assets/metric-bar-cW9nWCRl.js +1 -0
  515. package/dist/showcase/assets/metric-grid-CvfO52X1.js +1 -0
  516. package/dist/showcase/assets/metric-trend-chip-BmjQdRus.js +1 -0
  517. package/dist/showcase/assets/metrics-analytics-bar-BZqB5d1y.js +44 -0
  518. package/dist/showcase/assets/metrics-analytics-cards-jAhlrQCI.js +50 -0
  519. package/dist/showcase/assets/metrics-comparison-DURZ6qEL.js +76 -0
  520. package/dist/showcase/assets/metrics-heatmap-HhJDBguh.js +27 -0
  521. package/dist/showcase/assets/metrics-inline-badge-Dq5k-P6F.js +17 -0
  522. package/dist/showcase/assets/metrics-kpi-row-DXzhwa6z.js +31 -0
  523. package/dist/showcase/assets/metrics-micro-grid-C6O5b0wP.js +42 -0
  524. package/dist/showcase/assets/metrics-overview-Hv2mseb3.js +192 -0
  525. package/dist/showcase/assets/metrics-stat-cards-CW42vBCS.js +54 -0
  526. package/dist/showcase/assets/minus-BW62vCxf.js +1 -0
  527. package/dist/showcase/assets/money-display-CAdGk5Lr.js +1 -0
  528. package/dist/showcase/assets/month-year-picker-dHuvgz1E.js +1 -0
  529. package/dist/showcase/assets/navigation-C4uSLvbZ.js +90 -0
  530. package/dist/showcase/assets/navigation-SjsZrtIc.js +231 -0
  531. package/dist/showcase/assets/navigation-extras-CMVNVskk.js +43 -0
  532. package/dist/showcase/assets/onboarding-checklist-C1jwRdMU.js +119 -0
  533. package/dist/showcase/assets/overflow-tab-bar-BYFLpl5w.js +1 -0
  534. package/dist/showcase/assets/overlays-0Y8MAz39.js +159 -0
  535. package/dist/showcase/assets/overlays-ClOnjahL.js +408 -0
  536. package/dist/showcase/assets/overview-B5ztGmTp.js +184 -0
  537. package/dist/showcase/assets/package-check-MeSw6bS4.js +1 -0
  538. package/dist/showcase/assets/package-vYJ0q0QM.js +1 -0
  539. package/dist/showcase/assets/page-4lMKtBQ7.js +1 -0
  540. package/dist/showcase/assets/page-action-button-C5-TGSzy.js +1 -0
  541. package/dist/showcase/assets/page-header-C_-KYryO.js +1 -0
  542. package/dist/showcase/assets/pagination-D3L3Iwus.js +1 -0
  543. package/dist/showcase/assets/pagination-dZXPxwHx.js +42 -0
  544. package/dist/showcase/assets/paperclip-BZhdPOw8.js +1 -0
  545. package/dist/showcase/assets/password-input-CDSMtGxt.js +1 -0
  546. package/dist/showcase/assets/pencil-DiYr3CZ9.js +1 -0
  547. package/dist/showcase/assets/phone-Dm5qzlG8.js +1 -0
  548. package/dist/showcase/assets/plus-pfGaA3St.js +1 -0
  549. package/dist/showcase/assets/popover-CjVWDO7C.js +1 -0
  550. package/dist/showcase/assets/popover-menu-JcZyGV3Y.js +1 -0
  551. package/dist/showcase/assets/popover-pZ4Jbp0s.js +1 -0
  552. package/dist/showcase/assets/products-C62MKtAR.js +423 -0
  553. package/dist/showcase/assets/progress-Btw-ZUaU.js +18 -0
  554. package/dist/showcase/assets/progress-DpB5LL6R.js +1 -0
  555. package/dist/showcase/assets/props-table-Bjc9IHmp.js +1 -0
  556. package/dist/showcase/assets/quote-DcxVd1fj.js +1 -0
  557. package/dist/showcase/assets/receipt-BHns-S5Q.js +1 -0
  558. package/dist/showcase/assets/receipt-text-L0aYasyt.js +1 -0
  559. package/dist/showcase/assets/refinement-guide-BBOGBJ4I.js +189 -0
  560. package/dist/showcase/assets/refresh-cw-z6mlm0HI.js +1 -0
  561. package/dist/showcase/assets/resolveValueLabel-hsarzg5A.js +1 -0
  562. package/dist/showcase/assets/resource-CIn_zKZ4.js +139 -0
  563. package/dist/showcase/assets/resource-DxktLgEK.js +1 -0
  564. package/dist/showcase/assets/resource-selector-card-dkcEQ6bl.js +43 -0
  565. package/dist/showcase/assets/rich-text-editor-Dd-rWisw.js +124 -0
  566. package/dist/showcase/assets/rich-text-editor-DvJMFj48.js +143 -0
  567. package/dist/showcase/assets/rotate-ccw-DEz6nb5P.js +1 -0
  568. package/dist/showcase/assets/route-BeXaXTk8.js +1 -0
  569. package/dist/showcase/assets/save-EE7Tc5OT.js +1 -0
  570. package/dist/showcase/assets/schema-form-RK9Zpz1E.js +327 -0
  571. package/dist/showcase/assets/scroll-area-BejQJ0Q1.js +32 -0
  572. package/dist/showcase/assets/scroll-area-DS8LJ7LG.js +1 -0
  573. package/dist/showcase/assets/section-Cv8i4DIx.js +1 -0
  574. package/dist/showcase/assets/select-Cuy3YKW9.js +1 -0
  575. package/dist/showcase/assets/select-qFy1jm91.js +1 -0
  576. package/dist/showcase/assets/send-CXv0ST9u.js +1 -0
  577. package/dist/showcase/assets/separator-CecGyBaV.js +1 -0
  578. package/dist/showcase/assets/separator-CqtFQXrk.js +28 -0
  579. package/dist/showcase/assets/settings-2-CCeMwMOj.js +1 -0
  580. package/dist/showcase/assets/settings-CXjN6wTC.js +1 -0
  581. package/dist/showcase/assets/sheet-Csyrmkqp.js +1 -0
  582. package/dist/showcase/assets/shield-DR0ZfAFA.js +1 -0
  583. package/dist/showcase/assets/shield-alert-Bp1iFJ2q.js +1 -0
  584. package/dist/showcase/assets/shield-check-ClL4B_Cd.js +1 -0
  585. package/dist/showcase/assets/shopping-bag-DnSmbPUX.js +1 -0
  586. package/dist/showcase/assets/showcase-CQKt5VGi.js +132 -0
  587. package/dist/showcase/assets/sidebar-CXy94md1.js +1 -0
  588. package/dist/showcase/assets/sidebar.context-C8gkOwJ5.js +1 -0
  589. package/dist/showcase/assets/skeleton-B8wC5P66.js +29 -0
  590. package/dist/showcase/assets/skeleton-DBlCLlBC.js +1 -0
  591. package/dist/showcase/assets/slider-BcjkNx6W.js +1 -0
  592. package/dist/showcase/assets/smart-card-Cg6rtWH9.js +1 -0
  593. package/dist/showcase/assets/sonner-ZGBQ13wS.js +22 -0
  594. package/dist/showcase/assets/sortable.esm-CGFWc-Cn.js +5 -0
  595. package/dist/showcase/assets/sparkles-q1-9JZqa.js +1 -0
  596. package/dist/showcase/assets/spinner-CKg8QLHu.js +1 -0
  597. package/dist/showcase/assets/spinner-D1Ao9j9T.js +49 -0
  598. package/dist/showcase/assets/spinner-oahLIkgb.js +30 -0
  599. package/dist/showcase/assets/square-pen-DZ3bQJia.js +1 -0
  600. package/dist/showcase/assets/stacked-avatars-CKPtb3Hj.js +1 -0
  601. package/dist/showcase/assets/star-suetD-KI.js +1 -0
  602. package/dist/showcase/assets/startOfDay-OjIsUeiv.js +1 -0
  603. package/dist/showcase/assets/styles-1mYOoC2k.js +1 -0
  604. package/dist/showcase/assets/suggestions-DLYaI-In.js +126 -0
  605. package/dist/showcase/assets/switch-CTTrJNwo.js +1 -0
  606. package/dist/showcase/assets/switch-ChJWWmxN.js +1 -0
  607. package/dist/showcase/assets/sync-DsHYydvo.js +124 -0
  608. package/dist/showcase/assets/table-Ck2ptin2.js +686 -0
  609. package/dist/showcase/assets/table-DyJ9oADQ.js +1 -0
  610. package/dist/showcase/assets/table-actions-COU4zHfh.js +1 -0
  611. package/dist/showcase/assets/tabs-Bl_RHGIw.js +1 -0
  612. package/dist/showcase/assets/tabs-DS-4VSkb.js +19 -0
  613. package/dist/showcase/assets/tags-input-BlYzb5fF.js +1 -0
  614. package/dist/showcase/assets/text-button-OPdNs3fb.js +1 -0
  615. package/dist/showcase/assets/text-link-D27gqGeg.js +1 -0
  616. package/dist/showcase/assets/textarea-DpC7J5F-.js +1 -0
  617. package/dist/showcase/assets/textarea-JtXUjxvc.js +1 -0
  618. package/dist/showcase/assets/timelines-DQM-B4Xo.js +200 -0
  619. package/dist/showcase/assets/toggle-group-CMneKREH.js +1 -0
  620. package/dist/showcase/assets/toggles-CAXXgjO_.js +71 -0
  621. package/dist/showcase/assets/toggles-group-CHRqrpoM.js +32 -0
  622. package/dist/showcase/assets/tooltip-CwGZAioX.js +31 -0
  623. package/dist/showcase/assets/trash-2-BpMb9Zbb.js +1 -0
  624. package/dist/showcase/assets/trending-up-B1BzitCg.js +1 -0
  625. package/dist/showcase/assets/truck-CDSE5-HZ.js +1 -0
  626. package/dist/showcase/assets/typography-BoNJ1hRZ.js +223 -0
  627. package/dist/showcase/assets/ui-badge-Djh6NiB2.js +28 -0
  628. package/dist/showcase/assets/ui-card-QC_rl_H2.js +30 -0
  629. package/dist/showcase/assets/ui-table-qAGsc3qN.js +42 -0
  630. package/dist/showcase/assets/upload-tray-DKCJgW5u.js +138 -0
  631. package/dist/showcase/assets/use-layout-link-BPlsZ8Ys.js +1 -0
  632. package/dist/showcase/assets/useAnchoredPopupScrollLock-526MebAC.js +1 -0
  633. package/dist/showcase/assets/useAriaLabelledBy-CqySZiH9.js +1 -0
  634. package/dist/showcase/assets/useCollapsiblePanel-DWX7LbGX.js +1 -0
  635. package/dist/showcase/assets/useCompositeItem-DGEBUXgE.js +1 -0
  636. package/dist/showcase/assets/useCompositeListItem-B2nuNlc2.js +1 -0
  637. package/dist/showcase/assets/useLabelableId-DY4O1lpt.js +1 -0
  638. package/dist/showcase/assets/useOpenInteractionType-DxwujDvt.js +1 -0
  639. package/dist/showcase/assets/useRender-BPoNv-Lm.js +1 -0
  640. package/dist/showcase/assets/useTriggerFocusGuards-BnOSAjfy.js +1 -0
  641. package/dist/showcase/assets/useValueChanged-CXmDOWxx.js +1 -0
  642. package/dist/showcase/assets/user-BGchdtV_.js +1 -0
  643. package/dist/showcase/assets/user-plus-BifI_xVA.js +1 -0
  644. package/dist/showcase/assets/users-Cl5yYqdg.js +1 -0
  645. package/dist/showcase/assets/vendor-profile-BNW4FYna.js +37 -0
  646. package/dist/showcase/assets/video-BtQPixYN.js +1 -0
  647. package/dist/showcase/assets/wrench-CRalc5fG.js +1 -0
  648. package/dist/showcase/assets/x-D6hUY89S.js +1 -0
  649. package/dist/showcase/assets/zap-v_qbqeI5.js +1 -0
  650. package/dist/showcase/index.html +2 -2
  651. package/dist/style.css +1 -1
  652. package/package.json +1 -1
  653. package/src/css/themes/shadcn.default.css +6 -6
  654. package/src/css/tokens/foundation.css +6 -6
  655. package/dist/_shared/accordion-B9EjlZLY.js +0 -135
  656. package/dist/_shared/accordion-B9EjlZLY.js.map +0 -1
  657. package/dist/_shared/accordion-IFDIc0E7.cjs +0 -2
  658. package/dist/_shared/accordion-IFDIc0E7.cjs.map +0 -1
  659. package/dist/_shared/action-menu-B6yFRDz1.cjs +0 -2
  660. package/dist/_shared/action-menu-B6yFRDz1.cjs.map +0 -1
  661. package/dist/_shared/action-menu-CNS-fwQr.js +0 -96
  662. package/dist/_shared/action-menu-CNS-fwQr.js.map +0 -1
  663. package/dist/_shared/ai-artifact-B3qhuiKC.js +0 -1099
  664. package/dist/_shared/ai-artifact-B3qhuiKC.js.map +0 -1
  665. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +0 -3
  666. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +0 -1
  667. package/dist/_shared/alert-V0V36Sny.cjs +0 -2
  668. package/dist/_shared/alert-V0V36Sny.cjs.map +0 -1
  669. package/dist/_shared/alert-m-4s0Hqq.js +0 -81
  670. package/dist/_shared/alert-m-4s0Hqq.js.map +0 -1
  671. package/dist/_shared/app-shell-D3eGUtL-.js +0 -69
  672. package/dist/_shared/app-shell-D3eGUtL-.js.map +0 -1
  673. package/dist/_shared/app-shell-QJHARDMB.cjs +0 -2
  674. package/dist/_shared/app-shell-QJHARDMB.cjs.map +0 -1
  675. package/dist/_shared/auth-DdezEtKK.cjs +0 -2
  676. package/dist/_shared/auth-DdezEtKK.cjs.map +0 -1
  677. package/dist/_shared/auth-e7yab9pK.js +0 -643
  678. package/dist/_shared/auth-e7yab9pK.js.map +0 -1
  679. package/dist/_shared/badge-BeSKxX1u.cjs +0 -2
  680. package/dist/_shared/badge-BeSKxX1u.cjs.map +0 -1
  681. package/dist/_shared/badge-a2Z3K5aQ.js +0 -110
  682. package/dist/_shared/badge-a2Z3K5aQ.js.map +0 -1
  683. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +0 -2
  684. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +0 -1
  685. package/dist/_shared/breadcrumbs-B57Unsoe.js +0 -105
  686. package/dist/_shared/breadcrumbs-B57Unsoe.js.map +0 -1
  687. package/dist/_shared/button-Bd5bEIiB.cjs +0 -2
  688. package/dist/_shared/button-Bd5bEIiB.cjs.map +0 -1
  689. package/dist/_shared/button-DHksjMvc.js +0 -189
  690. package/dist/_shared/button-DHksjMvc.js.map +0 -1
  691. package/dist/_shared/buttons-Bek9F7qK.cjs +0 -2
  692. package/dist/_shared/buttons-Bek9F7qK.cjs.map +0 -1
  693. package/dist/_shared/buttons-DcynMPnE.js +0 -137
  694. package/dist/_shared/buttons-DcynMPnE.js.map +0 -1
  695. package/dist/_shared/card-radio-group-C2p_iBal.cjs +0 -2
  696. package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +0 -1
  697. package/dist/_shared/card-radio-group-Fdi1Cz1j.js +0 -150
  698. package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +0 -1
  699. package/dist/_shared/cards-CbbHly7W.cjs +0 -2
  700. package/dist/_shared/cards-CbbHly7W.cjs.map +0 -1
  701. package/dist/_shared/cards-RZxRLx3f.js +0 -355
  702. package/dist/_shared/cards-RZxRLx3f.js.map +0 -1
  703. package/dist/_shared/combobox-BIe72dV3.js +0 -954
  704. package/dist/_shared/combobox-BIe72dV3.js.map +0 -1
  705. package/dist/_shared/combobox-CJiFDoTi.cjs +0 -2
  706. package/dist/_shared/combobox-CJiFDoTi.cjs.map +0 -1
  707. package/dist/_shared/comments-BJqgvSFY.js +0 -952
  708. package/dist/_shared/comments-BJqgvSFY.js.map +0 -1
  709. package/dist/_shared/comments-BjPciQfo.cjs +0 -2
  710. package/dist/_shared/comments-BjPciQfo.cjs.map +0 -1
  711. package/dist/_shared/containers-D7oZE4XI.cjs +0 -2
  712. package/dist/_shared/containers-D7oZE4XI.cjs.map +0 -1
  713. package/dist/_shared/containers-anBivbL9.js +0 -19
  714. package/dist/_shared/containers-anBivbL9.js.map +0 -1
  715. package/dist/_shared/content-container-CVUJCLhn.cjs +0 -2
  716. package/dist/_shared/content-container-CVUJCLhn.cjs.map +0 -1
  717. package/dist/_shared/content-container-Dv8XsAw4.js +0 -33
  718. package/dist/_shared/content-container-Dv8XsAw4.js.map +0 -1
  719. package/dist/_shared/copyable-Dopk9pEJ.js +0 -38
  720. package/dist/_shared/copyable-Dopk9pEJ.js.map +0 -1
  721. package/dist/_shared/copyable-rQwxsTJ3.cjs +0 -2
  722. package/dist/_shared/copyable-rQwxsTJ3.cjs.map +0 -1
  723. package/dist/_shared/data-display-C21skrV4.cjs +0 -2
  724. package/dist/_shared/data-display-C21skrV4.cjs.map +0 -1
  725. package/dist/_shared/data-display-C5-1dZua.js +0 -1873
  726. package/dist/_shared/data-display-C5-1dZua.js.map +0 -1
  727. package/dist/_shared/date-picker-BiUgIkjP.cjs +0 -2
  728. package/dist/_shared/date-picker-BiUgIkjP.cjs.map +0 -1
  729. package/dist/_shared/date-picker-DFkLiveH.js +0 -1361
  730. package/dist/_shared/date-picker-DFkLiveH.js.map +0 -1
  731. package/dist/_shared/date-pickers-C86tVD8e.cjs +0 -2
  732. package/dist/_shared/date-pickers-C86tVD8e.cjs.map +0 -1
  733. package/dist/_shared/date-pickers-D4oxOOHE.js +0 -329
  734. package/dist/_shared/date-pickers-D4oxOOHE.js.map +0 -1
  735. package/dist/_shared/display-B0wLVN8t.js +0 -986
  736. package/dist/_shared/display-B0wLVN8t.js.map +0 -1
  737. package/dist/_shared/display-Bin2vVex.cjs +0 -2
  738. package/dist/_shared/display-Bin2vVex.cjs.map +0 -1
  739. package/dist/_shared/form-sizing-C51oI3Di.js +0 -42
  740. package/dist/_shared/form-sizing-C51oI3Di.js.map +0 -1
  741. package/dist/_shared/form-sizing-Co53Drri.cjs +0 -2
  742. package/dist/_shared/form-sizing-Co53Drri.cjs.map +0 -1
  743. package/dist/_shared/forms-BoquZE2Y.js +0 -3533
  744. package/dist/_shared/forms-BoquZE2Y.js.map +0 -1
  745. package/dist/_shared/forms-CzrEYejY.cjs +0 -2
  746. package/dist/_shared/forms-CzrEYejY.cjs.map +0 -1
  747. package/dist/_shared/header-CxhEtk9M.cjs +0 -2
  748. package/dist/_shared/header-CxhEtk9M.cjs.map +0 -1
  749. package/dist/_shared/header-h3f14vQx.js +0 -447
  750. package/dist/_shared/header-h3f14vQx.js.map +0 -1
  751. package/dist/_shared/hooks-CS55-w3h.js +0 -95
  752. package/dist/_shared/hooks-CS55-w3h.js.map +0 -1
  753. package/dist/_shared/hooks-sfHAyDgD.cjs +0 -2
  754. package/dist/_shared/hooks-sfHAyDgD.cjs.map +0 -1
  755. package/dist/_shared/input-CB6hxh-5.cjs +0 -2
  756. package/dist/_shared/input-CB6hxh-5.cjs.map +0 -1
  757. package/dist/_shared/input-CfnHBT--.js +0 -182
  758. package/dist/_shared/input-CfnHBT--.js.map +0 -1
  759. package/dist/_shared/item-Xs-fgzaT.js +0 -226
  760. package/dist/_shared/item-Xs-fgzaT.js.map +0 -1
  761. package/dist/_shared/item-eUP9Rtmg.cjs +0 -2
  762. package/dist/_shared/item-eUP9Rtmg.cjs.map +0 -1
  763. package/dist/_shared/layout.types-CYuDZ_4h.cjs +0 -2
  764. package/dist/_shared/layout.types-CYuDZ_4h.cjs.map +0 -1
  765. package/dist/_shared/layout.types-j7zZAPtg.js +0 -28
  766. package/dist/_shared/layout.types-j7zZAPtg.js.map +0 -1
  767. package/dist/_shared/mentions-BahbwDwU.js +0 -506
  768. package/dist/_shared/mentions-BahbwDwU.js.map +0 -1
  769. package/dist/_shared/mentions-aHalksbt.cjs +0 -2
  770. package/dist/_shared/mentions-aHalksbt.cjs.map +0 -1
  771. package/dist/_shared/money-display-BLPNMmiT.cjs +0 -2
  772. package/dist/_shared/money-display-BLPNMmiT.cjs.map +0 -1
  773. package/dist/_shared/money-display-D_-Cb8-9.js +0 -198
  774. package/dist/_shared/money-display-D_-Cb8-9.js.map +0 -1
  775. package/dist/_shared/navigation-BcYAwgzo.js +0 -436
  776. package/dist/_shared/navigation-BcYAwgzo.js.map +0 -1
  777. package/dist/_shared/navigation-DAB7uuBj.cjs +0 -2
  778. package/dist/_shared/navigation-DAB7uuBj.cjs.map +0 -1
  779. package/dist/_shared/overlays-DW8OIK5R.js +0 -735
  780. package/dist/_shared/overlays-DW8OIK5R.js.map +0 -1
  781. package/dist/_shared/overlays-Du65iCkx.cjs +0 -2
  782. package/dist/_shared/overlays-Du65iCkx.cjs.map +0 -1
  783. package/dist/_shared/page-D8UMXREv.cjs +0 -2
  784. package/dist/_shared/page-D8UMXREv.cjs.map +0 -1
  785. package/dist/_shared/page-D9LNsHMN.js +0 -262
  786. package/dist/_shared/page-D9LNsHMN.js.map +0 -1
  787. package/dist/_shared/popover-menu-qxBZlTck.js +0 -93
  788. package/dist/_shared/popover-menu-qxBZlTck.js.map +0 -1
  789. package/dist/_shared/popover-menu-z9QTjl4o.cjs +0 -2
  790. package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +0 -1
  791. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +0 -2
  792. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +0 -1
  793. package/dist/_shared/rich-text-editor-VIBlL0x3.js +0 -620
  794. package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +0 -1
  795. package/dist/_shared/settings-BeZOIEJB.js +0 -143
  796. package/dist/_shared/settings-BeZOIEJB.js.map +0 -1
  797. package/dist/_shared/settings-DI-K34bW.cjs +0 -2
  798. package/dist/_shared/settings-DI-K34bW.cjs.map +0 -1
  799. package/dist/_shared/sidebar-DfToCaiC.cjs +0 -2
  800. package/dist/_shared/sidebar-DfToCaiC.cjs.map +0 -1
  801. package/dist/_shared/sidebar-DhpRdTZH.js +0 -541
  802. package/dist/_shared/sidebar-DhpRdTZH.js.map +0 -1
  803. package/dist/_shared/spinner-D35zNriU.cjs +0 -2
  804. package/dist/_shared/spinner-D35zNriU.cjs.map +0 -1
  805. package/dist/_shared/spinner-DMC2IIml.js +0 -67
  806. package/dist/_shared/spinner-DMC2IIml.js.map +0 -1
  807. package/dist/_shared/table-B_pqCQxC.js +0 -1377
  808. package/dist/_shared/table-B_pqCQxC.js.map +0 -1
  809. package/dist/_shared/table-CGVOXtdv.cjs +0 -2
  810. package/dist/_shared/table-CGVOXtdv.cjs.map +0 -1
  811. package/dist/_shared/textarea-B24qgdmd.cjs +0 -2
  812. package/dist/_shared/textarea-B24qgdmd.cjs.map +0 -1
  813. package/dist/_shared/textarea-ChLRmmVU.js +0 -118
  814. package/dist/_shared/textarea-ChLRmmVU.js.map +0 -1
  815. package/dist/_shared/typography-CO9uwZhF.cjs +0 -2
  816. package/dist/_shared/typography-CO9uwZhF.cjs.map +0 -1
  817. package/dist/_shared/typography-DE0NGEIE.js +0 -201
  818. package/dist/_shared/typography-DE0NGEIE.js.map +0 -1
  819. package/dist/_shared/workspace-BgtWS9fA.cjs +0 -2
  820. package/dist/_shared/workspace-BgtWS9fA.cjs.map +0 -1
  821. package/dist/_shared/workspace-D2jJ0PlS.js +0 -357
  822. package/dist/_shared/workspace-D2jJ0PlS.js.map +0 -1
  823. package/dist/showcase/assets/AreaChart-Y0ZwblHU.js +0 -6
  824. package/dist/showcase/assets/CompositeItem-BIY_Cp7P.js +0 -1
  825. package/dist/showcase/assets/CompositeRoot-DSPvBRQr.js +0 -1
  826. package/dist/showcase/assets/DialogTrigger-DHUp8vXe.js +0 -1
  827. package/dist/showcase/assets/LabelableContext-CasUI4hR.js +0 -1
  828. package/dist/showcase/assets/PreviewLayout-B_l930k0.js +0 -1
  829. package/dist/showcase/assets/RadioGroup-BgZ-UH79.js +0 -1
  830. package/dist/showcase/assets/ScrollAreaCorner-BbwFElLA.js +0 -1
  831. package/dist/showcase/assets/Separator-dQuencsA.js +0 -1
  832. package/dist/showcase/assets/ToolbarRootContext-BE0hbejq.js +0 -1
  833. package/dist/showcase/assets/accordion-D93ZNsLn.js +0 -171
  834. package/dist/showcase/assets/accordion-variants-Bl4bIQH4.js +0 -1
  835. package/dist/showcase/assets/action-menu--rEgMzDi.js +0 -1
  836. package/dist/showcase/assets/actions-3iedOWD9.js +0 -310
  837. package/dist/showcase/assets/activities-CyrAWFlu.js +0 -500
  838. package/dist/showcase/assets/activities-feed-card-bhIATc2O.js +0 -1
  839. package/dist/showcase/assets/admin-CZzNsj2q.js +0 -140
  840. package/dist/showcase/assets/ai-CasHwkW4.js +0 -207
  841. package/dist/showcase/assets/ai-artifact-BgWvrLAb.js +0 -2
  842. package/dist/showcase/assets/ai-chat-seS9aW-1.js +0 -568
  843. package/dist/showcase/assets/ai-elements-Tku5_ous.js +0 -387
  844. package/dist/showcase/assets/ai-tool-call-BU6xbmXG.js +0 -1
  845. package/dist/showcase/assets/alert-6Emt6KX2.js +0 -1
  846. package/dist/showcase/assets/alert-B6aLWiRW.js +0 -62
  847. package/dist/showcase/assets/alert-CtoTQ0vN.js +0 -93
  848. package/dist/showcase/assets/api-key-list-C0glWR3z.js +0 -1
  849. package/dist/showcase/assets/api-key-list-DcWSbY3u.js +0 -73
  850. package/dist/showcase/assets/app-sidebar-D_eNP_jh.js +0 -1
  851. package/dist/showcase/assets/arrow-down-qyKZ1H5j.js +0 -1
  852. package/dist/showcase/assets/arrow-left-C9I0h_su.js +0 -1
  853. package/dist/showcase/assets/arrow-right-DswaRsr6.js +0 -1
  854. package/dist/showcase/assets/arrow-up-5BijPOxK.js +0 -1
  855. package/dist/showcase/assets/arrow-up-right-CbVVNT6g.js +0 -1
  856. package/dist/showcase/assets/avatar-BYHVCvVW.js +0 -67
  857. package/dist/showcase/assets/avatar-BlLAVC87.js +0 -1
  858. package/dist/showcase/assets/avatar-DQTXjcS4.js +0 -1
  859. package/dist/showcase/assets/avatar-DveZy09C.js +0 -57
  860. package/dist/showcase/assets/badge-Bth3mRTh.js +0 -31
  861. package/dist/showcase/assets/badge-check-DocF8Ho3.js +0 -1
  862. package/dist/showcase/assets/bell-DXBoeAzi.js +0 -1
  863. package/dist/showcase/assets/bot-Ch-Y1HK8.js +0 -1
  864. package/dist/showcase/assets/box-72m9QSDa.js +0 -1
  865. package/dist/showcase/assets/braces-CC17X3TE.js +0 -1
  866. package/dist/showcase/assets/brain-Dvbla_5x.js +0 -1
  867. package/dist/showcase/assets/brand-D5ciAq8v.js +0 -36
  868. package/dist/showcase/assets/breadcrumb-BBCaOVyz.js +0 -52
  869. package/dist/showcase/assets/breadcrumb-Bt8yVTCj.js +0 -1
  870. package/dist/showcase/assets/breadcrumbs-CkVWfcAN.js +0 -1
  871. package/dist/showcase/assets/briefcase-8rQTJwpE.js +0 -1
  872. package/dist/showcase/assets/building-2-CV7gTtXz.js +0 -1
  873. package/dist/showcase/assets/button-HGjoBio3.js +0 -44
  874. package/dist/showcase/assets/button-group-LWToSCrp.js +0 -1
  875. package/dist/showcase/assets/buttons-Bn_dX6Kk.js +0 -272
  876. package/dist/showcase/assets/calendar-BTsffmY8.js +0 -1
  877. package/dist/showcase/assets/calendar-Bhpyn4u0.js +0 -1
  878. package/dist/showcase/assets/calendar-DjrUTKcD.js +0 -16
  879. package/dist/showcase/assets/calendar-days-BKCkzWjV.js +0 -1
  880. package/dist/showcase/assets/camera-EjpDG3mc.js +0 -1
  881. package/dist/showcase/assets/card-Bp6iGuOF.js +0 -188
  882. package/dist/showcase/assets/card-CHc6AVFt.js +0 -1
  883. package/dist/showcase/assets/card-primitives-Bv6XGPJd.js +0 -1
  884. package/dist/showcase/assets/card-radio-group-Ce9FsiSv.js +0 -1
  885. package/dist/showcase/assets/cards-_CGG9zir.js +0 -354
  886. package/dist/showcase/assets/carousel-BVbsKH2W.js +0 -449
  887. package/dist/showcase/assets/cell-renderers-CosD6Gby.js +0 -1
  888. package/dist/showcase/assets/chart-CwOp8Sf8.js +0 -358
  889. package/dist/showcase/assets/chart-column-sz871NdJ.js +0 -1
  890. package/dist/showcase/assets/checkbox-BO38TYqr.js +0 -1
  891. package/dist/showcase/assets/checkbox-W4MhlPlJ.js +0 -1
  892. package/dist/showcase/assets/chevron-down-BFh1Fz2P.js +0 -1
  893. package/dist/showcase/assets/chevron-left-C5_X5glO.js +0 -1
  894. package/dist/showcase/assets/chevron-up-DPH3boVS.js +0 -1
  895. package/dist/showcase/assets/chevrons-up-down-CM5mIDaw.js +0 -1
  896. package/dist/showcase/assets/circle-BFDzL1iF.js +0 -1
  897. package/dist/showcase/assets/circle-alert-C6MbOB0m.js +0 -1
  898. package/dist/showcase/assets/circle-check-C0X85t4j.js +0 -1
  899. package/dist/showcase/assets/circle-check-big-CBaodck_.js +0 -1
  900. package/dist/showcase/assets/circle-dot-DdRpIhnL.js +0 -1
  901. package/dist/showcase/assets/circle-question-mark-CKlcead7.js +0 -1
  902. package/dist/showcase/assets/circle-x-MO44aKHe.js +0 -1
  903. package/dist/showcase/assets/clock-3-CXQJFcbh.js +0 -1
  904. package/dist/showcase/assets/clock-GhBJJ6n1.js +0 -1
  905. package/dist/showcase/assets/code-xml-BSX7Qyi5.js +0 -1
  906. package/dist/showcase/assets/collapsible-CZLTO5EH.js +0 -1
  907. package/dist/showcase/assets/collapsible-LrDO_sSQ.js +0 -27
  908. package/dist/showcase/assets/combobox-TmDBXkM-.js +0 -685
  909. package/dist/showcase/assets/command-9-r1qrJt.js +0 -1
  910. package/dist/showcase/assets/command-DGne3l9s.js +0 -1
  911. package/dist/showcase/assets/comment-composer-BI0qnvuY.js +0 -1
  912. package/dist/showcase/assets/comment-item-Cedds6Lm.js +0 -1
  913. package/dist/showcase/assets/comments-De02NOns.js +0 -357
  914. package/dist/showcase/assets/commerce-DldtS83o.js +0 -267
  915. package/dist/showcase/assets/composite-BjZZlzzb.js +0 -1
  916. package/dist/showcase/assets/contact-card-muCZ3uXV.js +0 -65
  917. package/dist/showcase/assets/content-container-BxSLICeL.js +0 -1
  918. package/dist/showcase/assets/copyable-DYhhmTqM.js +0 -1
  919. package/dist/showcase/assets/copyable-MNU75-J9.js +0 -96
  920. package/dist/showcase/assets/course-card-Dl1wsuJx.js +0 -77
  921. package/dist/showcase/assets/cpu-CsWq4fcX.js +0 -1
  922. package/dist/showcase/assets/credit-card-B0AUZiWw.js +0 -1
  923. package/dist/showcase/assets/css-variables-Be7DzahT.js +0 -1190
  924. package/dist/showcase/assets/currency-BtPM_Xtw.js +0 -149
  925. package/dist/showcase/assets/dark-surfaces-DRFERSEv.js +0 -90
  926. package/dist/showcase/assets/data-view-DmWd0h7G.js +0 -4
  927. package/dist/showcase/assets/data-view-DnLH2o0i.js +0 -124
  928. package/dist/showcase/assets/database-C0YqGaQ_.js +0 -1
  929. package/dist/showcase/assets/date-block-BQH25FLS.js +0 -1
  930. package/dist/showcase/assets/date-picker-BF-jevhh.js +0 -1
  931. package/dist/showcase/assets/date-pickers-q2v3ajJm.js +0 -73
  932. package/dist/showcase/assets/dense-info-Cb-roqDU.js +0 -106
  933. package/dist/showcase/assets/design-system-consistency-DMSJknaM.js +0 -264
  934. package/dist/showcase/assets/dialog-C0ALRmbP.js +0 -1
  935. package/dist/showcase/assets/dialog-CbXon08k.js +0 -1
  936. package/dist/showcase/assets/display-utilities-kBUVw7o3.js +0 -267
  937. package/dist/showcase/assets/dist-CTSkWj_M.js +0 -45
  938. package/dist/showcase/assets/dist-W8bxVfew.js +0 -1
  939. package/dist/showcase/assets/dollar-sign-VNxVZleW.js +0 -1
  940. package/dist/showcase/assets/download-Ds_6eIpx.js +0 -1
  941. package/dist/showcase/assets/dropdown-menu-C1G_y9dv.js +0 -1
  942. package/dist/showcase/assets/dropzone-CxOLmdkt.js +0 -1
  943. package/dist/showcase/assets/earth-HLyEI1oq.js +0 -1
  944. package/dist/showcase/assets/ellipsis-BLyAd9A-.js +0 -1
  945. package/dist/showcase/assets/ellipsis-vertical-TG4mYU2J.js +0 -1
  946. package/dist/showcase/assets/empty-B54k9xAG.js +0 -1
  947. package/dist/showcase/assets/empty-item-BmA4rmq7.js +0 -49
  948. package/dist/showcase/assets/empty-state-CH7gjjg7.js +0 -190
  949. package/dist/showcase/assets/empty-state-hUKvmKa-.js +0 -1
  950. package/dist/showcase/assets/enhanced-activities-BRDVL9RR.js +0 -357
  951. package/dist/showcase/assets/enhanced-combobox-2wbQJS6R.js +0 -1
  952. package/dist/showcase/assets/esm-CUTefMLr.js +0 -2
  953. package/dist/showcase/assets/event-calendar-Bf9xFZlt.js +0 -138
  954. package/dist/showcase/assets/event-log-CeRDSL-h.js +0 -330
  955. package/dist/showcase/assets/example-CJMJcnb4.js +0 -1
  956. package/dist/showcase/assets/external-link-CvXhYrnd.js +0 -1
  957. package/dist/showcase/assets/eye-Cl_GfUKH.js +0 -1
  958. package/dist/showcase/assets/feature-announcement-Dw0SokLo.js +0 -34
  959. package/dist/showcase/assets/file-CJFWrwy1.js +0 -1
  960. package/dist/showcase/assets/file-text-BTTFP8Jo.js +0 -1
  961. package/dist/showcase/assets/filter-layout-DUVqG5Ql.js +0 -1
  962. package/dist/showcase/assets/filters-BLcCaplV.js +0 -139
  963. package/dist/showcase/assets/flag-BxI3EGPG.js +0 -1
  964. package/dist/showcase/assets/folder-open-4d8qsiAj.js +0 -1
  965. package/dist/showcase/assets/form-field-Dhy0eM5B.js +0 -1
  966. package/dist/showcase/assets/form-sizing-C3UG5WKC.js +0 -1
  967. package/dist/showcase/assets/format-zGqa9Olc.js +0 -1
  968. package/dist/showcase/assets/forms-D99qG5Gb.js +0 -915
  969. package/dist/showcase/assets/funnel-Cg7SOShf.js +0 -1
  970. package/dist/showcase/assets/generic-CfrG943t.js +0 -1
  971. package/dist/showcase/assets/getPseudoElementBounds-lw5shsdM.js +0 -1
  972. package/dist/showcase/assets/gift-BXtKbzvA.js +0 -1
  973. package/dist/showcase/assets/giftcard-cards-CqYaN0jC.js +0 -85
  974. package/dist/showcase/assets/git-branch-BWAuIMOQ.js +0 -1
  975. package/dist/showcase/assets/global-search-CHUva8pR.js +0 -1
  976. package/dist/showcase/assets/global-search-Df7JovOG.js +0 -215
  977. package/dist/showcase/assets/globe-CvIW_foU.js +0 -1
  978. package/dist/showcase/assets/gradient-card-CdM2J1Hv.js +0 -58
  979. package/dist/showcase/assets/hash-wBs5gyr_.js +0 -1
  980. package/dist/showcase/assets/header-DXPFmpUT.js +0 -1
  981. package/dist/showcase/assets/header-notifications-FsnCJLpe.js +0 -1
  982. package/dist/showcase/assets/heart-B4fOMIr6.js +0 -1
  983. package/dist/showcase/assets/hooks-DtMOMalj.js +0 -220
  984. package/dist/showcase/assets/house-hebmAxEE.js +0 -1
  985. package/dist/showcase/assets/icon-badge-DrZ5qGpa.js +0 -1
  986. package/dist/showcase/assets/icon-badge-JEug_P_U.js +0 -37
  987. package/dist/showcase/assets/image-CxNywgkb.js +0 -1
  988. package/dist/showcase/assets/inbox-DqAmGdDd.js +0 -1
  989. package/dist/showcase/assets/index-DujM0kEF.css +0 -2
  990. package/dist/showcase/assets/index-jD-KSiHu.js +0 -10
  991. package/dist/showcase/assets/inertValue-Dg9TwvOb.js +0 -1
  992. package/dist/showcase/assets/info-B5fZn_ZC.js +0 -1
  993. package/dist/showcase/assets/inline-stat-CklKufoA.js +0 -1
  994. package/dist/showcase/assets/inline-stat-Dep7oHIi.js +0 -15
  995. package/dist/showcase/assets/input-CkNgwwCs.js +0 -1
  996. package/dist/showcase/assets/input-DAPMRlKO.js +0 -1
  997. package/dist/showcase/assets/input-group-06D68uB6.js +0 -47
  998. package/dist/showcase/assets/input-group-Bq9aXQPG.js +0 -1
  999. package/dist/showcase/assets/inputs-C8G3y-zR.js +0 -155
  1000. package/dist/showcase/assets/installation-BV5xOvoE.js +0 -134
  1001. package/dist/showcase/assets/invoice-header-BcUxzT68.js +0 -36
  1002. package/dist/showcase/assets/invoice-items-B42Jfxl7.js +0 -36
  1003. package/dist/showcase/assets/invoice-mini-RJGdlErg.js +0 -14
  1004. package/dist/showcase/assets/invoice-table--MdP6ysv.js +0 -30
  1005. package/dist/showcase/assets/isSameDay-srttAIjD.js +0 -1
  1006. package/dist/showcase/assets/isToday-BPub5Zvi.js +0 -1
  1007. package/dist/showcase/assets/italic-1BNA_XlU.js +0 -1
  1008. package/dist/showcase/assets/item-B9KyqUGa.js +0 -139
  1009. package/dist/showcase/assets/item-DoIlPm6J.js +0 -1
  1010. package/dist/showcase/assets/item-ffIfXEGd.js +0 -1
  1011. package/dist/showcase/assets/kanban-Cfad3edR.js +0 -188
  1012. package/dist/showcase/assets/key-round-J11Zc216.js +0 -1
  1013. package/dist/showcase/assets/label-DqaB8ZB2.js +0 -1
  1014. package/dist/showcase/assets/languages-D9UaP3QU.js +0 -1
  1015. package/dist/showcase/assets/layers-QXZ9Jfej.js +0 -1
  1016. package/dist/showcase/assets/layout-app-shell-CW1eRJmU.js +0 -608
  1017. package/dist/showcase/assets/layout-auth-j4K6lveg.js +0 -790
  1018. package/dist/showcase/assets/layout-containers-NclLtsV0.js +0 -101
  1019. package/dist/showcase/assets/layout-header-B8AOTiwL.js +0 -203
  1020. package/dist/showcase/assets/layout-page-DM79QHyW.js +0 -314
  1021. package/dist/showcase/assets/layout-primitives-Dyop-WMt.js +0 -34
  1022. package/dist/showcase/assets/layout-sidebar-uBNaHqjD.js +0 -224
  1023. package/dist/showcase/assets/layout-users-BkhDiOOz.js +0 -117
  1024. package/dist/showcase/assets/layout-workspace-C2hSimZW.js +0 -191
  1025. package/dist/showcase/assets/lib-CDssULuD.js +0 -1
  1026. package/dist/showcase/assets/list-checks-DA2jqXdm.js +0 -1
  1027. package/dist/showcase/assets/lock-BDZLNQLR.js +0 -1
  1028. package/dist/showcase/assets/lock-keyhole-CWYENd9O.js +0 -1
  1029. package/dist/showcase/assets/mail-CCdaRmft.js +0 -1
  1030. package/dist/showcase/assets/mail-check-DZF1VbCX.js +0 -1
  1031. package/dist/showcase/assets/map-CDFEmmZH.js +0 -124
  1032. package/dist/showcase/assets/map-pin-CdV-R6nt.js +0 -1
  1033. package/dist/showcase/assets/media-library-BJyn1s9d.js +0 -699
  1034. package/dist/showcase/assets/mention-inline-suggestions-DPO6FhXx.js +0 -1
  1035. package/dist/showcase/assets/mentions-DtWHbcS6.js +0 -138
  1036. package/dist/showcase/assets/menus-BmjngFE4.js +0 -171
  1037. package/dist/showcase/assets/message-square-bM29txT3.js +0 -1
  1038. package/dist/showcase/assets/metadata-list-DvYTAJri.js +0 -286
  1039. package/dist/showcase/assets/metadata-list-xVUTVyy9.js +0 -1
  1040. package/dist/showcase/assets/metric-BPNCh4eA.js +0 -1
  1041. package/dist/showcase/assets/metric-bar-BX4sCMrM.js +0 -1
  1042. package/dist/showcase/assets/metric-grid-IyHP3nmU.js +0 -1
  1043. package/dist/showcase/assets/metric-trend-chip-Dih8eR17.js +0 -1
  1044. package/dist/showcase/assets/metrics-analytics-bar-DK16RNMs.js +0 -44
  1045. package/dist/showcase/assets/metrics-analytics-cards-Byyl13YT.js +0 -50
  1046. package/dist/showcase/assets/metrics-comparison-DGHFMBL-.js +0 -76
  1047. package/dist/showcase/assets/metrics-heatmap-Bl6C7i0j.js +0 -27
  1048. package/dist/showcase/assets/metrics-inline-badge-Bz79zbNK.js +0 -17
  1049. package/dist/showcase/assets/metrics-kpi-row-DzZ9dRFY.js +0 -31
  1050. package/dist/showcase/assets/metrics-micro-grid-DyoQiuzr.js +0 -42
  1051. package/dist/showcase/assets/metrics-overview-DoyHPEZw.js +0 -192
  1052. package/dist/showcase/assets/metrics-stat-cards-B1b7NFqW.js +0 -54
  1053. package/dist/showcase/assets/minus-BE2L5hVc.js +0 -1
  1054. package/dist/showcase/assets/money-display-CXQ_8LfA.js +0 -1
  1055. package/dist/showcase/assets/month-year-picker-ra8FEN8F.js +0 -1
  1056. package/dist/showcase/assets/navigation-CFfVZQJ1.js +0 -231
  1057. package/dist/showcase/assets/navigation-Da0MVkqr.js +0 -90
  1058. package/dist/showcase/assets/navigation-extras-LpsdoXfx.js +0 -43
  1059. package/dist/showcase/assets/onboarding-checklist-DPNatNOk.js +0 -119
  1060. package/dist/showcase/assets/overflow-tab-bar-C0vTzcEY.js +0 -1
  1061. package/dist/showcase/assets/overlays-Blmbun0J.js +0 -408
  1062. package/dist/showcase/assets/overlays-t0joc10Y.js +0 -159
  1063. package/dist/showcase/assets/overview-Ckq8vbOR.js +0 -184
  1064. package/dist/showcase/assets/package-Cjod_a06.js +0 -1
  1065. package/dist/showcase/assets/package-check-JRHaNnkl.js +0 -1
  1066. package/dist/showcase/assets/page-9xr7xnuW.js +0 -1
  1067. package/dist/showcase/assets/page-action-button-BRXnfsEx.js +0 -1
  1068. package/dist/showcase/assets/page-header-Bdlxfn_9.js +0 -1
  1069. package/dist/showcase/assets/pagination-CeaYhOvv.js +0 -42
  1070. package/dist/showcase/assets/pagination-DdZZHvNF.js +0 -1
  1071. package/dist/showcase/assets/paperclip-BRM-yXTB.js +0 -1
  1072. package/dist/showcase/assets/password-input-1FVEugoO.js +0 -1
  1073. package/dist/showcase/assets/pencil-DiG2dQ8F.js +0 -1
  1074. package/dist/showcase/assets/phone-BREyNZN-.js +0 -1
  1075. package/dist/showcase/assets/plus-CQcelTNc.js +0 -1
  1076. package/dist/showcase/assets/popover-Czmwspmc.js +0 -1
  1077. package/dist/showcase/assets/popover-menu-beuCaiLt.js +0 -1
  1078. package/dist/showcase/assets/popover-uqk7myG2.js +0 -1
  1079. package/dist/showcase/assets/products-DGNqIbLs.js +0 -423
  1080. package/dist/showcase/assets/progress-D76Df908.js +0 -1
  1081. package/dist/showcase/assets/progress-DjUprSDD.js +0 -18
  1082. package/dist/showcase/assets/props-table-DoDq8Mvr.js +0 -1
  1083. package/dist/showcase/assets/quote-BvGGgyJ0.js +0 -1
  1084. package/dist/showcase/assets/receipt-rgnlMgyi.js +0 -1
  1085. package/dist/showcase/assets/receipt-text-CBQrVlnU.js +0 -1
  1086. package/dist/showcase/assets/refinement-guide-B_BpIMxm.js +0 -189
  1087. package/dist/showcase/assets/refresh-cw-C-yHy6B7.js +0 -1
  1088. package/dist/showcase/assets/resolveValueLabel-0bwEvIG-.js +0 -1
  1089. package/dist/showcase/assets/resource-8f61BZ8t.js +0 -1
  1090. package/dist/showcase/assets/resource-BEh6R0gu.js +0 -139
  1091. package/dist/showcase/assets/resource-selector-card-DJwXY_Ms.js +0 -43
  1092. package/dist/showcase/assets/rich-text-editor-D433iv0N.js +0 -143
  1093. package/dist/showcase/assets/rich-text-editor-vTRfWsOK.js +0 -124
  1094. package/dist/showcase/assets/rotate-ccw-JuE4H14F.js +0 -1
  1095. package/dist/showcase/assets/route-eSu1bFNn.js +0 -1
  1096. package/dist/showcase/assets/save-Bpjj-rBP.js +0 -1
  1097. package/dist/showcase/assets/schema-form-DmOpxd96.js +0 -327
  1098. package/dist/showcase/assets/scroll-area-B9OdCBy9.js +0 -32
  1099. package/dist/showcase/assets/scroll-area-BH80l2As.js +0 -1
  1100. package/dist/showcase/assets/section-BPNIPavy.js +0 -1
  1101. package/dist/showcase/assets/select-BauiG1a3.js +0 -1
  1102. package/dist/showcase/assets/select-CPopSr5c.js +0 -1
  1103. package/dist/showcase/assets/send-DNCcBKXs.js +0 -1
  1104. package/dist/showcase/assets/separator-BK0beCOv.js +0 -28
  1105. package/dist/showcase/assets/separator-CKM9A-mm.js +0 -1
  1106. package/dist/showcase/assets/settings-2-B8fz7JZB.js +0 -1
  1107. package/dist/showcase/assets/settings-Cy2y3sQw.js +0 -1
  1108. package/dist/showcase/assets/sheet-C7VWkXE1.js +0 -1
  1109. package/dist/showcase/assets/shield-ClPev4gS.js +0 -1
  1110. package/dist/showcase/assets/shield-alert-6XO5YZ5u.js +0 -1
  1111. package/dist/showcase/assets/shield-check-DSfGVZq0.js +0 -1
  1112. package/dist/showcase/assets/shopping-bag-DzMrGvpF.js +0 -1
  1113. package/dist/showcase/assets/showcase-DuZaO6q9.js +0 -132
  1114. package/dist/showcase/assets/sidebar-7y9EQYWf.js +0 -1
  1115. package/dist/showcase/assets/sidebar.context-DUheJD8t.js +0 -1
  1116. package/dist/showcase/assets/skeleton-Dgr8Vabr.js +0 -29
  1117. package/dist/showcase/assets/skeleton-HSpErFqw.js +0 -1
  1118. package/dist/showcase/assets/slider-B7f81APg.js +0 -1
  1119. package/dist/showcase/assets/smart-card-p97LLZCW.js +0 -1
  1120. package/dist/showcase/assets/sonner-CWazrN19.js +0 -22
  1121. package/dist/showcase/assets/sortable.esm-uufol7Mz.js +0 -5
  1122. package/dist/showcase/assets/sparkles-Z4V23xKK.js +0 -1
  1123. package/dist/showcase/assets/spinner-BUgjAjWE.js +0 -49
  1124. package/dist/showcase/assets/spinner-CXu7z8-j.js +0 -1
  1125. package/dist/showcase/assets/spinner-DCwR0mnD.js +0 -30
  1126. package/dist/showcase/assets/square-pen-jwp_OWMQ.js +0 -1
  1127. package/dist/showcase/assets/stacked-avatars-CHEpTotO.js +0 -1
  1128. package/dist/showcase/assets/star-Ck8Lg5hm.js +0 -1
  1129. package/dist/showcase/assets/startOfDay-BzULZHy4.js +0 -1
  1130. package/dist/showcase/assets/styles-CNYitflH.js +0 -1
  1131. package/dist/showcase/assets/suggestions-CSF9MlKl.js +0 -126
  1132. package/dist/showcase/assets/switch-BX9KSLIF.js +0 -1
  1133. package/dist/showcase/assets/switch-Bn0WaWa9.js +0 -1
  1134. package/dist/showcase/assets/sync-BuKBnqWW.js +0 -124
  1135. package/dist/showcase/assets/table-DNJcLaud.js +0 -686
  1136. package/dist/showcase/assets/table-NfpOWGsG.js +0 -1
  1137. package/dist/showcase/assets/table-actions-Ci9Yszp0.js +0 -1
  1138. package/dist/showcase/assets/tabs-CYNFQdIr.js +0 -19
  1139. package/dist/showcase/assets/tabs-Cm_p6znb.js +0 -1
  1140. package/dist/showcase/assets/tags-input-DE4QZqS_.js +0 -1
  1141. package/dist/showcase/assets/text-button-D9llh4pU.js +0 -1
  1142. package/dist/showcase/assets/text-link-ZT6QGJOL.js +0 -1
  1143. package/dist/showcase/assets/textarea-CgcHuGVq.js +0 -1
  1144. package/dist/showcase/assets/textarea-D2uT_GJt.js +0 -1
  1145. package/dist/showcase/assets/timelines-BEFO7tJ0.js +0 -200
  1146. package/dist/showcase/assets/toggle-group-oYpa59lN.js +0 -1
  1147. package/dist/showcase/assets/toggles-BL93YmQo.js +0 -71
  1148. package/dist/showcase/assets/toggles-group-BG-xiQCY.js +0 -32
  1149. package/dist/showcase/assets/tooltip-BMI7zHwP.js +0 -31
  1150. package/dist/showcase/assets/trash-2-CtRtVsCy.js +0 -1
  1151. package/dist/showcase/assets/trending-up-2NQ-P8vB.js +0 -1
  1152. package/dist/showcase/assets/truck-Cl0nyN_j.js +0 -1
  1153. package/dist/showcase/assets/typography-C7pCPhg7.js +0 -223
  1154. package/dist/showcase/assets/ui-badge-BvmuMzSq.js +0 -28
  1155. package/dist/showcase/assets/ui-card-B7ziOMAn.js +0 -30
  1156. package/dist/showcase/assets/ui-table-BEFHakBU.js +0 -42
  1157. package/dist/showcase/assets/upload-tray-CMKqTtEp.js +0 -138
  1158. package/dist/showcase/assets/use-layout-link-nEU6ctSs.js +0 -1
  1159. package/dist/showcase/assets/useAnchoredPopupScrollLock-B1xyKMh7.js +0 -1
  1160. package/dist/showcase/assets/useAriaLabelledBy-BMlFgz-H.js +0 -1
  1161. package/dist/showcase/assets/useCollapsiblePanel-BEzH6TC2.js +0 -1
  1162. package/dist/showcase/assets/useCompositeItem-CIuww7-p.js +0 -1
  1163. package/dist/showcase/assets/useCompositeListItem-PrMTh4tz.js +0 -1
  1164. package/dist/showcase/assets/useLabelableId-BBLkeLGr.js +0 -1
  1165. package/dist/showcase/assets/useOpenInteractionType-CW0quo3l.js +0 -1
  1166. package/dist/showcase/assets/useRender-6NNMHJJU.js +0 -1
  1167. package/dist/showcase/assets/useTriggerFocusGuards-DEza_iee.js +0 -1
  1168. package/dist/showcase/assets/useValueChanged-BmWIb3SN.js +0 -1
  1169. package/dist/showcase/assets/user-BDIP5UPS.js +0 -1
  1170. package/dist/showcase/assets/user-plus-BCqHFh2h.js +0 -1
  1171. package/dist/showcase/assets/users-Bh7xGRX2.js +0 -1
  1172. package/dist/showcase/assets/vendor-profile-BlYcRbPI.js +0 -37
  1173. package/dist/showcase/assets/video-BucshqNW.js +0 -1
  1174. package/dist/showcase/assets/wrench-DQvhyTEb.js +0 -1
  1175. package/dist/showcase/assets/x-DyuS4YRT.js +0 -1
  1176. package/dist/showcase/assets/zap-Dpn8_pnQ.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-display-DUWxoDKq.js","names":[],"sources":["../../src/components/composed/data-display/invoice-items/invoice-items.tsx","../../src/components/composed/data-display/invoice-mini/types.ts","../../src/components/composed/data-display/invoice-mini/invoice-mini.tsx","../../src/components/composed/data-display/invoice-header/types.ts","../../src/components/composed/data-display/invoice-header/invoice-header.tsx","../../src/components/composed/data-display/invoice-table/types.ts","../../src/components/composed/data-display/invoice-table/invoice-table.tsx","../../src/components/composed/data-display/dense-info-card/helpers.tsx","../../src/components/composed/data-display/dense-info-card/partials/dense-info-dashboard.tsx","../../src/components/composed/data-display/dense-info-card/partials/dense-info-classification.tsx","../../src/components/composed/data-display/dense-info-card/partials/dense-info-financial.tsx","../../src/components/composed/data-display/dense-info-card/partials/dense-info-project.tsx","../../src/components/composed/data-display/dense-info-card/partials/dense-info-score.tsx","../../src/components/composed/data-display/inline-metric/inline-metric.tsx","../../src/components/composed/data-display/mini-kpi/mini-kpi.tsx","../../src/components/composed/data-display/resource-selector-card.tsx","../../src/components/composed/data-display/empty-state/empty-state.strings.ts","../../src/components/composed/data-display/empty-state/empty-state.tsx","../../src/components/composed/data-display/empty-state/partials/illustrations/document-stack.tsx","../../src/components/composed/data-display/empty-state/partials/illustrations/inbox-clean.tsx","../../src/components/composed/data-display/empty-state/partials/illustrations/search-glass.tsx","../../src/components/composed/data-display/empty-state/partials/illustrations/stacked-cards.tsx","../../src/components/composed/data-display/empty-state/partials/illustrations/users-circle.tsx","../../src/components/composed/data-display/fields/email-display.tsx","../../src/components/composed/data-display/fields/phone-display.tsx","../../src/components/composed/data-display/fields/url-display.tsx","../../src/components/composed/data-display/metadata/metadata-list.strings.ts","../../src/components/composed/data-display/metadata/metadata-list.tsx","../../src/components/composed/data-display/inline-stat/inline-stat.tsx","../../src/components/composed/data-display/numeric-value/numeric-value.tsx","../../src/components/composed/data-display/user-cell/user-cell.tsx","../../src/components/composed/data-display/section-header/section-header.tsx"],"sourcesContent":["import { Text } from '@/components/typography/text';\nimport { IconBadge } from '@/components/base/display';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { Badge } from '@/components/base/badge/badge';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { cn } from '@/lib/utils';\nimport { Package } from 'lucide-react';\nimport { type InvoiceItemsProps } from './types';\n\n/* ─── Layout A: Table-style rows ───────────────────────────────────────────── */\n\nexport function InvoiceItemsTable({\n items,\n subtotal,\n tax,\n discount,\n total,\n className,\n}: InvoiceItemsProps) {\n return (\n <div className={cn('invoice-items--component', 'w-full min-w-0 max-w-full overflow-hidden rounded-lg border border-border bg-card shadow-sm', className)}>\n {/* Header row */}\n <div className=\"grid grid-cols-[1fr_72px_96px_96px] gap-3 bg-muted/40 px-4 py-3\">\n <Text size=\"xs\" type=\"secondary\" weight=\"medium\">Item</Text>\n <Text size=\"xs\" type=\"secondary\" weight=\"medium\" align=\"center\">Qty</Text>\n <Text size=\"xs\" type=\"secondary\" weight=\"medium\" align=\"right\">Price</Text>\n <Text size=\"xs\" type=\"secondary\" weight=\"medium\" align=\"right\">Total</Text>\n </div>\n\n {/* Items */}\n {items.map((item, idx) => (\n <div key={item.id}>\n <div className=\"grid grid-cols-[1fr_72px_96px_96px] items-center gap-3 px-4 py-3\">\n <div className=\"flex flex-col gap-0.5\">\n <div className=\"flex items-center gap-2\">\n <Text weight=\"medium\">{item.title}</Text>\n {!!item.badge && (\n <Badge variant={item.badgeVariant ?? 'secondary'}>\n {item.badge}\n </Badge>\n )}\n </div>\n {!!item.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"line-clamp-1\">\n {item.description}\n </Text>\n )}\n </div>\n <Text align=\"center\" type=\"secondary\" className=\"tabular-nums\">\n {item.quantity ?? 1}\n </Text>\n <Text align=\"right\" className=\"tabular-nums\">\n {item.unitPrice ?? item.total}\n </Text>\n <Text align=\"right\" weight=\"semibold\" className=\"tabular-nums\">\n {item.total}\n </Text>\n </div>\n {idx < items.length - 1 && <Separator className=\"mx-4 !w-auto\" />}\n </div>\n ))}\n\n {/* Totals */}\n {!!(subtotal || tax || discount || total) && (\n <div className=\"space-y-2 border-t border-border bg-muted/30 px-4 py-3\">\n {!!subtotal && (\n <InlineStat label=\"Subtotal\" value={subtotal} mono labelClassName=\"text-sm\" valueClassName=\"text-sm\" />\n )}\n {!!discount && (\n <InlineStat label=\"Discount\" value={`-${discount}`} mono labelClassName=\"text-sm\" valueClassName=\"text-sm text-success\" />\n )}\n {!!tax && (\n <InlineStat label=\"Tax\" value={tax} mono labelClassName=\"text-sm\" valueClassName=\"text-sm\" />\n )}\n {!!total && (\n <>\n <Separator />\n <InlineStat\n className=\"pt-1\"\n label=\"Total\"\n value={<Text weight=\"semibold\" className=\"tabular-nums\">{total}</Text>}\n labelClassName=\"text-sm font-semibold\"\n />\n </>\n )}\n </div>\n )}\n </div>\n );\n}\n\n/* ─── Layout B: Compact card rows ──────────────────────────────────────────── */\n\nexport function InvoiceItemsCompact({\n items,\n total,\n className,\n}: InvoiceItemsProps) {\n return (\n <div className={cn('invoice-items--component', 'w-full min-w-0 max-w-full space-y-2', className)}>\n <ItemGroup className=\"min-w-0 max-w-full\">\n {items.map((item) => (\n <Item key={item.id} className=\"min-w-0 bg-card shadow-sm\">\n <ItemMedia>\n <IconBadge tone=\"muted\" size=\"default\" shape=\"square\">\n {item.icon ?? <Package />}\n </IconBadge>\n </ItemMedia>\n <ItemContent className=\"min-w-0 basis-0\">\n <ItemTitle className=\"w-full min-w-0 max-w-full\">\n <span className=\"block min-w-0 truncate\">{item.title}</span>\n </ItemTitle>\n {!!(item.description || item.badge) && (\n <div className=\"flex min-w-0 items-center gap-1.5\">\n {!!item.badge && (\n <Badge variant={item.badgeVariant ?? 'secondary'} className=\"shrink-0\">\n {item.badge}\n </Badge>\n )}\n {!!item.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"min-w-0 truncate\">\n {item.description}\n </Text>\n )}\n </div>\n )}\n </ItemContent>\n <ItemActions className=\"ml-auto min-w-0 shrink-0 justify-end\">\n {!!item.quantity && item.quantity > 1 && (\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n x{item.quantity}\n </Text>\n )}\n <Text weight=\"semibold\" align=\"right\" className=\"shrink-0 tabular-nums\">\n {item.total}\n </Text>\n </ItemActions>\n </Item>\n ))}\n </ItemGroup>\n\n {!!total && (\n <InlineStat\n className=\"rounded-lg border border-border bg-muted/30 px-4 py-2.5\"\n label=\"Total\"\n value={<Text weight=\"semibold\" className=\"tabular-nums\">{total}</Text>}\n labelClassName=\"text-sm font-semibold\"\n />\n )}\n </div>\n );\n}\n\n/* ─── Layout C: Detailed breakdown ─────────────────────────────────────────── */\n\nexport function InvoiceItemsDetailed({\n items,\n subtotal,\n tax,\n discount,\n total,\n className,\n}: InvoiceItemsProps) {\n return (\n <div className={cn('invoice-items--component', 'w-full min-w-0 max-w-full overflow-hidden rounded-lg border border-border bg-card shadow-sm', className)}>\n <div className=\"divide-y divide-border\">\n {items.map((item) => (\n <div key={item.id} className=\"px-4 py-3\">\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"flex items-start gap-3 flex-1 min-w-0\">\n <div className=\"mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary\">\n {item.icon ?? <Package className=\"size-4\" />}\n </div>\n <div className=\"flex-1 min-w-0 space-y-1\">\n <div className=\"flex items-center gap-2\">\n <Text weight=\"semibold\">{item.title}</Text>\n {!!item.badge && (\n <Badge variant={item.badgeVariant ?? 'secondary'}>\n {item.badge}\n </Badge>\n )}\n </div>\n {!!item.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"line-clamp-2\">\n {item.description}\n </Text>\n )}\n <div className=\"flex items-center gap-3 pt-0.5\">\n {!!item.quantity && (\n <Text size=\"xs\" type=\"discrete\">\n Qty: {item.quantity}\n </Text>\n )}\n {!!item.unitPrice && (\n <Text size=\"xs\" type=\"discrete\" className=\"tabular-nums\">\n @ {item.unitPrice}\n </Text>\n )}\n </div>\n </div>\n </div>\n <div className=\"flex flex-col items-end gap-1 shrink-0\">\n <Text weight=\"semibold\" className=\"tabular-nums\">\n {item.total}\n </Text>\n </div>\n </div>\n </div>\n ))}\n </div>\n\n {/* Summary footer */}\n {!!total && (\n <div className=\"border-t border-border bg-muted/30 px-4 py-3\">\n <div className=\"space-y-2\">\n {!!subtotal && (\n <InlineStat label=\"Subtotal\" value={subtotal} mono labelClassName=\"text-sm\" valueClassName=\"text-sm\" />\n )}\n {!!discount && (\n <InlineStat label=\"Discount\" value={`-${discount}`} mono labelClassName=\"text-sm\" valueClassName=\"text-sm text-success\" />\n )}\n {!!tax && (\n <InlineStat label=\"Tax (20%)\" value={tax} mono labelClassName=\"text-sm\" valueClassName=\"text-sm\" />\n )}\n <Separator />\n <InlineStat\n className=\"pt-1\"\n label=\"Total Due\"\n value={<Text weight=\"semibold\" className=\"tabular-nums\">{total}</Text>}\n labelClassName=\"text-sm font-semibold\"\n />\n </div>\n </div>\n )}\n </div>\n );\n}\n\nInvoiceItemsTable.displayName = 'InvoiceItemsTable';\nInvoiceItemsCompact.displayName = 'InvoiceItemsCompact';\nInvoiceItemsDetailed.displayName = 'InvoiceItemsDetailed';\n","import type { ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport type { StringsProp } from '@/lib/strings';\n\nexport type InvoiceStatus = 'paid' | 'pending' | 'overdue';\n\nexport interface InvoiceMiniData {\n invoiceNumber: string;\n customerName: string;\n lineItemsCount: number;\n totalAmount: string;\n status: InvoiceStatus;\n dueDate: string;\n}\n\nexport interface InvoiceMiniStrings {\n paid: string;\n pending: string;\n overdue: string;\n items: (count: number) => string;\n due: string;\n}\n\nexport const defaultInvoiceMiniStrings: InvoiceMiniStrings = {\n paid: 'Paid',\n pending: 'Pending',\n overdue: 'Overdue',\n items: (count) => (count === 1 ? '1 line item' : `${count} line items`),\n due: 'Due',\n};\n\nexport interface InvoiceMiniCardProps {\n invoice: InvoiceMiniData;\n className?: string;\n strings?: StringsProp<InvoiceMiniStrings>;\n}\n\nexport const invoiceStatusVariant: Record<InvoiceStatus, ComposedBadgeVariant> = {\n paid: 'success',\n pending: 'warning',\n overdue: 'error',\n};\n\n/** @deprecated Prefer `defaultInvoiceMiniStrings` for labels and `invoiceStatusVariant` for variants. */\nexport const invoiceStatusMap: Record<InvoiceStatus, { label: string; variant: ComposedBadgeVariant }> = {\n paid: { label: defaultInvoiceMiniStrings.paid, variant: 'success' },\n pending: { label: defaultInvoiceMiniStrings.pending, variant: 'warning' },\n overdue: { label: defaultInvoiceMiniStrings.overdue, variant: 'error' },\n};\n","/**\n * InvoiceMiniCard — compact invoice tile for lists / dashboards. Header\n * (number + status chip), customer name, footer split between items-count /\n * due date and the total amount. Strings (status labels, \"Due\", item count\n * pluralisation) overridable for i18n via the `strings` prop.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { mergeStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultInvoiceMiniStrings,\n\tinvoiceStatusVariant,\n\ttype InvoiceMiniCardProps,\n\ttype InvoiceStatus,\n} from './types';\n\nexport function InvoiceMiniCard({\n\tinvoice,\n\tclassName,\n\tstrings: stringsProp,\n}: InvoiceMiniCardProps) {\n\tconst strings = mergeStrings(defaultInvoiceMiniStrings, stringsProp);\n\tconst labelByStatus: Record<InvoiceStatus, string> = {\n\t\tpaid: strings.paid,\n\t\tpending: strings.pending,\n\t\toverdue: strings.overdue,\n\t};\n\n\treturn (\n\t\t<SmartCard padding=\"default\" className={cn('invoice-mini--component min-w-0', className)}>\n\t\t\t<div className=\"space-y-2\">\n\t\t\t\t<div className=\"flex items-center justify-between gap-2\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"min-w-0 flex-1 truncate font-mono tracking-wide\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{invoice.invoiceNumber}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Badge\n\t\t\t\t\t\tvariant={invoiceStatusVariant[invoice.status]}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tdot\n\t\t\t\t\t\tclassName=\"shrink-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{labelByStatus[invoice.status]}\n\t\t\t\t\t</Badge>\n\t\t\t\t</div>\n\n\t\t\t\t<Text type=\"secondary\" className=\"truncate\">\n\t\t\t\t\t{invoice.customerName}\n\t\t\t\t</Text>\n\n\t\t\t\t<div className=\"flex flex-wrap items-end justify-between gap-x-3 gap-y-1 pt-1\">\n\t\t\t\t\t<div className=\"min-w-0 space-y-0.5\">\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t{strings.items(invoice.lineItemsCount)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text size=\"xxs\" type=\"discrete\" className=\"whitespace-nowrap tabular-nums\">\n\t\t\t\t\t\t\t{strings.due} {invoice.dueDate}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"base\"\n\t\t\t\t\t\tweight=\"bold\"\n\t\t\t\t\t\tclassName={cn('ml-auto shrink-0 tabular-nums leading-none')}\n\t\t\t\t\t>\n\t\t\t\t\t\t{invoice.totalAmount}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nInvoiceMiniCard.displayName = 'InvoiceMiniCard';\n","import type { ComposedBadgeVariant as BadgeVariant } from '@/components/base/badge/badge';\nimport type { StringsProp } from '@/lib/strings';\n\nexport interface InvoiceParty {\n name: string;\n location?: string;\n}\n\nexport interface InvoiceHeaderStrings {\n title: string;\n billFrom: string;\n billTo: string;\n issued: string;\n due: string;\n amountDue: string;\n}\n\nexport const defaultInvoiceHeaderStrings: InvoiceHeaderStrings = {\n title: 'Invoice',\n billFrom: 'Bill From',\n billTo: 'Bill To',\n issued: 'Issued',\n due: 'Due',\n amountDue: 'Amount Due',\n};\n\nexport interface InvoiceHeaderCardProps {\n invoiceNumber: string;\n status: string;\n statusVariant?: BadgeVariant;\n from: InvoiceParty;\n to: InvoiceParty;\n issuedDate?: string;\n dueDate?: string;\n amount: string;\n className?: string;\n strings?: StringsProp<InvoiceHeaderStrings>;\n}\n","/**\n * InvoiceHeaderCard — invoice document header.\n *\n * Top row: invoice number (mono, prominent) + status chip.\n * Middle: Bill-from / Bill-to parties as a 2-col grid that stacks on small\n * screens and uses an uppercase-tracking-wider eyebrow + name + secondary\n * location.\n * Bottom: dates on the leading edge + amount-due block on the trailing edge.\n *\n * Strings overridable for i18n via the `strings` prop.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport Heading from '@/components/typography/heading';\nimport { Text } from '@/components/typography/text';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultInvoiceHeaderStrings, type InvoiceHeaderCardProps } from './types';\n\nfunction PartyBlock({\n\teyebrow,\n\tname,\n\tlocation,\n}: {\n\teyebrow: string;\n\tname: string;\n\tlocation?: string;\n}) {\n\treturn (\n\t\t<div className={cn('invoice-header--component', 'space-y-1')}>\n\t\t\t<Text\n\t\t\t\tsize=\"xxs\"\n\t\t\t\ttype=\"secondary\"\n\t\t\t\tweight=\"medium\"\n\t\t\t\tclassName=\"uppercase tracking-wider\"\n\t\t\t>\n\t\t\t\t{eyebrow}\n\t\t\t</Text>\n\t\t\t<Text weight=\"semibold\" className=\"leading-snug\">\n\t\t\t\t{name}\n\t\t\t</Text>\n\t\t\t{!!location && (\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"leading-snug\">\n\t\t\t\t\t{location}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport function InvoiceHeaderCard({\n\tinvoiceNumber,\n\tstatus,\n\tstatusVariant = 'success',\n\tfrom,\n\tto,\n\tissuedDate,\n\tdueDate,\n\tamount,\n\tclassName,\n\tstrings: stringsProp,\n}: InvoiceHeaderCardProps) {\n\tconst strings = useStrings(defaultInvoiceHeaderStrings, stringsProp);\n\n\treturn (\n\t\t<SmartCard title={strings.title} className={className}>\n\t\t\t<div className=\"flex items-center justify-between gap-3\">\n\t\t\t\t<Text\n\t\t\t\t\tweight=\"bold\"\n\t\t\t\t\tclassName=\"font-mono tracking-wide\"\n\t\t\t\t>\n\t\t\t\t\t{invoiceNumber}\n\t\t\t\t</Text>\n\t\t\t\t<Badge variant={statusVariant}>{status}</Badge>\n\t\t\t</div>\n\n\t\t\t<div className=\"mt-5 grid grid-cols-1 gap-5 sm:grid-cols-2 sm:gap-6\">\n\t\t\t\t<PartyBlock eyebrow={strings.billFrom} name={from.name} location={from.location} />\n\t\t\t\t<PartyBlock eyebrow={strings.billTo} name={to.name} location={to.location} />\n\t\t\t</div>\n\n\t\t\t<Separator className=\"my-5\" />\n\n\t\t\t<div className=\"flex flex-wrap items-end justify-between gap-4\">\n\t\t\t\t<div className=\"space-y-1\">\n\t\t\t\t\t{!!issuedDate && (\n\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\tlayout=\"inline\"\n\t\t\t\t\t\t\tlabel={strings.issued}\n\t\t\t\t\t\t\tvalue={issuedDate}\n\t\t\t\t\t\t\tmono\n\t\t\t\t\t\t\tlabelClassName=\"text-xxs uppercase tracking-wider font-medium\"\n\t\t\t\t\t\t\tvalueClassName=\"text-xs font-medium\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!dueDate && (\n\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\tlayout=\"inline\"\n\t\t\t\t\t\t\tlabel={strings.due}\n\t\t\t\t\t\t\tvalue={dueDate}\n\t\t\t\t\t\t\tmono\n\t\t\t\t\t\t\tlabelClassName=\"text-xxs uppercase tracking-wider font-medium\"\n\t\t\t\t\t\t\tvalueClassName=\"text-xs font-medium\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"text-right\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\tclassName=\"uppercase tracking-wider\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{strings.amountDue}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttag=\"h3\"\n\t\t\t\t\t\tclassName={cn('mt-1 text-3xl tabular-nums leading-none tracking-tight border-none pb-0')}\n\t\t\t\t\t>\n\t\t\t\t\t\t{amount}\n\t\t\t\t\t</Heading>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nInvoiceHeaderCard.displayName = 'InvoiceHeaderCard';\n","import type { ReactNode } from 'react';\nimport type { StringsProp } from '@/lib/strings';\n\n/** Backwards-compatible default line item shape. */\nexport interface InvoiceLineItem {\n\tdescription: string;\n\tqty: number;\n\tprice: number;\n\ttotal: number;\n}\n\n/**\n * Per-column definition. Each column declares how to render its header label\n * and a row's cell. Generic over the row type so consumers can pass arbitrary\n * data without losing type safety.\n */\nexport interface InvoiceColumn<TItem = InvoiceLineItem> {\n\tid: string;\n\theader: ReactNode;\n\t/** Tailwind class for the column's grid track (e.g. `'1fr'`, `'80px'`). */\n\twidth?: string;\n\talign?: 'left' | 'right' | 'center';\n\tcell: (item: TItem, index: number) => ReactNode;\n\t/** Class names appended to header cell. */\n\theaderClassName?: string;\n\t/** Class names appended to each row cell of this column. */\n\tcellClassName?: string;\n}\n\n/** A footer row (totals, taxes, etc.). Ordered as written. */\nexport interface InvoiceTableFooterRow {\n\tlabel: ReactNode;\n\tvalue: ReactNode;\n\t/** Emphasis for the row. `total` renders bold + thicker top spacing. */\n\temphasis?: 'normal' | 'total';\n}\n\nexport interface InvoiceTableStrings {\n\tsubtotal: string;\n\ttax: string;\n\ttotal: string;\n}\n\nexport const defaultInvoiceTableStrings: InvoiceTableStrings = {\n\tsubtotal: 'Subtotal',\n\ttax: 'Tax',\n\ttotal: 'Total',\n};\n\nexport interface InvoiceTableProps<TItem = InvoiceLineItem> {\n\titems: TItem[];\n\t/** Optional custom columns. Defaults to Description / Qty / Price / Total. */\n\tcolumns?: InvoiceColumn<TItem>[];\n\t/** Optional custom footer rows. When omitted and items match the default\n\t * `InvoiceLineItem` shape, the legacy auto-computed subtotal / tax / total\n\t * footer is used. */\n\tfooterRows?: InvoiceTableFooterRow[];\n\t/** Legacy: tax rate for auto-computed footer (only used with default columns). */\n\ttaxRate?: number;\n\t/** Legacy: currency symbol for auto-computed footer. */\n\tcurrency?: string;\n\tclassName?: string;\n\tstrings?: StringsProp<InvoiceTableStrings>;\n}\n","/**\n * InvoiceTable — flexible invoice line-item table.\n *\n * Generic over the row type. Pass custom `columns` and `footerRows` for any\n * shape of data. Without those, falls back to the legacy default\n * `InvoiceLineItem` shape (description / qty / price / total) with an\n * auto-computed subtotal / tax / total footer.\n */\nimport { Text } from '@/components/typography/text';\nimport { Separator } from '@/components/base/display/separator';\nimport { useStrings } from '@/lib/strings';\nimport { useMoneyConfig } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultInvoiceTableStrings,\n\ttype InvoiceColumn,\n\ttype InvoiceLineItem,\n\ttype InvoiceTableFooterRow,\n\ttype InvoiceTableProps,\n} from './types';\n\nconst wrapperGlass = 'border border-border shadow-sm';\n\nconst ALIGN_CLASS = {\n\tleft: 'text-left justify-start',\n\tright: 'text-right justify-end',\n\tcenter: 'text-center justify-center',\n} as const;\n\nfunction buildDefaultColumns(currency: string): InvoiceColumn<InvoiceLineItem>[] {\n\treturn [\n\t\t{\n\t\t\tid: 'description',\n\t\t\theader: 'Item',\n\t\t\twidth: 'minmax(0,1fr)',\n\t\t\tcell: (item) => <Text className=\"truncate\">{item.description}</Text>,\n\t\t},\n\t\t{\n\t\t\tid: 'qty',\n\t\t\theader: 'Qty',\n\t\t\twidth: '36px',\n\t\t\talign: 'center',\n\t\t\tcell: (item) => <Text align=\"center\" className=\"tabular-nums\">{item.qty}</Text>,\n\t\t},\n\t\t{\n\t\t\tid: 'price',\n\t\t\theader: 'Price',\n\t\t\twidth: '82px',\n\t\t\talign: 'right',\n\t\t\tcell: (item) => (\n\t\t\t\t<Text className=\"tabular-nums font-mono\">\n\t\t\t\t\t{currency}{item.price.toFixed(2)}\n\t\t\t\t</Text>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tid: 'total',\n\t\t\theader: 'Total',\n\t\t\twidth: '82px',\n\t\t\talign: 'right',\n\t\t\tcell: (item) => (\n\t\t\t\t<Text weight=\"medium\" className=\"tabular-nums font-mono\">\n\t\t\t\t\t{currency}{item.total.toFixed(2)}\n\t\t\t\t</Text>\n\t\t\t),\n\t\t},\n\t];\n}\n\nfunction buildDefaultFooterRows(\n\titems: InvoiceLineItem[],\n\ttaxRate: number,\n\tcurrency: string,\n\tstrings: typeof defaultInvoiceTableStrings,\n): InvoiceTableFooterRow[] {\n\tconst subtotal = items.reduce((s, i) => s + i.total, 0);\n\tconst tax = Math.round(subtotal * taxRate * 100) / 100;\n\tconst taxPct = Math.round(taxRate * 100);\n\tconst total = subtotal + tax;\n\tconst fmt = (n: number) => `${currency}${n.toFixed(2)}`;\n\treturn [\n\t\t{ label: strings.subtotal, value: fmt(subtotal) },\n\t\t{ label: `${strings.tax} (${taxPct}%)`, value: fmt(tax) },\n\t\t{ label: strings.total, value: fmt(total), emphasis: 'total' },\n\t];\n}\n\nexport function InvoiceTable<TItem = InvoiceLineItem>({\n\titems,\n\tcolumns,\n\tfooterRows,\n\ttaxRate = 0.2,\n\tcurrency,\n\tclassName,\n\tstrings: stringsProp,\n}: InvoiceTableProps<TItem>) {\n\tconst strings = useStrings(defaultInvoiceTableStrings, stringsProp);\n\tconst { defaultCurrency } = useMoneyConfig();\n\tconst resolvedCurrency = currency ?? defaultCurrency ?? '€';\n\n\t// Boundary casts: the default builders are intentionally non-generic and\n\t// only fire in legacy default mode where the consumer didn't pass\n\t// `columns`. In that mode the runtime row shape IS `InvoiceLineItem` —\n\t// the cast is the documented bridge between the generic `<TItem>` API\n\t// and the concrete default shape.\n\tconst resolvedColumns: InvoiceColumn<TItem>[] =\n\t\tcolumns ?? (buildDefaultColumns(resolvedCurrency) as unknown as InvoiceColumn<TItem>[]);\n\n\tconst resolvedFooterRows: InvoiceTableFooterRow[] = footerRows\n\t\t?? (columns\n\t\t\t? []\n\t\t\t: buildDefaultFooterRows(items as unknown as InvoiceLineItem[], taxRate, resolvedCurrency, strings));\n\n\tconst gridTemplate = resolvedColumns.map((c) => c.width ?? '1fr').join(' ');\n\n\treturn (\n\t\t<div className={cn('invoice-table--component', 'w-full min-w-0 max-w-full overflow-hidden rounded-lg bg-card', wrapperGlass, className)}>\n\t\t\t{/* Header */}\n\t\t\t<div\n\t\t\t\tclassName=\"grid min-w-0 gap-2 bg-muted/40 px-4 py-3\"\n\t\t\t\tstyle={{ gridTemplateColumns: gridTemplate }}\n\t\t\t>\n\t\t\t\t{resolvedColumns.map((col) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={col.id}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'flex min-w-0',\n\t\t\t\t\t\t\tALIGN_CLASS[col.align ?? 'left'],\n\t\t\t\t\t\t\tcol.headerClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text size=\"xs\" weight=\"medium\" type=\"secondary\" className=\"min-w-0 truncate uppercase tracking-wider\">\n\t\t\t\t\t\t\t{col.header}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\n\t\t\t{/* Rows */}\n\t\t\t{items.map((item, i) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={i}\n\t\t\t\t\tclassName={cn('grid min-w-0 gap-2 px-4 py-3', i % 2 === 1 && 'bg-muted/20')}\n\t\t\t\t\tstyle={{ gridTemplateColumns: gridTemplate }}\n\t\t\t\t>\n\t\t\t\t\t{resolvedColumns.map((col) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={col.id}\n\t\t\t\t\t\t\tclassName={cn('flex min-w-0 items-center', ALIGN_CLASS[col.align ?? 'left'], col.cellClassName)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{col.cell(item, i)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t))}\n\n\t\t\t{/* Footer */}\n\t\t\t{resolvedFooterRows.length > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<Separator />\n\t\t\t\t\t<div className=\"space-y-2 px-4 py-3\">\n\t\t\t\t\t\t{resolvedFooterRows.map((row, idx) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'flex justify-between',\n\t\t\t\t\t\t\t\t\trow.emphasis === 'total' && 'pt-2',\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<Text\n\t\t\t\t\t\t\t\t\ttype={row.emphasis === 'total' ? undefined : 'secondary'}\n\t\t\t\t\t\t\t\t\tweight={row.emphasis === 'total' ? 'bold' : 'regular'}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{row.label}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tweight={row.emphasis === 'total' ? 'bold' : 'regular'}\n\t\t\t\t\t\t\t\t\tclassName=\"tabular-nums font-mono\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{row.value}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nInvoiceTable.displayName = 'InvoiceTable';\n","import { Badge } from '@/components/base/badge/badge';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\nimport { type BadgeVariant } from './types';\n\n/* ─── Shared: Complexity / Scale Bar ─────────────────────────────────────── */\n\nexport function ScaleBar({\n\tvalue,\n\tmax = 5,\n\tlabel,\n}: {\n\tvalue: number;\n\tmax?: number;\n\tlabel?: string;\n}) {\n\treturn (\n\t\t<div className={cn('helpers--component', 'flex items-center gap-1')}>\n\t\t\t{Array.from({ length: max }, (_, i) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={i}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'h-1.5 w-3 rounded-full',\n\t\t\t\t\t\ti < value ? 'bg-foreground/60' : 'bg-muted',\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{!!label && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\tclassName=\"ml-1\"\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\n/* ─── Shared: Key-Value Row ──────────────────────────────────────────────── */\n\nexport function KVRow({\n\tlabel,\n\tvalue,\n\tbadge,\n\tbadgeVariant,\n}: {\n\tlabel: string;\n\tvalue?: string;\n\tbadge?: string;\n\tbadgeVariant?: BadgeVariant;\n}) {\n\treturn (\n\t\t<div className=\"flex items-center justify-between gap-2\">\n\t\t\t<Text\n\t\t\t\tsize=\"xs\"\n\t\t\t\tclassName=\"shrink-0 text-muted-foreground\"\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</Text>\n\t\t\t{!!badge && (\n\t\t\t\t<Badge\n\t\t\t\t\tvariant={badgeVariant ?? 'secondary'}\n\t\t\t\t>\n\t\t\t\t\t{badge}\n\t\t\t\t</Badge>\n\t\t\t)}\n\t\t\t{!!value && !badge && (\n\t\t\t\t<Text\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tclassName=\"text-right tabular-nums\"\n\t\t\t\t>\n\t\t\t\t\t{value}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Badge } from '@/components/base/badge/badge';\nimport { Text } from '@/components/typography/text';\nimport { Separator } from '@/components/base/display/separator';\nimport { type DenseInfoDashboardProps } from '../types';\nimport { KVRow, ScaleBar } from '../helpers';\n\nexport function DenseInfoDashboard({\n\ttitle,\n\tdescription,\n\tstatusBadges,\n\trows,\n\tsecondaryRows,\n\tscale,\n\tfooterBadges,\n\tfooterText,\n\tactions,\n\tclassName,\n}: DenseInfoDashboardProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tactions={actions}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t<div className=\"space-y-3\">\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-1.5\">\n\t\t\t\t\t{statusBadges.map((b) => (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\tvariant={b.variant}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t\t<KVRow\n\t\t\t\t\t\t\tkey={row.label}\n\t\t\t\t\t\t\t{...row}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t{!!scale && (\n\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\tclassName=\"text-muted-foreground\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{scale.label}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<ScaleBar\n\t\t\t\t\t\t\tvalue={scale.value}\n\t\t\t\t\t\t\tmax={scale.max}\n\t\t\t\t\t\t\tlabel={`${String(scale.value)}/${String(scale.max ?? 5)}`}\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{!!secondaryRows && secondaryRows.length > 0 && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t{secondaryRows.map((row) => (\n\t\t\t\t\t\t\t\t<KVRow\n\t\t\t\t\t\t\t\t\tkey={row.label}\n\t\t\t\t\t\t\t\t\t{...row}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\n\t\t\t\t{(!!footerBadges || !!footerText) && (\n\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-2 border-t pt-2\">\n\t\t\t\t\t\t{!!footerBadges &&\n\t\t\t\t\t\t\tfooterBadges.map((b) => (\n\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\t\t\tvariant={b.variant}\n\t\t\t\t\t\t\t\t\tclassName=\"text-xxs\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{!!footerText && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{footerText}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nDenseInfoDashboard.displayName = 'DenseInfoDashboard';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Badge } from '@/components/base/badge/badge';\nimport { Text } from '@/components/typography/text';\nimport Heading from '@/components/typography/heading';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { cn } from '@/lib/utils';\nimport { type DenseInfoClassificationProps } from '../types';\n\nexport function DenseInfoClassification({\n\ttitle,\n\tdescription,\n\tstats,\n\titems,\n\ttotalLabel,\n\ttotalValue,\n\tfooterBadges,\n\tfooterText,\n\tactions,\n\tclassName,\n}: DenseInfoClassificationProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tactions={actions}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t<div className=\"space-y-3\">\n\t\t\t\t<div className=\"grid grid-cols-2 gap-2 sm:grid-cols-3\">\n\t\t\t\t\t{stats.map((stat) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={stat.label}\n\t\t\t\t\t\t\tclassName=\"rounded-lg border border-border/50 bg-muted/30 px-3 py-2.5 text-center\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Heading tag=\"h4\" className=\"border-none pb-0 text-base font-semibold tabular-nums\">\n\t\t\t\t\t\t\t\t{stat.value}\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t<Text size=\"xxs\" type=\"secondary\" weight=\"medium\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t\t{stat.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{!!stat.trendBadge && (\n\t\t\t\t\t\t\t\t<div className=\"mt-1 flex justify-center\">\n\t\t\t\t\t\t\t\t\t<Badge variant={stat.trendVariant ?? 'secondary'}>\n\t\t\t\t\t\t\t\t\t\t{stat.trendBadge}\n\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t<Separator />\n\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t<Item key={item.label} size=\"small\">\n\t\t\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t\t\t<span className={cn('h-2 w-2 shrink-0 rounded-full', item.dotColor)} />\n\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t<ItemTitle bold={false} className=\"gap-2\">\n\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t\t\t<Badge variant={item.badgeVariant ?? 'secondary'}>\n\t\t\t\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ItemTitle>\n\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t<ItemActions>\n\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t{item.value}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t\t</Item>\n\t\t\t\t\t))}\n\t\t\t\t</ItemGroup>\n\n\t\t\t\t{!!totalValue && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\tlabel={totalLabel ?? 'Total'}\n\t\t\t\t\t\t\tvalue={totalValue}\n\t\t\t\t\t\t\tmono\n\t\t\t\t\t\t\tlabelClassName=\"text-sm font-bold\"\n\t\t\t\t\t\t\tvalueClassName=\"text-sm font-bold\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\n\t\t\t\t{(!!footerBadges || !!footerText) && (\n\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-2 border-t pt-2\">\n\t\t\t\t\t\t{!!footerBadges && footerBadges.map((b) => (\n\t\t\t\t\t\t\t<Badge key={b.label} variant={b.variant} className=\"text-xxs\">\n\t\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t{!!footerText && (\n\t\t\t\t\t\t\t<Text size=\"xs\" className=\"text-muted-foreground\">\n\t\t\t\t\t\t\t\t{footerText}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nDenseInfoClassification.displayName = 'DenseInfoClassification';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Badge } from '@/components/base/badge/badge';\nimport { Text } from '@/components/typography/text';\nimport { InlineStat } from '@/components/composed/data-display';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemGroup,\n\tItemSeparator,\n\tItemTitle,\n} from '@/components/base/item';\nimport { type DenseInfoFinancialProps } from '../types';\n\nexport function DenseInfoFinancial({\n\ttitle,\n\tdescription,\n\theaderBadges,\n\tlineItems,\n\ttotalLabel = 'Total',\n\ttotalAmount,\n\tfooterBadges,\n\tfooterText,\n\tactions,\n\tclassName,\n}: DenseInfoFinancialProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tactions={actions}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t<div className=\"space-y-3\">\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-1.5\">\n\t\t\t\t\t{headerBadges.map((b) => (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\tvariant={b.variant}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{lineItems.map((item, idx) => (\n\t\t\t\t\t\t<div key={item.label}>\n\t\t\t\t\t\t\t{idx > 0 && <ItemSeparator className=\"my-0\" />}\n\t\t\t\t\t\t\t<Item size=\"small\">\n\t\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t\t<ItemTitle className=\"gap-2\">\n\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge variant={item.badgeVariant ?? 'secondary'}>\n\t\t\t\t\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</ItemTitle>\n\t\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t\t<ItemActions>\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{item.amount}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</ItemGroup>\n\n\t\t\t\t{!!totalAmount && (\n\t\t\t\t\t<InlineStat\n\t\t\t\t\t\tclassName=\"rounded-lg bg-muted/50 px-3 py-2.5\"\n\t\t\t\t\t\tlabel={totalLabel}\n\t\t\t\t\t\tvalue={totalAmount}\n\t\t\t\t\t\tmono\n\t\t\t\t\t\tlabelClassName=\"text-sm font-semibold\"\n\t\t\t\t\t\tvalueClassName=\"text-sm font-semibold\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{(!!footerBadges || !!footerText) && (\n\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-2 border-t pt-2\">\n\t\t\t\t\t\t{!!footerBadges &&\n\t\t\t\t\t\t\tfooterBadges.map((b) => (\n\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\t\t\tvariant={b.variant}\n\t\t\t\t\t\t\t\t\tclassName=\"text-xxs\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{!!footerText && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{footerText}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nDenseInfoFinancial.displayName = 'DenseInfoFinancial';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Badge } from '@/components/base/badge/badge';\nimport { Text } from '@/components/typography/text';\nimport Heading from '@/components/typography/heading';\nimport { Separator } from '@/components/base/display/separator';\nimport {\n\tFolderOpen,\n\tCalendar,\n\tBarChart3,\n} from 'lucide-react';\nimport { type DenseInfoProjectCardProps } from '../types';\n\nexport function DenseInfoProjectCard({\n\ttitle,\n\tdescription,\n\tstatusLabel,\n\tstatusVariant,\n\tmetaPairs,\n\tdate,\n\tpriority,\n\tcompletedTasks,\n\ttotalTasks,\n\tactions,\n\tclassName,\n}: DenseInfoProjectCardProps) {\n\tconst percentage = totalTasks > 0 ? Math.round((completedTasks / totalTasks) * 100) : 0;\n\tconst circumference = 2 * Math.PI * 7;\n\tconst dashOffset = circumference - (percentage / 100) * circumference;\n\n\treturn (\n\t\t<SmartCard\n\t\t\tpadding=\"default\"\n\t\t\tactions={actions}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t<div className=\"space-y-3\">\n\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t<FolderOpen className=\"h-4 w-4 text-muted-foreground\" />\n\t\t\t\t\t<Badge variant={statusVariant} dot>\n\t\t\t\t\t\t{statusLabel}\n\t\t\t\t\t</Badge>\n\t\t\t\t</div>\n\n\t\t\t\t<Heading tag=\"h5\" className=\"font-bold border-none pb-0\">\n\t\t\t\t\t{title}\n\t\t\t\t</Heading>\n\n\t\t\t\t{!!description && (\n\t\t\t\t\t<Text type=\"secondary\" className=\"line-clamp-2\">\n\t\t\t\t\t\t{description}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\n\t\t\t\t{!!metaPairs && metaPairs.length > 0 && (\n\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-1.5\">\n\t\t\t\t\t\t{metaPairs.map((pair, idx) => (\n\t\t\t\t\t\t\t<span key={pair.label} className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t{idx > 0 && (\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" type=\"discrete\" className=\"mx-0.5\">&bull;</Text>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{!!pair.icon && (\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{pair.icon}</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{pair.label}</Text>\n\t\t\t\t\t\t\t</span>\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{(!!date || !!priority) && (\n\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t{!!date && (\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t\t<Calendar className=\"h-3 w-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{date}</Text>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!priority && (\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t\t<BarChart3 className=\"h-3 w-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{priority}</Text>\n\t\t\t\t\t\t\t</div>\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<Separator />\n\n\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" className=\"shrink-0\">\n\t\t\t\t\t\t\t<circle\n\t\t\t\t\t\t\t\tcx=\"10\"\n\t\t\t\t\t\t\t\tcy=\"10\"\n\t\t\t\t\t\t\t\tr=\"7\"\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\t\t\t\t\tclassName=\"text-muted/50\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<circle\n\t\t\t\t\t\t\t\tcx=\"10\"\n\t\t\t\t\t\t\t\tcy=\"10\"\n\t\t\t\t\t\t\t\tr=\"7\"\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\t\t\t\t\tstrokeDasharray={circumference}\n\t\t\t\t\t\t\t\tstrokeDashoffset={dashOffset}\n\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\tclassName=\"text-primary\"\n\t\t\t\t\t\t\t\ttransform=\"rotate(-90 10 10)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<Text size=\"xs\" weight=\"medium\">\n\t\t\t\t\t\t\t{completedTasks}/{totalTasks} Tasks\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"h-6 w-6 rounded-full bg-muted\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nDenseInfoProjectCard.displayName = 'DenseInfoProjectCard';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Badge } from '@/components/base/badge/badge';\nimport Heading from '@/components/typography/heading';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { cn } from '@/lib/utils';\nimport { type DenseInfoScoreCardProps } from '../types';\n\nexport function DenseInfoScoreCard({\n\ttitle,\n\tdescription,\n\tstatusBadges,\n\tscore,\n\tscoreLevel,\n\tscoreFilled,\n\tscoreTotal = 10,\n\trows,\n\tfooterBadges,\n\tactions,\n\tclassName,\n}: DenseInfoScoreCardProps) {\n\tconst barColor =\n\t\tscoreLevel === 'good'\n\t\t\t? 'bg-success'\n\t\t\t: scoreLevel === 'medium'\n\t\t\t\t? 'bg-warning'\n\t\t\t\t: 'bg-destructive';\n\n\treturn (\n\t\t<SmartCard\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tactions={actions}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t<div className=\"space-y-3\">\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-1.5\">\n\t\t\t\t\t{statusBadges.map((b) => (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\tvariant={b.variant}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex items-center justify-center py-2\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttag=\"h2\"\n\t\t\t\t\t\tclassName=\"text-4xl font-bold tabular-nums border-none pb-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{String(score)}\n\t\t\t\t\t</Heading>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex items-center justify-center gap-1\">\n\t\t\t\t\t{Array.from({ length: scoreTotal }, (_, i) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'h-5 w-2 rounded-sm',\n\t\t\t\t\t\t\t\ti < scoreFilled ? barColor : 'bg-muted',\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</div>\n\n\t\t\t\t<Separator />\n\n\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\tkey={row.label}\n\t\t\t\t\t\t\tlabel={row.label}\n\t\t\t\t\t\t\tvalue={row.value}\n\t\t\t\t\t\t\tmono\n\t\t\t\t\t\t\tlabelClassName=\"text-xs text-muted-foreground\"\n\t\t\t\t\t\t\tvalueClassName=\"text-sm font-semibold text-right\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t{!!footerBadges && footerBadges.length > 0 && (\n\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-2 border-t pt-2\">\n\t\t\t\t\t\t{footerBadges.map((b) => (\n\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\t\tvariant={b.variant}\n\t\t\t\t\t\t\t\tclassName=\"text-xxs\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nDenseInfoScoreCard.displayName = 'DenseInfoScoreCard';\n","/**\n * InlineMetricBadge — compact \"label · value · change%\" pill rows.\n * Three sizes (sm / base / lg) drive padding, gap, and per-token font sizes.\n * `lg` is the previously-too-big-default rebalanced — value sits at `xs` so\n * the chip stays inline-friendly; consumers needing larger figures should\n * use `MiniKpi` or `StatCard` instead.\n */\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { InlineMetricBadgeProps } from './types';\n\nconst containerSize: Record<string, string> = {\n\tsm: 'gap-1 rounded-full px-2 py-0.5',\n\tmd: 'gap-1.5 rounded-full px-2.5 py-1',\n\tbase: 'gap-1.5 rounded-full px-2.5 py-1',\n\tlg: 'gap-1.5 rounded-full px-3 py-1',\n};\n\nconst labelSize: Record<string, 'xxs' | 'xs'> = {\n\tsm: 'xxs',\n\tmd: 'xxs',\n\tbase: 'xxs',\n\tlg: 'xs',\n};\n\nconst valueSize: Record<string, 'xxs' | 'xs'> = {\n\tsm: 'xxs',\n\tmd: 'xs',\n\tbase: 'xs',\n\tlg: 'xs',\n};\n\nconst changeSize: Record<string, 'xxs' | 'xs'> = {\n\tsm: 'xxs',\n\tmd: 'xxs',\n\tbase: 'xxs',\n\tlg: 'xxs',\n};\n\nexport function InlineMetricBadge({ metrics, className }: InlineMetricBadgeProps) {\n\treturn (\n\t\t<div className={cn('inline-metric--component', 'flex flex-wrap gap-1.5', className)}>\n\t\t\t{metrics.map((m) => {\n\t\t\t\tconst sz = m.size ?? 'base';\n\t\t\t\treturn (\n\t\t\t\t\t<span\n\t\t\t\t\t\tkey={m.label}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'inline-flex items-center bg-card ring-1 ring-border/60',\n\t\t\t\t\t\t\tcontainerSize[sz] ?? containerSize.base,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text tag=\"span\" size={labelSize[sz] ?? 'xxs'} type=\"secondary\">\n\t\t\t\t\t\t\t{m.label}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\tsize={valueSize[sz] ?? 'xs'}\n\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\tclassName=\"tabular-nums\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{m.value}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\tsize={changeSize[sz] ?? 'xxs'}\n\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'tabular-nums inline-flex items-center gap-0.5 rounded-full px-1',\n\t\t\t\t\t\t\t\tm.up ? 'bg-success/10 text-success' : 'bg-destructive/10 text-destructive',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{m.up ? '↑' : '↓'}\n\t\t\t\t\t\t\t{m.change}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</span>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\nInlineMetricBadge.displayName = 'InlineMetricBadge';\n","/**\n * MiniKpiRow — inline divider-separated KPI strip. Each item shows a value\n * (sm semibold) and a tiny secondary label below. Use as a header / footer\n * accent on dashboards where a full StatCard grid would be too heavy.\n */\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { MiniKpiRowProps } from './types';\n\nconst glass = 'ring-1 ring-border/50 shadow-sm';\n\nexport function MiniKpiRow({ kpis, className }: MiniKpiRowProps) {\n return (\n <div className={cn('mini-kpi--component', 'inline-flex items-center divide-x divide-border/50 rounded-xl bg-card px-2 py-2', glass, className)}>\n {kpis.map((kpi) => (\n <div key={kpi.label} className=\"flex flex-col items-center px-4\">\n <Text weight=\"bold\" className=\"tabular-nums\">\n {kpi.value}\n </Text>\n <Text size=\"xs\" type=\"secondary\" className=\"text-xxs\">\n {kpi.label}\n </Text>\n </div>\n ))}\n </div>\n );\n}\n\nMiniKpiRow.displayName = 'MiniKpiRow';\n","import type { ComponentType, ReactNode } from 'react';\nimport { Plus, X } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard, type CardPadding, type SmartCardSurface } from '@/components/base/cards';\nimport {\n\tResourceCell,\n\ttype ResourceCellBadge,\n\ttype ResourceCellMetadataItem,\n} from '@/components/base/table';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport interface ResourceSelectorCardStrings {\n\tselect: string;\n\tremove: string;\n\temptyTitle: string;\n\temptyDescription: string;\n}\n\nexport const defaultResourceSelectorCardStrings: ResourceSelectorCardStrings = {\n\tselect: 'Select resource',\n\tremove: 'Remove resource',\n\temptyTitle: 'No resource selected',\n\temptyDescription: 'Choose a resource to continue.',\n};\n\nexport interface ResourceSelectorCardProps<TResource> {\n\tresource?: TResource | null;\n\tgetKey: (resource: TResource) => string;\n\tgetTitle: (resource: TResource) => ReactNode;\n\tgetSubtitle?: (resource: TResource) => ReactNode;\n\tgetMetadata?: (resource: TResource) => ReactNode | readonly ResourceCellMetadataItem[];\n\tgetBadges?: (resource: TResource) => readonly ResourceCellBadge[];\n\tgetImageUrl?: (resource: TResource) => string | undefined;\n\tgetIcon?: (resource: TResource) => ComponentType<{ className?: string }> | undefined;\n\trenderResource?: (resource: TResource) => ReactNode;\n\tonSelect?: () => void;\n\tonRemove?: (resource: TResource) => void;\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\temptyTitle?: ReactNode;\n\temptyDescription?: ReactNode;\n\tselectLabel?: ReactNode;\n\tremoveLabel?: ReactNode;\n\tactions?: ReactNode;\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n\tcontentClassName?: string;\n\tstrings?: StringsProp<ResourceSelectorCardStrings>;\n}\n\nexport function ResourceSelectorCard<TResource>({\n\tresource,\n\tgetKey,\n\tgetTitle,\n\tgetSubtitle,\n\tgetMetadata,\n\tgetBadges,\n\tgetImageUrl,\n\tgetIcon,\n\trenderResource,\n\tonSelect,\n\tonRemove,\n\ttitle,\n\tdescription,\n\temptyTitle,\n\temptyDescription,\n\tselectLabel,\n\tremoveLabel,\n\tactions,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n\tcontentClassName,\n\tstrings: stringsProp,\n}: ResourceSelectorCardProps<TResource>) {\n\tconst strings = useStrings(defaultResourceSelectorCardStrings, stringsProp);\n\tconst selectCopy = selectLabel ?? strings.select;\n\tconst removeCopy = removeLabel ?? strings.remove;\n\tconst headerAction = actions ?? (\n\t\t<div className=\"flex flex-wrap items-center gap-space-md\">\n\t\t\t{!!resource && !!onRemove && (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tonClick={() => onRemove(resource)}\n\t\t\t\t>\n\t\t\t\t\t<X className=\"size-icon\" />\n\t\t\t\t\t{removeCopy}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t{!!onSelect && (\n\t\t\t\t<Button type=\"button\" variant=\"secondary\" size=\"small\" onClick={onSelect}>\n\t\t\t\t\t<Plus className=\"size-icon\" />\n\t\t\t\t\t{selectCopy}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"resource-selector-card\"\n\t\t\tdata-slot=\"resource-selector-card\"\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\theaderAction={headerAction}\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('resource-selector-card--component', className)}\n\t\t\tcontentClassName={cn('resource-selector-card--content', contentClassName)}\n\t\t>\n\t\t\t{resource ? (\n\t\t\t\t<div\n\t\t\t\t\tdata-resource-key={getKey(resource)}\n\t\t\t\t\tclassName=\"resource-selector-card--selected min-w-0 rounded-md border border-border/60 bg-muted/20 px-row-x py-row-y\"\n\t\t\t\t>\n\t\t\t\t\t{renderResource ? (\n\t\t\t\t\t\trenderResource(resource)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ResourceCell\n\t\t\t\t\t\t\ttitle={getTitle(resource)}\n\t\t\t\t\t\t\tsubtitle={getSubtitle?.(resource)}\n\t\t\t\t\t\t\tmetadata={getMetadata?.(resource)}\n\t\t\t\t\t\t\tbadges={getBadges?.(resource)}\n\t\t\t\t\t\t\timageUrl={getImageUrl?.(resource)}\n\t\t\t\t\t\t\ticon={getIcon?.(resource)}\n\t\t\t\t\t\t\tmediaClassName=\"size-avatar-sm\"\n\t\t\t\t\t\t\tcontentClassName=\"gap-space-2xs\"\n\t\t\t\t\t\t\tsubtitleClassName=\"text-xxs\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div className=\"resource-selector-card--empty min-w-0 rounded-md border border-dashed border-border/80 bg-muted/20 px-row-x py-row-y\">\n\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t<Text weight=\"semibold\">{emptyTitle ?? strings.emptyTitle}</Text>\n\t\t\t\t\t\t<Text size=\"inherit\" type=\"secondary\" className=\"mt-space-2xs text-xxs\">\n\t\t\t\t\t\t\t{emptyDescription ?? strings.emptyDescription}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nResourceSelectorCard.displayName = 'ResourceSelectorCard';\n","/**\n * Strings for `<EmptyState>`. English defaults — every piece of copy is\n * deep-merge-overridable per rule 8.\n *\n * `title`/`description` here are the *fallback* defaults the component\n * renders when neither the prop nor a per-illustration preset supplies\n * its own copy. In practice, the consumer usually passes an explicit\n * `title` / `description` per resource (\"No products\", \"No invoices yet\")\n * — these defaults exist so a bare `<EmptyState />` still renders\n * sensibly during scaffolding.\n */\nexport interface EmptyStateStrings {\n\ttitle: string;\n\tdescription: string;\n\tariaLabel: string;\n}\n\nexport const defaultEmptyStateStrings: EmptyStateStrings = {\n\ttitle: 'Nothing here yet',\n\tdescription: 'Once data lands, it will show up in this view.',\n\tariaLabel: 'Empty state',\n};\n","/**\n * EmptyState — the canonical zero-data surface for any list, table, or\n * collection in the library. Wraps the shadcn `ui/empty` primitive\n * (rule 1, rule 12) and applies our typography, density, and tokens:\n *\n * - Headline through `<Heading tag=\"h3\">` (admin scale, no marketing inflation)\n * - Description through `<Text size=\"xs\" type=\"secondary\">` — matches\n * the four sibling empty-states across the library\n * - Padding driven by the package scale and CSS variables, not arbitrary literals\n * - Optional dashed-border affordance for \"this slot is a drop zone\"\n *\n * Composability:\n * - Slots: `media`, `actions`, `footer`\n * - Render-prop: `renderMedia(ctx)` for fully custom illustrations\n * - Strings: every piece of copy is overridable via `strings`\n *\n * The library ships a small illustration set under\n * `./partials/illustrations/*` — import explicitly per resource:\n *\n * import { StackedCardsIllustration } from\n * '@/components/composed/data-display/empty-state/partials/illustrations';\n *\n * Adaptive shape per resource: pass a different `media` per surface.\n * Don't fork the component.\n */\nimport { forwardRef } from 'react';\n\nimport { Heading, Text } from '@/components/typography';\nimport {\n\tEmpty,\n\tEmptyContent,\n\tEmptyHeader,\n\tEmptyMedia,\n} from '@/components/base/display/empty';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultEmptyStateStrings } from './empty-state.strings';\nimport type {\n\tEmptyStateMediaVariant,\n\tEmptyStatePadding,\n\tEmptyStateProps,\n} from './empty-state.types';\n\nconst PADDING_CLASS: Record<EmptyStatePadding, string> = {\n\tsmall: 'py-empty-state-y-small',\n\tdefault: 'py-empty-state-y',\n};\n\nconst normalizeEmptyStatePadding = (padding?: EmptyStatePadding): EmptyStatePadding => {\n\tif (padding === 'small' || padding === 'default') return padding;\n\t// Runtime compatibility for pre-scale callers.\n\tif ((padding as string | undefined) === 'compact') return 'small';\n\treturn 'default';\n};\n\nconst MEDIA_VARIANT_TO_PRIMITIVE: Record<EmptyStateMediaVariant, 'default' | 'icon'> = {\n\tnone: 'default',\n\ticon: 'icon',\n\t'icon-soft': 'icon',\n\tillustration: 'default',\n};\n\nconst MEDIA_EXTRA_CLASS: Record<EmptyStateMediaVariant, string | undefined> = {\n\tnone: undefined,\n\ticon: undefined,\n\t'icon-soft': 'bg-muted/40 text-muted-foreground',\n\tillustration: 'mb-4',\n};\n\nexport const EmptyState = forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState({\n\ttitle,\n\tdescription,\n\tmedia,\n\tmediaVariant = 'none',\n\trenderMedia,\n\tactions,\n\tfooter,\n\tpadding = 'default',\n\tborder = false,\n\tclassName,\n\tstrings: stringsProp,\n\tariaLabel,\n}, ref) {\n\tconst strings = useStrings(defaultEmptyStateStrings, stringsProp);\n\n\tconst resolvedTitle = title ?? strings.title;\n\tconst resolvedDescription =\n\t\tdescription === false ? null : description ?? strings.description;\n\tconst mediaNode = renderMedia ? renderMedia({ mediaVariant }) : media;\n\tconst showMedia = !!mediaNode;\n\n\treturn (\n\t\t<Empty\n\t\t\tref={ref}\n\t\t\trole=\"status\"\n\t\t\taria-label={ariaLabel ?? strings.ariaLabel}\n\t\t\tclassName={cn('empty-state--component', \n\t\t\t\tPADDING_CLASS[normalizeEmptyStatePadding(padding)],\n\t\t\t\tborder ? 'border border-dashed' : 'border-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<EmptyHeader>\n\t\t\t\t{!!showMedia && (\n\t\t\t\t\t<EmptyMedia\n\t\t\t\t\t\tvariant={MEDIA_VARIANT_TO_PRIMITIVE[mediaVariant]}\n\t\t\t\t\t\tclassName={MEDIA_EXTRA_CLASS[mediaVariant]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{mediaNode}\n\t\t\t\t\t</EmptyMedia>\n\t\t\t\t)}\n\t\t\t\t<Heading tag=\"h3\" className=\"border-0 pb-0 text-base\" data-slot=\"empty-title\">\n\t\t\t\t\t{resolvedTitle}\n\t\t\t\t</Heading>\n\t\t\t\t{!!resolvedDescription && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\tclassName=\"leading-relaxed [&>a]:text-primary [&>a]:underline [&>a]:underline-offset-4 hover:[&>a]:no-underline\"\n\t\t\t\t\t\tdata-slot=\"empty-description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{resolvedDescription}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</EmptyHeader>\n\t\t\t{(!!actions || !!footer) && (\n\t\t\t\t<EmptyContent>\n\t\t\t\t\t{!!actions && (\n\t\t\t\t\t\t<div className=\"flex flex-wrap items-center justify-center gap-2\">\n\t\t\t\t\t\t\t{actions}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!footer && <div className=\"text-xs text-muted-foreground\">{footer}</div>}\n\t\t\t\t</EmptyContent>\n\t\t\t)}\n\t\t</Empty>\n\t);\n});\n\nEmptyState.displayName = 'EmptyState';\n","import { cn } from '@/lib/utils';\n\n/**\n * Two staggered document silhouettes — for \"no documents\", \"no\n * invoices\", \"no reports\" surfaces.\n */\nexport function DocumentStackIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div className={cn('relative h-24 w-32', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-muted/70 dark:bg-muted/40 border-border/50 absolute left-1 top-1 flex h-20 w-20 -rotate-6 flex-col gap-1.5 rounded-md border p-2 shadow-sm\">\n\t\t\t\t<div className=\"bg-muted h-2 w-12 rounded\" />\n\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-10 rounded\" />\n\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-9 rounded\" />\n\t\t\t</div>\n\t\t\t<div className=\"bg-background border-border absolute right-1 top-2 flex h-20 w-20 rotate-3 flex-col gap-1.5 rounded-md border p-2 shadow-sm\">\n\t\t\t\t<div className=\"bg-muted h-2 w-12 rounded\" />\n\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-10 rounded\" />\n\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-9 rounded\" />\n\t\t\t\t<div className=\"mt-auto flex items-center gap-1\">\n\t\t\t\t\t<div className=\"bg-success size-1.5 rounded-full\" />\n\t\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-8 rounded\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nDocumentStackIllustration.displayName = 'DocumentStackIllustration';\n","import { cn } from '@/lib/utils';\n\n/**\n * Open inbox tray with a soft check above — for \"all caught up\",\n * \"no notifications\", \"inbox zero\" surfaces.\n */\nexport function InboxCleanIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div className={cn('relative h-24 w-32', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-success/12 border-success/30 absolute left-1/2 top-0 flex size-8 -translate-x-1/2 items-center justify-center rounded-full border\">\n\t\t\t\t<svg\n\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\tclassName=\"text-success size-3.5\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path d=\"M3 8l3 3 7-7\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div className=\"bg-background border-border absolute inset-x-0 bottom-0 flex h-14 flex-col rounded-lg border shadow-sm\">\n\t\t\t\t<div className=\"bg-muted/30 h-3 rounded-t-lg\" />\n\t\t\t\t<div className=\"flex flex-1 items-center justify-between px-3\">\n\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-12 rounded\" />\n\t\t\t\t\t\t<div className=\"bg-muted/40 h-1.5 w-8 rounded\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"bg-muted/40 size-3 rounded-full\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nInboxCleanIllustration.displayName = 'InboxCleanIllustration';\n","import { Search } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\n/**\n * Magnifying-glass illustration centered on a soft tinted disk — for\n * \"no search results\", \"nothing matches your filters\" surfaces.\n */\nexport function SearchGlassIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'flex size-20 items-center justify-center rounded-full bg-muted/40 ring-8 ring-muted/20',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t<Search className=\"size-8 text-muted-foreground\" />\n\t\t</div>\n\t);\n}\n\nSearchGlassIllustration.displayName = 'SearchGlassIllustration';\n","import { cn } from '@/lib/utils';\n\n/**\n * Three stacked card silhouettes with a fade-out at the bottom — the\n * generic \"no records\" illustration. Token-driven so it adapts to any\n * theme (uses `bg-muted`, `bg-background`, `border-border`, no raw\n * palette).\n */\nexport function StackedCardsIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div className={cn('relative h-24 w-52', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-muted/60 dark:bg-muted/30 border-border/50 absolute inset-x-6 top-0 h-6 rounded-t-lg border\" />\n\t\t\t<div className=\"bg-muted/80 dark:bg-muted/50 border-border/60 absolute inset-x-3 top-3 h-6 rounded-t-lg border\" />\n\t\t\t<div className=\"bg-background border-border absolute inset-x-0 top-6 flex h-16 items-center gap-3 rounded-lg border px-4 shadow-sm\">\n\t\t\t\t<div className=\"bg-muted size-8 shrink-0 rounded\" />\n\t\t\t\t<div className=\"flex flex-1 flex-col gap-1.5\">\n\t\t\t\t\t<div className=\"bg-muted h-2.5 w-3/4 rounded\" />\n\t\t\t\t\t<div className=\"bg-muted/60 h-2 w-1/2 rounded\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"from-background/0 via-background/60 to-background pointer-events-none absolute inset-x-0 bottom-0 h-8 bg-linear-to-b\" />\n\t\t</div>\n\t);\n}\n\nStackedCardsIllustration.displayName = 'StackedCardsIllustration';\n","import { cn } from '@/lib/utils';\n\n/**\n * Three overlapping avatar circles — for \"no team members\", \"no\n * customers\", \"no contributors\" surfaces.\n */\nexport function UsersCircleIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div className={cn('relative flex h-24 w-32 items-center justify-center', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-muted/70 border-border absolute left-2 size-12 rounded-full border-2\" />\n\t\t\t<div className=\"bg-muted border-border z-10 size-14 rounded-full border-2 shadow-sm\" />\n\t\t\t<div className=\"bg-muted/60 border-border absolute right-2 size-10 rounded-full border-2\" />\n\t\t</div>\n\t);\n}\n\nUsersCircleIllustration.displayName = 'UsersCircleIllustration';\n","/**\n * EmailDisplay — formats an email address as a copyable, optional `mailto:`\n * link. Falls back to the shared EMPTY placeholder when no value is provided.\n * Strings are overridable for i18n via the `strings` prop.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Copyable } from '@/components/base/copyable';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { EMPTY } from '@/lib/format';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\ntype BaseTextProps = ComponentProps<typeof Text>;\n\nexport interface EmailDisplayStrings {\n\tcopySuccess: string;\n}\n\nexport const defaultEmailDisplayStrings: EmailDisplayStrings = {\n\tcopySuccess: 'Email copied to clipboard',\n};\n\nexport interface EmailDisplayProps extends Omit<BaseTextProps, 'children' | 'content'> {\n\temail: string | null | undefined;\n\tcopyable?: boolean;\n\temptyLabel?: ReactNode;\n\tclickable?: boolean;\n\tstrings?: StringsProp<EmailDisplayStrings>;\n\t/** @deprecated Use `strings.copySuccess` instead. */\n\tcopySuccessMessage?: string;\n}\n\nexport function EmailDisplay({\n\temail,\n\tcopyable = true,\n\tcopySuccessMessage,\n\temptyLabel = EMPTY,\n\tclickable = true,\n\tstrings: stringsProp,\n\tsize: sizeProp,\n\ttype = 'main',\n\ttag = 'span',\n\tclassName,\n\t...props\n}: EmailDisplayProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst compatibilityStrings = useStrings(\n\t\tdefaultEmailDisplayStrings,\n\t\tcopySuccessMessage ? { copySuccess: copySuccessMessage } : undefined,\n\t);\n\tconst strings = useStrings(compatibilityStrings, stringsProp);\n\tif (!email || email.trim().length === 0) {\n\t\treturn (\n\t\t\t<Text size={size} type=\"secondary\" tag={tag} className={cn('email-display--component', className)} {...props}>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst emailText = (\n\t\t<Text\n\t\t\tsize={size}\n\t\t\ttype={type}\n\t\t\ttag=\"span\"\n\t\t\tclassName={cn(\n\t\t\t\t'font-medium',\n\t\t\t\t'decoration-dotted decoration-border underline underline-offset-4',\n\t\t\t\t'transition-colors duration-200',\n\t\t\t\tclickable ? 'hover:decoration-current' : null,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{email}\n\t\t</Text>\n\t);\n\n\tif (copyable) {\n\t\tconst copyableContent = (\n\t\t\t<Copyable\n\t\t\t\tvalue={email}\n\t\t\t\tdisplayValue={emailText}\n\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\tclassName=\"-mx-0\"\n\t\t\t/>\n\t\t);\n\n\t\tif (clickable) {\n\t\t\treturn (\n\t\t\t\t<a\n\t\t\t\t\thref={`mailto:${email}`}\n\t\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{copyableContent}\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\treturn copyableContent;\n\t}\n\n\tif (clickable) {\n\t\treturn (\n\t\t\t<a href={`mailto:${email}`} className=\"inline-flex items-center no-underline\">\n\t\t\t\t{emailText}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn emailText;\n}\n\nEmailDisplay.displayName = 'EmailDisplay';\n","/**\n * PhoneDisplay — formats a phone number as a copyable, optional `tel:` link.\n * Strips visual separators when generating the `tel:` href; falls back to the\n * shared EMPTY placeholder when no value is provided. Strings overridable.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Copyable } from '@/components/base/copyable';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { EMPTY } from '@/lib/format';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\ntype BaseTextProps = ComponentProps<typeof Text>;\n\nexport interface PhoneDisplayStrings {\n\tcopySuccess: string;\n}\n\nexport const defaultPhoneDisplayStrings: PhoneDisplayStrings = {\n\tcopySuccess: 'Phone number copied to clipboard',\n};\n\nexport interface PhoneDisplayProps extends Omit<BaseTextProps, 'children' | 'content'> {\n\tphone: string | null | undefined;\n\tcopyable?: boolean;\n\temptyLabel?: ReactNode;\n\tclickable?: boolean;\n\tstrings?: StringsProp<PhoneDisplayStrings>;\n\t/** @deprecated Use `strings.copySuccess` instead. */\n\tcopySuccessMessage?: string;\n}\n\nfunction formatPhoneForTel(phone: string): string {\n\treturn phone.replace(/[\\s().-]/g, '');\n}\n\nexport function PhoneDisplay({\n\tphone,\n\tcopyable = true,\n\tcopySuccessMessage,\n\temptyLabel = EMPTY,\n\tclickable = true,\n\tstrings: stringsProp,\n\tsize: sizeProp,\n\ttype = 'main',\n\ttag = 'span',\n\tclassName,\n\t...props\n}: PhoneDisplayProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst compatibilityStrings = useStrings(\n\t\tdefaultPhoneDisplayStrings,\n\t\tcopySuccessMessage ? { copySuccess: copySuccessMessage } : undefined,\n\t);\n\tconst strings = useStrings(compatibilityStrings, stringsProp);\n\tif (!phone || phone.trim().length === 0) {\n\t\treturn (\n\t\t\t<Text size={size} type=\"secondary\" tag={tag} className={cn('phone-display--component', className)} {...props}>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst phoneText = (\n\t\t<Text\n\t\t\tsize={size}\n\t\t\ttype={type}\n\t\t\ttag=\"span\"\n\t\t\tclassName={cn(\n\t\t\t\t'font-medium',\n\t\t\t\t'decoration-dotted decoration-border underline underline-offset-4',\n\t\t\t\t'transition-colors duration-200',\n\t\t\t\tclickable ? 'hover:decoration-current' : null,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{phone}\n\t\t</Text>\n\t);\n\n\tif (copyable) {\n\t\tconst copyableContent = (\n\t\t\t<Copyable\n\t\t\t\tvalue={phone}\n\t\t\t\tdisplayValue={phoneText}\n\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\tclassName=\"-mx-0\"\n\t\t\t/>\n\t\t);\n\n\t\tif (clickable) {\n\t\t\treturn (\n\t\t\t\t<a\n\t\t\t\t\thref={`tel:${formatPhoneForTel(phone)}`}\n\t\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{copyableContent}\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\treturn copyableContent;\n\t}\n\n\tif (clickable) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={`tel:${formatPhoneForTel(phone)}`}\n\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t>\n\t\t\t\t{phoneText}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn phoneText;\n}\n\nPhoneDisplay.displayName = 'PhoneDisplay';\n","/**\n * UrlDisplay — formats a URL as a copyable, optional external link.\n * Detects insecure (http://) URLs and renders an inline tooltip warning. The\n * link can be truncated by hostname/path heuristic with a tooltip showing the\n * full URL on hover. Strings overridable for i18n.\n */\nimport { ExternalLink, ShieldAlert } from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Copyable } from '@/components/base/copyable';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/base/display/tooltip';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { EMPTY } from '@/lib/format';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\ntype BaseTextProps = ComponentProps<typeof Text>;\n\nexport interface UrlDisplayStrings {\n\tcopySuccess: string;\n\thttpWarning: string;\n}\n\nexport const defaultUrlDisplayStrings: UrlDisplayStrings = {\n\tcopySuccess: 'URL copied to clipboard',\n\thttpWarning: 'This URL uses HTTP which is not secure',\n};\n\nexport interface UrlDisplayProps extends Omit<BaseTextProps, 'children' | 'content'> {\n\turl: string | null | undefined;\n\tcopyable?: boolean;\n\temptyLabel?: ReactNode;\n\tclickable?: boolean;\n\ttruncate?: boolean;\n\tmaxLength?: number;\n\tshowExternalIcon?: boolean;\n\tstrings?: StringsProp<UrlDisplayStrings>;\n\t/** @deprecated Use `strings.copySuccess` instead. */\n\tcopySuccessMessage?: string;\n\t/** @deprecated Use `strings.httpWarning` instead. */\n\thttpWarningMessage?: string;\n}\n\nfunction isHttpUrl(url: string): boolean {\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\treturn parsed.protocol === 'http:';\n\t} catch {\n\t\treturn url.toLowerCase().startsWith('http://');\n\t}\n}\n\nfunction formatUrlForDisplay(url: string, truncate: boolean, maxLength: number): string {\n\tif (!truncate || url.length <= maxLength) {\n\t\treturn url;\n\t}\n\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\tconst domain = parsed.hostname;\n\t\tconst remaining = maxLength - domain.length - 5;\n\n\t\tif (remaining > 10) {\n\t\t\tconst pathStart = parsed.pathname.slice(0, remaining);\n\t\t\treturn `${domain}${pathStart}...`;\n\t\t}\n\n\t\treturn `${url.slice(0, maxLength - 3)}...`;\n\t} catch {\n\t\treturn `${url.slice(0, maxLength - 3)}...`;\n\t}\n}\n\nexport function UrlDisplay({\n\turl,\n\tcopyable = true,\n\tcopySuccessMessage,\n\temptyLabel = EMPTY,\n\tclickable = true,\n\ttruncate = false,\n\tmaxLength = 50,\n\tshowExternalIcon = true,\n\thttpWarningMessage,\n\tstrings: stringsProp,\n\tsize: sizeProp,\n\ttype = 'main',\n\ttag = 'span',\n\tclassName,\n\t...props\n}: UrlDisplayProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst compatibilityStrings = useStrings(\n\t\tdefaultUrlDisplayStrings,\n\t\tcopySuccessMessage || httpWarningMessage\n\t\t\t? {\n\t\t\t\tcopySuccess: copySuccessMessage,\n\t\t\t\thttpWarning: httpWarningMessage,\n\t\t\t}\n\t\t\t: undefined,\n\t);\n\tconst strings = useStrings(compatibilityStrings, stringsProp);\n\n\tif (!url || url.trim().length === 0) {\n\t\treturn (\n\t\t\t<Text size={size} type=\"secondary\" tag={tag} className={cn('url-display--component', className)} {...props}>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst isInsecure = isHttpUrl(url);\n\tconst displayUrl = formatUrlForDisplay(url, truncate, maxLength);\n\tconst shouldShowTitle = truncate && url.length > maxLength;\n\n\tconst urlContent = (\n\t\t<Text size={size} type={type} tag=\"span\" className=\"inline-flex items-center gap-1.5\">\n\t\t\t{!!isInsecure && (\n\t\t\t\t<Tooltip>\n\t\t\t\t\t<TooltipTrigger\n\t\t\t\t\t\trender={(triggerProps) => {\n\t\t\t\t\t\t\t// Tooltip triggers are `<button>` by default; we render a non-button to avoid nested\n\t\t\t\t\t\t\t// interactive elements when UrlDisplay is wrapped in an `<a>`.\n\t\t\t\t\t\t\tconst { type, disabled, className: triggerClassName, ...rest } =\n\t\t\t\t\t\t\t\ttriggerProps as Record<string, unknown> & {\n\t\t\t\t\t\t\t\t\tclassName?: string;\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tvoid type;\n\t\t\t\t\t\t\tvoid disabled;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\taria-label={strings.httpWarning}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'inline-flex items-center text-warning',\n\t\t\t\t\t\t\t\t\t\ttriggerClassName,\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\t\t<ShieldAlert className=\"size-3.5\" aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t</span>\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<TooltipContent side=\"top\" className=\"max-w-xs\">\n\t\t\t\t\t\t<Text size=\"xs\">{strings.httpWarning}</Text>\n\t\t\t\t\t</TooltipContent>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'decoration-dotted underline underline-offset-4',\n\t\t\t\t\t'transition-colors duration-200',\n\t\t\t\t\tisInsecure ? 'decoration-warning' : 'decoration-border',\n\t\t\t\t\tclickable ? 'hover:decoration-current' : null,\n\t\t\t\t)}\n\t\t\t\ttitle={(shouldShowTitle && url) || undefined}\n\t\t\t>\n\t\t\t\t{displayUrl}\n\t\t\t</span>\n\t\t\t{!!clickable && !!showExternalIcon && (\n\t\t\t\t<ExternalLink className=\"size-3 text-muted-foreground\" />\n\t\t\t)}\n\t\t</Text>\n\t);\n\n\tif (copyable) {\n\t\tconst copyableContent = (\n\t\t\t<Copyable\n\t\t\t\tvalue={url}\n\t\t\t\tdisplayValue={urlContent}\n\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\tclassName={cn('-mx-0', className)}\n\t\t\t/>\n\t\t);\n\n\t\tif (clickable) {\n\t\t\treturn (\n\t\t\t\t<a\n\t\t\t\t\thref={url}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{copyableContent}\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\treturn copyableContent;\n\t}\n\n\tif (clickable) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={url}\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t>\n\t\t\t\t{urlContent}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn urlContent;\n}\n\nUrlDisplay.displayName = 'UrlDisplay';\n","/**\n * Default user-facing strings for `<MetadataList>`.\n *\n * Consumers wire backend i18n at the call site:\n *\n * <MetadataList strings={{ infoFallback: t('metadata.info') }} … />\n */\n\nexport interface MetadataListStrings {\n\t/**\n\t * Suffix appended to the label when generating the tooltip-trigger\n\t * `aria-label` (\"<label> info\"). Receives the label as the first arg\n\t * so consumers can localise the full template.\n\t */\n\tformatInfoAriaLabel: (label: string) => string;\n\t/** Fallback `aria-label` used when the field label is not a plain string. */\n\tinfoFallback: string;\n}\n\nexport const defaultMetadataListStrings: MetadataListStrings = {\n\tformatInfoAriaLabel: (label) => `${label} info`,\n\tinfoFallback: 'Info',\n};\n","/**\n * MetadataList — flexible label/value list for entity metadata.\n *\n * Two layouts:\n * - `vertical` (default): grid of label-on-top, value-below cells, ideal for\n * entity detail screens. Honours `columns` (1–4) and `dense` mode.\n * - `horizontal`: inline label/separator/value pairs that wrap, suitable for\n * pill-style summaries (e.g. \"Created Jan 4 · By Alice · v3.2\").\n *\n * Each item supports an optional icon, tooltip, custom `render`, and\n * per-item `emptyLabel`. Falls back to the shared `EMPTY` when both are\n * missing. Returns `null` when the list is empty so callers can render\n * unconditionally.\n */\nimport { Info, type LucideIcon } from 'lucide-react';\nimport React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Separator } from '@/components/base/display/separator';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/base/display/tooltip';\nimport Heading from '@/components/typography/heading';\nimport Text from '@/components/typography/text';\nimport { EMPTY } from '@/lib/format';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultMetadataListStrings,\n\ttype MetadataListStrings,\n} from './metadata-list.strings';\n\nexport type { MetadataListStrings };\nexport { defaultMetadataListStrings };\n\nexport type MetadataListItem = {\n\tid?: string;\n\tlabel: React.ReactNode;\n\tvalue?: React.ReactNode | null;\n\tdescription?: React.ReactNode | null;\n\ttooltip?: React.ReactNode;\n\ticon?: LucideIcon;\n\temptyLabel?: React.ReactNode;\n\trender?: (item: MetadataListItem) => React.ReactNode;\n};\n\nexport type MetadataListProps = {\n\titems: MetadataListItem[];\n\tcolumns?: 1 | 2 | 3 | 4;\n\tdense?: boolean;\n\temptyLabel?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\ttitleSeparator?: boolean;\n\tclassName?: string;\n\tgapClassName?: string;\n\tlabelClassName?: string;\n\tvalueClassName?: string;\n\tdescriptionClassName?: string;\n\tlayout?: 'vertical' | 'horizontal' | 'rows';\n\tjustify?: 'start' | 'end' | 'center' | 'between' | 'around' | 'evenly';\n\talign?: 'start' | 'center' | 'end' | 'baseline';\n\tseparator?: string;\n\titemSeparator?: boolean | string;\n\twrap?: boolean;\n\t/** Per-instance string overrides (deep-merged over `defaultMetadataListStrings`). */\n\tstrings?: StringsProp<MetadataListStrings>;\n};\n\nconst columnClassMap: Record<NonNullable<MetadataListProps['columns']>, string> = {\n\t1: 'grid-cols-1',\n\t2: 'grid-cols-1 sm:grid-cols-2',\n\t3: 'grid-cols-1 sm:grid-cols-2 lg:grid-cols-3',\n\t4: 'grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4',\n};\n\nconst justifyClassMap: Record<NonNullable<MetadataListProps['justify']>, string> = {\n\tstart: 'justify-start',\n\tend: 'justify-end',\n\tcenter: 'justify-center',\n\tbetween: 'justify-between',\n\taround: 'justify-around',\n\tevenly: 'justify-evenly',\n};\n\nconst alignClassMap: Record<NonNullable<MetadataListProps['align']>, string> = {\n\tstart: 'items-start',\n\tcenter: 'items-center',\n\tend: 'items-end',\n\tbaseline: 'items-baseline',\n};\n\nconst resolveKey = (item: MetadataListItem, index: number): string => {\n\tif (item.id) {\n\t\treturn item.id;\n\t}\n\n\tconst rawLabel = typeof item.label === 'string' ? item.label : `${index}`;\n\treturn `metadata-${rawLabel}-${index}`;\n};\n\nfunction MetadataInfoTrigger({\n\ttriggerProps,\n\tariaLabel,\n}: {\n\ttriggerProps: React.ComponentProps<'button'>;\n\tariaLabel: string;\n}) {\n\tconst { className, ...props } = triggerProps;\n\treturn (\n\t\t<Button\n\t\t\t{...props}\n\t\t\ttype=\"button\"\n\t\t\tvariant=\"secondary\"\n\t\t\tbuttonStyle=\"ghost\"\n\t\t\tsize=\"icon-small\"\n\t\t\tclassName={cn(\n\t\t\t\t'metadata-list--info-trigger -mx-space-2xs inline-flex size-avatar-sm shrink-0 items-center justify-center rounded-sm',\n\t\t\t\t'text-muted-foreground transition-colors hover:text-foreground',\n\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\taria-label={ariaLabel}\n\t\t>\n\t\t\t<Info className=\"size-icon-sm cursor-help\" />\n\t\t</Button>\n\t);\n}\n\nexport function MetadataList({\n\titems,\n\tcolumns = 2,\n\tdense = false,\n\temptyLabel = EMPTY,\n\ttitle,\n\ttitleSeparator = false,\n\tclassName,\n\tgapClassName,\n\tlabelClassName,\n\tvalueClassName,\n\tdescriptionClassName,\n\tlayout = 'vertical',\n\tjustify = 'start',\n\talign = 'center',\n\tseparator = ': ',\n\titemSeparator = false,\n\twrap = true,\n\tstrings: stringsProp,\n}: MetadataListProps) {\n\tconst strings = useStrings(defaultMetadataListStrings, stringsProp);\n\tconst list = React.useMemo(() => items.filter(Boolean), [items]);\n\n\tReact.useEffect(() => {\n\t\tif (!import.meta.env.DEV) return;\n\t\tif (layout !== 'horizontal') return;\n\n\t\tconst itemsWithDescriptions = list.filter((item) => Boolean(item.description));\n\t\tif (itemsWithDescriptions.length > 0) {\n\t\t\tconsole.warn(\n\t\t\t\t'[MetadataList] Horizontal layout does not support descriptions. Items with descriptions will not display them.',\n\t\t\t\titemsWithDescriptions,\n\t\t\t);\n\t\t}\n\t}, [layout, list]);\n\n\tif (list.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst gridClass = columnClassMap[columns] ?? columnClassMap[2];\n\tconst gapClass = gapClassName ?? (dense ? 'gap-space-md' : 'gap-space-xl');\n\tconst itemStackGapClass = dense ? 'gap-space-xs' : 'gap-space-sm';\n\tconst labelBase = 'text-xxs';\n\tconst valueBase = dense ? 'text-xs' : 'text-sm';\n\tconst titleClassName = 'font-medium text-xxs text-muted-foreground uppercase tracking-wide';\n\tconst hasTitle = title !== null && title !== undefined;\n\tconst shouldShowSeparator = hasTitle && titleSeparator;\n\n\tif (layout === 'horizontal') {\n\t\tconst justifyClass = justifyClassMap[justify] ?? justifyClassMap.start;\n\t\tconst alignClass = alignClassMap[align] ?? alignClassMap.center;\n\t\tconst itemSeparatorText =\n\t\t\ttypeof itemSeparator === 'string'\n\t\t\t\t? itemSeparator\n\t\t\t\t: itemSeparator\n\t\t\t\t\t? ' | '\n\t\t\t\t\t: '';\n\t\tconst horizontalGapClass = dense ? 'gap-space-sm' : 'gap-space-md';\n\t\tconst wrapClass = wrap ? 'flex-wrap' : 'flex-nowrap';\n\n\t\treturn (\n\t\t\t<div className={cn('metadata-list--component', 'metadata-list-container', className)}>\n\t\t\t\t{!!hasTitle && (\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttag=\"h6\"\n\t\t\t\t\t\tclassName={cn('mb-space-sm', titleClassName)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Heading>\n\t\t\t\t)}\n\n\t\t\t\t{!!shouldShowSeparator && <Separator className=\"mb-2\" />}\n\n\t\t\t\t<div className={cn('flex', wrapClass, justifyClass, alignClass, horizontalGapClass)}>\n\t\t\t\t\t{list.map((item, index) => {\n\t\t\t\t\t\tconst key = resolveKey(item, index);\n\t\t\t\t\t\tconst effectiveEmptyLabel = item.emptyLabel ?? emptyLabel;\n\t\t\t\t\t\tconst value = item.value ?? effectiveEmptyLabel;\n\t\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\t\tconst hasTooltip = item.tooltip !== null && item.tooltip !== undefined;\n\t\t\t\t\t\tconst hasCustomRender = typeof item.render === 'function';\n\t\t\t\t\t\tconst showItemSeparator = itemSeparatorText && index < list.length - 1;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-space-sm\">\n\t\t\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'flex-shrink-0',\n\t\t\t\t\t\t\t\t\t\t\t\tdense ? 'size-icon-sm' : 'size-icon',\n\t\t\t\t\t\t\t\t\t\t\t\t'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\t\t\t\t\t\ttype=\"main\"\n\t\t\t\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'metadata--field tracking-wide whitespace-nowrap',\n\t\t\t\t\t\t\t\t\t\t\tlabelBase,\n\t\t\t\t\t\t\t\t\t\t\tlabelClassName,\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{item.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t\t\t{!!hasTooltip && (\n\t\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t<TooltipTrigger\n\t\t\t\t\t\t\t\t\t\t\t\trender={(triggerProps) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<MetadataInfoTrigger\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttriggerProps={triggerProps}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tariaLabel={typeof item.label === 'string' ? strings.formatInfoAriaLabel(item.label) : strings.infoFallback}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<TooltipContent\n\t\t\t\t\t\t\t\t\t\t\t\tside=\"top\"\n\t\t\t\t\t\t\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"max-w-xs\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text type=\"inverse\" size=\"xs\">{item.tooltip}</Text>\n\t\t\t\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{separator}\n\t\t\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t\t\t{hasCustomRender ? (\n\t\t\t\t\t\t\t\t\t\titem.render?.(item)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(valueBase, 'text-foreground leading-tight', valueClassName)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t{!!showItemSeparator && (\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{itemSeparatorText}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (layout === 'rows') {\n\t\tconst rowPaddingY = dense ? 'py-row-y-sm' : 'py-row-y';\n\t\treturn (\n\t\t\t<div className={cn('metadata-list--component', 'metadata-list-container', className)}>\n\t\t\t\t{!!hasTitle && (\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttag=\"h6\"\n\t\t\t\t\t\tclassName={cn('mb-space-md', titleClassName)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Heading>\n\t\t\t\t)}\n\t\t\t\t{!!shouldShowSeparator && <Separator className=\"mb-2\" />}\n\t\t\t\t<dl className=\"divide-y divide-border/50\">\n\t\t\t\t\t{list.map((item, index) => {\n\t\t\t\t\t\tconst key = resolveKey(item, index);\n\t\t\t\t\t\tconst effectiveEmptyLabel = item.emptyLabel ?? emptyLabel;\n\t\t\t\t\t\tconst value = item.value ?? effectiveEmptyLabel;\n\t\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\t\tconst hasTooltip = item.tooltip !== null && item.tooltip !== undefined;\n\t\t\t\t\t\tconst hasCustomRender = typeof item.render === 'function';\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\tclassName={cn('grid items-baseline gap-x-space-lg gap-y-space-sm grid-cols-[minmax(9rem,1fr)_2fr]', rowPaddingY)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<dt className=\"flex items-center gap-space-sm min-w-0\">\n\t\t\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t\t\t<Icon className={cn('flex-shrink-0 text-muted-foreground', dense ? 'size-icon-sm' : 'size-icon')} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\ttype=\"main\"\n\t\t\t\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\t\t\t\tclassName={cn('metadata--field truncate tracking-wide', labelBase, labelClassName)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t{!!hasTooltip && (\n\t\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t<TooltipTrigger\n\t\t\t\t\t\t\t\t\t\t\t\trender={(triggerProps) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<MetadataInfoTrigger\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttriggerProps={triggerProps}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tariaLabel={typeof item.label === 'string' ? strings.formatInfoAriaLabel(item.label) : strings.infoFallback}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<TooltipContent side=\"top\" align=\"start\" className=\"max-w-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Text type=\"inverse\" size=\"xs\">{item.tooltip}</Text>\n\t\t\t\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</dt>\n\t\t\t\t\t\t\t\t<dd className=\"min-w-0\">\n\t\t\t\t\t\t\t\t\t{hasCustomRender ? (\n\t\t\t\t\t\t\t\t\t\titem.render?.(item)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(valueBase, 'break-words text-foreground leading-tight', valueClassName)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{!!item.description && (\n\t\t\t\t\t\t\t\t\t\t<Text size=\"inherit\" type=\"secondary\" className={cn('mt-space-2xs text-xxs leading-snug', descriptionClassName)}>\n\t\t\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</dl>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={cn('metadata-list--component', 'metadata-list-container', className)}>\n\t\t\t{!!hasTitle && (\n\t\t\t\t<Heading\n\t\t\t\t\ttag=\"h6\"\n\t\t\t\t\tclassName={cn('mb-space-sm', titleClassName)}\n\t\t\t\t>\n\t\t\t\t\t{title}\n\t\t\t\t</Heading>\n\t\t\t)}\n\n\t\t\t{!!shouldShowSeparator && <Separator className=\"mb-2\" />}\n\n\t\t\t<div className={cn('grid', gridClass, gapClass)}>\n\t\t\t\t{list.map((item, index) => {\n\t\t\t\t\tconst key = resolveKey(item, index);\n\t\t\t\t\tconst effectiveEmptyLabel = item.emptyLabel ?? emptyLabel;\n\t\t\t\t\tconst value = item.value ?? effectiveEmptyLabel;\n\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\tconst hasTooltip = item.tooltip !== null && item.tooltip !== undefined;\n\t\t\t\t\tconst hasCustomRender = typeof item.render === 'function';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\tclassName={cn('grid min-w-0', itemStackGapClass)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-space-sm\">\n\t\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'flex-shrink-0',\n\t\t\t\t\t\t\t\t\t\t\tdense ? 'size-icon-sm' : 'size-icon',\n\t\t\t\t\t\t\t\t\t\t\t'text-muted-foreground',\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)}\n\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\t\t\t\t\ttype=\"main\"\n\t\t\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\t\t\tclassName={cn('metadata--field tracking-wide', labelBase, labelClassName)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t\t{!!hasTooltip && (\n\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\t<TooltipTrigger\n\t\t\t\t\t\t\t\t\t\t\trender={(triggerProps) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<MetadataInfoTrigger\n\t\t\t\t\t\t\t\t\t\t\t\t\ttriggerProps={triggerProps}\n\t\t\t\t\t\t\t\t\t\t\t\t\tariaLabel={typeof item.label === 'string' ? strings.formatInfoAriaLabel(item.label) : strings.infoFallback}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<TooltipContent\n\t\t\t\t\t\t\t\t\t\t\tside=\"top\"\n\t\t\t\t\t\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"max-w-xs\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Text type=\"inverse\" size=\"xs\">{item.tooltip}</Text>\n\t\t\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{hasCustomRender ? (\n\t\t\t\t\t\t\t\titem.render?.(item)\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tclassName={cn(valueBase, 'text-foreground leading-tight', valueClassName)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!!item.description && (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\tclassName={cn('text-xxs leading-snug', descriptionClassName)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nMetadataList.displayName = 'MetadataList';\n","/**\n * InlineStat — label + value pair, the workhorse of detail panels and card\n * footers. Three layouts:\n *\n * - `between` (default): label and value pushed to opposite ends of the row.\n * - `inline`: label sits immediately before the value, separator-style.\n * - `stacked`: label above (xxs secondary), value below (sm).\n *\n * `mono` toggles `tabular-nums` on the value side for amounts and counters.\n * Use `valueClassName` for one-off colour/weight overrides; the surrounding\n * row is intentionally plain so consumers can stack many of these without\n * visual clutter.\n */\nimport type { ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport type InlineStatLayout = 'between' | 'inline' | 'stacked';\n\nexport interface InlineStatProps {\n\tlabel: ReactNode;\n\tvalue: ReactNode;\n\tlayout?: InlineStatLayout;\n\tmono?: boolean;\n\tclassName?: string;\n\tlabelClassName?: string;\n\tvalueClassName?: string;\n}\n\nexport function InlineStat({\n\tlabel,\n\tvalue,\n\tlayout = 'between',\n\tmono = false,\n\tclassName,\n\tlabelClassName,\n\tvalueClassName,\n}: InlineStatProps) {\n\tif (layout === 'stacked') {\n\t\treturn (\n\t\t\t<div className={cn('inline-stat--component', 'flex flex-col gap-space-2xs', className)}>\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" type=\"secondary\" className={cn('text-xxs leading-tight', labelClassName)}>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\tclassName={cn('text-sm leading-snug', mono && 'tabular-nums', valueClassName)}\n\t\t\t\t>\n\t\t\t\t\t{value}\n\t\t\t\t</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst justify = layout === 'between' ? 'justify-between' : 'justify-start';\n\n\treturn (\n\t\t<div className={cn('inline-stat--component flex items-center gap-space-md', justify, className)}>\n\t\t\t<Text tag=\"span\" size=\"inherit\" type=\"secondary\" className={cn('text-xs leading-tight', labelClassName)}>\n\t\t\t\t{label}\n\t\t\t</Text>\n\t\t\t<Text\n\t\t\t\ttag=\"span\"\n\t\t\t\tsize=\"inherit\"\n\t\t\t\tclassName={cn('text-sm leading-snug', mono && 'tabular-nums', valueClassName)}\n\t\t\t>\n\t\t\t\t{value}\n\t\t\t</Text>\n\t\t</div>\n\t);\n}\n\nInlineStat.displayName = 'InlineStat';\n","/**\n * NumericValue — displays a number with `tabular-nums` and a chosen alignment.\n * Use for amounts, counters, percentages, durations — anywhere the value\n * benefits from monospace digits and consistent column alignment.\n *\n * Pass `value` as a primitive (auto-formatted via `Intl.NumberFormat`) or\n * pre-format upstream and pass a string. When `currency` is set, the value\n * is rendered with a currency symbol via `formatAmount` from `useCurrency()`\n * — defer to `MoneyDisplay` for richer money rendering (pair display, empty\n * fallback, large display sizes); this component is the leaf primitive.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\nexport type NumericValueAlign = 'left' | 'right' | 'center';\n\ntype TextProps = ComponentProps<typeof Text>;\ntype TextSize = NonNullable<TextProps['size']>;\ntype TextWeight = NonNullable<TextProps['weight']>;\ntype TextType = NonNullable<TextProps['type']>;\n\nexport interface NumericValueProps extends Omit<TextProps, 'children' | 'content' | 'align'> {\n\tvalue: number | string | null | undefined;\n\talign?: NumericValueAlign;\n\t/** When set, formats `value` via `Intl.NumberFormat`; ignored if `value` is already a string. */\n\tlocale?: string;\n\t/** Forwarded to `Intl.NumberFormat` when `value` is numeric. */\n\tformatOptions?: Intl.NumberFormatOptions;\n\t/** Rendered when `value` is `null`/`undefined`/empty. Defaults to `'—'`. */\n\temptyLabel?: ReactNode;\n\tsize?: TextSize;\n\tweight?: TextWeight;\n\ttype?: TextType;\n}\n\nconst DEFAULT_EMPTY = '—';\n\nconst formatValue = (\n\tvalue: NumericValueProps['value'],\n\tlocale: string | undefined,\n\toptions: Intl.NumberFormatOptions | undefined,\n): string | null => {\n\tif (value === null || value === undefined || value === '') return null;\n\tif (typeof value === 'string') return value;\n\tif (Number.isNaN(value)) return null;\n\ttry {\n\t\treturn new Intl.NumberFormat(locale, options).format(value);\n\t} catch {\n\t\treturn String(value);\n\t}\n};\n\nexport function NumericValue({\n\tvalue,\n\talign = 'right',\n\tlocale,\n\tformatOptions,\n\temptyLabel = DEFAULT_EMPTY,\n\tsize: sizeProp,\n\tweight,\n\ttype,\n\tclassName,\n\t...props\n}: NumericValueProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst formatted = formatValue(value, locale, formatOptions);\n\tconst alignClass =\n\t\talign === 'right' ? 'text-right' : align === 'center' ? 'text-center' : 'text-left';\n\n\tif (formatted === null) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tsize={size}\n\t\t\t\tweight={weight}\n\t\t\t\ttype={type ?? 'secondary'}\n\t\t\t\tclassName={cn('numeric-value--component', 'tabular-nums', alignClass, className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text\n\t\t\tsize={size}\n\t\t\tweight={weight}\n\t\t\ttype={type}\n\t\t\tclassName={cn('tabular-nums', alignClass, className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{formatted}\n\t\t</Text>\n\t);\n}\n\nNumericValue.displayName = 'NumericValue';\n","/**\n * UserCell — avatar + name + optional subtitle list-item row, the canonical\n * shape for team rosters, conversation lists, comment authors, and search\n * result rows. Sizes use the package display scale (`small/default`).\n *\n * Pass `avatarUrl` for an image, `initials` for a fallback, or `avatar` for\n * a full custom Avatar tree (e.g. with a status badge). The `trailing` slot\n * sits on the right edge — use it for badges, action buttons, or timestamps.\n *\n * Avatar primitives come from `base/display/avatar` (shadcn-backed) so they\n * match the rest of the system without configuration.\n */\nimport type { ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/base/display/avatar';\nimport type { ComponentScale } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nexport type UserCellSize = ComponentScale;\n\nexport interface UserCellProps {\n\tname: ReactNode;\n\tsubtitle?: ReactNode;\n\tavatarUrl?: string;\n\tavatarAlt?: string;\n\tinitials?: string;\n\t/** Fully custom avatar element (overrides `avatarUrl` / `initials`). */\n\tavatar?: ReactNode;\n\ttrailing?: ReactNode;\n\tsize?: UserCellSize;\n\tclassName?: string;\n}\n\nconst SIZE_MAP: Record<UserCellSize, { avatar: string; gap: string; nameClass: string; subtitleClass: string }> = {\n\tsmall: { avatar: 'size-avatar-sm', gap: 'gap-space-sm', nameClass: 'text-xs', subtitleClass: 'text-xxs' },\n\tdefault: { avatar: 'size-avatar', gap: 'gap-space-md', nameClass: 'text-sm', subtitleClass: 'text-xs' },\n};\n\nfunction normalizeUserCellSize(size: UserCellSize | string | undefined): UserCellSize {\n\tif (size === 'small' || size === 'default') return size;\n\tif (size === 'xs' || size === 'sm') return 'small';\n\treturn 'default';\n}\n\nexport function UserCell({\n\tname,\n\tsubtitle,\n\tavatarUrl,\n\tavatarAlt,\n\tinitials,\n\tavatar,\n\ttrailing,\n\tsize = 'default',\n\tclassName,\n}: UserCellProps) {\n\tconst sizes = SIZE_MAP[normalizeUserCellSize(size)];\n\n\tconst avatarNode = avatar ?? (\n\t\t<Avatar className={sizes.avatar}>\n\t\t\t{!!avatarUrl && <AvatarImage src={avatarUrl} alt={avatarAlt ?? (typeof name === 'string' ? name : undefined)} />}\n\t\t\t{!!initials && <AvatarFallback>{initials}</AvatarFallback>}\n\t\t</Avatar>\n\t);\n\n\treturn (\n\t\t<div className={cn('user-cell--component', 'flex items-center', sizes.gap, className)}>\n\t\t\t{avatarNode}\n\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t<Text size=\"inherit\" weight=\"semibold\" className={cn('truncate leading-snug', sizes.nameClass)}>\n\t\t\t\t\t{name}\n\t\t\t\t</Text>\n\t\t\t\t{!!subtitle && (\n\t\t\t\t\t<Text size=\"inherit\" type=\"secondary\" className={cn('truncate leading-tight', sizes.subtitleClass)}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!trailing && <div className=\"shrink-0\">{trailing}</div>}\n\t\t</div>\n\t);\n}\n\nUserCell.displayName = 'UserCell';\n","/**\n * SectionHeader — title row for in-card sections and standalone groupings:\n *\n * <Text weight=\"semibold\">{title}</Text>\n * {optional Badge | description on the next line}\n * {optional trailing action button on the right}\n *\n * Distinct from `SmartCard.title` (which is the *card's* primary header) —\n * use SectionHeader for nested sections inside a card body, or for grouping\n * blocks on a page that aren't full cards.\n *\n * `dense` tightens vertical spacing and sizes the title down to `xs` for\n * sub-section labels (e.g. \"Recent activity\" stripes inside a longer card).\n */\nimport type { ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface SectionHeaderProps {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tbadge?: ReactNode;\n\taction?: ReactNode;\n\tdense?: boolean;\n\tclassName?: string;\n}\n\nexport function SectionHeader({\n\ttitle,\n\tdescription,\n\tbadge,\n\taction,\n\tdense = false,\n\tclassName,\n}: SectionHeaderProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('section-header--component', \n\t\t\t\t'flex items-start justify-between',\n\t\t\t\tdense ? 'gap-2' : 'gap-3',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t<div className={cn('flex items-center', dense ? 'gap-1.5' : 'gap-2')}>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize={dense ? 'xs' : 'sm'}\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Text>\n\t\t\t\t\t{!!badge && <span className=\"shrink-0\">{badge}</span>}\n\t\t\t\t</div>\n\t\t\t\t{!!description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize={dense ? 'xxs' : 'xs'}\n\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\tclassName={dense ? 'mt-0.5' : 'mt-1'}\n\t\t\t\t\t>\n\t\t\t\t\t\t{description}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!action && <div className=\"shrink-0\">{action}</div>}\n\t\t</div>\n\t);\n}\n\nSectionHeader.displayName = 'SectionHeader';\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("./ui-provider-DZWtUXf2.cjs"),r=require("../lib/utils.cjs"),i=require("./button-BMiPFJIb.cjs"),a=require("./tooltip-mvxZV_Lu.cjs"),o=require("./typography-GtkgK9QX.cjs"),s=require("./icon-badge-CU6ZkcER.cjs"),c=require("./badge-B8xGFpfM.cjs"),l=require("./cards-Cu6p1Brd.cjs"),u=require("./display-CRQjSjgB.cjs"),d=require("./separator-q42IlFFA.cjs"),f=require("./copyable-Ce8rmE-V.cjs"),p=require("./avatar-BnKM_o2d.cjs"),m=require("./item-DTrnHpfm.cjs"),h=require("./table-DMDkdLzV.cjs");let g=require("react");g=e.t(g,1);let _=require("react/jsx-runtime"),v=require("lucide-react");function y({items:e,subtotal:t,tax:n,discount:i,total:a,className:s}){return(0,_.jsxs)(`div`,{className:r.cn(`invoice-items--component`,`w-full min-w-0 max-w-full overflow-hidden rounded-lg border border-border bg-card shadow-sm`,s),children:[(0,_.jsxs)(`div`,{className:`grid grid-cols-[1fr_72px_96px_96px] gap-3 bg-muted/40 px-4 py-3`,children:[(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,weight:`medium`,children:`Item`}),(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,weight:`medium`,align:`center`,children:`Qty`}),(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,weight:`medium`,align:`right`,children:`Price`}),(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,weight:`medium`,align:`right`,children:`Total`})]}),e.map((t,n)=>(0,_.jsxs)(`div`,{children:[(0,_.jsxs)(`div`,{className:`grid grid-cols-[1fr_72px_96px_96px] items-center gap-3 px-4 py-3`,children:[(0,_.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,_.jsx)(o.s,{weight:`medium`,children:t.title}),!!t.badge&&(0,_.jsx)(c.t,{variant:t.badgeVariant??`secondary`,children:t.badge})]}),!!t.description&&(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,className:`line-clamp-1`,children:t.description})]}),(0,_.jsx)(o.s,{align:`center`,type:`secondary`,className:`tabular-nums`,children:t.quantity??1}),(0,_.jsx)(o.s,{align:`right`,className:`tabular-nums`,children:t.unitPrice??t.total}),(0,_.jsx)(o.s,{align:`right`,weight:`semibold`,className:`tabular-nums`,children:t.total})]}),n<e.length-1&&(0,_.jsx)(d.t,{className:`mx-4 !w-auto`})]},t.id)),!!(t||n||i||a)&&(0,_.jsxs)(`div`,{className:`space-y-2 border-t border-border bg-muted/30 px-4 py-3`,children:[!!t&&(0,_.jsx)($,{label:`Subtotal`,value:t,mono:!0,labelClassName:`text-sm`,valueClassName:`text-sm`}),!!i&&(0,_.jsx)($,{label:`Discount`,value:`-${i}`,mono:!0,labelClassName:`text-sm`,valueClassName:`text-sm text-success`}),!!n&&(0,_.jsx)($,{label:`Tax`,value:n,mono:!0,labelClassName:`text-sm`,valueClassName:`text-sm`}),!!a&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(d.t,{}),(0,_.jsx)($,{className:`pt-1`,label:`Total`,value:(0,_.jsx)(o.s,{weight:`semibold`,className:`tabular-nums`,children:a}),labelClassName:`text-sm font-semibold`})]})]})]})}function b({items:e,total:t,className:n}){return(0,_.jsxs)(`div`,{className:r.cn(`invoice-items--component`,`w-full min-w-0 max-w-full space-y-2`,n),children:[(0,_.jsx)(m.o,{className:`min-w-0 max-w-full`,children:e.map(e=>(0,_.jsxs)(m.t,{className:`min-w-0 bg-card shadow-sm`,children:[(0,_.jsx)(m.c,{children:(0,_.jsx)(s.t,{tone:`muted`,size:`default`,shape:`square`,children:e.icon??(0,_.jsx)(v.Package,{})})}),(0,_.jsxs)(m.r,{className:`min-w-0 basis-0`,children:[(0,_.jsx)(m.u,{className:`w-full min-w-0 max-w-full`,children:(0,_.jsx)(`span`,{className:`block min-w-0 truncate`,children:e.title})}),!!(e.description||e.badge)&&(0,_.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[!!e.badge&&(0,_.jsx)(c.t,{variant:e.badgeVariant??`secondary`,className:`shrink-0`,children:e.badge}),!!e.description&&(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,className:`min-w-0 truncate`,children:e.description})]})]}),(0,_.jsxs)(m.n,{className:`ml-auto min-w-0 shrink-0 justify-end`,children:[!!e.quantity&&e.quantity>1&&(0,_.jsxs)(o.s,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:[`x`,e.quantity]}),(0,_.jsx)(o.s,{weight:`semibold`,align:`right`,className:`shrink-0 tabular-nums`,children:e.total})]})]},e.id))}),!!t&&(0,_.jsx)($,{className:`rounded-lg border border-border bg-muted/30 px-4 py-2.5`,label:`Total`,value:(0,_.jsx)(o.s,{weight:`semibold`,className:`tabular-nums`,children:t}),labelClassName:`text-sm font-semibold`})]})}function x({items:e,subtotal:t,tax:n,discount:i,total:a,className:s}){return(0,_.jsxs)(`div`,{className:r.cn(`invoice-items--component`,`w-full min-w-0 max-w-full overflow-hidden rounded-lg border border-border bg-card shadow-sm`,s),children:[(0,_.jsx)(`div`,{className:`divide-y divide-border`,children:e.map(e=>(0,_.jsx)(`div`,{className:`px-4 py-3`,children:(0,_.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,_.jsxs)(`div`,{className:`flex items-start gap-3 flex-1 min-w-0`,children:[(0,_.jsx)(`div`,{className:`mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary`,children:e.icon??(0,_.jsx)(v.Package,{className:`size-4`})}),(0,_.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-1`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,_.jsx)(o.s,{weight:`semibold`,children:e.title}),!!e.badge&&(0,_.jsx)(c.t,{variant:e.badgeVariant??`secondary`,children:e.badge})]}),!!e.description&&(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,className:`line-clamp-2`,children:e.description}),(0,_.jsxs)(`div`,{className:`flex items-center gap-3 pt-0.5`,children:[!!e.quantity&&(0,_.jsxs)(o.s,{size:`xs`,type:`discrete`,children:[`Qty: `,e.quantity]}),!!e.unitPrice&&(0,_.jsxs)(o.s,{size:`xs`,type:`discrete`,className:`tabular-nums`,children:[`@ `,e.unitPrice]})]})]})]}),(0,_.jsx)(`div`,{className:`flex flex-col items-end gap-1 shrink-0`,children:(0,_.jsx)(o.s,{weight:`semibold`,className:`tabular-nums`,children:e.total})})]})},e.id))}),!!a&&(0,_.jsx)(`div`,{className:`border-t border-border bg-muted/30 px-4 py-3`,children:(0,_.jsxs)(`div`,{className:`space-y-2`,children:[!!t&&(0,_.jsx)($,{label:`Subtotal`,value:t,mono:!0,labelClassName:`text-sm`,valueClassName:`text-sm`}),!!i&&(0,_.jsx)($,{label:`Discount`,value:`-${i}`,mono:!0,labelClassName:`text-sm`,valueClassName:`text-sm text-success`}),!!n&&(0,_.jsx)($,{label:`Tax (20%)`,value:n,mono:!0,labelClassName:`text-sm`,valueClassName:`text-sm`}),(0,_.jsx)(d.t,{}),(0,_.jsx)($,{className:`pt-1`,label:`Total Due`,value:(0,_.jsx)(o.s,{weight:`semibold`,className:`tabular-nums`,children:a}),labelClassName:`text-sm font-semibold`})]})})]})}y.displayName=`InvoiceItemsTable`,b.displayName=`InvoiceItemsCompact`,x.displayName=`InvoiceItemsDetailed`;var S={paid:`Paid`,pending:`Pending`,overdue:`Overdue`,items:e=>e===1?`1 line item`:`${e} line items`,due:`Due`},C={paid:`success`,pending:`warning`,overdue:`error`},w={paid:{label:S.paid,variant:`success`},pending:{label:S.pending,variant:`warning`},overdue:{label:S.overdue,variant:`error`}};function T({invoice:e,className:n,strings:i}){let a=t.mergeStrings(S,i),s={paid:a.paid,pending:a.pending,overdue:a.overdue};return(0,_.jsx)(l.t,{padding:`default`,className:r.cn(`invoice-mini--component min-w-0`,n),children:(0,_.jsxs)(`div`,{className:`space-y-2`,children:[(0,_.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,_.jsx)(o.s,{weight:`semibold`,className:`min-w-0 flex-1 truncate font-mono tracking-wide`,children:e.invoiceNumber}),(0,_.jsx)(c.t,{variant:C[e.status],size:`small`,dot:!0,className:`shrink-0`,children:s[e.status]})]}),(0,_.jsx)(o.s,{type:`secondary`,className:`truncate`,children:e.customerName}),(0,_.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-x-3 gap-y-1 pt-1`,children:[(0,_.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,children:a.items(e.lineItemsCount)}),(0,_.jsxs)(o.s,{size:`xxs`,type:`discrete`,className:`whitespace-nowrap tabular-nums`,children:[a.due,` `,e.dueDate]})]}),(0,_.jsx)(o.s,{size:`base`,weight:`bold`,className:r.cn(`ml-auto shrink-0 tabular-nums leading-none`),children:e.totalAmount})]})]})})}T.displayName=`InvoiceMiniCard`;var E={title:`Invoice`,billFrom:`Bill From`,billTo:`Bill To`,issued:`Issued`,due:`Due`,amountDue:`Amount Due`};function D({eyebrow:e,name:t,location:n}){return(0,_.jsxs)(`div`,{className:r.cn(`invoice-header--component`,`space-y-1`),children:[(0,_.jsx)(o.s,{size:`xxs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:e}),(0,_.jsx)(o.s,{weight:`semibold`,className:`leading-snug`,children:t}),!!n&&(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,className:`leading-snug`,children:n})]})}function O({invoiceNumber:e,status:n,statusVariant:i=`success`,from:a,to:s,issuedDate:u,dueDate:f,amount:p,className:m,strings:h}){let g=t.useStrings(E,h);return(0,_.jsxs)(l.t,{title:g.title,className:m,children:[(0,_.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,_.jsx)(o.s,{weight:`bold`,className:`font-mono tracking-wide`,children:e}),(0,_.jsx)(c.t,{variant:i,children:n})]}),(0,_.jsxs)(`div`,{className:`mt-5 grid grid-cols-1 gap-5 sm:grid-cols-2 sm:gap-6`,children:[(0,_.jsx)(D,{eyebrow:g.billFrom,name:a.name,location:a.location}),(0,_.jsx)(D,{eyebrow:g.billTo,name:s.name,location:s.location})]}),(0,_.jsx)(d.t,{className:`my-5`}),(0,_.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-4`,children:[(0,_.jsxs)(`div`,{className:`space-y-1`,children:[!!u&&(0,_.jsx)($,{layout:`inline`,label:g.issued,value:u,mono:!0,labelClassName:`text-xxs uppercase tracking-wider font-medium`,valueClassName:`text-xs font-medium`}),!!f&&(0,_.jsx)($,{layout:`inline`,label:g.due,value:f,mono:!0,labelClassName:`text-xxs uppercase tracking-wider font-medium`,valueClassName:`text-xs font-medium`})]}),(0,_.jsxs)(`div`,{className:`text-right`,children:[(0,_.jsx)(o.s,{size:`xxs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:g.amountDue}),(0,_.jsx)(o.o,{tag:`h3`,className:r.cn(`mt-1 text-3xl tabular-nums leading-none tracking-tight border-none pb-0`),children:p})]})]})]})}O.displayName=`InvoiceHeaderCard`;var k={subtotal:`Subtotal`,tax:`Tax`,total:`Total`},A=`border border-border shadow-sm`,j={left:`text-left justify-start`,right:`text-right justify-end`,center:`text-center justify-center`};function M(e){return[{id:`description`,header:`Item`,width:`minmax(0,1fr)`,cell:e=>(0,_.jsx)(o.s,{className:`truncate`,children:e.description})},{id:`qty`,header:`Qty`,width:`36px`,align:`center`,cell:e=>(0,_.jsx)(o.s,{align:`center`,className:`tabular-nums`,children:e.qty})},{id:`price`,header:`Price`,width:`82px`,align:`right`,cell:t=>(0,_.jsxs)(o.s,{className:`tabular-nums font-mono`,children:[e,t.price.toFixed(2)]})},{id:`total`,header:`Total`,width:`82px`,align:`right`,cell:t=>(0,_.jsxs)(o.s,{weight:`medium`,className:`tabular-nums font-mono`,children:[e,t.total.toFixed(2)]})}]}function N(e,t,n,r){let i=e.reduce((e,t)=>e+t.total,0),a=Math.round(i*t*100)/100,o=Math.round(t*100),s=i+a,c=e=>`${n}${e.toFixed(2)}`;return[{label:r.subtotal,value:c(i)},{label:`${r.tax} (${o}%)`,value:c(a)},{label:r.total,value:c(s),emphasis:`total`}]}function P({items:e,columns:i,footerRows:a,taxRate:s=.2,currency:c,className:l,strings:u}){let f=t.useStrings(k,u),{defaultCurrency:p}=n.l(),m=c??p??`€`,h=i??M(m),g=a??(i?[]:N(e,s,m,f)),v=h.map(e=>e.width??`1fr`).join(` `);return(0,_.jsxs)(`div`,{className:r.cn(`invoice-table--component`,`w-full min-w-0 max-w-full overflow-hidden rounded-lg bg-card`,A,l),children:[(0,_.jsx)(`div`,{className:`grid min-w-0 gap-2 bg-muted/40 px-4 py-3`,style:{gridTemplateColumns:v},children:h.map(e=>(0,_.jsx)(`div`,{className:r.cn(`flex min-w-0`,j[e.align??`left`],e.headerClassName),children:(0,_.jsx)(o.s,{size:`xs`,weight:`medium`,type:`secondary`,className:`min-w-0 truncate uppercase tracking-wider`,children:e.header})},e.id))}),e.map((e,t)=>(0,_.jsx)(`div`,{className:r.cn(`grid min-w-0 gap-2 px-4 py-3`,t%2==1&&`bg-muted/20`),style:{gridTemplateColumns:v},children:h.map(n=>(0,_.jsx)(`div`,{className:r.cn(`flex min-w-0 items-center`,j[n.align??`left`],n.cellClassName),children:n.cell(e,t)},n.id))},t)),g.length>0&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(d.t,{}),(0,_.jsx)(`div`,{className:`space-y-2 px-4 py-3`,children:g.map((e,t)=>(0,_.jsxs)(`div`,{className:r.cn(`flex justify-between`,e.emphasis===`total`&&`pt-2`),children:[(0,_.jsx)(o.s,{type:e.emphasis===`total`?void 0:`secondary`,weight:e.emphasis===`total`?`bold`:`regular`,children:e.label}),(0,_.jsx)(o.s,{weight:e.emphasis===`total`?`bold`:`regular`,className:`tabular-nums font-mono`,children:e.value})]},t))})]})]})}P.displayName=`InvoiceTable`;function ee({value:e,max:t=5,label:n}){return(0,_.jsxs)(`div`,{className:r.cn(`helpers--component`,`flex items-center gap-1`),children:[Array.from({length:t},(t,n)=>(0,_.jsx)(`div`,{className:r.cn(`h-1.5 w-3 rounded-full`,n<e?`bg-foreground/60`:`bg-muted`)},n)),!!n&&(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,className:`ml-1`,children:n})]})}function te({label:e,value:t,badge:n,badgeVariant:r}){return(0,_.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,_.jsx)(o.s,{size:`xs`,className:`shrink-0 text-muted-foreground`,children:e}),!!n&&(0,_.jsx)(c.t,{variant:r??`secondary`,children:n}),!!t&&!n&&(0,_.jsx)(o.s,{weight:`semibold`,className:`text-right tabular-nums`,children:t})]})}function ne({title:e,description:t,statusBadges:n,rows:r,secondaryRows:i,scale:a,footerBadges:s,footerText:u,actions:f,className:p}){return(0,_.jsx)(l.t,{title:e,description:t,actions:f,className:p,children:(0,_.jsxs)(`div`,{className:`space-y-3`,children:[(0,_.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:n.map(e=>(0,_.jsx)(c.t,{variant:e.variant,children:e.label},e.label))}),(0,_.jsx)(`div`,{className:`space-y-2`,children:r.map(e=>(0,_.jsx)(te,{...e},e.label))}),!!a&&(0,_.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,_.jsx)(o.s,{size:`xs`,className:`text-muted-foreground`,children:a.label}),(0,_.jsx)(ee,{value:a.value,max:a.max,label:`${String(a.value)}/${String(a.max??5)}`})]}),!!i&&i.length>0&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(d.t,{}),(0,_.jsx)(`div`,{className:`space-y-2`,children:i.map(e=>(0,_.jsx)(te,{...e},e.label))})]}),(!!s||!!u)&&(0,_.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-t pt-2`,children:[!!s&&s.map(e=>(0,_.jsx)(c.t,{variant:e.variant,className:`text-xxs`,children:e.label},e.label)),!!u&&(0,_.jsx)(o.s,{size:`xs`,className:`text-muted-foreground`,children:u})]})]})})}ne.displayName=`DenseInfoDashboard`;function re({title:e,description:t,stats:n,items:i,totalLabel:a,totalValue:s,footerBadges:u,footerText:f,actions:p,className:h}){return(0,_.jsx)(l.t,{title:e,description:t,actions:p,className:h,children:(0,_.jsxs)(`div`,{className:`space-y-3`,children:[(0,_.jsx)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-3`,children:n.map(e=>(0,_.jsxs)(`div`,{className:`rounded-lg border border-border/50 bg-muted/30 px-3 py-2.5 text-center`,children:[(0,_.jsx)(o.o,{tag:`h4`,className:`border-none pb-0 text-base font-semibold tabular-nums`,children:e.value}),(0,_.jsx)(o.s,{size:`xxs`,type:`secondary`,weight:`medium`,className:`mt-0.5`,children:e.label}),!!e.trendBadge&&(0,_.jsx)(`div`,{className:`mt-1 flex justify-center`,children:(0,_.jsx)(c.t,{variant:e.trendVariant??`secondary`,children:e.trendBadge})})]},e.label))}),(0,_.jsx)(d.t,{}),(0,_.jsx)(m.o,{children:i.map(e=>(0,_.jsxs)(m.t,{size:`small`,children:[(0,_.jsx)(m.c,{children:(0,_.jsx)(`span`,{className:r.cn(`h-2 w-2 shrink-0 rounded-full`,e.dotColor)})}),(0,_.jsx)(m.r,{children:(0,_.jsxs)(m.u,{bold:!1,className:`gap-2`,children:[e.label,!!e.badge&&(0,_.jsx)(c.t,{variant:e.badgeVariant??`secondary`,children:e.badge})]})}),(0,_.jsx)(m.n,{children:(0,_.jsx)(o.s,{size:`xs`,weight:`semibold`,className:`tabular-nums`,children:e.value})})]},e.label))}),!!s&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(d.t,{}),(0,_.jsx)($,{label:a??`Total`,value:s,mono:!0,labelClassName:`text-sm font-bold`,valueClassName:`text-sm font-bold`})]}),(!!u||!!f)&&(0,_.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-t pt-2`,children:[!!u&&u.map(e=>(0,_.jsx)(c.t,{variant:e.variant,className:`text-xxs`,children:e.label},e.label)),!!f&&(0,_.jsx)(o.s,{size:`xs`,className:`text-muted-foreground`,children:f})]})]})})}re.displayName=`DenseInfoClassification`;function ie({title:e,description:t,headerBadges:n,lineItems:r,totalLabel:i=`Total`,totalAmount:a,footerBadges:s,footerText:u,actions:d,className:f}){return(0,_.jsx)(l.t,{title:e,description:t,actions:d,className:f,children:(0,_.jsxs)(`div`,{className:`space-y-3`,children:[(0,_.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:n.map(e=>(0,_.jsx)(c.t,{variant:e.variant,children:e.label},e.label))}),(0,_.jsx)(m.o,{children:r.map((e,t)=>(0,_.jsxs)(`div`,{children:[t>0&&(0,_.jsx)(m.l,{className:`my-0`}),(0,_.jsxs)(m.t,{size:`small`,children:[(0,_.jsx)(m.r,{children:(0,_.jsxs)(m.u,{className:`gap-2`,children:[e.label,!!e.badge&&(0,_.jsx)(c.t,{variant:e.badgeVariant??`secondary`,children:e.badge})]})}),(0,_.jsx)(m.n,{children:(0,_.jsx)(o.s,{size:`xs`,weight:`semibold`,className:`tabular-nums`,children:e.amount})})]})]},e.label))}),!!a&&(0,_.jsx)($,{className:`rounded-lg bg-muted/50 px-3 py-2.5`,label:i,value:a,mono:!0,labelClassName:`text-sm font-semibold`,valueClassName:`text-sm font-semibold`}),(!!s||!!u)&&(0,_.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-t pt-2`,children:[!!s&&s.map(e=>(0,_.jsx)(c.t,{variant:e.variant,className:`text-xxs`,children:e.label},e.label)),!!u&&(0,_.jsx)(o.s,{size:`xs`,className:`text-muted-foreground`,children:u})]})]})})}ie.displayName=`DenseInfoFinancial`;function F({title:e,description:t,statusLabel:n,statusVariant:r,metaPairs:i,date:a,priority:s,completedTasks:u,totalTasks:f,actions:p,className:m}){let h=f>0?Math.round(u/f*100):0,g=2*Math.PI*7,y=g-h/100*g;return(0,_.jsx)(l.t,{padding:`default`,actions:p,className:m,children:(0,_.jsxs)(`div`,{className:`space-y-3`,children:[(0,_.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,_.jsx)(v.FolderOpen,{className:`h-4 w-4 text-muted-foreground`}),(0,_.jsx)(c.t,{variant:r,dot:!0,children:n})]}),(0,_.jsx)(o.o,{tag:`h5`,className:`font-bold border-none pb-0`,children:e}),!!t&&(0,_.jsx)(o.s,{type:`secondary`,className:`line-clamp-2`,children:t}),!!i&&i.length>0&&(0,_.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:i.map((e,t)=>(0,_.jsxs)(`span`,{className:`flex items-center gap-1`,children:[t>0&&(0,_.jsx)(o.s,{tag:`span`,type:`discrete`,className:`mx-0.5`,children:`•`}),!!e.icon&&(0,_.jsx)(`span`,{className:`text-muted-foreground`,children:e.icon}),(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,children:e.label})]},e.label))}),(!!a||!!s)&&(0,_.jsxs)(`div`,{className:`flex items-center justify-between`,children:[!!a&&(0,_.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,_.jsx)(v.Calendar,{className:`h-3 w-3 text-muted-foreground`}),(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,children:a})]}),!!s&&(0,_.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,_.jsx)(v.BarChart3,{className:`h-3 w-3 text-muted-foreground`}),(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,children:s})]})]}),(0,_.jsx)(d.t,{}),(0,_.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,_.jsxs)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 20 20`,className:`shrink-0`,children:[(0,_.jsx)(`circle`,{cx:`10`,cy:`10`,r:`7`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,className:`text-muted/50`}),(0,_.jsx)(`circle`,{cx:`10`,cy:`10`,r:`7`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeDasharray:g,strokeDashoffset:y,strokeLinecap:`round`,className:`text-primary`,transform:`rotate(-90 10 10)`})]}),(0,_.jsxs)(o.s,{size:`xs`,weight:`medium`,children:[u,`/`,f,` Tasks`]})]}),(0,_.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-muted`})]})]})})}F.displayName=`DenseInfoProjectCard`;function I({title:e,description:t,statusBadges:n,score:i,scoreLevel:a,scoreFilled:s,scoreTotal:u=10,rows:f,footerBadges:p,actions:m,className:h}){let g=a===`good`?`bg-success`:a===`medium`?`bg-warning`:`bg-destructive`;return(0,_.jsx)(l.t,{title:e,description:t,actions:m,className:h,children:(0,_.jsxs)(`div`,{className:`space-y-3`,children:[(0,_.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:n.map(e=>(0,_.jsx)(c.t,{variant:e.variant,children:e.label},e.label))}),(0,_.jsx)(`div`,{className:`flex items-center justify-center py-2`,children:(0,_.jsx)(o.o,{tag:`h2`,className:`text-4xl font-bold tabular-nums border-none pb-0`,children:String(i)})}),(0,_.jsx)(`div`,{className:`flex items-center justify-center gap-1`,children:Array.from({length:u},(e,t)=>(0,_.jsx)(`div`,{className:r.cn(`h-5 w-2 rounded-sm`,t<s?g:`bg-muted`)},t))}),(0,_.jsx)(d.t,{}),(0,_.jsx)(`div`,{className:`space-y-2`,children:f.map(e=>(0,_.jsx)($,{label:e.label,value:e.value,mono:!0,labelClassName:`text-xs text-muted-foreground`,valueClassName:`text-sm font-semibold text-right`},e.label))}),!!p&&p.length>0&&(0,_.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 border-t pt-2`,children:p.map(e=>(0,_.jsx)(c.t,{variant:e.variant,className:`text-xxs`,children:e.label},e.label))})]})})}I.displayName=`DenseInfoScoreCard`;var L={sm:`gap-1 rounded-full px-2 py-0.5`,md:`gap-1.5 rounded-full px-2.5 py-1`,base:`gap-1.5 rounded-full px-2.5 py-1`,lg:`gap-1.5 rounded-full px-3 py-1`},ae={sm:`xxs`,md:`xxs`,base:`xxs`,lg:`xs`},oe={sm:`xxs`,md:`xs`,base:`xs`,lg:`xs`},se={sm:`xxs`,md:`xxs`,base:`xxs`,lg:`xxs`};function R({metrics:e,className:t}){return(0,_.jsx)(`div`,{className:r.cn(`inline-metric--component`,`flex flex-wrap gap-1.5`,t),children:e.map(e=>{let t=e.size??`base`;return(0,_.jsxs)(`span`,{className:r.cn(`inline-flex items-center bg-card ring-1 ring-border/60`,L[t]??L.base),children:[(0,_.jsx)(o.s,{tag:`span`,size:ae[t]??`xxs`,type:`secondary`,children:e.label}),(0,_.jsx)(o.s,{tag:`span`,size:oe[t]??`xs`,weight:`semibold`,className:`tabular-nums`,children:e.value}),(0,_.jsxs)(o.s,{tag:`span`,size:se[t]??`xxs`,weight:`medium`,className:r.cn(`tabular-nums inline-flex items-center gap-0.5 rounded-full px-1`,e.up?`bg-success/10 text-success`:`bg-destructive/10 text-destructive`),children:[e.up?`↑`:`↓`,e.change]})]},e.label)})})}R.displayName=`InlineMetricBadge`;var ce=`ring-1 ring-border/50 shadow-sm`;function z({kpis:e,className:t}){return(0,_.jsx)(`div`,{className:r.cn(`mini-kpi--component`,`inline-flex items-center divide-x divide-border/50 rounded-xl bg-card px-2 py-2`,ce,t),children:e.map(e=>(0,_.jsxs)(`div`,{className:`flex flex-col items-center px-4`,children:[(0,_.jsx)(o.s,{weight:`bold`,className:`tabular-nums`,children:e.value}),(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,className:`text-xxs`,children:e.label})]},e.label))})}z.displayName=`MiniKpiRow`;var B={select:`Select resource`,remove:`Remove resource`,emptyTitle:`No resource selected`,emptyDescription:`Choose a resource to continue.`};function V({resource:e,getKey:n,getTitle:a,getSubtitle:s,getMetadata:c,getBadges:u,getImageUrl:d,getIcon:f,renderResource:p,onSelect:m,onRemove:g,title:y,description:b,emptyTitle:x,emptyDescription:S,selectLabel:C,removeLabel:w,actions:T,padding:E=`default`,surface:D=`card`,className:O,contentClassName:k,strings:A}){let j=t.useStrings(B,A),M=C??j.select,N=w??j.remove;return(0,_.jsx)(l.t,{"data-component":`resource-selector-card`,"data-slot":`resource-selector-card`,title:y,description:b,headerAction:T??(0,_.jsxs)(`div`,{className:`flex flex-wrap items-center gap-space-md`,children:[!!e&&!!g&&(0,_.jsxs)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:()=>g(e),children:[(0,_.jsx)(v.X,{className:`size-icon`}),N]}),!!m&&(0,_.jsxs)(i.t,{type:`button`,variant:`secondary`,size:`small`,onClick:m,children:[(0,_.jsx)(v.Plus,{className:`size-icon`}),M]})]}),padding:E,surface:D,className:r.cn(`resource-selector-card--component`,O),contentClassName:r.cn(`resource-selector-card--content`,k),children:e?(0,_.jsx)(`div`,{"data-resource-key":n(e),className:`resource-selector-card--selected min-w-0 rounded-md border border-border/60 bg-muted/20 px-row-x py-row-y`,children:p?p(e):(0,_.jsx)(h.u,{title:a(e),subtitle:s?.(e),metadata:c?.(e),badges:u?.(e),imageUrl:d?.(e),icon:f?.(e),mediaClassName:`size-avatar-sm`,contentClassName:`gap-space-2xs`,subtitleClassName:`text-xxs`})}):(0,_.jsx)(`div`,{className:`resource-selector-card--empty min-w-0 rounded-md border border-dashed border-border/80 bg-muted/20 px-row-x py-row-y`,children:(0,_.jsxs)(`div`,{className:`min-w-0`,children:[(0,_.jsx)(o.s,{weight:`semibold`,children:x??j.emptyTitle}),(0,_.jsx)(o.s,{size:`inherit`,type:`secondary`,className:`mt-space-2xs text-xxs`,children:S??j.emptyDescription})]})})})}V.displayName=`ResourceSelectorCard`;var H={title:`Nothing here yet`,description:`Once data lands, it will show up in this view.`,ariaLabel:`Empty state`},le={small:`py-empty-state-y-small`,default:`py-empty-state-y`},ue=e=>e===`small`||e==="default"?e:e===`compact`?`small`:`default`,de={none:`default`,icon:`icon`,"icon-soft":`icon`,illustration:`default`},fe={none:void 0,icon:void 0,"icon-soft":`bg-muted/40 text-muted-foreground`,illustration:`mb-4`},U=(0,g.forwardRef)(function({title:e,description:n,media:i,mediaVariant:a=`none`,renderMedia:s,actions:c,footer:l,padding:d=`default`,border:f=!1,className:p,strings:m,ariaLabel:h},g){let v=t.useStrings(H,m),y=e??v.title,b=n===!1?null:n??v.description,x=s?s({mediaVariant:a}):i,S=!!x;return(0,_.jsxs)(u.s,{ref:g,role:`status`,"aria-label":h??v.ariaLabel,className:r.cn(`empty-state--component`,le[ue(d)],f?`border border-dashed`:`border-0`,p),children:[(0,_.jsxs)(u.u,{children:[!!S&&(0,_.jsx)(u.d,{variant:de[a],className:fe[a],children:x}),(0,_.jsx)(o.o,{tag:`h3`,className:`border-0 pb-0 text-base`,"data-slot":`empty-title`,children:y}),!!b&&(0,_.jsx)(o.s,{size:`xs`,type:`secondary`,className:`leading-relaxed [&>a]:text-primary [&>a]:underline [&>a]:underline-offset-4 hover:[&>a]:no-underline`,"data-slot":`empty-description`,children:b})]}),(!!c||!!l)&&(0,_.jsxs)(u.c,{children:[!!c&&(0,_.jsx)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:c}),!!l&&(0,_.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:l})]})]})});U.displayName=`EmptyState`;function W({className:e}){return(0,_.jsxs)(`div`,{className:r.cn(`relative h-24 w-32`,e),"aria-hidden":`true`,children:[(0,_.jsxs)(`div`,{className:`bg-muted/70 dark:bg-muted/40 border-border/50 absolute left-1 top-1 flex h-20 w-20 -rotate-6 flex-col gap-1.5 rounded-md border p-2 shadow-sm`,children:[(0,_.jsx)(`div`,{className:`bg-muted h-2 w-12 rounded`}),(0,_.jsx)(`div`,{className:`bg-muted/60 h-1.5 w-10 rounded`}),(0,_.jsx)(`div`,{className:`bg-muted/60 h-1.5 w-9 rounded`})]}),(0,_.jsxs)(`div`,{className:`bg-background border-border absolute right-1 top-2 flex h-20 w-20 rotate-3 flex-col gap-1.5 rounded-md border p-2 shadow-sm`,children:[(0,_.jsx)(`div`,{className:`bg-muted h-2 w-12 rounded`}),(0,_.jsx)(`div`,{className:`bg-muted/60 h-1.5 w-10 rounded`}),(0,_.jsx)(`div`,{className:`bg-muted/60 h-1.5 w-9 rounded`}),(0,_.jsxs)(`div`,{className:`mt-auto flex items-center gap-1`,children:[(0,_.jsx)(`div`,{className:`bg-success size-1.5 rounded-full`}),(0,_.jsx)(`div`,{className:`bg-muted/60 h-1.5 w-8 rounded`})]})]})]})}W.displayName=`DocumentStackIllustration`;function G({className:e}){return(0,_.jsxs)(`div`,{className:r.cn(`relative h-24 w-32`,e),"aria-hidden":`true`,children:[(0,_.jsx)(`div`,{className:`bg-success/12 border-success/30 absolute left-1/2 top-0 flex size-8 -translate-x-1/2 items-center justify-center rounded-full border`,children:(0,_.jsx)(`svg`,{viewBox:`0 0 16 16`,className:`text-success size-3.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,_.jsx)(`path`,{d:`M3 8l3 3 7-7`})})}),(0,_.jsxs)(`div`,{className:`bg-background border-border absolute inset-x-0 bottom-0 flex h-14 flex-col rounded-lg border shadow-sm`,children:[(0,_.jsx)(`div`,{className:`bg-muted/30 h-3 rounded-t-lg`}),(0,_.jsxs)(`div`,{className:`flex flex-1 items-center justify-between px-3`,children:[(0,_.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,_.jsx)(`div`,{className:`bg-muted/60 h-1.5 w-12 rounded`}),(0,_.jsx)(`div`,{className:`bg-muted/40 h-1.5 w-8 rounded`})]}),(0,_.jsx)(`div`,{className:`bg-muted/40 size-3 rounded-full`})]})]})]})}G.displayName=`InboxCleanIllustration`;function K({className:e}){return(0,_.jsx)(`div`,{className:r.cn(`flex size-20 items-center justify-center rounded-full bg-muted/40 ring-8 ring-muted/20`,e),"aria-hidden":`true`,children:(0,_.jsx)(v.Search,{className:`size-8 text-muted-foreground`})})}K.displayName=`SearchGlassIllustration`;function q({className:e}){return(0,_.jsxs)(`div`,{className:r.cn(`relative h-24 w-52`,e),"aria-hidden":`true`,children:[(0,_.jsx)(`div`,{className:`bg-muted/60 dark:bg-muted/30 border-border/50 absolute inset-x-6 top-0 h-6 rounded-t-lg border`}),(0,_.jsx)(`div`,{className:`bg-muted/80 dark:bg-muted/50 border-border/60 absolute inset-x-3 top-3 h-6 rounded-t-lg border`}),(0,_.jsxs)(`div`,{className:`bg-background border-border absolute inset-x-0 top-6 flex h-16 items-center gap-3 rounded-lg border px-4 shadow-sm`,children:[(0,_.jsx)(`div`,{className:`bg-muted size-8 shrink-0 rounded`}),(0,_.jsxs)(`div`,{className:`flex flex-1 flex-col gap-1.5`,children:[(0,_.jsx)(`div`,{className:`bg-muted h-2.5 w-3/4 rounded`}),(0,_.jsx)(`div`,{className:`bg-muted/60 h-2 w-1/2 rounded`})]})]}),(0,_.jsx)(`div`,{className:`from-background/0 via-background/60 to-background pointer-events-none absolute inset-x-0 bottom-0 h-8 bg-linear-to-b`})]})}q.displayName=`StackedCardsIllustration`;function J({className:e}){return(0,_.jsxs)(`div`,{className:r.cn(`relative flex h-24 w-32 items-center justify-center`,e),"aria-hidden":`true`,children:[(0,_.jsx)(`div`,{className:`bg-muted/70 border-border absolute left-2 size-12 rounded-full border-2`}),(0,_.jsx)(`div`,{className:`bg-muted border-border z-10 size-14 rounded-full border-2 shadow-sm`}),(0,_.jsx)(`div`,{className:`bg-muted/60 border-border absolute right-2 size-10 rounded-full border-2`})]})}J.displayName=`UsersCircleIllustration`;var pe={copySuccess:`Email copied to clipboard`};function Y({email:e,copyable:i=!0,copySuccessMessage:a,emptyLabel:s=`—`,clickable:c=!0,strings:l,size:u,type:d=`main`,tag:p=`span`,className:m,...h}){let{defaultTextSize:g}=n.p(),v=u??g??`sm`,y=t.useStrings(t.useStrings(pe,a?{copySuccess:a}:void 0),l);if(!e||e.trim().length===0)return(0,_.jsx)(o.s,{size:v,type:`secondary`,tag:p,className:r.cn(`email-display--component`,m),...h,children:s});let b=(0,_.jsx)(o.s,{size:v,type:d,tag:`span`,className:r.cn(`font-medium`,`decoration-dotted decoration-border underline underline-offset-4`,`transition-colors duration-200`,c?`hover:decoration-current`:null,m),children:e});if(i){let t=(0,_.jsx)(f.t,{value:e,displayValue:b,successMessage:y.copySuccess,className:`-mx-0`});return c?(0,_.jsx)(`a`,{href:`mailto:${e}`,className:`inline-flex items-center no-underline`,onClick:e=>e.stopPropagation(),children:t}):t}return c?(0,_.jsx)(`a`,{href:`mailto:${e}`,className:`inline-flex items-center no-underline`,children:b}):b}Y.displayName=`EmailDisplay`;var me={copySuccess:`Phone number copied to clipboard`};function he(e){return e.replace(/[\s().-]/g,``)}function ge({phone:e,copyable:i=!0,copySuccessMessage:a,emptyLabel:s=`—`,clickable:c=!0,strings:l,size:u,type:d=`main`,tag:p=`span`,className:m,...h}){let{defaultTextSize:g}=n.p(),v=u??g??`sm`,y=t.useStrings(t.useStrings(me,a?{copySuccess:a}:void 0),l);if(!e||e.trim().length===0)return(0,_.jsx)(o.s,{size:v,type:`secondary`,tag:p,className:r.cn(`phone-display--component`,m),...h,children:s});let b=(0,_.jsx)(o.s,{size:v,type:d,tag:`span`,className:r.cn(`font-medium`,`decoration-dotted decoration-border underline underline-offset-4`,`transition-colors duration-200`,c?`hover:decoration-current`:null,m),children:e});if(i){let t=(0,_.jsx)(f.t,{value:e,displayValue:b,successMessage:y.copySuccess,className:`-mx-0`});return c?(0,_.jsx)(`a`,{href:`tel:${he(e)}`,className:`inline-flex items-center no-underline`,onClick:e=>e.stopPropagation(),children:t}):t}return c?(0,_.jsx)(`a`,{href:`tel:${he(e)}`,className:`inline-flex items-center no-underline`,children:b}):b}ge.displayName=`PhoneDisplay`;var _e={copySuccess:`URL copied to clipboard`,httpWarning:`This URL uses HTTP which is not secure`};function ve(e){try{return new URL(e).protocol===`http:`}catch{return e.toLowerCase().startsWith(`http://`)}}function ye(e,t,n){if(!t||e.length<=n)return e;try{let t=new URL(e),r=t.hostname,i=n-r.length-5;return i>10?`${r}${t.pathname.slice(0,i)}...`:`${e.slice(0,n-3)}...`}catch{return`${e.slice(0,n-3)}...`}}function be({url:e,copyable:i=!0,copySuccessMessage:s,emptyLabel:c=`—`,clickable:l=!0,truncate:u=!1,maxLength:d=50,showExternalIcon:p=!0,httpWarningMessage:m,strings:h,size:g,type:y=`main`,tag:b=`span`,className:x,...S}){let{defaultTextSize:C}=n.p(),w=g??C??`sm`,T=t.useStrings(t.useStrings(_e,s||m?{copySuccess:s,httpWarning:m}:void 0),h);if(!e||e.trim().length===0)return(0,_.jsx)(o.s,{size:w,type:`secondary`,tag:b,className:r.cn(`url-display--component`,x),...S,children:c});let E=ve(e),D=ye(e,u,d),O=u&&e.length>d,k=(0,_.jsxs)(o.s,{size:w,type:y,tag:`span`,className:`inline-flex items-center gap-1.5`,children:[!!E&&(0,_.jsxs)(a.t,{children:[(0,_.jsx)(a.i,{render:e=>{let{type:t,disabled:n,className:i,...a}=e;return(0,_.jsx)(`span`,{...a,tabIndex:0,role:`img`,"aria-label":T.httpWarning,className:r.cn(`inline-flex items-center text-warning`,i),children:(0,_.jsx)(v.ShieldAlert,{className:`size-3.5`,"aria-hidden":`true`})})}}),(0,_.jsx)(a.n,{side:`top`,className:`max-w-xs`,children:(0,_.jsx)(o.s,{size:`xs`,children:T.httpWarning})})]}),(0,_.jsx)(`span`,{className:r.cn(`decoration-dotted underline underline-offset-4`,`transition-colors duration-200`,E?`decoration-warning`:`decoration-border`,l?`hover:decoration-current`:null),title:O&&e||void 0,children:D}),!!l&&!!p&&(0,_.jsx)(v.ExternalLink,{className:`size-3 text-muted-foreground`})]});if(i){let t=(0,_.jsx)(f.t,{value:e,displayValue:k,successMessage:T.copySuccess,className:r.cn(`-mx-0`,x)});return l?(0,_.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center no-underline`,onClick:e=>e.stopPropagation(),children:t}):t}return l?(0,_.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center no-underline`,children:k}):k}be.displayName=`UrlDisplay`;var xe={formatInfoAriaLabel:e=>`${e} info`,infoFallback:`Info`},Se={1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4`},Ce={start:`justify-start`,end:`justify-end`,center:`justify-center`,between:`justify-between`,around:`justify-around`,evenly:`justify-evenly`},X={start:`items-start`,center:`items-center`,end:`items-end`,baseline:`items-baseline`},Z=(e,t)=>e.id?e.id:`metadata-${typeof e.label==`string`?e.label:`${t}`}-${t}`;function Q({triggerProps:e,ariaLabel:t}){let{className:n,...a}=e;return(0,_.jsx)(i.t,{...a,type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,className:r.cn(`metadata-list--info-trigger -mx-space-2xs inline-flex size-avatar-sm shrink-0 items-center justify-center rounded-sm`,`text-muted-foreground transition-colors hover:text-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,n),"aria-label":t,children:(0,_.jsx)(v.Info,{className:`size-icon-sm cursor-help`})})}function we({items:e,columns:n=2,dense:i=!1,emptyLabel:s=`—`,title:c,titleSeparator:l=!1,className:u,gapClassName:f,labelClassName:p,valueClassName:m,descriptionClassName:h,layout:v=`vertical`,justify:y=`start`,align:b=`center`,separator:x=`: `,itemSeparator:S=!1,wrap:C=!0,strings:w}){let T=t.useStrings(xe,w),E=g.default.useMemo(()=>e.filter(Boolean),[e]);if(g.default.useEffect(()=>{},[v,E]),E.length===0)return null;let D=Se[n]??Se[2],O=f??(i?`gap-space-md`:`gap-space-xl`),k=i?`gap-space-xs`:`gap-space-sm`,A=`text-xxs`,j=i?`text-xs`:`text-sm`,M=`font-medium text-xxs text-muted-foreground uppercase tracking-wide`,N=c!=null,P=N&&l;if(v===`horizontal`){let e=Ce[y]??Ce.start,t=X[b]??X.center,n=typeof S==`string`?S:S?` | `:``,l=i?`gap-space-sm`:`gap-space-md`,f=C?`flex-wrap`:`flex-nowrap`;return(0,_.jsxs)(`div`,{className:r.cn(`metadata-list--component`,`metadata-list-container`,u),children:[!!N&&(0,_.jsx)(o.o,{tag:`h6`,className:r.cn(`mb-space-sm`,M),children:c}),!!P&&(0,_.jsx)(d.t,{className:`mb-2`}),(0,_.jsx)(`div`,{className:r.cn(`flex`,f,e,t,l),children:E.map((e,t)=>{let c=Z(e,t),l=e.emptyLabel??s,u=e.value??l,d=e.icon,f=e.tooltip!==null&&e.tooltip!==void 0,h=typeof e.render==`function`,v=n&&t<E.length-1;return(0,_.jsxs)(g.default.Fragment,{children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-space-sm`,children:[!!d&&(0,_.jsx)(d,{className:r.cn(`flex-shrink-0`,i?`size-icon-sm`:`size-icon`,`text-muted-foreground`)}),(0,_.jsx)(o.s,{size:`inherit`,type:`main`,weight:`medium`,className:r.cn(`metadata--field tracking-wide whitespace-nowrap`,A,p),children:e.label}),!!f&&(0,_.jsxs)(a.t,{children:[(0,_.jsx)(a.i,{render:t=>(0,_.jsx)(Q,{triggerProps:t,ariaLabel:typeof e.label==`string`?T.formatInfoAriaLabel(e.label):T.infoFallback})}),(0,_.jsx)(a.n,{side:`top`,align:`start`,className:`max-w-xs`,children:(0,_.jsx)(o.s,{type:`inverse`,size:`xs`,children:e.tooltip})})]}),(0,_.jsx)(o.s,{size:`inherit`,type:`secondary`,children:x}),h?e.render?.(e):(0,_.jsx)(o.s,{className:r.cn(j,`text-foreground leading-tight`,m),children:u})]}),!!v&&(0,_.jsx)(o.s,{size:`inherit`,type:`secondary`,children:n})]},c)})})]})}if(v===`rows`){let e=i?`py-row-y-sm`:`py-row-y`;return(0,_.jsxs)(`div`,{className:r.cn(`metadata-list--component`,`metadata-list-container`,u),children:[!!N&&(0,_.jsx)(o.o,{tag:`h6`,className:r.cn(`mb-space-md`,M),children:c}),!!P&&(0,_.jsx)(d.t,{className:`mb-2`}),(0,_.jsx)(`dl`,{className:`divide-y divide-border/50`,children:E.map((t,n)=>{let c=Z(t,n),l=t.emptyLabel??s,u=t.value??l,d=t.icon,f=t.tooltip!==null&&t.tooltip!==void 0,g=typeof t.render==`function`;return(0,_.jsxs)(`div`,{className:r.cn(`grid items-baseline gap-x-space-lg gap-y-space-sm grid-cols-[minmax(9rem,1fr)_2fr]`,e),children:[(0,_.jsxs)(`dt`,{className:`flex items-center gap-space-sm min-w-0`,children:[!!d&&(0,_.jsx)(d,{className:r.cn(`flex-shrink-0 text-muted-foreground`,i?`size-icon-sm`:`size-icon`)}),(0,_.jsx)(o.s,{type:`main`,weight:`medium`,className:r.cn(`metadata--field truncate tracking-wide`,A,p),children:t.label}),!!f&&(0,_.jsxs)(a.t,{children:[(0,_.jsx)(a.i,{render:e=>(0,_.jsx)(Q,{triggerProps:e,ariaLabel:typeof t.label==`string`?T.formatInfoAriaLabel(t.label):T.infoFallback})}),(0,_.jsx)(a.n,{side:`top`,align:`start`,className:`max-w-xs`,children:(0,_.jsx)(o.s,{type:`inverse`,size:`xs`,children:t.tooltip})})]})]}),(0,_.jsxs)(`dd`,{className:`min-w-0`,children:[g?t.render?.(t):(0,_.jsx)(o.s,{className:r.cn(j,`break-words text-foreground leading-tight`,m),children:u}),!!t.description&&(0,_.jsx)(o.s,{size:`inherit`,type:`secondary`,className:r.cn(`mt-space-2xs text-xxs leading-snug`,h),children:t.description})]})]},c)})})]})}return(0,_.jsxs)(`div`,{className:r.cn(`metadata-list--component`,`metadata-list-container`,u),children:[!!N&&(0,_.jsx)(o.o,{tag:`h6`,className:r.cn(`mb-space-sm`,M),children:c}),!!P&&(0,_.jsx)(d.t,{className:`mb-2`}),(0,_.jsx)(`div`,{className:r.cn(`grid`,D,O),children:E.map((e,t)=>{let n=Z(e,t),c=e.emptyLabel??s,l=e.value??c,u=e.icon,d=e.tooltip!==null&&e.tooltip!==void 0,f=typeof e.render==`function`;return(0,_.jsxs)(`div`,{className:r.cn(`grid min-w-0`,k),children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-space-sm`,children:[!!u&&(0,_.jsx)(u,{className:r.cn(`flex-shrink-0`,i?`size-icon-sm`:`size-icon`,`text-muted-foreground`)}),(0,_.jsx)(o.s,{size:`inherit`,type:`main`,weight:`medium`,className:r.cn(`metadata--field tracking-wide`,A,p),children:e.label}),!!d&&(0,_.jsxs)(a.t,{children:[(0,_.jsx)(a.i,{render:t=>(0,_.jsx)(Q,{triggerProps:t,ariaLabel:typeof e.label==`string`?T.formatInfoAriaLabel(e.label):T.infoFallback})}),(0,_.jsx)(a.n,{side:`top`,align:`start`,className:`max-w-xs`,children:(0,_.jsx)(o.s,{type:`inverse`,size:`xs`,children:e.tooltip})})]})]}),f?e.render?.(e):(0,_.jsx)(o.s,{className:r.cn(j,`text-foreground leading-tight`,m),children:l}),!!e.description&&(0,_.jsx)(o.s,{size:`inherit`,type:`secondary`,className:r.cn(`text-xxs leading-snug`,h),children:e.description})]},n)})})]})}we.displayName=`MetadataList`;function $({label:e,value:t,layout:n=`between`,mono:i=!1,className:a,labelClassName:s,valueClassName:c}){return n===`stacked`?(0,_.jsxs)(`div`,{className:r.cn(`inline-stat--component`,`flex flex-col gap-space-2xs`,a),children:[(0,_.jsx)(o.s,{tag:`span`,size:`inherit`,type:`secondary`,className:r.cn(`text-xxs leading-tight`,s),children:e}),(0,_.jsx)(o.s,{tag:`span`,size:`inherit`,className:r.cn(`text-sm leading-snug`,i&&`tabular-nums`,c),children:t})]}):(0,_.jsxs)(`div`,{className:r.cn(`inline-stat--component flex items-center gap-space-md`,n===`between`?`justify-between`:`justify-start`,a),children:[(0,_.jsx)(o.s,{tag:`span`,size:`inherit`,type:`secondary`,className:r.cn(`text-xs leading-tight`,s),children:e}),(0,_.jsx)(o.s,{tag:`span`,size:`inherit`,className:r.cn(`text-sm leading-snug`,i&&`tabular-nums`,c),children:t})]})}$.displayName=`InlineStat`;var Te=`—`,Ee=(e,t,n)=>{if(e==null||e===``)return null;if(typeof e==`string`)return e;if(Number.isNaN(e))return null;try{return new Intl.NumberFormat(t,n).format(e)}catch{return String(e)}};function De({value:e,align:t=`right`,locale:i,formatOptions:a,emptyLabel:s=Te,size:c,weight:l,type:u,className:d,...f}){let{defaultTextSize:p}=n.p(),m=c??p??`sm`,h=Ee(e,i,a),g=t===`right`?`text-right`:t===`center`?`text-center`:`text-left`;return h===null?(0,_.jsx)(o.s,{size:m,weight:l,type:u??`secondary`,className:r.cn(`numeric-value--component`,`tabular-nums`,g,d),...f,children:s}):(0,_.jsx)(o.s,{size:m,weight:l,type:u,className:r.cn(`tabular-nums`,g,d),...f,children:h})}De.displayName=`NumericValue`;var Oe={small:{avatar:`size-avatar-sm`,gap:`gap-space-sm`,nameClass:`text-xs`,subtitleClass:`text-xxs`},default:{avatar:`size-avatar`,gap:`gap-space-md`,nameClass:`text-sm`,subtitleClass:`text-xs`}};function ke(e){return e===`small`||e==="default"?e:e===`xs`||e===`sm`?`small`:`default`}function Ae({name:e,subtitle:t,avatarUrl:n,avatarAlt:i,initials:a,avatar:s,trailing:c,size:l=`default`,className:u}){let d=Oe[ke(l)],f=s??(0,_.jsxs)(p.t,{className:d.avatar,children:[!!n&&(0,_.jsx)(p.o,{src:n,alt:i??(typeof e==`string`?e:void 0)}),!!a&&(0,_.jsx)(p.r,{children:a})]});return(0,_.jsxs)(`div`,{className:r.cn(`user-cell--component`,`flex items-center`,d.gap,u),children:[f,(0,_.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,_.jsx)(o.s,{size:`inherit`,weight:`semibold`,className:r.cn(`truncate leading-snug`,d.nameClass),children:e}),!!t&&(0,_.jsx)(o.s,{size:`inherit`,type:`secondary`,className:r.cn(`truncate leading-tight`,d.subtitleClass),children:t})]}),!!c&&(0,_.jsx)(`div`,{className:`shrink-0`,children:c})]})}Ae.displayName=`UserCell`;function je({title:e,description:t,badge:n,action:i,dense:a=!1,className:s}){return(0,_.jsxs)(`div`,{className:r.cn(`section-header--component`,`flex items-start justify-between`,a?`gap-2`:`gap-3`,s),children:[(0,_.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,_.jsxs)(`div`,{className:r.cn(`flex items-center`,a?`gap-1.5`:`gap-2`),children:[(0,_.jsx)(o.s,{size:a?`xs`:`sm`,weight:`semibold`,className:`truncate`,children:e}),!!n&&(0,_.jsx)(`span`,{className:`shrink-0`,children:n})]}),!!t&&(0,_.jsx)(o.s,{size:a?`xxs`:`xs`,type:`secondary`,className:a?`mt-0.5`:`mt-1`,children:t})]}),!!i&&(0,_.jsx)(`div`,{className:`shrink-0`,children:i})]})}je.displayName=`SectionHeader`,Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return R}});
2
+ //# sourceMappingURL=data-display-o-rbMuIA.cjs.map