admin-ui-starter-kit 0.6.5 → 0.6.7
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/references/components/base__cards.md +7 -8
- package/.agents/skills/component-library-rules/references/components/base__carousel.md +4 -4
- package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__css-variables.md +2 -1
- package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__table.md +32 -11
- package/.agents/skills/component-library-rules/references/components/base__typography.md +1 -1
- package/.agents/skills/component-library-rules/references/components/composed__metadata-list.md +3 -3
- package/.agents/skills/component-library-rules/references/components/features__activities.md +1 -1
- package/.agents/skills/component-library-rules/references/components/features__enhanced-activities.md +6 -6
- package/.agents/skills/component-library-rules/references/components/features__metrics-overview.md +3 -3
- package/.agents/skills/component-library-rules/references/components/features__overlays.md +2 -2
- package/.agents/skills/component-library-rules/references/components/features__products.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-app-shell.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +3 -3
- package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
- package/dist/_shared/accordion-CxjH2WZG.js +135 -0
- package/dist/_shared/accordion-CxjH2WZG.js.map +1 -0
- package/dist/_shared/accordion-mTdJmy23.cjs +2 -0
- package/dist/_shared/accordion-mTdJmy23.cjs.map +1 -0
- package/dist/_shared/action-menu-BrHF4nss.cjs +2 -0
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +1 -0
- package/dist/_shared/action-menu-Crn22LKo.js +96 -0
- package/dist/_shared/action-menu-Crn22LKo.js.map +1 -0
- package/dist/_shared/ai-artifact-CS2Pv-bu.js +1099 -0
- package/dist/_shared/ai-artifact-CS2Pv-bu.js.map +1 -0
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs +3 -0
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs.map +1 -0
- package/dist/_shared/alert-BisCSsOE.cjs +2 -0
- package/dist/_shared/alert-BisCSsOE.cjs.map +1 -0
- package/dist/_shared/alert-D23Q7I0W.js +81 -0
- package/dist/_shared/alert-D23Q7I0W.js.map +1 -0
- package/dist/_shared/app-shell-BZQJfTkf.cjs +2 -0
- package/dist/_shared/app-shell-BZQJfTkf.cjs.map +1 -0
- package/dist/_shared/app-shell-Da6GHxTZ.js +69 -0
- package/dist/_shared/app-shell-Da6GHxTZ.js.map +1 -0
- package/dist/_shared/auth-BV9Daibu.cjs +2 -0
- package/dist/_shared/auth-BV9Daibu.cjs.map +1 -0
- package/dist/_shared/auth-DACpcTnL.js +643 -0
- package/dist/_shared/auth-DACpcTnL.js.map +1 -0
- package/dist/_shared/badge-B4oBB5BJ.js +110 -0
- package/dist/_shared/badge-B4oBB5BJ.js.map +1 -0
- package/dist/_shared/badge-DvUA9Pr2.cjs +2 -0
- package/dist/_shared/badge-DvUA9Pr2.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-CuT0YIfo.js +105 -0
- package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +1 -0
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +2 -0
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +1 -0
- package/dist/_shared/button-BMiPFJIb.cjs +2 -0
- package/dist/_shared/button-BMiPFJIb.cjs.map +1 -0
- package/dist/_shared/button-vv59_uS_.js +189 -0
- package/dist/_shared/button-vv59_uS_.js.map +1 -0
- package/dist/_shared/buttons-CvqIMv3I.js +137 -0
- package/dist/_shared/buttons-CvqIMv3I.js.map +1 -0
- package/dist/_shared/buttons-tCkWktN3.cjs +2 -0
- package/dist/_shared/buttons-tCkWktN3.cjs.map +1 -0
- package/dist/_shared/card-radio-group-BL--IyPB.js +150 -0
- package/dist/_shared/card-radio-group-BL--IyPB.js.map +1 -0
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs +2 -0
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs.map +1 -0
- package/dist/_shared/cards-CMNXFo3Y.js +354 -0
- package/dist/_shared/cards-CMNXFo3Y.js.map +1 -0
- package/dist/_shared/cards-DQN9fcwo.cjs +2 -0
- package/dist/_shared/cards-DQN9fcwo.cjs.map +1 -0
- package/dist/_shared/combobox-D0avSXIB.cjs +2 -0
- package/dist/_shared/combobox-D0avSXIB.cjs.map +1 -0
- package/dist/_shared/combobox-Df0srISK.js +954 -0
- package/dist/_shared/combobox-Df0srISK.js.map +1 -0
- package/dist/_shared/command-B5BpMgBT.js +39 -0
- package/dist/_shared/command-B5BpMgBT.js.map +1 -0
- package/dist/_shared/command-en62SpQ7.cjs +2 -0
- package/dist/_shared/command-en62SpQ7.cjs.map +1 -0
- package/dist/_shared/comments-CfkortDW.js +952 -0
- package/dist/_shared/comments-CfkortDW.js.map +1 -0
- package/dist/_shared/comments-yVd7QMOu.cjs +2 -0
- package/dist/_shared/comments-yVd7QMOu.cjs.map +1 -0
- package/dist/_shared/copyable-Cn7tRGL5.js +38 -0
- package/dist/_shared/copyable-Cn7tRGL5.js.map +1 -0
- package/dist/_shared/copyable-CoKTxMSP.cjs +2 -0
- package/dist/_shared/copyable-CoKTxMSP.cjs.map +1 -0
- package/dist/_shared/data-display-BG7CD164.js +1873 -0
- package/dist/_shared/data-display-BG7CD164.js.map +1 -0
- package/dist/_shared/data-display-CXVoX3la.cjs +2 -0
- package/dist/_shared/data-display-CXVoX3la.cjs.map +1 -0
- package/dist/_shared/date-picker-Bf-nnyi-.js +1361 -0
- package/dist/_shared/date-picker-Bf-nnyi-.js.map +1 -0
- package/dist/_shared/date-picker-Cox4PAUt.cjs +2 -0
- package/dist/_shared/date-picker-Cox4PAUt.cjs.map +1 -0
- package/dist/_shared/date-pickers-DbN4q0dn.cjs +2 -0
- package/dist/_shared/date-pickers-DbN4q0dn.cjs.map +1 -0
- package/dist/_shared/date-pickers-DvrOCP-s.js +329 -0
- package/dist/_shared/date-pickers-DvrOCP-s.js.map +1 -0
- package/dist/_shared/display-BQijMo37.js +986 -0
- package/dist/_shared/display-BQijMo37.js.map +1 -0
- package/dist/_shared/display-C0ut-Lew.cjs +2 -0
- package/dist/_shared/display-C0ut-Lew.cjs.map +1 -0
- package/dist/_shared/form-sizing-DJus3nK3.cjs +2 -0
- package/dist/_shared/form-sizing-DJus3nK3.cjs.map +1 -0
- package/dist/_shared/form-sizing-DWjJsQSR.js +42 -0
- package/dist/_shared/form-sizing-DWjJsQSR.js.map +1 -0
- package/dist/_shared/forms-BjG7QIb1.cjs +2 -0
- package/dist/_shared/forms-BjG7QIb1.cjs.map +1 -0
- package/dist/_shared/forms-DljDdyXR.js +3533 -0
- package/dist/_shared/forms-DljDdyXR.js.map +1 -0
- package/dist/_shared/header-BpFJRINR.cjs +2 -0
- package/dist/_shared/header-BpFJRINR.cjs.map +1 -0
- package/dist/_shared/header-CKqQF4_r.js +447 -0
- package/dist/_shared/header-CKqQF4_r.js.map +1 -0
- package/dist/_shared/hooks-DcCkbP1F.js +95 -0
- package/dist/_shared/hooks-DcCkbP1F.js.map +1 -0
- package/dist/_shared/hooks-RkLytuGj.cjs +2 -0
- package/dist/_shared/hooks-RkLytuGj.cjs.map +1 -0
- package/dist/_shared/input-Cin0qpjj.js +182 -0
- package/dist/_shared/input-Cin0qpjj.js.map +1 -0
- package/dist/_shared/input-uuWeiagN.cjs +2 -0
- package/dist/_shared/input-uuWeiagN.cjs.map +1 -0
- package/dist/_shared/item-CIlSaQg8.js +226 -0
- package/dist/_shared/item-CIlSaQg8.js.map +1 -0
- package/dist/_shared/item-CSk9Y2qB.cjs +2 -0
- package/dist/_shared/item-CSk9Y2qB.cjs.map +1 -0
- package/dist/_shared/layout-Cun0HPL4.cjs +2 -0
- package/dist/_shared/layout-Cun0HPL4.cjs.map +1 -0
- package/dist/_shared/layout-HrU5gwH3.js +261 -0
- package/dist/_shared/layout-HrU5gwH3.js.map +1 -0
- package/dist/_shared/mentions-BqN82Fon.cjs +2 -0
- package/dist/_shared/mentions-BqN82Fon.cjs.map +1 -0
- package/dist/_shared/mentions-DV0FT1Th.js +506 -0
- package/dist/_shared/mentions-DV0FT1Th.js.map +1 -0
- package/dist/_shared/money-display-D5FCRhzB.cjs +2 -0
- package/dist/_shared/money-display-D5FCRhzB.cjs.map +1 -0
- package/dist/_shared/money-display-FcCAQDCz.js +198 -0
- package/dist/_shared/money-display-FcCAQDCz.js.map +1 -0
- package/dist/_shared/navigation-CI_Dd8jM.js +436 -0
- package/dist/_shared/navigation-CI_Dd8jM.js.map +1 -0
- package/dist/_shared/navigation-DUGhCPzJ.cjs +2 -0
- package/dist/_shared/navigation-DUGhCPzJ.cjs.map +1 -0
- package/dist/_shared/overlays-BRLemLSn.cjs +2 -0
- package/dist/_shared/overlays-BRLemLSn.cjs.map +1 -0
- package/dist/_shared/overlays-Bef7VNYY.js +735 -0
- package/dist/_shared/overlays-Bef7VNYY.js.map +1 -0
- package/dist/_shared/popover-menu-CAjhhTfX.js +93 -0
- package/dist/_shared/popover-menu-CAjhhTfX.js.map +1 -0
- package/dist/_shared/popover-menu-DlkRgOkR.cjs +2 -0
- package/dist/_shared/popover-menu-DlkRgOkR.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js +620 -0
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js.map +1 -0
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs +2 -0
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs.map +1 -0
- package/dist/_shared/settings-CNT4-6u8.cjs +2 -0
- package/dist/_shared/settings-CNT4-6u8.cjs.map +1 -0
- package/dist/_shared/settings-CRP6409J.js +143 -0
- package/dist/_shared/settings-CRP6409J.js.map +1 -0
- package/dist/_shared/sidebar-B0LcBrfI.cjs +2 -0
- package/dist/_shared/sidebar-B0LcBrfI.cjs.map +1 -0
- package/dist/_shared/sidebar-Bc6JsOTD.js +548 -0
- package/dist/_shared/sidebar-Bc6JsOTD.js.map +1 -0
- package/dist/_shared/spinner-CVG62sGs.js +67 -0
- package/dist/_shared/spinner-CVG62sGs.js.map +1 -0
- package/dist/_shared/spinner-VjdonFU2.cjs +2 -0
- package/dist/_shared/spinner-VjdonFU2.cjs.map +1 -0
- package/dist/_shared/table-_yujELN3.js +1377 -0
- package/dist/_shared/table-_yujELN3.js.map +1 -0
- package/dist/_shared/table-iV8H1AE0.cjs +2 -0
- package/dist/_shared/table-iV8H1AE0.cjs.map +1 -0
- package/dist/_shared/textarea-B4zbbqff.cjs +2 -0
- package/dist/_shared/textarea-B4zbbqff.cjs.map +1 -0
- package/dist/_shared/textarea-Dp0RU-rc.js +118 -0
- package/dist/_shared/textarea-Dp0RU-rc.js.map +1 -0
- package/dist/_shared/typography-DXvCmE8w.js +201 -0
- package/dist/_shared/typography-DXvCmE8w.js.map +1 -0
- package/dist/_shared/typography-pzCKaFOc.cjs +2 -0
- package/dist/_shared/typography-pzCKaFOc.cjs.map +1 -0
- package/dist/_shared/workspace-C3U57t2a.cjs +2 -0
- package/dist/_shared/workspace-C3U57t2a.cjs.map +1 -0
- package/dist/_shared/workspace-Db--ow3r.js +357 -0
- package/dist/_shared/workspace-Db--ow3r.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/badge.d.ts.map +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/cards/smart-card.types.d.ts +3 -3
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/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 +1 -1
- 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/chart.cjs +1 -1
- package/dist/components/base/display/chart.js +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +3 -3
- 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 +6 -6
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- 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 +2 -2
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +3 -3
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/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/data-table.d.ts.map +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/base/table/table-header.d.ts.map +1 -1
- 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 +13 -13
- package/dist/components/composed/admin/index.js.map +1 -1
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.cjs.map +1 -1
- package/dist/components/composed/ai/index.js +25 -25
- package/dist/components/composed/ai/index.js.map +1 -1
- 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 +26 -26
- package/dist/components/composed/analytics/index.js.map +1 -1
- 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 +15 -15
- package/dist/components/composed/cards/index.js.map +1 -1
- 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 +28 -28
- package/dist/components/composed/commerce/index.js.map +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +4 -4
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.cjs.map +1 -1
- package/dist/components/composed/navigation/index.js +15 -15
- package/dist/components/composed/navigation/index.js.map +1 -1
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.cjs.map +1 -1
- package/dist/components/composed/timelines/index.js +10 -10
- package/dist/components/composed/timelines/index.js.map +1 -1
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.cjs.map +1 -1
- package/dist/components/features/activities/index.js +9 -9
- package/dist/components/features/activities/index.js.map +1 -1
- package/dist/components/features/ai-chat/index.cjs +2 -2
- package/dist/components/features/ai-chat/index.cjs.map +1 -1
- package/dist/components/features/ai-chat/index.js +8 -8
- package/dist/components/features/ai-chat/index.js.map +1 -1
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.cjs.map +1 -1
- package/dist/components/features/data-view/index.js +3 -3
- package/dist/components/features/data-view/index.js.map +1 -1
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +4 -4
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.cjs.map +1 -1
- package/dist/components/features/filters/index.js +11 -11
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.cjs.map +1 -1
- package/dist/components/features/global-search/index.js +14 -14
- package/dist/components/features/global-search/index.js.map +1 -1
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.cjs.map +1 -1
- package/dist/components/features/media-library/index.js +23 -23
- package/dist/components/features/media-library/index.js.map +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/products/index.cjs +1 -1
- package/dist/components/features/products/index.cjs.map +1 -1
- package/dist/components/features/products/index.js +14 -14
- package/dist/components/features/products/index.js.map +1 -1
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.cjs.map +1 -1
- package/dist/components/features/resource/index.js +5 -5
- package/dist/components/features/resource/index.js.map +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/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- 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/app-shell/index.cjs +1 -1
- package/dist/components/layout/app-shell/index.js +1 -1
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- 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 +8 -8
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/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/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-DtVzijR8.js +6 -0
- package/dist/showcase/assets/CompositeItem-SL6R0H3r.js +1 -0
- package/dist/showcase/assets/CompositeRoot-CTygKc2d.js +1 -0
- package/dist/showcase/assets/DialogTrigger-m2m9VdXk.js +1 -0
- package/dist/showcase/assets/LabelableContext-D6DcOg5I.js +1 -0
- package/dist/showcase/assets/PreviewLayout-CHW8F5uE.js +1 -0
- package/dist/showcase/assets/RadioGroup-BAOoU1eO.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-CrCCP65t.js +1 -0
- package/dist/showcase/assets/Separator-DMs71Vib.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-DWKxsCxT.js +1 -0
- package/dist/showcase/assets/accordion-Clw5XNXP.js +171 -0
- package/dist/showcase/assets/accordion-variants-jiwKaPjE.js +1 -0
- package/dist/showcase/assets/action-menu-CW8zR6Ne.js +1 -0
- package/dist/showcase/assets/actions-Cf7vl3u0.js +310 -0
- package/dist/showcase/assets/activities-CyI5sJuS.js +500 -0
- package/dist/showcase/assets/activities-feed-card-Gv-Y4BBq.js +1 -0
- package/dist/showcase/assets/admin-CQVbTxGD.js +140 -0
- package/dist/showcase/assets/ai-Bkp2BY_z.js +207 -0
- package/dist/showcase/assets/ai-artifact-Cf1vEdVD.js +2 -0
- package/dist/showcase/assets/ai-chat-Bs3x6cK3.js +568 -0
- package/dist/showcase/assets/ai-elements-VbMUV2-i.js +387 -0
- package/dist/showcase/assets/ai-tool-call-BQYg4QB_.js +1 -0
- package/dist/showcase/assets/alert-BUmpNcXV.js +1 -0
- package/dist/showcase/assets/alert-CWPNW7eb.js +93 -0
- package/dist/showcase/assets/alert-nUwhk3AB.js +62 -0
- package/dist/showcase/assets/api-key-list-B1qVywOP.js +73 -0
- package/dist/showcase/assets/api-key-list-BI2FGbzV.js +1 -0
- package/dist/showcase/assets/app-sidebar-B35a8HWK.js +1 -0
- package/dist/showcase/assets/arrow-down-C1w0M8tE.js +1 -0
- package/dist/showcase/assets/arrow-left-DtILDtAv.js +1 -0
- package/dist/showcase/assets/arrow-right-TnZMfDbP.js +1 -0
- package/dist/showcase/assets/arrow-up-BX-KDIDB.js +1 -0
- package/dist/showcase/assets/arrow-up-right-CrnWqXwJ.js +1 -0
- package/dist/showcase/assets/avatar-C5YI0roK.js +67 -0
- package/dist/showcase/assets/avatar-DsnH-Xmz.js +1 -0
- package/dist/showcase/assets/avatar-S4vMi7Be.js +57 -0
- package/dist/showcase/assets/avatar-q4wqX6yD.js +1 -0
- package/dist/showcase/assets/badge-DJacF8-J.js +31 -0
- package/dist/showcase/assets/badge-check-DDJtQHcD.js +1 -0
- package/dist/showcase/assets/bell-DiXXE8YI.js +1 -0
- package/dist/showcase/assets/bot-bONqc_7j.js +1 -0
- package/dist/showcase/assets/box-lhUq3Chj.js +1 -0
- package/dist/showcase/assets/braces-IKXiJgb3.js +1 -0
- package/dist/showcase/assets/brain-DcXlhbJZ.js +1 -0
- package/dist/showcase/assets/brand-CramZg2-.js +36 -0
- package/dist/showcase/assets/breadcrumb-BL7UjlLh.js +1 -0
- package/dist/showcase/assets/breadcrumb-CZRbcf09.js +52 -0
- package/dist/showcase/assets/breadcrumbs-DJzvSt_Z.js +1 -0
- package/dist/showcase/assets/briefcase-CQQ0m97G.js +1 -0
- package/dist/showcase/assets/building-2-BkQcv8WR.js +1 -0
- package/dist/showcase/assets/button-K7M0irWq.js +44 -0
- package/dist/showcase/assets/button-group-KCGa38c8.js +1 -0
- package/dist/showcase/assets/buttons-CvyBMRD6.js +272 -0
- package/dist/showcase/assets/calendar-BJHjhWQX.js +1 -0
- package/dist/showcase/assets/calendar-ChMVRsNC.js +16 -0
- package/dist/showcase/assets/calendar-days-BgkRJVxQ.js +1 -0
- package/dist/showcase/assets/calendar-xpHhfGnq.js +1 -0
- package/dist/showcase/assets/camera-C67freYi.js +1 -0
- package/dist/showcase/assets/card-CfOqXMVz.js +188 -0
- package/dist/showcase/assets/card-bLjedjT5.js +1 -0
- package/dist/showcase/assets/card-primitives-FUPmQCsu.js +1 -0
- package/dist/showcase/assets/card-radio-group-D_QNJ2Hm.js +1 -0
- package/dist/showcase/assets/cards-yHZa0kEf.js +353 -0
- package/dist/showcase/assets/carousel-DG1cKry4.js +449 -0
- package/dist/showcase/assets/cell-renderers-qfJ-7alN.js +1 -0
- package/dist/showcase/assets/chart-B_yVfbWJ.js +358 -0
- package/dist/showcase/assets/chart-column-CYrVWmMk.js +1 -0
- package/dist/showcase/assets/checkbox-NW6EcvtD.js +1 -0
- package/dist/showcase/assets/checkbox-pA_L1P-f.js +1 -0
- package/dist/showcase/assets/chevron-down-DLrHjdQ6.js +1 -0
- package/dist/showcase/assets/chevron-left-B_NQOEWI.js +1 -0
- package/dist/showcase/assets/chevron-up-6hst2jwR.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-C_pj9oOa.js +1 -0
- package/dist/showcase/assets/circle-Cw9qV72m.js +1 -0
- package/dist/showcase/assets/circle-alert-D3Vcma6L.js +1 -0
- package/dist/showcase/assets/circle-check-DdjJpGc9.js +1 -0
- package/dist/showcase/assets/circle-check-big-Dnq-jwtv.js +1 -0
- package/dist/showcase/assets/circle-dot-DN8DFgIP.js +1 -0
- package/dist/showcase/assets/circle-question-mark-Dzgiv4oS.js +1 -0
- package/dist/showcase/assets/circle-x-BzTSkndC.js +1 -0
- package/dist/showcase/assets/clock-3-CVwHXCmo.js +1 -0
- package/dist/showcase/assets/clock-BIJ9p953.js +1 -0
- package/dist/showcase/assets/code-xml-DrU5ziCA.js +1 -0
- package/dist/showcase/assets/collapsible-7rdCo71k.js +27 -0
- package/dist/showcase/assets/collapsible-DCcTSlEH.js +1 -0
- package/dist/showcase/assets/combobox-mx8o5sV1.js +685 -0
- package/dist/showcase/assets/command-CKJDGdA9.js +1 -0
- package/dist/showcase/assets/command-CzGLPzoO.js +1 -0
- package/dist/showcase/assets/comment-composer-CSoEIapl.js +1 -0
- package/dist/showcase/assets/comment-item-pjaH53iB.js +1 -0
- package/dist/showcase/assets/comments-_ccotzWA.js +357 -0
- package/dist/showcase/assets/commerce-BuiQiRsf.js +267 -0
- package/dist/showcase/assets/composite-Bghohd0p.js +1 -0
- package/dist/showcase/assets/contact-card-CqM2uz_w.js +65 -0
- package/dist/showcase/assets/content-container-fC4z98GI.js +1 -0
- package/dist/showcase/assets/copyable-BMQK8sID.js +1 -0
- package/dist/showcase/assets/copyable-DVR2FAa0.js +96 -0
- package/dist/showcase/assets/course-card-Cku2z18g.js +77 -0
- package/dist/showcase/assets/cpu-A072t3kq.js +1 -0
- package/dist/showcase/assets/credit-card-BGwhx9Zo.js +1 -0
- package/dist/showcase/assets/css-variables-BAW_VrGk.js +1205 -0
- package/dist/showcase/assets/currency-Da3C0Uzb.js +149 -0
- package/dist/showcase/assets/dark-surfaces-BHYLEj80.js +90 -0
- package/dist/showcase/assets/data-view--EAYihh0.js +124 -0
- package/dist/showcase/assets/data-view-BAMwKzZO.js +4 -0
- package/dist/showcase/assets/database-C489WIbr.js +1 -0
- package/dist/showcase/assets/date-block-DuNaPSBU.js +1 -0
- package/dist/showcase/assets/date-picker-Dq-9L64y.js +1 -0
- package/dist/showcase/assets/date-pickers-D0ReMKc9.js +73 -0
- package/dist/showcase/assets/dense-info-CXwjqQB1.js +106 -0
- package/dist/showcase/assets/design-system-consistency-CGoKv0Vf.js +264 -0
- package/dist/showcase/assets/dialog-DIrJcAzq.js +1 -0
- package/dist/showcase/assets/dialog-O45UwQJs.js +1 -0
- package/dist/showcase/assets/display-utilities-VKOARJyC.js +267 -0
- package/dist/showcase/assets/dist-BavkTE-I.js +1 -0
- package/dist/showcase/assets/dist-DPxPKIgU.js +45 -0
- package/dist/showcase/assets/dollar-sign-CH2fcyek.js +1 -0
- package/dist/showcase/assets/download-whAw79X4.js +1 -0
- package/dist/showcase/assets/dropdown-menu-PVKwhWds.js +1 -0
- package/dist/showcase/assets/dropzone-B9sc8Mwa.js +1 -0
- package/dist/showcase/assets/earth-BpkE9LMh.js +1 -0
- package/dist/showcase/assets/ellipsis-CEVdIbhD.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-CBIvtUVz.js +1 -0
- package/dist/showcase/assets/empty-Dp1eCMIl.js +1 -0
- package/dist/showcase/assets/empty-item--dZz4VlJ.js +49 -0
- package/dist/showcase/assets/empty-state-ZOiE-hWY.js +190 -0
- package/dist/showcase/assets/empty-state-dsivN4CA.js +1 -0
- package/dist/showcase/assets/enhanced-activities-BpzUxaof.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-D71BOuiX.js +1 -0
- package/dist/showcase/assets/esm-DT-TXPCJ.js +2 -0
- package/dist/showcase/assets/event-calendar-aVpAFZFq.js +138 -0
- package/dist/showcase/assets/event-log-DVcvyQ-P.js +330 -0
- package/dist/showcase/assets/example-CzbL5xoH.js +1 -0
- package/dist/showcase/assets/external-link-BaLE1QE5.js +1 -0
- package/dist/showcase/assets/eye-Dq0mLKrs.js +1 -0
- package/dist/showcase/assets/feature-announcement-sWKBC2fs.js +34 -0
- package/dist/showcase/assets/file-CgW3NvCL.js +1 -0
- package/dist/showcase/assets/file-text-JGaJQ8Wd.js +1 -0
- package/dist/showcase/assets/filter-layout-jfahl8aJ.js +1 -0
- package/dist/showcase/assets/filters-D7zegZVD.js +139 -0
- package/dist/showcase/assets/flag-H6U1f4wd.js +1 -0
- package/dist/showcase/assets/folder-open-sT96wRxJ.js +1 -0
- package/dist/showcase/assets/form-field-CQuSWnj8.js +1 -0
- package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +1 -0
- package/dist/showcase/assets/format-DGPJ5dDq.js +1 -0
- package/dist/showcase/assets/forms-CdDJkAFt.js +915 -0
- package/dist/showcase/assets/funnel-Bh56GDO0.js +1 -0
- package/dist/showcase/assets/generic-CqSABKHr.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-Cgw3-xUB.js +1 -0
- package/dist/showcase/assets/gift-ChVS2ovQ.js +1 -0
- package/dist/showcase/assets/giftcard-cards-CuaGn8-J.js +85 -0
- package/dist/showcase/assets/git-branch-86jQZnz4.js +1 -0
- package/dist/showcase/assets/global-search-C92CjOf8.js +215 -0
- package/dist/showcase/assets/global-search-DpVIWyO9.js +1 -0
- package/dist/showcase/assets/globe-DmGzYOlq.js +1 -0
- package/dist/showcase/assets/gradient-card-BUZzXFdZ.js +58 -0
- package/dist/showcase/assets/hash-pc6IIDge.js +1 -0
- package/dist/showcase/assets/header-DbM4l1Z6.js +1 -0
- package/dist/showcase/assets/header-notifications-CaymUd4n.js +1 -0
- package/dist/showcase/assets/heart-DtfPBlXq.js +1 -0
- package/dist/showcase/assets/hooks-JiLlGOJ-.js +220 -0
- package/dist/showcase/assets/house-CzNWewi5.js +1 -0
- package/dist/showcase/assets/icon-badge-G9Fp891n.js +1 -0
- package/dist/showcase/assets/icon-badge-e8N5BSYf.js +37 -0
- package/dist/showcase/assets/image-9IQW7agU.js +1 -0
- package/dist/showcase/assets/inbox-DU4YaGtc.js +1 -0
- package/dist/showcase/assets/index-CuXjv2p6.css +2 -0
- package/dist/showcase/assets/index-DN09-Vts.js +10 -0
- package/dist/showcase/assets/inertValue-kRQb7jwi.js +1 -0
- package/dist/showcase/assets/info-B9AXwUDF.js +1 -0
- package/dist/showcase/assets/inline-stat-BkLIKCvD.js +1 -0
- package/dist/showcase/assets/inline-stat-XqGHDQrK.js +15 -0
- package/dist/showcase/assets/input-BXHv6p9P.js +1 -0
- package/dist/showcase/assets/input-D_T9s_tn.js +1 -0
- package/dist/showcase/assets/input-group-Bs8dmhR6.js +47 -0
- package/dist/showcase/assets/input-group-CqkASeoV.js +1 -0
- package/dist/showcase/assets/inputs-DY7w_ssI.js +155 -0
- package/dist/showcase/assets/installation-Dg3FdGJ1.js +134 -0
- package/dist/showcase/assets/invoice-header-Ba-Y55Ag.js +36 -0
- package/dist/showcase/assets/invoice-items-CIJ8EfPg.js +36 -0
- package/dist/showcase/assets/invoice-mini-BISFvM7J.js +14 -0
- package/dist/showcase/assets/invoice-table-DcyVZTvl.js +30 -0
- package/dist/showcase/assets/isSameDay-av07hGac.js +1 -0
- package/dist/showcase/assets/isToday-GY5FlPL9.js +1 -0
- package/dist/showcase/assets/italic-Du0n76Xk.js +1 -0
- package/dist/showcase/assets/item-D8Lp4R-T.js +139 -0
- package/dist/showcase/assets/item-DTsZnSJG.js +1 -0
- package/dist/showcase/assets/item-Di7HZF5G.js +1 -0
- package/dist/showcase/assets/kanban-Dcminjsa.js +188 -0
- package/dist/showcase/assets/key-round-BBue3xKx.js +1 -0
- package/dist/showcase/assets/label-dkUEHYaz.js +1 -0
- package/dist/showcase/assets/languages-XxP8Uu82.js +1 -0
- package/dist/showcase/assets/layers-Bi_-RuHS.js +1 -0
- package/dist/showcase/assets/layout-app-shell-Cr6Ep0Zz.js +608 -0
- package/dist/showcase/assets/layout-auth-DffIslnp.js +790 -0
- package/dist/showcase/assets/layout-containers-BuSg6L6o.js +101 -0
- package/dist/showcase/assets/layout-header-DAxSUI18.js +203 -0
- package/dist/showcase/assets/layout-page-CVgVJHf1.js +314 -0
- package/dist/showcase/assets/layout-primitives-q8NXbEld.js +34 -0
- package/dist/showcase/assets/layout-sidebar-bB6AJaGs.js +224 -0
- package/dist/showcase/assets/layout-users-DG5u517t.js +117 -0
- package/dist/showcase/assets/layout-workspace-CKMDUM2b.js +191 -0
- package/dist/showcase/assets/lib-CaQvPpSJ.js +1 -0
- package/dist/showcase/assets/list-checks-Dhr60VvL.js +1 -0
- package/dist/showcase/assets/lock-CYVbyBpM.js +1 -0
- package/dist/showcase/assets/lock-keyhole-TUVID45I.js +1 -0
- package/dist/showcase/assets/mail-DfkwmVKE.js +1 -0
- package/dist/showcase/assets/mail-check-CnBhgH_h.js +1 -0
- package/dist/showcase/assets/map-Ck14_o-F.js +124 -0
- package/dist/showcase/assets/map-pin-Di7TUhai.js +1 -0
- package/dist/showcase/assets/media-library-CzM_to29.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-B1RHUfnH.js +1 -0
- package/dist/showcase/assets/mentions-CdaPXOLl.js +138 -0
- package/dist/showcase/assets/menus-DuqcLdg1.js +171 -0
- package/dist/showcase/assets/message-square-DuW3PrFI.js +1 -0
- package/dist/showcase/assets/metadata-list-CCRGSPaS.js +286 -0
- package/dist/showcase/assets/metadata-list-Drvz5mwy.js +1 -0
- package/dist/showcase/assets/metric-BSaXa3Z_.js +1 -0
- package/dist/showcase/assets/metric-bar-CM1Rmk8y.js +1 -0
- package/dist/showcase/assets/metric-grid-BBGxdYNJ.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-C_LrbPyT.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-ByvVltQV.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CNGiVG1A.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BLUvtt5N.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-CZWhn4_i.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-CcPm2_ON.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-CitG5Aea.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-CAsplRVI.js +42 -0
- package/dist/showcase/assets/metrics-overview-DSRwW-3j.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-BTdSpUV_.js +54 -0
- package/dist/showcase/assets/minus-BaXg6nPb.js +1 -0
- package/dist/showcase/assets/money-display-HegN6NVU.js +1 -0
- package/dist/showcase/assets/month-year-picker-DGSalGea.js +1 -0
- package/dist/showcase/assets/navigation-B9kcgNmJ.js +90 -0
- package/dist/showcase/assets/navigation-D4OJbw4T.js +231 -0
- package/dist/showcase/assets/navigation-extras-xm_wzPZr.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-CWuCJKDd.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-Dq-I4MUu.js +1 -0
- package/dist/showcase/assets/overlays-BHf9SZOh.js +159 -0
- package/dist/showcase/assets/overlays-DziL3nVU.js +408 -0
- package/dist/showcase/assets/overview-Cc69up8i.js +184 -0
- package/dist/showcase/assets/package-Bc-NuFnd.js +1 -0
- package/dist/showcase/assets/package-check-5LQwCfGh.js +1 -0
- package/dist/showcase/assets/page-B2o5HSfY.js +1 -0
- package/dist/showcase/assets/page-action-button-CfS6vsyC.js +1 -0
- package/dist/showcase/assets/page-header-W6quU5pO.js +1 -0
- package/dist/showcase/assets/pagination-Bfs7Zszm.js +1 -0
- package/dist/showcase/assets/pagination-DHs104ji.js +42 -0
- package/dist/showcase/assets/paperclip-CXeiMywc.js +1 -0
- package/dist/showcase/assets/password-input-C61t743N.js +1 -0
- package/dist/showcase/assets/pencil-C1TXsTfP.js +1 -0
- package/dist/showcase/assets/phone-Bh-68R_E.js +1 -0
- package/dist/showcase/assets/plus-CKBaO4jG.js +1 -0
- package/dist/showcase/assets/popover-C_7qLizt.js +1 -0
- package/dist/showcase/assets/popover-hgtHqd0h.js +1 -0
- package/dist/showcase/assets/popover-menu-DmYSBsji.js +1 -0
- package/dist/showcase/assets/products-DSvcQz-Q.js +423 -0
- package/dist/showcase/assets/progress-Chxeo8g4.js +18 -0
- package/dist/showcase/assets/progress-fYPoCyf-.js +1 -0
- package/dist/showcase/assets/props-table-izArO1Pv.js +1 -0
- package/dist/showcase/assets/quote-wvfNu9t7.js +1 -0
- package/dist/showcase/assets/receipt-BlXBX4ZJ.js +1 -0
- package/dist/showcase/assets/receipt-text-stSsUTV5.js +1 -0
- package/dist/showcase/assets/refinement-guide-Bri81J9N.js +189 -0
- package/dist/showcase/assets/refresh-cw-tZzNDEGO.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-Cti97iX8.js +1 -0
- package/dist/showcase/assets/resource-B727CTVi.js +139 -0
- package/dist/showcase/assets/resource-DytT_quB.js +1 -0
- package/dist/showcase/assets/resource-selector-card-wNuW382N.js +43 -0
- package/dist/showcase/assets/rich-text-editor-DdK5YD0y.js +143 -0
- package/dist/showcase/assets/rich-text-editor-DqY2H6e0.js +124 -0
- package/dist/showcase/assets/rotate-ccw-Bp4aMDrI.js +1 -0
- package/dist/showcase/assets/route-D2owHMka.js +1 -0
- package/dist/showcase/assets/save-DjC_iy0t.js +1 -0
- package/dist/showcase/assets/schema-form-CQtLwGC1.js +327 -0
- package/dist/showcase/assets/scroll-area-BQlHFfkG.js +32 -0
- package/dist/showcase/assets/scroll-area-D3Rrt85s.js +1 -0
- package/dist/showcase/assets/section-DYfGx1Q5.js +1 -0
- package/dist/showcase/assets/select-BCJGhRpc.js +1 -0
- package/dist/showcase/assets/select-Cf5EigqA.js +1 -0
- package/dist/showcase/assets/send-86Vr11Ys.js +1 -0
- package/dist/showcase/assets/separator-BHjNVb5O.js +1 -0
- package/dist/showcase/assets/separator-BejjbTbO.js +28 -0
- package/dist/showcase/assets/settings-2-DNNVOsjP.js +1 -0
- package/dist/showcase/assets/settings-Bsi5BLx5.js +1 -0
- package/dist/showcase/assets/sheet-BazhMvfb.js +1 -0
- package/dist/showcase/assets/shield-alert-D-Jbocfj.js +1 -0
- package/dist/showcase/assets/shield-check-D9eDVcJ1.js +1 -0
- package/dist/showcase/assets/shield-xI2P9G5d.js +1 -0
- package/dist/showcase/assets/shopping-bag-DOGs3sez.js +1 -0
- package/dist/showcase/assets/showcase-s-5CuLAJ.js +132 -0
- package/dist/showcase/assets/sidebar-Rz44gw_a.js +1 -0
- package/dist/showcase/assets/sidebar.context-Bbcdo3o8.js +1 -0
- package/dist/showcase/assets/skeleton-CY8ieqD-.js +1 -0
- package/dist/showcase/assets/skeleton-CgoH6CPT.js +29 -0
- package/dist/showcase/assets/slider-okW2bgkG.js +1 -0
- package/dist/showcase/assets/smart-card-CVwEPwfI.js +1 -0
- package/dist/showcase/assets/sonner-CixCpxj2.js +22 -0
- package/dist/showcase/assets/sortable.esm-DKcVtGTb.js +5 -0
- package/dist/showcase/assets/sparkles-DDEVdtmy.js +1 -0
- package/dist/showcase/assets/spinner-BVGPoAEv.js +49 -0
- package/dist/showcase/assets/spinner-FURXSp1Q.js +1 -0
- package/dist/showcase/assets/spinner-u6TwJ3Ii.js +30 -0
- package/dist/showcase/assets/square-pen-DVXVT0cQ.js +1 -0
- package/dist/showcase/assets/stacked-avatars-CKOQhAx4.js +1 -0
- package/dist/showcase/assets/star-B3ZPfxuz.js +1 -0
- package/dist/showcase/assets/startOfDay-LwMBRUSU.js +1 -0
- package/dist/showcase/assets/styles-UIKkojWJ.js +1 -0
- package/dist/showcase/assets/suggestions-DbrzKjbi.js +126 -0
- package/dist/showcase/assets/switch-CAw84QpS.js +1 -0
- package/dist/showcase/assets/switch-Cjt2MCgr.js +1 -0
- package/dist/showcase/assets/sync-DWbqfpBH.js +124 -0
- package/dist/showcase/assets/table-Bx5lo5FP.js +686 -0
- package/dist/showcase/assets/table-C2RQulDb.js +1 -0
- package/dist/showcase/assets/table-actions-Clo3WEfM.js +1 -0
- package/dist/showcase/assets/tabs-DRtlcg6b.js +19 -0
- package/dist/showcase/assets/tabs-wMPtvuT5.js +1 -0
- package/dist/showcase/assets/tags-input-D5FpWOWF.js +1 -0
- package/dist/showcase/assets/text-button-Cwh6D6qG.js +1 -0
- package/dist/showcase/assets/text-link-DI1uXdGl.js +1 -0
- package/dist/showcase/assets/textarea-CGbt4gBZ.js +1 -0
- package/dist/showcase/assets/textarea-JPgPLhyk.js +1 -0
- package/dist/showcase/assets/timelines-CkHN08n6.js +200 -0
- package/dist/showcase/assets/toggle-group-BpXkR9uD.js +1 -0
- package/dist/showcase/assets/toggles-DK9iCbki.js +71 -0
- package/dist/showcase/assets/toggles-group-DwzRj0f7.js +32 -0
- package/dist/showcase/assets/tooltip-PtP1suag.js +31 -0
- package/dist/showcase/assets/trash-2-BE4XUI2g.js +1 -0
- package/dist/showcase/assets/trending-up-ByxOf-nR.js +1 -0
- package/dist/showcase/assets/truck-RTOdcRV0.js +1 -0
- package/dist/showcase/assets/typography-BKLgHDxU.js +223 -0
- package/dist/showcase/assets/ui-badge-DIh_3Wmo.js +28 -0
- package/dist/showcase/assets/ui-card-BOdHnZwv.js +30 -0
- package/dist/showcase/assets/ui-table-BW4FCClv.js +42 -0
- package/dist/showcase/assets/upload-tray-CV9_5Lpa.js +138 -0
- package/dist/showcase/assets/use-layout-link-MyeE-CDj.js +1 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DSaog2w5.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-DSpPzrxG.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-DsuJtES0.js +1 -0
- package/dist/showcase/assets/useCompositeItem-lbAimLrR.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-pRXWGj4x.js +1 -0
- package/dist/showcase/assets/useLabelableId-IRM1zB5m.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CHDcTj9f.js +1 -0
- package/dist/showcase/assets/useRender-Ogz5zjeJ.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-Du6btFNB.js +1 -0
- package/dist/showcase/assets/useValueChanged-CXpsR4fl.js +1 -0
- package/dist/showcase/assets/user-plus-CLj8AZe1.js +1 -0
- package/dist/showcase/assets/user-ymdT26JK.js +1 -0
- package/dist/showcase/assets/users-BGba2Xwv.js +1 -0
- package/dist/showcase/assets/vendor-profile-Ci6c9mFC.js +37 -0
- package/dist/showcase/assets/video-BcKa36-p.js +1 -0
- package/dist/showcase/assets/wrench-Cj2hRrih.js +1 -0
- package/dist/showcase/assets/x-iCqjAC2D.js +1 -0
- package/dist/showcase/assets/zap-H4bc_OhS.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/themes/shadcn.default.css +6 -6
- package/src/css/tokens/foundation.css +23 -9
- package/dist/_shared/accordion-B9EjlZLY.js +0 -135
- package/dist/_shared/accordion-B9EjlZLY.js.map +0 -1
- package/dist/_shared/accordion-IFDIc0E7.cjs +0 -2
- package/dist/_shared/accordion-IFDIc0E7.cjs.map +0 -1
- package/dist/_shared/action-menu-B6yFRDz1.cjs +0 -2
- package/dist/_shared/action-menu-B6yFRDz1.cjs.map +0 -1
- package/dist/_shared/action-menu-CNS-fwQr.js +0 -96
- package/dist/_shared/action-menu-CNS-fwQr.js.map +0 -1
- package/dist/_shared/ai-artifact-B3qhuiKC.js +0 -1099
- package/dist/_shared/ai-artifact-B3qhuiKC.js.map +0 -1
- package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +0 -3
- package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +0 -1
- package/dist/_shared/alert-V0V36Sny.cjs +0 -2
- package/dist/_shared/alert-V0V36Sny.cjs.map +0 -1
- package/dist/_shared/alert-m-4s0Hqq.js +0 -81
- package/dist/_shared/alert-m-4s0Hqq.js.map +0 -1
- package/dist/_shared/app-shell-D3eGUtL-.js +0 -69
- package/dist/_shared/app-shell-D3eGUtL-.js.map +0 -1
- package/dist/_shared/app-shell-QJHARDMB.cjs +0 -2
- package/dist/_shared/app-shell-QJHARDMB.cjs.map +0 -1
- package/dist/_shared/auth-BZY91F5_.cjs +0 -2
- package/dist/_shared/auth-BZY91F5_.cjs.map +0 -1
- package/dist/_shared/auth-DcotjEbY.js +0 -643
- package/dist/_shared/auth-DcotjEbY.js.map +0 -1
- package/dist/_shared/badge-BeSKxX1u.cjs +0 -2
- package/dist/_shared/badge-BeSKxX1u.cjs.map +0 -1
- package/dist/_shared/badge-a2Z3K5aQ.js +0 -110
- package/dist/_shared/badge-a2Z3K5aQ.js.map +0 -1
- package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +0 -2
- package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-B57Unsoe.js +0 -105
- package/dist/_shared/breadcrumbs-B57Unsoe.js.map +0 -1
- package/dist/_shared/button-Bd5bEIiB.cjs +0 -2
- package/dist/_shared/button-Bd5bEIiB.cjs.map +0 -1
- package/dist/_shared/button-DHksjMvc.js +0 -189
- package/dist/_shared/button-DHksjMvc.js.map +0 -1
- package/dist/_shared/buttons-Bek9F7qK.cjs +0 -2
- package/dist/_shared/buttons-Bek9F7qK.cjs.map +0 -1
- package/dist/_shared/buttons-DcynMPnE.js +0 -137
- package/dist/_shared/buttons-DcynMPnE.js.map +0 -1
- package/dist/_shared/card-radio-group-C2p_iBal.cjs +0 -2
- package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +0 -1
- package/dist/_shared/card-radio-group-Fdi1Cz1j.js +0 -150
- package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +0 -1
- package/dist/_shared/cards-C1ythc0Q.js +0 -354
- package/dist/_shared/cards-C1ythc0Q.js.map +0 -1
- package/dist/_shared/cards-GSYfJ-oX.cjs +0 -2
- package/dist/_shared/cards-GSYfJ-oX.cjs.map +0 -1
- package/dist/_shared/combobox-BIe72dV3.js +0 -954
- package/dist/_shared/combobox-BIe72dV3.js.map +0 -1
- package/dist/_shared/combobox-CJiFDoTi.cjs +0 -2
- package/dist/_shared/combobox-CJiFDoTi.cjs.map +0 -1
- package/dist/_shared/command-ByedBajF.js +0 -39
- package/dist/_shared/command-ByedBajF.js.map +0 -1
- package/dist/_shared/command-EGR0nhGc.cjs +0 -2
- package/dist/_shared/command-EGR0nhGc.cjs.map +0 -1
- package/dist/_shared/comments-CmljtbAW.js +0 -952
- package/dist/_shared/comments-CmljtbAW.js.map +0 -1
- package/dist/_shared/comments-ColUq7eh.cjs +0 -2
- package/dist/_shared/comments-ColUq7eh.cjs.map +0 -1
- package/dist/_shared/copyable-Dopk9pEJ.js +0 -38
- package/dist/_shared/copyable-Dopk9pEJ.js.map +0 -1
- package/dist/_shared/copyable-rQwxsTJ3.cjs +0 -2
- package/dist/_shared/copyable-rQwxsTJ3.cjs.map +0 -1
- package/dist/_shared/data-display-BTsCY7A5.js +0 -1873
- package/dist/_shared/data-display-BTsCY7A5.js.map +0 -1
- package/dist/_shared/data-display-BdGQMXit.cjs +0 -2
- package/dist/_shared/data-display-BdGQMXit.cjs.map +0 -1
- package/dist/_shared/date-picker-BiUgIkjP.cjs +0 -2
- package/dist/_shared/date-picker-BiUgIkjP.cjs.map +0 -1
- package/dist/_shared/date-picker-DFkLiveH.js +0 -1361
- package/dist/_shared/date-picker-DFkLiveH.js.map +0 -1
- package/dist/_shared/date-pickers-C86tVD8e.cjs +0 -2
- package/dist/_shared/date-pickers-C86tVD8e.cjs.map +0 -1
- package/dist/_shared/date-pickers-D4oxOOHE.js +0 -329
- package/dist/_shared/date-pickers-D4oxOOHE.js.map +0 -1
- package/dist/_shared/display-B0wLVN8t.js +0 -986
- package/dist/_shared/display-B0wLVN8t.js.map +0 -1
- package/dist/_shared/display-Bin2vVex.cjs +0 -2
- package/dist/_shared/display-Bin2vVex.cjs.map +0 -1
- package/dist/_shared/form-sizing-C51oI3Di.js +0 -42
- package/dist/_shared/form-sizing-C51oI3Di.js.map +0 -1
- package/dist/_shared/form-sizing-Co53Drri.cjs +0 -2
- package/dist/_shared/form-sizing-Co53Drri.cjs.map +0 -1
- package/dist/_shared/forms-CEE1te78.cjs +0 -2
- package/dist/_shared/forms-CEE1te78.cjs.map +0 -1
- package/dist/_shared/forms-CQoGvG7q.js +0 -3533
- package/dist/_shared/forms-CQoGvG7q.js.map +0 -1
- package/dist/_shared/header-B9IPDQRW.js +0 -447
- package/dist/_shared/header-B9IPDQRW.js.map +0 -1
- package/dist/_shared/header-C_1x4-rd.cjs +0 -2
- package/dist/_shared/header-C_1x4-rd.cjs.map +0 -1
- package/dist/_shared/hooks---vunGQ6.js +0 -95
- package/dist/_shared/hooks---vunGQ6.js.map +0 -1
- package/dist/_shared/hooks-CjVzmgvY.cjs +0 -2
- package/dist/_shared/hooks-CjVzmgvY.cjs.map +0 -1
- package/dist/_shared/input-CB6hxh-5.cjs +0 -2
- package/dist/_shared/input-CB6hxh-5.cjs.map +0 -1
- package/dist/_shared/input-CfnHBT--.js +0 -182
- package/dist/_shared/input-CfnHBT--.js.map +0 -1
- package/dist/_shared/item-Xs-fgzaT.js +0 -226
- package/dist/_shared/item-Xs-fgzaT.js.map +0 -1
- package/dist/_shared/item-eUP9Rtmg.cjs +0 -2
- package/dist/_shared/item-eUP9Rtmg.cjs.map +0 -1
- package/dist/_shared/layout-BXrQqUKq.js +0 -262
- package/dist/_shared/layout-BXrQqUKq.js.map +0 -1
- package/dist/_shared/layout-DWicdsPI.cjs +0 -2
- package/dist/_shared/layout-DWicdsPI.cjs.map +0 -1
- package/dist/_shared/mentions-BahbwDwU.js +0 -506
- package/dist/_shared/mentions-BahbwDwU.js.map +0 -1
- package/dist/_shared/mentions-aHalksbt.cjs +0 -2
- package/dist/_shared/mentions-aHalksbt.cjs.map +0 -1
- package/dist/_shared/money-display-BLPNMmiT.cjs +0 -2
- package/dist/_shared/money-display-BLPNMmiT.cjs.map +0 -1
- package/dist/_shared/money-display-D_-Cb8-9.js +0 -198
- package/dist/_shared/money-display-D_-Cb8-9.js.map +0 -1
- package/dist/_shared/navigation-BcYAwgzo.js +0 -436
- package/dist/_shared/navigation-BcYAwgzo.js.map +0 -1
- package/dist/_shared/navigation-DAB7uuBj.cjs +0 -2
- package/dist/_shared/navigation-DAB7uuBj.cjs.map +0 -1
- package/dist/_shared/overlays-DW8OIK5R.js +0 -735
- package/dist/_shared/overlays-DW8OIK5R.js.map +0 -1
- package/dist/_shared/overlays-Du65iCkx.cjs +0 -2
- package/dist/_shared/overlays-Du65iCkx.cjs.map +0 -1
- package/dist/_shared/popover-menu-qxBZlTck.js +0 -93
- package/dist/_shared/popover-menu-qxBZlTck.js.map +0 -1
- package/dist/_shared/popover-menu-z9QTjl4o.cjs +0 -2
- package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +0 -2
- package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-VIBlL0x3.js +0 -620
- package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +0 -1
- package/dist/_shared/settings-Bfr6PgSi.cjs +0 -2
- package/dist/_shared/settings-Bfr6PgSi.cjs.map +0 -1
- package/dist/_shared/settings-CrPaYr4A.js +0 -143
- package/dist/_shared/settings-CrPaYr4A.js.map +0 -1
- package/dist/_shared/sidebar-CDOLD8fN.js +0 -548
- package/dist/_shared/sidebar-CDOLD8fN.js.map +0 -1
- package/dist/_shared/sidebar-DcsxeNml.cjs +0 -2
- package/dist/_shared/sidebar-DcsxeNml.cjs.map +0 -1
- package/dist/_shared/spinner-D35zNriU.cjs +0 -2
- package/dist/_shared/spinner-D35zNriU.cjs.map +0 -1
- package/dist/_shared/spinner-DMC2IIml.js +0 -67
- package/dist/_shared/spinner-DMC2IIml.js.map +0 -1
- package/dist/_shared/table-B_pqCQxC.js +0 -1377
- package/dist/_shared/table-B_pqCQxC.js.map +0 -1
- package/dist/_shared/table-CGVOXtdv.cjs +0 -2
- package/dist/_shared/table-CGVOXtdv.cjs.map +0 -1
- package/dist/_shared/textarea-B24qgdmd.cjs +0 -2
- package/dist/_shared/textarea-B24qgdmd.cjs.map +0 -1
- package/dist/_shared/textarea-ChLRmmVU.js +0 -118
- package/dist/_shared/textarea-ChLRmmVU.js.map +0 -1
- package/dist/_shared/typography-CO9uwZhF.cjs +0 -2
- package/dist/_shared/typography-CO9uwZhF.cjs.map +0 -1
- package/dist/_shared/typography-DE0NGEIE.js +0 -201
- package/dist/_shared/typography-DE0NGEIE.js.map +0 -1
- package/dist/_shared/workspace-C1twu23r.cjs +0 -2
- package/dist/_shared/workspace-C1twu23r.cjs.map +0 -1
- package/dist/_shared/workspace-CkOZLdcN.js +0 -357
- package/dist/_shared/workspace-CkOZLdcN.js.map +0 -1
- package/dist/showcase/assets/AreaChart-WJREayr9.js +0 -6
- package/dist/showcase/assets/CompositeItem-CY3XmFuI.js +0 -1
- package/dist/showcase/assets/CompositeRoot-BPMF0t1F.js +0 -1
- package/dist/showcase/assets/DialogTrigger-BzaF3YN8.js +0 -1
- package/dist/showcase/assets/LabelableContext-LKvvFFnV.js +0 -1
- package/dist/showcase/assets/PreviewLayout-B0n7l00P.js +0 -1
- package/dist/showcase/assets/RadioGroup-VBtGFETg.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-BimGwdGs.js +0 -1
- package/dist/showcase/assets/Separator-BfKe0YiY.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-Cscyv1PN.js +0 -1
- package/dist/showcase/assets/accordion-BEN0VkL4.js +0 -171
- package/dist/showcase/assets/accordion-variants-QFG3H38z.js +0 -1
- package/dist/showcase/assets/action-menu-Bfw1tFqM.js +0 -1
- package/dist/showcase/assets/actions-CFpHs5IC.js +0 -310
- package/dist/showcase/assets/activities-CDxlaghU.js +0 -500
- package/dist/showcase/assets/activities-feed-card-BO1kcjRK.js +0 -1
- package/dist/showcase/assets/admin-DFpHXeuv.js +0 -140
- package/dist/showcase/assets/ai-DyO6VqQP.js +0 -207
- package/dist/showcase/assets/ai-artifact-MVA3ikv6.js +0 -2
- package/dist/showcase/assets/ai-chat-D-xcp6Jf.js +0 -568
- package/dist/showcase/assets/ai-elements-DlFqIOYp.js +0 -387
- package/dist/showcase/assets/ai-tool-call-DedG9TdK.js +0 -1
- package/dist/showcase/assets/alert-CmRK2lOe.js +0 -1
- package/dist/showcase/assets/alert-DCIVryEp.js +0 -62
- package/dist/showcase/assets/alert-DDP3Ktic.js +0 -93
- package/dist/showcase/assets/api-key-list-CWa997YX.js +0 -1
- package/dist/showcase/assets/api-key-list-mTPebHF3.js +0 -73
- package/dist/showcase/assets/app-sidebar-Cnfk9z5K.js +0 -1
- package/dist/showcase/assets/arrow-down-CCYWFimd.js +0 -1
- package/dist/showcase/assets/arrow-left-CrYjfZJ0.js +0 -1
- package/dist/showcase/assets/arrow-right-eLxbBrdm.js +0 -1
- package/dist/showcase/assets/arrow-up-kA33fcPv.js +0 -1
- package/dist/showcase/assets/arrow-up-right-BSWGQVDB.js +0 -1
- package/dist/showcase/assets/avatar-BDGhB3aA.js +0 -57
- package/dist/showcase/assets/avatar-CLBQvnYG.js +0 -1
- package/dist/showcase/assets/avatar-WUMW3Qjo.js +0 -1
- package/dist/showcase/assets/avatar-cKSNuTzf.js +0 -67
- package/dist/showcase/assets/badge--mqVg8Ry.js +0 -31
- package/dist/showcase/assets/badge-check-D7YjWqnm.js +0 -1
- package/dist/showcase/assets/bell-6YyocFK6.js +0 -1
- package/dist/showcase/assets/bot-BC4pGAB3.js +0 -1
- package/dist/showcase/assets/box-CPGIu4Nv.js +0 -1
- package/dist/showcase/assets/braces-9jywZtTA.js +0 -1
- package/dist/showcase/assets/brain-wf_S427C.js +0 -1
- package/dist/showcase/assets/brand-78lhbKSW.js +0 -36
- package/dist/showcase/assets/breadcrumb-6XHObtqO.js +0 -1
- package/dist/showcase/assets/breadcrumb-BVrrS53_.js +0 -52
- package/dist/showcase/assets/breadcrumbs-BwC3Iaae.js +0 -1
- package/dist/showcase/assets/briefcase-BViWYew9.js +0 -1
- package/dist/showcase/assets/building-2-CwR3gV1I.js +0 -1
- package/dist/showcase/assets/button-BWwsy37B.js +0 -44
- package/dist/showcase/assets/button-group-BTiMRQIO.js +0 -1
- package/dist/showcase/assets/buttons-D9pH8hPs.js +0 -272
- package/dist/showcase/assets/calendar-Bzl2i1lu.js +0 -1
- package/dist/showcase/assets/calendar-CNMlC7Fn.js +0 -16
- package/dist/showcase/assets/calendar-D5NdEmaD.js +0 -1
- package/dist/showcase/assets/calendar-days-j8QDBUc5.js +0 -1
- package/dist/showcase/assets/camera-Cwb84N8a.js +0 -1
- package/dist/showcase/assets/card-CX3vQ2Te.js +0 -1
- package/dist/showcase/assets/card-FLJkfdKP.js +0 -188
- package/dist/showcase/assets/card-primitives-C2s13Uvp.js +0 -1
- package/dist/showcase/assets/card-radio-group-BP27dErL.js +0 -1
- package/dist/showcase/assets/cards-DcdxRM9W.js +0 -354
- package/dist/showcase/assets/carousel-CTKyiHD2.js +0 -449
- package/dist/showcase/assets/cell-renderers-ouSypXTE.js +0 -1
- package/dist/showcase/assets/chart-CMsMyCah.js +0 -358
- package/dist/showcase/assets/chart-column-BrwpEFzy.js +0 -1
- package/dist/showcase/assets/checkbox-4qgEfnjv.js +0 -1
- package/dist/showcase/assets/checkbox-ratLYBAF.js +0 -1
- package/dist/showcase/assets/chevron-down-BInaIfd1.js +0 -1
- package/dist/showcase/assets/chevron-left-Bjy3FJ_M.js +0 -1
- package/dist/showcase/assets/chevron-up-Ufl6UEyV.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-CrOH-P5z.js +0 -1
- package/dist/showcase/assets/circle-G0dEx2Ay.js +0 -1
- package/dist/showcase/assets/circle-alert-CiibDCe8.js +0 -1
- package/dist/showcase/assets/circle-check-Bqm54c03.js +0 -1
- package/dist/showcase/assets/circle-check-big-BfiY_qy_.js +0 -1
- package/dist/showcase/assets/circle-dot-VNm7CEgH.js +0 -1
- package/dist/showcase/assets/circle-question-mark-mM7PKy4G.js +0 -1
- package/dist/showcase/assets/circle-x-2tzzp_vB.js +0 -1
- package/dist/showcase/assets/clock-3-CfdZnMP2.js +0 -1
- package/dist/showcase/assets/clock-ByB7C11p.js +0 -1
- package/dist/showcase/assets/code-xml-D2fN-BaU.js +0 -1
- package/dist/showcase/assets/collapsible-B2lI_uVI.js +0 -1
- package/dist/showcase/assets/collapsible-Bs5YFx-M.js +0 -27
- package/dist/showcase/assets/combobox-BqNSwFaM.js +0 -685
- package/dist/showcase/assets/command-Dcbh_YP-.js +0 -1
- package/dist/showcase/assets/command-Mb30xkwq.js +0 -1
- package/dist/showcase/assets/comment-composer-DqTw0zIM.js +0 -1
- package/dist/showcase/assets/comment-item-DbQAZ3yP.js +0 -1
- package/dist/showcase/assets/comments-CGMOOi7k.js +0 -357
- package/dist/showcase/assets/commerce-bVpLHwpS.js +0 -267
- package/dist/showcase/assets/composite-CTpmYme_.js +0 -1
- package/dist/showcase/assets/contact-card-nuS10UKK.js +0 -65
- package/dist/showcase/assets/content-container-NexBp0FV.js +0 -1
- package/dist/showcase/assets/copyable-CNltkC2A.js +0 -1
- package/dist/showcase/assets/copyable-qr6--oJx.js +0 -96
- package/dist/showcase/assets/course-card-0kkl37FX.js +0 -77
- package/dist/showcase/assets/cpu-DSD9h0l5.js +0 -1
- package/dist/showcase/assets/credit-card-CN0E6FU8.js +0 -1
- package/dist/showcase/assets/css-variables-CzmmLWxt.js +0 -1190
- package/dist/showcase/assets/currency-BtofP745.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BU7kfTIi.js +0 -90
- package/dist/showcase/assets/data-view-3W7_KBli.js +0 -124
- package/dist/showcase/assets/data-view-snL5QtHe.js +0 -4
- package/dist/showcase/assets/database-BarEYzaF.js +0 -1
- package/dist/showcase/assets/date-block-dTt9Rcfd.js +0 -1
- package/dist/showcase/assets/date-picker-BKzZeQGc.js +0 -1
- package/dist/showcase/assets/date-pickers-CYERVYRo.js +0 -73
- package/dist/showcase/assets/dense-info-hnKZfRnQ.js +0 -106
- package/dist/showcase/assets/design-system-consistency-D6qngflS.js +0 -264
- package/dist/showcase/assets/dialog-mO0FpHmT.js +0 -1
- package/dist/showcase/assets/dialog-xbuhPXmf.js +0 -1
- package/dist/showcase/assets/display-utilities-C4IflxoK.js +0 -267
- package/dist/showcase/assets/dist-BFChHTWK.js +0 -45
- package/dist/showcase/assets/dist-BkVfs5PY.js +0 -1
- package/dist/showcase/assets/dollar-sign-BES-Y4q8.js +0 -1
- package/dist/showcase/assets/download-CuEg-4DT.js +0 -1
- package/dist/showcase/assets/dropdown-menu-C4Fcfk9z.js +0 -1
- package/dist/showcase/assets/dropzone-CrJ_k9fJ.js +0 -1
- package/dist/showcase/assets/earth-Cmx-Axig.js +0 -1
- package/dist/showcase/assets/ellipsis-Co7iTzp_.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-DMYJFiqQ.js +0 -1
- package/dist/showcase/assets/empty-Dw4ozyll.js +0 -1
- package/dist/showcase/assets/empty-item-DQwAsl0J.js +0 -49
- package/dist/showcase/assets/empty-state-BKvbnAy1.js +0 -1
- package/dist/showcase/assets/empty-state-Dv6f2fmP.js +0 -190
- package/dist/showcase/assets/enhanced-activities-Ctmivg46.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-D0AsPZ-b.js +0 -1
- package/dist/showcase/assets/esm-oZ6qcNoa.js +0 -2
- package/dist/showcase/assets/event-calendar-ChXdeehr.js +0 -138
- package/dist/showcase/assets/event-log-DeOCb2tT.js +0 -330
- package/dist/showcase/assets/example-CDvNeHNP.js +0 -1
- package/dist/showcase/assets/external-link-BaiCqIx3.js +0 -1
- package/dist/showcase/assets/eye-zG-fqYfd.js +0 -1
- package/dist/showcase/assets/feature-announcement-C2XGWNgI.js +0 -34
- package/dist/showcase/assets/file-sAbDfDuO.js +0 -1
- package/dist/showcase/assets/file-text-Boa9IOND.js +0 -1
- package/dist/showcase/assets/filter-layout-tZmZz-2B.js +0 -1
- package/dist/showcase/assets/filters-D8gEkDAE.js +0 -139
- package/dist/showcase/assets/flag-Cu20rcE4.js +0 -1
- package/dist/showcase/assets/folder-open-Cuk6KKLi.js +0 -1
- package/dist/showcase/assets/form-field-D8sL8tat.js +0 -1
- package/dist/showcase/assets/form-sizing-C3UG5WKC.js +0 -1
- package/dist/showcase/assets/format-CaRklI--.js +0 -1
- package/dist/showcase/assets/forms-CNk2oX65.js +0 -915
- package/dist/showcase/assets/funnel-B2kBprKZ.js +0 -1
- package/dist/showcase/assets/generic-oWYKMvId.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-GjucWEcD.js +0 -1
- package/dist/showcase/assets/gift-C_D_-5GL.js +0 -1
- package/dist/showcase/assets/giftcard-cards-B4DDGzdi.js +0 -85
- package/dist/showcase/assets/git-branch-DlTTLnjW.js +0 -1
- package/dist/showcase/assets/global-search-BjHAfaqS.js +0 -215
- package/dist/showcase/assets/global-search-hKQWHfrf.js +0 -1
- package/dist/showcase/assets/globe-D-gH7XQ2.js +0 -1
- package/dist/showcase/assets/gradient-card-jVxEisUP.js +0 -58
- package/dist/showcase/assets/hash-DySqEhph.js +0 -1
- package/dist/showcase/assets/header-B8hHkAVl.js +0 -1
- package/dist/showcase/assets/header-notifications-s180jNb1.js +0 -1
- package/dist/showcase/assets/heart-DDFCk8Tb.js +0 -1
- package/dist/showcase/assets/hooks-0A_FzYrt.js +0 -220
- package/dist/showcase/assets/house-BqE1X-Wf.js +0 -1
- package/dist/showcase/assets/icon-badge-CyiMjD7j.js +0 -37
- package/dist/showcase/assets/icon-badge-fJVhEHym.js +0 -1
- package/dist/showcase/assets/image-DCtwKHqe.js +0 -1
- package/dist/showcase/assets/inbox-DZA-pAGB.js +0 -1
- package/dist/showcase/assets/index-B37z19z3.js +0 -10
- package/dist/showcase/assets/index-CIsKgiSF.css +0 -2
- package/dist/showcase/assets/inertValue-SPYMBsOM.js +0 -1
- package/dist/showcase/assets/info-DrfDr3GT.js +0 -1
- package/dist/showcase/assets/inline-stat-BVJNx4xR.js +0 -1
- package/dist/showcase/assets/inline-stat-C3cWbSUK.js +0 -15
- package/dist/showcase/assets/input-CKTTGrnR.js +0 -1
- package/dist/showcase/assets/input-UHuWYPMF.js +0 -1
- package/dist/showcase/assets/input-group-BR_lU__a.js +0 -1
- package/dist/showcase/assets/input-group-iZaLbsTP.js +0 -47
- package/dist/showcase/assets/inputs-C7j8Xivm.js +0 -155
- package/dist/showcase/assets/installation-DYnTwaPR.js +0 -134
- package/dist/showcase/assets/invoice-header-D_0KvXQe.js +0 -36
- package/dist/showcase/assets/invoice-items-jcNb-sST.js +0 -36
- package/dist/showcase/assets/invoice-mini-DrZAbjPq.js +0 -14
- package/dist/showcase/assets/invoice-table-DlAw0U4U.js +0 -30
- package/dist/showcase/assets/isSameDay-Cl6v_syG.js +0 -1
- package/dist/showcase/assets/isToday-BBoFjSnJ.js +0 -1
- package/dist/showcase/assets/italic-j2U8krYa.js +0 -1
- package/dist/showcase/assets/item-B2WoC1SD.js +0 -139
- package/dist/showcase/assets/item-BMJ5hfT5.js +0 -1
- package/dist/showcase/assets/item-C_5-EHNK.js +0 -1
- package/dist/showcase/assets/kanban-Cv64Szxq.js +0 -188
- package/dist/showcase/assets/key-round-CORDYqE2.js +0 -1
- package/dist/showcase/assets/label-B0UjYqfw.js +0 -1
- package/dist/showcase/assets/languages-Njdo5y8i.js +0 -1
- package/dist/showcase/assets/layers-Dyew-8IP.js +0 -1
- package/dist/showcase/assets/layout-app-shell-DEZt0d84.js +0 -608
- package/dist/showcase/assets/layout-auth-BT84haSd.js +0 -790
- package/dist/showcase/assets/layout-containers-D6SP4vRB.js +0 -101
- package/dist/showcase/assets/layout-header-kLYjJnHz.js +0 -203
- package/dist/showcase/assets/layout-page-CmS4d8jw.js +0 -314
- package/dist/showcase/assets/layout-primitives-BW858Ymj.js +0 -34
- package/dist/showcase/assets/layout-sidebar-eIDEoyzV.js +0 -224
- package/dist/showcase/assets/layout-users-HyZHQIov.js +0 -117
- package/dist/showcase/assets/layout-workspace-BrDwVUvn.js +0 -191
- package/dist/showcase/assets/lib-Dhty05ZR.js +0 -1
- package/dist/showcase/assets/list-checks-CcWjdDq8.js +0 -1
- package/dist/showcase/assets/lock-CwH3bXx5.js +0 -1
- package/dist/showcase/assets/lock-keyhole-BdBxeIkW.js +0 -1
- package/dist/showcase/assets/mail-Cn94c8yp.js +0 -1
- package/dist/showcase/assets/mail-check-D-q_vPxD.js +0 -1
- package/dist/showcase/assets/map-BfUZMScw.js +0 -124
- package/dist/showcase/assets/map-pin-BZB9GUXP.js +0 -1
- package/dist/showcase/assets/media-library-DguE2q94.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CyGplHOl.js +0 -1
- package/dist/showcase/assets/mentions-lmr_XmfN.js +0 -138
- package/dist/showcase/assets/menus-D0qYbzKk.js +0 -171
- package/dist/showcase/assets/message-square-7VpiUwcS.js +0 -1
- package/dist/showcase/assets/metadata-list-B8O2ljIS.js +0 -1
- package/dist/showcase/assets/metadata-list-BcYg9Ru3.js +0 -286
- package/dist/showcase/assets/metric-HzQnjCpO.js +0 -1
- package/dist/showcase/assets/metric-bar-Fr1TDnSu.js +0 -1
- package/dist/showcase/assets/metric-grid-CM-P894v.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-DqYH_U8e.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-DKRLzyXq.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-qMbAYBbk.js +0 -50
- package/dist/showcase/assets/metrics-comparison-GSWVebL_.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-Fj5QZoO3.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-BuyhiYDl.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-xNn4bjZc.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-W_ZYCffp.js +0 -42
- package/dist/showcase/assets/metrics-overview-D-km110k.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-odVtufFY.js +0 -54
- package/dist/showcase/assets/minus-DZsXg5PW.js +0 -1
- package/dist/showcase/assets/money-display-C7Hp2pT3.js +0 -1
- package/dist/showcase/assets/month-year-picker-Dnr4J0mO.js +0 -1
- package/dist/showcase/assets/navigation-0nrtBP5O.js +0 -90
- package/dist/showcase/assets/navigation-BaWNq9oa.js +0 -231
- package/dist/showcase/assets/navigation-extras-B22W1Vkk.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-BFj7rmdZ.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-D_rltswa.js +0 -1
- package/dist/showcase/assets/overlays-CNfiB-zF.js +0 -408
- package/dist/showcase/assets/overlays-CuxuFGC8.js +0 -159
- package/dist/showcase/assets/overview-CBmdAWO6.js +0 -184
- package/dist/showcase/assets/package-BwwfLMWb.js +0 -1
- package/dist/showcase/assets/package-check-BepTKJLy.js +0 -1
- package/dist/showcase/assets/page-_JDFUWqe.js +0 -1
- package/dist/showcase/assets/page-action-button-Cf34I-B2.js +0 -1
- package/dist/showcase/assets/page-header-pdHFvyTo.js +0 -1
- package/dist/showcase/assets/pagination-Db1WJvjK.js +0 -42
- package/dist/showcase/assets/pagination-s8_MGk9D.js +0 -1
- package/dist/showcase/assets/paperclip-B9HQ47_2.js +0 -1
- package/dist/showcase/assets/password-input-D-eZWMGX.js +0 -1
- package/dist/showcase/assets/pencil-Dm53P6Db.js +0 -1
- package/dist/showcase/assets/phone-a4Ja9xAp.js +0 -1
- package/dist/showcase/assets/plus-DbOlx2x0.js +0 -1
- package/dist/showcase/assets/popover-B8qrRgt3.js +0 -1
- package/dist/showcase/assets/popover-Bm5wETUP.js +0 -1
- package/dist/showcase/assets/popover-menu-EH4P-BuI.js +0 -1
- package/dist/showcase/assets/products-n6VBSMDh.js +0 -423
- package/dist/showcase/assets/progress-D9r6PSCF.js +0 -1
- package/dist/showcase/assets/progress-DVnMcpeq.js +0 -18
- package/dist/showcase/assets/props-table-udnF7Z46.js +0 -1
- package/dist/showcase/assets/quote-qVQF4JC7.js +0 -1
- package/dist/showcase/assets/receipt-DaC4l-Mr.js +0 -1
- package/dist/showcase/assets/receipt-text-BnwhWHdU.js +0 -1
- package/dist/showcase/assets/refinement-guide-zBbAE-vw.js +0 -189
- package/dist/showcase/assets/refresh-cw-CX6ghqEe.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-Cjbd_80A.js +0 -1
- package/dist/showcase/assets/resource-D1fXD_Pt.js +0 -139
- package/dist/showcase/assets/resource-i2YV9aHL.js +0 -1
- package/dist/showcase/assets/resource-selector-card-CdQEPr9U.js +0 -43
- package/dist/showcase/assets/rich-text-editor-DJ2i03XV.js +0 -143
- package/dist/showcase/assets/rich-text-editor-Wh8r117d.js +0 -124
- package/dist/showcase/assets/rotate-ccw-2_FhUcdG.js +0 -1
- package/dist/showcase/assets/route-EGSdKgEp.js +0 -1
- package/dist/showcase/assets/save-nXKvyYEx.js +0 -1
- package/dist/showcase/assets/schema-form-D_9UkVBe.js +0 -327
- package/dist/showcase/assets/scroll-area-CB7X4JqZ.js +0 -1
- package/dist/showcase/assets/scroll-area-DCHN9iYj.js +0 -32
- package/dist/showcase/assets/section-C2ovQgbv.js +0 -1
- package/dist/showcase/assets/select-BTOraQSw.js +0 -1
- package/dist/showcase/assets/select-CE0BbUs7.js +0 -1
- package/dist/showcase/assets/send-CI0r12bX.js +0 -1
- package/dist/showcase/assets/separator-CmGfh7lI.js +0 -1
- package/dist/showcase/assets/separator-PhQTNRIB.js +0 -28
- package/dist/showcase/assets/settings-2-qkVb0lyz.js +0 -1
- package/dist/showcase/assets/settings-YXjlZ9zs.js +0 -1
- package/dist/showcase/assets/sheet-CFDUB2H1.js +0 -1
- package/dist/showcase/assets/shield-Dr_UeG6H.js +0 -1
- package/dist/showcase/assets/shield-alert-7rAVXg-K.js +0 -1
- package/dist/showcase/assets/shield-check-BbzHL-nM.js +0 -1
- package/dist/showcase/assets/shopping-bag-DeprN0fB.js +0 -1
- package/dist/showcase/assets/showcase-BU6Fvpg_.js +0 -132
- package/dist/showcase/assets/sidebar-CudnhnWN.js +0 -1
- package/dist/showcase/assets/sidebar.context-CZaDhRhh.js +0 -1
- package/dist/showcase/assets/skeleton-DD6VPVrv.js +0 -1
- package/dist/showcase/assets/skeleton-Dc5LvW7E.js +0 -29
- package/dist/showcase/assets/slider-BxvP9nxk.js +0 -1
- package/dist/showcase/assets/smart-card-B0Llbpiy.js +0 -1
- package/dist/showcase/assets/sonner-mszFoDWT.js +0 -22
- package/dist/showcase/assets/sortable.esm-J5bJPtH9.js +0 -5
- package/dist/showcase/assets/sparkles-CQSdl3Gw.js +0 -1
- package/dist/showcase/assets/spinner-BSxBn2qs.js +0 -49
- package/dist/showcase/assets/spinner-DJxoGJtq.js +0 -30
- package/dist/showcase/assets/spinner-DihTCcve.js +0 -1
- package/dist/showcase/assets/square-pen-CGMSA_p6.js +0 -1
- package/dist/showcase/assets/stacked-avatars-Ct8B4doW.js +0 -1
- package/dist/showcase/assets/star-DFlmmJdh.js +0 -1
- package/dist/showcase/assets/startOfDay-BedffeNt.js +0 -1
- package/dist/showcase/assets/styles-jR6uS97D.js +0 -1
- package/dist/showcase/assets/suggestions-DnjJ-U9n.js +0 -126
- package/dist/showcase/assets/switch-Dkojf4Yd.js +0 -1
- package/dist/showcase/assets/switch-bTb6CSLr.js +0 -1
- package/dist/showcase/assets/sync-rk8eFwoJ.js +0 -124
- package/dist/showcase/assets/table-4qIerTVI.js +0 -686
- package/dist/showcase/assets/table-BjMmmYd7.js +0 -1
- package/dist/showcase/assets/table-actions-DqofOI1V.js +0 -1
- package/dist/showcase/assets/tabs-BV6mMsfk.js +0 -19
- package/dist/showcase/assets/tabs-u2fkHRw8.js +0 -1
- package/dist/showcase/assets/tags-input-Cu_UwlwT.js +0 -1
- package/dist/showcase/assets/text-button-Fyy21evq.js +0 -1
- package/dist/showcase/assets/text-link-WRyY3ZZo.js +0 -1
- package/dist/showcase/assets/textarea-BbCxWNzV.js +0 -1
- package/dist/showcase/assets/textarea-CtD7JQsv.js +0 -1
- package/dist/showcase/assets/timelines-BBPQpCFX.js +0 -200
- package/dist/showcase/assets/toggle-group-B8mQ6wer.js +0 -1
- package/dist/showcase/assets/toggles-CCClWVXZ.js +0 -71
- package/dist/showcase/assets/toggles-group-DgCilPMo.js +0 -32
- package/dist/showcase/assets/tooltip-ClJCWWTI.js +0 -31
- package/dist/showcase/assets/trash-2-Cs7y4-K-.js +0 -1
- package/dist/showcase/assets/trending-up-spYhMxs6.js +0 -1
- package/dist/showcase/assets/truck-DENWgqxK.js +0 -1
- package/dist/showcase/assets/typography-DMmYNFQj.js +0 -223
- package/dist/showcase/assets/ui-badge-BJEtsa7X.js +0 -28
- package/dist/showcase/assets/ui-card-CrPKoi3P.js +0 -30
- package/dist/showcase/assets/ui-table-2HhDwPcu.js +0 -42
- package/dist/showcase/assets/upload-tray-CUZAErkI.js +0 -138
- package/dist/showcase/assets/use-layout-link-Co3GiFmb.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DgIA0IXg.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-CDdoyQgg.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-BT0RSjGM.js +0 -1
- package/dist/showcase/assets/useCompositeItem-DFghnuRZ.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-vXyRoJ2x.js +0 -1
- package/dist/showcase/assets/useLabelableId-D__l5sQX.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-bZIaLWfE.js +0 -1
- package/dist/showcase/assets/useRender-BV0akLbc.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-dYriJrQP.js +0 -1
- package/dist/showcase/assets/useValueChanged-Dg0AWST0.js +0 -1
- package/dist/showcase/assets/user-B9eCi5Vl.js +0 -1
- package/dist/showcase/assets/user-plus-Uo4IAY7e.js +0 -1
- package/dist/showcase/assets/users-DLep-WjV.js +0 -1
- package/dist/showcase/assets/vendor-profile-BbcE51Pa.js +0 -37
- package/dist/showcase/assets/video-BasdlaQE.js +0 -1
- package/dist/showcase/assets/wrench-BYUVe1-z.js +0 -1
- package/dist/showcase/assets/x-Bx9ayVXr.js +0 -1
- package/dist/showcase/assets/zap-Mgu5HEtF.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/components/composed/navigation/kanban-board/kanban-board.tsx","../../../../src/components/composed/navigation/tab-switcher/tab-switcher.tsx","../../../../src/components/composed/navigation/time-ruler/types.ts","../../../../src/components/composed/navigation/time-ruler/time-ruler.tsx","../../../../src/components/composed/navigation/vendor-performance/vendor-performance.tsx","../../../../src/components/composed/navigation/experience-activity/experience-activity.strings.ts","../../../../src/components/composed/navigation/experience-activity/experience-activity.tsx","../../../../src/components/composed/navigation/breadcrumb-progress/types.ts","../../../../src/components/composed/navigation/breadcrumb-progress/breadcrumb-progress.tsx","../../../../src/components/composed/navigation/category-nav/category-nav.tsx"],"sourcesContent":["import { Badge, type ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { KanbanColumnTone, KanbanMicroBoardProps } from './types';\n\nconst COLUMN_BADGE: Record<KanbanColumnTone, ComposedBadgeVariant> = {\n\tneutral: 'secondary',\n\tprimary: 'primary',\n\tinfo: 'info',\n\tsuccess: 'success',\n\twarning: 'warning',\n\tdestructive: 'error',\n};\n\nconst ITEM_DOT: Record<KanbanColumnTone, string> = {\n\tneutral: 'bg-muted-foreground',\n\tprimary: 'bg-primary',\n\tinfo: 'bg-info',\n\tsuccess: 'bg-success',\n\twarning: 'bg-warning',\n\tdestructive: 'bg-destructive',\n};\n\nexport function KanbanMicroBoard({ columns, className }: KanbanMicroBoardProps) {\n\tconst totalItems = columns.reduce((sum, col) => sum + col.items.length, 0);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ttitle=\"Pipeline Overview\"\n\t\t\ttitleSuffix={<Badge variant=\"secondary\">{totalItems} items</Badge>}\n\t\t\tclassName={cn('kanban-board--component', className)}\n\t\t>\n\t\t\t<div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4\">\n\t\t\t\t{columns.map((col) => {\n\t\t\t\t\tconst tone = col.tone ?? 'neutral';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={col.title}\n\t\t\t\t\t\t\tclassName=\"rounded-md border border-border/60 bg-muted/30 p-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"mb-2 flex items-center justify-between gap-2\">\n\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t{col.title}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<Badge variant={COLUMN_BADGE[tone]}>\n\t\t\t\t\t\t\t\t\t{col.items.length}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"space-y-1.5\">\n\t\t\t\t\t\t\t\t{col.items.map((item, itemIdx) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={`${col.title}-${itemIdx}`}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-h-8 items-center gap-2 rounded-md border border-border/50 bg-card px-2 py-1.5 shadow-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'h-1.5 w-1.5 flex-shrink-0 rounded-full',\n\t\t\t\t\t\t\t\t\t\t\t\tITEM_DOT[item.tone ?? tone],\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Text size=\"xs\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nKanbanMicroBoard.displayName = 'KanbanMicroBoard';\n","import { useState } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { TabSwitcherCardProps } from './types';\n\nexport function TabSwitcherCard({ title, tabs, defaultTab, className }: TabSwitcherCardProps) {\n const tabKeys = Object.keys(tabs);\n const [activeTab, setActiveTab] = useState<string>(defaultTab ?? tabKeys[0] ?? '');\n\n return (\n <SmartCard title={title} className={cn('tab-switcher--component', 'bg-gradient-to-b from-muted/30 to-card', className)}>\n {/* Pill tabs */}\n <div className=\"mt-4 flex gap-1 rounded-full bg-muted/50 p-1\">\n {tabKeys.map((t) => (\n <Button\n key={t}\n variant={activeTab === t ? 'light' : 'secondary'}\n buttonStyle={activeTab === t ? 'solid' : 'ghost'}\n onClick={() => setActiveTab(t)}\n className={cn('flex-1 rounded-full capitalize', activeTab === t ? 'shadow-sm' : '')}\n >\n {t}\n </Button>\n ))}\n </div>\n\n <div className=\"mt-4 space-y-2\">\n {tabs[activeTab]?.map((item) => (\n <div key={item.name} className=\"flex items-center gap-3 rounded-xl px-2 py-2 transition-colors hover:bg-muted/20\">\n {!!item.icon && (\n <div className=\"flex size-8 items-center justify-center rounded-full bg-primary/10\">\n <item.icon className=\"size-4 text-primary\" />\n </div>\n )}\n <Text className=\"flex-1\">{item.name}</Text>\n <Text weight=\"bold\">{item.value}</Text>\n </div>\n ))}\n </div>\n </SmartCard>\n );\n}\n\nTabSwitcherCard.displayName = 'TabSwitcherCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface TimeDistributionRulerStrings {\n /** Density-band legend labels. */\n legendNone: string;\n legendLow: string;\n legendMedium: string;\n legendHigh: string;\n /** \"Now\" marker label. */\n legendNow: string;\n /** Format function for the per-hour `title` tooltip (\"08:00 - 5 bookings\"). */\n formatHourTitle: (hourLabel: string, count: number) => string;\n}\n\nexport const defaultTimeDistributionRulerStrings: TimeDistributionRulerStrings = {\n legendNone: 'None',\n legendLow: 'Low',\n legendMedium: 'Medium',\n legendHigh: 'High',\n legendNow: 'Now',\n formatHourTitle: (hourLabel, count) => `${hourLabel}:00 - ${count} bookings`,\n};\n\nexport interface TimeDistributionRulerProps {\n hours: number[];\n currentHour?: number;\n className?: string;\n strings?: StringsProp<TimeDistributionRulerStrings>;\n}\n","import { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultTimeDistributionRulerStrings, type TimeDistributionRulerProps } from './types';\n\nexport function TimeDistributionRuler({ hours, currentHour, className, strings: stringsProp }: TimeDistributionRulerProps) {\n const strings = useStrings(defaultTimeDistributionRulerStrings, stringsProp);\n const maxVal = Math.max(...hours, 1);\n const peakHour = hours.indexOf(Math.max(...hours));\n\n function getDensityClass(count: number): string {\n if (count === 0) return 'bg-muted';\n const ratio = count / maxVal;\n if (ratio < 0.33) return 'bg-primary/25';\n if (ratio < 0.66) return 'bg-primary/55';\n return 'bg-primary';\n }\n\n return (\n <div className={cn('time-ruler--component', 'space-y-1.5', className)}>\n {/* Ruler bar */}\n <div className=\"relative flex h-8 gap-px overflow-hidden rounded-md\">\n {hours.map((count, hour) => (\n <div\n key={hour}\n className={cn(\n 'relative flex-1 transition-colors duration-200',\n getDensityClass(count),\n hour === peakHour && 'ring-1 ring-primary ring-inset',\n )}\n title={strings.formatHourTitle(String(hour).padStart(2, '0'), count)}\n />\n ))}\n </div>\n {/* Hour labels + now marker */}\n <div className=\"relative flex\">\n {hours.map((_, hour) => (\n <div key={hour} className=\"flex-1 text-center\">\n {hour % 4 === 0 && (\n <Text size=\"xxs\" type=\"secondary\" className=\"tabular-nums\">\n {String(hour).padStart(2, '0')}\n </Text>\n )}\n </div>\n ))}\n </div>\n {/* Now marker */}\n {currentHour !== undefined && currentHour >= 0 && currentHour < 24 && (\n <div className=\"relative h-0\">\n <div\n className=\"absolute -top-[42px] flex flex-col items-center\"\n style={{ left: `${(currentHour / 24) * 100}%`, transform: 'translateX(-50%)' }}\n >\n <div\n className=\"h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive\"\n />\n </div>\n </div>\n )}\n {/* Legend */}\n <div className=\"flex items-center gap-3\">\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-muted\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendNone}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary/25\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendLow}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary/55\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendMedium}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendHigh}</Text>\n </div>\n {currentHour !== undefined && (\n <div className=\"flex items-center gap-1\">\n <div className=\"h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendNow}</Text>\n </div>\n )}\n </div>\n </div>\n );\n}\n\nTimeDistributionRuler.displayName = 'TimeDistributionRuler';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { VendorPerformanceCardProps } from './types';\n\nfunction RatingStars({ rating, maxRating = 5 }: { rating: number; maxRating?: number }) {\n return (\n <div className={cn('vendor-performance--component', 'flex items-center gap-0.5')}>\n {Array.from({ length: maxRating }, (_, i) => (\n <svg\n key={`star-${String(i)}`}\n className={cn(\n 'h-3.5 w-3.5',\n i < rating ? 'text-warning' : 'text-muted',\n )}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"none\"\n >\n <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\" />\n </svg>\n ))}\n </div>\n );\n}\n\nfunction performanceBarColor(score: number): string {\n if (score >= 80) return 'bg-success';\n if (score >= 50) return 'bg-warning';\n return 'bg-destructive';\n}\n\nexport function VendorPerformanceCard({\n vendorName,\n rating,\n maxRating = 5,\n metrics,\n performanceScore,\n lastActive,\n joinedDate,\n className,\n}: VendorPerformanceCardProps) {\n return (\n <SmartCard\n title={vendorName}\n className={className}\n footerText={\n <div className=\"flex items-center justify-between gap-4\">\n <Text size=\"xxs\" type=\"secondary\">Last active: {lastActive}</Text>\n <Text size=\"xxs\" type=\"secondary\">Joined: {joinedDate}</Text>\n </div>\n }\n >\n <div className=\"space-y-4\">\n <RatingStars rating={rating} maxRating={maxRating} />\n\n <div className=\"grid grid-cols-2 gap-2\">\n {([\n { label: 'Bookings', value: String(metrics.bookings) },\n { label: 'Revenue', value: metrics.revenue },\n { label: 'Avg Rating', value: String(metrics.avgRating) },\n { label: 'Response', value: metrics.responseTime },\n ] as const).map((metric) => (\n <div\n key={metric.label}\n className=\"rounded-lg bg-muted/50 p-3 text-center\"\n >\n <Text size=\"lg\" weight=\"bold\" className=\"tabular-nums\">\n {metric.value}\n </Text>\n <Text size=\"xxs\" type=\"secondary\">\n {metric.label}\n </Text>\n </div>\n ))}\n </div>\n\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <Text>Performance</Text>\n <Text weight=\"semibold\" className=\"tabular-nums\">\n {performanceScore}%\n </Text>\n </div>\n <div className=\"h-2 w-full overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n 'h-full rounded-full transition-all duration-500',\n performanceBarColor(performanceScore),\n )}\n style={{ width: `${String(performanceScore)}%` }}\n />\n </div>\n </div>\n </div>\n </SmartCard>\n );\n}\n\nVendorPerformanceCard.displayName = 'VendorPerformanceCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface ExperienceActivityCardStrings {\n\tdescription: string;\n\taddActionLabel: string;\n}\n\nexport const defaultExperienceActivityCardStrings: ExperienceActivityCardStrings = {\n\tdescription: 'Experiences completed this week',\n\taddActionLabel: 'Add activity',\n};\n\nexport type ExperienceActivityCardStringsProp = StringsProp<ExperienceActivityCardStrings>;\n","import { Plus } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport {\n Item,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemSeparator,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultExperienceActivityCardStrings,\n} from './experience-activity.strings';\nimport type { ExperienceActivityCardProps } from './types';\n\nexport function ExperienceActivityCard({\n completed,\n total,\n activities,\n onAdd,\n strings: stringsProp,\n className,\n}: ExperienceActivityCardProps) {\n const strings = useStrings(defaultExperienceActivityCardStrings, stringsProp);\n\n return (\n <SmartCard\n title={`${completed} out of ${total}`}\n description={strings.description}\n headerEnd={\n !!onAdd && (\n <Button\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"icon-small\"\n aria-label={strings.addActionLabel}\n onClick={onAdd}\n >\n <Plus className=\"size-4\" />\n </Button>\n )\n }\n className={cn('experience-activity--component', className)}\n >\n <ItemGroup>\n {activities.map((a, i) => (\n <div key={a.title}>\n {i > 0 && <ItemSeparator />}\n <Item size=\"small\" className=\"items-start\">\n <ItemMedia>\n <div className=\"flex size-8 items-center justify-center rounded-md bg-primary/10 text-primary\">\n <a.icon className=\"size-4\" />\n </div>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{a.title}</ItemTitle>\n <ItemDescription clamp={1}>{a.time}</ItemDescription>\n <div className=\"mt-2 grid grid-cols-2 gap-1.5\">\n {a.metrics.map((m) => (\n <div key={m.label} className=\"rounded-md border border-border/50 bg-muted/25 px-2.5 py-1.5\">\n <Text size=\"xs\" type=\"secondary\">{m.label}</Text>\n <Text size=\"xs\" weight=\"semibold\">{m.value}</Text>\n </div>\n ))}\n </div>\n </ItemContent>\n </Item>\n </div>\n ))}\n </ItemGroup>\n </SmartCard>\n );\n}\n\nExperienceActivityCard.displayName = 'ExperienceActivityCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface BreadcrumbProgressStep {\n\tid: string;\n\tlabel: string;\n\thint?: string;\n}\n\nexport interface BreadcrumbProgressStrings {\n\tstepLabel: string;\n\tofLabel: string;\n}\n\nexport const defaultBreadcrumbProgressStrings: BreadcrumbProgressStrings = {\n\tstepLabel: 'Step',\n\tofLabel: 'of',\n};\n\nexport interface BreadcrumbProgressProps {\n\tsteps: BreadcrumbProgressStep[];\n\tcurrentIndex: number;\n\tonStepClick?: (id: string, index: number) => void;\n\tclassName?: string;\n\tstrings?: StringsProp<BreadcrumbProgressStrings>;\n}\n","/**\n * BreadcrumbProgress — wizard / multi-step navigation with completed,\n * current, and upcoming states. Click any completed step to jump back.\n */\nimport { Check } from 'lucide-react';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultBreadcrumbProgressStrings,\n\ttype BreadcrumbProgressProps,\n} from './types';\n\nexport function BreadcrumbProgress({ steps, currentIndex, onStepClick, className, strings: stringsProp }: BreadcrumbProgressProps) {\n\tconst strings = useStrings(defaultBreadcrumbProgressStrings, stringsProp);\n\n\treturn (\n\t\t<div className={cn('breadcrumb-progress--component', 'w-full', className)}>\n\t\t\t<div className=\"flex items-center justify-between mb-2\">\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t{strings.stepLabel} {currentIndex + 1} {strings.ofLabel} {steps.length}\n\t\t\t\t</Text>\n\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"semibold\" className=\"tabular-nums\">{Math.round(((currentIndex + 1) / steps.length) * 100)}%</Text>\n\t\t\t</div>\n\t\t\t<ol className=\"flex items-center gap-2\">\n\t\t\t\t{steps.map((step, idx) => {\n\t\t\t\t\tconst isCompleted = idx < currentIndex;\n\t\t\t\t\tconst isCurrent = idx === currentIndex;\n\t\t\t\t\tconst isClickable = onStepClick && (isCompleted || isCurrent);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={step.id} className=\"flex min-w-0 flex-1 items-center gap-2\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => isClickable && onStepClick?.(step.id, idx)}\n\t\t\t\t\t\t\t\tdisabled={!isClickable}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'h-auto min-w-0 justify-start gap-2 rounded-md px-2 py-1 text-left transition-colors',\n\t\t\t\t\t\t\t\t\tisClickable && 'hover:bg-muted/40',\n\t\t\t\t\t\t\t\t\t!isClickable && 'cursor-default',\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<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold tabular-nums',\n\t\t\t\t\t\t\t\t\t\tisCompleted && 'bg-success text-success-foreground',\n\t\t\t\t\t\t\t\t\t\tisCurrent && 'bg-primary text-primary-foreground ring-4 ring-primary/15',\n\t\t\t\t\t\t\t\t\t\t!isCompleted && !isCurrent && 'bg-muted text-muted-foreground',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isCompleted ? <Check className=\"size-3.5\" /> : idx + 1}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div className=\"hidden min-w-0 lg:block\">\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className={cn(!isCurrent && !isCompleted && 'text-muted-foreground')}>{step.label}</Text>\n\t\t\t\t\t\t\t\t\t{!!step.hint && <Text size=\"xxs\" type=\"discrete\" className=\"truncate\">{step.hint}</Text>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{idx < steps.length - 1 && (\n\t\t\t\t\t\t\t\t<div className={cn('h-px flex-1', isCompleted ? 'bg-success' : 'bg-border')} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ol>\n\t\t</div>\n\t);\n}\n\nBreadcrumbProgress.displayName = 'BreadcrumbProgress';\n","/**\n * CategoryNavCard — vertical icon + label list with optional count badge per row.\n * Use as a sidebar nav for filtering or category browsing.\n */\nimport { ChevronRight } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Badge } from '@/components/base/badge';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { cn } from '@/lib/utils';\n\nimport type { CategoryNavCardProps } from './types';\n\nexport function CategoryNavCard({ title, items, activeId, onSelect, className }: CategoryNavCardProps) {\n\treturn (\n\t\t<SmartCard title={title} padding=\"default\" className={cn('category-nav--component', className)}>\n\t\t\t<ItemGroup>\n\t\t\t\t{items.map((it) => {\n\t\t\t\t\tconst Icon = it.icon;\n\t\t\t\t\tconst active = it.id === activeId;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tkey={it.id}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={() => onSelect?.(it.id)}\n\t\t\t\t\t\t\tdata-state={active ? 'active' : 'inactive'}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'cursor-pointer transition-colors',\n\t\t\t\t\t\t\t\tactive ? 'bg-primary/10 text-primary' : 'hover:bg-muted/50',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t<ItemMedia variant=\"icon\" className={cn(active ? 'text-primary' : 'text-muted-foreground')}>\n\t\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t<ItemTitle bold={active}>{it.label}</ItemTitle>\n\t\t\t\t\t\t\t\t{!!it.hint && <ItemDescription clamp={1}>{it.hint}</ItemDescription>}\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{typeof it.count === 'number' && (\n\t\t\t\t\t\t\t\t\t<Badge variant={active ? 'primary' : 'secondary'} className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{it.count}\n\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<ChevronRight\n\t\t\t\t\t\t\t\t\tclassName={cn('size-4 shrink-0 text-muted-foreground/60', active && 'text-primary')}\n\t\t\t\t\t\t\t\t/>\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})}\n\t\t\t</ItemGroup>\n\t\t</SmartCard>\n\t);\n}\n\nCategoryNavCard.displayName = 'CategoryNavCard';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/components/composed/navigation/kanban-board/kanban-board.tsx","../../../../src/components/composed/navigation/tab-switcher/tab-switcher.tsx","../../../../src/components/composed/navigation/time-ruler/types.ts","../../../../src/components/composed/navigation/time-ruler/time-ruler.tsx","../../../../src/components/composed/navigation/vendor-performance/vendor-performance.tsx","../../../../src/components/composed/navigation/experience-activity/experience-activity.strings.ts","../../../../src/components/composed/navigation/experience-activity/experience-activity.tsx","../../../../src/components/composed/navigation/breadcrumb-progress/types.ts","../../../../src/components/composed/navigation/breadcrumb-progress/breadcrumb-progress.tsx","../../../../src/components/composed/navigation/category-nav/category-nav.tsx"],"sourcesContent":["import { Badge, type ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { KanbanColumnTone, KanbanMicroBoardProps } from './types';\n\nconst COLUMN_BADGE: Record<KanbanColumnTone, ComposedBadgeVariant> = {\n\tneutral: 'secondary',\n\tprimary: 'primary',\n\tinfo: 'info',\n\tsuccess: 'success',\n\twarning: 'warning',\n\tdestructive: 'error',\n};\n\nconst ITEM_DOT: Record<KanbanColumnTone, string> = {\n\tneutral: 'bg-muted-foreground',\n\tprimary: 'bg-primary',\n\tinfo: 'bg-info',\n\tsuccess: 'bg-success',\n\twarning: 'bg-warning',\n\tdestructive: 'bg-destructive',\n};\n\nexport function KanbanMicroBoard({ columns, className }: KanbanMicroBoardProps) {\n\tconst totalItems = columns.reduce((sum, col) => sum + col.items.length, 0);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ttitle=\"Pipeline Overview\"\n\t\t\ttitleSuffix={<Badge variant=\"secondary\">{totalItems} items</Badge>}\n\t\t\tclassName={cn('kanban-board--component', className)}\n\t\t>\n\t\t\t<div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4\">\n\t\t\t\t{columns.map((col) => {\n\t\t\t\t\tconst tone = col.tone ?? 'neutral';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={col.title}\n\t\t\t\t\t\t\tclassName=\"rounded-md border border-border/60 bg-muted/30 p-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"mb-2 flex items-center justify-between gap-2\">\n\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t{col.title}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<Badge variant={COLUMN_BADGE[tone]}>\n\t\t\t\t\t\t\t\t\t{col.items.length}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"space-y-1.5\">\n\t\t\t\t\t\t\t\t{col.items.map((item, itemIdx) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={`${col.title}-${itemIdx}`}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-h-8 items-center gap-2 rounded-md border border-border/50 bg-card px-2 py-1.5 shadow-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'h-1.5 w-1.5 flex-shrink-0 rounded-full',\n\t\t\t\t\t\t\t\t\t\t\t\tITEM_DOT[item.tone ?? tone],\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Text size=\"xs\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nKanbanMicroBoard.displayName = 'KanbanMicroBoard';\n","import { useState } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { TabSwitcherCardProps } from './types';\n\nexport function TabSwitcherCard({ title, tabs, defaultTab, className }: TabSwitcherCardProps) {\n const tabKeys = Object.keys(tabs);\n const [activeTab, setActiveTab] = useState<string>(defaultTab ?? tabKeys[0] ?? '');\n\n return (\n <SmartCard title={title} className={cn('tab-switcher--component', 'bg-gradient-to-b from-muted/30 to-card', className)}>\n {/* Pill tabs */}\n <div className=\"mt-4 flex gap-1 rounded-full bg-muted/50 p-1\">\n {tabKeys.map((t) => (\n <Button\n key={t}\n variant={activeTab === t ? 'light' : 'secondary'}\n buttonStyle={activeTab === t ? 'solid' : 'ghost'}\n onClick={() => setActiveTab(t)}\n className={cn('flex-1 rounded-full capitalize', activeTab === t ? 'shadow-sm' : '')}\n >\n {t}\n </Button>\n ))}\n </div>\n\n <div className=\"mt-4 space-y-2\">\n {tabs[activeTab]?.map((item) => (\n <div key={item.name} className=\"flex items-center gap-3 rounded-xl px-2 py-2 transition-colors hover:bg-muted/20\">\n {!!item.icon && (\n <div className=\"flex size-8 items-center justify-center rounded-full bg-primary/10\">\n <item.icon className=\"size-4 text-primary\" />\n </div>\n )}\n <Text className=\"flex-1\">{item.name}</Text>\n <Text weight=\"bold\">{item.value}</Text>\n </div>\n ))}\n </div>\n </SmartCard>\n );\n}\n\nTabSwitcherCard.displayName = 'TabSwitcherCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface TimeDistributionRulerStrings {\n /** Density-band legend labels. */\n legendNone: string;\n legendLow: string;\n legendMedium: string;\n legendHigh: string;\n /** \"Now\" marker label. */\n legendNow: string;\n /** Format function for the per-hour `title` tooltip (\"08:00 - 5 bookings\"). */\n formatHourTitle: (hourLabel: string, count: number) => string;\n}\n\nexport const defaultTimeDistributionRulerStrings: TimeDistributionRulerStrings = {\n legendNone: 'None',\n legendLow: 'Low',\n legendMedium: 'Medium',\n legendHigh: 'High',\n legendNow: 'Now',\n formatHourTitle: (hourLabel, count) => `${hourLabel}:00 - ${count} bookings`,\n};\n\nexport interface TimeDistributionRulerProps {\n hours: number[];\n currentHour?: number;\n className?: string;\n strings?: StringsProp<TimeDistributionRulerStrings>;\n}\n","import { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultTimeDistributionRulerStrings, type TimeDistributionRulerProps } from './types';\n\nexport function TimeDistributionRuler({ hours, currentHour, className, strings: stringsProp }: TimeDistributionRulerProps) {\n const strings = useStrings(defaultTimeDistributionRulerStrings, stringsProp);\n const maxVal = Math.max(...hours, 1);\n const peakHour = hours.indexOf(Math.max(...hours));\n\n function getDensityClass(count: number): string {\n if (count === 0) return 'bg-muted';\n const ratio = count / maxVal;\n if (ratio < 0.33) return 'bg-primary/25';\n if (ratio < 0.66) return 'bg-primary/55';\n return 'bg-primary';\n }\n\n return (\n <div className={cn('time-ruler--component', 'space-y-1.5', className)}>\n {/* Ruler bar */}\n <div className=\"relative flex h-8 gap-px overflow-hidden rounded-md\">\n {hours.map((count, hour) => (\n <div\n key={hour}\n className={cn(\n 'relative flex-1 transition-colors duration-200',\n getDensityClass(count),\n hour === peakHour && 'ring-1 ring-primary ring-inset',\n )}\n title={strings.formatHourTitle(String(hour).padStart(2, '0'), count)}\n />\n ))}\n </div>\n {/* Hour labels + now marker */}\n <div className=\"relative flex\">\n {hours.map((_, hour) => (\n <div key={hour} className=\"flex-1 text-center\">\n {hour % 4 === 0 && (\n <Text size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n {String(hour).padStart(2, '0')}\n </Text>\n )}\n </div>\n ))}\n </div>\n {/* Now marker */}\n {currentHour !== undefined && currentHour >= 0 && currentHour < 24 && (\n <div className=\"relative h-0\">\n <div\n className=\"absolute -top-[42px] flex flex-col items-center\"\n style={{ left: `${(currentHour / 24) * 100}%`, transform: 'translateX(-50%)' }}\n >\n <div\n className=\"h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive\"\n />\n </div>\n </div>\n )}\n {/* Legend */}\n <div className=\"flex items-center gap-3\">\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-muted\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendNone}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary/25\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendLow}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary/55\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendMedium}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendHigh}</Text>\n </div>\n {currentHour !== undefined && (\n <div className=\"flex items-center gap-1\">\n <div className=\"h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendNow}</Text>\n </div>\n )}\n </div>\n </div>\n );\n}\n\nTimeDistributionRuler.displayName = 'TimeDistributionRuler';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { VendorPerformanceCardProps } from './types';\n\nfunction RatingStars({ rating, maxRating = 5 }: { rating: number; maxRating?: number }) {\n return (\n <div className={cn('vendor-performance--component', 'flex items-center gap-0.5')}>\n {Array.from({ length: maxRating }, (_, i) => (\n <svg\n key={`star-${String(i)}`}\n className={cn(\n 'h-3.5 w-3.5',\n i < rating ? 'text-warning' : 'text-muted',\n )}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"none\"\n >\n <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\" />\n </svg>\n ))}\n </div>\n );\n}\n\nfunction performanceBarColor(score: number): string {\n if (score >= 80) return 'bg-success';\n if (score >= 50) return 'bg-warning';\n return 'bg-destructive';\n}\n\nexport function VendorPerformanceCard({\n vendorName,\n rating,\n maxRating = 5,\n metrics,\n performanceScore,\n lastActive,\n joinedDate,\n className,\n}: VendorPerformanceCardProps) {\n return (\n <SmartCard\n title={vendorName}\n className={className}\n footerText={\n <div className=\"flex items-center justify-between gap-4\">\n <Text size=\"xs\" type=\"secondary\">Last active: {lastActive}</Text>\n <Text size=\"xs\" type=\"secondary\">Joined: {joinedDate}</Text>\n </div>\n }\n >\n <div className=\"space-y-4\">\n <RatingStars rating={rating} maxRating={maxRating} />\n\n <div className=\"grid grid-cols-2 gap-2\">\n {([\n { label: 'Bookings', value: String(metrics.bookings) },\n { label: 'Revenue', value: metrics.revenue },\n { label: 'Avg Rating', value: String(metrics.avgRating) },\n { label: 'Response', value: metrics.responseTime },\n ] as const).map((metric) => (\n <div\n key={metric.label}\n className=\"rounded-lg bg-muted/50 p-3 text-center\"\n >\n <Text size=\"lg\" weight=\"bold\" className=\"tabular-nums\">\n {metric.value}\n </Text>\n <Text size=\"xs\" type=\"secondary\">\n {metric.label}\n </Text>\n </div>\n ))}\n </div>\n\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <Text>Performance</Text>\n <Text weight=\"semibold\" className=\"tabular-nums\">\n {performanceScore}%\n </Text>\n </div>\n <div className=\"h-2 w-full overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n 'h-full rounded-full transition-all duration-500',\n performanceBarColor(performanceScore),\n )}\n style={{ width: `${String(performanceScore)}%` }}\n />\n </div>\n </div>\n </div>\n </SmartCard>\n );\n}\n\nVendorPerformanceCard.displayName = 'VendorPerformanceCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface ExperienceActivityCardStrings {\n\tdescription: string;\n\taddActionLabel: string;\n}\n\nexport const defaultExperienceActivityCardStrings: ExperienceActivityCardStrings = {\n\tdescription: 'Experiences completed this week',\n\taddActionLabel: 'Add activity',\n};\n\nexport type ExperienceActivityCardStringsProp = StringsProp<ExperienceActivityCardStrings>;\n","import { Plus } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport {\n Item,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemSeparator,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultExperienceActivityCardStrings,\n} from './experience-activity.strings';\nimport type { ExperienceActivityCardProps } from './types';\n\nexport function ExperienceActivityCard({\n completed,\n total,\n activities,\n onAdd,\n strings: stringsProp,\n className,\n}: ExperienceActivityCardProps) {\n const strings = useStrings(defaultExperienceActivityCardStrings, stringsProp);\n\n return (\n <SmartCard\n title={`${completed} out of ${total}`}\n description={strings.description}\n headerEnd={\n !!onAdd && (\n <Button\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"icon-small\"\n aria-label={strings.addActionLabel}\n onClick={onAdd}\n >\n <Plus className=\"size-4\" />\n </Button>\n )\n }\n className={cn('experience-activity--component', className)}\n >\n <ItemGroup>\n {activities.map((a, i) => (\n <div key={a.title}>\n {i > 0 && <ItemSeparator />}\n <Item size=\"small\" className=\"items-start\">\n <ItemMedia>\n <div className=\"flex size-8 items-center justify-center rounded-md bg-primary/10 text-primary\">\n <a.icon className=\"size-4\" />\n </div>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{a.title}</ItemTitle>\n <ItemDescription clamp={1}>{a.time}</ItemDescription>\n <div className=\"mt-2 grid grid-cols-2 gap-1.5\">\n {a.metrics.map((m) => (\n <div key={m.label} className=\"rounded-md border border-border/50 bg-muted/25 px-2.5 py-1.5\">\n <Text size=\"xs\" type=\"secondary\">{m.label}</Text>\n <Text size=\"xs\" weight=\"semibold\">{m.value}</Text>\n </div>\n ))}\n </div>\n </ItemContent>\n </Item>\n </div>\n ))}\n </ItemGroup>\n </SmartCard>\n );\n}\n\nExperienceActivityCard.displayName = 'ExperienceActivityCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface BreadcrumbProgressStep {\n\tid: string;\n\tlabel: string;\n\thint?: string;\n}\n\nexport interface BreadcrumbProgressStrings {\n\tstepLabel: string;\n\tofLabel: string;\n}\n\nexport const defaultBreadcrumbProgressStrings: BreadcrumbProgressStrings = {\n\tstepLabel: 'Step',\n\tofLabel: 'of',\n};\n\nexport interface BreadcrumbProgressProps {\n\tsteps: BreadcrumbProgressStep[];\n\tcurrentIndex: number;\n\tonStepClick?: (id: string, index: number) => void;\n\tclassName?: string;\n\tstrings?: StringsProp<BreadcrumbProgressStrings>;\n}\n","/**\n * BreadcrumbProgress — wizard / multi-step navigation with completed,\n * current, and upcoming states. Click any completed step to jump back.\n */\nimport { Check } from 'lucide-react';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultBreadcrumbProgressStrings,\n\ttype BreadcrumbProgressProps,\n} from './types';\n\nexport function BreadcrumbProgress({ steps, currentIndex, onStepClick, className, strings: stringsProp }: BreadcrumbProgressProps) {\n\tconst strings = useStrings(defaultBreadcrumbProgressStrings, stringsProp);\n\n\treturn (\n\t\t<div className={cn('breadcrumb-progress--component', 'w-full', className)}>\n\t\t\t<div className=\"flex items-center justify-between mb-2\">\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t{strings.stepLabel} {currentIndex + 1} {strings.ofLabel} {steps.length}\n\t\t\t\t</Text>\n\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"semibold\" className=\"tabular-nums\">{Math.round(((currentIndex + 1) / steps.length) * 100)}%</Text>\n\t\t\t</div>\n\t\t\t<ol className=\"flex items-center gap-2\">\n\t\t\t\t{steps.map((step, idx) => {\n\t\t\t\t\tconst isCompleted = idx < currentIndex;\n\t\t\t\t\tconst isCurrent = idx === currentIndex;\n\t\t\t\t\tconst isClickable = onStepClick && (isCompleted || isCurrent);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={step.id} className=\"flex min-w-0 flex-1 items-center gap-2\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => isClickable && onStepClick?.(step.id, idx)}\n\t\t\t\t\t\t\t\tdisabled={!isClickable}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'h-auto min-w-0 justify-start gap-2 rounded-md px-2 py-1 text-left transition-colors',\n\t\t\t\t\t\t\t\t\tisClickable && 'hover:bg-muted/40',\n\t\t\t\t\t\t\t\t\t!isClickable && 'cursor-default',\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<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold tabular-nums',\n\t\t\t\t\t\t\t\t\t\tisCompleted && 'bg-success text-success-foreground',\n\t\t\t\t\t\t\t\t\t\tisCurrent && 'bg-primary text-primary-foreground ring-4 ring-primary/15',\n\t\t\t\t\t\t\t\t\t\t!isCompleted && !isCurrent && 'bg-muted text-muted-foreground',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isCompleted ? <Check className=\"size-3.5\" /> : idx + 1}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div className=\"hidden min-w-0 lg:block\">\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className={cn(!isCurrent && !isCompleted && 'text-muted-foreground')}>{step.label}</Text>\n\t\t\t\t\t\t\t\t\t{!!step.hint && <Text size=\"xs\" type=\"discrete\" className=\"truncate\">{step.hint}</Text>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{idx < steps.length - 1 && (\n\t\t\t\t\t\t\t\t<div className={cn('h-px flex-1', isCompleted ? 'bg-success' : 'bg-border')} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ol>\n\t\t</div>\n\t);\n}\n\nBreadcrumbProgress.displayName = 'BreadcrumbProgress';\n","/**\n * CategoryNavCard — vertical icon + label list with optional count badge per row.\n * Use as a sidebar nav for filtering or category browsing.\n */\nimport { ChevronRight } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Badge } from '@/components/base/badge';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { cn } from '@/lib/utils';\n\nimport type { CategoryNavCardProps } from './types';\n\nexport function CategoryNavCard({ title, items, activeId, onSelect, className }: CategoryNavCardProps) {\n\treturn (\n\t\t<SmartCard title={title} padding=\"default\" className={cn('category-nav--component', className)}>\n\t\t\t<ItemGroup>\n\t\t\t\t{items.map((it) => {\n\t\t\t\t\tconst Icon = it.icon;\n\t\t\t\t\tconst active = it.id === activeId;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tkey={it.id}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={() => onSelect?.(it.id)}\n\t\t\t\t\t\t\tdata-state={active ? 'active' : 'inactive'}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'cursor-pointer transition-colors',\n\t\t\t\t\t\t\t\tactive ? 'bg-primary/10 text-primary' : 'hover:bg-muted/50',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t<ItemMedia variant=\"icon\" className={cn(active ? 'text-primary' : 'text-muted-foreground')}>\n\t\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t<ItemTitle bold={active}>{it.label}</ItemTitle>\n\t\t\t\t\t\t\t\t{!!it.hint && <ItemDescription clamp={1}>{it.hint}</ItemDescription>}\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{typeof it.count === 'number' && (\n\t\t\t\t\t\t\t\t\t<Badge variant={active ? 'primary' : 'secondary'} className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{it.count}\n\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<ChevronRight\n\t\t\t\t\t\t\t\t\tclassName={cn('size-4 shrink-0 text-muted-foreground/60', active && 'text-primary')}\n\t\t\t\t\t\t\t\t/>\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})}\n\t\t\t</ItemGroup>\n\t\t</SmartCard>\n\t);\n}\n\nCategoryNavCard.displayName = 'CategoryNavCard';\n"],"mappings":"6dAOA,IAAM,EAA+D,CACpE,QAAS,YACT,QAAS,UACT,KAAM,OACN,QAAS,UACT,QAAS,UACT,YAAa,OACd,EAEM,EAA6C,CAClD,QAAS,sBACT,QAAS,aACT,KAAM,UACN,QAAS,aACT,QAAS,aACT,YAAa,gBACd,EAEA,SAAgB,EAAiB,CAAE,UAAS,aAAoC,CAG/E,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,MAAM,oBACN,aAAa,EAAA,EAAA,MAAC,EAAA,EAAD,CAAO,QAAQ,qBAAf,CALI,EAAQ,QAAQ,EAAK,IAAQ,EAAM,EAAI,MAAM,OAAQ,CAK7B,EAAW,QAAa,IACjE,UAAW,EAAA,GAAG,0BAA2B,CAAS,YAElD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,gEACb,EAAQ,IAAK,GAAQ,CACrB,IAAM,EAAO,EAAI,MAAQ,UAEzB,OACC,EAAA,EAAA,MAAC,MAAD,CAEC,UAAU,8DAFX,EAIC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,wDAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,OAAO,WAAW,UAAU,oBAC1C,EAAI,KACA,CAAA,GACN,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAa,YAC3B,EAAI,MAAM,MACL,CAAA,CACH,KACL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,uBACb,EAAI,MAAM,KAAK,EAAM,KACrB,EAAA,EAAA,MAAC,MAAD,CAEC,UAAU,4GAFX,EAIC,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,yCACA,EAAS,EAAK,MAAQ,EACvB,CACA,CAAA,GACD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,UAAU,oBACxB,EAAK,KACD,CAAA,CACF,GAZC,GAAG,EAAI,MAAM,GAAG,GAYjB,CACL,CACG,CAAA,CACD,GA7BC,EAAI,KA6BL,CAEP,CAAC,CACG,CAAA,CACK,CAAA,CAEb,CAEA,EAAiB,YAAc,mBCpE/B,SAAgB,EAAgB,CAAE,QAAO,OAAM,aAAY,aAAmC,CAC1F,IAAM,EAAU,OAAO,KAAK,CAAI,EAC1B,CAAC,EAAW,IAAA,EAAA,EAAA,UAAiC,GAAc,EAAQ,IAAM,EAAE,EAEjF,OACI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAkB,QAAO,UAAW,EAAA,GAAG,0BAA2B,yCAA0C,CAAS,WAArH,EAEI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,wDACV,EAAQ,IAAK,IACV,EAAA,EAAA,KAAC,EAAA,EAAD,CAEI,QAAS,IAAc,EAAI,QAAU,YACrC,YAAa,IAAc,EAAI,QAAU,QACzC,YAAe,EAAa,CAAC,EAC7B,UAAW,EAAA,GAAG,iCAAkC,IAAc,EAAI,YAAc,EAAE,WAEjF,CACG,EAPC,CAOD,CACX,CACA,CAAA,GAEL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,0BACV,EAAK,IAAY,IAAK,IACnB,EAAA,EAAA,MAAC,MAAD,CAAqB,UAAU,4FAA/B,CACK,CAAC,CAAC,EAAK,OACJ,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+EACX,EAAA,EAAA,KAAC,EAAK,KAAN,CAAW,UAAU,qBAAuB,CAAA,CAC3C,CAAA,GAET,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,UAAU,kBAAU,EAAK,IAAW,CAAA,GAC1C,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,OAAO,gBAAQ,EAAK,KAAY,CAAA,CACrC,GARK,EAAK,IAQV,CACR,CACA,CAAA,CACE,GAEnB,CAEA,EAAgB,YAAc,kBCjC9B,IAAa,EAAoE,CAC7E,WAAY,OACZ,UAAW,MACX,aAAc,SACd,WAAY,OACZ,UAAW,MACX,iBAAkB,EAAW,IAAU,GAAG,EAAU,QAAQ,EAAM,UACtE,ECfA,SAAgB,EAAsB,CAAE,QAAO,cAAa,YAAW,QAAS,GAA2C,CACvH,IAAM,EAAU,EAAA,WAAW,EAAqC,CAAW,EACrE,EAAS,KAAK,IAAI,GAAG,EAAO,CAAC,EAC7B,EAAW,EAAM,QAAQ,KAAK,IAAI,GAAG,CAAK,CAAC,EAEjD,SAAS,EAAgB,EAAuB,CAC5C,GAAI,IAAU,EAAG,MAAO,WACxB,IAAM,EAAQ,EAAQ,EAGtB,OAFI,EAAQ,IAAa,gBACrB,EAAQ,IAAa,gBAClB,YACX,CAEA,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,wBAAyB,cAAe,CAAS,WAApE,EAEI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+DACV,EAAM,KAAK,EAAO,KACf,EAAA,EAAA,KAAC,MAAD,CAEI,UAAW,EAAA,GACP,iDACA,EAAgB,CAAK,EACrB,IAAS,GAAY,gCACzB,EACA,MAAO,EAAQ,gBAAgB,OAAO,CAAI,EAAE,SAAS,EAAG,GAAG,EAAG,CAAK,CACtE,EAPQ,CAOR,CACJ,CACA,CAAA,GAEL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yBACV,EAAM,KAAK,EAAG,KACX,EAAA,EAAA,KAAC,MAAD,CAAgB,UAAU,8BACrB,EAAO,GAAM,IACV,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,UAAU,wBACtC,OAAO,CAAI,EAAE,SAAS,EAAG,GAAG,CAC3B,CAAA,CAET,EANK,CAML,CACR,CACA,CAAA,EAEJ,IAAgB,IAAA,IAAa,GAAe,GAAK,EAAc,KAC5D,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yBACX,EAAA,EAAA,KAAC,MAAD,CACI,UAAU,kDACV,MAAO,CAAE,KAAM,GAAI,EAAc,GAAM,IAAI,GAAI,UAAW,kBAAmB,YAE7E,EAAA,EAAA,KAAC,MAAD,CACI,UAAU,iFACb,CAAA,CACA,CAAA,CACJ,CAAA,GAGT,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,6BAA+B,CAAA,GAC9C,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAQ,UAAiB,CAAA,CAC1D,KACL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kCAAoC,CAAA,GACnD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAQ,SAAgB,CAAA,CACzD,KACL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kCAAoC,CAAA,GACnD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAQ,YAAmB,CAAA,CAC5D,KACL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+BAAiC,CAAA,GAChD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAQ,UAAiB,CAAA,CAC1D,IACJ,IAAgB,IAAA,KACb,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iFAAmF,CAAA,GAClG,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAQ,SAAgB,CAAA,CACzD,GAER,GACJ,GAEb,CAEA,EAAsB,YAAc,wBCnFpC,SAAS,EAAY,CAAE,SAAQ,YAAY,GAA6C,CACpF,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,GAAG,gCAAiC,2BAA2B,WAC1E,MAAM,KAAK,CAAE,OAAQ,CAAU,GAAI,EAAG,KACnC,EAAA,EAAA,KAAC,MAAD,CAEI,UAAW,EAAA,GACP,cACA,EAAI,EAAS,eAAiB,YAClC,EACA,QAAQ,YACR,KAAK,eACL,OAAO,iBAEP,EAAA,EAAA,KAAC,OAAD,CAAM,EAAE,8FAAgG,CAAA,CACvG,EAVI,QAAQ,OAAO,CAAC,GAUpB,CACR,CACA,CAAA,CAEb,CAEA,SAAS,EAAoB,EAAuB,CAGhD,OAFI,GAAS,GAAW,aACpB,GAAS,GAAW,aACjB,gBACX,CAEA,SAAgB,EAAsB,CAClC,aACA,SACA,YAAY,EACZ,UACA,mBACA,aACA,aACA,aAC2B,CAC3B,OACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,MAAO,EACI,YACX,YACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mDAAf,EACI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAArB,CAAiC,gBAAc,CAAiB,KAChE,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAArB,CAAiC,WAAS,CAAiB,GAC1D,cAGT,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,qBAAf,EACI,EAAA,EAAA,KAAC,EAAD,CAAqB,SAAmB,WAAY,CAAA,GAEpD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kCACT,CACE,CAAE,MAAO,WAAY,MAAO,OAAO,EAAQ,QAAQ,CAAE,EACrD,CAAE,MAAO,UAAW,MAAO,EAAQ,OAAQ,EAC3C,CAAE,MAAO,aAAc,MAAO,OAAO,EAAQ,SAAS,CAAE,EACxD,CAAE,MAAO,WAAY,MAAO,EAAQ,YAAa,CACrD,EAAY,IAAK,IACb,EAAA,EAAA,MAAC,MAAD,CAEI,UAAU,kDAFd,EAII,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,OAAO,OAAO,UAAU,wBACnC,EAAO,KACN,CAAA,GACN,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAChB,EAAO,KACN,CAAA,CACL,GATI,EAAO,KASX,CACR,CACA,CAAA,GAEL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uBAAf,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAM,aAAiB,CAAA,GACvB,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,OAAO,WAAW,UAAU,wBAAlC,CACK,EAAiB,GAChB,GACL,KACL,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,6DACX,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,GACP,kDACA,EAAoB,CAAgB,CACxC,EACA,MAAO,CAAE,MAAO,GAAG,OAAO,CAAgB,EAAE,EAAG,CAClD,CAAA,CACA,CAAA,CACJ,GACJ,GACE,CAAA,CAEnB,CAEA,EAAsB,YAAc,wBC7FpC,IAAa,EAAsE,CAClF,YAAa,kCACb,eAAgB,cACjB,ECYA,SAAgB,EAAuB,CACnC,YACA,QACA,aACA,QACA,QAAS,EACT,aAC4B,CAC5B,IAAM,EAAU,EAAA,WAAW,EAAsC,CAAW,EAE5E,OACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,MAAO,GAAG,EAAU,UAAU,IAC9B,YAAa,EAAQ,YACrB,UACI,CAAC,CAAC,IACE,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,QAAQ,YACR,YAAY,QACZ,KAAK,aACL,aAAY,EAAQ,eACpB,QAAS,YAET,EAAA,EAAA,KAAC,EAAA,KAAD,CAAM,UAAU,QAAU,CAAA,CACtB,CAAA,EAGhB,UAAW,EAAA,GAAG,iCAAkC,CAAS,YAEzD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SACK,EAAW,KAAK,EAAG,KAChB,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,CACK,EAAI,IAAK,EAAA,EAAA,KAAC,EAAA,EAAD,CAAgB,CAAA,GAC1B,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,QAAQ,UAAU,uBAA7B,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,0FACX,EAAA,EAAA,KAAC,EAAE,KAAH,CAAQ,UAAU,QAAU,CAAA,CAC3B,CAAA,CACE,CAAA,GACX,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAY,EAAE,KAAiB,CAAA,GAC/B,EAAA,EAAA,KAAC,EAAA,EAAD,CAAiB,MAAO,WAAI,EAAE,IAAsB,CAAA,GACpD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yCACV,EAAE,QAAQ,IAAK,IACZ,EAAA,EAAA,MAAC,MAAD,CAAmB,UAAU,wEAA7B,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,qBAAa,EAAE,KAAY,CAAA,GAChD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,OAAO,oBAAY,EAAE,KAAY,CAAA,CAChD,GAHK,EAAE,KAGP,CACR,CACA,CAAA,CACI,CAAA,CAAA,CACX,GACL,CAAA,EArBK,EAAE,KAqBP,CACR,CACM,CAAA,CACJ,CAAA,CAEnB,CAEA,EAAuB,YAAc,yBCpErC,IAAa,EAA8D,CAC1E,UAAW,OACX,QAAS,IACV,ECDA,SAAgB,EAAmB,CAAE,QAAO,eAAc,cAAa,YAAW,QAAS,GAAwC,CAClI,IAAM,EAAU,EAAA,WAAW,EAAkC,CAAW,EAExE,OACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,iCAAkC,SAAU,CAAS,WAAxE,EACC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kDAAf,EACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,YAAY,OAAO,SAAS,UAAU,oCAA3D,CACE,EAAQ,UAAU,IAAE,EAAe,EAAE,IAAE,EAAQ,QAAQ,IAAE,EAAM,MAC3D,KACN,EAAA,EAAA,MAAC,EAAA,EAAD,CAAM,IAAI,OAAO,KAAK,KAAK,OAAO,WAAW,UAAU,wBAAvD,CAAuE,KAAK,OAAQ,EAAe,GAAK,EAAM,OAAU,GAAG,EAAE,GAAO,GAChI,KACL,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,mCACZ,EAAM,KAAK,EAAM,IAAQ,CACzB,IAAM,EAAc,EAAM,EACpB,EAAY,IAAQ,EACpB,EAAc,IAAgB,GAAe,GACnD,OACC,EAAA,EAAA,MAAC,KAAD,CAAkB,UAAU,kDAA5B,EACC,EAAA,EAAA,MAAC,EAAA,EAAD,CACC,KAAK,SACL,YAAe,GAAe,IAAc,EAAK,GAAI,CAAG,EACxD,SAAU,CAAC,EACX,QAAQ,YACR,YAAY,QACZ,KAAK,UACL,UAAW,EAAA,GACV,sFACA,GAAe,oBACf,CAAC,GAAe,gBACjB,WAXD,EAaC,EAAA,EAAA,KAAC,OAAD,CACC,UAAW,EAAA,GACV,mGACA,GAAe,qCACf,GAAa,4DACb,CAAC,GAAe,CAAC,GAAa,gCAC/B,WAEC,GAAc,EAAA,EAAA,KAAC,EAAA,MAAD,CAAO,UAAU,UAAY,CAAA,EAAI,EAAM,CACjD,CAAA,GACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mCAAf,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,OAAO,WAAW,UAAW,EAAA,GAAG,CAAC,GAAa,CAAC,GAAe,uBAAuB,WAAI,EAAK,KAAY,CAAA,EACzH,CAAC,CAAC,EAAK,OAAQ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,KAAK,KAAK,KAAK,WAAW,UAAU,oBAAY,EAAK,IAAW,CAAA,CAClF,GACE,IACP,EAAM,EAAM,OAAS,IACrB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,GAAG,cAAe,EAAc,aAAe,WAAW,CAAI,CAAA,CAE5E,GAhCK,EAAK,EAgCV,CAEN,CAAC,CACE,CAAA,CACA,GAEP,CAEA,EAAmB,YAAc,qBCpDjC,SAAgB,EAAgB,CAAE,QAAO,QAAO,WAAU,WAAU,aAAmC,CACtG,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAkB,QAAO,QAAQ,UAAU,UAAW,EAAA,GAAG,0BAA2B,CAAS,YAC5F,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SACE,EAAM,IAAK,GAAO,CAClB,IAAM,EAAO,EAAG,KACV,EAAS,EAAG,KAAO,EACzB,OACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAEC,KAAK,QACL,YAAe,IAAW,EAAG,EAAE,EAC/B,aAAY,EAAS,SAAW,WAChC,UAAW,EAAA,GACV,mCACA,EAAS,6BAA+B,mBACzC,WARD,CAUE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CAAW,QAAQ,OAAO,UAAW,EAAA,GAAG,EAAS,eAAiB,uBAAuB,YACxF,EAAA,EAAA,KAAC,EAAD,CAAO,CAAA,CACG,CAAA,GAEZ,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CAAW,KAAM,WAAS,EAAG,KAAiB,CAAA,EAC7C,CAAC,CAAC,EAAG,OAAQ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAiB,MAAO,WAAI,EAAG,IAAsB,CAAA,CACvD,CAAA,CAAA,GACb,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,CACE,OAAO,EAAG,OAAU,WACpB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,QAAS,EAAS,UAAY,YAAa,UAAU,wBAC1D,EAAG,KACE,CAAA,GAER,EAAA,EAAA,KAAC,EAAA,aAAD,CACC,UAAW,EAAA,GAAG,2CAA4C,GAAU,cAAc,CAClF,CAAA,CACW,CAAA,CAAA,CACR,GA5BA,EAAG,EA4BH,CAER,CAAC,CACS,CAAA,CACD,CAAA,CAEb,CAEA,EAAgB,YAAc"}
|
|
@@ -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
|
-
import { t as n } from "../../../_shared/button-
|
|
4
|
-
import { s as r } from "../../../_shared/typography-
|
|
5
|
-
import { t as i } from "../../../_shared/badge-
|
|
6
|
-
import { t as a } from "../../../_shared/cards-
|
|
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-
|
|
3
|
+
import { t as n } from "../../../_shared/button-vv59_uS_.js";
|
|
4
|
+
import { s as r } from "../../../_shared/typography-DXvCmE8w.js";
|
|
5
|
+
import { t as i } from "../../../_shared/badge-B4oBB5BJ.js";
|
|
6
|
+
import { t as a } from "../../../_shared/cards-CMNXFo3Y.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-CIlSaQg8.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";
|
|
@@ -139,7 +139,7 @@ function T({ hours: n, currentHour: i, className: a, strings: o }) {
|
|
|
139
139
|
children: n.map((e, t) => /* @__PURE__ */ h("div", {
|
|
140
140
|
className: "flex-1 text-center",
|
|
141
141
|
children: t % 4 == 0 && /* @__PURE__ */ h(r, {
|
|
142
|
-
size: "
|
|
142
|
+
size: "xs",
|
|
143
143
|
type: "secondary",
|
|
144
144
|
className: "tabular-nums",
|
|
145
145
|
children: String(t).padStart(2, "0")
|
|
@@ -163,7 +163,7 @@ function T({ hours: n, currentHour: i, className: a, strings: o }) {
|
|
|
163
163
|
/* @__PURE__ */ g("div", {
|
|
164
164
|
className: "flex items-center gap-1",
|
|
165
165
|
children: [/* @__PURE__ */ h("div", { className: "h-2 w-3 rounded-sm bg-muted" }), /* @__PURE__ */ h(r, {
|
|
166
|
-
size: "
|
|
166
|
+
size: "xs",
|
|
167
167
|
type: "secondary",
|
|
168
168
|
children: s.legendNone
|
|
169
169
|
})]
|
|
@@ -171,7 +171,7 @@ function T({ hours: n, currentHour: i, className: a, strings: o }) {
|
|
|
171
171
|
/* @__PURE__ */ g("div", {
|
|
172
172
|
className: "flex items-center gap-1",
|
|
173
173
|
children: [/* @__PURE__ */ h("div", { className: "h-2 w-3 rounded-sm bg-primary/25" }), /* @__PURE__ */ h(r, {
|
|
174
|
-
size: "
|
|
174
|
+
size: "xs",
|
|
175
175
|
type: "secondary",
|
|
176
176
|
children: s.legendLow
|
|
177
177
|
})]
|
|
@@ -179,7 +179,7 @@ function T({ hours: n, currentHour: i, className: a, strings: o }) {
|
|
|
179
179
|
/* @__PURE__ */ g("div", {
|
|
180
180
|
className: "flex items-center gap-1",
|
|
181
181
|
children: [/* @__PURE__ */ h("div", { className: "h-2 w-3 rounded-sm bg-primary/55" }), /* @__PURE__ */ h(r, {
|
|
182
|
-
size: "
|
|
182
|
+
size: "xs",
|
|
183
183
|
type: "secondary",
|
|
184
184
|
children: s.legendMedium
|
|
185
185
|
})]
|
|
@@ -187,7 +187,7 @@ function T({ hours: n, currentHour: i, className: a, strings: o }) {
|
|
|
187
187
|
/* @__PURE__ */ g("div", {
|
|
188
188
|
className: "flex items-center gap-1",
|
|
189
189
|
children: [/* @__PURE__ */ h("div", { className: "h-2 w-3 rounded-sm bg-primary" }), /* @__PURE__ */ h(r, {
|
|
190
|
-
size: "
|
|
190
|
+
size: "xs",
|
|
191
191
|
type: "secondary",
|
|
192
192
|
children: s.legendHigh
|
|
193
193
|
})]
|
|
@@ -195,7 +195,7 @@ function T({ hours: n, currentHour: i, className: a, strings: o }) {
|
|
|
195
195
|
i !== void 0 && /* @__PURE__ */ g("div", {
|
|
196
196
|
className: "flex items-center gap-1",
|
|
197
197
|
children: [/* @__PURE__ */ h("div", { className: "h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive" }), /* @__PURE__ */ h(r, {
|
|
198
|
-
size: "
|
|
198
|
+
size: "xs",
|
|
199
199
|
type: "secondary",
|
|
200
200
|
children: s.legendNow
|
|
201
201
|
})]
|
|
@@ -230,11 +230,11 @@ function O({ vendorName: e, rating: n, maxRating: i = 5, metrics: o, performance
|
|
|
230
230
|
footerText: /* @__PURE__ */ g("div", {
|
|
231
231
|
className: "flex items-center justify-between gap-4",
|
|
232
232
|
children: [/* @__PURE__ */ g(r, {
|
|
233
|
-
size: "
|
|
233
|
+
size: "xs",
|
|
234
234
|
type: "secondary",
|
|
235
235
|
children: ["Last active: ", c]
|
|
236
236
|
}), /* @__PURE__ */ g(r, {
|
|
237
|
-
size: "
|
|
237
|
+
size: "xs",
|
|
238
238
|
type: "secondary",
|
|
239
239
|
children: ["Joined: ", l]
|
|
240
240
|
})]
|
|
@@ -273,7 +273,7 @@ function O({ vendorName: e, rating: n, maxRating: i = 5, metrics: o, performance
|
|
|
273
273
|
className: "tabular-nums",
|
|
274
274
|
children: e.value
|
|
275
275
|
}), /* @__PURE__ */ h(r, {
|
|
276
|
-
size: "
|
|
276
|
+
size: "xs",
|
|
277
277
|
type: "secondary",
|
|
278
278
|
children: e.label
|
|
279
279
|
})]
|
|
@@ -415,7 +415,7 @@ function M({ steps: i, currentIndex: a, onStepClick: o, className: s, strings: c
|
|
|
415
415
|
className: t(!l && !c && "text-muted-foreground"),
|
|
416
416
|
children: e.label
|
|
417
417
|
}), !!e.hint && /* @__PURE__ */ h(r, {
|
|
418
|
-
size: "
|
|
418
|
+
size: "xs",
|
|
419
419
|
type: "discrete",
|
|
420
420
|
className: "truncate",
|
|
421
421
|
children: e.hint
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/composed/navigation/kanban-board/kanban-board.tsx","../../../../src/components/composed/navigation/tab-switcher/tab-switcher.tsx","../../../../src/components/composed/navigation/time-ruler/types.ts","../../../../src/components/composed/navigation/time-ruler/time-ruler.tsx","../../../../src/components/composed/navigation/vendor-performance/vendor-performance.tsx","../../../../src/components/composed/navigation/experience-activity/experience-activity.strings.ts","../../../../src/components/composed/navigation/experience-activity/experience-activity.tsx","../../../../src/components/composed/navigation/breadcrumb-progress/types.ts","../../../../src/components/composed/navigation/breadcrumb-progress/breadcrumb-progress.tsx","../../../../src/components/composed/navigation/category-nav/category-nav.tsx"],"sourcesContent":["import { Badge, type ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { KanbanColumnTone, KanbanMicroBoardProps } from './types';\n\nconst COLUMN_BADGE: Record<KanbanColumnTone, ComposedBadgeVariant> = {\n\tneutral: 'secondary',\n\tprimary: 'primary',\n\tinfo: 'info',\n\tsuccess: 'success',\n\twarning: 'warning',\n\tdestructive: 'error',\n};\n\nconst ITEM_DOT: Record<KanbanColumnTone, string> = {\n\tneutral: 'bg-muted-foreground',\n\tprimary: 'bg-primary',\n\tinfo: 'bg-info',\n\tsuccess: 'bg-success',\n\twarning: 'bg-warning',\n\tdestructive: 'bg-destructive',\n};\n\nexport function KanbanMicroBoard({ columns, className }: KanbanMicroBoardProps) {\n\tconst totalItems = columns.reduce((sum, col) => sum + col.items.length, 0);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ttitle=\"Pipeline Overview\"\n\t\t\ttitleSuffix={<Badge variant=\"secondary\">{totalItems} items</Badge>}\n\t\t\tclassName={cn('kanban-board--component', className)}\n\t\t>\n\t\t\t<div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4\">\n\t\t\t\t{columns.map((col) => {\n\t\t\t\t\tconst tone = col.tone ?? 'neutral';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={col.title}\n\t\t\t\t\t\t\tclassName=\"rounded-md border border-border/60 bg-muted/30 p-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"mb-2 flex items-center justify-between gap-2\">\n\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t{col.title}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<Badge variant={COLUMN_BADGE[tone]}>\n\t\t\t\t\t\t\t\t\t{col.items.length}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"space-y-1.5\">\n\t\t\t\t\t\t\t\t{col.items.map((item, itemIdx) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={`${col.title}-${itemIdx}`}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-h-8 items-center gap-2 rounded-md border border-border/50 bg-card px-2 py-1.5 shadow-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'h-1.5 w-1.5 flex-shrink-0 rounded-full',\n\t\t\t\t\t\t\t\t\t\t\t\tITEM_DOT[item.tone ?? tone],\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Text size=\"xs\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nKanbanMicroBoard.displayName = 'KanbanMicroBoard';\n","import { useState } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { TabSwitcherCardProps } from './types';\n\nexport function TabSwitcherCard({ title, tabs, defaultTab, className }: TabSwitcherCardProps) {\n const tabKeys = Object.keys(tabs);\n const [activeTab, setActiveTab] = useState<string>(defaultTab ?? tabKeys[0] ?? '');\n\n return (\n <SmartCard title={title} className={cn('tab-switcher--component', 'bg-gradient-to-b from-muted/30 to-card', className)}>\n {/* Pill tabs */}\n <div className=\"mt-4 flex gap-1 rounded-full bg-muted/50 p-1\">\n {tabKeys.map((t) => (\n <Button\n key={t}\n variant={activeTab === t ? 'light' : 'secondary'}\n buttonStyle={activeTab === t ? 'solid' : 'ghost'}\n onClick={() => setActiveTab(t)}\n className={cn('flex-1 rounded-full capitalize', activeTab === t ? 'shadow-sm' : '')}\n >\n {t}\n </Button>\n ))}\n </div>\n\n <div className=\"mt-4 space-y-2\">\n {tabs[activeTab]?.map((item) => (\n <div key={item.name} className=\"flex items-center gap-3 rounded-xl px-2 py-2 transition-colors hover:bg-muted/20\">\n {!!item.icon && (\n <div className=\"flex size-8 items-center justify-center rounded-full bg-primary/10\">\n <item.icon className=\"size-4 text-primary\" />\n </div>\n )}\n <Text className=\"flex-1\">{item.name}</Text>\n <Text weight=\"bold\">{item.value}</Text>\n </div>\n ))}\n </div>\n </SmartCard>\n );\n}\n\nTabSwitcherCard.displayName = 'TabSwitcherCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface TimeDistributionRulerStrings {\n /** Density-band legend labels. */\n legendNone: string;\n legendLow: string;\n legendMedium: string;\n legendHigh: string;\n /** \"Now\" marker label. */\n legendNow: string;\n /** Format function for the per-hour `title` tooltip (\"08:00 - 5 bookings\"). */\n formatHourTitle: (hourLabel: string, count: number) => string;\n}\n\nexport const defaultTimeDistributionRulerStrings: TimeDistributionRulerStrings = {\n legendNone: 'None',\n legendLow: 'Low',\n legendMedium: 'Medium',\n legendHigh: 'High',\n legendNow: 'Now',\n formatHourTitle: (hourLabel, count) => `${hourLabel}:00 - ${count} bookings`,\n};\n\nexport interface TimeDistributionRulerProps {\n hours: number[];\n currentHour?: number;\n className?: string;\n strings?: StringsProp<TimeDistributionRulerStrings>;\n}\n","import { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultTimeDistributionRulerStrings, type TimeDistributionRulerProps } from './types';\n\nexport function TimeDistributionRuler({ hours, currentHour, className, strings: stringsProp }: TimeDistributionRulerProps) {\n const strings = useStrings(defaultTimeDistributionRulerStrings, stringsProp);\n const maxVal = Math.max(...hours, 1);\n const peakHour = hours.indexOf(Math.max(...hours));\n\n function getDensityClass(count: number): string {\n if (count === 0) return 'bg-muted';\n const ratio = count / maxVal;\n if (ratio < 0.33) return 'bg-primary/25';\n if (ratio < 0.66) return 'bg-primary/55';\n return 'bg-primary';\n }\n\n return (\n <div className={cn('time-ruler--component', 'space-y-1.5', className)}>\n {/* Ruler bar */}\n <div className=\"relative flex h-8 gap-px overflow-hidden rounded-md\">\n {hours.map((count, hour) => (\n <div\n key={hour}\n className={cn(\n 'relative flex-1 transition-colors duration-200',\n getDensityClass(count),\n hour === peakHour && 'ring-1 ring-primary ring-inset',\n )}\n title={strings.formatHourTitle(String(hour).padStart(2, '0'), count)}\n />\n ))}\n </div>\n {/* Hour labels + now marker */}\n <div className=\"relative flex\">\n {hours.map((_, hour) => (\n <div key={hour} className=\"flex-1 text-center\">\n {hour % 4 === 0 && (\n <Text size=\"xxs\" type=\"secondary\" className=\"tabular-nums\">\n {String(hour).padStart(2, '0')}\n </Text>\n )}\n </div>\n ))}\n </div>\n {/* Now marker */}\n {currentHour !== undefined && currentHour >= 0 && currentHour < 24 && (\n <div className=\"relative h-0\">\n <div\n className=\"absolute -top-[42px] flex flex-col items-center\"\n style={{ left: `${(currentHour / 24) * 100}%`, transform: 'translateX(-50%)' }}\n >\n <div\n className=\"h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive\"\n />\n </div>\n </div>\n )}\n {/* Legend */}\n <div className=\"flex items-center gap-3\">\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-muted\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendNone}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary/25\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendLow}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary/55\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendMedium}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendHigh}</Text>\n </div>\n {currentHour !== undefined && (\n <div className=\"flex items-center gap-1\">\n <div className=\"h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive\" />\n <Text size=\"xxs\" type=\"secondary\">{strings.legendNow}</Text>\n </div>\n )}\n </div>\n </div>\n );\n}\n\nTimeDistributionRuler.displayName = 'TimeDistributionRuler';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { VendorPerformanceCardProps } from './types';\n\nfunction RatingStars({ rating, maxRating = 5 }: { rating: number; maxRating?: number }) {\n return (\n <div className={cn('vendor-performance--component', 'flex items-center gap-0.5')}>\n {Array.from({ length: maxRating }, (_, i) => (\n <svg\n key={`star-${String(i)}`}\n className={cn(\n 'h-3.5 w-3.5',\n i < rating ? 'text-warning' : 'text-muted',\n )}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"none\"\n >\n <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\" />\n </svg>\n ))}\n </div>\n );\n}\n\nfunction performanceBarColor(score: number): string {\n if (score >= 80) return 'bg-success';\n if (score >= 50) return 'bg-warning';\n return 'bg-destructive';\n}\n\nexport function VendorPerformanceCard({\n vendorName,\n rating,\n maxRating = 5,\n metrics,\n performanceScore,\n lastActive,\n joinedDate,\n className,\n}: VendorPerformanceCardProps) {\n return (\n <SmartCard\n title={vendorName}\n className={className}\n footerText={\n <div className=\"flex items-center justify-between gap-4\">\n <Text size=\"xxs\" type=\"secondary\">Last active: {lastActive}</Text>\n <Text size=\"xxs\" type=\"secondary\">Joined: {joinedDate}</Text>\n </div>\n }\n >\n <div className=\"space-y-4\">\n <RatingStars rating={rating} maxRating={maxRating} />\n\n <div className=\"grid grid-cols-2 gap-2\">\n {([\n { label: 'Bookings', value: String(metrics.bookings) },\n { label: 'Revenue', value: metrics.revenue },\n { label: 'Avg Rating', value: String(metrics.avgRating) },\n { label: 'Response', value: metrics.responseTime },\n ] as const).map((metric) => (\n <div\n key={metric.label}\n className=\"rounded-lg bg-muted/50 p-3 text-center\"\n >\n <Text size=\"lg\" weight=\"bold\" className=\"tabular-nums\">\n {metric.value}\n </Text>\n <Text size=\"xxs\" type=\"secondary\">\n {metric.label}\n </Text>\n </div>\n ))}\n </div>\n\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <Text>Performance</Text>\n <Text weight=\"semibold\" className=\"tabular-nums\">\n {performanceScore}%\n </Text>\n </div>\n <div className=\"h-2 w-full overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n 'h-full rounded-full transition-all duration-500',\n performanceBarColor(performanceScore),\n )}\n style={{ width: `${String(performanceScore)}%` }}\n />\n </div>\n </div>\n </div>\n </SmartCard>\n );\n}\n\nVendorPerformanceCard.displayName = 'VendorPerformanceCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface ExperienceActivityCardStrings {\n\tdescription: string;\n\taddActionLabel: string;\n}\n\nexport const defaultExperienceActivityCardStrings: ExperienceActivityCardStrings = {\n\tdescription: 'Experiences completed this week',\n\taddActionLabel: 'Add activity',\n};\n\nexport type ExperienceActivityCardStringsProp = StringsProp<ExperienceActivityCardStrings>;\n","import { Plus } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport {\n Item,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemSeparator,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultExperienceActivityCardStrings,\n} from './experience-activity.strings';\nimport type { ExperienceActivityCardProps } from './types';\n\nexport function ExperienceActivityCard({\n completed,\n total,\n activities,\n onAdd,\n strings: stringsProp,\n className,\n}: ExperienceActivityCardProps) {\n const strings = useStrings(defaultExperienceActivityCardStrings, stringsProp);\n\n return (\n <SmartCard\n title={`${completed} out of ${total}`}\n description={strings.description}\n headerEnd={\n !!onAdd && (\n <Button\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"icon-small\"\n aria-label={strings.addActionLabel}\n onClick={onAdd}\n >\n <Plus className=\"size-4\" />\n </Button>\n )\n }\n className={cn('experience-activity--component', className)}\n >\n <ItemGroup>\n {activities.map((a, i) => (\n <div key={a.title}>\n {i > 0 && <ItemSeparator />}\n <Item size=\"small\" className=\"items-start\">\n <ItemMedia>\n <div className=\"flex size-8 items-center justify-center rounded-md bg-primary/10 text-primary\">\n <a.icon className=\"size-4\" />\n </div>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{a.title}</ItemTitle>\n <ItemDescription clamp={1}>{a.time}</ItemDescription>\n <div className=\"mt-2 grid grid-cols-2 gap-1.5\">\n {a.metrics.map((m) => (\n <div key={m.label} className=\"rounded-md border border-border/50 bg-muted/25 px-2.5 py-1.5\">\n <Text size=\"xs\" type=\"secondary\">{m.label}</Text>\n <Text size=\"xs\" weight=\"semibold\">{m.value}</Text>\n </div>\n ))}\n </div>\n </ItemContent>\n </Item>\n </div>\n ))}\n </ItemGroup>\n </SmartCard>\n );\n}\n\nExperienceActivityCard.displayName = 'ExperienceActivityCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface BreadcrumbProgressStep {\n\tid: string;\n\tlabel: string;\n\thint?: string;\n}\n\nexport interface BreadcrumbProgressStrings {\n\tstepLabel: string;\n\tofLabel: string;\n}\n\nexport const defaultBreadcrumbProgressStrings: BreadcrumbProgressStrings = {\n\tstepLabel: 'Step',\n\tofLabel: 'of',\n};\n\nexport interface BreadcrumbProgressProps {\n\tsteps: BreadcrumbProgressStep[];\n\tcurrentIndex: number;\n\tonStepClick?: (id: string, index: number) => void;\n\tclassName?: string;\n\tstrings?: StringsProp<BreadcrumbProgressStrings>;\n}\n","/**\n * BreadcrumbProgress — wizard / multi-step navigation with completed,\n * current, and upcoming states. Click any completed step to jump back.\n */\nimport { Check } from 'lucide-react';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultBreadcrumbProgressStrings,\n\ttype BreadcrumbProgressProps,\n} from './types';\n\nexport function BreadcrumbProgress({ steps, currentIndex, onStepClick, className, strings: stringsProp }: BreadcrumbProgressProps) {\n\tconst strings = useStrings(defaultBreadcrumbProgressStrings, stringsProp);\n\n\treturn (\n\t\t<div className={cn('breadcrumb-progress--component', 'w-full', className)}>\n\t\t\t<div className=\"flex items-center justify-between mb-2\">\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t{strings.stepLabel} {currentIndex + 1} {strings.ofLabel} {steps.length}\n\t\t\t\t</Text>\n\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"semibold\" className=\"tabular-nums\">{Math.round(((currentIndex + 1) / steps.length) * 100)}%</Text>\n\t\t\t</div>\n\t\t\t<ol className=\"flex items-center gap-2\">\n\t\t\t\t{steps.map((step, idx) => {\n\t\t\t\t\tconst isCompleted = idx < currentIndex;\n\t\t\t\t\tconst isCurrent = idx === currentIndex;\n\t\t\t\t\tconst isClickable = onStepClick && (isCompleted || isCurrent);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={step.id} className=\"flex min-w-0 flex-1 items-center gap-2\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => isClickable && onStepClick?.(step.id, idx)}\n\t\t\t\t\t\t\t\tdisabled={!isClickable}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'h-auto min-w-0 justify-start gap-2 rounded-md px-2 py-1 text-left transition-colors',\n\t\t\t\t\t\t\t\t\tisClickable && 'hover:bg-muted/40',\n\t\t\t\t\t\t\t\t\t!isClickable && 'cursor-default',\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<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold tabular-nums',\n\t\t\t\t\t\t\t\t\t\tisCompleted && 'bg-success text-success-foreground',\n\t\t\t\t\t\t\t\t\t\tisCurrent && 'bg-primary text-primary-foreground ring-4 ring-primary/15',\n\t\t\t\t\t\t\t\t\t\t!isCompleted && !isCurrent && 'bg-muted text-muted-foreground',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isCompleted ? <Check className=\"size-3.5\" /> : idx + 1}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div className=\"hidden min-w-0 lg:block\">\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className={cn(!isCurrent && !isCompleted && 'text-muted-foreground')}>{step.label}</Text>\n\t\t\t\t\t\t\t\t\t{!!step.hint && <Text size=\"xxs\" type=\"discrete\" className=\"truncate\">{step.hint}</Text>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{idx < steps.length - 1 && (\n\t\t\t\t\t\t\t\t<div className={cn('h-px flex-1', isCompleted ? 'bg-success' : 'bg-border')} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ol>\n\t\t</div>\n\t);\n}\n\nBreadcrumbProgress.displayName = 'BreadcrumbProgress';\n","/**\n * CategoryNavCard — vertical icon + label list with optional count badge per row.\n * Use as a sidebar nav for filtering or category browsing.\n */\nimport { ChevronRight } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Badge } from '@/components/base/badge';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { cn } from '@/lib/utils';\n\nimport type { CategoryNavCardProps } from './types';\n\nexport function CategoryNavCard({ title, items, activeId, onSelect, className }: CategoryNavCardProps) {\n\treturn (\n\t\t<SmartCard title={title} padding=\"default\" className={cn('category-nav--component', className)}>\n\t\t\t<ItemGroup>\n\t\t\t\t{items.map((it) => {\n\t\t\t\t\tconst Icon = it.icon;\n\t\t\t\t\tconst active = it.id === activeId;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tkey={it.id}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={() => onSelect?.(it.id)}\n\t\t\t\t\t\t\tdata-state={active ? 'active' : 'inactive'}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'cursor-pointer transition-colors',\n\t\t\t\t\t\t\t\tactive ? 'bg-primary/10 text-primary' : 'hover:bg-muted/50',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t<ItemMedia variant=\"icon\" className={cn(active ? 'text-primary' : 'text-muted-foreground')}>\n\t\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t<ItemTitle bold={active}>{it.label}</ItemTitle>\n\t\t\t\t\t\t\t\t{!!it.hint && <ItemDescription clamp={1}>{it.hint}</ItemDescription>}\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{typeof it.count === 'number' && (\n\t\t\t\t\t\t\t\t\t<Badge variant={active ? 'primary' : 'secondary'} className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{it.count}\n\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<ChevronRight\n\t\t\t\t\t\t\t\t\tclassName={cn('size-4 shrink-0 text-muted-foreground/60', active && 'text-primary')}\n\t\t\t\t\t\t\t\t/>\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})}\n\t\t\t</ItemGroup>\n\t\t</SmartCard>\n\t);\n}\n\nCategoryNavCard.displayName = 'CategoryNavCard';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/composed/navigation/kanban-board/kanban-board.tsx","../../../../src/components/composed/navigation/tab-switcher/tab-switcher.tsx","../../../../src/components/composed/navigation/time-ruler/types.ts","../../../../src/components/composed/navigation/time-ruler/time-ruler.tsx","../../../../src/components/composed/navigation/vendor-performance/vendor-performance.tsx","../../../../src/components/composed/navigation/experience-activity/experience-activity.strings.ts","../../../../src/components/composed/navigation/experience-activity/experience-activity.tsx","../../../../src/components/composed/navigation/breadcrumb-progress/types.ts","../../../../src/components/composed/navigation/breadcrumb-progress/breadcrumb-progress.tsx","../../../../src/components/composed/navigation/category-nav/category-nav.tsx"],"sourcesContent":["import { Badge, type ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { KanbanColumnTone, KanbanMicroBoardProps } from './types';\n\nconst COLUMN_BADGE: Record<KanbanColumnTone, ComposedBadgeVariant> = {\n\tneutral: 'secondary',\n\tprimary: 'primary',\n\tinfo: 'info',\n\tsuccess: 'success',\n\twarning: 'warning',\n\tdestructive: 'error',\n};\n\nconst ITEM_DOT: Record<KanbanColumnTone, string> = {\n\tneutral: 'bg-muted-foreground',\n\tprimary: 'bg-primary',\n\tinfo: 'bg-info',\n\tsuccess: 'bg-success',\n\twarning: 'bg-warning',\n\tdestructive: 'bg-destructive',\n};\n\nexport function KanbanMicroBoard({ columns, className }: KanbanMicroBoardProps) {\n\tconst totalItems = columns.reduce((sum, col) => sum + col.items.length, 0);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ttitle=\"Pipeline Overview\"\n\t\t\ttitleSuffix={<Badge variant=\"secondary\">{totalItems} items</Badge>}\n\t\t\tclassName={cn('kanban-board--component', className)}\n\t\t>\n\t\t\t<div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4\">\n\t\t\t\t{columns.map((col) => {\n\t\t\t\t\tconst tone = col.tone ?? 'neutral';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={col.title}\n\t\t\t\t\t\t\tclassName=\"rounded-md border border-border/60 bg-muted/30 p-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"mb-2 flex items-center justify-between gap-2\">\n\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t{col.title}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<Badge variant={COLUMN_BADGE[tone]}>\n\t\t\t\t\t\t\t\t\t{col.items.length}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"space-y-1.5\">\n\t\t\t\t\t\t\t\t{col.items.map((item, itemIdx) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={`${col.title}-${itemIdx}`}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-h-8 items-center gap-2 rounded-md border border-border/50 bg-card px-2 py-1.5 shadow-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'h-1.5 w-1.5 flex-shrink-0 rounded-full',\n\t\t\t\t\t\t\t\t\t\t\t\tITEM_DOT[item.tone ?? tone],\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Text size=\"xs\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nKanbanMicroBoard.displayName = 'KanbanMicroBoard';\n","import { useState } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { TabSwitcherCardProps } from './types';\n\nexport function TabSwitcherCard({ title, tabs, defaultTab, className }: TabSwitcherCardProps) {\n const tabKeys = Object.keys(tabs);\n const [activeTab, setActiveTab] = useState<string>(defaultTab ?? tabKeys[0] ?? '');\n\n return (\n <SmartCard title={title} className={cn('tab-switcher--component', 'bg-gradient-to-b from-muted/30 to-card', className)}>\n {/* Pill tabs */}\n <div className=\"mt-4 flex gap-1 rounded-full bg-muted/50 p-1\">\n {tabKeys.map((t) => (\n <Button\n key={t}\n variant={activeTab === t ? 'light' : 'secondary'}\n buttonStyle={activeTab === t ? 'solid' : 'ghost'}\n onClick={() => setActiveTab(t)}\n className={cn('flex-1 rounded-full capitalize', activeTab === t ? 'shadow-sm' : '')}\n >\n {t}\n </Button>\n ))}\n </div>\n\n <div className=\"mt-4 space-y-2\">\n {tabs[activeTab]?.map((item) => (\n <div key={item.name} className=\"flex items-center gap-3 rounded-xl px-2 py-2 transition-colors hover:bg-muted/20\">\n {!!item.icon && (\n <div className=\"flex size-8 items-center justify-center rounded-full bg-primary/10\">\n <item.icon className=\"size-4 text-primary\" />\n </div>\n )}\n <Text className=\"flex-1\">{item.name}</Text>\n <Text weight=\"bold\">{item.value}</Text>\n </div>\n ))}\n </div>\n </SmartCard>\n );\n}\n\nTabSwitcherCard.displayName = 'TabSwitcherCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface TimeDistributionRulerStrings {\n /** Density-band legend labels. */\n legendNone: string;\n legendLow: string;\n legendMedium: string;\n legendHigh: string;\n /** \"Now\" marker label. */\n legendNow: string;\n /** Format function for the per-hour `title` tooltip (\"08:00 - 5 bookings\"). */\n formatHourTitle: (hourLabel: string, count: number) => string;\n}\n\nexport const defaultTimeDistributionRulerStrings: TimeDistributionRulerStrings = {\n legendNone: 'None',\n legendLow: 'Low',\n legendMedium: 'Medium',\n legendHigh: 'High',\n legendNow: 'Now',\n formatHourTitle: (hourLabel, count) => `${hourLabel}:00 - ${count} bookings`,\n};\n\nexport interface TimeDistributionRulerProps {\n hours: number[];\n currentHour?: number;\n className?: string;\n strings?: StringsProp<TimeDistributionRulerStrings>;\n}\n","import { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultTimeDistributionRulerStrings, type TimeDistributionRulerProps } from './types';\n\nexport function TimeDistributionRuler({ hours, currentHour, className, strings: stringsProp }: TimeDistributionRulerProps) {\n const strings = useStrings(defaultTimeDistributionRulerStrings, stringsProp);\n const maxVal = Math.max(...hours, 1);\n const peakHour = hours.indexOf(Math.max(...hours));\n\n function getDensityClass(count: number): string {\n if (count === 0) return 'bg-muted';\n const ratio = count / maxVal;\n if (ratio < 0.33) return 'bg-primary/25';\n if (ratio < 0.66) return 'bg-primary/55';\n return 'bg-primary';\n }\n\n return (\n <div className={cn('time-ruler--component', 'space-y-1.5', className)}>\n {/* Ruler bar */}\n <div className=\"relative flex h-8 gap-px overflow-hidden rounded-md\">\n {hours.map((count, hour) => (\n <div\n key={hour}\n className={cn(\n 'relative flex-1 transition-colors duration-200',\n getDensityClass(count),\n hour === peakHour && 'ring-1 ring-primary ring-inset',\n )}\n title={strings.formatHourTitle(String(hour).padStart(2, '0'), count)}\n />\n ))}\n </div>\n {/* Hour labels + now marker */}\n <div className=\"relative flex\">\n {hours.map((_, hour) => (\n <div key={hour} className=\"flex-1 text-center\">\n {hour % 4 === 0 && (\n <Text size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n {String(hour).padStart(2, '0')}\n </Text>\n )}\n </div>\n ))}\n </div>\n {/* Now marker */}\n {currentHour !== undefined && currentHour >= 0 && currentHour < 24 && (\n <div className=\"relative h-0\">\n <div\n className=\"absolute -top-[42px] flex flex-col items-center\"\n style={{ left: `${(currentHour / 24) * 100}%`, transform: 'translateX(-50%)' }}\n >\n <div\n className=\"h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive\"\n />\n </div>\n </div>\n )}\n {/* Legend */}\n <div className=\"flex items-center gap-3\">\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-muted\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendNone}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary/25\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendLow}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary/55\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendMedium}</Text>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"h-2 w-3 rounded-sm bg-primary\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendHigh}</Text>\n </div>\n {currentHour !== undefined && (\n <div className=\"flex items-center gap-1\">\n <div className=\"h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive\" />\n <Text size=\"xs\" type=\"secondary\">{strings.legendNow}</Text>\n </div>\n )}\n </div>\n </div>\n );\n}\n\nTimeDistributionRuler.displayName = 'TimeDistributionRuler';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { VendorPerformanceCardProps } from './types';\n\nfunction RatingStars({ rating, maxRating = 5 }: { rating: number; maxRating?: number }) {\n return (\n <div className={cn('vendor-performance--component', 'flex items-center gap-0.5')}>\n {Array.from({ length: maxRating }, (_, i) => (\n <svg\n key={`star-${String(i)}`}\n className={cn(\n 'h-3.5 w-3.5',\n i < rating ? 'text-warning' : 'text-muted',\n )}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"none\"\n >\n <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\" />\n </svg>\n ))}\n </div>\n );\n}\n\nfunction performanceBarColor(score: number): string {\n if (score >= 80) return 'bg-success';\n if (score >= 50) return 'bg-warning';\n return 'bg-destructive';\n}\n\nexport function VendorPerformanceCard({\n vendorName,\n rating,\n maxRating = 5,\n metrics,\n performanceScore,\n lastActive,\n joinedDate,\n className,\n}: VendorPerformanceCardProps) {\n return (\n <SmartCard\n title={vendorName}\n className={className}\n footerText={\n <div className=\"flex items-center justify-between gap-4\">\n <Text size=\"xs\" type=\"secondary\">Last active: {lastActive}</Text>\n <Text size=\"xs\" type=\"secondary\">Joined: {joinedDate}</Text>\n </div>\n }\n >\n <div className=\"space-y-4\">\n <RatingStars rating={rating} maxRating={maxRating} />\n\n <div className=\"grid grid-cols-2 gap-2\">\n {([\n { label: 'Bookings', value: String(metrics.bookings) },\n { label: 'Revenue', value: metrics.revenue },\n { label: 'Avg Rating', value: String(metrics.avgRating) },\n { label: 'Response', value: metrics.responseTime },\n ] as const).map((metric) => (\n <div\n key={metric.label}\n className=\"rounded-lg bg-muted/50 p-3 text-center\"\n >\n <Text size=\"lg\" weight=\"bold\" className=\"tabular-nums\">\n {metric.value}\n </Text>\n <Text size=\"xs\" type=\"secondary\">\n {metric.label}\n </Text>\n </div>\n ))}\n </div>\n\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <Text>Performance</Text>\n <Text weight=\"semibold\" className=\"tabular-nums\">\n {performanceScore}%\n </Text>\n </div>\n <div className=\"h-2 w-full overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n 'h-full rounded-full transition-all duration-500',\n performanceBarColor(performanceScore),\n )}\n style={{ width: `${String(performanceScore)}%` }}\n />\n </div>\n </div>\n </div>\n </SmartCard>\n );\n}\n\nVendorPerformanceCard.displayName = 'VendorPerformanceCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface ExperienceActivityCardStrings {\n\tdescription: string;\n\taddActionLabel: string;\n}\n\nexport const defaultExperienceActivityCardStrings: ExperienceActivityCardStrings = {\n\tdescription: 'Experiences completed this week',\n\taddActionLabel: 'Add activity',\n};\n\nexport type ExperienceActivityCardStringsProp = StringsProp<ExperienceActivityCardStrings>;\n","import { Plus } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport {\n Item,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemSeparator,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultExperienceActivityCardStrings,\n} from './experience-activity.strings';\nimport type { ExperienceActivityCardProps } from './types';\n\nexport function ExperienceActivityCard({\n completed,\n total,\n activities,\n onAdd,\n strings: stringsProp,\n className,\n}: ExperienceActivityCardProps) {\n const strings = useStrings(defaultExperienceActivityCardStrings, stringsProp);\n\n return (\n <SmartCard\n title={`${completed} out of ${total}`}\n description={strings.description}\n headerEnd={\n !!onAdd && (\n <Button\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"icon-small\"\n aria-label={strings.addActionLabel}\n onClick={onAdd}\n >\n <Plus className=\"size-4\" />\n </Button>\n )\n }\n className={cn('experience-activity--component', className)}\n >\n <ItemGroup>\n {activities.map((a, i) => (\n <div key={a.title}>\n {i > 0 && <ItemSeparator />}\n <Item size=\"small\" className=\"items-start\">\n <ItemMedia>\n <div className=\"flex size-8 items-center justify-center rounded-md bg-primary/10 text-primary\">\n <a.icon className=\"size-4\" />\n </div>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{a.title}</ItemTitle>\n <ItemDescription clamp={1}>{a.time}</ItemDescription>\n <div className=\"mt-2 grid grid-cols-2 gap-1.5\">\n {a.metrics.map((m) => (\n <div key={m.label} className=\"rounded-md border border-border/50 bg-muted/25 px-2.5 py-1.5\">\n <Text size=\"xs\" type=\"secondary\">{m.label}</Text>\n <Text size=\"xs\" weight=\"semibold\">{m.value}</Text>\n </div>\n ))}\n </div>\n </ItemContent>\n </Item>\n </div>\n ))}\n </ItemGroup>\n </SmartCard>\n );\n}\n\nExperienceActivityCard.displayName = 'ExperienceActivityCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface BreadcrumbProgressStep {\n\tid: string;\n\tlabel: string;\n\thint?: string;\n}\n\nexport interface BreadcrumbProgressStrings {\n\tstepLabel: string;\n\tofLabel: string;\n}\n\nexport const defaultBreadcrumbProgressStrings: BreadcrumbProgressStrings = {\n\tstepLabel: 'Step',\n\tofLabel: 'of',\n};\n\nexport interface BreadcrumbProgressProps {\n\tsteps: BreadcrumbProgressStep[];\n\tcurrentIndex: number;\n\tonStepClick?: (id: string, index: number) => void;\n\tclassName?: string;\n\tstrings?: StringsProp<BreadcrumbProgressStrings>;\n}\n","/**\n * BreadcrumbProgress — wizard / multi-step navigation with completed,\n * current, and upcoming states. Click any completed step to jump back.\n */\nimport { Check } from 'lucide-react';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultBreadcrumbProgressStrings,\n\ttype BreadcrumbProgressProps,\n} from './types';\n\nexport function BreadcrumbProgress({ steps, currentIndex, onStepClick, className, strings: stringsProp }: BreadcrumbProgressProps) {\n\tconst strings = useStrings(defaultBreadcrumbProgressStrings, stringsProp);\n\n\treturn (\n\t\t<div className={cn('breadcrumb-progress--component', 'w-full', className)}>\n\t\t\t<div className=\"flex items-center justify-between mb-2\">\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t{strings.stepLabel} {currentIndex + 1} {strings.ofLabel} {steps.length}\n\t\t\t\t</Text>\n\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"semibold\" className=\"tabular-nums\">{Math.round(((currentIndex + 1) / steps.length) * 100)}%</Text>\n\t\t\t</div>\n\t\t\t<ol className=\"flex items-center gap-2\">\n\t\t\t\t{steps.map((step, idx) => {\n\t\t\t\t\tconst isCompleted = idx < currentIndex;\n\t\t\t\t\tconst isCurrent = idx === currentIndex;\n\t\t\t\t\tconst isClickable = onStepClick && (isCompleted || isCurrent);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={step.id} className=\"flex min-w-0 flex-1 items-center gap-2\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => isClickable && onStepClick?.(step.id, idx)}\n\t\t\t\t\t\t\t\tdisabled={!isClickable}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'h-auto min-w-0 justify-start gap-2 rounded-md px-2 py-1 text-left transition-colors',\n\t\t\t\t\t\t\t\t\tisClickable && 'hover:bg-muted/40',\n\t\t\t\t\t\t\t\t\t!isClickable && 'cursor-default',\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<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold tabular-nums',\n\t\t\t\t\t\t\t\t\t\tisCompleted && 'bg-success text-success-foreground',\n\t\t\t\t\t\t\t\t\t\tisCurrent && 'bg-primary text-primary-foreground ring-4 ring-primary/15',\n\t\t\t\t\t\t\t\t\t\t!isCompleted && !isCurrent && 'bg-muted text-muted-foreground',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isCompleted ? <Check className=\"size-3.5\" /> : idx + 1}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div className=\"hidden min-w-0 lg:block\">\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className={cn(!isCurrent && !isCompleted && 'text-muted-foreground')}>{step.label}</Text>\n\t\t\t\t\t\t\t\t\t{!!step.hint && <Text size=\"xs\" type=\"discrete\" className=\"truncate\">{step.hint}</Text>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{idx < steps.length - 1 && (\n\t\t\t\t\t\t\t\t<div className={cn('h-px flex-1', isCompleted ? 'bg-success' : 'bg-border')} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ol>\n\t\t</div>\n\t);\n}\n\nBreadcrumbProgress.displayName = 'BreadcrumbProgress';\n","/**\n * CategoryNavCard — vertical icon + label list with optional count badge per row.\n * Use as a sidebar nav for filtering or category browsing.\n */\nimport { ChevronRight } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Badge } from '@/components/base/badge';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { cn } from '@/lib/utils';\n\nimport type { CategoryNavCardProps } from './types';\n\nexport function CategoryNavCard({ title, items, activeId, onSelect, className }: CategoryNavCardProps) {\n\treturn (\n\t\t<SmartCard title={title} padding=\"default\" className={cn('category-nav--component', className)}>\n\t\t\t<ItemGroup>\n\t\t\t\t{items.map((it) => {\n\t\t\t\t\tconst Icon = it.icon;\n\t\t\t\t\tconst active = it.id === activeId;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tkey={it.id}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={() => onSelect?.(it.id)}\n\t\t\t\t\t\t\tdata-state={active ? 'active' : 'inactive'}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'cursor-pointer transition-colors',\n\t\t\t\t\t\t\t\tactive ? 'bg-primary/10 text-primary' : 'hover:bg-muted/50',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t<ItemMedia variant=\"icon\" className={cn(active ? 'text-primary' : 'text-muted-foreground')}>\n\t\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t<ItemTitle bold={active}>{it.label}</ItemTitle>\n\t\t\t\t\t\t\t\t{!!it.hint && <ItemDescription clamp={1}>{it.hint}</ItemDescription>}\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{typeof it.count === 'number' && (\n\t\t\t\t\t\t\t\t\t<Badge variant={active ? 'primary' : 'secondary'} className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{it.count}\n\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<ChevronRight\n\t\t\t\t\t\t\t\t\tclassName={cn('size-4 shrink-0 text-muted-foreground/60', active && 'text-primary')}\n\t\t\t\t\t\t\t\t/>\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})}\n\t\t\t</ItemGroup>\n\t\t</SmartCard>\n\t);\n}\n\nCategoryNavCard.displayName = 'CategoryNavCard';\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/typography-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/typography-pzCKaFOc.cjs"),r=require("../../../_shared/accordion-mTdJmy23.cjs"),i=require("../../../_shared/spinner-VjdonFU2.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-8 items-center justify-center rounded-full bg-success/15 text-success ring-1 ring-success/20`,r),children:(0,o.jsx)(s.CheckCircle2,{className:`size-4`})}):e===`in-progress`?(0,o.jsx)(`span`,{role:`img`,"aria-label":n,className:t.cn(`flex size-8 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-8 items-center justify-center rounded-full bg-muted text-muted-foreground/70 ring-1 ring-border/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.s,{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.l,{value:e.id,className:t.cn(r.i[_],y),children:[(0,o.jsx)(r.u,{disabled:e.disabled,className:t.cn(r.o,`min-h-16 items-center`),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.s,{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.c,{className:r.r.withMedallion,children:(0,o.jsx)(n.s,{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
|
-
import { s as n } from "../../../_shared/typography-
|
|
4
|
-
import { a as r, c as i, i as a, l as o, o as s, r as c, s as l, u } from "../../../_shared/accordion-
|
|
5
|
-
import { t as d } from "../../../_shared/spinner-
|
|
3
|
+
import { s as n } from "../../../_shared/typography-DXvCmE8w.js";
|
|
4
|
+
import { a as r, c as i, i as a, l as o, o as s, r as c, s as l, u } from "../../../_shared/accordion-CxjH2WZG.js";
|
|
5
|
+
import { t as d } from "../../../_shared/spinner-CVG62sGs.js";
|
|
6
6
|
import { forwardRef as f, useCallback as p, useEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
|
|
7
7
|
import { jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
8
8
|
import { CheckCircle2 as b } from "lucide-react";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/typography-CO9uwZhF.cjs"),r=require("../../../_shared/badge-BeSKxX1u.cjs"),i=require("../../../_shared/cards-GSYfJ-oX.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-primary-foreground 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.s,{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.s,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:e.description}),!!e.timestamp&&(0,a.jsx)(n.s,{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-primary-foreground`,children:(0,a.jsx)(n.s,{weight:`bold`,className:`text-primary-foreground`,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.s,{weight:`medium`,className:`text-muted-foreground`,children:t})})}function d({title:e,description:r,steps:o,footerText:s,className:c}){return(0,a.jsxs)(i.t,{title:e,description:r,footerText:s,className:c,children:[(0,a.jsx)(`div`,{className:`space-y-3 sm:hidden`,children:o.map((e,r)=>{let i=r===o.length-1,s=e.status===`completed`?`bg-success`:`bg-border`;return(0,a.jsxs)(`div`,{className:`flex gap-3`,children:[(0,a.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,a.jsx)(u,{status:e.status,stepNumber:r+1}),!i&&(0,a.jsx)(`div`,{className:t.cn(`mt-1 w-0.5 flex-1 min-h-5`,s)})]}),(0,a.jsxs)(`div`,{className:t.cn(`min-w-0 flex-1 pb-2`,i&&`pb-0`),children:[(0,a.jsx)(n.s,{weight:`semibold`,className:t.cn(`leading-snug`,e.status===`upcoming`?`text-muted-foreground`:`text-foreground`),children:e.title}),!!e.description&&(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,className:`mt-0.5 line-clamp-2`,children:e.description})]})]},e.id)})}),(0,a.jsx)(`div`,{className:`-mx-1 hidden overflow-x-auto px-1 sm:block`,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-28 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.s,{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.s,{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 bottom-0 left-[5px] top-[14px] 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(`size-3 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.s,{weight:`medium`,className:`truncate`,children:e.title}),(0,a.jsx)(n.s,{size:`xxs`,type:`secondary`,className:`flex-shrink-0 font-mono tabular-nums`,children:e.timestamp})]}),!!e.description&&(0,a.jsx)(n.s,{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.s,{weight:`medium`,children:r.label}),(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,children:r.date}),!!r.amount&&(0,a.jsx)(n.s,{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.s,{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.s,{tag:`span`,weight:`semibold`,children:e.actor}),(0,a.jsx)(n.s,{tag:`span`,type:`secondary`,children:e.action}),!!e.target&&(0,a.jsx)(n.s,{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.s,{size:`xs`,type:`secondary`,children:[(0,a.jsxs)(n.s,{tag:`span`,size:`xs`,type:`discrete`,children:[e.label,`: `]}),e.value]},e.label))}),(0,a.jsx)(n.s,{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.s,{weight:`medium`,className:`leading-tight`,children:i.title}),!!i.timestamp&&(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:i.timestamp})]}),!!i.description&&(0,a.jsx)(n.s,{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.s,{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.s,{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.s,{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`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/typography-pzCKaFOc.cjs"),r=require("../../../_shared/badge-DvUA9Pr2.cjs"),i=require("../../../_shared/cards-DQN9fcwo.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-primary-foreground 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.s,{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.s,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:e.description}),!!e.timestamp&&(0,a.jsx)(n.s,{size:`xs`,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-primary-foreground`,children:(0,a.jsx)(n.s,{weight:`bold`,className:`text-primary-foreground`,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.s,{weight:`medium`,className:`text-muted-foreground`,children:t})})}function d({title:e,description:r,steps:o,footerText:s,className:c}){return(0,a.jsxs)(i.t,{title:e,description:r,footerText:s,className:c,children:[(0,a.jsx)(`div`,{className:`space-y-3 sm:hidden`,children:o.map((e,r)=>{let i=r===o.length-1,s=e.status===`completed`?`bg-success`:`bg-border`;return(0,a.jsxs)(`div`,{className:`flex gap-3`,children:[(0,a.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,a.jsx)(u,{status:e.status,stepNumber:r+1}),!i&&(0,a.jsx)(`div`,{className:t.cn(`mt-1 w-0.5 flex-1 min-h-5`,s)})]}),(0,a.jsxs)(`div`,{className:t.cn(`min-w-0 flex-1 pb-2`,i&&`pb-0`),children:[(0,a.jsx)(n.s,{weight:`semibold`,className:t.cn(`leading-snug`,e.status===`upcoming`?`text-muted-foreground`:`text-foreground`),children:e.title}),!!e.description&&(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,className:`mt-0.5 line-clamp-2`,children:e.description})]})]},e.id)})}),(0,a.jsx)(`div`,{className:`-mx-1 hidden overflow-x-auto px-1 sm:block`,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-28 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.s,{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.s,{size:`xs`,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 bottom-0 left-[5px] top-[14px] 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(`size-3 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.s,{weight:`medium`,className:`truncate`,children:e.title}),(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,className:`flex-shrink-0 font-mono tabular-nums`,children:e.timestamp})]}),!!e.description&&(0,a.jsx)(n.s,{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.s,{weight:`medium`,children:r.label}),(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,children:r.date}),!!r.amount&&(0,a.jsx)(n.s,{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.s,{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.s,{tag:`span`,weight:`semibold`,children:e.actor}),(0,a.jsx)(n.s,{tag:`span`,type:`secondary`,children:e.action}),!!e.target&&(0,a.jsx)(n.s,{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.s,{size:`xs`,type:`secondary`,children:[(0,a.jsxs)(n.s,{tag:`span`,size:`xs`,type:`discrete`,children:[e.label,`: `]}),e.value]},e.label))}),(0,a.jsx)(n.s,{size:`xs`,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.s,{weight:`medium`,className:`leading-tight`,children:i.title}),!!i.timestamp&&(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:i.timestamp})]}),!!i.description&&(0,a.jsx)(n.s,{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.s,{tag:`span`,size:`xs`,type:`secondary`,className:`font-mono`,children:e.version})]}),description:e.author?(0,a.jsxs)(a.Fragment,{children:[e.description,(0,a.jsxs)(n.s,{tag:`span`,size:`xs`,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.s,{size:`xs`,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
|