admin-ui-starter-kit 0.1.0 → 0.1.2
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.
- package/.agents/skills/component-library-rules/SKILL.md +24 -0
- package/.agents/skills/component-library-rules/references/components/base__metadata-list.md +2 -2
- package/.agents/skills/component-library-rules/references/import-paths.md +27 -0
- package/AGENTS.md +8 -3
- package/INTEGRATION.md +33 -2
- package/PUBLISHING.md +3 -1
- package/README.md +33 -6
- package/dist/_shared/accordion-CztqyaIN.js +130 -0
- package/dist/_shared/accordion-CztqyaIN.js.map +1 -0
- package/dist/_shared/accordion-D5uTCLCB.cjs +2 -0
- package/dist/_shared/accordion-D5uTCLCB.cjs.map +1 -0
- package/dist/_shared/action-menu-Yrj6VzFS.js +96 -0
- package/dist/_shared/action-menu-Yrj6VzFS.js.map +1 -0
- package/dist/_shared/action-menu-eVP8GGlv.cjs +2 -0
- package/dist/_shared/action-menu-eVP8GGlv.cjs.map +1 -0
- package/dist/_shared/ai-artifact-DaHXJTKg.cjs +3 -0
- package/dist/_shared/ai-artifact-DaHXJTKg.cjs.map +1 -0
- package/dist/_shared/ai-artifact-DyLn3JAs.js +1068 -0
- package/dist/_shared/ai-artifact-DyLn3JAs.js.map +1 -0
- package/dist/_shared/alert-BVw4Mq6H.js +48 -0
- package/dist/_shared/alert-BVw4Mq6H.js.map +1 -0
- package/dist/_shared/alert-DXSlR9ja.cjs +2 -0
- package/dist/_shared/alert-DXSlR9ja.cjs.map +1 -0
- package/dist/_shared/avatar-CpBz9pTv.js +52 -0
- package/dist/_shared/avatar-CpBz9pTv.js.map +1 -0
- package/dist/_shared/avatar-dg20YFFs.cjs +2 -0
- package/dist/_shared/avatar-dg20YFFs.cjs.map +1 -0
- package/dist/_shared/badge-BVCh_hfL.js +108 -0
- package/dist/_shared/badge-BVCh_hfL.js.map +1 -0
- package/dist/_shared/badge-C49SSz-6.cjs +2 -0
- package/dist/_shared/badge-C49SSz-6.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs +2 -0
- package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-Dc93fqqE.js +111 -0
- package/dist/_shared/breadcrumbs-Dc93fqqE.js.map +1 -0
- package/dist/_shared/button-2xglT7yf.cjs +2 -0
- package/dist/_shared/button-2xglT7yf.cjs.map +1 -0
- package/dist/_shared/button-ChCkwoOD.js +176 -0
- package/dist/_shared/button-ChCkwoOD.js.map +1 -0
- package/dist/_shared/button-D0nF99a9.cjs +2 -0
- package/dist/_shared/button-D0nF99a9.cjs.map +1 -0
- package/dist/_shared/button-DBR4QI9E.js +46 -0
- package/dist/_shared/button-DBR4QI9E.js.map +1 -0
- package/dist/_shared/buttons-Bcnt1md_.js +143 -0
- package/dist/_shared/buttons-Bcnt1md_.js.map +1 -0
- package/dist/_shared/buttons-km9xqXJv.cjs +2 -0
- package/dist/_shared/buttons-km9xqXJv.cjs.map +1 -0
- package/dist/_shared/card-radio-group-BGH93O5-.js +158 -0
- package/dist/_shared/card-radio-group-BGH93O5-.js.map +1 -0
- package/dist/_shared/card-radio-group-Vq741uhL.cjs +2 -0
- package/dist/_shared/card-radio-group-Vq741uhL.cjs.map +1 -0
- package/dist/_shared/combobox-BgXAxjU2.js +746 -0
- package/dist/_shared/combobox-BgXAxjU2.js.map +1 -0
- package/dist/_shared/combobox-DuIyh3xJ.cjs +2 -0
- package/dist/_shared/combobox-DuIyh3xJ.cjs.map +1 -0
- package/dist/_shared/command-BbiijN61.js +39 -0
- package/dist/_shared/command-BbiijN61.js.map +1 -0
- package/dist/_shared/command-D7zTvyBJ.cjs +2 -0
- package/dist/_shared/command-D7zTvyBJ.cjs.map +1 -0
- package/dist/_shared/command-DGNtTI-V.cjs +2 -0
- package/dist/_shared/command-DGNtTI-V.cjs.map +1 -0
- package/dist/_shared/command-jKbwFRtS.js +123 -0
- package/dist/_shared/command-jKbwFRtS.js.map +1 -0
- package/dist/_shared/comments-CNUsdwGW.cjs +2 -0
- package/dist/_shared/comments-CNUsdwGW.cjs.map +1 -0
- package/dist/_shared/comments-CvmS7zG3.js +945 -0
- package/dist/_shared/comments-CvmS7zG3.js.map +1 -0
- package/dist/_shared/containers-BFDv7cCV.cjs +2 -0
- package/dist/_shared/containers-BFDv7cCV.cjs.map +1 -0
- package/dist/_shared/containers-C1-A_2PT.js +19 -0
- package/dist/_shared/containers-C1-A_2PT.js.map +1 -0
- package/dist/_shared/content-container-CwqFnaI0.cjs +2 -0
- package/dist/_shared/content-container-CwqFnaI0.cjs.map +1 -0
- package/dist/_shared/content-container-D_3JGBSc.js +33 -0
- package/dist/_shared/content-container-D_3JGBSc.js.map +1 -0
- package/dist/_shared/copyable-CHhCGMfW.js +38 -0
- package/dist/_shared/copyable-CHhCGMfW.js.map +1 -0
- package/dist/_shared/copyable-ndaiocYq.cjs +2 -0
- package/dist/_shared/copyable-ndaiocYq.cjs.map +1 -0
- package/dist/_shared/date-picker-B8O_qbik.js +1353 -0
- package/dist/_shared/date-picker-B8O_qbik.js.map +1 -0
- package/dist/_shared/date-picker-BnOjyuKS.cjs +2 -0
- package/dist/_shared/date-picker-BnOjyuKS.cjs.map +1 -0
- package/dist/_shared/date-pickers-Cas9cPlj.js +330 -0
- package/dist/_shared/date-pickers-Cas9cPlj.js.map +1 -0
- package/dist/_shared/date-pickers-Dk-G3RMy.cjs +2 -0
- package/dist/_shared/date-pickers-Dk-G3RMy.cjs.map +1 -0
- package/dist/_shared/dialog-67GmkMLC.js +101 -0
- package/dist/_shared/dialog-67GmkMLC.js.map +1 -0
- package/dist/_shared/dialog-BF_4uAhE.cjs +2 -0
- package/dist/_shared/dialog-BF_4uAhE.cjs.map +1 -0
- package/dist/_shared/display-B9xVWboG.cjs +8 -0
- package/dist/_shared/display-B9xVWboG.cjs.map +1 -0
- package/dist/_shared/display-BM_GxDAo.js +1237 -0
- package/dist/_shared/display-BM_GxDAo.js.map +1 -0
- package/dist/_shared/dropdown-menu-4nxEBMnd.js +147 -0
- package/dist/_shared/dropdown-menu-4nxEBMnd.js.map +1 -0
- package/dist/_shared/dropdown-menu-DZlWHqWS.cjs +2 -0
- package/dist/_shared/dropdown-menu-DZlWHqWS.cjs.map +1 -0
- package/dist/_shared/form-field-BQlki-8s.js +319 -0
- package/dist/_shared/form-field-BQlki-8s.js.map +1 -0
- package/dist/_shared/form-field-DzpwVS99.cjs +2 -0
- package/dist/_shared/form-field-DzpwVS99.cjs.map +1 -0
- package/dist/_shared/form-sizing-CcbB-OHF.js +21 -0
- package/dist/_shared/form-sizing-CcbB-OHF.js.map +1 -0
- package/dist/_shared/form-sizing-Cw12UeI6.cjs +2 -0
- package/dist/_shared/form-sizing-Cw12UeI6.cjs.map +1 -0
- package/dist/_shared/format-B2AdSQVn.cjs +2 -0
- package/dist/_shared/format-B2AdSQVn.cjs.map +1 -0
- package/dist/_shared/format-CP65h1vK.js +48 -0
- package/dist/_shared/format-CP65h1vK.js.map +1 -0
- package/dist/_shared/forms-B8aaNG44.cjs +2 -0
- package/dist/_shared/forms-B8aaNG44.cjs.map +1 -0
- package/dist/_shared/forms-BusuTZZ2.js +3374 -0
- package/dist/_shared/forms-BusuTZZ2.js.map +1 -0
- package/dist/_shared/header-DWfOUjFL.cjs +2 -0
- package/dist/_shared/header-DWfOUjFL.cjs.map +1 -0
- package/dist/_shared/header-KpdoLtP9.js +369 -0
- package/dist/_shared/header-KpdoLtP9.js.map +1 -0
- package/dist/_shared/heading-BprqyzDs.js +39 -0
- package/dist/_shared/heading-BprqyzDs.js.map +1 -0
- package/dist/_shared/heading-mZc_jan1.cjs +2 -0
- package/dist/_shared/heading-mZc_jan1.cjs.map +1 -0
- package/dist/_shared/hooks-C-uWoRq5.cjs +2 -0
- package/dist/_shared/hooks-C-uWoRq5.cjs.map +1 -0
- package/dist/_shared/hooks-D5HJtvvP.js +118 -0
- package/dist/_shared/hooks-D5HJtvvP.js.map +1 -0
- package/dist/_shared/icon-badge-BBqDyAUz.cjs +2 -0
- package/dist/_shared/icon-badge-BBqDyAUz.cjs.map +1 -0
- package/dist/_shared/icon-badge-Bi63T-bj.js +52 -0
- package/dist/_shared/icon-badge-Bi63T-bj.js.map +1 -0
- package/dist/_shared/input-B2YXTHqz.cjs +2 -0
- package/dist/_shared/input-B2YXTHqz.cjs.map +1 -0
- package/dist/_shared/input-BJb10xb9.cjs +2 -0
- package/dist/_shared/input-BJb10xb9.cjs.map +1 -0
- package/dist/_shared/input-CZxP5Xgj.js +17 -0
- package/dist/_shared/input-CZxP5Xgj.js.map +1 -0
- package/dist/_shared/input-DQahu2sm.js +182 -0
- package/dist/_shared/input-DQahu2sm.js.map +1 -0
- package/dist/_shared/item-Cu5JbZyZ.js +224 -0
- package/dist/_shared/item-Cu5JbZyZ.js.map +1 -0
- package/dist/_shared/item-Cx_7QZ2o.cjs +2 -0
- package/dist/_shared/item-Cx_7QZ2o.cjs.map +1 -0
- package/dist/_shared/mentions-CS3rIhze.js +493 -0
- package/dist/_shared/mentions-CS3rIhze.js.map +1 -0
- package/dist/_shared/mentions-D7gnP3Nf.cjs +2 -0
- package/dist/_shared/mentions-D7gnP3Nf.cjs.map +1 -0
- package/dist/_shared/metadata-CRsVWE8Y.cjs +2 -0
- package/dist/_shared/metadata-CRsVWE8Y.cjs.map +1 -0
- package/dist/_shared/metadata-CfG0FdFZ.js +236 -0
- package/dist/_shared/metadata-CfG0FdFZ.js.map +1 -0
- package/dist/_shared/money-display-Bd0rkjc9.js +198 -0
- package/dist/_shared/money-display-Bd0rkjc9.js.map +1 -0
- package/dist/_shared/money-display-DSFft9Mi.cjs +2 -0
- package/dist/_shared/money-display-DSFft9Mi.cjs.map +1 -0
- package/dist/_shared/navigation-Do9k5Xh1.js +420 -0
- package/dist/_shared/navigation-Do9k5Xh1.js.map +1 -0
- package/dist/_shared/navigation-QAAD3HJd.cjs +2 -0
- package/dist/_shared/navigation-QAAD3HJd.cjs.map +1 -0
- package/dist/_shared/overlays-B8AH8fNv.js +633 -0
- package/dist/_shared/overlays-B8AH8fNv.js.map +1 -0
- package/dist/_shared/overlays-DOcoRy8k.cjs +2 -0
- package/dist/_shared/overlays-DOcoRy8k.cjs.map +1 -0
- package/dist/_shared/page-BPCeKX9X.js +263 -0
- package/dist/_shared/page-BPCeKX9X.js.map +1 -0
- package/dist/_shared/page-DMM32sxi.cjs +2 -0
- package/dist/_shared/page-DMM32sxi.cjs.map +1 -0
- package/dist/_shared/popover-B1f_EUQS.cjs +2 -0
- package/dist/_shared/popover-B1f_EUQS.cjs.map +1 -0
- package/dist/_shared/popover-CgRGcFk9.js +83 -0
- package/dist/_shared/popover-CgRGcFk9.js.map +1 -0
- package/dist/_shared/popover-menu-BEKIT3LR.cjs +2 -0
- package/dist/_shared/popover-menu-BEKIT3LR.cjs.map +1 -0
- package/dist/_shared/popover-menu-BHdHLEVL.js +95 -0
- package/dist/_shared/popover-menu-BHdHLEVL.js.map +1 -0
- package/dist/_shared/rich-text-editor-0uoIoYXU.js +608 -0
- package/dist/_shared/rich-text-editor-0uoIoYXU.js.map +1 -0
- package/dist/_shared/rich-text-editor-wTiARGuB.cjs +2 -0
- package/dist/_shared/rich-text-editor-wTiARGuB.cjs.map +1 -0
- package/dist/_shared/scroll-area-Bo17wtZD.cjs +2 -0
- package/dist/_shared/scroll-area-Bo17wtZD.cjs.map +1 -0
- package/dist/_shared/scroll-area-Cj-hmB5D.js +41 -0
- package/dist/_shared/scroll-area-Cj-hmB5D.js.map +1 -0
- package/dist/_shared/select-07RRiTWc.js +85 -0
- package/dist/_shared/select-07RRiTWc.js.map +1 -0
- package/dist/_shared/select-BfiU7a4n.cjs +2 -0
- package/dist/_shared/select-BfiU7a4n.cjs.map +1 -0
- package/dist/_shared/separator-CN9zAJfs.cjs +2 -0
- package/dist/_shared/separator-CN9zAJfs.cjs.map +1 -0
- package/dist/_shared/separator-DR0uUMKa.js +16 -0
- package/dist/_shared/separator-DR0uUMKa.js.map +1 -0
- package/dist/_shared/sheet-B5FoGJAZ.cjs +2 -0
- package/dist/_shared/sheet-B5FoGJAZ.cjs.map +1 -0
- package/dist/_shared/sheet-cUI8cypP.js +100 -0
- package/dist/_shared/sheet-cUI8cypP.js.map +1 -0
- package/dist/_shared/sidebar-Bq7yKLrG.cjs +2 -0
- package/dist/_shared/sidebar-Bq7yKLrG.cjs.map +1 -0
- package/dist/_shared/sidebar-Da20tCUc.cjs +2 -0
- package/dist/_shared/sidebar-Da20tCUc.cjs.map +1 -0
- package/dist/_shared/sidebar-Q6TYE8Ux.js +371 -0
- package/dist/_shared/sidebar-Q6TYE8Ux.js.map +1 -0
- package/dist/_shared/sidebar-WmnQ55YY.js +537 -0
- package/dist/_shared/sidebar-WmnQ55YY.js.map +1 -0
- package/dist/_shared/skeleton-B3HWEc6G.js +14 -0
- package/dist/_shared/skeleton-B3HWEc6G.js.map +1 -0
- package/dist/_shared/skeleton-Cz_l8-fc.cjs +2 -0
- package/dist/_shared/skeleton-Cz_l8-fc.cjs.map +1 -0
- package/dist/_shared/slot-BgnZtKR5.js +18 -0
- package/dist/_shared/slot-BgnZtKR5.js.map +1 -0
- package/dist/_shared/slot-Dac1ipUC.cjs +2 -0
- package/dist/_shared/slot-Dac1ipUC.cjs.map +1 -0
- package/dist/_shared/smart-card-Bm_VxYUG.cjs +2 -0
- package/dist/_shared/smart-card-Bm_VxYUG.cjs.map +1 -0
- package/dist/_shared/smart-card-MT6JjkoI.js +360 -0
- package/dist/_shared/smart-card-MT6JjkoI.js.map +1 -0
- package/dist/_shared/spinner-BQjxJ_Kx.js +67 -0
- package/dist/_shared/spinner-BQjxJ_Kx.js.map +1 -0
- package/dist/_shared/spinner-Dvaa6GUm.cjs +2 -0
- package/dist/_shared/spinner-Dvaa6GUm.cjs.map +1 -0
- package/dist/_shared/switch-C0yyhsXZ.js +51 -0
- package/dist/_shared/switch-C0yyhsXZ.js.map +1 -0
- package/dist/_shared/switch-DozkSQNn.cjs +2 -0
- package/dist/_shared/switch-DozkSQNn.cjs.map +1 -0
- package/dist/_shared/textarea-Cgl-FPwu.js +119 -0
- package/dist/_shared/textarea-Cgl-FPwu.js.map +1 -0
- package/dist/_shared/textarea-D8wC0XlZ.cjs +2 -0
- package/dist/_shared/textarea-D8wC0XlZ.cjs.map +1 -0
- package/dist/_shared/tooltip-Cws4BiPT.js +49 -0
- package/dist/_shared/tooltip-Cws4BiPT.js.map +1 -0
- package/dist/_shared/tooltip-DyUi-Tac.cjs +2 -0
- package/dist/_shared/tooltip-DyUi-Tac.cjs.map +1 -0
- package/dist/_shared/typography-BW7iZBx7.cjs +2 -0
- package/dist/_shared/typography-BW7iZBx7.cjs.map +1 -0
- package/dist/_shared/typography-a3hydyvI.js +102 -0
- package/dist/_shared/typography-a3hydyvI.js.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +2 -2
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +12 -11
- package/dist/components/base/display/metadata/index.cjs +1 -0
- package/dist/components/base/display/metadata/index.js +2 -0
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.cjs.map +1 -1
- package/dist/components/base/event-calendar/index.js +4 -4
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +6 -6
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +3 -3
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +4 -4
- package/dist/components/base/popover/index.cjs +1 -1
- package/dist/components/base/popover/index.js +1 -1
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/sheet/index.cjs +1 -1
- package/dist/components/base/sheet/index.js +1 -1
- package/dist/components/base/sidebar/index.cjs +1 -1
- package/dist/components/base/sidebar/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +7 -7
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.cjs.map +1 -1
- package/dist/components/composed/admin/index.js +12 -12
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +9 -9
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.cjs.map +1 -1
- package/dist/components/composed/analytics/index.js +4 -4
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.cjs.map +1 -1
- package/dist/components/composed/cards/index.js +8 -8
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.js +9 -9
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs.map +1 -1
- package/dist/components/composed/dark-surfaces/index.js +6 -6
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.cjs.map +1 -1
- package/dist/components/composed/data-display/index.js +7 -7
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +4 -4
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +2 -2
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +2 -2
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +4 -4
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.cjs.map +1 -1
- package/dist/components/features/ai-chat/index.js +6 -6
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +3 -3
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +3 -3
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.js +9 -9
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +2 -2
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +1 -1
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/containers/index.cjs +1 -1
- package/dist/components/layout/containers/index.js +2 -2
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +6 -6
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +3 -2
- package/dist/showcase/assets/AreaChart-CJ57G5Ub.js +6 -0
- package/dist/showcase/assets/CSPContext-BA7DfnCI.js +1 -0
- package/dist/showcase/assets/CompositeItem-PwzgE4va.js +1 -0
- package/dist/showcase/assets/CompositeRoot-Du4CMlK7.js +1 -0
- package/dist/showcase/assets/DialogTrigger-FkENgwo6.js +1 -0
- package/dist/showcase/assets/FormContext-ChygLayp.js +1 -0
- package/dist/showcase/assets/PreviewLayout-z6vpJJGt.js +1 -0
- package/dist/showcase/assets/RadioGroup-CcDmbxOw.js +1 -0
- package/dist/showcase/assets/Separator-Dk4eN76U.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-D_KAA5hZ.js +1 -0
- package/dist/showcase/assets/accordion-dQszzfmw.js +172 -0
- package/dist/showcase/assets/accordion-variants-Dp4wxic-.js +1 -0
- package/dist/showcase/assets/action-menu-CBi2Eiy0.js +1 -0
- package/dist/showcase/assets/activities-DoXsgP4G.js +501 -0
- package/dist/showcase/assets/activities-feed-card-xz5FtkOm.js +1 -0
- package/dist/showcase/assets/admin-CxklUqAG.js +80 -0
- package/dist/showcase/assets/ai-artifact-DkhUdEbM.js +2 -0
- package/dist/showcase/assets/ai-chat-B6PuqkEu.js +568 -0
- package/dist/showcase/assets/ai-elements-D_rpj_ds.js +379 -0
- package/dist/showcase/assets/ai-new-CUPrAbOK.js +167 -0
- package/dist/showcase/assets/ai-tool-call-CEr-dGVx.js +1 -0
- package/dist/showcase/assets/ai-zxF_msJF.js +41 -0
- package/dist/showcase/assets/alert-771BE3Ny.js +59 -0
- package/dist/showcase/assets/alert-CG42DAlX.js +1 -0
- package/dist/showcase/assets/api-key-list-D6jUN7Fq.js +73 -0
- package/dist/showcase/assets/arrow-down-CUoXUyN1.js +1 -0
- package/dist/showcase/assets/arrow-left-Cdq69X6h.js +1 -0
- package/dist/showcase/assets/arrow-right-i25q9L2H.js +1 -0
- package/dist/showcase/assets/arrow-up-pnezegnF.js +1 -0
- package/dist/showcase/assets/arrow-up-right-CK3XnMah.js +1 -0
- package/dist/showcase/assets/avatar-LPmQqZQv.js +1 -0
- package/dist/showcase/assets/avatar-ZVFIQouy.js +57 -0
- package/dist/showcase/assets/badge-DK4bsgZC.js +28 -0
- package/dist/showcase/assets/badge-check-Cw5gkVcG.js +1 -0
- package/dist/showcase/assets/bell-BvJELoaV.js +1 -0
- package/dist/showcase/assets/bot-DRj6sdSR.js +1 -0
- package/dist/showcase/assets/box-BNND3M2m.js +1 -0
- package/dist/showcase/assets/brain-Cy3o-12l.js +1 -0
- package/dist/showcase/assets/brand-DvipEpFn.js +40 -0
- package/dist/showcase/assets/breadcrumb-B-LNuOyv.js +1 -0
- package/dist/showcase/assets/breadcrumb-Lzpc0yo4.js +52 -0
- package/dist/showcase/assets/breadcrumbs-DD6msKFZ.js +1 -0
- package/dist/showcase/assets/briefcase-LcAwoEmu.js +1 -0
- package/dist/showcase/assets/button-CuwcGzk1.js +44 -0
- package/dist/showcase/assets/button-group-CAImjDrl.js +1 -0
- package/dist/showcase/assets/buttons-DTjNHCMl.js +259 -0
- package/dist/showcase/assets/calendar-B1zW0q6I.js +1 -0
- package/dist/showcase/assets/calendar-Dlv72ytt.js +1 -0
- package/dist/showcase/assets/calendar-ls2A08Pn.js +16 -0
- package/dist/showcase/assets/card-BhtkM1BT.js +1 -0
- package/dist/showcase/assets/cards-BRpRXzGk.js +328 -0
- package/dist/showcase/assets/chart-column-BpQkEi1H.js +1 -0
- package/dist/showcase/assets/chevron-down-DyObdfSb.js +1 -0
- package/dist/showcase/assets/chevron-left-T7dHNxYM.js +1 -0
- package/dist/showcase/assets/chevron-right-D_EcqHpT.js +1 -0
- package/dist/showcase/assets/chevron-up-B38ivdGO.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-SdRARzoq.js +1 -0
- package/dist/showcase/assets/circle-BrCPAmDA.js +1 -0
- package/dist/showcase/assets/circle-alert-DdhzLPY_.js +1 -0
- package/dist/showcase/assets/circle-check-DlA6zidQ.js +1 -0
- package/dist/showcase/assets/circle-check-big-DFGJANQF.js +1 -0
- package/dist/showcase/assets/circle-dot-BKmnVUqM.js +1 -0
- package/dist/showcase/assets/circle-question-mark-BNREvgVC.js +1 -0
- package/dist/showcase/assets/circle-x-C45QjHEs.js +1 -0
- package/dist/showcase/assets/clock-D1nKQzQo.js +1 -0
- package/dist/showcase/assets/code-xml-B8N3GRSu.js +1 -0
- package/dist/showcase/assets/collapsible-4TfcWyNs.js +1 -0
- package/dist/showcase/assets/collapsible-CKbZtvTj.js +27 -0
- package/dist/showcase/assets/combobox-DTdGPaU0.js +622 -0
- package/dist/showcase/assets/command-DymTXwL1.js +1 -0
- package/dist/showcase/assets/command-ksVIHQKJ.js +45 -0
- package/dist/showcase/assets/comment-composer-DC9oS1Yy.js +1 -0
- package/dist/showcase/assets/comment-item-CAmKnJa7.js +1 -0
- package/dist/showcase/assets/comments-Benk-2mV.js +349 -0
- package/dist/showcase/assets/commerce-Qz-mq8mQ.js +78 -0
- package/dist/showcase/assets/commerce-extras-CQRc3Bna.js +179 -0
- package/dist/showcase/assets/composite-DBDXLPyz.js +1 -0
- package/dist/showcase/assets/contact-card-DkL2nI3r.js +65 -0
- package/dist/showcase/assets/content-container-mRm6oJEa.js +1 -0
- package/dist/showcase/assets/copyable-DmLlmwzy.js +96 -0
- package/dist/showcase/assets/course-card-CJJoeZj9.js +113 -0
- package/dist/showcase/assets/cpu-BXJnF2Xy.js +1 -0
- package/dist/showcase/assets/credit-card-BQK3KKb2.js +1 -0
- package/dist/showcase/assets/currency-DBPUh8ee.js +149 -0
- package/dist/showcase/assets/dark-surfaces-LpPuIeYy.js +90 -0
- package/dist/showcase/assets/database-BZerpzGE.js +1 -0
- package/dist/showcase/assets/date-block-iiHUpbNX.js +1 -0
- package/dist/showcase/assets/date-picker-BQeBGL7T.js +1 -0
- package/dist/showcase/assets/date-pickers-CKcUEMMF.js +110 -0
- package/dist/showcase/assets/dense-info-DATmxRU8.js +106 -0
- package/dist/showcase/assets/dialog-Bqu5KDYH.js +1 -0
- package/dist/showcase/assets/display-Bj7uPXD4.js +392 -0
- package/dist/showcase/assets/dist-QK7JxeYv.js +1 -0
- package/dist/showcase/assets/dollar-sign-DFZs6vfz.js +1 -0
- package/dist/showcase/assets/download-5oGw_WbW.js +1 -0
- package/dist/showcase/assets/dropdown-menu-1CJgYn0S.js +1 -0
- package/dist/showcase/assets/dropzone-Co1uhsDn.js +1 -0
- package/dist/showcase/assets/ellipsis-cKRcvuyL.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-B1RErEkj.js +1 -0
- package/dist/showcase/assets/empty-Y2-4nCBr.js +1 -0
- package/dist/showcase/assets/empty-item-USa6xcUv.js +49 -0
- package/dist/showcase/assets/empty-state-DfhZ9AT5.js +188 -0
- package/dist/showcase/assets/enhanced-activities-DmAPVUSu.js +359 -0
- package/dist/showcase/assets/esm-BeGQ_ZTM.js +2 -0
- package/dist/showcase/assets/event-calendar-D-jGrrZS.js +138 -0
- package/dist/showcase/assets/event-log-tA_i4eR9.js +326 -0
- package/dist/showcase/assets/example-6phCHGsN.js +1 -0
- package/dist/showcase/assets/external-link-BuVHkCy0.js +1 -0
- package/dist/showcase/assets/eye-DC5HfGm6.js +1 -0
- package/dist/showcase/assets/feature-announcement-DwvxLytd.js +34 -0
- package/dist/showcase/assets/file-D-xM4vLy.js +1 -0
- package/dist/showcase/assets/file-text-tmG5vNbr.js +1 -0
- package/dist/showcase/assets/filters-CrGRXmq6.js +78 -0
- package/dist/showcase/assets/flag-CWrEtkY5.js +1 -0
- package/dist/showcase/assets/folder-open-Br-x1pjP.js +1 -0
- package/dist/showcase/assets/form-sizing-Bb5hiM45.js +1 -0
- package/dist/showcase/assets/format-D_ETCyg4.js +1 -0
- package/dist/showcase/assets/forms-B_MkQ3rm.js +790 -0
- package/dist/showcase/assets/generic-CdmsyXV3.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-CZnCbCFP.js +1 -0
- package/dist/showcase/assets/gift-NkuklfU2.js +1 -0
- package/dist/showcase/assets/giftcard-cards-BAvevZ0i.js +85 -0
- package/dist/showcase/assets/git-branch-B_CBqPeO.js +1 -0
- package/dist/showcase/assets/global-search-D9teAbPe.js +90 -0
- package/dist/showcase/assets/globe-gzw45GU2.js +1 -0
- package/dist/showcase/assets/gradient-card-Xk2r7R5H.js +58 -0
- package/dist/showcase/assets/header-notifications-_aZCpE5A.js +1 -0
- package/dist/showcase/assets/heart-CEMKbRaZ.js +1 -0
- package/dist/showcase/assets/house-BlGXAcMH.js +1 -0
- package/dist/showcase/assets/icon-badge-z6N9reH_.js +1 -0
- package/dist/showcase/assets/image-B8mzmVBr.js +1 -0
- package/dist/showcase/assets/inbox-qdSnP4UV.js +1 -0
- package/dist/showcase/assets/index-B4ubXfly.js +10 -0
- package/dist/showcase/assets/inertValue-D5Q8cLku.js +1 -0
- package/dist/showcase/assets/info-DBvvNjc_.js +1 -0
- package/dist/showcase/assets/inline-stat-Bm1zVT8D.js +1 -0
- package/dist/showcase/assets/input-CBQR0aeX.js +1 -0
- package/dist/showcase/assets/input-OrUzpI55.js +1 -0
- package/dist/showcase/assets/input-group-DhqOen2N.js +47 -0
- package/dist/showcase/assets/input-group-l8xa5nUq.js +1 -0
- package/dist/showcase/assets/inputs-DbiJ0qy2.js +49 -0
- package/dist/showcase/assets/invoice-header-C6youIbL.js +36 -0
- package/dist/showcase/assets/invoice-items-g6dgryF-.js +36 -0
- package/dist/showcase/assets/invoice-mini-0iWhufpt.js +14 -0
- package/dist/showcase/assets/invoice-table-Bvdh3rRq.js +30 -0
- package/dist/showcase/assets/isSameDay-BpZEtJe8.js +1 -0
- package/dist/showcase/assets/isToday-F0CS28oK.js +1 -0
- package/dist/showcase/assets/italic-CJOEwjdc.js +1 -0
- package/dist/showcase/assets/item-BiMm1PPB.js +1 -0
- package/dist/showcase/assets/item-CN0cwdj_.js +1 -0
- package/dist/showcase/assets/item-DNqEUYLT.js +117 -0
- package/dist/showcase/assets/kanban-DxePEUiQ.js +175 -0
- package/dist/showcase/assets/label-Dx4WO-fg.js +1 -0
- package/dist/showcase/assets/layout-containers-DDl8rG8S.js +96 -0
- package/dist/showcase/assets/layout-header-Bu6IcDWu.js +170 -0
- package/dist/showcase/assets/layout-page-D-88Qnoy.js +122 -0
- package/dist/showcase/assets/layout-sidebar-Ctft10pk.js +224 -0
- package/dist/showcase/assets/layout-users-DtbZduBG.js +104 -0
- package/dist/showcase/assets/lib-D9BoOYUd.js +1 -0
- package/dist/showcase/assets/lock-CHurDI0n.js +1 -0
- package/dist/showcase/assets/mail-DZ1o1RLW.js +1 -0
- package/dist/showcase/assets/map-C8xiyT9X.js +124 -0
- package/dist/showcase/assets/map-pin-CAKaoYod.js +1 -0
- package/dist/showcase/assets/menus-C6mnp636.js +89 -0
- package/dist/showcase/assets/message-square-Zo5J_zU1.js +1 -0
- package/dist/showcase/assets/metadata-list-W83-UMhc.js +278 -0
- package/dist/showcase/assets/metric-BSvxidIX.js +1 -0
- package/dist/showcase/assets/metric-grid-Dtqx_3Lg.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-mtvcJ_M9.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-DQbyss7i.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CEBu5Uw0.js +77 -0
- package/dist/showcase/assets/metrics-comparison-Bs-R6v4y.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-BKHWH8sM.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-BxVn0Y2p.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-DtACYEds.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-BkwUGOUR.js +42 -0
- package/dist/showcase/assets/metrics-overview-BAtrlzsI.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-iCRCNyHY.js +54 -0
- package/dist/showcase/assets/minus-C6eBW-2t.js +1 -0
- package/dist/showcase/assets/money-display-DjGRJ16l.js +1 -0
- package/dist/showcase/assets/month-year-picker-DTDebPqf.js +1 -0
- package/dist/showcase/assets/navigation-BrG8Chig.js +86 -0
- package/dist/showcase/assets/navigation-CfXQJbyM.js +230 -0
- package/dist/showcase/assets/navigation-extras-D_gzLlZ5.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-1EerUwAo.js +119 -0
- package/dist/showcase/assets/overlays-2AB9-S1Z.js +88 -0
- package/dist/showcase/assets/overlays-CYt9o3Xq.js +393 -0
- package/dist/showcase/assets/package-BJMP-Fcr.js +1 -0
- package/dist/showcase/assets/page-action-button-BZxJ0X1j.js +1 -0
- package/dist/showcase/assets/page-header-B_rqHJhe.js +1 -0
- package/dist/showcase/assets/pagination-BHiQvvka.js +1 -0
- package/dist/showcase/assets/pagination-Dq0GruQd.js +42 -0
- package/dist/showcase/assets/paperclip-BMYKrUQo.js +1 -0
- package/dist/showcase/assets/pencil-BJ3VS_FO.js +1 -0
- package/dist/showcase/assets/phone-CsRIyvep.js +1 -0
- package/dist/showcase/assets/plus-D2JuXYLg.js +1 -0
- package/dist/showcase/assets/popover-DNT9755r.js +1 -0
- package/dist/showcase/assets/popover-KvGgcPNg.js +1 -0
- package/dist/showcase/assets/popover-menu-CJx30R65.js +1 -0
- package/dist/showcase/assets/progress-B7WuXcJR.js +1 -0
- package/dist/showcase/assets/progress-CweCSAUv.js +18 -0
- package/dist/showcase/assets/props-table-uDY4eIzt.js +1 -0
- package/dist/showcase/assets/quote-DAyyfzQd.js +1 -0
- package/dist/showcase/assets/receipt-C0mMZGbF.js +1 -0
- package/dist/showcase/assets/refresh-cw-X06JbXb-.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-Bks7UDko.js +1 -0
- package/dist/showcase/assets/rich-text-editor-QJsb-qIe.js +124 -0
- package/dist/showcase/assets/rich-text-editor-h07VBNI9.js +141 -0
- package/dist/showcase/assets/rotate-ccw-D84bdX_x.js +1 -0
- package/dist/showcase/assets/scroll-area-0rT06pXZ.js +1 -0
- package/dist/showcase/assets/scroll-area-YXwdzGpN.js +32 -0
- package/dist/showcase/assets/select-BoWQDtUf.js +1 -0
- package/dist/showcase/assets/send-DJsk3cr1.js +1 -0
- package/dist/showcase/assets/separator-CLSnRcJa.js +28 -0
- package/dist/showcase/assets/separator-DWv-twD-.js +1 -0
- package/dist/showcase/assets/settings-Cb2MsAmN.js +1 -0
- package/dist/showcase/assets/sheet-Dn1-MYus.js +1 -0
- package/dist/showcase/assets/shield-DwLjF5ch.js +1 -0
- package/dist/showcase/assets/shield-alert-D8i6gzMK.js +1 -0
- package/dist/showcase/assets/shield-check-D5YRSBIz.js +1 -0
- package/dist/showcase/assets/shopping-bag-BqlAP4vn.js +1 -0
- package/dist/showcase/assets/sidebar.context-BAp_pBEB.js +1 -0
- package/dist/showcase/assets/skeleton-CeNPp4hr.js +1 -0
- package/dist/showcase/assets/skeleton-QPsnM_NR.js +29 -0
- package/dist/showcase/assets/smart-card-BisUbLPt.js +1 -0
- package/dist/showcase/assets/sonner-B7GzbBK2.js +22 -0
- package/dist/showcase/assets/sortable.esm-BDcEOHT7.js +5 -0
- package/dist/showcase/assets/sparkles-CF9P5Tqh.js +1 -0
- package/dist/showcase/assets/spinner-BeamEyJd.js +49 -0
- package/dist/showcase/assets/spinner-DoYBfalR.js +1 -0
- package/dist/showcase/assets/spinner-UsLsOYzn.js +30 -0
- package/dist/showcase/assets/square-pen-BGTVdnt1.js +1 -0
- package/dist/showcase/assets/stacked-avatars-BWfVX1Ov.js +1 -0
- package/dist/showcase/assets/star-NsPNO9gR.js +1 -0
- package/dist/showcase/assets/startOfDay-zJBpxLuW.js +1 -0
- package/dist/showcase/assets/styles-DA7a7hVy.js +1 -0
- package/dist/showcase/assets/switch-C62S4U2o.js +1 -0
- package/dist/showcase/assets/switch-CYQcinJZ.js +1 -0
- package/dist/showcase/assets/table-w4IABkpa.js +1 -0
- package/dist/showcase/assets/table-xgB63UrY.js +390 -0
- package/dist/showcase/assets/tabs-BFTEaTXj.js +19 -0
- package/dist/showcase/assets/tabs-oMJn9Ujq.js +1 -0
- package/dist/showcase/assets/text-button-BgcutPuu.js +1 -0
- package/dist/showcase/assets/text-link-CS9thOWL.js +1 -0
- package/dist/showcase/assets/textarea-BOBx4EM6.js +1 -0
- package/dist/showcase/assets/textarea-CTzYZZqa.js +1 -0
- package/dist/showcase/assets/timelines-CK07mEBK.js +186 -0
- package/dist/showcase/assets/toggle-group-CSPdPT6G.js +1 -0
- package/dist/showcase/assets/toggles-DDSdl-gA.js +71 -0
- package/dist/showcase/assets/toggles-group-Y2BdKEFB.js +32 -0
- package/dist/showcase/assets/trash-2-C-FAptQP.js +1 -0
- package/dist/showcase/assets/trending-up-BmLhdF_w.js +1 -0
- package/dist/showcase/assets/truck-pZdUS_as.js +1 -0
- package/dist/showcase/assets/typography-CnBH2z7f.js +214 -0
- package/dist/showcase/assets/ui-badge-Cl6INRO5.js +28 -0
- package/dist/showcase/assets/ui-card-B5P-thNu.js +30 -0
- package/dist/showcase/assets/ui-table-B32RILKk.js +42 -0
- package/dist/showcase/assets/upload-tray-mu6bR2ZE.js +138 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-CzDaXxmM.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-B0DZvDFu.js +1 -0
- package/dist/showcase/assets/useCompositeItem-BVIVLT9X.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-JEMeTFPx.js +1 -0
- package/dist/showcase/assets/useControlled-ZjqBfPCn.js +1 -0
- package/dist/showcase/assets/useLabelableId-D8CZq8Bm.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CopGCf3q.js +1 -0
- package/dist/showcase/assets/useRender-zuKv6JQF.js +1 -0
- package/dist/showcase/assets/useRole-08KeyiD3.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-DEuz5CGe.js +1 -0
- package/dist/showcase/assets/useValueChanged-BxFi_qyj.js +1 -0
- package/dist/showcase/assets/user-Bgc2t2_e.js +1 -0
- package/dist/showcase/assets/user-plus-F_TfagnP.js +1 -0
- package/dist/showcase/assets/users-B7G4yTCR.js +1 -0
- package/dist/showcase/assets/vendor-profile-BTQmsKM6.js +37 -0
- package/dist/showcase/assets/wrench-BdzICmjR.js +1 -0
- package/dist/showcase/assets/x-B156Wr-5.js +1 -0
- package/dist/showcase/assets/zap-B3iByjNV.js +1 -0
- package/dist/showcase/index.html +1 -1
- package/package.json +254 -19
- package/dist/_shared/accordion-7rwpgJ1k.cjs +0 -2
- package/dist/_shared/accordion-7rwpgJ1k.cjs.map +0 -1
- package/dist/_shared/accordion-DcduCEIo.js +0 -130
- package/dist/_shared/accordion-DcduCEIo.js.map +0 -1
- package/dist/_shared/action-menu-D0u-q0q-.cjs +0 -2
- package/dist/_shared/action-menu-D0u-q0q-.cjs.map +0 -1
- package/dist/_shared/action-menu-DUBXdReV.js +0 -96
- package/dist/_shared/action-menu-DUBXdReV.js.map +0 -1
- package/dist/_shared/ai-artifact-C3R0god0.cjs +0 -3
- package/dist/_shared/ai-artifact-C3R0god0.cjs.map +0 -1
- package/dist/_shared/ai-artifact-DMjQv_Si.js +0 -1068
- package/dist/_shared/ai-artifact-DMjQv_Si.js.map +0 -1
- package/dist/_shared/alert-B2cuJGAA.cjs +0 -2
- package/dist/_shared/alert-B2cuJGAA.cjs.map +0 -1
- package/dist/_shared/alert-BKUmOI2e.js +0 -48
- package/dist/_shared/alert-BKUmOI2e.js.map +0 -1
- package/dist/_shared/avatar-BcYcRORH.cjs +0 -2
- package/dist/_shared/avatar-BcYcRORH.cjs.map +0 -1
- package/dist/_shared/avatar-CNzG6jSZ.js +0 -52
- package/dist/_shared/avatar-CNzG6jSZ.js.map +0 -1
- package/dist/_shared/badge-BbUN6W7E.js +0 -108
- package/dist/_shared/badge-BbUN6W7E.js.map +0 -1
- package/dist/_shared/badge-BjtDcU1M.cjs +0 -2
- package/dist/_shared/badge-BjtDcU1M.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-DctwTld5.js +0 -111
- package/dist/_shared/breadcrumbs-DctwTld5.js.map +0 -1
- package/dist/_shared/breadcrumbs-m0-gCdNj.cjs +0 -2
- package/dist/_shared/breadcrumbs-m0-gCdNj.cjs.map +0 -1
- package/dist/_shared/button-BCABTFLE.js +0 -46
- package/dist/_shared/button-BCABTFLE.js.map +0 -1
- package/dist/_shared/button-Ck2qS42n.js +0 -176
- package/dist/_shared/button-Ck2qS42n.js.map +0 -1
- package/dist/_shared/button-DjJ-mDI1.cjs +0 -2
- package/dist/_shared/button-DjJ-mDI1.cjs.map +0 -1
- package/dist/_shared/button-DjacsNTg.cjs +0 -2
- package/dist/_shared/button-DjacsNTg.cjs.map +0 -1
- package/dist/_shared/buttons-BVnjQ-uE.js +0 -143
- package/dist/_shared/buttons-BVnjQ-uE.js.map +0 -1
- package/dist/_shared/buttons-BdY6igTr.cjs +0 -2
- package/dist/_shared/buttons-BdY6igTr.cjs.map +0 -1
- package/dist/_shared/card-radio-group--GP1xrz_.js +0 -158
- package/dist/_shared/card-radio-group--GP1xrz_.js.map +0 -1
- package/dist/_shared/card-radio-group-DnQsWozr.cjs +0 -2
- package/dist/_shared/card-radio-group-DnQsWozr.cjs.map +0 -1
- package/dist/_shared/combobox-DBrRE1Dr.cjs +0 -2
- package/dist/_shared/combobox-DBrRE1Dr.cjs.map +0 -1
- package/dist/_shared/combobox-DYztEJaw.js +0 -746
- package/dist/_shared/combobox-DYztEJaw.js.map +0 -1
- package/dist/_shared/command-COvgXQ8r.cjs +0 -2
- package/dist/_shared/command-COvgXQ8r.cjs.map +0 -1
- package/dist/_shared/command-CvZ6Emb8.js +0 -39
- package/dist/_shared/command-CvZ6Emb8.js.map +0 -1
- package/dist/_shared/command-DTFQIUVG.cjs +0 -2
- package/dist/_shared/command-DTFQIUVG.cjs.map +0 -1
- package/dist/_shared/command-Sq8XbHbA.js +0 -123
- package/dist/_shared/command-Sq8XbHbA.js.map +0 -1
- package/dist/_shared/comments-BOFU1GYY.js +0 -945
- package/dist/_shared/comments-BOFU1GYY.js.map +0 -1
- package/dist/_shared/comments-BbTYFzx6.cjs +0 -2
- package/dist/_shared/comments-BbTYFzx6.cjs.map +0 -1
- package/dist/_shared/containers-BthqdOhA.cjs +0 -2
- package/dist/_shared/containers-BthqdOhA.cjs.map +0 -1
- package/dist/_shared/containers-CD2xs1nk.js +0 -19
- package/dist/_shared/containers-CD2xs1nk.js.map +0 -1
- package/dist/_shared/content-container-CFfYbWoa.js +0 -33
- package/dist/_shared/content-container-CFfYbWoa.js.map +0 -1
- package/dist/_shared/content-container-CReiVugL.cjs +0 -2
- package/dist/_shared/content-container-CReiVugL.cjs.map +0 -1
- package/dist/_shared/copyable-CweQ72QI.cjs +0 -2
- package/dist/_shared/copyable-CweQ72QI.cjs.map +0 -1
- package/dist/_shared/copyable-JgsTp6ev.js +0 -38
- package/dist/_shared/copyable-JgsTp6ev.js.map +0 -1
- package/dist/_shared/date-picker-DI4b-SeE.cjs +0 -2
- package/dist/_shared/date-picker-DI4b-SeE.cjs.map +0 -1
- package/dist/_shared/date-picker-DTazvODY.js +0 -1352
- package/dist/_shared/date-picker-DTazvODY.js.map +0 -1
- package/dist/_shared/date-pickers-CLzuzmuc.cjs +0 -2
- package/dist/_shared/date-pickers-CLzuzmuc.cjs.map +0 -1
- package/dist/_shared/date-pickers-CWPxP3zy.js +0 -330
- package/dist/_shared/date-pickers-CWPxP3zy.js.map +0 -1
- package/dist/_shared/dialog-2MJmaj_d.js +0 -101
- package/dist/_shared/dialog-2MJmaj_d.js.map +0 -1
- package/dist/_shared/dialog-KKD0i1T8.cjs +0 -2
- package/dist/_shared/dialog-KKD0i1T8.cjs.map +0 -1
- package/dist/_shared/display-BCy1Ti7T.cjs +0 -8
- package/dist/_shared/display-BCy1Ti7T.cjs.map +0 -1
- package/dist/_shared/display-DUpkE2aS.js +0 -1462
- package/dist/_shared/display-DUpkE2aS.js.map +0 -1
- package/dist/_shared/dropdown-menu-BebBffUH.cjs +0 -2
- package/dist/_shared/dropdown-menu-BebBffUH.cjs.map +0 -1
- package/dist/_shared/dropdown-menu-xdGEynC8.js +0 -147
- package/dist/_shared/dropdown-menu-xdGEynC8.js.map +0 -1
- package/dist/_shared/form-field-rOj3cm6C.js +0 -319
- package/dist/_shared/form-field-rOj3cm6C.js.map +0 -1
- package/dist/_shared/form-field-rcyIIHjR.cjs +0 -2
- package/dist/_shared/form-field-rcyIIHjR.cjs.map +0 -1
- package/dist/_shared/form-sizing--bs_xPe2.cjs +0 -2
- package/dist/_shared/form-sizing--bs_xPe2.cjs.map +0 -1
- package/dist/_shared/form-sizing-CkKcs5fi.js +0 -21
- package/dist/_shared/form-sizing-CkKcs5fi.js.map +0 -1
- package/dist/_shared/format-BlVEsPyT.js +0 -48
- package/dist/_shared/format-BlVEsPyT.js.map +0 -1
- package/dist/_shared/format-DYVtSA2I.cjs +0 -2
- package/dist/_shared/format-DYVtSA2I.cjs.map +0 -1
- package/dist/_shared/forms-BAVsxxRk.js +0 -3374
- package/dist/_shared/forms-BAVsxxRk.js.map +0 -1
- package/dist/_shared/forms-DaZ3LsYc.cjs +0 -2
- package/dist/_shared/forms-DaZ3LsYc.cjs.map +0 -1
- package/dist/_shared/header-BtTMsQ5P.cjs +0 -2
- package/dist/_shared/header-BtTMsQ5P.cjs.map +0 -1
- package/dist/_shared/header-DpW4UWV6.js +0 -369
- package/dist/_shared/header-DpW4UWV6.js.map +0 -1
- package/dist/_shared/hooks-Bsm917yh.cjs +0 -2
- package/dist/_shared/hooks-Bsm917yh.cjs.map +0 -1
- package/dist/_shared/hooks-CX-SICd4.js +0 -118
- package/dist/_shared/hooks-CX-SICd4.js.map +0 -1
- package/dist/_shared/icon-badge-DGKpbo9_.cjs +0 -2
- package/dist/_shared/icon-badge-DGKpbo9_.cjs.map +0 -1
- package/dist/_shared/icon-badge-DoClA_9q.js +0 -52
- package/dist/_shared/icon-badge-DoClA_9q.js.map +0 -1
- package/dist/_shared/input-BXt-YtVs.cjs +0 -2
- package/dist/_shared/input-BXt-YtVs.cjs.map +0 -1
- package/dist/_shared/input-Bx4LeLhn.js +0 -17
- package/dist/_shared/input-Bx4LeLhn.js.map +0 -1
- package/dist/_shared/input-ChZGIhtS.cjs +0 -2
- package/dist/_shared/input-ChZGIhtS.cjs.map +0 -1
- package/dist/_shared/input-Cwv1-5jt.js +0 -182
- package/dist/_shared/input-Cwv1-5jt.js.map +0 -1
- package/dist/_shared/item-BmTYKzEb.js +0 -224
- package/dist/_shared/item-BmTYKzEb.js.map +0 -1
- package/dist/_shared/item-BtR-bz96.cjs +0 -2
- package/dist/_shared/item-BtR-bz96.cjs.map +0 -1
- package/dist/_shared/mentions-DVCjaO_z.cjs +0 -2
- package/dist/_shared/mentions-DVCjaO_z.cjs.map +0 -1
- package/dist/_shared/mentions-DzG8mX5H.js +0 -493
- package/dist/_shared/mentions-DzG8mX5H.js.map +0 -1
- package/dist/_shared/money-display-B5oxCs_0.cjs +0 -2
- package/dist/_shared/money-display-B5oxCs_0.cjs.map +0 -1
- package/dist/_shared/money-display-C0wI02ou.js +0 -198
- package/dist/_shared/money-display-C0wI02ou.js.map +0 -1
- package/dist/_shared/navigation-BA2nsTgU.cjs +0 -2
- package/dist/_shared/navigation-BA2nsTgU.cjs.map +0 -1
- package/dist/_shared/navigation-DHyaf-RZ.js +0 -420
- package/dist/_shared/navigation-DHyaf-RZ.js.map +0 -1
- package/dist/_shared/overlays-Kl6Gp6WR.js +0 -633
- package/dist/_shared/overlays-Kl6Gp6WR.js.map +0 -1
- package/dist/_shared/overlays-W6j-Pe1L.cjs +0 -2
- package/dist/_shared/overlays-W6j-Pe1L.cjs.map +0 -1
- package/dist/_shared/page-DROZhtWT.js +0 -263
- package/dist/_shared/page-DROZhtWT.js.map +0 -1
- package/dist/_shared/page-lh9Rcx_d.cjs +0 -2
- package/dist/_shared/page-lh9Rcx_d.cjs.map +0 -1
- package/dist/_shared/popover-BTEwjJZS.cjs +0 -2
- package/dist/_shared/popover-BTEwjJZS.cjs.map +0 -1
- package/dist/_shared/popover-CF9VWt-l.js +0 -83
- package/dist/_shared/popover-CF9VWt-l.js.map +0 -1
- package/dist/_shared/popover-menu-BYesl29w.js +0 -95
- package/dist/_shared/popover-menu-BYesl29w.js.map +0 -1
- package/dist/_shared/popover-menu-DF9sWz61.cjs +0 -2
- package/dist/_shared/popover-menu-DF9sWz61.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-UZghkgsh.cjs +0 -2
- package/dist/_shared/rich-text-editor-UZghkgsh.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-fUeuK-rY.js +0 -608
- package/dist/_shared/rich-text-editor-fUeuK-rY.js.map +0 -1
- package/dist/_shared/scroll-area-XJLcCczs.js +0 -41
- package/dist/_shared/scroll-area-XJLcCczs.js.map +0 -1
- package/dist/_shared/scroll-area-y8ZJoS97.cjs +0 -2
- package/dist/_shared/scroll-area-y8ZJoS97.cjs.map +0 -1
- package/dist/_shared/select-D8MYF4f7.js +0 -85
- package/dist/_shared/select-D8MYF4f7.js.map +0 -1
- package/dist/_shared/select-DxAiUfpM.cjs +0 -2
- package/dist/_shared/select-DxAiUfpM.cjs.map +0 -1
- package/dist/_shared/separator-BazqiQ9s.js +0 -16
- package/dist/_shared/separator-BazqiQ9s.js.map +0 -1
- package/dist/_shared/separator-DSkXMOXq.cjs +0 -2
- package/dist/_shared/separator-DSkXMOXq.cjs.map +0 -1
- package/dist/_shared/sheet-7iHOs-IU.js +0 -100
- package/dist/_shared/sheet-7iHOs-IU.js.map +0 -1
- package/dist/_shared/sheet-qKtoyxgi.cjs +0 -2
- package/dist/_shared/sheet-qKtoyxgi.cjs.map +0 -1
- package/dist/_shared/sidebar-CaTUJ3t-.js +0 -537
- package/dist/_shared/sidebar-CaTUJ3t-.js.map +0 -1
- package/dist/_shared/sidebar-DVjfsm-f.cjs +0 -2
- package/dist/_shared/sidebar-DVjfsm-f.cjs.map +0 -1
- package/dist/_shared/sidebar-aV5DVAVg.js +0 -371
- package/dist/_shared/sidebar-aV5DVAVg.js.map +0 -1
- package/dist/_shared/sidebar-mL0jSJ8u.cjs +0 -2
- package/dist/_shared/sidebar-mL0jSJ8u.cjs.map +0 -1
- package/dist/_shared/skeleton-Bwv_j9jJ.cjs +0 -2
- package/dist/_shared/skeleton-Bwv_j9jJ.cjs.map +0 -1
- package/dist/_shared/skeleton-DyKa-Ed-.js +0 -14
- package/dist/_shared/skeleton-DyKa-Ed-.js.map +0 -1
- package/dist/_shared/slot-ClIPTht1.cjs +0 -2
- package/dist/_shared/slot-ClIPTht1.cjs.map +0 -1
- package/dist/_shared/slot-CrS_VEVl.js +0 -18
- package/dist/_shared/slot-CrS_VEVl.js.map +0 -1
- package/dist/_shared/smart-card-Ddsjvf7r.cjs +0 -2
- package/dist/_shared/smart-card-Ddsjvf7r.cjs.map +0 -1
- package/dist/_shared/smart-card-hJ01usWt.js +0 -360
- package/dist/_shared/smart-card-hJ01usWt.js.map +0 -1
- package/dist/_shared/spinner-D-pcMBt1.js +0 -67
- package/dist/_shared/spinner-D-pcMBt1.js.map +0 -1
- package/dist/_shared/spinner-zbmhn0vE.cjs +0 -2
- package/dist/_shared/spinner-zbmhn0vE.cjs.map +0 -1
- package/dist/_shared/switch-C5J37LMI.cjs +0 -2
- package/dist/_shared/switch-C5J37LMI.cjs.map +0 -1
- package/dist/_shared/switch-ClGgHcEb.js +0 -51
- package/dist/_shared/switch-ClGgHcEb.js.map +0 -1
- package/dist/_shared/textarea-DeISZfHw.js +0 -119
- package/dist/_shared/textarea-DeISZfHw.js.map +0 -1
- package/dist/_shared/textarea-iR9txrty.cjs +0 -2
- package/dist/_shared/textarea-iR9txrty.cjs.map +0 -1
- package/dist/_shared/tooltip-CEqxHWxQ.js +0 -49
- package/dist/_shared/tooltip-CEqxHWxQ.js.map +0 -1
- package/dist/_shared/tooltip-DPv0LGr9.cjs +0 -2
- package/dist/_shared/tooltip-DPv0LGr9.cjs.map +0 -1
- package/dist/_shared/typography-BtPQBvSm.js +0 -135
- package/dist/_shared/typography-BtPQBvSm.js.map +0 -1
- package/dist/_shared/typography-DClleVWi.cjs +0 -2
- package/dist/_shared/typography-DClleVWi.cjs.map +0 -1
- package/dist/showcase/assets/AreaChart-D-RqNtqG.js +0 -6
- package/dist/showcase/assets/CSPContext-t69BXyB7.js +0 -1
- package/dist/showcase/assets/CompositeItem-DHNLgEeV.js +0 -1
- package/dist/showcase/assets/CompositeRoot-xq_0ZFev.js +0 -1
- package/dist/showcase/assets/DialogTrigger-Cl7n_3xX.js +0 -1
- package/dist/showcase/assets/FormContext-CXdwDz7F.js +0 -1
- package/dist/showcase/assets/PreviewLayout-BHemtKEf.js +0 -1
- package/dist/showcase/assets/RadioGroup-DXAt4VZN.js +0 -1
- package/dist/showcase/assets/Separator-C9vXwWmZ.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-iF4ctnIz.js +0 -1
- package/dist/showcase/assets/accordion-DzkNgNcB.js +0 -172
- package/dist/showcase/assets/accordion-variants-DP5-oxLe.js +0 -1
- package/dist/showcase/assets/action-menu-CyA2e9TF.js +0 -1
- package/dist/showcase/assets/activities-Dt-dO5ew.js +0 -501
- package/dist/showcase/assets/activities-feed-card-DZdFekXl.js +0 -1
- package/dist/showcase/assets/admin-C2SeJmE7.js +0 -80
- package/dist/showcase/assets/ai-Cwo0h_Xn.js +0 -41
- package/dist/showcase/assets/ai-artifact-3UJofyU5.js +0 -2
- package/dist/showcase/assets/ai-chat-CrFtG_Vg.js +0 -568
- package/dist/showcase/assets/ai-elements-iJ15Y7pS.js +0 -379
- package/dist/showcase/assets/ai-new-DuznZydd.js +0 -167
- package/dist/showcase/assets/ai-tool-call-CTcGGAQU.js +0 -1
- package/dist/showcase/assets/alert-CUGGckOX.js +0 -1
- package/dist/showcase/assets/alert-tWped3Sw.js +0 -59
- package/dist/showcase/assets/api-key-list-Q5LAqzMn.js +0 -73
- package/dist/showcase/assets/arrow-down-CfwCPcHL.js +0 -1
- package/dist/showcase/assets/arrow-left-BKx9qNX6.js +0 -1
- package/dist/showcase/assets/arrow-right-DlEpbqEk.js +0 -1
- package/dist/showcase/assets/arrow-up-BYQ4F9L1.js +0 -1
- package/dist/showcase/assets/arrow-up-right-C8r6vYfE.js +0 -1
- package/dist/showcase/assets/avatar-BuZ3zTbH.js +0 -57
- package/dist/showcase/assets/avatar-DR2mqPpY.js +0 -1
- package/dist/showcase/assets/badge-D1HLfP93.js +0 -28
- package/dist/showcase/assets/badge-check-oP2z_95u.js +0 -1
- package/dist/showcase/assets/bell-BTX2D-ES.js +0 -1
- package/dist/showcase/assets/bot-CKh5XgUG.js +0 -1
- package/dist/showcase/assets/box-F1uaZ6iw.js +0 -1
- package/dist/showcase/assets/brain-dD_ppLUa.js +0 -1
- package/dist/showcase/assets/brand-zisZOFKf.js +0 -40
- package/dist/showcase/assets/breadcrumb-C7vv0L8K.js +0 -52
- package/dist/showcase/assets/breadcrumb-fay5sLba.js +0 -1
- package/dist/showcase/assets/breadcrumbs-DklRXepp.js +0 -1
- package/dist/showcase/assets/briefcase-D9M4aNmi.js +0 -1
- package/dist/showcase/assets/button-DbhXfR1N.js +0 -44
- package/dist/showcase/assets/button-group-BpdhyMif.js +0 -1
- package/dist/showcase/assets/buttons-XexbmUtN.js +0 -259
- package/dist/showcase/assets/calendar-BADJgjpI.js +0 -16
- package/dist/showcase/assets/calendar-Djh3xLVx.js +0 -1
- package/dist/showcase/assets/calendar-dWZ2-0gU.js +0 -1
- package/dist/showcase/assets/card-BUSAPPkx.js +0 -1
- package/dist/showcase/assets/cards-DHBPe01w.js +0 -328
- package/dist/showcase/assets/chart-column-6l5wIZ0h.js +0 -1
- package/dist/showcase/assets/chevron-down-at2vrt1V.js +0 -1
- package/dist/showcase/assets/chevron-left-DIs3WYNO.js +0 -1
- package/dist/showcase/assets/chevron-right-BNy0Or0x.js +0 -1
- package/dist/showcase/assets/chevron-up-CX7619BJ.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-Be6eciau.js +0 -1
- package/dist/showcase/assets/circle-C0Yd1DDS.js +0 -1
- package/dist/showcase/assets/circle-alert-DfQp_X3_.js +0 -1
- package/dist/showcase/assets/circle-check-BkqQe1tv.js +0 -1
- package/dist/showcase/assets/circle-check-big-BXxHUhuc.js +0 -1
- package/dist/showcase/assets/circle-dot-HeRgxZxN.js +0 -1
- package/dist/showcase/assets/circle-question-mark-BgS4fb6N.js +0 -1
- package/dist/showcase/assets/circle-x-CMzwDsaf.js +0 -1
- package/dist/showcase/assets/clock-ynCzs_rR.js +0 -1
- package/dist/showcase/assets/code-xml-B8aVstrJ.js +0 -1
- package/dist/showcase/assets/collapsible-C8CKdiRn.js +0 -27
- package/dist/showcase/assets/collapsible-u43HxDHB.js +0 -1
- package/dist/showcase/assets/combobox-D-6ff0VG.js +0 -622
- package/dist/showcase/assets/command-BsHudlBe.js +0 -1
- package/dist/showcase/assets/command-DZqmBolX.js +0 -45
- package/dist/showcase/assets/comment-composer-OnxlkC5y.js +0 -1
- package/dist/showcase/assets/comment-item-DmZ1AJ2Y.js +0 -1
- package/dist/showcase/assets/comments-BjIVksjE.js +0 -349
- package/dist/showcase/assets/commerce-3T1GxvrA.js +0 -78
- package/dist/showcase/assets/commerce-extras-CYv_uRQR.js +0 -179
- package/dist/showcase/assets/composite-mol0-2zZ.js +0 -1
- package/dist/showcase/assets/contact-card-CWAANJqn.js +0 -65
- package/dist/showcase/assets/content-container-D3Phw6h8.js +0 -1
- package/dist/showcase/assets/copyable-BdzUH3U3.js +0 -96
- package/dist/showcase/assets/course-card-Cb6Y2vJ6.js +0 -113
- package/dist/showcase/assets/cpu-CRrekbGQ.js +0 -1
- package/dist/showcase/assets/credit-card--5vg7bQy.js +0 -1
- package/dist/showcase/assets/currency-VuqnKj_Y.js +0 -149
- package/dist/showcase/assets/dark-surfaces-DEyBimFz.js +0 -90
- package/dist/showcase/assets/database-Bnvw0wVV.js +0 -1
- package/dist/showcase/assets/date-block-IhoCVl_d.js +0 -1
- package/dist/showcase/assets/date-picker-DnJpsnaF.js +0 -1
- package/dist/showcase/assets/date-pickers-CEbieq-R.js +0 -110
- package/dist/showcase/assets/dense-info-B04QmrOd.js +0 -106
- package/dist/showcase/assets/dialog-DotEO3IO.js +0 -1
- package/dist/showcase/assets/display-hK7Dtm-B.js +0 -392
- package/dist/showcase/assets/dist-DQgGKvzA.js +0 -1
- package/dist/showcase/assets/dollar-sign-gJtl-XaL.js +0 -1
- package/dist/showcase/assets/download-CMrNgeil.js +0 -1
- package/dist/showcase/assets/dropdown-menu-Cqv6D7Sb.js +0 -1
- package/dist/showcase/assets/dropzone-v69fWHZJ.js +0 -1
- package/dist/showcase/assets/ellipsis-CgqPlt6Z.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-CiJqC0n2.js +0 -1
- package/dist/showcase/assets/empty-DYHzk-Gb.js +0 -1
- package/dist/showcase/assets/empty-item-CTwvC_3M.js +0 -49
- package/dist/showcase/assets/empty-state-eUgJ4h41.js +0 -188
- package/dist/showcase/assets/enhanced-activities-XU2u5gO6.js +0 -359
- package/dist/showcase/assets/esm-B7xAMXnv.js +0 -2
- package/dist/showcase/assets/event-calendar-D2rjpzq1.js +0 -138
- package/dist/showcase/assets/event-log-BxER62Ds.js +0 -326
- package/dist/showcase/assets/example-DPfw-R7_.js +0 -1
- package/dist/showcase/assets/external-link-DJNGkjZ0.js +0 -1
- package/dist/showcase/assets/eye-BQU3UqWi.js +0 -1
- package/dist/showcase/assets/feature-announcement-CjGQEODB.js +0 -34
- package/dist/showcase/assets/file-DBpbC8g-.js +0 -1
- package/dist/showcase/assets/file-text-DokBif5V.js +0 -1
- package/dist/showcase/assets/filters-DM2olMKy.js +0 -78
- package/dist/showcase/assets/flag-hAuZbHU1.js +0 -1
- package/dist/showcase/assets/folder-open-DqubQ0ts.js +0 -1
- package/dist/showcase/assets/form-sizing-CfbZF8Ja.js +0 -1
- package/dist/showcase/assets/format-gCABLair.js +0 -1
- package/dist/showcase/assets/forms-FsAT0C-I.js +0 -790
- package/dist/showcase/assets/generic-BUuo7j09.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-l8uxcPNL.js +0 -1
- package/dist/showcase/assets/gift-CS7Tg3kD.js +0 -1
- package/dist/showcase/assets/giftcard-cards-h1ffLs9F.js +0 -85
- package/dist/showcase/assets/git-branch-D4-6vv6t.js +0 -1
- package/dist/showcase/assets/global-search-BUyhhsQv.js +0 -90
- package/dist/showcase/assets/globe-CqLYhUfl.js +0 -1
- package/dist/showcase/assets/gradient-card-Bwr9OLIL.js +0 -58
- package/dist/showcase/assets/header-notifications-BWla1yhM.js +0 -1
- package/dist/showcase/assets/heart-DfZtXfIP.js +0 -1
- package/dist/showcase/assets/house-DhIReDt8.js +0 -1
- package/dist/showcase/assets/icon-badge-BgRFYZEc.js +0 -1
- package/dist/showcase/assets/image-D_eNEZWQ.js +0 -1
- package/dist/showcase/assets/inbox-5sFkO7gC.js +0 -1
- package/dist/showcase/assets/index-B-Z7p0So.js +0 -10
- package/dist/showcase/assets/inertValue-NU_Amr-x.js +0 -1
- package/dist/showcase/assets/info-DyB6KH3Z.js +0 -1
- package/dist/showcase/assets/inline-stat-D2aaM1Vt.js +0 -1
- package/dist/showcase/assets/input-BS64kyoq.js +0 -1
- package/dist/showcase/assets/input-DWLyniGt.js +0 -1
- package/dist/showcase/assets/input-group-BS8j5Eek.js +0 -47
- package/dist/showcase/assets/input-group-B_E_3EGS.js +0 -1
- package/dist/showcase/assets/inputs-DOQ2foig.js +0 -49
- package/dist/showcase/assets/invoice-header-C2-uQE_s.js +0 -36
- package/dist/showcase/assets/invoice-items-BUunRJqA.js +0 -36
- package/dist/showcase/assets/invoice-mini-BrLMrzN6.js +0 -14
- package/dist/showcase/assets/invoice-table-CaB9Z8jI.js +0 -30
- package/dist/showcase/assets/isSameDay-rwvIyLOL.js +0 -1
- package/dist/showcase/assets/isToday-CIAzBrb5.js +0 -1
- package/dist/showcase/assets/italic-B02a4PdD.js +0 -1
- package/dist/showcase/assets/item-C-0RObvI.js +0 -117
- package/dist/showcase/assets/item-CCu0Ufaq.js +0 -1
- package/dist/showcase/assets/item-DF4m_56j.js +0 -1
- package/dist/showcase/assets/kanban-BgW23a7P.js +0 -175
- package/dist/showcase/assets/label-MdV7pglj.js +0 -1
- package/dist/showcase/assets/layout-containers-nKVReEJB.js +0 -96
- package/dist/showcase/assets/layout-header-CKyxHHPC.js +0 -170
- package/dist/showcase/assets/layout-page-ClD2yMnK.js +0 -122
- package/dist/showcase/assets/layout-sidebar-jdQnYDiT.js +0 -224
- package/dist/showcase/assets/layout-users-Cv849xnU.js +0 -104
- package/dist/showcase/assets/lib-BHW4JERQ.js +0 -1
- package/dist/showcase/assets/lock-B8bfl9sZ.js +0 -1
- package/dist/showcase/assets/mail-DmOBTX4I.js +0 -1
- package/dist/showcase/assets/map-ButgRl8f.js +0 -124
- package/dist/showcase/assets/map-pin-o3egisLq.js +0 -1
- package/dist/showcase/assets/menus-DdXgYKVA.js +0 -89
- package/dist/showcase/assets/message-square-Bl6P4TA0.js +0 -1
- package/dist/showcase/assets/metadata-list-aXo96h_U.js +0 -278
- package/dist/showcase/assets/metric-BLHKuZtE.js +0 -1
- package/dist/showcase/assets/metric-grid-6Dpj5eV3.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-m389ipmG.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-B-1IUlHf.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-B8tvK_RB.js +0 -77
- package/dist/showcase/assets/metrics-comparison-DKJ7Js3F.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-BlRnJoI0.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-COI7f64X.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-LRfmKhsy.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-DmqIQVVR.js +0 -42
- package/dist/showcase/assets/metrics-overview-Dbf5RM2k.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-D5oevQvv.js +0 -54
- package/dist/showcase/assets/minus-D-jmUi0G.js +0 -1
- package/dist/showcase/assets/money-display-C__61373.js +0 -1
- package/dist/showcase/assets/month-year-picker-BfBQePUY.js +0 -1
- package/dist/showcase/assets/navigation-DUAe-sQV.js +0 -86
- package/dist/showcase/assets/navigation-extras-itSAf6QT.js +0 -43
- package/dist/showcase/assets/navigation-fAOvwIlP.js +0 -230
- package/dist/showcase/assets/onboarding-checklist-1gmzk3_J.js +0 -119
- package/dist/showcase/assets/overlays-BMTBOIEI.js +0 -88
- package/dist/showcase/assets/overlays-Lu16yJWM.js +0 -393
- package/dist/showcase/assets/package-BIa1hPVQ.js +0 -1
- package/dist/showcase/assets/page-action-button-C5NiQHnP.js +0 -1
- package/dist/showcase/assets/page-header-Cwf9DuhD.js +0 -1
- package/dist/showcase/assets/pagination-9iSNmdCx.js +0 -1
- package/dist/showcase/assets/pagination-MjniF-7j.js +0 -42
- package/dist/showcase/assets/paperclip-CaNLUOIA.js +0 -1
- package/dist/showcase/assets/pencil-DTLGPoc_.js +0 -1
- package/dist/showcase/assets/phone-XvU6LndA.js +0 -1
- package/dist/showcase/assets/plus-BDSCn8ol.js +0 -1
- package/dist/showcase/assets/popover-CvhuubS6.js +0 -1
- package/dist/showcase/assets/popover-DUQqLZN2.js +0 -1
- package/dist/showcase/assets/popover-menu-DVGBuFpL.js +0 -1
- package/dist/showcase/assets/progress-BQopCRpV.js +0 -1
- package/dist/showcase/assets/progress-CvSUR260.js +0 -18
- package/dist/showcase/assets/props-table-BzUnIcv-.js +0 -1
- package/dist/showcase/assets/quote-D55lkoXn.js +0 -1
- package/dist/showcase/assets/receipt-D3ilhl9U.js +0 -1
- package/dist/showcase/assets/refresh-cw-Csl2LQ4l.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-CM5i142y.js +0 -1
- package/dist/showcase/assets/rich-text-editor-Bz7jWvPv.js +0 -124
- package/dist/showcase/assets/rich-text-editor-DWKFpgNI.js +0 -141
- package/dist/showcase/assets/rotate-ccw-BnkpK7eq.js +0 -1
- package/dist/showcase/assets/scroll-area-BTVLd58j.js +0 -1
- package/dist/showcase/assets/scroll-area-CgFEDepJ.js +0 -32
- package/dist/showcase/assets/select-B7-tZDlG.js +0 -1
- package/dist/showcase/assets/send-BhjEdZ06.js +0 -1
- package/dist/showcase/assets/separator-CJayjKGP.js +0 -28
- package/dist/showcase/assets/separator-CZ_sPWQj.js +0 -1
- package/dist/showcase/assets/settings-Duj7gAZe.js +0 -1
- package/dist/showcase/assets/sheet-BMabZ_Gj.js +0 -1
- package/dist/showcase/assets/shield-C22sWOf4.js +0 -1
- package/dist/showcase/assets/shield-alert-DgZ6UO46.js +0 -1
- package/dist/showcase/assets/shield-check-jGSgmijm.js +0 -1
- package/dist/showcase/assets/shopping-bag-Cd09Ga6D.js +0 -1
- package/dist/showcase/assets/sidebar.context-CXTHS3vn.js +0 -1
- package/dist/showcase/assets/skeleton-Dmp4eC1A.js +0 -1
- package/dist/showcase/assets/skeleton-FLNbc7QP.js +0 -29
- package/dist/showcase/assets/smart-card-50WN9sCI.js +0 -1
- package/dist/showcase/assets/sonner-DR_DYpqb.js +0 -22
- package/dist/showcase/assets/sortable.esm-C_l8_Iqt.js +0 -5
- package/dist/showcase/assets/sparkles-C-fyahzv.js +0 -1
- package/dist/showcase/assets/spinner-B8jgVQNj.js +0 -30
- package/dist/showcase/assets/spinner-C4zPRpI0.js +0 -49
- package/dist/showcase/assets/spinner-DFjHsQlR.js +0 -1
- package/dist/showcase/assets/square-pen-Dp7lCfI3.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CTckbUiW.js +0 -1
- package/dist/showcase/assets/star-l00ivfkD.js +0 -1
- package/dist/showcase/assets/startOfDay-Xmododib.js +0 -1
- package/dist/showcase/assets/styles-zuwR0q1z.js +0 -1
- package/dist/showcase/assets/switch-D3LrIrTQ.js +0 -1
- package/dist/showcase/assets/switch-ylXVyh_N.js +0 -1
- package/dist/showcase/assets/table-Cn3-19zb.js +0 -1
- package/dist/showcase/assets/table-ao3IcAnF.js +0 -390
- package/dist/showcase/assets/tabs-CTLQKtiu.js +0 -19
- package/dist/showcase/assets/tabs-lc1fX94A.js +0 -1
- package/dist/showcase/assets/text-button-Fu8UY1A8.js +0 -1
- package/dist/showcase/assets/text-link--EyGasJN.js +0 -1
- package/dist/showcase/assets/textarea-BdhnlNrF.js +0 -1
- package/dist/showcase/assets/textarea-D1kG3a9B.js +0 -1
- package/dist/showcase/assets/timelines-DF3tNgyG.js +0 -186
- package/dist/showcase/assets/toggle-group-CfxuWsv9.js +0 -1
- package/dist/showcase/assets/toggles-CacdBPlV.js +0 -71
- package/dist/showcase/assets/toggles-group-CRhgTGmL.js +0 -32
- package/dist/showcase/assets/trash-2-B0_GprQM.js +0 -1
- package/dist/showcase/assets/trending-up-B202l1b6.js +0 -1
- package/dist/showcase/assets/truck-Bl1pNrHi.js +0 -1
- package/dist/showcase/assets/typography-DEtOxBlR.js +0 -214
- package/dist/showcase/assets/ui-badge-n4RA0J5b.js +0 -28
- package/dist/showcase/assets/ui-card-Ck-kzrTh.js +0 -30
- package/dist/showcase/assets/ui-table-gzOp82pf.js +0 -42
- package/dist/showcase/assets/upload-tray-VvKdTZSi.js +0 -138
- package/dist/showcase/assets/useAnchoredPopupScrollLock-Cu2ZwN7Z.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-C6_cdQ7B.js +0 -1
- package/dist/showcase/assets/useCompositeItem-BfUPqXoj.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-Cf2lpKB8.js +0 -1
- package/dist/showcase/assets/useControlled-C6q3nmcf.js +0 -1
- package/dist/showcase/assets/useLabelableId-CfPT16c1.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CGeqRuuY.js +0 -1
- package/dist/showcase/assets/useRender-CoUlh0uZ.js +0 -1
- package/dist/showcase/assets/useRole-DSPUSyVX.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-BwZ1HD24.js +0 -1
- package/dist/showcase/assets/useValueChanged-Dej794I1.js +0 -1
- package/dist/showcase/assets/user-3L762Mec.js +0 -1
- package/dist/showcase/assets/user-plus-9WRYjS04.js +0 -1
- package/dist/showcase/assets/users-CxKZ7gt8.js +0 -1
- package/dist/showcase/assets/vendor-profile-BaCptdMF.js +0 -37
- package/dist/showcase/assets/wrench-Duh91tnW.js +0 -1
- package/dist/showcase/assets/x-t42iKYpL.js +0 -1
- package/dist/showcase/assets/zap-D0z3Tv_L.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","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"],"sourcesContent":["import { Text } from '@/components/typography/text';\nimport Heading from '@/components/typography/heading';\nimport { IconBadge, InlineStat } from '@/components/base/display';\nimport { Separator } from '@/components/base/display/separator';\nimport { Badge } from '@/components/base/badge/badge';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\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', 'rounded-xl bg-card shadow-sm overflow-hidden', className)}>\n {/* Header row */}\n <div className=\"grid grid-cols-[1fr_80px_100px_100px] gap-4 bg-muted/50 px-6 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_80px_100px_100px] items-center gap-4 px-6 py-4\">\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-6 !w-auto\" />}\n </div>\n ))}\n\n {/* Totals */}\n {!!(subtotal || tax || discount || total) && (\n <div className=\"border-t border-border bg-muted/30 px-6 py-4 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\" 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={<Heading tag=\"h5\" className=\"text-base tabular-nums border-none pb-0\">{total}</Heading>}\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('space-y-2', className)}>\n <ItemGroup>\n {items.map((item) => (\n <Item key={item.id} className=\"bg-card shadow-sm\">\n <ItemMedia>\n <IconBadge tone=\"muted\" size=\"sm\" shape=\"square\">\n {item.icon ?? <Package />}\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>\n {item.title}\n {!!item.badge && (\n <Badge variant={item.badgeVariant ?? 'secondary'}>\n {item.badge}\n </Badge>\n )}\n </ItemTitle>\n {!!item.description && <ItemDescription clamp={1}>{item.description}</ItemDescription>}\n </ItemContent>\n <ItemActions>\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\" 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 bg-primary/5 px-4 py-3\"\n label=\"Total\"\n value={<Heading tag=\"h5\" className=\"text-base tabular-nums border-none pb-0\">{total}</Heading>}\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('rounded-xl bg-card shadow-sm overflow-hidden', className)}>\n <div className=\"divide-y divide-border\">\n {items.map((item) => (\n <div key={item.id} className=\"px-6 py-4\">\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=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/5 text-primary mt-0.5\">\n {item.icon ?? <Package className=\"h-5 w-5\" />}\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 size=\"base\" 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-6 py-4\">\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={<Heading tag=\"h4\" className=\"text-xl tabular-nums border-none pb-0\">{total}</Heading>}\n labelClassName=\"text-base 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';\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?: Partial<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=\"sm\" className={cn('invoice-mini--component', className)}>\n\t\t\t<div className=\"space-y-2.5\">\n\t\t\t\t<div className=\"flex items-center justify-between gap-3\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"font-mono tracking-wide truncate\"\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 variant={invoiceStatusVariant[invoice.status]} dot>\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 items-end justify-between gap-3 pt-1\">\n\t\t\t\t\t<div className=\"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=\"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=\"lg\"\n\t\t\t\t\t\tweight=\"bold\"\n\t\t\t\t\t\tclassName={cn('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';\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?: Partial<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/base/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';\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?: Partial<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 = 'ring-1 ring-border/50 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: 'Description',\n\t\t\twidth: '1fr',\n\t\t\tcell: (item) => <Text>{item.description}</Text>,\n\t\t},\n\t\t{\n\t\t\tid: 'qty',\n\t\t\theader: 'Qty',\n\t\t\twidth: '60px',\n\t\t\talign: 'left',\n\t\t\tcell: (item) => <Text 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: '90px',\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: '90px',\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', 'overflow-hidden rounded-3xl bg-card', wrapperGlass, className)}>\n\t\t\t{/* Header */}\n\t\t\t<div\n\t\t\t\tclassName=\"grid gap-2 bg-muted/50 px-5 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',\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=\"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 gap-2 px-5 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 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-5 py-4\">\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/base/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=\"text-lg font-bold tabular-nums border-none pb-0\">\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\">\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=\"xs\" className=\"px-0\">\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/base/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=\"xs\" className=\"px-0\">\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-bold\"\n\t\t\t\t\t\tvalueClassName=\"text-base font-bold\"\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=\"sm\"\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\">•</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/base/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/15 text-success' : 'bg-destructive/15 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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","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"],"sourcesContent":["import { Text } from '@/components/typography/text';\nimport Heading from '@/components/typography/heading';\nimport { IconBadge, InlineStat } from '@/components/base/display';\nimport { Separator } from '@/components/base/display/separator';\nimport { Badge } from '@/components/base/badge/badge';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\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', 'rounded-xl bg-card shadow-sm overflow-hidden', className)}>\n {/* Header row */}\n <div className=\"grid grid-cols-[1fr_80px_100px_100px] gap-4 bg-muted/50 px-6 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_80px_100px_100px] items-center gap-4 px-6 py-4\">\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-6 !w-auto\" />}\n </div>\n ))}\n\n {/* Totals */}\n {!!(subtotal || tax || discount || total) && (\n <div className=\"border-t border-border bg-muted/30 px-6 py-4 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\" 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={<Heading tag=\"h5\" className=\"text-base tabular-nums border-none pb-0\">{total}</Heading>}\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('space-y-2', className)}>\n <ItemGroup>\n {items.map((item) => (\n <Item key={item.id} className=\"bg-card shadow-sm\">\n <ItemMedia>\n <IconBadge tone=\"muted\" size=\"sm\" shape=\"square\">\n {item.icon ?? <Package />}\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>\n {item.title}\n {!!item.badge && (\n <Badge variant={item.badgeVariant ?? 'secondary'}>\n {item.badge}\n </Badge>\n )}\n </ItemTitle>\n {!!item.description && <ItemDescription clamp={1}>{item.description}</ItemDescription>}\n </ItemContent>\n <ItemActions>\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\" 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 bg-primary/5 px-4 py-3\"\n label=\"Total\"\n value={<Heading tag=\"h5\" className=\"text-base tabular-nums border-none pb-0\">{total}</Heading>}\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('rounded-xl bg-card shadow-sm overflow-hidden', className)}>\n <div className=\"divide-y divide-border\">\n {items.map((item) => (\n <div key={item.id} className=\"px-6 py-4\">\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=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/5 text-primary mt-0.5\">\n {item.icon ?? <Package className=\"h-5 w-5\" />}\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 size=\"base\" 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-6 py-4\">\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={<Heading tag=\"h4\" className=\"text-xl tabular-nums border-none pb-0\">{total}</Heading>}\n labelClassName=\"text-base 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';\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?: Partial<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=\"sm\" className={cn('invoice-mini--component', className)}>\n\t\t\t<div className=\"space-y-2.5\">\n\t\t\t\t<div className=\"flex items-center justify-between gap-3\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"font-mono tracking-wide truncate\"\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 variant={invoiceStatusVariant[invoice.status]} dot>\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 items-end justify-between gap-3 pt-1\">\n\t\t\t\t\t<div className=\"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=\"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=\"lg\"\n\t\t\t\t\t\tweight=\"bold\"\n\t\t\t\t\t\tclassName={cn('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';\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?: Partial<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/base/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';\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?: Partial<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 = 'ring-1 ring-border/50 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: 'Description',\n\t\t\twidth: '1fr',\n\t\t\tcell: (item) => <Text>{item.description}</Text>,\n\t\t},\n\t\t{\n\t\t\tid: 'qty',\n\t\t\theader: 'Qty',\n\t\t\twidth: '60px',\n\t\t\talign: 'left',\n\t\t\tcell: (item) => <Text 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: '90px',\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: '90px',\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', 'overflow-hidden rounded-3xl bg-card', wrapperGlass, className)}>\n\t\t\t{/* Header */}\n\t\t\t<div\n\t\t\t\tclassName=\"grid gap-2 bg-muted/50 px-5 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',\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=\"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 gap-2 px-5 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 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-5 py-4\">\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/base/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=\"text-lg font-bold tabular-nums border-none pb-0\">\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\">\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=\"xs\" className=\"px-0\">\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/base/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=\"xs\" className=\"px-0\">\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-bold\"\n\t\t\t\t\t\tvalueClassName=\"text-base font-bold\"\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=\"sm\"\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\">•</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/base/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/15 text-success' : 'bg-destructive/15 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"],"mappings":"8sBAoBA,SAAgB,EAAkB,CAC9B,QACA,WACA,MACA,WACA,QACA,aACkB,CAClB,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,2BAA4B,+CAAgD,EAAU,UAAzG,EAEI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6EAAf,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,OAAO,kBAAS,OAAW,CAAA,EAC5D,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,OAAO,SAAS,MAAM,kBAAS,MAAU,CAAA,EAC1E,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,OAAO,SAAS,MAAM,iBAAQ,QAAY,CAAA,EAC3E,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,OAAO,SAAS,MAAM,iBAAQ,QAAY,CAAA,CACzE,GAGL,EAAM,KAAK,EAAM,KACd,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,8EAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,iCAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,OAAO,kBAAU,EAAK,MAAa,CAAA,CACxC,CAAC,CAAC,EAAK,QACJ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAK,cAAgB,qBAChC,EAAK,MACF,CAAA,CAEV,GACL,CAAC,CAAC,EAAK,cACJ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,UAAU,wBACtC,EAAK,YACH,CAAA,CAET,IACN,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,MAAM,SAAS,KAAK,YAAY,UAAU,wBAC3C,EAAK,UAAY,EACf,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,MAAM,QAAQ,UAAU,wBACzB,EAAK,WAAa,EAAK,MACrB,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,MAAM,QAAQ,OAAO,WAAW,UAAU,wBAC3C,EAAK,MACH,CAAA,CACL,GACL,EAAM,EAAM,OAAS,IAAK,EAAA,EAAA,KAAC,EAAA,EAAD,CAAW,UAAU,eAAiB,CAAA,CAC/D,CAAA,CA5BI,EAAK,GA4BT,CACR,CAGD,CAAC,EAAE,GAAY,GAAO,GAAY,KAC/B,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kEAAf,CACK,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAY,MAAM,WAAW,MAAO,EAAU,KAAA,GAAK,eAAe,UAAU,eAAe,UAAY,CAAA,CAE1G,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAY,MAAM,WAAW,MAAO,IAAI,IAAY,KAAA,GAAK,eAAe,UAAU,eAAe,uBAAyB,CAAA,CAE7H,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAY,MAAM,MAAM,MAAO,EAAK,KAAA,GAAK,eAAe,UAAU,eAAe,UAAY,CAAA,CAEhG,CAAC,CAAC,IACC,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,EACb,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,UAAU,OACV,MAAM,QACN,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAS,IAAI,KAAK,UAAU,mDAA2C,EAAgB,CAAA,CAC9F,eAAe,wBACjB,CAAA,CACH,CAAA,CAAA,CAEL,GAER,GAMd,SAAgB,EAAoB,CAChC,QACA,QACA,aACkB,CAClB,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,YAAa,EAAU,UAA1C,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SACK,EAAM,IAAK,IACR,EAAA,EAAA,MAAC,EAAA,EAAD,CAAoB,UAAU,6BAA9B,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAW,KAAK,QAAQ,KAAK,KAAK,MAAM,kBACnC,EAAK,OAAQ,EAAA,EAAA,KAAC,EAAA,QAAD,EAAW,CAAA,CACjB,CAAA,CACJ,CAAA,EACZ,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,EACI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,CACK,EAAK,MACL,CAAC,CAAC,EAAK,QACJ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAK,cAAgB,qBAChC,EAAK,MACF,CAAA,CAEJ,CAAA,CAAA,CACX,CAAC,CAAC,EAAK,cAAe,EAAA,EAAA,KAAC,EAAA,EAAD,CAAiB,MAAO,WAAI,EAAK,YAA8B,CAAA,CAC5E,CAAA,CAAA,EACd,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,CACK,CAAC,CAAC,EAAK,UAAY,EAAK,SAAW,IAChC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,UAAU,iCAA3C,CAAmE,IAC7D,EAAK,SACJ,IAEX,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,OAAO,WAAW,UAAU,iCAC7B,EAAK,MACH,CAAA,CACG,CAAA,CAAA,CACX,EA3BI,EAAK,GA2BT,CACT,CACM,CAAA,CAEX,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,UAAU,oCACV,MAAM,QACN,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAS,IAAI,KAAK,UAAU,mDAA2C,EAAgB,CAAA,CAC9F,eAAe,wBACjB,CAAA,CAEJ,GAMd,SAAgB,EAAqB,CACjC,QACA,WACA,MACA,WACA,QACA,aACkB,CAClB,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,+CAAgD,EAAU,UAA7E,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kCACV,EAAM,IAAK,IACR,EAAA,EAAA,KAAC,MAAD,CAAmB,UAAU,sBACzB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kDAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,iDAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,2GACV,EAAK,OAAQ,EAAA,EAAA,KAAC,EAAA,QAAD,CAAS,UAAU,UAAY,CAAA,CAC3C,CAAA,EACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oCAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,OAAO,oBAAY,EAAK,MAAa,CAAA,CAC1C,CAAC,CAAC,EAAK,QACJ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAK,cAAgB,qBAChC,EAAK,MACF,CAAA,CAEV,GACL,CAAC,CAAC,EAAK,cACJ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,UAAU,wBACtC,EAAK,YACH,CAAA,EAEX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,0CAAf,CACK,CAAC,CAAC,EAAK,WACJ,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,oBAArB,CAAgC,QACtB,EAAK,SACR,GAEV,CAAC,CAAC,EAAK,YACJ,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,WAAW,UAAU,wBAA1C,CAAyD,KAClD,EAAK,UACL,GAET,GACJ,GACJ,IACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mDACX,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,OAAO,OAAO,WAAW,UAAU,wBACzC,EAAK,MACH,CAAA,CACL,CAAA,CACJ,GACJ,CAxCI,EAAK,GAwCT,CACR,CACA,CAAA,CAGL,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yDACX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,CACK,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAY,MAAM,WAAW,MAAO,EAAU,KAAA,GAAK,eAAe,UAAU,eAAe,UAAY,CAAA,CAE1G,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAY,MAAM,WAAW,MAAO,IAAI,IAAY,KAAA,GAAK,eAAe,UAAU,eAAe,uBAAyB,CAAA,CAE7H,CAAC,CAAC,IACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAY,MAAM,YAAY,MAAO,EAAK,KAAA,GAAK,eAAe,UAAU,eAAe,UAAY,CAAA,EAEvG,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,EACb,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,UAAU,OACV,MAAM,YACN,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAS,IAAI,KAAK,UAAU,iDAAyC,EAAgB,CAAA,CAC5F,eAAe,0BACjB,CAAA,CACA,GACJ,CAAA,CAER,GAId,EAAkB,YAAc,oBAChC,EAAoB,YAAc,sBAClC,EAAqB,YAAc,uBC5NnC,IAAa,EAAgD,CACzD,KAAM,OACN,QAAS,UACT,QAAS,UACT,MAAQ,GAAW,IAAU,EAAI,cAAgB,GAAG,EAAM,aAC1D,IAAK,MACR,CAQY,EAAoE,CAC7E,KAAM,UACN,QAAS,UACT,QAAS,QACZ,CAGY,EAA4F,CACrG,KAAM,CAAE,MAAO,EAA0B,KAAM,QAAS,UAAW,CACnE,QAAS,CAAE,MAAO,EAA0B,QAAS,QAAS,UAAW,CACzE,QAAS,CAAE,MAAO,EAA0B,QAAS,QAAS,QAAS,CAC1E,CC3BD,SAAgB,EAAgB,CAC/B,UACA,YACA,QAAS,GACe,CACxB,IAAM,EAAU,EAAA,aAAa,EAA2B,EAAY,CAC9D,EAA+C,CACpD,KAAM,EAAQ,KACd,QAAS,EAAQ,QACjB,QAAS,EAAQ,QACjB,CAED,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAW,QAAQ,KAAK,UAAW,EAAA,GAAG,0BAA2B,EAAU,WAC1E,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uBAAf,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mDAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,OAAO,WACP,UAAU,4CAET,EAAQ,cACH,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAqB,EAAQ,QAAS,IAAA,YACpD,EAAc,EAAQ,QAChB,CAAA,CACH,IAEN,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,YAAY,UAAU,oBAC/B,EAAQ,aACH,CAAA,EAEP,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qDAAf,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uBAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBACnB,EAAQ,MAAM,EAAQ,eAAe,CAChC,CAAA,EACP,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,MAAM,KAAK,WAAW,UAAU,wBAA3C,CACE,EAAQ,IAAI,IAAE,EAAQ,QACjB,GACF,IACN,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,KACL,OAAO,OACP,UAAW,EAAA,GAAG,qCAAqC,UAElD,EAAQ,YACH,CAAA,CACF,GACD,GACK,CAAA,CAId,EAAgB,YAAc,kBCxD9B,IAAa,EAAoD,CAC7D,MAAO,UACP,SAAU,YACV,OAAQ,UACR,OAAQ,SACR,IAAK,MACL,UAAW,aACd,CCDD,SAAS,EAAW,CACnB,UACA,OACA,YAKE,CACF,OACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,4BAA6B,YAAY,UAA5D,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,MACL,KAAK,YACL,OAAO,SACP,UAAU,oCAET,EACK,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,OAAO,WAAW,UAAU,wBAChC,EACK,CAAA,CACN,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,UAAU,wBACzC,EACK,CAAA,CAEH,GAIR,SAAgB,EAAkB,CACjC,gBACA,SACA,gBAAgB,UAChB,OACA,KACA,aACA,UACA,SACA,YACA,QAAS,GACiB,CAC1B,IAAM,EAAU,EAAA,WAAW,EAA6B,EAAY,CAEpE,OACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAW,MAAO,EAAQ,MAAkB,qBAA5C,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mDAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,OAAO,OACP,UAAU,mCAET,EACK,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,WAAgB,EAAe,CAAA,CAC1C,IAEN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+DAAf,EACC,EAAA,EAAA,KAAC,EAAD,CAAY,QAAS,EAAQ,SAAU,KAAM,EAAK,KAAM,SAAU,EAAK,SAAY,CAAA,EACnF,EAAA,EAAA,KAAC,EAAD,CAAY,QAAS,EAAQ,OAAQ,KAAM,EAAG,KAAM,SAAU,EAAG,SAAY,CAAA,CACxE,IAEN,EAAA,EAAA,KAAC,EAAA,EAAD,CAAW,UAAU,OAAS,CAAA,EAE9B,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,0DAAf,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,CACE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,OAAO,SACP,MAAO,EAAQ,OACf,MAAO,EACP,KAAA,GACA,eAAe,gDACf,eAAe,sBACd,CAAA,CAEF,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,OAAO,SACP,MAAO,EAAQ,IACf,MAAO,EACP,KAAA,GACA,eAAe,gDACf,eAAe,sBACd,CAAA,CAEE,IACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sBAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,MACL,KAAK,YACL,OAAO,SACP,UAAU,oCAET,EAAQ,UACH,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,IAAI,KACJ,UAAW,EAAA,GAAG,0EAA0E,UAEvF,EACQ,CAAA,CACL,GACD,GACK,GAId,EAAkB,YAAc,oBCxFhC,IAAa,EAAkD,CAC9D,SAAU,WACV,IAAK,MACL,MAAO,QACP,CCxBK,EAAe,kCAEf,EAAc,CACnB,KAAM,0BACN,MAAO,yBACP,OAAQ,6BACR,CAED,SAAS,EAAoB,EAAoD,CAChF,MAAO,CACN,CACC,GAAI,cACJ,OAAQ,cACR,MAAO,MACP,KAAO,IAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAO,EAAK,YAAmB,CAAA,CAC/C,CACD,CACC,GAAI,MACJ,OAAQ,MACR,MAAO,OACP,MAAO,OACP,KAAO,IAAS,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,UAAU,wBAAgB,EAAK,IAAW,CAAA,CAChE,CACD,CACC,GAAI,QACJ,OAAQ,QACR,MAAO,OACP,MAAO,QACP,KAAO,IACN,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,UAAU,kCAAhB,CACE,EAAU,EAAK,MAAM,QAAQ,EAAE,CAC1B,GAER,CACD,CACC,GAAI,QACJ,OAAQ,QACR,MAAO,OACP,MAAO,QACP,KAAO,IACN,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,OAAO,SAAS,UAAU,kCAAhC,CACE,EAAU,EAAK,MAAM,QAAQ,EAAE,CAC1B,GAER,CACD,CAGF,SAAS,EACR,EACA,EACA,EACA,EAC0B,CAC1B,IAAM,EAAW,EAAM,QAAQ,EAAG,IAAM,EAAI,EAAE,MAAO,EAAE,CACjD,EAAM,KAAK,MAAM,EAAW,EAAU,IAAI,CAAG,IAC7C,EAAS,KAAK,MAAM,EAAU,IAAI,CAClC,EAAQ,EAAW,EACnB,EAAO,GAAc,GAAG,IAAW,EAAE,QAAQ,EAAE,GACrD,MAAO,CACN,CAAE,MAAO,EAAQ,SAAU,MAAO,EAAI,EAAS,CAAE,CACjD,CAAE,MAAO,GAAG,EAAQ,IAAI,IAAI,EAAO,IAAK,MAAO,EAAI,EAAI,CAAE,CACzD,CAAE,MAAO,EAAQ,MAAO,MAAO,EAAI,EAAM,CAAE,SAAU,QAAS,CAC9D,CAGF,SAAgB,EAAsC,CACrD,QACA,UACA,aACA,UAAU,GACV,WACA,YACA,QAAS,GACmB,CAC5B,IAAM,EAAU,EAAA,WAAW,EAA4B,EAAY,CAC7D,CAAE,mBAAoB,EAAA,GAAgB,CACtC,EAAmB,GAAY,GAAmB,IAOlD,EACL,GAAY,EAAoB,EAAiB,CAE5C,EAA8C,IAC/C,EACD,EAAE,CACF,EAAuB,EAAuC,EAAS,EAAkB,EAAQ,EAE/F,EAAe,EAAgB,IAAK,GAAM,EAAE,OAAS,MAAM,CAAC,KAAK,IAAI,CAE3E,OACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,2BAA4B,sCAAuC,EAAc,EAAU,UAA9G,EAEC,EAAA,EAAA,KAAC,MAAD,CACC,UAAU,mCACV,MAAO,CAAE,oBAAqB,EAAc,UAE3C,EAAgB,IAAK,IACrB,EAAA,EAAA,KAAC,MAAD,CAEC,UAAW,EAAA,GACV,OACA,EAAY,EAAI,OAAS,QACzB,EAAI,gBACJ,WAED,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,OAAO,SAAS,KAAK,YAAY,UAAU,oCACzD,EAAI,OACC,CAAA,CACF,CAVA,EAAI,GAUJ,CACL,CACG,CAAA,CAGL,EAAM,KAAK,EAAM,KACjB,EAAA,EAAA,KAAC,MAAD,CAEC,UAAW,EAAA,GAAG,uBAAwB,EAAI,GAAM,GAAK,cAAc,CACnE,MAAO,CAAE,oBAAqB,EAAc,UAE3C,EAAgB,IAAK,IACrB,EAAA,EAAA,KAAC,MAAD,CAEC,UAAW,EAAA,GAAG,oBAAqB,EAAY,EAAI,OAAS,QAAS,EAAI,cAAc,UAEtF,EAAI,KAAK,EAAM,EAAE,CACb,CAJA,EAAI,GAIJ,CACL,CACG,CAZA,EAYA,CACL,CAGD,EAAmB,OAAS,IAC5B,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,EACb,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+BACb,EAAmB,KAAK,EAAK,KAC7B,EAAA,EAAA,MAAC,MAAD,CAEC,UAAW,EAAA,GACV,uBACA,EAAI,WAAa,SAAW,OAC5B,UALF,EAOC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAM,EAAI,WAAa,QAAU,IAAA,GAAY,YAC7C,OAAQ,EAAI,WAAa,QAAU,OAAS,mBAE3C,EAAI,MACC,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,OAAQ,EAAI,WAAa,QAAU,OAAS,UAC5C,UAAU,kCAET,EAAI,MACC,CAAA,CACF,EAlBA,EAkBA,CACL,CACG,CAAA,CACJ,CAAA,CAAA,CAEC,GAIR,EAAa,YAAc,eCxL3B,SAAgB,EAAS,CACxB,QACA,MAAM,EACN,SAKE,CACF,OACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,qBAAsB,0BAA0B,UAAnE,CACE,MAAM,KAAK,CAAE,OAAQ,EAAK,EAAG,EAAG,KAChC,EAAA,EAAA,KAAC,MAAD,CAEC,UAAW,EAAA,GACV,yBACA,EAAI,EAAQ,mBAAqB,WACjC,CACA,CALI,EAKJ,CACD,CACD,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,KACL,KAAK,YACL,UAAU,gBAET,EACK,CAAA,CAEH,GAMR,SAAgB,EAAM,CACrB,QACA,QACA,QACA,gBAME,CACF,OACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mDAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,KACL,UAAU,0CAET,EACK,CAAA,CACN,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,QAAS,GAAgB,qBAExB,EACM,CAAA,CAER,CAAC,CAAC,GAAS,CAAC,IACZ,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,OAAO,WACP,UAAU,mCAET,EACK,CAAA,CAEH,GCrER,SAAgB,EAAmB,CAClC,QACA,cACA,eACA,OACA,gBACA,QACA,eACA,aACA,UACA,aAC2B,CAC3B,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACQ,QACM,cACJ,UACE,sBAEX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+CACb,EAAa,IAAK,IAClB,EAAA,EAAA,KAAC,EAAA,EAAD,CAEC,QAAS,EAAE,iBAEV,EAAE,MACI,CAJF,EAAE,MAIA,CACP,CACG,CAAA,EAEN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qBACb,EAAK,IAAK,IACV,EAAA,EAAA,KAAC,EAAD,CAEC,GAAI,EACH,CAFI,EAAI,MAER,CACD,CACG,CAAA,CAEL,CAAC,CAAC,IACF,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,KACL,UAAU,iCAET,EAAM,MACD,CAAA,EACP,EAAA,EAAA,KAAC,EAAD,CACC,MAAO,EAAM,MACb,IAAK,EAAM,IACX,MAAO,GAAG,OAAO,EAAM,MAAM,CAAC,GAAG,OAAO,EAAM,KAAO,EAAE,GACtD,CAAA,CACG,GAGN,CAAC,CAAC,GAAiB,EAAc,OAAS,IAC1C,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,EACb,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qBACb,EAAc,IAAK,IACnB,EAAA,EAAA,KAAC,EAAD,CAEC,GAAI,EACH,CAFI,EAAI,MAER,CACD,CACG,CAAA,CACJ,CAAA,CAAA,EAGF,CAAC,CAAC,GAAgB,CAAC,CAAC,KACrB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2DAAf,CACE,CAAC,CAAC,GACF,EAAa,IAAK,IACjB,EAAA,EAAA,KAAC,EAAA,EAAD,CAEC,QAAS,EAAE,QACX,UAAU,oBAET,EAAE,MACI,CALF,EAAE,MAKA,CACP,CACF,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,KACL,UAAU,iCAET,EACK,CAAA,CAEH,GAEF,GACK,CAAA,CAId,EAAmB,YAAc,qBCvFjC,SAAgB,EAAwB,CACvC,QACA,cACA,QACA,QACA,aACA,aACA,eACA,aACA,UACA,aACgC,CAChC,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACQ,QACM,cACJ,UACE,sBAEX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iDACb,EAAM,IAAK,IACX,EAAA,EAAA,MAAC,MAAD,CAEC,UAAU,kFAFX,EAIC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAS,IAAI,KAAK,UAAU,2DAC1B,EAAK,MACG,CAAA,EACV,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,MAAM,KAAK,YAAY,OAAO,SAAS,UAAU,kBAC1D,EAAK,MACA,CAAA,CACN,CAAC,CAAC,EAAK,aACP,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBACd,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAK,cAAgB,qBACnC,EAAK,WACC,CAAA,CACH,CAAA,CAEF,EAhBA,EAAK,MAgBL,CACL,CACG,CAAA,EAEN,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,EAEb,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SACE,EAAM,IAAK,IACX,EAAA,EAAA,MAAC,EAAA,EAAD,CAAuB,KAAK,KAAK,UAAU,gBAA3C,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,GAAG,gCAAiC,EAAK,SAAS,CAAI,CAAA,CAC5D,CAAA,EACZ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAW,KAAM,GAAO,UAAU,iBAAlC,CACE,EAAK,MACL,CAAC,CAAC,EAAK,QACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAK,cAAgB,qBACnC,EAAK,MACC,CAAA,CAEE,GACC,CAAA,EACd,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,OAAO,WAAW,UAAU,wBAC1C,EAAK,MACA,CAAA,CACM,CAAA,CACR,EAnBI,EAAK,MAmBT,CACN,CACS,CAAA,CAEX,CAAC,CAAC,IACF,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,EACb,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,MAAO,GAAc,QACrB,MAAO,EACP,KAAA,GACA,eAAe,oBACf,eAAe,oBACd,CAAA,CACA,CAAA,CAAA,EAGF,CAAC,CAAC,GAAgB,CAAC,CAAC,KACrB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2DAAf,CACE,CAAC,CAAC,GAAgB,EAAa,IAAK,IACpC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAqB,QAAS,EAAE,QAAS,UAAU,oBACjD,EAAE,MACI,CAFI,EAAE,MAEN,CACP,CACD,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,UAAU,iCACxB,EACK,CAAA,CAEH,GAEF,GACK,CAAA,CAId,EAAwB,YAAc,0BCzGtC,SAAgB,EAAmB,CAClC,QACA,cACA,eACA,YACA,aAAa,QACb,cACA,eACA,aACA,UACA,aAC2B,CAC3B,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACQ,QACM,cACJ,UACE,sBAEX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+CACb,EAAa,IAAK,IAClB,EAAA,EAAA,KAAC,EAAA,EAAD,CAEC,QAAS,EAAE,iBAEV,EAAE,MACI,CAJF,EAAE,MAIA,CACP,CACG,CAAA,EAEN,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SACE,EAAU,KAAK,EAAM,KACrB,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,CACE,EAAM,IAAK,EAAA,EAAA,KAAC,EAAA,EAAD,CAAe,UAAU,OAAS,CAAA,EAC9C,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,KAAK,UAAU,gBAA1B,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAW,UAAU,iBAArB,CACE,EAAK,MACL,CAAC,CAAC,EAAK,QACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAK,cAAgB,qBACnC,EAAK,MACC,CAAA,CAEE,GACC,CAAA,EACd,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,OAAO,WAAW,UAAU,wBAC1C,EAAK,OACA,CAAA,CACM,CAAA,CACR,GACF,CAAA,CAnBI,EAAK,MAmBT,CACL,CACS,CAAA,CAEX,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,UAAU,qCACV,MAAO,EACP,MAAO,EACP,KAAA,GACA,eAAe,oBACf,eAAe,sBACd,CAAA,EAGD,CAAC,CAAC,GAAgB,CAAC,CAAC,KACrB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2DAAf,CACE,CAAC,CAAC,GACF,EAAa,IAAK,IACjB,EAAA,EAAA,KAAC,EAAA,EAAD,CAEC,QAAS,EAAE,QACX,UAAU,oBAET,EAAE,MACI,CALF,EAAE,MAKA,CACP,CACF,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,KACL,UAAU,iCAET,EACK,CAAA,CAEH,GAEF,GACK,CAAA,CAId,EAAmB,YAAc,qBChGjC,SAAgB,EAAqB,CACpC,QACA,cACA,cACA,gBACA,YACA,OACA,WACA,iBACA,aACA,UACA,aAC6B,CAC7B,IAAM,EAAa,EAAa,EAAI,KAAK,MAAO,EAAiB,EAAc,IAAI,CAAG,EAChF,EAAgB,EAAI,KAAK,GAAK,EAC9B,EAAa,EAAiB,EAAa,IAAO,EAExD,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,QAAQ,KACC,UACE,sBAEX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,EACC,EAAA,EAAA,KAAC,EAAA,WAAD,CAAY,UAAU,gCAAkC,CAAA,EACxD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAe,IAAA,YAC7B,EACM,CAAA,CACH,IAEN,EAAA,EAAA,KAAC,EAAA,EAAD,CAAS,IAAI,KAAK,UAAU,sCAC1B,EACQ,CAAA,CAET,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,YAAY,UAAU,wBAC/B,EACK,CAAA,CAGP,CAAC,CAAC,GAAa,EAAU,OAAS,IAClC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+CACb,EAAU,KAAK,EAAM,KACrB,EAAA,EAAA,MAAC,OAAD,CAAuB,UAAU,mCAAjC,CACE,EAAM,IACN,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAK,WAAW,UAAU,kBAAS,IAAa,CAAA,CAEjE,CAAC,CAAC,EAAK,OACP,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iCAAyB,EAAK,KAAY,CAAA,EAE3D,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAK,MAAa,CAAA,CAC9C,EARI,EAAK,MAQT,CACN,CACG,CAAA,EAGL,CAAC,CAAC,GAAQ,CAAC,CAAC,KACb,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,CACE,CAAC,CAAC,IACF,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qCAAf,EACC,EAAA,EAAA,KAAC,EAAA,SAAD,CAAU,UAAU,gCAAkC,CAAA,EACtD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAY,CAAA,CACzC,GAEN,CAAC,CAAC,IACF,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qCAAf,EACC,EAAA,EAAA,KAAC,EAAA,UAAD,CAAW,UAAU,gCAAkC,CAAA,EACvD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAgB,CAAA,CAC7C,GAEF,IAGP,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,EAEb,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,UAAU,oBAA1D,EACC,EAAA,EAAA,KAAC,SAAD,CACC,GAAG,KACH,GAAG,KACH,EAAE,IACF,KAAK,OACL,OAAO,eACP,YAAY,IACZ,UAAU,gBACT,CAAA,EACF,EAAA,EAAA,KAAC,SAAD,CACC,GAAG,KACH,GAAG,KACH,EAAE,IACF,KAAK,OACL,OAAO,eACP,YAAY,IACZ,gBAAiB,EACjB,iBAAkB,EAClB,cAAc,QACd,UAAU,eACV,UAAU,oBACT,CAAA,CACG,IACN,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,KAAK,OAAO,kBAAvB,CACE,EAAe,IAAE,EAAW,SACvB,GACF,IACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,gCAAkC,CAAA,CAC5C,GACD,GACK,CAAA,CAId,EAAqB,YAAc,uBCrHnC,SAAgB,EAAmB,CAClC,QACA,cACA,eACA,QACA,aACA,cACA,aAAa,GACb,OACA,eACA,UACA,aAC2B,CAC3B,IAAM,EACL,IAAe,OACZ,aACA,IAAe,SACd,aACA,iBAEL,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACQ,QACM,cACJ,UACE,sBAEX,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+CACb,EAAa,IAAK,IAClB,EAAA,EAAA,KAAC,EAAA,EAAD,CAEC,QAAS,EAAE,iBAEV,EAAE,MACI,CAJF,EAAE,MAIA,CACP,CACG,CAAA,EAEN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kDACd,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,IAAI,KACJ,UAAU,4DAET,OAAO,EAAM,CACL,CAAA,CACL,CAAA,EAEN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kDACb,MAAM,KAAK,CAAE,OAAQ,EAAY,EAAG,EAAG,KACvC,EAAA,EAAA,KAAC,MAAD,CAEC,UAAW,EAAA,GACV,qBACA,EAAI,EAAc,EAAW,WAC7B,CACA,CALI,EAKJ,CACD,CACG,CAAA,EAEN,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,EAEb,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qBACb,EAAK,IAAK,IACV,EAAA,EAAA,KAAC,EAAA,EAAD,CAEC,MAAO,EAAI,MACX,MAAO,EAAI,MACX,KAAA,GACA,eAAe,gCACf,eAAe,mCACd,CANI,EAAI,MAMR,CACD,CACG,CAAA,CAEL,CAAC,CAAC,GAAgB,EAAa,OAAS,IACxC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,2DACb,EAAa,IAAK,IAClB,EAAA,EAAA,KAAC,EAAA,EAAD,CAEC,QAAS,EAAE,QACX,UAAU,oBAET,EAAE,MACI,CALF,EAAE,MAKA,CACP,CACG,CAAA,CAEF,GACK,CAAA,CAId,EAAmB,YAAc,qBCzFjC,IAAM,EAAwC,CAC7C,GAAI,iCACJ,GAAI,mCACJ,KAAM,mCACN,GAAI,iCACJ,CAEK,EAA0C,CAC/C,GAAI,MACJ,GAAI,MACJ,KAAM,MACN,GAAI,KACJ,CAEK,EAA0C,CAC/C,GAAI,MACJ,GAAI,KACJ,KAAM,KACN,GAAI,KACJ,CAEK,EAA2C,CAChD,GAAI,MACJ,GAAI,MACJ,KAAM,MACN,GAAI,MACJ,CAED,SAAgB,EAAkB,CAAE,UAAS,aAAqC,CACjF,OACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,GAAG,2BAA4B,yBAA0B,EAAU,UACjF,EAAQ,IAAK,GAAM,CACnB,IAAM,EAAK,EAAE,MAAQ,OACrB,OACC,EAAA,EAAA,MAAC,OAAD,CAEC,UAAW,EAAA,GACV,yDACA,EAAc,IAAO,EAAc,KACnC,UALF,EAOC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAM,EAAU,IAAO,MAAO,KAAK,qBAClD,EAAE,MACG,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,IAAI,OACJ,KAAM,EAAU,IAAO,KACvB,OAAO,WACP,UAAU,wBAET,EAAE,MACG,CAAA,EACP,EAAA,EAAA,MAAC,EAAA,EAAD,CACC,IAAI,OACJ,KAAM,EAAW,IAAO,MACxB,OAAO,SACP,UAAW,EAAA,GACV,kEACA,EAAE,GAAK,6BAA+B,qCACtC,UAPF,CASE,EAAE,GAAK,IAAM,IACb,EAAE,OACG,GACD,EA7BD,EAAE,MA6BD,EAEP,CACG,CAAA,CAIR,EAAkB,YAAc,oBCzEhC,IAAM,EAAQ,kCAEd,SAAgB,EAAW,CAAE,OAAM,aAA8B,CAC7D,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,GAAG,sBAAuB,kFAAmF,EAAO,EAAU,UACzI,EAAK,IAAK,IACP,EAAA,EAAA,MAAC,MAAD,CAAqB,UAAU,2CAA/B,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,OAAO,OAAO,UAAU,wBACzB,EAAI,MACF,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,UAAU,oBACtC,EAAI,MACF,CAAA,CACL,EAPI,EAAI,MAOR,CACR,CACA,CAAA,CAId,EAAW,YAAc"}
|
|
@@ -2,13 +2,13 @@ import { mergeStrings as e, useStrings as t } from "../../../lib/strings.js";
|
|
|
2
2
|
import { u as n } from "../../../_shared/ui-provider-4qKSKMPd.js";
|
|
3
3
|
import { cn as r } from "../../../lib/utils.js";
|
|
4
4
|
import { t as i } from "../../../_shared/text-DIxMTECE.js";
|
|
5
|
-
import {
|
|
6
|
-
import { t as o } from "../../../_shared/icon-badge-
|
|
7
|
-
import { t as s } from "../../../_shared/badge-
|
|
8
|
-
import { t as c } from "../../../_shared/smart-card-
|
|
9
|
-
import { t as l } from "../../../_shared/separator-
|
|
10
|
-
import { i as u } from "../../../_shared/display-
|
|
11
|
-
import { c as d, i as f, l as p, n as m, o as h, r as g, t as _, u as v } from "../../../_shared/item-
|
|
5
|
+
import { t as a } from "../../../_shared/heading-BprqyzDs.js";
|
|
6
|
+
import { t as o } from "../../../_shared/icon-badge-Bi63T-bj.js";
|
|
7
|
+
import { t as s } from "../../../_shared/badge-BVCh_hfL.js";
|
|
8
|
+
import { t as c } from "../../../_shared/smart-card-MT6JjkoI.js";
|
|
9
|
+
import { t as l } from "../../../_shared/separator-DR0uUMKa.js";
|
|
10
|
+
import { i as u } from "../../../_shared/display-BM_GxDAo.js";
|
|
11
|
+
import { c as d, i as f, l as p, n as m, o as h, r as g, t as _, u as v } from "../../../_shared/item-Cu5JbZyZ.js";
|
|
12
12
|
import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
13
13
|
import { BarChart3 as S, Calendar as C, FolderOpen as w, Package as T } from "lucide-react";
|
|
14
14
|
//#region src/components/composed/data-display/invoice-items/invoice-items.tsx
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_shared/chunk-D3uCBrYO.cjs`);const e=require(`../../../lib/strings.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../_shared/text-DBnY6fcL.cjs`),r=require(`../../../_shared/badge-BjtDcU1M.cjs`),i=require(`../../../_shared/button-DjacsNTg.cjs`),a=require(`../../../_shared/smart-card-Ddsjvf7r.cjs`),o=require(`../../../_shared/item-BtR-bz96.cjs`);let s=require(`react`),c=require(`react/jsx-runtime`),l=require(`lucide-react`);function u({columns:e,className:i}){return(0,c.jsx)(a.t,{title:`Pipeline Overview`,titleSuffix:(0,c.jsxs)(r.t,{variant:`secondary`,children:[e.reduce((e,t)=>e+t.items.length,0),` items`]}),className:t.cn(`kanban-board--component`,i),children:(0,c.jsx)(`div`,{className:`grid grid-cols-4 gap-1.5`,children:e.map((e,i)=>(0,c.jsxs)(`div`,{className:t.cn(`rounded-md p-1.5`,i%2==0?`bg-muted/40`:`bg-muted/20`),children:[(0,c.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,c.jsx)(n.t,{size:`xxs`,weight:`semibold`,className:`truncate`,children:e.title}),(0,c.jsx)(r.t,{variant:`secondary`,className:`ml-1 !px-1 !py-0 text-xxs`,children:e.items.length})]}),(0,c.jsx)(`div`,{className:`max-h-20 space-y-1 overflow-y-auto`,children:e.items.map((t,r)=>(0,c.jsxs)(`div`,{className:`flex items-center gap-1 rounded bg-card px-1.5 py-1 shadow-sm`,children:[(0,c.jsx)(`div`,{className:`h-1.5 w-1.5 flex-shrink-0 rounded-full`,style:{backgroundColor:`var(--color-${t.color})`}}),(0,c.jsx)(n.t,{size:`xxs`,className:`truncate`,children:t.title})]},`${e.title}-${r}`))})]},e.title))})})}u.displayName=`KanbanMicroBoard`;function d({title:e,tabs:r,defaultTab:o,className:l}){let u=Object.keys(r),[d,f]=(0,s.useState)(o??u[0]??``);return(0,c.jsxs)(a.t,{title:e,className:t.cn(`tab-switcher--component`,`bg-gradient-to-b from-muted/30 to-card`,l),children:[(0,c.jsx)(`div`,{className:`mt-4 flex gap-1 rounded-full bg-muted/50 p-1`,children:u.map(e=>(0,c.jsx)(i.t,{variant:d===e?`light`:`secondary`,buttonStyle:d===e?`solid`:`ghost`,onClick:()=>f(e),className:t.cn(`flex-1 rounded-full capitalize`,d===e?`shadow-sm`:``),children:e},e))}),(0,c.jsx)(`div`,{className:`mt-4 space-y-2`,children:r[d]?.map(e=>(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl px-2 py-2 transition-colors hover:bg-muted/20`,children:[!!e.icon&&(0,c.jsx)(`div`,{className:`flex size-8 items-center justify-center rounded-full bg-primary/10`,children:(0,c.jsx)(e.icon,{className:`size-4 text-primary`})}),(0,c.jsx)(n.t,{className:`flex-1`,children:e.name}),(0,c.jsx)(n.t,{weight:`bold`,children:e.value})]},e.name))})]})}d.displayName=`TabSwitcherCard`;var f={legendNone:`None`,legendLow:`Low`,legendMedium:`Medium`,legendHigh:`High`,legendNow:`Now`,formatHourTitle:(e,t)=>`${e}:00 - ${t} bookings`};function p({hours:r,currentHour:i,className:a,strings:o}){let s=e.useStrings(f,o),l=Math.max(...r,1),u=r.indexOf(Math.max(...r));function d(e){if(e===0)return`bg-muted`;let t=e/l;return t<.33?`bg-primary/25`:t<.66?`bg-primary/55`:`bg-primary`}return(0,c.jsxs)(`div`,{className:t.cn(`time-ruler--component`,`space-y-1.5`,a),children:[(0,c.jsx)(`div`,{className:`relative flex h-8 gap-[1px] rounded-md overflow-hidden`,children:r.map((e,n)=>(0,c.jsx)(`div`,{className:t.cn(`relative flex-1 transition-colors duration-200`,d(e),n===u&&`ring-1 ring-primary ring-inset`),title:s.formatHourTitle(String(n).padStart(2,`0`),e)},n))}),(0,c.jsx)(`div`,{className:`relative flex`,children:r.map((e,t)=>(0,c.jsx)(`div`,{className:`flex-1 text-center`,children:t%4==0&&(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,className:`tabular-nums`,children:String(t).padStart(2,`0`)})},t))}),i!==void 0&&i>=0&&i<24&&(0,c.jsx)(`div`,{className:`relative h-0`,children:(0,c.jsx)(`div`,{className:`absolute -top-[42px] flex flex-col items-center`,style:{left:`${i/24*100}%`,transform:`translateX(-50%)`},children:(0,c.jsx)(`div`,{className:`h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive`})})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-muted`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendNone})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary/25`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendLow})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary/55`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendMedium})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendHigh})]}),i!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendNow})]})]})]})}p.displayName=`TimeDistributionRuler`;function m({rating:e,maxRating:n=5}){return(0,c.jsx)(`div`,{className:t.cn(`vendor-performance--component`,`flex items-center gap-0.5`),children:Array.from({length:n},(n,r)=>(0,c.jsx)(`svg`,{className:t.cn(`h-3.5 w-3.5`,r<e?`text-warning`:`text-muted`),viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`,children:(0,c.jsx)(`path`,{d:`M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z`})},`star-${String(r)}`))})}function h(e){return e>=80?`bg-success`:e>=50?`bg-warning`:`bg-destructive`}function g({vendorName:e,rating:r,maxRating:i=5,metrics:o,performanceScore:s,lastActive:l,joinedDate:u,className:d}){return(0,c.jsx)(a.t,{title:e,className:d,footerText:(0,c.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,c.jsxs)(n.t,{size:`xxs`,type:`secondary`,children:[`Last active: `,l]}),(0,c.jsxs)(n.t,{size:`xxs`,type:`secondary`,children:[`Joined: `,u]})]}),children:(0,c.jsxs)(`div`,{className:`space-y-4`,children:[(0,c.jsx)(m,{rating:r,maxRating:i}),(0,c.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:[{label:`Bookings`,value:String(o.bookings)},{label:`Revenue`,value:o.revenue},{label:`Avg Rating`,value:String(o.avgRating)},{label:`Response`,value:o.responseTime}].map(e=>(0,c.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-3 text-center`,children:[(0,c.jsx)(n.t,{size:`lg`,weight:`bold`,className:`tabular-nums`,children:e.value}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:e.label})]},e.label))}),(0,c.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,c.jsx)(n.t,{children:`Performance`}),(0,c.jsxs)(n.t,{weight:`semibold`,className:`tabular-nums`,children:[s,`%`]})]}),(0,c.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-muted`,children:(0,c.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-500`,h(s)),style:{width:`${String(s)}%`}})})]})]})})}g.displayName=`VendorPerformanceCard`;function _({completed:e,total:r,activities:s,onAdd:u,className:d}){return(0,c.jsx)(a.t,{title:`${e} out of ${r}`,description:`Experiences completed this week`,headerEnd:!!u&&(0,c.jsx)(i.t,{variant:`light`,buttonStyle:`ghost`,onClick:u,className:`size-8 rounded-full bg-primary/10 p-0`,children:(0,c.jsx)(l.Plus,{className:`size-4`})}),className:t.cn(`experience-activity--component`,`bg-gradient-to-b from-muted/30 to-card`,d),children:(0,c.jsx)(o.o,{children:s.map((e,t)=>(0,c.jsxs)(`div`,{children:[t>0&&(0,c.jsx)(o.l,{}),(0,c.jsxs)(o.t,{size:`xs`,className:`px-0 items-start`,children:[(0,c.jsx)(o.c,{children:(0,c.jsx)(`div`,{className:`flex size-10 items-center justify-center rounded-full bg-primary/10`,children:(0,c.jsx)(e.icon,{className:`size-5 text-primary`})})}),(0,c.jsxs)(o.r,{children:[(0,c.jsx)(o.u,{children:e.title}),(0,c.jsx)(o.i,{clamp:1,children:e.time}),(0,c.jsx)(`div`,{className:`mt-2.5 grid grid-cols-2 gap-2`,children:e.metrics.map(e=>(0,c.jsxs)(`div`,{className:`rounded-lg bg-muted/30 px-2.5 py-1.5`,children:[(0,c.jsx)(n.t,{size:`xs`,type:`secondary`,children:e.label}),(0,c.jsx)(n.t,{size:`xs`,weight:`bold`,children:e.value})]},e.label))})]})]})]},e.title))})})}_.displayName=`ExperienceActivityCard`;var v={stepLabel:`Step`,ofLabel:`of`};function y({steps:r,currentIndex:i,onStepClick:a,className:o,strings:s}){let u=e.useStrings(v,s);return(0,c.jsxs)(`div`,{className:t.cn(`breadcrumb-progress--component`,`w-full`,o),children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,c.jsxs)(n.t,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:[u.stepLabel,` `,i+1,` `,u.ofLabel,` `,r.length]}),(0,c.jsxs)(n.t,{tag:`span`,size:`xs`,weight:`semibold`,className:`tabular-nums`,children:[Math.round((i+1)/r.length*100),`%`]})]}),(0,c.jsx)(`ol`,{className:`flex items-center gap-2`,children:r.map((e,o)=>{let s=o<i,u=o===i,d=a&&(s||u);return(0,c.jsxs)(`li`,{className:`flex flex-1 items-center gap-2`,children:[(0,c.jsxs)(`button`,{type:`button`,onClick:()=>d&&a?.(e.id,o),disabled:!d,className:t.cn(`flex items-center gap-2 rounded-md px-2 py-1 text-left transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1`,d&&`hover:bg-muted/40`,!d&&`cursor-default`),children:[(0,c.jsx)(`span`,{className:t.cn(`flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold tabular-nums`,s&&`bg-success text-success-foreground`,u&&`bg-primary text-primary-foreground ring-4 ring-primary/15`,!s&&!u&&`bg-muted text-muted-foreground`),children:s?(0,c.jsx)(l.Check,{className:`size-3.5`}):o+1}),(0,c.jsxs)(`div`,{className:`hidden sm:block min-w-0`,children:[(0,c.jsx)(n.t,{size:`xs`,weight:`semibold`,className:t.cn(!u&&!s&&`text-muted-foreground`),children:e.label}),!!e.hint&&(0,c.jsx)(n.t,{size:`xxs`,type:`discrete`,className:`truncate`,children:e.hint})]})]}),o<r.length-1&&(0,c.jsx)(`div`,{className:t.cn(`h-px flex-1`,s?`bg-success`:`bg-border`)})]},e.id)})})]})}y.displayName=`BreadcrumbProgress`;function b({title:e,items:n,activeId:i,onSelect:s,className:u}){return(0,c.jsx)(a.t,{title:e,padding:`sm`,className:t.cn(`category-nav--component`,u),children:(0,c.jsx)(o.o,{children:n.map(e=>{let n=e.icon,a=e.id===i;return(0,c.jsxs)(o.t,{size:`xs`,onClick:()=>s?.(e.id),"data-state":a?`active`:`inactive`,className:t.cn(`cursor-pointer transition-colors`,a?`bg-primary/10 text-primary`:`hover:bg-muted/50`),children:[!!n&&(0,c.jsx)(o.c,{variant:`icon`,className:t.cn(a?`text-primary`:`text-muted-foreground`),children:(0,c.jsx)(n,{})}),(0,c.jsxs)(o.r,{children:[(0,c.jsx)(o.u,{bold:a,children:e.label}),!!e.hint&&(0,c.jsx)(o.i,{clamp:1,children:e.hint})]}),(0,c.jsxs)(o.n,{children:[typeof e.count==`number`&&(0,c.jsx)(r.t,{variant:a?`primary`:`secondary`,className:`tabular-nums`,children:e.count}),(0,c.jsx)(l.ChevronRight,{className:t.cn(`size-4 shrink-0 text-muted-foreground/60`,a&&`text-primary`)})]})]},e.id)})})})}b.displayName=`CategoryNavCard`,exports.BreadcrumbProgress=y,exports.CategoryNavCard=b,exports.ExperienceActivityCard=_,exports.KanbanMicroBoard=u,exports.TabSwitcherCard=d,exports.TimeDistributionRuler=p,exports.VendorPerformanceCard=g,exports.defaultBreadcrumbProgressStrings=v;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_shared/chunk-D3uCBrYO.cjs`);const e=require(`../../../lib/strings.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../_shared/text-DBnY6fcL.cjs`),r=require(`../../../_shared/badge-C49SSz-6.cjs`),i=require(`../../../_shared/button-D0nF99a9.cjs`),a=require(`../../../_shared/smart-card-Bm_VxYUG.cjs`),o=require(`../../../_shared/item-Cx_7QZ2o.cjs`);let s=require(`react`),c=require(`react/jsx-runtime`),l=require(`lucide-react`);function u({columns:e,className:i}){return(0,c.jsx)(a.t,{title:`Pipeline Overview`,titleSuffix:(0,c.jsxs)(r.t,{variant:`secondary`,children:[e.reduce((e,t)=>e+t.items.length,0),` items`]}),className:t.cn(`kanban-board--component`,i),children:(0,c.jsx)(`div`,{className:`grid grid-cols-4 gap-1.5`,children:e.map((e,i)=>(0,c.jsxs)(`div`,{className:t.cn(`rounded-md p-1.5`,i%2==0?`bg-muted/40`:`bg-muted/20`),children:[(0,c.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,c.jsx)(n.t,{size:`xxs`,weight:`semibold`,className:`truncate`,children:e.title}),(0,c.jsx)(r.t,{variant:`secondary`,className:`ml-1 !px-1 !py-0 text-xxs`,children:e.items.length})]}),(0,c.jsx)(`div`,{className:`max-h-20 space-y-1 overflow-y-auto`,children:e.items.map((t,r)=>(0,c.jsxs)(`div`,{className:`flex items-center gap-1 rounded bg-card px-1.5 py-1 shadow-sm`,children:[(0,c.jsx)(`div`,{className:`h-1.5 w-1.5 flex-shrink-0 rounded-full`,style:{backgroundColor:`var(--color-${t.color})`}}),(0,c.jsx)(n.t,{size:`xxs`,className:`truncate`,children:t.title})]},`${e.title}-${r}`))})]},e.title))})})}u.displayName=`KanbanMicroBoard`;function d({title:e,tabs:r,defaultTab:o,className:l}){let u=Object.keys(r),[d,f]=(0,s.useState)(o??u[0]??``);return(0,c.jsxs)(a.t,{title:e,className:t.cn(`tab-switcher--component`,`bg-gradient-to-b from-muted/30 to-card`,l),children:[(0,c.jsx)(`div`,{className:`mt-4 flex gap-1 rounded-full bg-muted/50 p-1`,children:u.map(e=>(0,c.jsx)(i.t,{variant:d===e?`light`:`secondary`,buttonStyle:d===e?`solid`:`ghost`,onClick:()=>f(e),className:t.cn(`flex-1 rounded-full capitalize`,d===e?`shadow-sm`:``),children:e},e))}),(0,c.jsx)(`div`,{className:`mt-4 space-y-2`,children:r[d]?.map(e=>(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl px-2 py-2 transition-colors hover:bg-muted/20`,children:[!!e.icon&&(0,c.jsx)(`div`,{className:`flex size-8 items-center justify-center rounded-full bg-primary/10`,children:(0,c.jsx)(e.icon,{className:`size-4 text-primary`})}),(0,c.jsx)(n.t,{className:`flex-1`,children:e.name}),(0,c.jsx)(n.t,{weight:`bold`,children:e.value})]},e.name))})]})}d.displayName=`TabSwitcherCard`;var f={legendNone:`None`,legendLow:`Low`,legendMedium:`Medium`,legendHigh:`High`,legendNow:`Now`,formatHourTitle:(e,t)=>`${e}:00 - ${t} bookings`};function p({hours:r,currentHour:i,className:a,strings:o}){let s=e.useStrings(f,o),l=Math.max(...r,1),u=r.indexOf(Math.max(...r));function d(e){if(e===0)return`bg-muted`;let t=e/l;return t<.33?`bg-primary/25`:t<.66?`bg-primary/55`:`bg-primary`}return(0,c.jsxs)(`div`,{className:t.cn(`time-ruler--component`,`space-y-1.5`,a),children:[(0,c.jsx)(`div`,{className:`relative flex h-8 gap-[1px] rounded-md overflow-hidden`,children:r.map((e,n)=>(0,c.jsx)(`div`,{className:t.cn(`relative flex-1 transition-colors duration-200`,d(e),n===u&&`ring-1 ring-primary ring-inset`),title:s.formatHourTitle(String(n).padStart(2,`0`),e)},n))}),(0,c.jsx)(`div`,{className:`relative flex`,children:r.map((e,t)=>(0,c.jsx)(`div`,{className:`flex-1 text-center`,children:t%4==0&&(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,className:`tabular-nums`,children:String(t).padStart(2,`0`)})},t))}),i!==void 0&&i>=0&&i<24&&(0,c.jsx)(`div`,{className:`relative h-0`,children:(0,c.jsx)(`div`,{className:`absolute -top-[42px] flex flex-col items-center`,style:{left:`${i/24*100}%`,transform:`translateX(-50%)`},children:(0,c.jsx)(`div`,{className:`h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive`})})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-muted`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendNone})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary/25`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendLow})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary/55`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendMedium})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendHigh})]}),i!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive`}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:s.legendNow})]})]})]})}p.displayName=`TimeDistributionRuler`;function m({rating:e,maxRating:n=5}){return(0,c.jsx)(`div`,{className:t.cn(`vendor-performance--component`,`flex items-center gap-0.5`),children:Array.from({length:n},(n,r)=>(0,c.jsx)(`svg`,{className:t.cn(`h-3.5 w-3.5`,r<e?`text-warning`:`text-muted`),viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`,children:(0,c.jsx)(`path`,{d:`M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z`})},`star-${String(r)}`))})}function h(e){return e>=80?`bg-success`:e>=50?`bg-warning`:`bg-destructive`}function g({vendorName:e,rating:r,maxRating:i=5,metrics:o,performanceScore:s,lastActive:l,joinedDate:u,className:d}){return(0,c.jsx)(a.t,{title:e,className:d,footerText:(0,c.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,c.jsxs)(n.t,{size:`xxs`,type:`secondary`,children:[`Last active: `,l]}),(0,c.jsxs)(n.t,{size:`xxs`,type:`secondary`,children:[`Joined: `,u]})]}),children:(0,c.jsxs)(`div`,{className:`space-y-4`,children:[(0,c.jsx)(m,{rating:r,maxRating:i}),(0,c.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:[{label:`Bookings`,value:String(o.bookings)},{label:`Revenue`,value:o.revenue},{label:`Avg Rating`,value:String(o.avgRating)},{label:`Response`,value:o.responseTime}].map(e=>(0,c.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-3 text-center`,children:[(0,c.jsx)(n.t,{size:`lg`,weight:`bold`,className:`tabular-nums`,children:e.value}),(0,c.jsx)(n.t,{size:`xxs`,type:`secondary`,children:e.label})]},e.label))}),(0,c.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,c.jsx)(n.t,{children:`Performance`}),(0,c.jsxs)(n.t,{weight:`semibold`,className:`tabular-nums`,children:[s,`%`]})]}),(0,c.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-muted`,children:(0,c.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-500`,h(s)),style:{width:`${String(s)}%`}})})]})]})})}g.displayName=`VendorPerformanceCard`;function _({completed:e,total:r,activities:s,onAdd:u,className:d}){return(0,c.jsx)(a.t,{title:`${e} out of ${r}`,description:`Experiences completed this week`,headerEnd:!!u&&(0,c.jsx)(i.t,{variant:`light`,buttonStyle:`ghost`,onClick:u,className:`size-8 rounded-full bg-primary/10 p-0`,children:(0,c.jsx)(l.Plus,{className:`size-4`})}),className:t.cn(`experience-activity--component`,`bg-gradient-to-b from-muted/30 to-card`,d),children:(0,c.jsx)(o.o,{children:s.map((e,t)=>(0,c.jsxs)(`div`,{children:[t>0&&(0,c.jsx)(o.l,{}),(0,c.jsxs)(o.t,{size:`xs`,className:`px-0 items-start`,children:[(0,c.jsx)(o.c,{children:(0,c.jsx)(`div`,{className:`flex size-10 items-center justify-center rounded-full bg-primary/10`,children:(0,c.jsx)(e.icon,{className:`size-5 text-primary`})})}),(0,c.jsxs)(o.r,{children:[(0,c.jsx)(o.u,{children:e.title}),(0,c.jsx)(o.i,{clamp:1,children:e.time}),(0,c.jsx)(`div`,{className:`mt-2.5 grid grid-cols-2 gap-2`,children:e.metrics.map(e=>(0,c.jsxs)(`div`,{className:`rounded-lg bg-muted/30 px-2.5 py-1.5`,children:[(0,c.jsx)(n.t,{size:`xs`,type:`secondary`,children:e.label}),(0,c.jsx)(n.t,{size:`xs`,weight:`bold`,children:e.value})]},e.label))})]})]})]},e.title))})})}_.displayName=`ExperienceActivityCard`;var v={stepLabel:`Step`,ofLabel:`of`};function y({steps:r,currentIndex:i,onStepClick:a,className:o,strings:s}){let u=e.useStrings(v,s);return(0,c.jsxs)(`div`,{className:t.cn(`breadcrumb-progress--component`,`w-full`,o),children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,c.jsxs)(n.t,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:[u.stepLabel,` `,i+1,` `,u.ofLabel,` `,r.length]}),(0,c.jsxs)(n.t,{tag:`span`,size:`xs`,weight:`semibold`,className:`tabular-nums`,children:[Math.round((i+1)/r.length*100),`%`]})]}),(0,c.jsx)(`ol`,{className:`flex items-center gap-2`,children:r.map((e,o)=>{let s=o<i,u=o===i,d=a&&(s||u);return(0,c.jsxs)(`li`,{className:`flex flex-1 items-center gap-2`,children:[(0,c.jsxs)(`button`,{type:`button`,onClick:()=>d&&a?.(e.id,o),disabled:!d,className:t.cn(`flex items-center gap-2 rounded-md px-2 py-1 text-left transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1`,d&&`hover:bg-muted/40`,!d&&`cursor-default`),children:[(0,c.jsx)(`span`,{className:t.cn(`flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold tabular-nums`,s&&`bg-success text-success-foreground`,u&&`bg-primary text-primary-foreground ring-4 ring-primary/15`,!s&&!u&&`bg-muted text-muted-foreground`),children:s?(0,c.jsx)(l.Check,{className:`size-3.5`}):o+1}),(0,c.jsxs)(`div`,{className:`hidden sm:block min-w-0`,children:[(0,c.jsx)(n.t,{size:`xs`,weight:`semibold`,className:t.cn(!u&&!s&&`text-muted-foreground`),children:e.label}),!!e.hint&&(0,c.jsx)(n.t,{size:`xxs`,type:`discrete`,className:`truncate`,children:e.hint})]})]}),o<r.length-1&&(0,c.jsx)(`div`,{className:t.cn(`h-px flex-1`,s?`bg-success`:`bg-border`)})]},e.id)})})]})}y.displayName=`BreadcrumbProgress`;function b({title:e,items:n,activeId:i,onSelect:s,className:u}){return(0,c.jsx)(a.t,{title:e,padding:`sm`,className:t.cn(`category-nav--component`,u),children:(0,c.jsx)(o.o,{children:n.map(e=>{let n=e.icon,a=e.id===i;return(0,c.jsxs)(o.t,{size:`xs`,onClick:()=>s?.(e.id),"data-state":a?`active`:`inactive`,className:t.cn(`cursor-pointer transition-colors`,a?`bg-primary/10 text-primary`:`hover:bg-muted/50`),children:[!!n&&(0,c.jsx)(o.c,{variant:`icon`,className:t.cn(a?`text-primary`:`text-muted-foreground`),children:(0,c.jsx)(n,{})}),(0,c.jsxs)(o.r,{children:[(0,c.jsx)(o.u,{bold:a,children:e.label}),!!e.hint&&(0,c.jsx)(o.i,{clamp:1,children:e.hint})]}),(0,c.jsxs)(o.n,{children:[typeof e.count==`number`&&(0,c.jsx)(r.t,{variant:a?`primary`:`secondary`,className:`tabular-nums`,children:e.count}),(0,c.jsx)(l.ChevronRight,{className:t.cn(`size-4 shrink-0 text-muted-foreground/60`,a&&`text-primary`)})]})]},e.id)})})})}b.displayName=`CategoryNavCard`,exports.BreadcrumbProgress=y,exports.CategoryNavCard=b,exports.ExperienceActivityCard=_,exports.KanbanMicroBoard=u,exports.TabSwitcherCard=d,exports.TimeDistributionRuler=p,exports.VendorPerformanceCard=g,exports.defaultBreadcrumbProgressStrings=v;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { useStrings as e } from "../../../lib/strings.js";
|
|
2
2
|
import { cn as t } from "../../../lib/utils.js";
|
|
3
3
|
import { t as n } from "../../../_shared/text-DIxMTECE.js";
|
|
4
|
-
import { t as r } from "../../../_shared/badge-
|
|
5
|
-
import { t as i } from "../../../_shared/button-
|
|
6
|
-
import { t as a } from "../../../_shared/smart-card-
|
|
7
|
-
import { c as o, i as s, l as c, n as l, o as u, r as d, t as f, u as p } from "../../../_shared/item-
|
|
4
|
+
import { t as r } from "../../../_shared/badge-BVCh_hfL.js";
|
|
5
|
+
import { t as i } from "../../../_shared/button-ChCkwoOD.js";
|
|
6
|
+
import { t as a } from "../../../_shared/smart-card-MT6JjkoI.js";
|
|
7
|
+
import { c as o, i as s, l as c, n as l, o as u, r as d, t as f, u as p } from "../../../_shared/item-Cu5JbZyZ.js";
|
|
8
8
|
import { useState as m } from "react";
|
|
9
9
|
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
10
10
|
import { Check as _, ChevronRight as v, Plus as y } from "lucide-react";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_shared/chunk-D3uCBrYO.cjs`);const e=require(`../../../lib/strings.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../_shared/text-DBnY6fcL.cjs`),r=require(`../../../_shared/accordion-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_shared/chunk-D3uCBrYO.cjs`);const e=require(`../../../lib/strings.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../_shared/text-DBnY6fcL.cjs`),r=require(`../../../_shared/accordion-D5uTCLCB.cjs`),i=require(`../../../_shared/spinner-Dvaa6GUm.cjs`);let a=require(`react`),o=require(`react/jsx-runtime`),s=require(`lucide-react`);var c={regionAriaLabel:void 0,statusCompletedAria:`Completed`,statusInProgressAria:`In progress`,statusPendingAria:`Pending`};function l({status:e,ariaLabel:n,className:r}){return e===`completed`?(0,o.jsx)(`span`,{role:`img`,"aria-label":n,className:t.cn(`flex size-5 items-center justify-center`,r),children:(0,o.jsx)(s.CheckCircle2,{className:`size-5 fill-success text-background`})}):e===`in-progress`?(0,o.jsx)(`span`,{role:`img`,"aria-label":n,className:t.cn(`flex size-5 items-center justify-center rounded-full bg-warning/15 ring-1 ring-warning/30`,r),children:(0,o.jsx)(`span`,{className:`size-2 rounded-full bg-warning`})}):(0,o.jsx)(`span`,{role:`img`,"aria-label":n,className:t.cn(`flex size-5 items-center justify-center text-muted-foreground/70`,r),children:(0,o.jsx)(i.t,{className:`size-4 opacity-60`})})}l.displayName=`StepStatusIndicator`;var u={completed:`text-foreground`,"in-progress":`text-foreground`,pending:`text-muted-foreground`};function d(e,t){return e===`completed`?t.statusCompletedAria:e===`in-progress`?t.statusInProgressAria:t.statusPendingAria}function f(e){let t=e.find(e=>e.status!==`completed`&&!e.disabled);return t?[t.id]:[]}var p=(0,a.forwardRef)(function({steps:i,defaultExpanded:s,multiple:p=!1,value:m,onValueChange:h,onStepOpen:g,variant:_=`bordered`,className:v,stepClassName:y,strings:b},x){let S=e.useStrings(c,b),C=m!==void 0,w=(0,a.useMemo)(()=>s??f(i),[]),[T,E]=(0,a.useState)(w),D=(0,a.useRef)(!1),O=C?m:T,k=(0,a.useRef)(new Set(w));(0,a.useEffect)(()=>{if(C||D.current||s!==void 0||i.length===0||T.length>0)return;let e=f(i);e.length>0&&E(e)},[i,C,s,T.length]);let A=(0,a.useCallback)(e=>{let t=e??[];D.current=!0,C||E(t),h?.(t)},[C,h]);return(0,a.useEffect)(()=>{if(!g){k.current=new Set(O);return}let e=k.current;for(let t of O)e.has(t)||g(t);k.current=new Set(O)},[O,g]),(0,o.jsx)(r.o,{ref:x,multiple:p,value:O,onValueChange:A,"aria-label":S.regionAriaLabel,className:t.cn(`checklist--component`,r.a[_],v),children:i.map(e=>(0,o.jsxs)(r.c,{value:e.id,className:t.cn(r.i[_],y),children:[(0,o.jsx)(r.l,{disabled:e.disabled,className:`gap-3 px-3 py-(--row-py) hover:no-underline`,children:(0,o.jsxs)(`div`,{className:`flex w-full min-w-0 items-center gap-3 pr-2`,children:[(0,o.jsx)(l,{status:e.status,ariaLabel:d(e.status,S)}),(0,o.jsx)(n.t,{tag:`span`,weight:`semibold`,className:t.cn(u[e.status]),children:e.title}),!!e.badge&&(0,o.jsx)(`span`,{className:`ml-auto inline-flex shrink-0`,children:e.badge})]})}),!!e.content&&(0,o.jsx)(r.s,{className:r.r.withMedallion,children:(0,o.jsx)(n.t,{type:`secondary`,className:`leading-relaxed`,tag:`div`,children:e.content})})]},e.id))})});p.displayName=`OnboardingChecklist`,exports.OnboardingChecklist=p,exports.StepStatusIndicator=l,exports.defaultOnboardingChecklistStrings=c;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useStrings as e } from "../../../lib/strings.js";
|
|
2
2
|
import { cn as t } from "../../../lib/utils.js";
|
|
3
3
|
import { t as n } from "../../../_shared/text-DIxMTECE.js";
|
|
4
|
-
import { a as r, c as i, i as a, l as o, o as s, r as c, s as l } from "../../../_shared/accordion-
|
|
5
|
-
import { t as u } from "../../../_shared/spinner-
|
|
4
|
+
import { a as r, c as i, i as a, l as o, o as s, r as c, s as l } from "../../../_shared/accordion-CztqyaIN.js";
|
|
5
|
+
import { t as u } from "../../../_shared/spinner-BQjxJ_Kx.js";
|
|
6
6
|
import { forwardRef as d, useCallback as f, useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
|
|
7
7
|
import { jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
8
8
|
import { CheckCircle2 as y } from "lucide-react";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_shared/chunk-D3uCBrYO.cjs`);const e=require(`../../../lib/strings.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../_shared/text-DBnY6fcL.cjs`),r=require(`../../../_shared/badge-BjtDcU1M.cjs`),i=require(`../../../_shared/smart-card-Ddsjvf7r.cjs`);let a=require(`react/jsx-runtime`),o=require(`lucide-react`);var s={completed:{dot:`bg-success text-success-foreground`,line:`bg-success`,title:`text-foreground`,Icon:o.Check},current:{dot:`bg-primary text-white ring-4 ring-primary/20`,line:`bg-border`,title:`text-foreground`,Icon:o.Loader2},upcoming:{dot:`bg-muted text-muted-foreground`,line:`bg-border`,title:`text-muted-foreground`,Icon:o.Circle}};function c({status:e}){let{dot:n,Icon:r}=s[e],i=e===`current`;return(0,a.jsx)(`div`,{className:t.cn(`steps-card--component`,`relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-full transition-all`,n),children:(0,a.jsx)(r,{className:t.cn(`h-4 w-4`,i&&`animate-spin`)})})}function l({title:e,description:o,steps:l,footerText:u,className:d}){return(0,a.jsx)(i.t,{title:e,description:o,footerText:u,className:d,children:(0,a.jsx)(`div`,{className:`relative`,children:l.map((e,i)=>{let o=i===l.length-1,{line:u,title:d}=s[e.status];return(0,a.jsxs)(`div`,{className:`relative flex gap-4`,children:[(0,a.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,a.jsx)(c,{status:e.status}),!o&&(0,a.jsx)(`div`,{className:t.cn(`w-0.5 flex-1 min-h-6`,u)})]}),(0,a.jsxs)(`div`,{className:t.cn(`flex-1 pb-6`,o&&`pb-0`),children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,a.jsx)(n.t,{weight:`semibold`,className:d,children:e.title}),!!e.badge&&(0,a.jsx)(r.t,{variant:e.badgeVariant??`secondary`,children:e.badge})]}),!!e.description&&(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:e.description}),!!e.timestamp&&(0,a.jsx)(n.t,{size:`xxs`,type:`discrete`,className:`mt-1`,children:e.timestamp}),!!e.content&&(0,a.jsx)(`div`,{className:`mt-2`,children:e.content})]})]},e.id)})})})}l.displayName=`StepsCard`;function u({status:e,stepNumber:t}){return e===`completed`?(0,a.jsx)(`div`,{className:`relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-success text-success-foreground`,children:(0,a.jsx)(o.Check,{className:`h-4 w-4`})}):e===`current`?(0,a.jsx)(`div`,{className:`relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary text-white`,children:(0,a.jsx)(n.t,{weight:`bold`,className:`text-white`,children:t})}):(0,a.jsx)(`div`,{className:`relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border-2 border-muted text-muted-foreground`,children:(0,a.jsx)(n.t,{weight:`medium`,className:`text-muted-foreground`,children:t})})}function d({title:e,description:r,steps:o,footerText:s,className:c}){return(0,a.jsx)(i.t,{title:e,description:r,footerText:s,className:c,children:(0,a.jsx)(`div`,{className:`overflow-x-auto -mx-1 px-1`,children:(0,a.jsx)(`div`,{className:`flex min-w-fit items-start`,children:o.map((e,r)=>{let i=r===o.length-1,s=e.status===`completed`?`bg-success`:`bg-border`;return(0,a.jsx)(`div`,{className:`flex min-w-[110px] flex-1 items-start`,children:(0,a.jsxs)(`div`,{className:`flex w-full flex-col items-center`,children:[(0,a.jsxs)(`div`,{className:`flex w-full items-center`,children:[r>0&&(0,a.jsx)(`div`,{className:t.cn(`h-0.5 flex-1`,o[r-1].status===`completed`?`bg-success`:`bg-border`)}),r===0&&(0,a.jsx)(`div`,{className:`flex-1`}),(0,a.jsx)(u,{status:e.status,stepNumber:r+1}),!i&&(0,a.jsx)(`div`,{className:t.cn(`h-0.5 flex-1`,s)}),!!i&&(0,a.jsx)(`div`,{className:`flex-1`})]}),(0,a.jsxs)(`div`,{className:`mt-2 flex w-full flex-col items-center px-1 text-center`,children:[(0,a.jsx)(n.t,{size:`xs`,weight:`semibold`,className:t.cn(`leading-snug line-clamp-2`,e.status===`upcoming`?`text-muted-foreground`:`text-foreground`),children:e.title}),!!e.description&&(0,a.jsx)(n.t,{size:`xxs`,type:`secondary`,className:`mt-0.5 leading-snug line-clamp-2`,children:e.description})]})]})},e.id)})})})})}d.displayName=`StepsHorizontal`;var f={completed:`bg-success`,current:`bg-primary ring-3 ring-primary/20`,pending:`bg-muted`};function p({title:e,description:r,events:o,footerText:s,className:c}){return(0,a.jsx)(i.t,{title:e,description:r,footerText:s,className:t.cn(`order-timeline--component`,c),children:(0,a.jsx)(`div`,{className:`relative space-y-0`,children:o.map((e,r)=>(0,a.jsxs)(`div`,{className:`relative flex gap-3 pb-4 last:pb-0`,children:[r!==o.length-1&&(0,a.jsx)(`div`,{className:`absolute left-[5px] top-[14px] h-[calc(100%-6px)] w-px bg-border`}),(0,a.jsx)(`div`,{className:`relative z-10 mt-[5px] flex-shrink-0`,children:(0,a.jsx)(`div`,{className:t.cn(`h-[11px] w-[11px] rounded-full`,f[e.status])})}),(0,a.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,a.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,a.jsx)(n.t,{weight:`medium`,className:`truncate`,children:e.title}),(0,a.jsx)(n.t,{size:`xxs`,type:`secondary`,className:`flex-shrink-0 font-mono tabular-nums`,children:e.timestamp})]}),!!e.description&&(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:e.description})]})]},e.id))})})}function m({events:e,className:r}){return(0,a.jsx)(i.t,{title:`Payment Timeline`,className:t.cn(`payment-timeline--component`,r),children:(0,a.jsx)(`div`,{className:`mt-5 space-y-0`,children:e.map((r,i)=>{let o=r.icon;return(0,a.jsxs)(`div`,{className:`flex gap-4`,children:[(0,a.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,a.jsx)(`div`,{className:t.cn(`flex size-8 items-center justify-center rounded-full`,r.done?`bg-success/20`:`bg-muted`),children:(0,a.jsx)(o,{className:t.cn(`size-3.5`,r.done?`text-success`:`text-muted-foreground`)})}),i<e.length-1&&(0,a.jsx)(`div`,{className:t.cn(`mt-1 h-8 w-px`,r.done?`bg-success/30`:`bg-border`)})]}),(0,a.jsxs)(`div`,{className:`pb-6`,children:[(0,a.jsx)(n.t,{weight:`medium`,children:r.label}),(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,children:r.date}),!!r.amount&&(0,a.jsx)(n.t,{size:`xs`,weight:`medium`,className:`mt-0.5 tabular-nums text-success`,children:r.amount})]})]},r.label)})})})}var h={title:`Activity`,empty:`No activity yet`},g={primary:`bg-primary/10 text-primary`,secondary:`bg-secondary text-secondary-foreground`,success:`bg-success/15 text-success`,info:`bg-info/15 text-info`,warning:`bg-warning/30 text-warning-foreground`,error:`bg-destructive/15 text-destructive`};function _({items:r,className:s,strings:c}){let l=e.useStrings(h,c);return r.length===0?(0,a.jsx)(i.t,{icon:(0,a.jsx)(o.Activity,{className:`size-4`}),title:l.title,className:t.cn(`activity-stream--component`,s),children:(0,a.jsx)(n.t,{type:`secondary`,align:`center`,className:`py-6`,children:l.empty})}):(0,a.jsx)(i.t,{icon:(0,a.jsx)(o.Activity,{className:`size-4`}),title:l.title,className:s,children:(0,a.jsx)(`ul`,{className:`space-y-3`,children:r.map((e,i)=>{let s=e.icon??o.Circle,c=i===r.length-1;return(0,a.jsxs)(`li`,{className:`relative flex gap-3`,children:[(0,a.jsxs)(`div`,{className:`relative flex flex-col items-center`,children:[(0,a.jsx)(`div`,{className:t.cn(`flex size-7 items-center justify-center rounded-full`,g[e.iconVariant??`primary`]),children:(0,a.jsx)(s,{className:`size-3.5`})}),!c&&(0,a.jsx)(`div`,{className:`mt-1 w-px flex-1 bg-border`})]}),(0,a.jsxs)(`div`,{className:`min-w-0 flex-1 pb-3`,children:[(0,a.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-1.5`,children:[!!e.actor&&(0,a.jsx)(n.t,{tag:`span`,weight:`semibold`,children:e.actor}),(0,a.jsx)(n.t,{tag:`span`,type:`secondary`,children:e.action}),!!e.target&&(0,a.jsx)(n.t,{tag:`span`,weight:`medium`,children:e.target})]}),!!e.metadata&&e.metadata.length>0&&(0,a.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-x-3 gap-y-0.5`,children:e.metadata.map(e=>(0,a.jsxs)(n.t,{size:`xs`,type:`secondary`,children:[(0,a.jsxs)(n.t,{tag:`span`,size:`xs`,type:`discrete`,children:[e.label,`: `]}),e.value]},e.label))}),(0,a.jsx)(n.t,{size:`xxs`,type:`discrete`,className:`mt-0.5 tabular-nums`,children:e.timestamp})]})]},e.id)})})})}_.displayName=`ActivityStreamCard`;var v={sm:`size-2.5`,base:`size-3.5`,lg:`size-5`},y={sm:`size-2`,base:`size-2.5`,lg:`size-3`},b={completed:{bg:`bg-success`,text:`text-success-foreground`,ring:`ring-success/20`,line:`bg-success/40`},current:{bg:`bg-primary`,text:`text-primary-foreground`,ring:`ring-primary/30`,line:`bg-primary/40`},pending:{bg:`bg-muted`,text:`text-muted-foreground`,ring:`ring-border`,line:`bg-border`},success:{bg:`bg-success`,text:`text-success-foreground`,ring:`ring-success/20`,line:`bg-success/40`},warning:{bg:`bg-warning`,text:`text-warning-foreground`,ring:`ring-warning/30`,line:`bg-warning/40`},error:{bg:`bg-destructive`,text:`text-destructive-foreground`,ring:`ring-destructive/30`,line:`bg-destructive/40`},neutral:{bg:`bg-card`,text:`text-foreground`,ring:`ring-border`,line:`bg-border`}};function x({items:e,dotSize:r=`base`,className:i}){return(0,a.jsx)(`ol`,{className:t.cn(`timeline--component`,`relative space-y-4`,i),children:e.map((i,o)=>{let s=b[i.status??`neutral`],c=i.icon;return(0,a.jsxs)(`li`,{className:`relative flex gap-3`,children:[o!==e.length-1&&(0,a.jsx)(`span`,{"aria-hidden":`true`,className:t.cn(`absolute left-[7px] top-4 bottom-[-1rem] w-px`,s.line,r===`lg`&&`left-[10px]`,r===`sm`&&`left-[5px]`)}),(0,a.jsx)(`div`,{className:`relative z-[1] mt-0.5 flex shrink-0 items-start`,children:(0,a.jsx)(`span`,{className:t.cn(`inline-flex items-center justify-center rounded-full ring-2`,s.bg,s.text,s.ring,v[r]),children:!!c&&(0,a.jsx)(c,{className:y[r]})})}),(0,a.jsxs)(`div`,{className:`min-w-0 flex-1 pb-2`,children:[(0,a.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,a.jsx)(n.t,{weight:`medium`,className:`leading-tight`,children:i.title}),!!i.timestamp&&(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:i.timestamp})]}),!!i.description&&(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:i.description}),!!i.children&&(0,a.jsx)(`div`,{className:`mt-2`,children:i.children})]})]},i.id)})})}x.displayName=`Timeline`;var S={title:`Changelog`,added:`Added`,removed:`Removed`,modified:`Modified`,fixed:`Fixed`},C={added:`success`,removed:`error`,modified:`warning`,fixed:`current`},w={added:`success`,removed:`error`,modified:`warning`,fixed:`info`},T={added:o.Plus,removed:o.Minus,modified:o.Wrench,fixed:o.GitCommit};function E({entries:s,className:c,strings:l}){let u=e.useStrings(S,l),d={added:u.added,removed:u.removed,modified:u.modified,fixed:u.fixed},f=s.map(e=>({id:e.id,title:(0,a.jsxs)(`span`,{className:`inline-flex flex-wrap items-center gap-1.5`,children:[(0,a.jsx)(r.t,{variant:w[e.kind],children:d[e.kind]}),(0,a.jsx)(`span`,{children:e.title}),!!e.version&&(0,a.jsx)(n.t,{tag:`span`,size:`xxs`,type:`secondary`,className:`font-mono`,children:e.version})]}),description:e.author?(0,a.jsxs)(a.Fragment,{children:[e.description,(0,a.jsxs)(n.t,{tag:`span`,size:`xxs`,type:`discrete`,className:`ml-2`,children:[`— `,e.author]})]}):e.description,timestamp:e.timestamp,icon:T[e.kind],status:C[e.kind]}));return(0,a.jsx)(i.t,{icon:(0,a.jsx)(o.GitCommit,{className:`size-4`}),title:u.title,className:t.cn(`changelog-timeline--component`,c),children:(0,a.jsx)(x,{items:f,dotSize:`base`})})}E.displayName=`ChangelogTimelineCard`;var D={title:`Milestones`,completed:`Completed`,in_progress:`In progress`,upcoming:`Upcoming`,blocked:`Blocked`,dueOn:`Due`},O={completed:`completed`,in_progress:`current`,upcoming:`pending`,blocked:`error`},k={completed:o.Check,in_progress:o.Clock,upcoming:o.Circle,blocked:o.X},A={completed:`success`,in_progress:`primary`,upcoming:`secondary`,blocked:`error`};function j({milestones:s,className:c,strings:l}){let u=e.useStrings(D,l),d={completed:u.completed,in_progress:u.in_progress,upcoming:u.upcoming,blocked:u.blocked},f=s.map(e=>({id:e.id,title:(0,a.jsxs)(`span`,{className:`inline-flex flex-wrap items-center gap-1.5`,children:[(0,a.jsx)(`span`,{children:e.title}),(0,a.jsx)(r.t,{variant:A[e.status],children:d[e.status]})]}),description:e.description,timestamp:e.dueDate?`${u.dueOn} ${e.dueDate}`:void 0,icon:k[e.status],status:O[e.status],children:e.status===`in_progress`&&typeof e.progress==`number`?(0,a.jsxs)(`div`,{className:`space-y-1`,children:[(0,a.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,a.jsx)(`div`,{className:t.cn(`h-full rounded-full bg-primary transition-[width] duration-300`),style:{width:`${Math.max(0,Math.min(100,e.progress))}%`}})}),(0,a.jsxs)(n.t,{size:`xxs`,type:`secondary`,className:`tabular-nums`,children:[Math.round(e.progress),`%`]})]}):void 0}));return(0,a.jsx)(i.t,{icon:(0,a.jsx)(o.Flag,{className:`size-4`}),title:u.title,className:t.cn(`milestones-timeline--component`,c),children:(0,a.jsx)(x,{items:f,dotSize:`base`})})}j.displayName=`MilestonesTimelineCard`,exports.ActivityStreamCard=_,exports.ChangelogTimelineCard=E,exports.MilestonesTimelineCard=j,exports.OrderTimelineCard=p,exports.PaymentTimelineCard=m,exports.StepsCard=l,exports.StepsHorizontal=d,exports.Timeline=x,exports.defaultActivityStreamStrings=h,exports.defaultChangelogTimelineStrings=S,exports.defaultMilestonesTimelineStrings=D;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_shared/chunk-D3uCBrYO.cjs`);const e=require(`../../../lib/strings.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../_shared/text-DBnY6fcL.cjs`),r=require(`../../../_shared/badge-C49SSz-6.cjs`),i=require(`../../../_shared/smart-card-Bm_VxYUG.cjs`);let a=require(`react/jsx-runtime`),o=require(`lucide-react`);var s={completed:{dot:`bg-success text-success-foreground`,line:`bg-success`,title:`text-foreground`,Icon:o.Check},current:{dot:`bg-primary text-white ring-4 ring-primary/20`,line:`bg-border`,title:`text-foreground`,Icon:o.Loader2},upcoming:{dot:`bg-muted text-muted-foreground`,line:`bg-border`,title:`text-muted-foreground`,Icon:o.Circle}};function c({status:e}){let{dot:n,Icon:r}=s[e],i=e===`current`;return(0,a.jsx)(`div`,{className:t.cn(`steps-card--component`,`relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-full transition-all`,n),children:(0,a.jsx)(r,{className:t.cn(`h-4 w-4`,i&&`animate-spin`)})})}function l({title:e,description:o,steps:l,footerText:u,className:d}){return(0,a.jsx)(i.t,{title:e,description:o,footerText:u,className:d,children:(0,a.jsx)(`div`,{className:`relative`,children:l.map((e,i)=>{let o=i===l.length-1,{line:u,title:d}=s[e.status];return(0,a.jsxs)(`div`,{className:`relative flex gap-4`,children:[(0,a.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,a.jsx)(c,{status:e.status}),!o&&(0,a.jsx)(`div`,{className:t.cn(`w-0.5 flex-1 min-h-6`,u)})]}),(0,a.jsxs)(`div`,{className:t.cn(`flex-1 pb-6`,o&&`pb-0`),children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,a.jsx)(n.t,{weight:`semibold`,className:d,children:e.title}),!!e.badge&&(0,a.jsx)(r.t,{variant:e.badgeVariant??`secondary`,children:e.badge})]}),!!e.description&&(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:e.description}),!!e.timestamp&&(0,a.jsx)(n.t,{size:`xxs`,type:`discrete`,className:`mt-1`,children:e.timestamp}),!!e.content&&(0,a.jsx)(`div`,{className:`mt-2`,children:e.content})]})]},e.id)})})})}l.displayName=`StepsCard`;function u({status:e,stepNumber:t}){return e===`completed`?(0,a.jsx)(`div`,{className:`relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-success text-success-foreground`,children:(0,a.jsx)(o.Check,{className:`h-4 w-4`})}):e===`current`?(0,a.jsx)(`div`,{className:`relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary text-white`,children:(0,a.jsx)(n.t,{weight:`bold`,className:`text-white`,children:t})}):(0,a.jsx)(`div`,{className:`relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border-2 border-muted text-muted-foreground`,children:(0,a.jsx)(n.t,{weight:`medium`,className:`text-muted-foreground`,children:t})})}function d({title:e,description:r,steps:o,footerText:s,className:c}){return(0,a.jsx)(i.t,{title:e,description:r,footerText:s,className:c,children:(0,a.jsx)(`div`,{className:`overflow-x-auto -mx-1 px-1`,children:(0,a.jsx)(`div`,{className:`flex min-w-fit items-start`,children:o.map((e,r)=>{let i=r===o.length-1,s=e.status===`completed`?`bg-success`:`bg-border`;return(0,a.jsx)(`div`,{className:`flex min-w-[110px] flex-1 items-start`,children:(0,a.jsxs)(`div`,{className:`flex w-full flex-col items-center`,children:[(0,a.jsxs)(`div`,{className:`flex w-full items-center`,children:[r>0&&(0,a.jsx)(`div`,{className:t.cn(`h-0.5 flex-1`,o[r-1].status===`completed`?`bg-success`:`bg-border`)}),r===0&&(0,a.jsx)(`div`,{className:`flex-1`}),(0,a.jsx)(u,{status:e.status,stepNumber:r+1}),!i&&(0,a.jsx)(`div`,{className:t.cn(`h-0.5 flex-1`,s)}),!!i&&(0,a.jsx)(`div`,{className:`flex-1`})]}),(0,a.jsxs)(`div`,{className:`mt-2 flex w-full flex-col items-center px-1 text-center`,children:[(0,a.jsx)(n.t,{size:`xs`,weight:`semibold`,className:t.cn(`leading-snug line-clamp-2`,e.status===`upcoming`?`text-muted-foreground`:`text-foreground`),children:e.title}),!!e.description&&(0,a.jsx)(n.t,{size:`xxs`,type:`secondary`,className:`mt-0.5 leading-snug line-clamp-2`,children:e.description})]})]})},e.id)})})})})}d.displayName=`StepsHorizontal`;var f={completed:`bg-success`,current:`bg-primary ring-3 ring-primary/20`,pending:`bg-muted`};function p({title:e,description:r,events:o,footerText:s,className:c}){return(0,a.jsx)(i.t,{title:e,description:r,footerText:s,className:t.cn(`order-timeline--component`,c),children:(0,a.jsx)(`div`,{className:`relative space-y-0`,children:o.map((e,r)=>(0,a.jsxs)(`div`,{className:`relative flex gap-3 pb-4 last:pb-0`,children:[r!==o.length-1&&(0,a.jsx)(`div`,{className:`absolute left-[5px] top-[14px] h-[calc(100%-6px)] w-px bg-border`}),(0,a.jsx)(`div`,{className:`relative z-10 mt-[5px] flex-shrink-0`,children:(0,a.jsx)(`div`,{className:t.cn(`h-[11px] w-[11px] rounded-full`,f[e.status])})}),(0,a.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,a.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,a.jsx)(n.t,{weight:`medium`,className:`truncate`,children:e.title}),(0,a.jsx)(n.t,{size:`xxs`,type:`secondary`,className:`flex-shrink-0 font-mono tabular-nums`,children:e.timestamp})]}),!!e.description&&(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:e.description})]})]},e.id))})})}function m({events:e,className:r}){return(0,a.jsx)(i.t,{title:`Payment Timeline`,className:t.cn(`payment-timeline--component`,r),children:(0,a.jsx)(`div`,{className:`mt-5 space-y-0`,children:e.map((r,i)=>{let o=r.icon;return(0,a.jsxs)(`div`,{className:`flex gap-4`,children:[(0,a.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,a.jsx)(`div`,{className:t.cn(`flex size-8 items-center justify-center rounded-full`,r.done?`bg-success/20`:`bg-muted`),children:(0,a.jsx)(o,{className:t.cn(`size-3.5`,r.done?`text-success`:`text-muted-foreground`)})}),i<e.length-1&&(0,a.jsx)(`div`,{className:t.cn(`mt-1 h-8 w-px`,r.done?`bg-success/30`:`bg-border`)})]}),(0,a.jsxs)(`div`,{className:`pb-6`,children:[(0,a.jsx)(n.t,{weight:`medium`,children:r.label}),(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,children:r.date}),!!r.amount&&(0,a.jsx)(n.t,{size:`xs`,weight:`medium`,className:`mt-0.5 tabular-nums text-success`,children:r.amount})]})]},r.label)})})})}var h={title:`Activity`,empty:`No activity yet`},g={primary:`bg-primary/10 text-primary`,secondary:`bg-secondary text-secondary-foreground`,success:`bg-success/15 text-success`,info:`bg-info/15 text-info`,warning:`bg-warning/30 text-warning-foreground`,error:`bg-destructive/15 text-destructive`};function _({items:r,className:s,strings:c}){let l=e.useStrings(h,c);return r.length===0?(0,a.jsx)(i.t,{icon:(0,a.jsx)(o.Activity,{className:`size-4`}),title:l.title,className:t.cn(`activity-stream--component`,s),children:(0,a.jsx)(n.t,{type:`secondary`,align:`center`,className:`py-6`,children:l.empty})}):(0,a.jsx)(i.t,{icon:(0,a.jsx)(o.Activity,{className:`size-4`}),title:l.title,className:s,children:(0,a.jsx)(`ul`,{className:`space-y-3`,children:r.map((e,i)=>{let s=e.icon??o.Circle,c=i===r.length-1;return(0,a.jsxs)(`li`,{className:`relative flex gap-3`,children:[(0,a.jsxs)(`div`,{className:`relative flex flex-col items-center`,children:[(0,a.jsx)(`div`,{className:t.cn(`flex size-7 items-center justify-center rounded-full`,g[e.iconVariant??`primary`]),children:(0,a.jsx)(s,{className:`size-3.5`})}),!c&&(0,a.jsx)(`div`,{className:`mt-1 w-px flex-1 bg-border`})]}),(0,a.jsxs)(`div`,{className:`min-w-0 flex-1 pb-3`,children:[(0,a.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-1.5`,children:[!!e.actor&&(0,a.jsx)(n.t,{tag:`span`,weight:`semibold`,children:e.actor}),(0,a.jsx)(n.t,{tag:`span`,type:`secondary`,children:e.action}),!!e.target&&(0,a.jsx)(n.t,{tag:`span`,weight:`medium`,children:e.target})]}),!!e.metadata&&e.metadata.length>0&&(0,a.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-x-3 gap-y-0.5`,children:e.metadata.map(e=>(0,a.jsxs)(n.t,{size:`xs`,type:`secondary`,children:[(0,a.jsxs)(n.t,{tag:`span`,size:`xs`,type:`discrete`,children:[e.label,`: `]}),e.value]},e.label))}),(0,a.jsx)(n.t,{size:`xxs`,type:`discrete`,className:`mt-0.5 tabular-nums`,children:e.timestamp})]})]},e.id)})})})}_.displayName=`ActivityStreamCard`;var v={sm:`size-2.5`,base:`size-3.5`,lg:`size-5`},y={sm:`size-2`,base:`size-2.5`,lg:`size-3`},b={completed:{bg:`bg-success`,text:`text-success-foreground`,ring:`ring-success/20`,line:`bg-success/40`},current:{bg:`bg-primary`,text:`text-primary-foreground`,ring:`ring-primary/30`,line:`bg-primary/40`},pending:{bg:`bg-muted`,text:`text-muted-foreground`,ring:`ring-border`,line:`bg-border`},success:{bg:`bg-success`,text:`text-success-foreground`,ring:`ring-success/20`,line:`bg-success/40`},warning:{bg:`bg-warning`,text:`text-warning-foreground`,ring:`ring-warning/30`,line:`bg-warning/40`},error:{bg:`bg-destructive`,text:`text-destructive-foreground`,ring:`ring-destructive/30`,line:`bg-destructive/40`},neutral:{bg:`bg-card`,text:`text-foreground`,ring:`ring-border`,line:`bg-border`}};function x({items:e,dotSize:r=`base`,className:i}){return(0,a.jsx)(`ol`,{className:t.cn(`timeline--component`,`relative space-y-4`,i),children:e.map((i,o)=>{let s=b[i.status??`neutral`],c=i.icon;return(0,a.jsxs)(`li`,{className:`relative flex gap-3`,children:[o!==e.length-1&&(0,a.jsx)(`span`,{"aria-hidden":`true`,className:t.cn(`absolute left-[7px] top-4 bottom-[-1rem] w-px`,s.line,r===`lg`&&`left-[10px]`,r===`sm`&&`left-[5px]`)}),(0,a.jsx)(`div`,{className:`relative z-[1] mt-0.5 flex shrink-0 items-start`,children:(0,a.jsx)(`span`,{className:t.cn(`inline-flex items-center justify-center rounded-full ring-2`,s.bg,s.text,s.ring,v[r]),children:!!c&&(0,a.jsx)(c,{className:y[r]})})}),(0,a.jsxs)(`div`,{className:`min-w-0 flex-1 pb-2`,children:[(0,a.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,a.jsx)(n.t,{weight:`medium`,className:`leading-tight`,children:i.title}),!!i.timestamp&&(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:i.timestamp})]}),!!i.description&&(0,a.jsx)(n.t,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:i.description}),!!i.children&&(0,a.jsx)(`div`,{className:`mt-2`,children:i.children})]})]},i.id)})})}x.displayName=`Timeline`;var S={title:`Changelog`,added:`Added`,removed:`Removed`,modified:`Modified`,fixed:`Fixed`},C={added:`success`,removed:`error`,modified:`warning`,fixed:`current`},w={added:`success`,removed:`error`,modified:`warning`,fixed:`info`},T={added:o.Plus,removed:o.Minus,modified:o.Wrench,fixed:o.GitCommit};function E({entries:s,className:c,strings:l}){let u=e.useStrings(S,l),d={added:u.added,removed:u.removed,modified:u.modified,fixed:u.fixed},f=s.map(e=>({id:e.id,title:(0,a.jsxs)(`span`,{className:`inline-flex flex-wrap items-center gap-1.5`,children:[(0,a.jsx)(r.t,{variant:w[e.kind],children:d[e.kind]}),(0,a.jsx)(`span`,{children:e.title}),!!e.version&&(0,a.jsx)(n.t,{tag:`span`,size:`xxs`,type:`secondary`,className:`font-mono`,children:e.version})]}),description:e.author?(0,a.jsxs)(a.Fragment,{children:[e.description,(0,a.jsxs)(n.t,{tag:`span`,size:`xxs`,type:`discrete`,className:`ml-2`,children:[`— `,e.author]})]}):e.description,timestamp:e.timestamp,icon:T[e.kind],status:C[e.kind]}));return(0,a.jsx)(i.t,{icon:(0,a.jsx)(o.GitCommit,{className:`size-4`}),title:u.title,className:t.cn(`changelog-timeline--component`,c),children:(0,a.jsx)(x,{items:f,dotSize:`base`})})}E.displayName=`ChangelogTimelineCard`;var D={title:`Milestones`,completed:`Completed`,in_progress:`In progress`,upcoming:`Upcoming`,blocked:`Blocked`,dueOn:`Due`},O={completed:`completed`,in_progress:`current`,upcoming:`pending`,blocked:`error`},k={completed:o.Check,in_progress:o.Clock,upcoming:o.Circle,blocked:o.X},A={completed:`success`,in_progress:`primary`,upcoming:`secondary`,blocked:`error`};function j({milestones:s,className:c,strings:l}){let u=e.useStrings(D,l),d={completed:u.completed,in_progress:u.in_progress,upcoming:u.upcoming,blocked:u.blocked},f=s.map(e=>({id:e.id,title:(0,a.jsxs)(`span`,{className:`inline-flex flex-wrap items-center gap-1.5`,children:[(0,a.jsx)(`span`,{children:e.title}),(0,a.jsx)(r.t,{variant:A[e.status],children:d[e.status]})]}),description:e.description,timestamp:e.dueDate?`${u.dueOn} ${e.dueDate}`:void 0,icon:k[e.status],status:O[e.status],children:e.status===`in_progress`&&typeof e.progress==`number`?(0,a.jsxs)(`div`,{className:`space-y-1`,children:[(0,a.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,a.jsx)(`div`,{className:t.cn(`h-full rounded-full bg-primary transition-[width] duration-300`),style:{width:`${Math.max(0,Math.min(100,e.progress))}%`}})}),(0,a.jsxs)(n.t,{size:`xxs`,type:`secondary`,className:`tabular-nums`,children:[Math.round(e.progress),`%`]})]}):void 0}));return(0,a.jsx)(i.t,{icon:(0,a.jsx)(o.Flag,{className:`size-4`}),title:u.title,className:t.cn(`milestones-timeline--component`,c),children:(0,a.jsx)(x,{items:f,dotSize:`base`})})}j.displayName=`MilestonesTimelineCard`,exports.ActivityStreamCard=_,exports.ChangelogTimelineCard=E,exports.MilestonesTimelineCard=j,exports.OrderTimelineCard=p,exports.PaymentTimelineCard=m,exports.StepsCard=l,exports.StepsHorizontal=d,exports.Timeline=x,exports.defaultActivityStreamStrings=h,exports.defaultChangelogTimelineStrings=S,exports.defaultMilestonesTimelineStrings=D;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|