admin-ui-starter-kit 0.6.6 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/component-library-rules/SKILL.md +2 -2
- package/.agents/skills/component-library-rules/references/components/INDEX.json +15 -1
- package/.agents/skills/component-library-rules/references/components/INDEX.md +15 -1
- package/.agents/skills/component-library-rules/references/components/base__boolean-indicator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__cards.md +7 -6
- package/.agents/skills/component-library-rules/references/components/base__carousel.md +4 -4
- package/.agents/skills/component-library-rules/references/components/base__collapsible.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__conditional-rendering.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__css-variables.md +2 -1
- package/.agents/skills/component-library-rules/references/components/base__date-block.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__dialog.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +59 -95
- package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__item.md +4 -3
- package/.agents/skills/component-library-rules/references/components/base__money-display.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__notification-banner.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__placeholder-pattern.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__progress.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__qr-code.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__separator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__skeleton.md +55 -0
- package/.agents/skills/component-library-rules/references/components/base__throttle-alert.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__typography.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__visually-hidden.md +39 -0
- 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 +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +2 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
- package/.agents/skills/component-library-rules/references/ui-provider.md +2 -2
- package/dist/_shared/accordion-8B4OFqiT.cjs +2 -0
- package/dist/_shared/accordion-8B4OFqiT.cjs.map +1 -0
- package/dist/_shared/accordion-DlpTSZ3p.js +135 -0
- package/dist/_shared/accordion-DlpTSZ3p.js.map +1 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs +2 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs.map +1 -0
- package/dist/_shared/action-menu-CYwMZX-b.js +96 -0
- package/dist/_shared/action-menu-CYwMZX-b.js.map +1 -0
- package/dist/_shared/ai-artifact-BylloxGO.js +1099 -0
- package/dist/_shared/ai-artifact-BylloxGO.js.map +1 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs +3 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs.map +1 -0
- package/dist/_shared/auth-1Ht9Kevx.js +643 -0
- package/dist/_shared/auth-1Ht9Kevx.js.map +1 -0
- package/dist/_shared/auth-DTN6sFXM.cjs +2 -0
- package/dist/_shared/auth-DTN6sFXM.cjs.map +1 -0
- package/dist/_shared/badge-LSAgdmGt.cjs +2 -0
- package/dist/_shared/badge-LSAgdmGt.cjs.map +1 -0
- package/dist/_shared/badge-nZ2zbAV4.js +110 -0
- package/dist/_shared/badge-nZ2zbAV4.js.map +1 -0
- package/dist/_shared/button-Be2ayMxF.js +192 -0
- package/dist/_shared/button-Be2ayMxF.js.map +1 -0
- package/dist/_shared/button-CfQtOuBK.cjs +2 -0
- package/dist/_shared/button-CfQtOuBK.cjs.map +1 -0
- package/dist/_shared/buttons-DABiSx6N.cjs +2 -0
- package/dist/_shared/buttons-DABiSx6N.cjs.map +1 -0
- package/dist/_shared/buttons-DYQqQPpk.js +137 -0
- package/dist/_shared/buttons-DYQqQPpk.js.map +1 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs +2 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +1 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js +150 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js.map +1 -0
- package/dist/_shared/cards-BJctT9KD.js +428 -0
- package/dist/_shared/cards-BJctT9KD.js.map +1 -0
- package/dist/_shared/cards-m03XN10f.cjs +2 -0
- package/dist/_shared/cards-m03XN10f.cjs.map +1 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs +2 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs.map +1 -0
- package/dist/_shared/combobox-D9tU_83-.js +954 -0
- package/dist/_shared/combobox-D9tU_83-.js.map +1 -0
- package/dist/_shared/command-BbJB0pjP.cjs +2 -0
- package/dist/_shared/command-BbJB0pjP.cjs.map +1 -0
- package/dist/_shared/command-IP2wy_HN.js +39 -0
- package/dist/_shared/command-IP2wy_HN.js.map +1 -0
- package/dist/_shared/comments-B_WKQUol.js +952 -0
- package/dist/_shared/comments-B_WKQUol.js.map +1 -0
- package/dist/_shared/comments-DMHMNObS.cjs +2 -0
- package/dist/_shared/comments-DMHMNObS.cjs.map +1 -0
- package/dist/_shared/copyable-BJYx2SlN.js +38 -0
- package/dist/_shared/copyable-BJYx2SlN.js.map +1 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs +2 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs.map +1 -0
- package/dist/_shared/data-display-4E_irfF2.js +1878 -0
- package/dist/_shared/data-display-4E_irfF2.js.map +1 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs +2 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs.map +1 -0
- package/dist/_shared/date-picker-CvqLnlxm.js +1361 -0
- package/dist/_shared/date-picker-CvqLnlxm.js.map +1 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs +2 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs.map +1 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs +2 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs.map +1 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js +329 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js.map +1 -0
- package/dist/_shared/display-DFVeSuWL.js +986 -0
- package/dist/_shared/display-DFVeSuWL.js.map +1 -0
- package/dist/_shared/display-Lr3xTd4a.cjs +2 -0
- package/dist/_shared/display-Lr3xTd4a.cjs.map +1 -0
- package/dist/_shared/forms-BA8Aa_fi.js +3534 -0
- package/dist/_shared/forms-BA8Aa_fi.js.map +1 -0
- package/dist/_shared/forms-CNjjdFcf.cjs +2 -0
- package/dist/_shared/forms-CNjjdFcf.cjs.map +1 -0
- package/dist/_shared/header-BEsz1_so.cjs +2 -0
- package/dist/_shared/header-BEsz1_so.cjs.map +1 -0
- package/dist/_shared/header-bJx8z6zT.js +447 -0
- package/dist/_shared/header-bJx8z6zT.js.map +1 -0
- package/dist/_shared/hooks-gRgVhyY2.js +95 -0
- package/dist/_shared/hooks-gRgVhyY2.js.map +1 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs +2 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs.map +1 -0
- package/dist/_shared/input-CzJzVyQ0.js +182 -0
- package/dist/_shared/input-CzJzVyQ0.js.map +1 -0
- package/dist/_shared/input-Dvvmn96E.cjs +2 -0
- package/dist/_shared/input-Dvvmn96E.cjs.map +1 -0
- package/dist/_shared/item-CVjjpHQd.js +226 -0
- package/dist/_shared/item-CVjjpHQd.js.map +1 -0
- package/dist/_shared/item-ChHblHhR.cjs +2 -0
- package/dist/_shared/item-ChHblHhR.cjs.map +1 -0
- package/dist/_shared/layout-C_dYiKtE.cjs +2 -0
- package/dist/_shared/layout-C_dYiKtE.cjs.map +1 -0
- package/dist/_shared/layout-nigj488k.js +268 -0
- package/dist/_shared/layout-nigj488k.js.map +1 -0
- package/dist/_shared/mentions-BE51BNeq.cjs +2 -0
- package/dist/_shared/mentions-BE51BNeq.cjs.map +1 -0
- package/dist/_shared/mentions-CBhP29St.js +506 -0
- package/dist/_shared/mentions-CBhP29St.js.map +1 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs +2 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs.map +1 -0
- package/dist/_shared/money-display-DpuLnsK2.js +198 -0
- package/dist/_shared/money-display-DpuLnsK2.js.map +1 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js +436 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js.map +1 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs +2 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs.map +1 -0
- package/dist/_shared/overlays-BJLczwpz.js +735 -0
- package/dist/_shared/overlays-BJLczwpz.js.map +1 -0
- package/dist/_shared/overlays-DbaPLT67.cjs +2 -0
- package/dist/_shared/overlays-DbaPLT67.cjs.map +1 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs +2 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +1 -0
- package/dist/_shared/popover-menu-f2O6R_27.js +93 -0
- package/dist/_shared/popover-menu-f2O6R_27.js.map +1 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js +620 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js.map +1 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +2 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +1 -0
- package/dist/_shared/settings-D-HAOE3R.js +143 -0
- package/dist/_shared/settings-D-HAOE3R.js.map +1 -0
- package/dist/_shared/settings-DkL3bOk0.cjs +2 -0
- package/dist/_shared/settings-DkL3bOk0.cjs.map +1 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs +2 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs.map +1 -0
- package/dist/_shared/sidebar-DkBNualh.js +548 -0
- package/dist/_shared/sidebar-DkBNualh.js.map +1 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs +2 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs.map +1 -0
- package/dist/_shared/skeleton-yUXqeWzB.js +256 -0
- package/dist/_shared/skeleton-yUXqeWzB.js.map +1 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs +2 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs.map +1 -0
- package/dist/_shared/spinner-CuVZhJhN.js +67 -0
- package/dist/_shared/spinner-CuVZhJhN.js.map +1 -0
- package/dist/_shared/table-Cq0jkSm5.js +1377 -0
- package/dist/_shared/table-Cq0jkSm5.js.map +1 -0
- package/dist/_shared/table-GqTKCC8F.cjs +2 -0
- package/dist/_shared/table-GqTKCC8F.cjs.map +1 -0
- package/dist/_shared/textarea-C0iZwWdD.js +118 -0
- package/dist/_shared/textarea-C0iZwWdD.js.map +1 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs +2 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs.map +1 -0
- package/dist/_shared/typography-5bLhAYaK.js +201 -0
- package/dist/_shared/typography-5bLhAYaK.js.map +1 -0
- package/dist/_shared/typography-CWEobAJV.cjs +2 -0
- package/dist/_shared/typography-CWEobAJV.cjs.map +1 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs +2 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs.map +1 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js +89 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js.map +1 -0
- package/dist/_shared/workspace-5UId04M9.js +357 -0
- package/dist/_shared/workspace-5UId04M9.js.map +1 -0
- package/dist/_shared/workspace-BMws_rFf.cjs +2 -0
- package/dist/_shared/workspace-BMws_rFf.cjs.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/button.d.ts.map +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/buttons/tooltip-button.d.ts.map +1 -1
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +2 -2
- package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +7 -3
- package/dist/components/base/cards/smart-card.types.d.ts.map +1 -1
- 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 +5 -5
- package/dist/components/base/display/skeleton.d.ts +52 -1
- package/dist/components/base/display/skeleton.d.ts.map +1 -1
- 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 +7 -7
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/fields/file-upload.d.ts.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/item/item.d.ts.map +1 -1
- package/dist/components/base/item/item.types.d.ts +3 -0
- package/dist/components/base/item/item.types.d.ts.map +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 +2 -2
- 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/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/base/toaster/index.cjs +1 -1
- package/dist/components/base/toaster/index.cjs.map +1 -1
- package/dist/components/base/toaster/index.js +82 -23
- package/dist/components/base/toaster/index.js.map +1 -1
- package/dist/components/base/toaster/toaster.d.ts +1 -1
- package/dist/components/base/toaster/toaster.d.ts.map +1 -1
- package/dist/components/composed/admin/api-key-list/api-key-list.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 +69 -69
- 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 +33 -33
- 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/dense-info-card/partials/dense-info-dashboard.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-financial.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-score.d.ts.map +1 -1
- 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/data-display/resource-selector-card.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 +10 -10
- 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 +5 -5
- 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 +194 -194
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/filters/partials/filters-button.d.ts.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 +25 -25
- 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 +6 -6
- 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/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 +7 -7
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/page/page.types.d.ts +5 -0
- package/dist/components/layout/page/page.types.d.ts.map +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts.map +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/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/ui-provider/defaults.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.cjs +1 -1
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/index.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.js +1 -1
- package/dist/lib/ui-provider/types.d.ts +14 -0
- package/dist/lib/ui-provider/types.d.ts.map +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-oKO7Ng_P.js +6 -0
- package/dist/showcase/assets/CompositeItem-CK7jBYU8.js +1 -0
- package/dist/showcase/assets/CompositeRoot-_AuToqhT.js +1 -0
- package/dist/showcase/assets/DialogTrigger-C44ZZXQ9.js +1 -0
- package/dist/showcase/assets/LabelableContext-DLVZlnur.js +1 -0
- package/dist/showcase/assets/PreviewLayout-Oik7TDHN.js +1 -0
- package/dist/showcase/assets/RadioGroup-DeYb8CGE.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-BZlE_Bil.js +1 -0
- package/dist/showcase/assets/Separator-uiIktHzk.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-CEzj5dKk.js +1 -0
- package/dist/showcase/assets/accordion-B_wg_YOp.js +171 -0
- package/dist/showcase/assets/accordion-variants-O6U7E38x.js +1 -0
- package/dist/showcase/assets/action-menu-D_wGvb_o.js +1 -0
- package/dist/showcase/assets/actions-u4Fl4zm1.js +310 -0
- package/dist/showcase/assets/activities-C6iITHzB.js +500 -0
- package/dist/showcase/assets/activities-feed-card-OpYs16UV.js +1 -0
- package/dist/showcase/assets/admin-Bq15E5Wd.js +140 -0
- package/dist/showcase/assets/ai-DcUzGTlb.js +207 -0
- package/dist/showcase/assets/ai-artifact-BUAu1_jV.js +2 -0
- package/dist/showcase/assets/ai-chat-C6OWWBqh.js +568 -0
- package/dist/showcase/assets/ai-elements-CCe4Aqj_.js +387 -0
- package/dist/showcase/assets/ai-tool-call-B_NF1ePn.js +1 -0
- package/dist/showcase/assets/alert-B4VWkFPE.js +1 -0
- package/dist/showcase/assets/alert-BDIqciKo.js +62 -0
- package/dist/showcase/assets/alert-jvCEGWe6.js +93 -0
- package/dist/showcase/assets/api-key-list-BH8mde9A.js +1 -0
- package/dist/showcase/assets/api-key-list-CA6O3hsc.js +73 -0
- package/dist/showcase/assets/app-sidebar-DsMTwSAB.js +1 -0
- package/dist/showcase/assets/arrow-down-BzPC0rON.js +1 -0
- package/dist/showcase/assets/arrow-left-DNehZvF-.js +1 -0
- package/dist/showcase/assets/arrow-right-CKIgWncF.js +1 -0
- package/dist/showcase/assets/arrow-up-YjujZi8v.js +1 -0
- package/dist/showcase/assets/arrow-up-right-KnVxFmw9.js +1 -0
- package/dist/showcase/assets/avatar-BBLri7tX.js +57 -0
- package/dist/showcase/assets/avatar-BeFx8JQd.js +1 -0
- package/dist/showcase/assets/avatar-CFWUZzaF.js +67 -0
- package/dist/showcase/assets/avatar-D6exHRSK.js +1 -0
- package/dist/showcase/assets/badge-check-BfY3RIjR.js +1 -0
- package/dist/showcase/assets/badge-jGj2HQsg.js +31 -0
- package/dist/showcase/assets/bell-CTDSIOv8.js +1 -0
- package/dist/showcase/assets/boolean-indicator-C1u7OFcR.js +1 -0
- package/dist/showcase/assets/bot-D-iqtYiQ.js +1 -0
- package/dist/showcase/assets/box-DxjjLEh2.js +1 -0
- package/dist/showcase/assets/braces-B6XLlZwJ.js +1 -0
- package/dist/showcase/assets/brain-BdNpswBH.js +1 -0
- package/dist/showcase/assets/brand-C6srYuIa.js +36 -0
- package/dist/showcase/assets/breadcrumb-BaeV7C4t.js +52 -0
- package/dist/showcase/assets/breadcrumb-jKu4EUFo.js +1 -0
- package/dist/showcase/assets/breadcrumbs-D7vYX_5y.js +1 -0
- package/dist/showcase/assets/briefcase-cs9wyoxL.js +1 -0
- package/dist/showcase/assets/building-2-rcMEYcbf.js +1 -0
- package/dist/showcase/assets/button-group-D1oXfasP.js +1 -0
- package/dist/showcase/assets/button-oBRwhAhs.js +44 -0
- package/dist/showcase/assets/buttons-D_SDu9w3.js +272 -0
- package/dist/showcase/assets/calendar-CGTiVckW.js +1 -0
- package/dist/showcase/assets/calendar-ChLkVME0.js +16 -0
- package/dist/showcase/assets/calendar-CjMPvWfI.js +1 -0
- package/dist/showcase/assets/calendar-days-CNom8Y38.js +1 -0
- package/dist/showcase/assets/camera-D0rjOOcs.js +1 -0
- package/dist/showcase/assets/card-CYz4UxYz.js +1 -0
- package/dist/showcase/assets/card-D9updr3B.js +188 -0
- package/dist/showcase/assets/card-primitives-BQ0hSEWX.js +1 -0
- package/dist/showcase/assets/card-radio-group-CrNG04Bl.js +1 -0
- package/dist/showcase/assets/cards-D4Lw-AI6.js +354 -0
- package/dist/showcase/assets/carousel-C6Mmapzw.js +449 -0
- package/dist/showcase/assets/cell-renderers-BF80Z3jW.js +1 -0
- package/dist/showcase/assets/chart-BHgMfUB5.js +358 -0
- package/dist/showcase/assets/chart-column-CE_VhlUz.js +1 -0
- package/dist/showcase/assets/checkbox-CDLT09vU.js +1 -0
- package/dist/showcase/assets/checkbox-Dj24Tegr.js +1 -0
- package/dist/showcase/assets/chevron-down-1GeJ4hOO.js +1 -0
- package/dist/showcase/assets/chevron-left-wqlWv2Qy.js +1 -0
- package/dist/showcase/assets/chevron-up-CZAm-2rZ.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-DgysGYWR.js +1 -0
- package/dist/showcase/assets/circle-C9Ooo8Lv.js +1 -0
- package/dist/showcase/assets/circle-alert-C6XBfkf2.js +1 -0
- package/dist/showcase/assets/circle-check-DvCYlVmL.js +1 -0
- package/dist/showcase/assets/circle-check-big-C8o9clAE.js +1 -0
- package/dist/showcase/assets/circle-dot-BoYf3vOR.js +1 -0
- package/dist/showcase/assets/circle-question-mark-DYPX0qe9.js +1 -0
- package/dist/showcase/assets/circle-x-GosnT0l7.js +1 -0
- package/dist/showcase/assets/clock-3-DklFhayq.js +1 -0
- package/dist/showcase/assets/clock-BvwTkk1w.js +1 -0
- package/dist/showcase/assets/code-xml-AGOwtN8Z.js +1 -0
- package/dist/showcase/assets/collapsible-CBkbr3ho.js +1 -0
- package/dist/showcase/assets/collapsible-CmY1SA28.js +27 -0
- package/dist/showcase/assets/collapsible-DfDnQ_t_.js +1 -0
- package/dist/showcase/assets/combobox-BsZQo7hF.js +685 -0
- package/dist/showcase/assets/command-B0Q84gg6.js +1 -0
- package/dist/showcase/assets/command-BtADdA65.js +1 -0
- package/dist/showcase/assets/comment-composer-BmBnkba9.js +1 -0
- package/dist/showcase/assets/comment-item-y5mTfSmU.js +1 -0
- package/dist/showcase/assets/comments-BuYiGPxI.js +357 -0
- package/dist/showcase/assets/commerce-21Ef_rsW.js +267 -0
- package/dist/showcase/assets/composite-fKT6fZFs.js +1 -0
- package/dist/showcase/assets/conditional-rendering-DsTG0sOE.js +1 -0
- package/dist/showcase/assets/contact-card-S8koA9Sr.js +65 -0
- package/dist/showcase/assets/content-container-B4gW5fmA.js +1 -0
- package/dist/showcase/assets/copyable-D2xL2rMm.js +96 -0
- package/dist/showcase/assets/copyable-gLrmPayI.js +1 -0
- package/dist/showcase/assets/course-card-B8eEvF7a.js +77 -0
- package/dist/showcase/assets/cpu-Cp1On3tr.js +1 -0
- package/dist/showcase/assets/credit-card-QbZMZB90.js +1 -0
- package/dist/showcase/assets/css-variables-BXICo9fV.js +1205 -0
- package/dist/showcase/assets/currency-D2MSLjLt.js +149 -0
- package/dist/showcase/assets/dark-surfaces-CJsxuvQU.js +90 -0
- package/dist/showcase/assets/data-view-syhKhdz9.js +124 -0
- package/dist/showcase/assets/data-view-znnAeb6b.js +4 -0
- package/dist/showcase/assets/database-isLkCvDd.js +1 -0
- package/dist/showcase/assets/date-block-BDn9lGVM.js +1 -0
- package/dist/showcase/assets/date-block-CqRL1xfo.js +1 -0
- package/dist/showcase/assets/date-picker-DNcmSgQk.js +1 -0
- package/dist/showcase/assets/date-pickers-3lQUDDS7.js +73 -0
- package/dist/showcase/assets/dense-info-CfvqiIpM.js +106 -0
- package/dist/showcase/assets/design-system-consistency-C3yRhKwF.js +264 -0
- package/dist/showcase/assets/dialog-DiAkrPHO.js +1 -0
- package/dist/showcase/assets/dialog-feUFM03m.js +1 -0
- package/dist/showcase/assets/dialog-ruVOqJnB.js +1 -0
- package/dist/showcase/assets/display-utilities-SPJxlrkp.js +4 -0
- package/dist/showcase/assets/display-utilities.examples-ByRydMl0.js +302 -0
- package/dist/showcase/assets/dist-C9DVZddl.js +45 -0
- package/dist/showcase/assets/dist-DNARKM_B.js +1 -0
- package/dist/showcase/assets/dollar-sign-CUDuWyun.js +1 -0
- package/dist/showcase/assets/download-CIbh9VUU.js +1 -0
- package/dist/showcase/assets/dropdown-menu-MoIAG0ES.js +1 -0
- package/dist/showcase/assets/dropzone-D0kHIUuh.js +1 -0
- package/dist/showcase/assets/earth-BpNTeF25.js +1 -0
- package/dist/showcase/assets/ellipsis-B9w0cuoH.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-DHbOsjTF.js +1 -0
- package/dist/showcase/assets/empty-DvYVgcNF.js +1 -0
- package/dist/showcase/assets/empty-item-oFM5kPCp.js +49 -0
- package/dist/showcase/assets/empty-state-DTq86muv.js +1 -0
- package/dist/showcase/assets/empty-state-De7XCht-.js +190 -0
- package/dist/showcase/assets/enhanced-activities--XHjx99M.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-CX_mTkei.js +1 -0
- package/dist/showcase/assets/esm-XXqBjGGF.js +2 -0
- package/dist/showcase/assets/event-calendar-zTiCWOF5.js +138 -0
- package/dist/showcase/assets/event-log-C_zSlY6y.js +330 -0
- package/dist/showcase/assets/example-Cv05rz75.js +1 -0
- package/dist/showcase/assets/external-link-DaR-AMyf.js +1 -0
- package/dist/showcase/assets/eye-CDSbB0kZ.js +1 -0
- package/dist/showcase/assets/feature-announcement-DJ26ZDVB.js +34 -0
- package/dist/showcase/assets/file-DPSK5cGC.js +1 -0
- package/dist/showcase/assets/file-text-BBWpAppG.js +1 -0
- package/dist/showcase/assets/filter-layout-CZRGcd6Z.js +1 -0
- package/dist/showcase/assets/filters-Bn7hYUeq.js +139 -0
- package/dist/showcase/assets/flag-BRs-GTCx.js +1 -0
- package/dist/showcase/assets/folder-open-DnFjlB3X.js +1 -0
- package/dist/showcase/assets/form-field-SW-Yp7H7.js +1 -0
- package/dist/showcase/assets/format-Bki5m7M3.js +1 -0
- package/dist/showcase/assets/forms-CAUL2gGq.js +915 -0
- package/dist/showcase/assets/funnel-D6g2Suhd.js +1 -0
- package/dist/showcase/assets/generic-CU6JNqKO.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-yqDwWA_y.js +1 -0
- package/dist/showcase/assets/gift-B2Qp9Vqt.js +1 -0
- package/dist/showcase/assets/giftcard-cards-Dk0DYoN2.js +85 -0
- package/dist/showcase/assets/git-branch-CPtvCNGc.js +1 -0
- package/dist/showcase/assets/global-search-D1ow01VA.js +1 -0
- package/dist/showcase/assets/global-search-DQR2AgDO.js +215 -0
- package/dist/showcase/assets/globe-BiZgUZFZ.js +1 -0
- package/dist/showcase/assets/gradient-card-D5isLy3_.js +58 -0
- package/dist/showcase/assets/hash-NJ5ohGOa.js +1 -0
- package/dist/showcase/assets/header-Df9uYSSH.js +1 -0
- package/dist/showcase/assets/header-notifications-sPR5NuON.js +1 -0
- package/dist/showcase/assets/heart-C4t7PVKW.js +1 -0
- package/dist/showcase/assets/hooks-0TKg0ZAK.js +220 -0
- package/dist/showcase/assets/house-CuLXFtjd.js +1 -0
- package/dist/showcase/assets/icon-badge-Cr6DD-_7.js +1 -0
- package/dist/showcase/assets/icon-badge-DMdMSSRL.js +37 -0
- package/dist/showcase/assets/image-DYjJaO0i.js +1 -0
- package/dist/showcase/assets/inbox-DGF8FgvV.js +1 -0
- package/dist/showcase/assets/index-ATou_nFA.js +10 -0
- package/dist/showcase/assets/index-C8U-r6l7.css +2 -0
- package/dist/showcase/assets/inertValue-CBi0sj8C.js +1 -0
- package/dist/showcase/assets/info-DLaTRPUT.js +1 -0
- package/dist/showcase/assets/inline-stat-DGpunTNF.js +1 -0
- package/dist/showcase/assets/inline-stat-rUaaOSmR.js +15 -0
- package/dist/showcase/assets/input-Cmrgo51H.js +1 -0
- package/dist/showcase/assets/input-CnmnWnGb.js +1 -0
- package/dist/showcase/assets/input-group-BwujFvXM.js +1 -0
- package/dist/showcase/assets/input-group-DvXgZtra.js +47 -0
- package/dist/showcase/assets/inputs-CjzW_R8z.js +155 -0
- package/dist/showcase/assets/installation-2dW-rmF2.js +134 -0
- package/dist/showcase/assets/invoice-header-DeWxMKCe.js +36 -0
- package/dist/showcase/assets/invoice-items-Dxb95w0e.js +36 -0
- package/dist/showcase/assets/invoice-mini-EMzCkmR7.js +14 -0
- package/dist/showcase/assets/invoice-table-ClWJaclJ.js +30 -0
- package/dist/showcase/assets/isSameDay-BNPzVySj.js +1 -0
- package/dist/showcase/assets/isToday-D6n7oLej.js +1 -0
- package/dist/showcase/assets/italic-B8w3dpYw.js +1 -0
- package/dist/showcase/assets/item-B8_dwOlT.js +1 -0
- package/dist/showcase/assets/item-Baq-Mmy2.js +1 -0
- package/dist/showcase/assets/item-BtMuqGwy.js +140 -0
- package/dist/showcase/assets/kanban-B-QxvKMg.js +188 -0
- package/dist/showcase/assets/key-round-CrBIyzIa.js +1 -0
- package/dist/showcase/assets/label-VWe_nbHh.js +1 -0
- package/dist/showcase/assets/languages-N0uGt5nC.js +1 -0
- package/dist/showcase/assets/layers-DEZvT5cX.js +1 -0
- package/dist/showcase/assets/layout-app-shell-T9UqKX2o.js +608 -0
- package/dist/showcase/assets/layout-auth-IVC4DuU3.js +790 -0
- package/dist/showcase/assets/layout-containers-naBpuH05.js +101 -0
- package/dist/showcase/assets/layout-header-9i_7ygKU.js +203 -0
- package/dist/showcase/assets/layout-page-CrEUiJpW.js +315 -0
- package/dist/showcase/assets/layout-primitives-DPrVHpu3.js +34 -0
- package/dist/showcase/assets/layout-sidebar-D7z6-kPu.js +224 -0
- package/dist/showcase/assets/layout-users-Cov9D84d.js +117 -0
- package/dist/showcase/assets/layout-workspace-Czlmi8gY.js +191 -0
- package/dist/showcase/assets/lib-DNMH46Rn.js +1 -0
- package/dist/showcase/assets/list-checks-DygDRIGi.js +1 -0
- package/dist/showcase/assets/lock-DqEahakB.js +1 -0
- package/dist/showcase/assets/lock-keyhole-CETEK3R0.js +1 -0
- package/dist/showcase/assets/mail-LKhBlrEc.js +1 -0
- package/dist/showcase/assets/mail-check-BOTjWQJf.js +1 -0
- package/dist/showcase/assets/map-0vJT2r8C.js +124 -0
- package/dist/showcase/assets/map-pin-D0qrpDJI.js +1 -0
- package/dist/showcase/assets/media-library-Bp99WaS9.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-mlV7LRvD.js +1 -0
- package/dist/showcase/assets/mentions-Cmd1zxOR.js +138 -0
- package/dist/showcase/assets/menus-CtjFPoDr.js +171 -0
- package/dist/showcase/assets/message-square-BXyvikcZ.js +1 -0
- package/dist/showcase/assets/metadata-list-DLUBcy7E.js +286 -0
- package/dist/showcase/assets/metadata-list-F3bWXtZB.js +1 -0
- package/dist/showcase/assets/metric-CXPRptlh.js +1 -0
- package/dist/showcase/assets/metric-bar-BY25WVZ0.js +1 -0
- package/dist/showcase/assets/metric-grid-DQtf9y6E.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-CXHpkj3U.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-BIuwiVrn.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-yx5lMGQf.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BC_7jLXf.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-C_nhCljz.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-3oySQnoR.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-zS4-oiTO.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-UJkA2LNR.js +42 -0
- package/dist/showcase/assets/metrics-overview-DQFr22ol.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-DnBirxKV.js +54 -0
- package/dist/showcase/assets/minus-BOVQEx6C.js +1 -0
- package/dist/showcase/assets/money-display-DV7xlrNV.js +1 -0
- package/dist/showcase/assets/money-display-DxnM5--7.js +1 -0
- package/dist/showcase/assets/month-year-picker-BzRXCrQ7.js +1 -0
- package/dist/showcase/assets/navigation-ChJKLv4Y.js +90 -0
- package/dist/showcase/assets/navigation-D7VJsKrP.js +231 -0
- package/dist/showcase/assets/navigation-extras-BVc1xQuB.js +43 -0
- package/dist/showcase/assets/notification-banner-1ivcmPLe.js +1 -0
- package/dist/showcase/assets/onboarding-checklist-CbARgwpX.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-DlqMmyTx.js +1 -0
- package/dist/showcase/assets/overlays-DkWO50b8.js +159 -0
- package/dist/showcase/assets/overlays-KKZpxWjt.js +408 -0
- package/dist/showcase/assets/overview-BjQe-YZE.js +184 -0
- package/dist/showcase/assets/package-DhQRoFDo.js +1 -0
- package/dist/showcase/assets/package-check-CBgGiccG.js +1 -0
- package/dist/showcase/assets/page-BWTmyV5J.js +1 -0
- package/dist/showcase/assets/page-action-button-DV-YYRA4.js +1 -0
- package/dist/showcase/assets/page-header-Bmg4NU_P.js +1 -0
- package/dist/showcase/assets/pagination-ByQ_OXRU.js +1 -0
- package/dist/showcase/assets/pagination-Db5CuoBb.js +42 -0
- package/dist/showcase/assets/paperclip-BQNPUzG_.js +1 -0
- package/dist/showcase/assets/password-input-CPvjzM1f.js +1 -0
- package/dist/showcase/assets/pencil-DuBakHme.js +1 -0
- package/dist/showcase/assets/phone-t94LTB1m.js +1 -0
- package/dist/showcase/assets/placeholder-pattern-BNou2ep-.js +1 -0
- package/dist/showcase/assets/plus-BRcp6JhT.js +1 -0
- package/dist/showcase/assets/popover-CVuJP03o.js +1 -0
- package/dist/showcase/assets/popover-D_P2gTn8.js +1 -0
- package/dist/showcase/assets/popover-menu-DGY5jEk4.js +1 -0
- package/dist/showcase/assets/products-8sUfDMPU.js +423 -0
- package/dist/showcase/assets/progress-BrMvIZIz.js +1 -0
- package/dist/showcase/assets/progress-CSXZAavT.js +18 -0
- package/dist/showcase/assets/progress-Dvqpf_O0.js +1 -0
- package/dist/showcase/assets/props-table-BAfz1Zc6.js +1 -0
- package/dist/showcase/assets/props.generated-CuVoOKYT.json +41746 -0
- package/dist/showcase/assets/qr-code-C-CaHJQ2.js +1 -0
- package/dist/showcase/assets/quote-Ci80eS0u.js +1 -0
- package/dist/showcase/assets/receipt-jvwbPuE3.js +1 -0
- package/dist/showcase/assets/receipt-text-CT0GiMQm.js +1 -0
- package/dist/showcase/assets/refinement-guide-BnCQ9-6f.js +189 -0
- package/dist/showcase/assets/refresh-cw-CXDARnCe.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-DJanfUim.js +1 -0
- package/dist/showcase/assets/resource-Bir-z7ie.js +139 -0
- package/dist/showcase/assets/resource-D19qhfYP.js +1 -0
- package/dist/showcase/assets/resource-selector-card-BUbuu-QH.js +43 -0
- package/dist/showcase/assets/rich-text-editor-BCtz589M.js +124 -0
- package/dist/showcase/assets/rich-text-editor-uu9FmB8B.js +143 -0
- package/dist/showcase/assets/rotate-ccw-DEIVfiHA.js +1 -0
- package/dist/showcase/assets/route-B5vtDLsE.js +1 -0
- package/dist/showcase/assets/save-DQ4Up8ZB.js +1 -0
- package/dist/showcase/assets/schema-form-D7wbdl5u.js +327 -0
- package/dist/showcase/assets/scroll-area-B0QD6o1Y.js +32 -0
- package/dist/showcase/assets/scroll-area-BoZ1SrfI.js +1 -0
- package/dist/showcase/assets/section-BXsVHOsI.js +1 -0
- package/dist/showcase/assets/select-CW8SYsOY.js +1 -0
- package/dist/showcase/assets/select-DmRqLSoG.js +1 -0
- package/dist/showcase/assets/send-Dxs1-xSj.js +1 -0
- package/dist/showcase/assets/separator-BLOG_8oO.js +1 -0
- package/dist/showcase/assets/separator-DZC_uQU-.js +1 -0
- package/dist/showcase/assets/separator-OlLHRN7k.js +28 -0
- package/dist/showcase/assets/settings-2-BSpgytsy.js +1 -0
- package/dist/showcase/assets/settings-CCNP7XOu.js +1 -0
- package/dist/showcase/assets/sheet-DIfJjbgA.js +1 -0
- package/dist/showcase/assets/shield-D2gTWkwA.js +1 -0
- package/dist/showcase/assets/shield-alert-C-3oWpoe.js +1 -0
- package/dist/showcase/assets/shield-check-D11r1eJ8.js +1 -0
- package/dist/showcase/assets/shopping-bag-DAeaVQ5O.js +1 -0
- package/dist/showcase/assets/showcase-GdZcH6OR.js +132 -0
- package/dist/showcase/assets/sidebar-RBzHNuB7.js +1 -0
- package/dist/showcase/assets/sidebar.context-Dyw470Qp.js +1 -0
- package/dist/showcase/assets/skeleton-B7crngMw.js +1 -0
- package/dist/showcase/assets/skeleton-BwEVNdGJ.js +1 -0
- package/dist/showcase/assets/skeleton-DM73_ueB.js +1 -0
- package/dist/showcase/assets/skeleton-cHsWJOtO.js +29 -0
- package/dist/showcase/assets/slider-DRPnIs0S.js +1 -0
- package/dist/showcase/assets/smart-card-DER7dpD9.js +1 -0
- package/dist/showcase/assets/sonner-Go1YsPBH.js +22 -0
- package/dist/showcase/assets/sortable.esm-q6LdsxSr.js +5 -0
- package/dist/showcase/assets/sparkles-DqH40POl.js +1 -0
- package/dist/showcase/assets/spinner-C0YWWxyj.js +1 -0
- package/dist/showcase/assets/spinner-CpHNR13f.js +30 -0
- package/dist/showcase/assets/spinner-Dwvf24e9.js +49 -0
- package/dist/showcase/assets/square-pen-D-xHmIA0.js +1 -0
- package/dist/showcase/assets/stacked-avatars-C92NYKIa.js +1 -0
- package/dist/showcase/assets/star-dD4CAJ83.js +1 -0
- package/dist/showcase/assets/startOfDay-BXZshd4g.js +1 -0
- package/dist/showcase/assets/styles-BPJdkO_3.js +1 -0
- package/dist/showcase/assets/suggestions-CyhKme4Q.js +126 -0
- package/dist/showcase/assets/switch-C7DVTgQd.js +1 -0
- package/dist/showcase/assets/switch-LU6nljdS.js +1 -0
- package/dist/showcase/assets/sync-bERw1shm.js +124 -0
- package/dist/showcase/assets/table-BuIv4nqB.js +686 -0
- package/dist/showcase/assets/table-CDMDtBgJ.js +1 -0
- package/dist/showcase/assets/table-actions-DsK7d8Yb.js +1 -0
- package/dist/showcase/assets/tabs-BDryywGb.js +19 -0
- package/dist/showcase/assets/tabs-BNaZmM48.js +1 -0
- package/dist/showcase/assets/tags-input-CzE_5BJl.js +1 -0
- package/dist/showcase/assets/text-button-B1m5cpX_.js +1 -0
- package/dist/showcase/assets/text-link-CqjW10Ce.js +1 -0
- package/dist/showcase/assets/textarea-xJ3EE8R9.js +1 -0
- package/dist/showcase/assets/textarea-xOekToAG.js +1 -0
- package/dist/showcase/assets/throttle-alert-BH1HMiaI.js +1 -0
- package/dist/showcase/assets/timelines-DjWkuOz3.js +200 -0
- package/dist/showcase/assets/toggle-group-Css6pfUI.js +1 -0
- package/dist/showcase/assets/toggles-DhDrn3YH.js +71 -0
- package/dist/showcase/assets/toggles-group-e4xtKzkl.js +32 -0
- package/dist/showcase/assets/tooltip-DMvMUrGe.js +31 -0
- package/dist/showcase/assets/trash-2-zILxQmtX.js +1 -0
- package/dist/showcase/assets/trending-up-CRH278ig.js +1 -0
- package/dist/showcase/assets/truck-At9CEKg7.js +1 -0
- package/dist/showcase/assets/typography-B0ehvSV4.js +223 -0
- package/dist/showcase/assets/ui-badge-CyLWYf3f.js +28 -0
- package/dist/showcase/assets/ui-card-BPnLZmkJ.js +30 -0
- package/dist/showcase/assets/ui-table-C-zXhcOm.js +42 -0
- package/dist/showcase/assets/upload-tray-IyQJEM9n.js +138 -0
- package/dist/showcase/assets/use-layout-link-Cux4giQO.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-Bo0rTGvc.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-CzU-1LY3.js +1 -0
- package/dist/showcase/assets/useCompositeItem-CJFNnVql.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-BAuO9hue.js +1 -0
- package/dist/showcase/assets/useLabelableId-HuACs9ba.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-MEUfJuxN.js +1 -0
- package/dist/showcase/assets/useRender-B-6DpRfj.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-B-mRyUJJ.js +1 -0
- package/dist/showcase/assets/useValueChanged-CVn_Rfso.js +1 -0
- package/dist/showcase/assets/user-eelwPGBI.js +1 -0
- package/dist/showcase/assets/user-plus-DhswMZvb.js +1 -0
- package/dist/showcase/assets/users-BVMmaveS.js +1 -0
- package/dist/showcase/assets/vendor-profile-FHaiInTe.js +37 -0
- package/dist/showcase/assets/video-C42fxAyj.js +1 -0
- package/dist/showcase/assets/visually-hidden-BwzlEinj.js +1 -0
- package/dist/showcase/assets/wrench-EKI7PaKp.js +1 -0
- package/dist/showcase/assets/x--LIqlhum.js +1 -0
- package/dist/showcase/assets/zap-C1fX30vt.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/tokens/foundation.css +20 -6
- package/src/css/tokens/primitives.css +1 -1
- package/src/css/tokens/states.css +3 -0
- package/dist/_shared/accordion-BRj4TDQx.js +0 -135
- package/dist/_shared/accordion-BRj4TDQx.js.map +0 -1
- package/dist/_shared/accordion-DvlDjk29.cjs +0 -2
- package/dist/_shared/accordion-DvlDjk29.cjs.map +0 -1
- package/dist/_shared/action-menu-BrHF4nss.cjs +0 -2
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +0 -1
- package/dist/_shared/action-menu-Crn22LKo.js +0 -96
- package/dist/_shared/action-menu-Crn22LKo.js.map +0 -1
- package/dist/_shared/ai-artifact-BHgd3agA.js +0 -1099
- package/dist/_shared/ai-artifact-BHgd3agA.js.map +0 -1
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs +0 -3
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs.map +0 -1
- package/dist/_shared/alert-CMVVt2Br.js +0 -81
- package/dist/_shared/alert-CMVVt2Br.js.map +0 -1
- package/dist/_shared/alert-Dmhtbmpg.cjs +0 -2
- package/dist/_shared/alert-Dmhtbmpg.cjs.map +0 -1
- package/dist/_shared/auth-DZW6NkJx.cjs +0 -2
- package/dist/_shared/auth-DZW6NkJx.cjs.map +0 -1
- package/dist/_shared/auth-Dh790NI_.js +0 -643
- package/dist/_shared/auth-Dh790NI_.js.map +0 -1
- package/dist/_shared/badge-B8xGFpfM.cjs +0 -2
- package/dist/_shared/badge-B8xGFpfM.cjs.map +0 -1
- package/dist/_shared/badge-BYNwSWh5.js +0 -110
- package/dist/_shared/badge-BYNwSWh5.js.map +0 -1
- package/dist/_shared/button-BMiPFJIb.cjs +0 -2
- package/dist/_shared/button-BMiPFJIb.cjs.map +0 -1
- package/dist/_shared/button-vv59_uS_.js +0 -189
- package/dist/_shared/button-vv59_uS_.js.map +0 -1
- package/dist/_shared/buttons-CvqIMv3I.js +0 -137
- package/dist/_shared/buttons-CvqIMv3I.js.map +0 -1
- package/dist/_shared/buttons-tCkWktN3.cjs +0 -2
- package/dist/_shared/buttons-tCkWktN3.cjs.map +0 -1
- package/dist/_shared/card-radio-group-Bhe8gAbH.js +0 -150
- package/dist/_shared/card-radio-group-Bhe8gAbH.js.map +0 -1
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs +0 -2
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs.map +0 -1
- package/dist/_shared/cards-Cu6p1Brd.cjs +0 -2
- package/dist/_shared/cards-Cu6p1Brd.cjs.map +0 -1
- package/dist/_shared/cards-cQ9lL6zy.js +0 -354
- package/dist/_shared/cards-cQ9lL6zy.js.map +0 -1
- package/dist/_shared/combobox-BGYjyXeN.cjs +0 -2
- package/dist/_shared/combobox-BGYjyXeN.cjs.map +0 -1
- package/dist/_shared/combobox-DTwomOBt.js +0 -954
- package/dist/_shared/combobox-DTwomOBt.js.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-C97vL5km.js +0 -952
- package/dist/_shared/comments-C97vL5km.js.map +0 -1
- package/dist/_shared/comments-DBe6dP-d.cjs +0 -2
- package/dist/_shared/comments-DBe6dP-d.cjs.map +0 -1
- package/dist/_shared/copyable-BgFdERqs.js +0 -38
- package/dist/_shared/copyable-BgFdERqs.js.map +0 -1
- package/dist/_shared/copyable-Ce8rmE-V.cjs +0 -2
- package/dist/_shared/copyable-Ce8rmE-V.cjs.map +0 -1
- package/dist/_shared/data-display-DUWxoDKq.js +0 -1873
- package/dist/_shared/data-display-DUWxoDKq.js.map +0 -1
- package/dist/_shared/data-display-o-rbMuIA.cjs +0 -2
- package/dist/_shared/data-display-o-rbMuIA.cjs.map +0 -1
- package/dist/_shared/date-picker-Cxx9jllA.js +0 -1361
- package/dist/_shared/date-picker-Cxx9jllA.js.map +0 -1
- package/dist/_shared/date-picker-DE5A8yqN.cjs +0 -2
- package/dist/_shared/date-picker-DE5A8yqN.cjs.map +0 -1
- package/dist/_shared/date-pickers-Dex1Mfye.cjs +0 -2
- package/dist/_shared/date-pickers-Dex1Mfye.cjs.map +0 -1
- package/dist/_shared/date-pickers-m0dpDcqH.js +0 -329
- package/dist/_shared/date-pickers-m0dpDcqH.js.map +0 -1
- package/dist/_shared/display-Bro3Kufg.js +0 -986
- package/dist/_shared/display-Bro3Kufg.js.map +0 -1
- package/dist/_shared/display-CRQjSjgB.cjs +0 -2
- package/dist/_shared/display-CRQjSjgB.cjs.map +0 -1
- package/dist/_shared/forms-D-SNQmtB.cjs +0 -2
- package/dist/_shared/forms-D-SNQmtB.cjs.map +0 -1
- package/dist/_shared/forms-p7cfzJwf.js +0 -3533
- package/dist/_shared/forms-p7cfzJwf.js.map +0 -1
- package/dist/_shared/header-8C71wVRp.js +0 -447
- package/dist/_shared/header-8C71wVRp.js.map +0 -1
- package/dist/_shared/header-CYgFCnjZ.cjs +0 -2
- package/dist/_shared/header-CYgFCnjZ.cjs.map +0 -1
- package/dist/_shared/hooks-Ci1LFWRG.js +0 -95
- package/dist/_shared/hooks-Ci1LFWRG.js.map +0 -1
- package/dist/_shared/hooks-Cjl7LJpn.cjs +0 -2
- package/dist/_shared/hooks-Cjl7LJpn.cjs.map +0 -1
- package/dist/_shared/input-BgcP6x4C.js +0 -182
- package/dist/_shared/input-BgcP6x4C.js.map +0 -1
- package/dist/_shared/input-DV3g7Fm5.cjs +0 -2
- package/dist/_shared/input-DV3g7Fm5.cjs.map +0 -1
- package/dist/_shared/item-D7GTzvhf.js +0 -226
- package/dist/_shared/item-D7GTzvhf.js.map +0 -1
- package/dist/_shared/item-DTrnHpfm.cjs +0 -2
- package/dist/_shared/item-DTrnHpfm.cjs.map +0 -1
- package/dist/_shared/layout-BExg7Vlx.js +0 -261
- package/dist/_shared/layout-BExg7Vlx.js.map +0 -1
- package/dist/_shared/layout-CKRD_goE.cjs +0 -2
- package/dist/_shared/layout-CKRD_goE.cjs.map +0 -1
- package/dist/_shared/mentions-BtGhYisA.js +0 -506
- package/dist/_shared/mentions-BtGhYisA.js.map +0 -1
- package/dist/_shared/mentions-CnVOuQJU.cjs +0 -2
- package/dist/_shared/mentions-CnVOuQJU.cjs.map +0 -1
- package/dist/_shared/money-display-BvVpRUs5.cjs +0 -2
- package/dist/_shared/money-display-BvVpRUs5.cjs.map +0 -1
- package/dist/_shared/money-display-D6Qtvyyv.js +0 -198
- package/dist/_shared/money-display-D6Qtvyyv.js.map +0 -1
- package/dist/_shared/navigation-C4dO1I82.cjs +0 -2
- package/dist/_shared/navigation-C4dO1I82.cjs.map +0 -1
- package/dist/_shared/navigation-Ct-LFlpY.js +0 -436
- package/dist/_shared/navigation-Ct-LFlpY.js.map +0 -1
- package/dist/_shared/overlays-ChyqXn0n.js +0 -735
- package/dist/_shared/overlays-ChyqXn0n.js.map +0 -1
- package/dist/_shared/overlays-Dn2bt3CL.cjs +0 -2
- package/dist/_shared/overlays-Dn2bt3CL.cjs.map +0 -1
- package/dist/_shared/popover-menu-17Dxn25O.js +0 -93
- package/dist/_shared/popover-menu-17Dxn25O.js.map +0 -1
- package/dist/_shared/popover-menu-DXVN0bvj.cjs +0 -2
- package/dist/_shared/popover-menu-DXVN0bvj.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-BRpcNkj1.js +0 -620
- package/dist/_shared/rich-text-editor-BRpcNkj1.js.map +0 -1
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs +0 -2
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs.map +0 -1
- package/dist/_shared/settings-CW9yzfQM.js +0 -143
- package/dist/_shared/settings-CW9yzfQM.js.map +0 -1
- package/dist/_shared/settings-cCPrw7si.cjs +0 -2
- package/dist/_shared/settings-cCPrw7si.cjs.map +0 -1
- package/dist/_shared/sidebar-Cq6J_I4l.cjs +0 -2
- package/dist/_shared/sidebar-Cq6J_I4l.cjs.map +0 -1
- package/dist/_shared/sidebar-DtF_ihE3.js +0 -548
- package/dist/_shared/sidebar-DtF_ihE3.js.map +0 -1
- package/dist/_shared/spinner-DY2de3Wt.cjs +0 -2
- package/dist/_shared/spinner-DY2de3Wt.cjs.map +0 -1
- package/dist/_shared/spinner-ZmIq_zsx.js +0 -67
- package/dist/_shared/spinner-ZmIq_zsx.js.map +0 -1
- package/dist/_shared/table-BBWc-wIw.js +0 -1377
- package/dist/_shared/table-BBWc-wIw.js.map +0 -1
- package/dist/_shared/table-DMDkdLzV.cjs +0 -2
- package/dist/_shared/table-DMDkdLzV.cjs.map +0 -1
- package/dist/_shared/textarea-C1TeJ7Vt.cjs +0 -2
- package/dist/_shared/textarea-C1TeJ7Vt.cjs.map +0 -1
- package/dist/_shared/textarea-CGRkgH5z.js +0 -118
- package/dist/_shared/textarea-CGRkgH5z.js.map +0 -1
- package/dist/_shared/typography-CzFVA1w1.js +0 -201
- package/dist/_shared/typography-CzFVA1w1.js.map +0 -1
- package/dist/_shared/typography-GtkgK9QX.cjs +0 -2
- package/dist/_shared/typography-GtkgK9QX.cjs.map +0 -1
- package/dist/_shared/ui-provider-DZWtUXf2.cjs +0 -2
- package/dist/_shared/ui-provider-DZWtUXf2.cjs.map +0 -1
- package/dist/_shared/ui-provider-Dj6OSOZi.js +0 -81
- package/dist/_shared/ui-provider-Dj6OSOZi.js.map +0 -1
- package/dist/_shared/workspace-BF5BtDhD.cjs +0 -2
- package/dist/_shared/workspace-BF5BtDhD.cjs.map +0 -1
- package/dist/_shared/workspace-IvsczduM.js +0 -357
- package/dist/_shared/workspace-IvsczduM.js.map +0 -1
- package/dist/showcase/assets/AreaChart-CsIm9z7Y.js +0 -6
- package/dist/showcase/assets/CompositeItem-D9zznn01.js +0 -1
- package/dist/showcase/assets/CompositeRoot-CvxtZ81W.js +0 -1
- package/dist/showcase/assets/DialogTrigger-C-osQGHu.js +0 -1
- package/dist/showcase/assets/LabelableContext-_EE-HBND.js +0 -1
- package/dist/showcase/assets/PreviewLayout-KdEsSl3b.js +0 -1
- package/dist/showcase/assets/RadioGroup-4jOeNTc1.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-CXTdUcaE.js +0 -1
- package/dist/showcase/assets/Separator-CHVXO6nj.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-CM5tQGGX.js +0 -1
- package/dist/showcase/assets/accordion-CA84bxb2.js +0 -171
- package/dist/showcase/assets/accordion-variants-DqWzAOO3.js +0 -1
- package/dist/showcase/assets/action-menu-D0q5z-Kq.js +0 -1
- package/dist/showcase/assets/actions-DnqxABJU.js +0 -310
- package/dist/showcase/assets/activities-BC9hoMy9.js +0 -500
- package/dist/showcase/assets/activities-feed-card-D6wGLpbH.js +0 -1
- package/dist/showcase/assets/admin-CMnMsugJ.js +0 -140
- package/dist/showcase/assets/ai-B6_sE9Zg.js +0 -207
- package/dist/showcase/assets/ai-artifact-BVvbsSJB.js +0 -2
- package/dist/showcase/assets/ai-chat-lcXeqJrA.js +0 -568
- package/dist/showcase/assets/ai-elements-B32o_UjE.js +0 -387
- package/dist/showcase/assets/ai-tool-call-BLrAioKz.js +0 -1
- package/dist/showcase/assets/alert-B1p1Grce.js +0 -62
- package/dist/showcase/assets/alert-BBiffYsY.js +0 -93
- package/dist/showcase/assets/alert-vH0nJ8J9.js +0 -1
- package/dist/showcase/assets/api-key-list-BrSc6V1y.js +0 -1
- package/dist/showcase/assets/api-key-list-CoKe_PaL.js +0 -73
- package/dist/showcase/assets/app-sidebar-R93lRPB4.js +0 -1
- package/dist/showcase/assets/arrow-down-xxVIADbv.js +0 -1
- package/dist/showcase/assets/arrow-left-DxnlnN8R.js +0 -1
- package/dist/showcase/assets/arrow-right-S5k93UPM.js +0 -1
- package/dist/showcase/assets/arrow-up-OlEVG7a-.js +0 -1
- package/dist/showcase/assets/arrow-up-right-j55bbl4b.js +0 -1
- package/dist/showcase/assets/avatar-BbiXvZq7.js +0 -67
- package/dist/showcase/assets/avatar-Bwpw-hQo.js +0 -57
- package/dist/showcase/assets/avatar-D0DKQ1lK.js +0 -1
- package/dist/showcase/assets/avatar-WyjSBov9.js +0 -1
- package/dist/showcase/assets/badge-BzLZQO3L.js +0 -31
- package/dist/showcase/assets/badge-check-TFWm1m3F.js +0 -1
- package/dist/showcase/assets/bell-CmuQlO_k.js +0 -1
- package/dist/showcase/assets/bot-Bu518AJB.js +0 -1
- package/dist/showcase/assets/box-D-wrSdOJ.js +0 -1
- package/dist/showcase/assets/braces-CgCdmdAl.js +0 -1
- package/dist/showcase/assets/brain-DkHdwgHO.js +0 -1
- package/dist/showcase/assets/brand-CpovnVoG.js +0 -36
- package/dist/showcase/assets/breadcrumb-BUc0WC5d.js +0 -1
- package/dist/showcase/assets/breadcrumb-Do_Dazt1.js +0 -52
- package/dist/showcase/assets/breadcrumbs-Bj21o2zm.js +0 -1
- package/dist/showcase/assets/briefcase-CQBh2kok.js +0 -1
- package/dist/showcase/assets/building-2-D07Ej6iR.js +0 -1
- package/dist/showcase/assets/button-CCZ4KEGQ.js +0 -44
- package/dist/showcase/assets/button-group-BTjeHOvz.js +0 -1
- package/dist/showcase/assets/buttons-D45Wwiwn.js +0 -272
- package/dist/showcase/assets/calendar-BsEWULmZ.js +0 -16
- package/dist/showcase/assets/calendar-CkPefzIO.js +0 -1
- package/dist/showcase/assets/calendar-DZlT3qTq.js +0 -1
- package/dist/showcase/assets/calendar-days-C9awTMru.js +0 -1
- package/dist/showcase/assets/camera-CQhMw-RD.js +0 -1
- package/dist/showcase/assets/card-CKrz_UHt.js +0 -1
- package/dist/showcase/assets/card-DZgZgjXO.js +0 -188
- package/dist/showcase/assets/card-primitives-CpkDLK3Y.js +0 -1
- package/dist/showcase/assets/card-radio-group-BjXwMI4v.js +0 -1
- package/dist/showcase/assets/cards-Cd24XZ9l.js +0 -353
- package/dist/showcase/assets/carousel-Doon04yO.js +0 -449
- package/dist/showcase/assets/cell-renderers-CTay3duH.js +0 -1
- package/dist/showcase/assets/chart-CkvbdpWw.js +0 -358
- package/dist/showcase/assets/chart-column-Dz57kUMl.js +0 -1
- package/dist/showcase/assets/checkbox-L-L4-wvA.js +0 -1
- package/dist/showcase/assets/checkbox-sP254E7e.js +0 -1
- package/dist/showcase/assets/chevron-down-CLc_a2Ua.js +0 -1
- package/dist/showcase/assets/chevron-left-CMRIGOJt.js +0 -1
- package/dist/showcase/assets/chevron-up-BDw6LdDZ.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-C519RKki.js +0 -1
- package/dist/showcase/assets/circle-B_tOHWTY.js +0 -1
- package/dist/showcase/assets/circle-alert-B56AFULT.js +0 -1
- package/dist/showcase/assets/circle-check-B4XZj4Ty.js +0 -1
- package/dist/showcase/assets/circle-check-big-C0iEkwPB.js +0 -1
- package/dist/showcase/assets/circle-dot-DPdJZkc6.js +0 -1
- package/dist/showcase/assets/circle-question-mark-LTetdrq6.js +0 -1
- package/dist/showcase/assets/circle-x-B4FwM-sI.js +0 -1
- package/dist/showcase/assets/clock-3-DZhjBuw8.js +0 -1
- package/dist/showcase/assets/clock-B9Fna2Q3.js +0 -1
- package/dist/showcase/assets/code-xml-B6Xb_vIg.js +0 -1
- package/dist/showcase/assets/collapsible-Bf7Oo37i.js +0 -27
- package/dist/showcase/assets/collapsible-BfLeooy8.js +0 -1
- package/dist/showcase/assets/combobox-4NYfJznY.js +0 -685
- package/dist/showcase/assets/command-7jRRucHf.js +0 -1
- package/dist/showcase/assets/command-D56CjgNc.js +0 -1
- package/dist/showcase/assets/comment-composer-BWeXIZfK.js +0 -1
- package/dist/showcase/assets/comment-item-ChkiK-ut.js +0 -1
- package/dist/showcase/assets/comments-YnEop7v3.js +0 -357
- package/dist/showcase/assets/commerce-7XxWJChs.js +0 -267
- package/dist/showcase/assets/composite-CHcyYCsk.js +0 -1
- package/dist/showcase/assets/contact-card-BXw-VuBm.js +0 -65
- package/dist/showcase/assets/content-container-C4uopCBg.js +0 -1
- package/dist/showcase/assets/copyable-CjVYEJ0P.js +0 -1
- package/dist/showcase/assets/copyable-Cz2jW7yL.js +0 -96
- package/dist/showcase/assets/course-card-CvK3dw9W.js +0 -77
- package/dist/showcase/assets/cpu-Vk5WgcC1.js +0 -1
- package/dist/showcase/assets/credit-card-CaigqZGk.js +0 -1
- package/dist/showcase/assets/css-variables-hLaBmeMt.js +0 -1190
- package/dist/showcase/assets/currency-yO1giHp1.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BPQnyk9a.js +0 -90
- package/dist/showcase/assets/data-view-CjjXn5VT.js +0 -124
- package/dist/showcase/assets/data-view-DF0n8uva.js +0 -4
- package/dist/showcase/assets/database-ChUBDe8E.js +0 -1
- package/dist/showcase/assets/date-block-DUg1Oyn4.js +0 -1
- package/dist/showcase/assets/date-picker-CoQPZa34.js +0 -1
- package/dist/showcase/assets/date-pickers-B-IUbyXw.js +0 -73
- package/dist/showcase/assets/dense-info-zVQSWqOU.js +0 -106
- package/dist/showcase/assets/design-system-consistency-Bnz_h3-6.js +0 -264
- package/dist/showcase/assets/dialog-BtilpgxJ.js +0 -1
- package/dist/showcase/assets/dialog-kf9WwmTC.js +0 -1
- package/dist/showcase/assets/display-utilities-BBzG5EPX.js +0 -267
- package/dist/showcase/assets/dist-9gFIhkw-.js +0 -45
- package/dist/showcase/assets/dist-CGpz_7Mu.js +0 -1
- package/dist/showcase/assets/dollar-sign-CWbYI3Pd.js +0 -1
- package/dist/showcase/assets/download-Bt_z-poH.js +0 -1
- package/dist/showcase/assets/dropdown-menu-C1_SYTHm.js +0 -1
- package/dist/showcase/assets/dropzone-D5BGVTnl.js +0 -1
- package/dist/showcase/assets/earth-sP5mIgG3.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-BD7kMOzj.js +0 -1
- package/dist/showcase/assets/ellipsis-yqIF49C8.js +0 -1
- package/dist/showcase/assets/empty-DIrJgtrh.js +0 -1
- package/dist/showcase/assets/empty-item-GgnZk2yf.js +0 -49
- package/dist/showcase/assets/empty-state-ZGKkJ6sf.js +0 -190
- package/dist/showcase/assets/empty-state-n_Fspzt-.js +0 -1
- package/dist/showcase/assets/enhanced-activities-CCw_hZnZ.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-bBF-ADDs.js +0 -1
- package/dist/showcase/assets/esm-CyFPn936.js +0 -2
- package/dist/showcase/assets/event-calendar-Czo7yBDx.js +0 -138
- package/dist/showcase/assets/event-log-DJ3B3nMV.js +0 -330
- package/dist/showcase/assets/example-eGsLGIcp.js +0 -1
- package/dist/showcase/assets/external-link-DPOQEVWH.js +0 -1
- package/dist/showcase/assets/eye-CN92NVL0.js +0 -1
- package/dist/showcase/assets/feature-announcement-BXkSW17e.js +0 -34
- package/dist/showcase/assets/file-CFHePlKG.js +0 -1
- package/dist/showcase/assets/file-text--WYCYQMw.js +0 -1
- package/dist/showcase/assets/filter-layout-B35gGmcO.js +0 -1
- package/dist/showcase/assets/filters-GDW_oiT3.js +0 -139
- package/dist/showcase/assets/flag-XsT9XFPr.js +0 -1
- package/dist/showcase/assets/folder-open-RtsQ8vxf.js +0 -1
- package/dist/showcase/assets/form-field-Bijd1Gex.js +0 -1
- package/dist/showcase/assets/format-Ckw4OM66.js +0 -1
- package/dist/showcase/assets/forms-00bU7LN8.js +0 -915
- package/dist/showcase/assets/funnel-qu25WlXD.js +0 -1
- package/dist/showcase/assets/generic-Bf82Wiol.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-BR4_m2HH.js +0 -1
- package/dist/showcase/assets/gift-D4GQoqzV.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CMutwaAY.js +0 -85
- package/dist/showcase/assets/git-branch-B2QG2zRg.js +0 -1
- package/dist/showcase/assets/global-search-CRAB9TSF.js +0 -1
- package/dist/showcase/assets/global-search-DY0cKfhY.js +0 -215
- package/dist/showcase/assets/globe-BxZW28rG.js +0 -1
- package/dist/showcase/assets/gradient-card-CQGnXG8r.js +0 -58
- package/dist/showcase/assets/hash-CsRtIoKK.js +0 -1
- package/dist/showcase/assets/header-DzYOgZLP.js +0 -1
- package/dist/showcase/assets/header-notifications-D_CJPbvs.js +0 -1
- package/dist/showcase/assets/heart-B2YsYprq.js +0 -1
- package/dist/showcase/assets/hooks-BhUMA4Tb.js +0 -220
- package/dist/showcase/assets/house-HeRFNhI0.js +0 -1
- package/dist/showcase/assets/icon-badge-CpDkc-S0.js +0 -37
- package/dist/showcase/assets/icon-badge-eNEGgpAV.js +0 -1
- package/dist/showcase/assets/image-T88JyDag.js +0 -1
- package/dist/showcase/assets/inbox-DLrLLnTR.js +0 -1
- package/dist/showcase/assets/index-DDZl6kOS.js +0 -10
- package/dist/showcase/assets/index-nOkXemgw.css +0 -2
- package/dist/showcase/assets/inertValue-BajuuRy4.js +0 -1
- package/dist/showcase/assets/info-CNYfw2Yz.js +0 -1
- package/dist/showcase/assets/inline-stat-BN6yhDR5.js +0 -15
- package/dist/showcase/assets/inline-stat-Bqw3lVfk.js +0 -1
- package/dist/showcase/assets/input-C-9K6F0N.js +0 -1
- package/dist/showcase/assets/input-DaZzfkZV.js +0 -1
- package/dist/showcase/assets/input-group-DE-Xdhv4.js +0 -1
- package/dist/showcase/assets/input-group-DIQZnytn.js +0 -47
- package/dist/showcase/assets/inputs-Cl_JgSR4.js +0 -155
- package/dist/showcase/assets/installation-DdhD4Dkq.js +0 -134
- package/dist/showcase/assets/invoice-header-DOs2ACqQ.js +0 -36
- package/dist/showcase/assets/invoice-items-1EuA62mF.js +0 -36
- package/dist/showcase/assets/invoice-mini-vCrYEtWp.js +0 -14
- package/dist/showcase/assets/invoice-table--mDTs1Iz.js +0 -30
- package/dist/showcase/assets/isSameDay-BNB1yam4.js +0 -1
- package/dist/showcase/assets/isToday-BugOpGJC.js +0 -1
- package/dist/showcase/assets/italic-Ck4UD2ZT.js +0 -1
- package/dist/showcase/assets/item-BcesxqFS.js +0 -139
- package/dist/showcase/assets/item-BgPlwUMv.js +0 -1
- package/dist/showcase/assets/item-CB9k_rmo.js +0 -1
- package/dist/showcase/assets/kanban-cPuSVqWY.js +0 -188
- package/dist/showcase/assets/key-round-BmYjd5dk.js +0 -1
- package/dist/showcase/assets/label-BTIBJBqN.js +0 -1
- package/dist/showcase/assets/languages-he6FNXRs.js +0 -1
- package/dist/showcase/assets/layers-B_48DtOz.js +0 -1
- package/dist/showcase/assets/layout-app-shell-zwLv6jTP.js +0 -608
- package/dist/showcase/assets/layout-auth-2Zv5lr52.js +0 -790
- package/dist/showcase/assets/layout-containers-Dzw3xlKn.js +0 -101
- package/dist/showcase/assets/layout-header-TJ-WVmG3.js +0 -203
- package/dist/showcase/assets/layout-page-CIVQCKXK.js +0 -314
- package/dist/showcase/assets/layout-primitives-i_O81fzT.js +0 -34
- package/dist/showcase/assets/layout-sidebar-eH_pwBq_.js +0 -224
- package/dist/showcase/assets/layout-users-CWSaFBLj.js +0 -117
- package/dist/showcase/assets/layout-workspace-w3oe32GE.js +0 -191
- package/dist/showcase/assets/lib-CoS0xjP8.js +0 -1
- package/dist/showcase/assets/list-checks-DecRPpK3.js +0 -1
- package/dist/showcase/assets/lock-D9f8uXol.js +0 -1
- package/dist/showcase/assets/lock-keyhole-C20eixH6.js +0 -1
- package/dist/showcase/assets/mail-CVgP8Qlo.js +0 -1
- package/dist/showcase/assets/mail-check-mplTKcSH.js +0 -1
- package/dist/showcase/assets/map-B6OGeOup.js +0 -124
- package/dist/showcase/assets/map-pin-BZXSwrzT.js +0 -1
- package/dist/showcase/assets/media-library-DSlVIM1Q.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CNAEeXgy.js +0 -1
- package/dist/showcase/assets/mentions-Cb3g4hDN.js +0 -138
- package/dist/showcase/assets/menus-CE0Hlj8N.js +0 -171
- package/dist/showcase/assets/message-square-HliU8vbW.js +0 -1
- package/dist/showcase/assets/metadata-list-CJ5v5Bvc.js +0 -286
- package/dist/showcase/assets/metadata-list-DY92-pw2.js +0 -1
- package/dist/showcase/assets/metric-DxMTjIvU.js +0 -1
- package/dist/showcase/assets/metric-bar-cW9nWCRl.js +0 -1
- package/dist/showcase/assets/metric-grid-CvfO52X1.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-BmjQdRus.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-BZqB5d1y.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-jAhlrQCI.js +0 -50
- package/dist/showcase/assets/metrics-comparison-DURZ6qEL.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-HhJDBguh.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-Dq5k-P6F.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-DXzhwa6z.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-C6O5b0wP.js +0 -42
- package/dist/showcase/assets/metrics-overview-Hv2mseb3.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-CW42vBCS.js +0 -54
- package/dist/showcase/assets/minus-BW62vCxf.js +0 -1
- package/dist/showcase/assets/money-display-CAdGk5Lr.js +0 -1
- package/dist/showcase/assets/month-year-picker-dHuvgz1E.js +0 -1
- package/dist/showcase/assets/navigation-C4uSLvbZ.js +0 -90
- package/dist/showcase/assets/navigation-SjsZrtIc.js +0 -231
- package/dist/showcase/assets/navigation-extras-CMVNVskk.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-C1jwRdMU.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-BYFLpl5w.js +0 -1
- package/dist/showcase/assets/overlays-0Y8MAz39.js +0 -159
- package/dist/showcase/assets/overlays-ClOnjahL.js +0 -408
- package/dist/showcase/assets/overview-B5ztGmTp.js +0 -184
- package/dist/showcase/assets/package-check-MeSw6bS4.js +0 -1
- package/dist/showcase/assets/package-vYJ0q0QM.js +0 -1
- package/dist/showcase/assets/page-4lMKtBQ7.js +0 -1
- package/dist/showcase/assets/page-action-button-C5-TGSzy.js +0 -1
- package/dist/showcase/assets/page-header-C_-KYryO.js +0 -1
- package/dist/showcase/assets/pagination-D3L3Iwus.js +0 -1
- package/dist/showcase/assets/pagination-dZXPxwHx.js +0 -42
- package/dist/showcase/assets/paperclip-BZhdPOw8.js +0 -1
- package/dist/showcase/assets/password-input-CDSMtGxt.js +0 -1
- package/dist/showcase/assets/pencil-DiYr3CZ9.js +0 -1
- package/dist/showcase/assets/phone-Dm5qzlG8.js +0 -1
- package/dist/showcase/assets/plus-pfGaA3St.js +0 -1
- package/dist/showcase/assets/popover-CjVWDO7C.js +0 -1
- package/dist/showcase/assets/popover-menu-JcZyGV3Y.js +0 -1
- package/dist/showcase/assets/popover-pZ4Jbp0s.js +0 -1
- package/dist/showcase/assets/products-C62MKtAR.js +0 -423
- package/dist/showcase/assets/progress-Btw-ZUaU.js +0 -18
- package/dist/showcase/assets/progress-DpB5LL6R.js +0 -1
- package/dist/showcase/assets/props-table-Bjc9IHmp.js +0 -1
- package/dist/showcase/assets/props.generated-cO7HmIpY.json +0 -41578
- package/dist/showcase/assets/quote-DcxVd1fj.js +0 -1
- package/dist/showcase/assets/receipt-BHns-S5Q.js +0 -1
- package/dist/showcase/assets/receipt-text-L0aYasyt.js +0 -1
- package/dist/showcase/assets/refinement-guide-BBOGBJ4I.js +0 -189
- package/dist/showcase/assets/refresh-cw-z6mlm0HI.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-hsarzg5A.js +0 -1
- package/dist/showcase/assets/resource-CIn_zKZ4.js +0 -139
- package/dist/showcase/assets/resource-DxktLgEK.js +0 -1
- package/dist/showcase/assets/resource-selector-card-dkcEQ6bl.js +0 -43
- package/dist/showcase/assets/rich-text-editor-Dd-rWisw.js +0 -124
- package/dist/showcase/assets/rich-text-editor-DvJMFj48.js +0 -143
- package/dist/showcase/assets/rotate-ccw-DEz6nb5P.js +0 -1
- package/dist/showcase/assets/route-BeXaXTk8.js +0 -1
- package/dist/showcase/assets/save-EE7Tc5OT.js +0 -1
- package/dist/showcase/assets/schema-form-RK9Zpz1E.js +0 -327
- package/dist/showcase/assets/scroll-area-BejQJ0Q1.js +0 -32
- package/dist/showcase/assets/scroll-area-DS8LJ7LG.js +0 -1
- package/dist/showcase/assets/section-Cv8i4DIx.js +0 -1
- package/dist/showcase/assets/select-Cuy3YKW9.js +0 -1
- package/dist/showcase/assets/select-qFy1jm91.js +0 -1
- package/dist/showcase/assets/send-CXv0ST9u.js +0 -1
- package/dist/showcase/assets/separator-CecGyBaV.js +0 -1
- package/dist/showcase/assets/separator-CqtFQXrk.js +0 -28
- package/dist/showcase/assets/settings-2-CCeMwMOj.js +0 -1
- package/dist/showcase/assets/settings-CXjN6wTC.js +0 -1
- package/dist/showcase/assets/sheet-Csyrmkqp.js +0 -1
- package/dist/showcase/assets/shield-DR0ZfAFA.js +0 -1
- package/dist/showcase/assets/shield-alert-Bp1iFJ2q.js +0 -1
- package/dist/showcase/assets/shield-check-ClL4B_Cd.js +0 -1
- package/dist/showcase/assets/shopping-bag-DnSmbPUX.js +0 -1
- package/dist/showcase/assets/showcase-CQKt5VGi.js +0 -132
- package/dist/showcase/assets/sidebar-CXy94md1.js +0 -1
- package/dist/showcase/assets/sidebar.context-C8gkOwJ5.js +0 -1
- package/dist/showcase/assets/skeleton-B8wC5P66.js +0 -29
- package/dist/showcase/assets/skeleton-DBlCLlBC.js +0 -1
- package/dist/showcase/assets/slider-BcjkNx6W.js +0 -1
- package/dist/showcase/assets/smart-card-Cg6rtWH9.js +0 -1
- package/dist/showcase/assets/sonner-ZGBQ13wS.js +0 -22
- package/dist/showcase/assets/sortable.esm-CGFWc-Cn.js +0 -5
- package/dist/showcase/assets/sparkles-q1-9JZqa.js +0 -1
- package/dist/showcase/assets/spinner-CKg8QLHu.js +0 -1
- package/dist/showcase/assets/spinner-D1Ao9j9T.js +0 -49
- package/dist/showcase/assets/spinner-oahLIkgb.js +0 -30
- package/dist/showcase/assets/square-pen-DZ3bQJia.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CKPtb3Hj.js +0 -1
- package/dist/showcase/assets/star-suetD-KI.js +0 -1
- package/dist/showcase/assets/startOfDay-OjIsUeiv.js +0 -1
- package/dist/showcase/assets/styles-1mYOoC2k.js +0 -1
- package/dist/showcase/assets/suggestions-DLYaI-In.js +0 -126
- package/dist/showcase/assets/switch-CTTrJNwo.js +0 -1
- package/dist/showcase/assets/switch-ChJWWmxN.js +0 -1
- package/dist/showcase/assets/sync-DsHYydvo.js +0 -124
- package/dist/showcase/assets/table-Ck2ptin2.js +0 -686
- package/dist/showcase/assets/table-DyJ9oADQ.js +0 -1
- package/dist/showcase/assets/table-actions-COU4zHfh.js +0 -1
- package/dist/showcase/assets/tabs-Bl_RHGIw.js +0 -1
- package/dist/showcase/assets/tabs-DS-4VSkb.js +0 -19
- package/dist/showcase/assets/tags-input-BlYzb5fF.js +0 -1
- package/dist/showcase/assets/text-button-OPdNs3fb.js +0 -1
- package/dist/showcase/assets/text-link-D27gqGeg.js +0 -1
- package/dist/showcase/assets/textarea-DpC7J5F-.js +0 -1
- package/dist/showcase/assets/textarea-JtXUjxvc.js +0 -1
- package/dist/showcase/assets/timelines-DQM-B4Xo.js +0 -200
- package/dist/showcase/assets/toggle-group-CMneKREH.js +0 -1
- package/dist/showcase/assets/toggles-CAXXgjO_.js +0 -71
- package/dist/showcase/assets/toggles-group-CHRqrpoM.js +0 -32
- package/dist/showcase/assets/tooltip-CwGZAioX.js +0 -31
- package/dist/showcase/assets/trash-2-BpMb9Zbb.js +0 -1
- package/dist/showcase/assets/trending-up-B1BzitCg.js +0 -1
- package/dist/showcase/assets/truck-CDSE5-HZ.js +0 -1
- package/dist/showcase/assets/typography-BoNJ1hRZ.js +0 -223
- package/dist/showcase/assets/ui-badge-Djh6NiB2.js +0 -28
- package/dist/showcase/assets/ui-card-QC_rl_H2.js +0 -30
- package/dist/showcase/assets/ui-table-qAGsc3qN.js +0 -42
- package/dist/showcase/assets/upload-tray-DKCJgW5u.js +0 -138
- package/dist/showcase/assets/use-layout-link-BPlsZ8Ys.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-526MebAC.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-CqySZiH9.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-DWX7LbGX.js +0 -1
- package/dist/showcase/assets/useCompositeItem-DGEBUXgE.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-B2nuNlc2.js +0 -1
- package/dist/showcase/assets/useLabelableId-DY4O1lpt.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-DxwujDvt.js +0 -1
- package/dist/showcase/assets/useRender-BPoNv-Lm.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-BnOSAjfy.js +0 -1
- package/dist/showcase/assets/useValueChanged-CXmDOWxx.js +0 -1
- package/dist/showcase/assets/user-BGchdtV_.js +0 -1
- package/dist/showcase/assets/user-plus-BifI_xVA.js +0 -1
- package/dist/showcase/assets/users-Cl5yYqdg.js +0 -1
- package/dist/showcase/assets/vendor-profile-BNW4FYna.js +0 -37
- package/dist/showcase/assets/video-BtQPixYN.js +0 -1
- package/dist/showcase/assets/wrench-CRalc5fG.js +0 -1
- package/dist/showcase/assets/x-D6hUY89S.js +0 -1
- package/dist/showcase/assets/zap-v_qbqeI5.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/composed/timelines/steps-card/steps-card.tsx","../../../../src/components/composed/timelines/order-timeline/order-timeline.tsx","../../../../src/components/composed/timelines/payment-timeline/payment-timeline.tsx","../../../../src/components/composed/timelines/activity-stream/types.ts","../../../../src/components/composed/timelines/activity-stream/activity-stream.tsx","../../../../src/components/composed/timelines/shared/timeline.tsx","../../../../src/components/composed/timelines/changelog/types.ts","../../../../src/components/composed/timelines/changelog/changelog-timeline.tsx","../../../../src/components/composed/timelines/milestones/types.ts","../../../../src/components/composed/timelines/milestones/milestones-timeline.tsx"],"sourcesContent":["import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { Badge } from '@/components/base/badge/badge';\nimport { cn } from '@/lib/utils';\nimport { Check, Circle, Loader2 } from 'lucide-react';\nimport { type StepStatus, type StepsCardProps, type StepsHorizontalProps } from './types';\n\nconst statusStyles: Record<StepStatus, {\n dot: string;\n line: string;\n title: string;\n Icon: typeof Check;\n}> = {\n completed: {\n dot: 'bg-success text-success-foreground',\n line: 'bg-success',\n title: 'text-foreground',\n Icon: Check,\n },\n current: {\n dot: 'bg-primary text-primary-foreground ring-4 ring-primary/20',\n line: 'bg-border',\n title: 'text-foreground',\n Icon: Loader2,\n },\n upcoming: {\n dot: 'bg-muted text-muted-foreground',\n line: 'bg-border',\n title: 'text-muted-foreground',\n Icon: Circle,\n },\n};\n\nfunction StepIndicator({ status }: { status: StepStatus }) {\n const { dot, Icon } = statusStyles[status];\n const isAnimated = status === 'current';\n\n return (\n <div className={cn('steps-card--component', \n 'relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-full transition-all',\n dot,\n )}>\n <Icon className={cn('h-4 w-4', isAnimated && 'animate-spin')} />\n </div>\n );\n}\n\n/* ─── Vertical StepsCard (original) ────────────────────────────────────────── */\n\nexport function StepsCard({ title, description, steps, footerText, className }: StepsCardProps) {\n return (\n <SmartCard\n title={title}\n description={description}\n footerText={footerText}\n className={className}\n >\n <div className=\"relative\">\n {steps.map((step, idx) => {\n const isLast = idx === steps.length - 1;\n const { line, title: titleColor } = statusStyles[step.status];\n\n return (\n <div key={step.id} className=\"relative flex gap-4\">\n {/* Vertical line + dot */}\n <div className=\"flex flex-col items-center\">\n <StepIndicator status={step.status} />\n {!isLast && (\n <div className={cn('w-0.5 flex-1 min-h-6', line)} />\n )}\n </div>\n\n {/* Content */}\n <div className={cn('flex-1 pb-6', isLast && 'pb-0')}>\n <div className=\"flex items-center gap-2 pt-1\">\n <Text weight=\"semibold\" className={titleColor}>\n {step.title}\n </Text>\n {!!step.badge && (\n <Badge variant={step.badgeVariant ?? 'secondary'}>\n {step.badge}\n </Badge>\n )}\n </div>\n {!!step.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n {step.description}\n </Text>\n )}\n {!!step.timestamp && (\n <Text size=\"xxs\" type=\"discrete\" className=\"mt-1\">\n {step.timestamp}\n </Text>\n )}\n {!!step.content && (\n <div className=\"mt-2\">{step.content}</div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </SmartCard>\n );\n}\n\nStepsCard.displayName = 'StepsCard';\n\n/*──────────────────────────────────────────────────────────────────────────────\n * STEPS HORIZONTAL — Horizontal step bar with connecting lines\n *────────────────────────────────────────────────────────────────────────────*/\n\nfunction HorizontalDot({ status, stepNumber }: { status: StepStatus; stepNumber: number }) {\n if (status === 'completed') {\n return (\n <div className=\"relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-success text-success-foreground\">\n <Check className=\"h-4 w-4\" />\n </div>\n );\n }\n\n if (status === 'current') {\n return (\n <div className=\"relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary text-primary-foreground\">\n <Text weight=\"bold\" className=\"text-primary-foreground\">\n {stepNumber}\n </Text>\n </div>\n );\n }\n\n return (\n <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\">\n <Text weight=\"medium\" className=\"text-muted-foreground\">\n {stepNumber}\n </Text>\n </div>\n );\n}\n\nexport function StepsHorizontal({ title, description, steps, footerText, className }: StepsHorizontalProps) {\n return (\n <SmartCard\n title={title}\n description={description}\n footerText={footerText}\n className={className}\n >\n <div className=\"space-y-3 sm:hidden\">\n {steps.map((step, idx) => {\n const isLast = idx === steps.length - 1;\n const lineColor = step.status === 'completed' ? 'bg-success' : 'bg-border';\n\n return (\n <div key={step.id} className=\"flex gap-3\">\n <div className=\"flex flex-col items-center\">\n <HorizontalDot status={step.status} stepNumber={idx + 1} />\n {!isLast && <div className={cn('mt-1 w-0.5 flex-1 min-h-5', lineColor)} />}\n </div>\n <div className={cn('min-w-0 flex-1 pb-2', isLast && 'pb-0')}>\n <Text\n weight=\"semibold\"\n className={cn(\n 'leading-snug',\n step.status === 'upcoming' ? 'text-muted-foreground' : 'text-foreground',\n )}\n >\n {step.title}\n </Text>\n {!!step.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"mt-0.5 line-clamp-2\">\n {step.description}\n </Text>\n )}\n </div>\n </div>\n );\n })}\n </div>\n\n {/* Horizontal scroll wrapper — when total step width exceeds the\n card, this lets users scroll instead of clipping labels. */}\n <div className=\"-mx-1 hidden overflow-x-auto px-1 sm:block\">\n <div className=\"flex min-w-fit items-start\">\n {steps.map((step, idx) => {\n const isLast = idx === steps.length - 1;\n const lineColor = step.status === 'completed' ? 'bg-success' : 'bg-border';\n\n return (\n <div key={step.id} className=\"flex min-w-28 flex-1 items-start\">\n <div className=\"flex w-full flex-col items-center\">\n <div className=\"flex w-full items-center\">\n {idx > 0 && (\n <div className={cn(\n 'h-0.5 flex-1',\n steps[idx - 1].status === 'completed' ? 'bg-success' : 'bg-border',\n )} />\n )}\n {idx === 0 && <div className=\"flex-1\" />}\n\n <HorizontalDot status={step.status} stepNumber={idx + 1} />\n\n {!isLast && (\n <div className={cn('h-0.5 flex-1', lineColor)} />\n )}\n {!!isLast && <div className=\"flex-1\" />}\n </div>\n\n {/* Labels below dot — clamped to 2 lines so long step\n names break gracefully instead of pushing the\n row taller. */}\n <div className=\"mt-2 flex w-full flex-col items-center px-1 text-center\">\n <Text\n size=\"xs\"\n weight=\"semibold\"\n className={cn(\n 'leading-snug line-clamp-2',\n step.status === 'upcoming' ? 'text-muted-foreground' : 'text-foreground',\n )}\n >\n {step.title}\n </Text>\n {!!step.description && (\n <Text size=\"xxs\" type=\"secondary\" className=\"mt-0.5 leading-snug line-clamp-2\">\n {step.description}\n </Text>\n )}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </SmartCard>\n );\n}\n\nStepsHorizontal.displayName = 'StepsHorizontal';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\nimport { type OrderTimelineEvent, type OrderTimelineCardProps } from './types';\n\nconst timelineStatusDot: Record<OrderTimelineEvent['status'], string> = {\n completed: 'bg-success',\n current: 'bg-primary ring-3 ring-primary/20',\n pending: 'bg-muted',\n};\n\nexport function OrderTimelineCard({ title, description, events, footerText, className }: OrderTimelineCardProps) {\n return (\n <SmartCard title={title} description={description} footerText={footerText} className={cn('order-timeline--component', className)}>\n <div className=\"relative space-y-0\">\n {events.map((event, index) => {\n const isLast = index === events.length - 1;\n\n return (\n <div key={event.id} className=\"relative flex gap-3 pb-4 last:pb-0\">\n {/* Connector line */}\n {!isLast && (\n <div className=\"absolute bottom-0 left-[5px] top-[14px] w-px bg-border\" />\n )}\n\n {/* Dot */}\n <div className=\"relative z-10 mt-[5px] flex-shrink-0\">\n <div className={cn('size-3 rounded-full', timelineStatusDot[event.status])} />\n </div>\n\n {/* Content */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-baseline justify-between gap-2\">\n <Text weight=\"medium\" className=\"truncate\">\n {event.title}\n </Text>\n <Text size=\"xxs\" type=\"secondary\" className=\"flex-shrink-0 font-mono tabular-nums\">\n {event.timestamp}\n </Text>\n </div>\n {!!event.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n {event.description}\n </Text>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </SmartCard>\n );\n}\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { PaymentTimelineCardProps } from './types';\n\nexport function PaymentTimelineCard({ events, className }: PaymentTimelineCardProps) {\n return (\n <SmartCard title=\"Payment Timeline\" className={cn('payment-timeline--component', className)}>\n <div className=\"mt-5 space-y-0\">\n {events.map((evt, i) => {\n const Icon = evt.icon;\n return (\n <div key={evt.label} className=\"flex gap-4\">\n <div className=\"flex flex-col items-center\">\n <div\n className={cn(\n 'flex size-8 items-center justify-center rounded-full',\n evt.done ? 'bg-success/20' : 'bg-muted',\n )}\n >\n <Icon className={cn('size-3.5', evt.done ? 'text-success' : 'text-muted-foreground')} />\n </div>\n {i < events.length - 1 && (\n <div className={cn('mt-1 h-8 w-px', evt.done ? 'bg-success/30' : 'bg-border')} />\n )}\n </div>\n <div className=\"pb-6\">\n <Text weight=\"medium\">\n {evt.label}\n </Text>\n <Text size=\"xs\" type=\"secondary\">\n {evt.date}\n </Text>\n {!!evt.amount && (\n <Text size=\"xs\" weight=\"medium\" className=\"mt-0.5 tabular-nums text-success\">\n {evt.amount}\n </Text>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </SmartCard>\n );\n}\n","import type { LucideIcon } from 'lucide-react';\nimport type { ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport type { StringsProp } from '@/lib/strings';\n\nexport interface ActivityStreamItem {\n\tid: string;\n\ticon?: LucideIcon;\n\ticonVariant?: ComposedBadgeVariant;\n\tactor?: string;\n\taction: string;\n\ttarget?: string;\n\ttimestamp: string;\n\tmetadata?: { label: string; value: string }[];\n}\n\nexport interface ActivityStreamStrings {\n\ttitle: string;\n\tempty: string;\n}\n\nexport const defaultActivityStreamStrings: ActivityStreamStrings = {\n\ttitle: 'Activity',\n\tempty: 'No activity yet',\n};\n\nexport interface ActivityStreamCardProps {\n\titems: ActivityStreamItem[];\n\tclassName?: string;\n\tstrings?: StringsProp<ActivityStreamStrings>;\n}\n","/**\n * ActivityStreamCard — chronological list of icon + actor + action + target items\n * with optional inline metadata. Designed for audit logs / \"what happened\" feeds.\n */\nimport { Activity, Circle } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultActivityStreamStrings,\n\ttype ActivityStreamCardProps,\n} from './types';\n\nconst VARIANT_CLASSES: Record<string, string> = {\n\tprimary: 'bg-primary/10 text-primary',\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tsuccess: 'bg-success/15 text-success',\n\tinfo: 'bg-info/15 text-info',\n\twarning: 'bg-warning/30 text-warning-foreground',\n\terror: 'bg-destructive/15 text-destructive',\n};\n\nexport function ActivityStreamCard({ items, className, strings: stringsProp }: ActivityStreamCardProps) {\n\tconst strings = useStrings(defaultActivityStreamStrings, stringsProp);\n\n\tif (items.length === 0) {\n\t\treturn (\n\t\t\t<SmartCard icon={<Activity className=\"size-4\" />} title={strings.title} className={cn('activity-stream--component', className)}>\n\t\t\t\t<Text type=\"secondary\" align=\"center\" className=\"py-6\">{strings.empty}</Text>\n\t\t\t</SmartCard>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SmartCard icon={<Activity className=\"size-4\" />} title={strings.title} className={className}>\n\t\t\t<ul className=\"space-y-3\">\n\t\t\t\t{items.map((it, idx) => {\n\t\t\t\t\tconst Icon = it.icon ?? Circle;\n\t\t\t\t\tconst isLast = idx === items.length - 1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={it.id} className=\"relative flex gap-3\">\n\t\t\t\t\t\t\t<div className=\"relative flex flex-col items-center\">\n\t\t\t\t\t\t\t\t<div className={cn('flex size-7 items-center justify-center rounded-full', VARIANT_CLASSES[it.iconVariant ?? 'primary'])}>\n\t\t\t\t\t\t\t\t\t<Icon className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{!isLast && <div className=\"mt-1 w-px flex-1 bg-border\" />}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"min-w-0 flex-1 pb-3\">\n\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap items-baseline gap-x-1.5\">\n\t\t\t\t\t\t\t\t\t{!!it.actor && <Text tag=\"span\" weight=\"semibold\">{it.actor}</Text>}\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\">{it.action}</Text>\n\t\t\t\t\t\t\t\t\t{!!it.target && <Text tag=\"span\" weight=\"medium\">{it.target}</Text>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{!!it.metadata && it.metadata.length > 0 && (\n\t\t\t\t\t\t\t\t\t<div className=\"mt-1 flex flex-wrap gap-x-3 gap-y-0.5\">\n\t\t\t\t\t\t\t\t\t\t{it.metadata.map((m) => (\n\t\t\t\t\t\t\t\t\t\t\t<Text key={m.label} size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"discrete\">{m.label}: </Text>\n\t\t\t\t\t\t\t\t\t\t\t\t{m.value}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Text size=\"xxs\" type=\"discrete\" className=\"mt-0.5 tabular-nums\">{it.timestamp}</Text>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</SmartCard>\n\t);\n}\n\nActivityStreamCard.displayName = 'ActivityStreamCard';\n","/**\n * Timeline — shared base primitive for the composed timeline family.\n *\n * Renders a vertical, dot-and-line list of events. Each item supports an\n * icon (Lucide component), a status that maps to dot tone, a title row, an\n * optional description block, an optional timestamp, and free-form content\n * via `children`. Use this primitive directly for new timeline variants\n * instead of reinventing the dot/line geometry — see `ChangeLogTimeline`,\n * `MilestonesTimeline`, and the existing OrderTimeline / PaymentTimeline /\n * ActivityStream consumers for examples.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport type TimelineStatus =\n\t| 'completed'\n\t| 'current'\n\t| 'pending'\n\t| 'success'\n\t| 'warning'\n\t| 'error'\n\t| 'neutral';\n\nexport type TimelineDotSize = 'sm' | 'base' | 'lg';\n\nexport interface TimelineItem {\n\tid: string;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\ttimestamp?: ReactNode;\n\ticon?: LucideIcon;\n\tstatus?: TimelineStatus;\n\tchildren?: ReactNode;\n}\n\nexport interface TimelineProps {\n\titems: TimelineItem[];\n\tdotSize?: TimelineDotSize;\n\tclassName?: string;\n}\n\nconst DOT_PX: Record<TimelineDotSize, string> = {\n\tsm: 'size-2.5',\n\tbase: 'size-3.5',\n\tlg: 'size-5',\n};\n\nconst ICON_PX: Record<TimelineDotSize, string> = {\n\tsm: 'size-2',\n\tbase: 'size-2.5',\n\tlg: 'size-3',\n};\n\nconst STATUS_TONE: Record<TimelineStatus, { bg: string; text: string; ring: string; line: string }> = {\n\tcompleted: { bg: 'bg-success', text: 'text-success-foreground', ring: 'ring-success/20', line: 'bg-success/40' },\n\tcurrent: { bg: 'bg-primary', text: 'text-primary-foreground', ring: 'ring-primary/30', line: 'bg-primary/40' },\n\tpending: { bg: 'bg-muted', text: 'text-muted-foreground', ring: 'ring-border', line: 'bg-border' },\n\tsuccess: { bg: 'bg-success', text: 'text-success-foreground', ring: 'ring-success/20', line: 'bg-success/40' },\n\twarning: { bg: 'bg-warning', text: 'text-warning-foreground', ring: 'ring-warning/30', line: 'bg-warning/40' },\n\terror: { bg: 'bg-destructive', text: 'text-destructive-foreground', ring: 'ring-destructive/30', line: 'bg-destructive/40' },\n\tneutral: { bg: 'bg-card', text: 'text-foreground', ring: 'ring-border', line: 'bg-border' },\n};\n\nexport function Timeline({ items, dotSize = 'base', className }: TimelineProps) {\n\treturn (\n\t\t<ol className={cn('timeline--component', 'relative space-y-4', className)}>\n\t\t\t{items.map((item, i) => {\n\t\t\t\tconst status = item.status ?? 'neutral';\n\t\t\t\tconst tone = STATUS_TONE[status];\n\t\t\t\tconst Icon = item.icon;\n\t\t\t\tconst isLast = i === items.length - 1;\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={item.id} className=\"relative flex gap-3\">\n\t\t\t\t\t\t{/* Connector line — fills available space below dot until last */}\n\t\t\t\t\t\t{!isLast && (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'absolute left-[7px] top-4 bottom-[-1rem] w-px',\n\t\t\t\t\t\t\t\t\ttone.line,\n\t\t\t\t\t\t\t\t\tdotSize === 'lg' && 'left-[10px]',\n\t\t\t\t\t\t\t\t\tdotSize === 'sm' && 'left-[5px]',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div className=\"relative z-[1] mt-0.5 flex shrink-0 items-start\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'inline-flex items-center justify-center rounded-full ring-2',\n\t\t\t\t\t\t\t\t\ttone.bg,\n\t\t\t\t\t\t\t\t\ttone.text,\n\t\t\t\t\t\t\t\t\ttone.ring,\n\t\t\t\t\t\t\t\t\tDOT_PX[dotSize],\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{!!Icon && <Icon className={ICON_PX[dotSize]} />}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"min-w-0 flex-1 pb-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-baseline justify-between gap-2\">\n\t\t\t\t\t\t\t\t<Text weight=\"medium\" className=\"leading-tight\">\n\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t{!!item.timestamp && (\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{item.timestamp}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{!!item.description && (\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!item.children && <div className=\"mt-2\">{item.children}</div>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ol>\n\t);\n}\n\nTimeline.displayName = 'Timeline';\n","import type { ReactNode } from 'react';\nimport type { StringsProp } from '@/lib/strings';\n\nexport type ChangelogEntryKind = 'added' | 'removed' | 'modified' | 'fixed';\n\nexport interface ChangelogEntry {\n\tid: string;\n\tkind: ChangelogEntryKind;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tversion?: string;\n\ttimestamp?: string;\n\tauthor?: string;\n}\n\nexport interface ChangelogTimelineStrings {\n\ttitle: string;\n\tadded: string;\n\tremoved: string;\n\tmodified: string;\n\tfixed: string;\n}\n\nexport const defaultChangelogTimelineStrings: ChangelogTimelineStrings = {\n\ttitle: 'Changelog',\n\tadded: 'Added',\n\tremoved: 'Removed',\n\tmodified: 'Modified',\n\tfixed: 'Fixed',\n};\n\nexport interface ChangelogTimelineCardProps {\n\tentries: ChangelogEntry[];\n\tclassName?: string;\n\tstrings?: StringsProp<ChangelogTimelineStrings>;\n}\n","/**\n * ChangelogTimelineCard — code/release changelog rendered through the shared\n * `Timeline` primitive. Each entry maps a semantic kind (added / removed /\n * modified / fixed) to a colour-coded chip (green / red / amber / blue) plus\n * an optional version label and timestamp. Strings overridable for i18n.\n */\nimport { GitCommit, Minus, Plus, Wrench } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\n\nimport {\n\tTimeline,\n\ttype TimelineItem,\n\ttype TimelineStatus,\n} from '../shared';\nimport {\n\tdefaultChangelogTimelineStrings,\n\ttype ChangelogEntry,\n\ttype ChangelogEntryKind,\n\ttype ChangelogTimelineCardProps,\n} from './types';\n\nimport { cn } from '@/lib/utils';\nconst KIND_TO_STATUS: Record<ChangelogEntryKind, TimelineStatus> = {\n\tadded: 'success',\n\tremoved: 'error',\n\tmodified: 'warning',\n\tfixed: 'current',\n};\n\nconst KIND_TO_BADGE: Record<\n\tChangelogEntryKind,\n\t'success' | 'error' | 'warning' | 'info'\n> = {\n\tadded: 'success',\n\tremoved: 'error',\n\tmodified: 'warning',\n\tfixed: 'info',\n};\n\nconst KIND_ICON = {\n\tadded: Plus,\n\tremoved: Minus,\n\tmodified: Wrench,\n\tfixed: GitCommit,\n} as const;\n\nexport function ChangelogTimelineCard({\n\tentries,\n\tclassName,\n\tstrings: stringsProp,\n}: ChangelogTimelineCardProps) {\n\tconst strings = useStrings(defaultChangelogTimelineStrings, stringsProp);\n\tconst labelByKind: Record<ChangelogEntryKind, string> = {\n\t\tadded: strings.added,\n\t\tremoved: strings.removed,\n\t\tmodified: strings.modified,\n\t\tfixed: strings.fixed,\n\t};\n\n\tconst items: TimelineItem[] = entries.map((entry: ChangelogEntry) => ({\n\t\tid: entry.id,\n\t\ttitle: (\n\t\t\t<span className=\"inline-flex flex-wrap items-center gap-1.5\">\n\t\t\t\t<Badge variant={KIND_TO_BADGE[entry.kind]}>\n\t\t\t\t\t{labelByKind[entry.kind]}\n\t\t\t\t</Badge>\n\t\t\t\t<span>{entry.title}</span>\n\t\t\t\t{!!entry.version && (\n\t\t\t\t\t<Text tag=\"span\" size=\"xxs\" type=\"secondary\" className=\"font-mono\">\n\t\t\t\t\t\t{entry.version}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t),\n\t\tdescription: entry.author ? (\n\t\t\t<>\n\t\t\t\t{entry.description}\n\t\t\t\t<Text tag=\"span\" size=\"xxs\" type=\"discrete\" className=\"ml-2\">\n\t\t\t\t\t— {entry.author}\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t) : (\n\t\t\tentry.description\n\t\t),\n\t\ttimestamp: entry.timestamp,\n\t\ticon: KIND_ICON[entry.kind],\n\t\tstatus: KIND_TO_STATUS[entry.kind],\n\t}));\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<GitCommit className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('changelog-timeline--component', className)}\n\t\t>\n\t\t\t<Timeline items={items} dotSize=\"base\" />\n\t\t</SmartCard>\n\t);\n}\n\nChangelogTimelineCard.displayName = 'ChangelogTimelineCard';\n","import type { ReactNode } from 'react';\nimport type { StringsProp } from '@/lib/strings';\n\nexport type MilestoneStatus = 'completed' | 'in_progress' | 'upcoming' | 'blocked';\n\nexport interface MilestoneItem {\n\tid: string;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tdueDate?: string;\n\tstatus: MilestoneStatus;\n\t/** 0–100; only used when status is `in_progress`. */\n\tprogress?: number;\n}\n\nexport interface MilestonesTimelineStrings {\n\ttitle: string;\n\tcompleted: string;\n\tin_progress: string;\n\tupcoming: string;\n\tblocked: string;\n\tdueOn: string;\n}\n\nexport const defaultMilestonesTimelineStrings: MilestonesTimelineStrings = {\n\ttitle: 'Milestones',\n\tcompleted: 'Completed',\n\tin_progress: 'In progress',\n\tupcoming: 'Upcoming',\n\tblocked: 'Blocked',\n\tdueOn: 'Due',\n};\n\nexport interface MilestonesTimelineCardProps {\n\tmilestones: MilestoneItem[];\n\tclassName?: string;\n\tstrings?: StringsProp<MilestonesTimelineStrings>;\n}\n","/**\n * MilestonesTimelineCard — project / goal milestones rendered through the\n * shared `Timeline` primitive. Each milestone has a status (completed /\n * in-progress / upcoming / blocked) that drives the dot tone, and an\n * optional `progress` percent that renders an inline progress bar when the\n * milestone is in flight. Strings overridable for i18n.\n */\nimport { Check, Circle, Clock, Flag, X } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tTimeline,\n\ttype TimelineItem,\n\ttype TimelineStatus,\n} from '../shared';\nimport {\n\tdefaultMilestonesTimelineStrings,\n\ttype MilestoneItem,\n\ttype MilestoneStatus,\n\ttype MilestonesTimelineCardProps,\n} from './types';\n\nconst STATUS_TO_TIMELINE: Record<MilestoneStatus, TimelineStatus> = {\n\tcompleted: 'completed',\n\tin_progress: 'current',\n\tupcoming: 'pending',\n\tblocked: 'error',\n};\n\nconst STATUS_ICON = {\n\tcompleted: Check,\n\tin_progress: Clock,\n\tupcoming: Circle,\n\tblocked: X,\n} as const;\n\nconst STATUS_BADGE: Record<MilestoneStatus, 'success' | 'primary' | 'secondary' | 'error'> = {\n\tcompleted: 'success',\n\tin_progress: 'primary',\n\tupcoming: 'secondary',\n\tblocked: 'error',\n};\n\nexport function MilestonesTimelineCard({\n\tmilestones,\n\tclassName,\n\tstrings: stringsProp,\n}: MilestonesTimelineCardProps) {\n\tconst strings = useStrings(defaultMilestonesTimelineStrings, stringsProp);\n\tconst labelByStatus: Record<MilestoneStatus, string> = {\n\t\tcompleted: strings.completed,\n\t\tin_progress: strings.in_progress,\n\t\tupcoming: strings.upcoming,\n\t\tblocked: strings.blocked,\n\t};\n\n\tconst items: TimelineItem[] = milestones.map((m: MilestoneItem) => ({\n\t\tid: m.id,\n\t\ttitle: (\n\t\t\t<span className=\"inline-flex flex-wrap items-center gap-1.5\">\n\t\t\t\t<span>{m.title}</span>\n\t\t\t\t<Badge variant={STATUS_BADGE[m.status]}>\n\t\t\t\t\t{labelByStatus[m.status]}\n\t\t\t\t</Badge>\n\t\t\t</span>\n\t\t),\n\t\tdescription: m.description,\n\t\ttimestamp: m.dueDate ? `${strings.dueOn} ${m.dueDate}` : undefined,\n\t\ticon: STATUS_ICON[m.status],\n\t\tstatus: STATUS_TO_TIMELINE[m.status],\n\t\tchildren:\n\t\t\tm.status === 'in_progress' && typeof m.progress === 'number' ? (\n\t\t\t\t<div className=\"space-y-1\">\n\t\t\t\t\t<div className=\"h-1.5 w-full overflow-hidden rounded-full bg-muted\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cn('h-full rounded-full bg-primary transition-[width] duration-300')}\n\t\t\t\t\t\t\tstyle={{ width: `${Math.max(0, Math.min(100, m.progress))}%` }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Text size=\"xxs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t\t{Math.round(m.progress)}%\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t) : undefined,\n\t}));\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Flag className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('milestones-timeline--component', className)}\n\t\t>\n\t\t\t<Timeline items={items} dotSize=\"base\" />\n\t\t</SmartCard>\n\t);\n}\n\nMilestonesTimelineCard.displayName = 'MilestonesTimelineCard';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/composed/timelines/steps-card/steps-card.tsx","../../../../src/components/composed/timelines/order-timeline/order-timeline.tsx","../../../../src/components/composed/timelines/payment-timeline/payment-timeline.tsx","../../../../src/components/composed/timelines/activity-stream/types.ts","../../../../src/components/composed/timelines/activity-stream/activity-stream.tsx","../../../../src/components/composed/timelines/shared/timeline.tsx","../../../../src/components/composed/timelines/changelog/types.ts","../../../../src/components/composed/timelines/changelog/changelog-timeline.tsx","../../../../src/components/composed/timelines/milestones/types.ts","../../../../src/components/composed/timelines/milestones/milestones-timeline.tsx"],"sourcesContent":["import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { Badge } from '@/components/base/badge/badge';\nimport { cn } from '@/lib/utils';\nimport { Check, Circle, Loader2 } from 'lucide-react';\nimport { type StepStatus, type StepsCardProps, type StepsHorizontalProps } from './types';\n\nconst statusStyles: Record<StepStatus, {\n dot: string;\n line: string;\n title: string;\n Icon: typeof Check;\n}> = {\n completed: {\n dot: 'bg-success text-success-foreground',\n line: 'bg-success',\n title: 'text-foreground',\n Icon: Check,\n },\n current: {\n dot: 'bg-primary text-primary-foreground ring-4 ring-primary/20',\n line: 'bg-border',\n title: 'text-foreground',\n Icon: Loader2,\n },\n upcoming: {\n dot: 'bg-muted text-muted-foreground',\n line: 'bg-border',\n title: 'text-muted-foreground',\n Icon: Circle,\n },\n};\n\nfunction StepIndicator({ status }: { status: StepStatus }) {\n const { dot, Icon } = statusStyles[status];\n const isAnimated = status === 'current';\n\n return (\n <div className={cn('steps-card--component', \n 'relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-full transition-all',\n dot,\n )}>\n <Icon className={cn('h-4 w-4', isAnimated && 'animate-spin')} />\n </div>\n );\n}\n\n/* ─── Vertical StepsCard (original) ────────────────────────────────────────── */\n\nexport function StepsCard({ title, description, steps, footerText, className }: StepsCardProps) {\n return (\n <SmartCard\n title={title}\n description={description}\n footerText={footerText}\n className={className}\n >\n <div className=\"relative\">\n {steps.map((step, idx) => {\n const isLast = idx === steps.length - 1;\n const { line, title: titleColor } = statusStyles[step.status];\n\n return (\n <div key={step.id} className=\"relative flex gap-4\">\n {/* Vertical line + dot */}\n <div className=\"flex flex-col items-center\">\n <StepIndicator status={step.status} />\n {!isLast && (\n <div className={cn('w-0.5 flex-1 min-h-6', line)} />\n )}\n </div>\n\n {/* Content */}\n <div className={cn('flex-1 pb-6', isLast && 'pb-0')}>\n <div className=\"flex items-center gap-2 pt-1\">\n <Text weight=\"semibold\" className={titleColor}>\n {step.title}\n </Text>\n {!!step.badge && (\n <Badge variant={step.badgeVariant ?? 'secondary'}>\n {step.badge}\n </Badge>\n )}\n </div>\n {!!step.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n {step.description}\n </Text>\n )}\n {!!step.timestamp && (\n <Text size=\"xs\" type=\"discrete\" className=\"mt-1\">\n {step.timestamp}\n </Text>\n )}\n {!!step.content && (\n <div className=\"mt-2\">{step.content}</div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </SmartCard>\n );\n}\n\nStepsCard.displayName = 'StepsCard';\n\n/*──────────────────────────────────────────────────────────────────────────────\n * STEPS HORIZONTAL — Horizontal step bar with connecting lines\n *────────────────────────────────────────────────────────────────────────────*/\n\nfunction HorizontalDot({ status, stepNumber }: { status: StepStatus; stepNumber: number }) {\n if (status === 'completed') {\n return (\n <div className=\"relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-success text-success-foreground\">\n <Check className=\"h-4 w-4\" />\n </div>\n );\n }\n\n if (status === 'current') {\n return (\n <div className=\"relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary text-primary-foreground\">\n <Text weight=\"bold\" className=\"text-primary-foreground\">\n {stepNumber}\n </Text>\n </div>\n );\n }\n\n return (\n <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\">\n <Text weight=\"medium\" className=\"text-muted-foreground\">\n {stepNumber}\n </Text>\n </div>\n );\n}\n\nexport function StepsHorizontal({ title, description, steps, footerText, className }: StepsHorizontalProps) {\n return (\n <SmartCard\n title={title}\n description={description}\n footerText={footerText}\n className={className}\n >\n <div className=\"space-y-3 sm:hidden\">\n {steps.map((step, idx) => {\n const isLast = idx === steps.length - 1;\n const lineColor = step.status === 'completed' ? 'bg-success' : 'bg-border';\n\n return (\n <div key={step.id} className=\"flex gap-3\">\n <div className=\"flex flex-col items-center\">\n <HorizontalDot status={step.status} stepNumber={idx + 1} />\n {!isLast && <div className={cn('mt-1 w-0.5 flex-1 min-h-5', lineColor)} />}\n </div>\n <div className={cn('min-w-0 flex-1 pb-2', isLast && 'pb-0')}>\n <Text\n weight=\"semibold\"\n className={cn(\n 'leading-snug',\n step.status === 'upcoming' ? 'text-muted-foreground' : 'text-foreground',\n )}\n >\n {step.title}\n </Text>\n {!!step.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"mt-0.5 line-clamp-2\">\n {step.description}\n </Text>\n )}\n </div>\n </div>\n );\n })}\n </div>\n\n {/* Horizontal scroll wrapper — when total step width exceeds the\n card, this lets users scroll instead of clipping labels. */}\n <div className=\"-mx-1 hidden overflow-x-auto px-1 sm:block\">\n <div className=\"flex min-w-fit items-start\">\n {steps.map((step, idx) => {\n const isLast = idx === steps.length - 1;\n const lineColor = step.status === 'completed' ? 'bg-success' : 'bg-border';\n\n return (\n <div key={step.id} className=\"flex min-w-28 flex-1 items-start\">\n <div className=\"flex w-full flex-col items-center\">\n <div className=\"flex w-full items-center\">\n {idx > 0 && (\n <div className={cn(\n 'h-0.5 flex-1',\n steps[idx - 1].status === 'completed' ? 'bg-success' : 'bg-border',\n )} />\n )}\n {idx === 0 && <div className=\"flex-1\" />}\n\n <HorizontalDot status={step.status} stepNumber={idx + 1} />\n\n {!isLast && (\n <div className={cn('h-0.5 flex-1', lineColor)} />\n )}\n {!!isLast && <div className=\"flex-1\" />}\n </div>\n\n {/* Labels below dot — clamped to 2 lines so long step\n names break gracefully instead of pushing the\n row taller. */}\n <div className=\"mt-2 flex w-full flex-col items-center px-1 text-center\">\n <Text\n size=\"xs\"\n weight=\"semibold\"\n className={cn(\n 'leading-snug line-clamp-2',\n step.status === 'upcoming' ? 'text-muted-foreground' : 'text-foreground',\n )}\n >\n {step.title}\n </Text>\n {!!step.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"mt-0.5 leading-snug line-clamp-2\">\n {step.description}\n </Text>\n )}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </SmartCard>\n );\n}\n\nStepsHorizontal.displayName = 'StepsHorizontal';\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\nimport { type OrderTimelineEvent, type OrderTimelineCardProps } from './types';\n\nconst timelineStatusDot: Record<OrderTimelineEvent['status'], string> = {\n completed: 'bg-success',\n current: 'bg-primary ring-3 ring-primary/20',\n pending: 'bg-muted',\n};\n\nexport function OrderTimelineCard({ title, description, events, footerText, className }: OrderTimelineCardProps) {\n return (\n <SmartCard title={title} description={description} footerText={footerText} className={cn('order-timeline--component', className)}>\n <div className=\"relative space-y-0\">\n {events.map((event, index) => {\n const isLast = index === events.length - 1;\n\n return (\n <div key={event.id} className=\"relative flex gap-3 pb-4 last:pb-0\">\n {/* Connector line */}\n {!isLast && (\n <div className=\"absolute bottom-0 left-[5px] top-[14px] w-px bg-border\" />\n )}\n\n {/* Dot */}\n <div className=\"relative z-10 mt-[5px] flex-shrink-0\">\n <div className={cn('size-3 rounded-full', timelineStatusDot[event.status])} />\n </div>\n\n {/* Content */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-baseline justify-between gap-2\">\n <Text weight=\"medium\" className=\"truncate\">\n {event.title}\n </Text>\n <Text size=\"xs\" type=\"secondary\" className=\"flex-shrink-0 font-mono tabular-nums\">\n {event.timestamp}\n </Text>\n </div>\n {!!event.description && (\n <Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n {event.description}\n </Text>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </SmartCard>\n );\n}\n","import { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport type { PaymentTimelineCardProps } from './types';\n\nexport function PaymentTimelineCard({ events, className }: PaymentTimelineCardProps) {\n return (\n <SmartCard title=\"Payment Timeline\" className={cn('payment-timeline--component', className)}>\n <div className=\"mt-5 space-y-0\">\n {events.map((evt, i) => {\n const Icon = evt.icon;\n return (\n <div key={evt.label} className=\"flex gap-4\">\n <div className=\"flex flex-col items-center\">\n <div\n className={cn(\n 'flex size-8 items-center justify-center rounded-full',\n evt.done ? 'bg-success/20' : 'bg-muted',\n )}\n >\n <Icon className={cn('size-3.5', evt.done ? 'text-success' : 'text-muted-foreground')} />\n </div>\n {i < events.length - 1 && (\n <div className={cn('mt-1 h-8 w-px', evt.done ? 'bg-success/30' : 'bg-border')} />\n )}\n </div>\n <div className=\"pb-6\">\n <Text weight=\"medium\">\n {evt.label}\n </Text>\n <Text size=\"xs\" type=\"secondary\">\n {evt.date}\n </Text>\n {!!evt.amount && (\n <Text size=\"xs\" weight=\"medium\" className=\"mt-0.5 tabular-nums text-success\">\n {evt.amount}\n </Text>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </SmartCard>\n );\n}\n","import type { LucideIcon } from 'lucide-react';\nimport type { ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport type { StringsProp } from '@/lib/strings';\n\nexport interface ActivityStreamItem {\n\tid: string;\n\ticon?: LucideIcon;\n\ticonVariant?: ComposedBadgeVariant;\n\tactor?: string;\n\taction: string;\n\ttarget?: string;\n\ttimestamp: string;\n\tmetadata?: { label: string; value: string }[];\n}\n\nexport interface ActivityStreamStrings {\n\ttitle: string;\n\tempty: string;\n}\n\nexport const defaultActivityStreamStrings: ActivityStreamStrings = {\n\ttitle: 'Activity',\n\tempty: 'No activity yet',\n};\n\nexport interface ActivityStreamCardProps {\n\titems: ActivityStreamItem[];\n\tclassName?: string;\n\tstrings?: StringsProp<ActivityStreamStrings>;\n}\n","/**\n * ActivityStreamCard — chronological list of icon + actor + action + target items\n * with optional inline metadata. Designed for audit logs / \"what happened\" feeds.\n */\nimport { Activity, Circle } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultActivityStreamStrings,\n\ttype ActivityStreamCardProps,\n} from './types';\n\nconst VARIANT_CLASSES: Record<string, string> = {\n\tprimary: 'bg-primary/10 text-primary',\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tsuccess: 'bg-success/15 text-success',\n\tinfo: 'bg-info/15 text-info',\n\twarning: 'bg-warning/30 text-warning-foreground',\n\terror: 'bg-destructive/15 text-destructive',\n};\n\nexport function ActivityStreamCard({ items, className, strings: stringsProp }: ActivityStreamCardProps) {\n\tconst strings = useStrings(defaultActivityStreamStrings, stringsProp);\n\n\tif (items.length === 0) {\n\t\treturn (\n\t\t\t<SmartCard icon={<Activity className=\"size-4\" />} title={strings.title} className={cn('activity-stream--component', className)}>\n\t\t\t\t<Text type=\"secondary\" align=\"center\" className=\"py-6\">{strings.empty}</Text>\n\t\t\t</SmartCard>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SmartCard icon={<Activity className=\"size-4\" />} title={strings.title} className={className}>\n\t\t\t<ul className=\"space-y-3\">\n\t\t\t\t{items.map((it, idx) => {\n\t\t\t\t\tconst Icon = it.icon ?? Circle;\n\t\t\t\t\tconst isLast = idx === items.length - 1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={it.id} className=\"relative flex gap-3\">\n\t\t\t\t\t\t\t<div className=\"relative flex flex-col items-center\">\n\t\t\t\t\t\t\t\t<div className={cn('flex size-7 items-center justify-center rounded-full', VARIANT_CLASSES[it.iconVariant ?? 'primary'])}>\n\t\t\t\t\t\t\t\t\t<Icon className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{!isLast && <div className=\"mt-1 w-px flex-1 bg-border\" />}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"min-w-0 flex-1 pb-3\">\n\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap items-baseline gap-x-1.5\">\n\t\t\t\t\t\t\t\t\t{!!it.actor && <Text tag=\"span\" weight=\"semibold\">{it.actor}</Text>}\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\">{it.action}</Text>\n\t\t\t\t\t\t\t\t\t{!!it.target && <Text tag=\"span\" weight=\"medium\">{it.target}</Text>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{!!it.metadata && it.metadata.length > 0 && (\n\t\t\t\t\t\t\t\t\t<div className=\"mt-1 flex flex-wrap gap-x-3 gap-y-0.5\">\n\t\t\t\t\t\t\t\t\t\t{it.metadata.map((m) => (\n\t\t\t\t\t\t\t\t\t\t\t<Text key={m.label} size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"discrete\">{m.label}: </Text>\n\t\t\t\t\t\t\t\t\t\t\t\t{m.value}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"discrete\" className=\"mt-0.5 tabular-nums\">{it.timestamp}</Text>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</SmartCard>\n\t);\n}\n\nActivityStreamCard.displayName = 'ActivityStreamCard';\n","/**\n * Timeline — shared base primitive for the composed timeline family.\n *\n * Renders a vertical, dot-and-line list of events. Each item supports an\n * icon (Lucide component), a status that maps to dot tone, a title row, an\n * optional description block, an optional timestamp, and free-form content\n * via `children`. Use this primitive directly for new timeline variants\n * instead of reinventing the dot/line geometry — see `ChangeLogTimeline`,\n * `MilestonesTimeline`, and the existing OrderTimeline / PaymentTimeline /\n * ActivityStream consumers for examples.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport type TimelineStatus =\n\t| 'completed'\n\t| 'current'\n\t| 'pending'\n\t| 'success'\n\t| 'warning'\n\t| 'error'\n\t| 'neutral';\n\nexport type TimelineDotSize = 'sm' | 'base' | 'lg';\n\nexport interface TimelineItem {\n\tid: string;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\ttimestamp?: ReactNode;\n\ticon?: LucideIcon;\n\tstatus?: TimelineStatus;\n\tchildren?: ReactNode;\n}\n\nexport interface TimelineProps {\n\titems: TimelineItem[];\n\tdotSize?: TimelineDotSize;\n\tclassName?: string;\n}\n\nconst DOT_PX: Record<TimelineDotSize, string> = {\n\tsm: 'size-2.5',\n\tbase: 'size-3.5',\n\tlg: 'size-5',\n};\n\nconst ICON_PX: Record<TimelineDotSize, string> = {\n\tsm: 'size-2',\n\tbase: 'size-2.5',\n\tlg: 'size-3',\n};\n\nconst STATUS_TONE: Record<TimelineStatus, { bg: string; text: string; ring: string; line: string }> = {\n\tcompleted: { bg: 'bg-success', text: 'text-success-foreground', ring: 'ring-success/20', line: 'bg-success/40' },\n\tcurrent: { bg: 'bg-primary', text: 'text-primary-foreground', ring: 'ring-primary/30', line: 'bg-primary/40' },\n\tpending: { bg: 'bg-muted', text: 'text-muted-foreground', ring: 'ring-border', line: 'bg-border' },\n\tsuccess: { bg: 'bg-success', text: 'text-success-foreground', ring: 'ring-success/20', line: 'bg-success/40' },\n\twarning: { bg: 'bg-warning', text: 'text-warning-foreground', ring: 'ring-warning/30', line: 'bg-warning/40' },\n\terror: { bg: 'bg-destructive', text: 'text-destructive-foreground', ring: 'ring-destructive/30', line: 'bg-destructive/40' },\n\tneutral: { bg: 'bg-card', text: 'text-foreground', ring: 'ring-border', line: 'bg-border' },\n};\n\nexport function Timeline({ items, dotSize = 'base', className }: TimelineProps) {\n\treturn (\n\t\t<ol className={cn('timeline--component', 'relative space-y-4', className)}>\n\t\t\t{items.map((item, i) => {\n\t\t\t\tconst status = item.status ?? 'neutral';\n\t\t\t\tconst tone = STATUS_TONE[status];\n\t\t\t\tconst Icon = item.icon;\n\t\t\t\tconst isLast = i === items.length - 1;\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={item.id} className=\"relative flex gap-3\">\n\t\t\t\t\t\t{/* Connector line — fills available space below dot until last */}\n\t\t\t\t\t\t{!isLast && (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'absolute left-[7px] top-4 bottom-[-1rem] w-px',\n\t\t\t\t\t\t\t\t\ttone.line,\n\t\t\t\t\t\t\t\t\tdotSize === 'lg' && 'left-[10px]',\n\t\t\t\t\t\t\t\t\tdotSize === 'sm' && 'left-[5px]',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div className=\"relative z-[1] mt-0.5 flex shrink-0 items-start\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'inline-flex items-center justify-center rounded-full ring-2',\n\t\t\t\t\t\t\t\t\ttone.bg,\n\t\t\t\t\t\t\t\t\ttone.text,\n\t\t\t\t\t\t\t\t\ttone.ring,\n\t\t\t\t\t\t\t\t\tDOT_PX[dotSize],\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{!!Icon && <Icon className={ICON_PX[dotSize]} />}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"min-w-0 flex-1 pb-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-baseline justify-between gap-2\">\n\t\t\t\t\t\t\t\t<Text weight=\"medium\" className=\"leading-tight\">\n\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t{!!item.timestamp && (\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{item.timestamp}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{!!item.description && (\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!item.children && <div className=\"mt-2\">{item.children}</div>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ol>\n\t);\n}\n\nTimeline.displayName = 'Timeline';\n","import type { ReactNode } from 'react';\nimport type { StringsProp } from '@/lib/strings';\n\nexport type ChangelogEntryKind = 'added' | 'removed' | 'modified' | 'fixed';\n\nexport interface ChangelogEntry {\n\tid: string;\n\tkind: ChangelogEntryKind;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tversion?: string;\n\ttimestamp?: string;\n\tauthor?: string;\n}\n\nexport interface ChangelogTimelineStrings {\n\ttitle: string;\n\tadded: string;\n\tremoved: string;\n\tmodified: string;\n\tfixed: string;\n}\n\nexport const defaultChangelogTimelineStrings: ChangelogTimelineStrings = {\n\ttitle: 'Changelog',\n\tadded: 'Added',\n\tremoved: 'Removed',\n\tmodified: 'Modified',\n\tfixed: 'Fixed',\n};\n\nexport interface ChangelogTimelineCardProps {\n\tentries: ChangelogEntry[];\n\tclassName?: string;\n\tstrings?: StringsProp<ChangelogTimelineStrings>;\n}\n","/**\n * ChangelogTimelineCard — code/release changelog rendered through the shared\n * `Timeline` primitive. Each entry maps a semantic kind (added / removed /\n * modified / fixed) to a colour-coded chip (green / red / amber / blue) plus\n * an optional version label and timestamp. Strings overridable for i18n.\n */\nimport { GitCommit, Minus, Plus, Wrench } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\n\nimport {\n\tTimeline,\n\ttype TimelineItem,\n\ttype TimelineStatus,\n} from '../shared';\nimport {\n\tdefaultChangelogTimelineStrings,\n\ttype ChangelogEntry,\n\ttype ChangelogEntryKind,\n\ttype ChangelogTimelineCardProps,\n} from './types';\n\nimport { cn } from '@/lib/utils';\nconst KIND_TO_STATUS: Record<ChangelogEntryKind, TimelineStatus> = {\n\tadded: 'success',\n\tremoved: 'error',\n\tmodified: 'warning',\n\tfixed: 'current',\n};\n\nconst KIND_TO_BADGE: Record<\n\tChangelogEntryKind,\n\t'success' | 'error' | 'warning' | 'info'\n> = {\n\tadded: 'success',\n\tremoved: 'error',\n\tmodified: 'warning',\n\tfixed: 'info',\n};\n\nconst KIND_ICON = {\n\tadded: Plus,\n\tremoved: Minus,\n\tmodified: Wrench,\n\tfixed: GitCommit,\n} as const;\n\nexport function ChangelogTimelineCard({\n\tentries,\n\tclassName,\n\tstrings: stringsProp,\n}: ChangelogTimelineCardProps) {\n\tconst strings = useStrings(defaultChangelogTimelineStrings, stringsProp);\n\tconst labelByKind: Record<ChangelogEntryKind, string> = {\n\t\tadded: strings.added,\n\t\tremoved: strings.removed,\n\t\tmodified: strings.modified,\n\t\tfixed: strings.fixed,\n\t};\n\n\tconst items: TimelineItem[] = entries.map((entry: ChangelogEntry) => ({\n\t\tid: entry.id,\n\t\ttitle: (\n\t\t\t<span className=\"inline-flex flex-wrap items-center gap-1.5\">\n\t\t\t\t<Badge variant={KIND_TO_BADGE[entry.kind]}>\n\t\t\t\t\t{labelByKind[entry.kind]}\n\t\t\t\t</Badge>\n\t\t\t\t<span>{entry.title}</span>\n\t\t\t\t{!!entry.version && (\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"font-mono\">\n\t\t\t\t\t\t{entry.version}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t),\n\t\tdescription: entry.author ? (\n\t\t\t<>\n\t\t\t\t{entry.description}\n\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"discrete\" className=\"ml-2\">\n\t\t\t\t\t— {entry.author}\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t) : (\n\t\t\tentry.description\n\t\t),\n\t\ttimestamp: entry.timestamp,\n\t\ticon: KIND_ICON[entry.kind],\n\t\tstatus: KIND_TO_STATUS[entry.kind],\n\t}));\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<GitCommit className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('changelog-timeline--component', className)}\n\t\t>\n\t\t\t<Timeline items={items} dotSize=\"base\" />\n\t\t</SmartCard>\n\t);\n}\n\nChangelogTimelineCard.displayName = 'ChangelogTimelineCard';\n","import type { ReactNode } from 'react';\nimport type { StringsProp } from '@/lib/strings';\n\nexport type MilestoneStatus = 'completed' | 'in_progress' | 'upcoming' | 'blocked';\n\nexport interface MilestoneItem {\n\tid: string;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tdueDate?: string;\n\tstatus: MilestoneStatus;\n\t/** 0–100; only used when status is `in_progress`. */\n\tprogress?: number;\n}\n\nexport interface MilestonesTimelineStrings {\n\ttitle: string;\n\tcompleted: string;\n\tin_progress: string;\n\tupcoming: string;\n\tblocked: string;\n\tdueOn: string;\n}\n\nexport const defaultMilestonesTimelineStrings: MilestonesTimelineStrings = {\n\ttitle: 'Milestones',\n\tcompleted: 'Completed',\n\tin_progress: 'In progress',\n\tupcoming: 'Upcoming',\n\tblocked: 'Blocked',\n\tdueOn: 'Due',\n};\n\nexport interface MilestonesTimelineCardProps {\n\tmilestones: MilestoneItem[];\n\tclassName?: string;\n\tstrings?: StringsProp<MilestonesTimelineStrings>;\n}\n","/**\n * MilestonesTimelineCard — project / goal milestones rendered through the\n * shared `Timeline` primitive. Each milestone has a status (completed /\n * in-progress / upcoming / blocked) that drives the dot tone, and an\n * optional `progress` percent that renders an inline progress bar when the\n * milestone is in flight. Strings overridable for i18n.\n */\nimport { Check, Circle, Clock, Flag, X } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tTimeline,\n\ttype TimelineItem,\n\ttype TimelineStatus,\n} from '../shared';\nimport {\n\tdefaultMilestonesTimelineStrings,\n\ttype MilestoneItem,\n\ttype MilestoneStatus,\n\ttype MilestonesTimelineCardProps,\n} from './types';\n\nconst STATUS_TO_TIMELINE: Record<MilestoneStatus, TimelineStatus> = {\n\tcompleted: 'completed',\n\tin_progress: 'current',\n\tupcoming: 'pending',\n\tblocked: 'error',\n};\n\nconst STATUS_ICON = {\n\tcompleted: Check,\n\tin_progress: Clock,\n\tupcoming: Circle,\n\tblocked: X,\n} as const;\n\nconst STATUS_BADGE: Record<MilestoneStatus, 'success' | 'primary' | 'secondary' | 'error'> = {\n\tcompleted: 'success',\n\tin_progress: 'primary',\n\tupcoming: 'secondary',\n\tblocked: 'error',\n};\n\nexport function MilestonesTimelineCard({\n\tmilestones,\n\tclassName,\n\tstrings: stringsProp,\n}: MilestonesTimelineCardProps) {\n\tconst strings = useStrings(defaultMilestonesTimelineStrings, stringsProp);\n\tconst labelByStatus: Record<MilestoneStatus, string> = {\n\t\tcompleted: strings.completed,\n\t\tin_progress: strings.in_progress,\n\t\tupcoming: strings.upcoming,\n\t\tblocked: strings.blocked,\n\t};\n\n\tconst items: TimelineItem[] = milestones.map((m: MilestoneItem) => ({\n\t\tid: m.id,\n\t\ttitle: (\n\t\t\t<span className=\"inline-flex flex-wrap items-center gap-1.5\">\n\t\t\t\t<span>{m.title}</span>\n\t\t\t\t<Badge variant={STATUS_BADGE[m.status]}>\n\t\t\t\t\t{labelByStatus[m.status]}\n\t\t\t\t</Badge>\n\t\t\t</span>\n\t\t),\n\t\tdescription: m.description,\n\t\ttimestamp: m.dueDate ? `${strings.dueOn} ${m.dueDate}` : undefined,\n\t\ticon: STATUS_ICON[m.status],\n\t\tstatus: STATUS_TO_TIMELINE[m.status],\n\t\tchildren:\n\t\t\tm.status === 'in_progress' && typeof m.progress === 'number' ? (\n\t\t\t\t<div className=\"space-y-1\">\n\t\t\t\t\t<div className=\"h-1.5 w-full overflow-hidden rounded-full bg-muted\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cn('h-full rounded-full bg-primary transition-[width] duration-300')}\n\t\t\t\t\t\t\tstyle={{ width: `${Math.max(0, Math.min(100, m.progress))}%` }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t\t{Math.round(m.progress)}%\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t) : undefined,\n\t}));\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Flag className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('milestones-timeline--component', className)}\n\t\t>\n\t\t\t<Timeline items={items} dotSize=\"base\" />\n\t\t</SmartCard>\n\t);\n}\n\nMilestonesTimelineCard.displayName = 'MilestonesTimelineCard';\n"],"mappings":";;;;;;;;AAOA,IAAM,IAKD;CACD,WAAW;EACP,KAAK;EACL,MAAM;EACN,OAAO;EACP,MAAM;CACV;CACA,SAAS;EACL,KAAK;EACL,MAAM;EACN,OAAO;EACP,MAAM;CACV;CACA,UAAU;EACN,KAAK;EACL,MAAM;EACN,OAAO;EACP,MAAM;CACV;AACJ;AAEA,SAAS,EAAc,EAAE,aAAkC;CACvD,IAAM,EAAE,QAAK,YAAS,EAAa,IAC7B,IAAa,MAAW;CAE9B,OACI,kBAAC,OAAD;EAAK,WAAW,EAAG,yBACf,+FACA,CACJ;YACI,kBAAC,GAAD,EAAM,WAAW,EAAG,WAAW,KAAc,cAAc,EAAI,CAAA;CAC9D,CAAA;AAEb;AAIA,SAAgB,EAAU,EAAE,UAAO,gBAAa,UAAO,eAAY,gBAA6B;CAC5F,OACI,kBAAC,GAAD;EACW;EACM;EACD;EACD;YAEX,kBAAC,OAAD;GAAK,WAAU;aACV,EAAM,KAAK,GAAM,MAAQ;IACtB,IAAM,IAAS,MAAQ,EAAM,SAAS,GAChC,EAAE,SAAM,OAAO,MAAe,EAAa,EAAK;IAEtD,OACI,kBAAC,OAAD;KAAmB,WAAU;eAA7B,CAEI,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACI,kBAAC,GAAD,EAAe,QAAQ,EAAK,OAAS,CAAA,GACpC,CAAC,KACE,kBAAC,OAAD,EAAK,WAAW,EAAG,wBAAwB,CAAI,EAAI,CAAA,CAEtD;SAGL,kBAAC,OAAD;MAAK,WAAW,EAAG,eAAe,KAAU,MAAM;gBAAlD;OACI,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACI,kBAAC,GAAD;SAAM,QAAO;SAAW,WAAW;mBAC9B,EAAK;QACJ,CAAA,GACL,CAAC,CAAC,EAAK,SACJ,kBAAC,GAAD;SAAO,SAAS,EAAK,gBAAgB;mBAChC,EAAK;QACH,CAAA,CAEV;;OACJ,CAAC,CAAC,EAAK,eACJ,kBAAC,GAAD;QAAM,MAAK;QAAK,MAAK;QAAY,WAAU;kBACtC,EAAK;OACJ,CAAA;OAET,CAAC,CAAC,EAAK,aACJ,kBAAC,GAAD;QAAM,MAAK;QAAK,MAAK;QAAW,WAAU;kBACrC,EAAK;OACJ,CAAA;OAET,CAAC,CAAC,EAAK,WACJ,kBAAC,OAAD;QAAK,WAAU;kBAAQ,EAAK;OAAa,CAAA;MAE5C;OACJ;OAnCK,EAAK,EAmCV;GAEb,CAAC;EACA,CAAA;CACE,CAAA;AAEnB;AAEA,EAAU,cAAc;AAMxB,SAAS,EAAc,EAAE,WAAQ,iBAA0D;CAmBvF,OAlBI,MAAW,cAEP,kBAAC,OAAD;EAAK,WAAU;YACX,kBAAC,GAAD,EAAO,WAAU,UAAW,CAAA;CAC3B,CAAA,IAIT,MAAW,YAEP,kBAAC,OAAD;EAAK,WAAU;YACX,kBAAC,GAAD;GAAM,QAAO;GAAO,WAAU;aACzB;EACC,CAAA;CACL,CAAA,IAKT,kBAAC,OAAD;EAAK,WAAU;YACX,kBAAC,GAAD;GAAM,QAAO;GAAS,WAAU;aAC3B;EACC,CAAA;CACL,CAAA;AAEb;AAEA,SAAgB,EAAgB,EAAE,UAAO,gBAAa,UAAO,eAAY,gBAAmC;CACxG,OACI,kBAAC,GAAD;EACW;EACM;EACD;EACD;YAJf,CAMI,kBAAC,OAAD;GAAK,WAAU;aACV,EAAM,KAAK,GAAM,MAAQ;IACtB,IAAM,IAAS,MAAQ,EAAM,SAAS,GAChC,IAAY,EAAK,WAAW,cAAc,eAAe;IAE/D,OACI,kBAAC,OAAD;KAAmB,WAAU;eAA7B,CACI,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACI,kBAAC,GAAD;OAAe,QAAQ,EAAK;OAAQ,YAAY,IAAM;MAAI,CAAA,GACzD,CAAC,KAAU,kBAAC,OAAD,EAAK,WAAW,EAAG,6BAA6B,CAAS,EAAI,CAAA,CACxE;SACL,kBAAC,OAAD;MAAK,WAAW,EAAG,uBAAuB,KAAU,MAAM;gBAA1D,CACI,kBAAC,GAAD;OACI,QAAO;OACP,WAAW,EACP,gBACA,EAAK,WAAW,aAAa,0BAA0B,iBAC3D;iBAEC,EAAK;MACJ,CAAA,GACL,CAAC,CAAC,EAAK,eACJ,kBAAC,GAAD;OAAM,MAAK;OAAK,MAAK;OAAY,WAAU;iBACtC,EAAK;MACJ,CAAA,CAET;OACJ;OArBK,EAAK,EAqBV;GAEb,CAAC;EACA,CAAA,GAIL,kBAAC,OAAD;GAAK,WAAU;aACX,kBAAC,OAAD;IAAK,WAAU;cACV,EAAM,KAAK,GAAM,MAAQ;KACtB,IAAM,IAAS,MAAQ,EAAM,SAAS,GAChC,IAAY,EAAK,WAAW,cAAc,eAAe;KAE/D,OACI,kBAAC,OAAD;MAAmB,WAAU;gBACzB,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACI,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACK,IAAM,KACH,kBAAC,OAAD,EAAK,WAAW,EACZ,gBACA,EAAM,IAAM,GAAG,WAAW,cAAc,eAAe,WAC3D,EAAI,CAAA;SAEP,MAAQ,KAAK,kBAAC,OAAD,EAAK,WAAU,SAAU,CAAA;SAEvC,kBAAC,GAAD;UAAe,QAAQ,EAAK;UAAQ,YAAY,IAAM;SAAI,CAAA;SAEzD,CAAC,KACE,kBAAC,OAAD,EAAK,WAAW,EAAG,gBAAgB,CAAS,EAAI,CAAA;SAEnD,CAAC,CAAC,KAAU,kBAAC,OAAD,EAAK,WAAU,SAAU,CAAA;QACrC;WAKL,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACI,kBAAC,GAAD;SACI,MAAK;SACL,QAAO;SACP,WAAW,EACP,6BACA,EAAK,WAAW,aAAa,0BAA0B,iBAC3D;mBAEC,EAAK;QACJ,CAAA,GACL,CAAC,CAAC,EAAK,eACJ,kBAAC,GAAD;SAAM,MAAK;SAAK,MAAK;SAAY,WAAU;mBACtC,EAAK;QACJ,CAAA,CAET;SACJ;;KACJ,GAxCK,EAAK,EAwCV;IAEb,CAAC;GACA,CAAA;EACJ,CAAA,CACE;;AAEnB;AAEA,EAAgB,cAAc;;;ACzO9B,IAAM,IAAkE;CACpE,WAAW;CACX,SAAS;CACT,SAAS;AACb;AAEA,SAAgB,EAAkB,EAAE,UAAO,gBAAa,WAAQ,eAAY,gBAAqC;CAC7G,OACI,kBAAC,GAAD;EAAkB;EAAoB;EAAyB;EAAY,WAAW,EAAG,6BAA6B,CAAS;YAC3H,kBAAC,OAAD;GAAK,WAAU;aACV,EAAO,KAAK,GAAO,MAIZ,kBAAC,OAAD;IAAoB,WAAU;cAA9B;KAHW,MAAU,EAAO,SAAS,KAM7B,kBAAC,OAAD,EAAK,WAAU,yDAA0D,CAAA;KAI7E,kBAAC,OAAD;MAAK,WAAU;gBACX,kBAAC,OAAD,EAAK,WAAW,EAAG,uBAAuB,EAAkB,EAAM,OAAO,EAAI,CAAA;KAC5E,CAAA;KAGL,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACI,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACI,kBAAC,GAAD;QAAM,QAAO;QAAS,WAAU;kBAC3B,EAAM;OACL,CAAA,GACN,kBAAC,GAAD;QAAM,MAAK;QAAK,MAAK;QAAY,WAAU;kBACtC,EAAM;OACL,CAAA,CACL;UACJ,CAAC,CAAC,EAAM,eACL,kBAAC,GAAD;OAAM,MAAK;OAAK,MAAK;OAAY,WAAU;iBACtC,EAAM;MACL,CAAA,CAET;;IACJ;MA3BK,EAAM,EA2BX,CAEZ;EACA,CAAA;CACE,CAAA;AAEnB;;;AC9CA,SAAgB,EAAoB,EAAE,WAAQ,gBAAuC;CACjF,OACI,kBAAC,GAAD;EAAW,OAAM;EAAmB,WAAW,EAAG,+BAA+B,CAAS;YACtF,kBAAC,OAAD;GAAK,WAAU;aACV,EAAO,KAAK,GAAK,MAAM;IACpB,IAAM,IAAO,EAAI;IACjB,OACI,kBAAC,OAAD;KAAqB,WAAU;eAA/B,CACI,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACI,kBAAC,OAAD;OACI,WAAW,EACP,wDACA,EAAI,OAAO,kBAAkB,UACjC;iBAEA,kBAAC,GAAD,EAAM,WAAW,EAAG,YAAY,EAAI,OAAO,iBAAiB,uBAAuB,EAAI,CAAA;MACtF,CAAA,GACJ,IAAI,EAAO,SAAS,KACjB,kBAAC,OAAD,EAAK,WAAW,EAAG,iBAAiB,EAAI,OAAO,kBAAkB,WAAW,EAAI,CAAA,CAEnF;SACL,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACI,kBAAC,GAAD;QAAM,QAAO;kBACR,EAAI;OACH,CAAA;OACN,kBAAC,GAAD;QAAM,MAAK;QAAK,MAAK;kBAChB,EAAI;OACH,CAAA;OACL,CAAC,CAAC,EAAI,UACH,kBAAC,GAAD;QAAM,MAAK;QAAK,QAAO;QAAS,WAAU;kBACrC,EAAI;OACH,CAAA;MAET;OACJ;OA3BK,EAAI,KA2BT;GAEb,CAAC;EACA,CAAA;CACE,CAAA;AAEnB;;;AC1BA,IAAa,IAAsD;CAClE,OAAO;CACP,OAAO;AACR,GCRM,IAA0C;CAC/C,SAAS;CACT,WAAW;CACX,SAAS;CACT,MAAM;CACN,SAAS;CACT,OAAO;AACR;AAEA,SAAgB,EAAmB,EAAE,UAAO,cAAW,SAAS,KAAwC;CACvG,IAAM,IAAU,EAAW,GAA8B,CAAW;CAUpE,OARI,EAAM,WAAW,IAEnB,kBAAC,GAAD;EAAW,MAAM,kBAAC,GAAD,EAAU,WAAU,SAAU,CAAA;EAAG,OAAO,EAAQ;EAAO,WAAW,EAAG,8BAA8B,CAAS;YAC5H,kBAAC,GAAD;GAAM,MAAK;GAAY,OAAM;GAAS,WAAU;aAAQ,EAAQ;EAAY,CAAA;CAClE,CAAA,IAKZ,kBAAC,GAAD;EAAW,MAAM,kBAAC,GAAD,EAAU,WAAU,SAAU,CAAA;EAAG,OAAO,EAAQ;EAAkB;YAClF,kBAAC,MAAD;GAAI,WAAU;aACZ,EAAM,KAAK,GAAI,MAAQ;IACvB,IAAM,IAAO,EAAG,QAAQ,GAClB,IAAS,MAAQ,EAAM,SAAS;IACtC,OACC,kBAAC,MAAD;KAAgB,WAAU;eAA1B,CACC,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACC,kBAAC,OAAD;OAAK,WAAW,EAAG,wDAAwD,EAAgB,EAAG,eAAe,UAAU;iBACtH,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA;MACxB,CAAA,GACJ,CAAC,KAAU,kBAAC,OAAD,EAAK,WAAU,6BAA8B,CAAA,CACrD;SACL,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACC,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,CAAC,CAAC,EAAG,SAAS,kBAAC,GAAD;UAAM,KAAI;UAAO,QAAO;oBAAY,EAAG;SAAY,CAAA;SAClE,kBAAC,GAAD;UAAM,KAAI;UAAO,MAAK;oBAAa,EAAG;SAAa,CAAA;SAClD,CAAC,CAAC,EAAG,UAAU,kBAAC,GAAD;UAAM,KAAI;UAAO,QAAO;oBAAU,EAAG;SAAa,CAAA;QAC9D;;OACJ,CAAC,CAAC,EAAG,YAAY,EAAG,SAAS,SAAS,KACtC,kBAAC,OAAD;QAAK,WAAU;kBACb,EAAG,SAAS,KAAK,MACjB,kBAAC,GAAD;SAAoB,MAAK;SAAK,MAAK;mBAAnC,CACC,kBAAC,GAAD;UAAM,KAAI;UAAO,MAAK;UAAK,MAAK;oBAAhC,CAA4C,EAAE,OAAM,IAAQ;aAC3D,EAAE,KACE;WAHK,EAAE,KAGP,CACN;OACG,CAAA;OAEN,kBAAC,GAAD;QAAM,MAAK;QAAK,MAAK;QAAW,WAAU;kBAAuB,EAAG;OAAgB,CAAA;MAChF;OACF;OAzBK,EAAG,EAyBR;GAEN,CAAC;EACE,CAAA;CACM,CAAA;AAEb;AAEA,EAAmB,cAAc;;;AC/BjC,IAAM,IAA0C;CAC/C,IAAI;CACJ,MAAM;CACN,IAAI;AACL,GAEM,IAA2C;CAChD,IAAI;CACJ,MAAM;CACN,IAAI;AACL,GAEM,IAAgG;CACrG,WAAW;EAAE,IAAI;EAAc,MAAM;EAA2B,MAAM;EAAmB,MAAM;CAAgB;CAC/G,SAAS;EAAE,IAAI;EAAc,MAAM;EAA2B,MAAM;EAAmB,MAAM;CAAgB;CAC7G,SAAS;EAAE,IAAI;EAAY,MAAM;EAAyB,MAAM;EAAe,MAAM;CAAY;CACjG,SAAS;EAAE,IAAI;EAAc,MAAM;EAA2B,MAAM;EAAmB,MAAM;CAAgB;CAC7G,SAAS;EAAE,IAAI;EAAc,MAAM;EAA2B,MAAM;EAAmB,MAAM;CAAgB;CAC7G,OAAO;EAAE,IAAI;EAAkB,MAAM;EAA+B,MAAM;EAAuB,MAAM;CAAoB;CAC3H,SAAS;EAAE,IAAI;EAAW,MAAM;EAAmB,MAAM;EAAe,MAAM;CAAY;AAC3F;AAEA,SAAgB,EAAS,EAAE,UAAO,aAAU,QAAQ,gBAA4B;CAC/E,OACC,kBAAC,MAAD;EAAI,WAAW,EAAG,uBAAuB,sBAAsB,CAAS;YACtE,EAAM,KAAK,GAAM,MAAM;GAEvB,IAAM,IAAO,EADE,EAAK,UAAU,YAExB,IAAO,EAAK;GAGlB,OACC,kBAAC,MAAD;IAAkB,WAAU;cAA5B;KAHc,MAAM,EAAM,SAAS,KAMjC,kBAAC,QAAD;MACC,eAAY;MACZ,WAAW,EACV,iDACA,EAAK,MACL,MAAY,QAAQ,eACpB,MAAY,QAAQ,YACrB;KACA,CAAA;KAGF,kBAAC,OAAD;MAAK,WAAU;gBACd,kBAAC,QAAD;OACC,WAAW,EACV,+DACA,EAAK,IACL,EAAK,MACL,EAAK,MACL,EAAO,EACR;iBAEC,CAAC,CAAC,KAAQ,kBAAC,GAAD,EAAM,WAAW,EAAQ,GAAW,CAAA;MAC1C,CAAA;KACF,CAAA;KAEL,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACC,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACC,kBAAC,GAAD;SAAM,QAAO;SAAS,WAAU;mBAC9B,EAAK;QACD,CAAA,GACL,CAAC,CAAC,EAAK,aACP,kBAAC,GAAD;SAAM,MAAK;SAAK,MAAK;SAAY,WAAU;mBACzC,EAAK;QACD,CAAA,CAEH;;OACJ,CAAC,CAAC,EAAK,eACP,kBAAC,GAAD;QAAM,MAAK;QAAK,MAAK;QAAY,WAAU;kBACzC,EAAK;OACD,CAAA;OAEN,CAAC,CAAC,EAAK,YAAY,kBAAC,OAAD;QAAK,WAAU;kBAAQ,EAAK;OAAc,CAAA;MAC1D;;IACF;MA9CK,EAAK,EA8CV;EAEN,CAAC;CACE,CAAA;AAEN;AAEA,EAAS,cAAc;;;AC1GvB,IAAa,IAA4D;CACxE,OAAO;CACP,OAAO;CACP,SAAS;CACT,UAAU;CACV,OAAO;AACR,GCJM,IAA6D;CAClE,OAAO;CACP,SAAS;CACT,UAAU;CACV,OAAO;AACR,GAEM,IAGF;CACH,OAAO;CACP,SAAS;CACT,UAAU;CACV,OAAO;AACR,GAEM,IAAY;CACjB,OAAO;CACP,SAAS;CACT,UAAU;CACV,OAAO;AACR;AAEA,SAAgB,EAAsB,EACrC,YACA,cACA,SAAS,KACqB;CAC9B,IAAM,IAAU,EAAW,GAAiC,CAAW,GACjE,IAAkD;EACvD,OAAO,EAAQ;EACf,SAAS,EAAQ;EACjB,UAAU,EAAQ;EAClB,OAAO,EAAQ;CAChB,GAEM,IAAwB,EAAQ,KAAK,OAA2B;EACrE,IAAI,EAAM;EACV,OACC,kBAAC,QAAD;GAAM,WAAU;aAAhB;IACC,kBAAC,GAAD;KAAO,SAAS,EAAc,EAAM;eAClC,EAAY,EAAM;IACb,CAAA;IACP,kBAAC,QAAD,EAAA,UAAO,EAAM,MAAY,CAAA;IACxB,CAAC,CAAC,EAAM,WACR,kBAAC,GAAD;KAAM,KAAI;KAAO,MAAK;KAAK,MAAK;KAAY,WAAU;eACpD,EAAM;IACF,CAAA;GAEF;;EAEP,aAAa,EAAM,SAClB,kBAAA,GAAA,EAAA,UAAA,CACE,EAAM,aACP,kBAAC,GAAD;GAAM,KAAI;GAAO,MAAK;GAAK,MAAK;GAAW,WAAU;aAArD,CAA4D,MACxD,EAAM,MACJ;IACL,EAAA,CAAA,IAEF,EAAM;EAEP,WAAW,EAAM;EACjB,MAAM,EAAU,EAAM;EACtB,QAAQ,EAAe,EAAM;CAC9B,EAAE;CAEF,OACC,kBAAC,GAAD;EACC,MAAM,kBAAC,GAAD,EAAW,WAAU,SAAU,CAAA;EACrC,OAAO,EAAQ;EACf,WAAW,EAAG,iCAAiC,CAAS;YAExD,kBAAC,GAAD;GAAiB;GAAO,SAAQ;EAAQ,CAAA;CAC9B,CAAA;AAEb;AAEA,EAAsB,cAAc;;;AC/EpC,IAAa,IAA8D;CAC1E,OAAO;CACP,WAAW;CACX,aAAa;CACb,UAAU;CACV,SAAS;CACT,OAAO;AACR,GCLM,IAA8D;CACnE,WAAW;CACX,aAAa;CACb,UAAU;CACV,SAAS;AACV,GAEM,IAAc;CACnB,WAAW;CACX,aAAa;CACb,UAAU;CACV,SAAS;AACV,GAEM,IAAuF;CAC5F,WAAW;CACX,aAAa;CACb,UAAU;CACV,SAAS;AACV;AAEA,SAAgB,EAAuB,EACtC,eACA,cACA,SAAS,KACsB;CAC/B,IAAM,IAAU,EAAW,GAAkC,CAAW,GAClE,IAAiD;EACtD,WAAW,EAAQ;EACnB,aAAa,EAAQ;EACrB,UAAU,EAAQ;EAClB,SAAS,EAAQ;CAClB,GAEM,IAAwB,EAAW,KAAK,OAAsB;EACnE,IAAI,EAAE;EACN,OACC,kBAAC,QAAD;GAAM,WAAU;aAAhB,CACC,kBAAC,QAAD,EAAA,UAAO,EAAE,MAAY,CAAA,GACrB,kBAAC,GAAD;IAAO,SAAS,EAAa,EAAE;cAC7B,EAAc,EAAE;GACX,CAAA,CACF;;EAEP,aAAa,EAAE;EACf,WAAW,EAAE,UAAU,GAAG,EAAQ,MAAM,GAAG,EAAE,YAAY,KAAA;EACzD,MAAM,EAAY,EAAE;EACpB,QAAQ,EAAmB,EAAE;EAC7B,UACC,EAAE,WAAW,iBAAiB,OAAO,EAAE,YAAa,WACnD,kBAAC,OAAD;GAAK,WAAU;aAAf,CACC,kBAAC,OAAD;IAAK,WAAU;cACd,kBAAC,OAAD;KACC,WAAW,EAAG,gEAAgE;KAC9E,OAAO,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,EAAE,QAAQ,CAAC,EAAE,GAAG;IAC7D,CAAA;GACG,CAAA,GACL,kBAAC,GAAD;IAAM,MAAK;IAAK,MAAK;IAAY,WAAU;cAA3C,CACE,KAAK,MAAM,EAAE,QAAQ,GAAE,GACnB;KACF;OACF,KAAA;CACN,EAAE;CAEF,OACC,kBAAC,GAAD;EACC,MAAM,kBAAC,GAAD,EAAM,WAAU,SAAU,CAAA;EAChC,OAAO,EAAQ;EACf,WAAW,EAAG,kCAAkC,CAAS;YAEzD,kBAAC,GAAD;GAAiB;GAAO,SAAQ;EAAQ,CAAA;CAC9B,CAAA;AAEb;AAEA,EAAuB,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../_shared/ui-provider-DZWtUXf2.cjs"),n=require("../../../lib/utils.cjs"),r=require("../../../_shared/button-BMiPFJIb.cjs"),i=require("../../../_shared/typography-GtkgK9QX.cjs"),a=require("../../../_shared/badge-B8xGFpfM.cjs"),o=require("../../../_shared/cards-Cu6p1Brd.cjs"),s=require("../../../_shared/dropdown-menu-CHQzQWUK.cjs");let c=require("react"),l=require("date-fns"),u=require("react/jsx-runtime"),d=require("lucide-react");var f={icon:d.CircleDot,tone:`neutral`},p={created:{icon:d.Plus,tone:`success`,label:`Created`},updated:{icon:d.Pencil,tone:`info`,label:`Updated`},edited:{icon:d.FileEdit,tone:`info`,label:`Edited`},deleted:{icon:d.Trash2,tone:`destructive`,label:`Deleted`},cancelled:{icon:d.Ban,tone:`destructive`,label:`Cancelled`},restored:{icon:d.Sparkles,tone:`success`,label:`Restored`},status_changed:{icon:d.ArrowLeftRight,tone:`primary`,label:`Status changed`},status_transition:{icon:d.ArrowLeftRight,tone:`primary`,label:`Status changed`},status_override:{icon:d.ArrowLeftRight,tone:`warning`,label:`Status overridden`},assigned:{icon:d.UserPlus,tone:`info`,label:`Assigned`},unassigned:{icon:d.UserMinus,tone:`destructive`,label:`Unassigned`},mail_sent:{icon:d.Mail,tone:`info`,label:`Email sent`},mail_delivered:{icon:d.MailCheck,tone:`success`,label:`Email delivered`},mail_opened:{icon:d.MailOpen,tone:`info`,label:`Email opened`},mail_clicked:{icon:d.MailOpen,tone:`info`,label:`Email clicked`},mail_bounced:{icon:d.MailX,tone:`destructive`,label:`Email bounced`},mail_failed:{icon:d.MailX,tone:`destructive`,label:`Email failed`},comment_created:{icon:d.MessageSquare,tone:`warning`,label:`Comment posted`},comment_deleted:{icon:d.MessageSquare,tone:`destructive`,label:`Comment deleted`},paid:{icon:d.Check,tone:`success`,label:`Paid`},refunded:{icon:d.ArrowLeftRight,tone:`warning`,label:`Refunded`},confirmed:{icon:d.ShieldCheck,tone:`success`,label:`Confirmed`},favorited:{icon:d.Heart,tone:`warning`,label:`Favorited`},ordered:{icon:d.ShoppingBag,tone:`primary`,label:`Order placed`},published:{icon:d.Star,tone:`success`,label:`Published`},flagged:{icon:d.Flag,tone:`warning`,label:`Flagged`},linked:{icon:d.LinkIcon,tone:`info`,label:`Linked`},failed:{icon:d.AlertTriangle,tone:`destructive`,label:`Failed`},health_check_failed:{icon:d.AlertTriangle,tone:`destructive`,label:`Health check failed`}};function m(e,t){return t[e]??f}var h={title:`Activity`,empty:`No activity yet.`,loading:`Loading activity…`,today:`Today`,yesterday:`Yesterday`,undated:`Undated`,you:`You`,showChanges:`Show changes`,hideChanges:`Hide changes`,actionsLabel:`Activity actions`,moreLabel:`More`,sources:{comment:`Comment`,mail:`Mail`,booking_log:`Booking log`,activity_log:``,system:`System`},events:{}};function g(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function _(e,t,n){if(!e)return t.undated;let r=new Date(e);if((0,l.isToday)(r))return t.today;if((0,l.isYesterday)(r))return t.yesterday;try{return new Intl.DateTimeFormat(n,{year:`numeric`,month:`long`,day:`numeric`}).format(r)}catch{return new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`long`,day:`numeric`}).format(r)}}function v({activities:e,groupByDate:t=!0,expandedByDefault:n=!1,locale:r,strings:i,formatDateGroupLabel:a}){let[o,s]=(0,c.useState)({}),l=(0,c.useMemo)(()=>{let t=new Map;return e.map(e=>{let n=[String(e.id??``).trim(),String(e.createdAt??``).trim(),String(e.event??``).trim(),String(e.source??``).trim()].join(`:`),r=(t.get(n)??0)+1;return t.set(n,r),{activity:e,key:`${n}:${r}`}})},[e]),u=(0,c.useMemo)(()=>{if(!t)return l.length>0?[{label:``,items:l}]:[];let e=[],n=`__init__`,o=[],s=e=>a?a(e,i):_(e,i,r);for(let t of l){let r=s(t.activity.createdAt??null);r===n?o.push(t):(o.length>0&&e.push({label:n,items:o}),n=r,o=[t])}return o.length>0&&e.push({label:n,items:o}),e},[l,t,r,i,a]),d=(0,c.useCallback)(e=>o[e]??n,[o,n]),f=(0,c.useCallback)(e=>{s(t=>({...t,[e]:!(t[e]??!1)}))},[]),p=(0,c.useCallback)((e,t)=>{s(n=>({...n,[e]:t}))},[]),m=(0,c.useCallback)(()=>{let e={};for(let t of l)e[t.activity.id]=!0;s(e)},[l]),h=(0,c.useCallback)(()=>s({}),[]);return{groups:u,total:l.length,isExpanded:d,toggleExpanded:f,setExpanded:p,expandAll:m,collapseAll:h}}function y({resources:e,onResourcesChange:t}={}){let[n,r]=(0,c.useState)(()=>e??{}),i=(0,c.useRef)(e);(0,c.useEffect)(()=>{e!==i.current&&(i.current=e,r(e??{}))},[e]);let a=(0,c.useRef)(t);(0,c.useEffect)(()=>{a.current=t},[t]);let o=(0,c.useCallback)(e=>{a.current?.(e)},[]),s=(0,c.useCallback)((e,t)=>{r(n=>{let r={...n,[e]:t};return o(r),r})},[o]),l=(0,c.useCallback)((e,t)=>{r(n=>{let r=n[e];if(!r)return n;let i={...n,[e]:{...r,...t}};return o(i),i})},[o]),u=(0,c.useCallback)(e=>{r(t=>{if(!(e in t))return t;let n={...t};return delete n[e],o(n),n})},[o]),d=(0,c.useCallback)(e=>{r(e),o(e)},[o]),f=(0,c.useCallback)(()=>{let e=i.current??{};r(e),o(e)},[o]);return{registry:n,get:(0,c.useCallback)(e=>n[typeof e==`string`?e:e.key],[n]),register:s,update:l,remove:u,setAll:d,reset:f}}function b({activity:e,actions:t,onAction:n,label:i}){return t.length===0?null:(0,u.jsxs)(s.t,{children:[(0,u.jsx)(s.g,{render:e=>(0,u.jsx)(r.t,{...e,type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":i,className:`h-7 w-7 text-muted-foreground`,children:(0,u.jsx)(d.MoreHorizontal,{className:`size-4`})})}),(0,u.jsx)(s.r,{align:`end`,className:`min-w-40`,children:t.map(t=>{let r=t.icon;return(0,u.jsxs)(s.a,{onClick:()=>{t.disabled||(t.onClick(e),n?.(t.id,e))},disabled:t.disabled,variant:t.tone===`destructive`?`destructive`:`default`,className:`gap-2 px-2 py-1.5 text-xs`,children:[!!r&&(0,u.jsx)(r,{className:`size-3.5`}),t.label]},t.id)})})]})}function x({change:e}){let t=e.old!==null&&e.old!==void 0,n=e.new!==null&&e.new!==void 0;return!t&&!n?(0,u.jsx)(i.s,{size:`xs`,tag:`span`,children:e.description}):(0,u.jsxs)(i.s,{tag:`span`,size:`xs`,className:`inline-flex flex-wrap items-baseline gap-1`,children:[!!t&&(0,u.jsx)(i.s,{tag:`span`,size:`xs`,className:`rounded bg-destructive/10 text-destructive line-through px-1 py-px`,children:e.old}),t&&n&&(0,u.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,children:`→`}),!!n&&(0,u.jsx)(i.s,{tag:`span`,size:`xs`,className:`rounded bg-success/15 text-success px-1 py-px`,children:e.new})]})}function S({changes:e,className:t}){return e.length===0?null:(0,u.jsx)(`div`,{className:n.cn(`space-y-1.5 rounded-lg border border-border/60 bg-muted/30 px-3 py-2`,t),children:e.map(e=>(0,u.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,u.jsx)(i.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`shrink-0`,children:e.label}),(0,u.jsx)(x,{change:e})]},`${e.key}-${e.label}`))})}function C({label:e,isFirst:t,className:r}){return e===``?null:(0,u.jsx)(i.s,{size:`xxs`,type:`secondary`,weight:`medium`,className:n.cn(`uppercase tracking-wider`,!t&&`mt-5`,r),children:e})}function w({title:e,hint:t,className:r}){return(0,u.jsxs)(`div`,{className:n.cn(`flex flex-col items-center justify-center gap-2 px-6 py-10 text-center`,r),children:[(0,u.jsx)(`span`,{className:`flex size-9 items-center justify-center rounded-full bg-muted text-muted-foreground`,children:(0,u.jsx)(d.Activity,{className:`size-4`})}),(0,u.jsx)(i.s,{weight:`medium`,children:e}),!!t&&(0,u.jsx)(i.s,{size:`xs`,type:`secondary`,children:t})]})}var T={primary:{bg:`bg-primary/10`,fg:`text-primary`,dot:`bg-primary`,line:`bg-primary/30`,chipBg:`bg-primary/5`,chipFg:`text-primary`},success:{bg:`bg-success/10`,fg:`text-success`,dot:`bg-success`,line:`bg-success/30`,chipBg:`bg-success/10`,chipFg:`text-success`},warning:{bg:`bg-warning/30`,fg:`text-warning-foreground`,dot:`bg-warning`,line:`bg-warning/40`,chipBg:`bg-warning/30`,chipFg:`text-warning-foreground`},destructive:{bg:`bg-destructive/10`,fg:`text-destructive`,dot:`bg-destructive`,line:`bg-destructive/30`,chipBg:`bg-destructive/10`,chipFg:`text-destructive`},info:{bg:`bg-info/10`,fg:`text-info`,dot:`bg-info`,line:`bg-info/30`,chipBg:`bg-info/10`,chipFg:`text-info`},neutral:{bg:`bg-muted`,fg:`text-muted-foreground`,dot:`bg-muted-foreground/60`,line:`bg-border`,chipBg:`bg-muted`,chipFg:`text-muted-foreground`}},E={primary:`primary`,success:`success`,warning:`warning`,destructive:`destructive`,info:`info`,neutral:`secondary`};function D({resource:e,config:t,fallbackText:o,onClick:s}){let c=T[t?.tone??`neutral`],l=t?.icon??d.CircleDot,f=t?.label??o??e.label??e.key,p=typeof s==`function`,m=(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l,{className:n.cn(`size-icon-sm shrink-0`,c.fg)}),(0,u.jsx)(i.s,{tag:`span`,size:`inherit`,weight:`medium`,className:c.chipFg,children:f}),!!t?.tags&&t.tags.length>0&&(0,u.jsx)(i.s,{tag:`span`,size:`xxs`,type:`secondary`,className:`ml-space-2xs border-l border-current/20 pl-space-sm`,children:t.tags.join(` · `)}),!!t?.badge&&(0,u.jsx)(a.t,{inline:!0,variant:E[t.badge.tone??`neutral`],className:`ml-space-2xs`,children:t.badge.label})]}),h=n.cn(`inline-flex items-center gap-space-sm rounded-full px-space-md py-space-2xs align-baseline text-xxs`,`border border-border/60`,c.chipBg,p&&`cursor-pointer transition-colors hover:bg-foreground/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`);return p?(0,u.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:e=>{e.stopPropagation(),s?.()},className:n.cn(h,`h-auto rounded-full`),title:t?.note,children:m}):(0,u.jsx)(`span`,{className:h,title:t?.note,children:m})}function O({actorId:e,text:t,href:n,activity:a,youLabel:o,currentUserId:s,onActorClick:c}){let l=s!==void 0&&e!==void 0&&s===e?o:t,d=a.actor??{id:e,name:t};return n?(0,u.jsx)(`a`,{href:n,onClick:e=>{c&&(e.preventDefault(),e.stopPropagation(),c(d,a))},className:`font-semibold text-foreground underline-offset-2 hover:underline`,children:l}):c?(0,u.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:e=>{e.stopPropagation(),c(d,a)},className:`h-auto rounded px-0 py-0 font-semibold text-foreground underline-offset-2 hover:underline`,children:l}):(0,u.jsx)(i.s,{tag:`span`,weight:`semibold`,children:l})}function k(e,t){return e.map((e,n)=>{let r=`seg-${n}-${e.type}`;switch(e.type){case`actor`:return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(O,{actorId:e.actorId,text:e.text,href:e.href,activity:t.activity,youLabel:t.youLabel,currentUserId:t.currentUserId,onActorClick:t.onActorClick}),` `]},r);case`field`:case`value`:return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(i.s,{tag:`span`,weight:`semibold`,children:e.text}),` `]},r);case`status`:return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(a.t,{inline:!0,variant:E[e.tone??`neutral`],children:e.text}),` `]},r);case`resource`:{let n=t.getResourceConfig?.(e.resource);return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(D,{resource:e.resource,config:n,fallbackText:e.text,onClick:t.onResourceClick?()=>t.onResourceClick?.(e.resource,n,t.activity):void 0}),` `]},r)}default:return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(i.s,{tag:`span`,children:e.text}),` `]},r)}})}function A(e){let{activity:t}=e,n=t.headline??t.event,r=t.actor?.name;if(!r||!n.includes(r))return(0,u.jsx)(i.s,{tag:`span`,children:n});let[a,...o]=n.split(r);return(0,u.jsxs)(u.Fragment,{children:[!!a&&(0,u.jsx)(i.s,{tag:`span`,children:a}),(0,u.jsx)(O,{actorId:t.actor?.id,text:r,href:t.actor?.href,activity:t,youLabel:e.youLabel,currentUserId:e.currentUserId,onActorClick:e.onActorClick}),o.length>0&&(0,u.jsx)(i.s,{tag:`span`,children:o.join(r)})]})}function j(e){let t=e.activity.segments;return t&&t.length>0?(0,u.jsx)(`span`,{className:`leading-snug [&>span]:leading-snug`,children:k(t,e)}):(0,u.jsx)(`span`,{className:`leading-snug`,children:A(e)})}function M({icon:e,tone:t,density:r,isLast:i}){let a=T[t];return r===`compact`?(0,u.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,u.jsx)(`span`,{"aria-hidden":!0,className:n.cn(`mt-1.5 size-2 shrink-0 rounded-full`,a.dot)}),!i&&(0,u.jsx)(`span`,{"aria-hidden":!0,className:n.cn(`mt-1 w-px flex-1`,a.line)})]}):r===`rich`?(0,u.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,u.jsx)(`span`,{className:n.cn(`flex size-7 shrink-0 items-center justify-center rounded-full ring-1 ring-border/60`,a.bg,a.fg),children:(0,u.jsx)(e,{className:`size-3.5`})}),!i&&(0,u.jsx)(`span`,{"aria-hidden":!0,className:n.cn(`mt-1 w-px flex-1`,a.line)})]}):(0,u.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,u.jsx)(`span`,{className:n.cn(`flex size-5 shrink-0 items-center justify-center rounded-full`,a.bg,a.fg),children:(0,u.jsx)(e,{className:`size-3`})}),!i&&(0,u.jsx)(`span`,{"aria-hidden":!0,className:n.cn(`mt-1 w-px flex-1`,a.line)})]})}function N(e){let{activity:t,density:o,eventConfig:s,tone:c,isLast:l,expanded:f,onToggleExpanded:p,relativeTime:m,absoluteTime:h,sourceLabel:g,youLabel:_,showChangesLabel:v,hideChangesLabel:y,actionsLabel:x,currentUserId:C,actions:w,onActivityClick:T,onActorClick:E,onResourceClick:O,onAction:k,getResourceConfig:A,headlineOverride:N,markerOverride:P}=e,F=t.iconOverride??s.icon,I=(t.changes?.length??0)>0,L=(t.metadata?.length??0)>0,R=(t.resources?.length??0)>0,z=t.description!==void 0&&t.description!==null&&t.description!==``,B=o!==`compact`,V=o===`rich`,H=N??(0,u.jsx)(j,{activity:t,currentUserId:C,youLabel:_,onActorClick:E,onResourceClick:O,getResourceConfig:A}),U=P??(0,u.jsx)(M,{icon:F,tone:c,density:o,isLast:l}),W=typeof T==`function`,G=I||R||w.length>0||typeof E==`function`||typeof O==`function`,K=W&&!G;return(0,u.jsxs)(`div`,{className:n.cn(`relative flex gap-space-lg`,W&&`cursor-pointer rounded-md hover:bg-muted/40`),onClick:W?()=>T?.(t):void 0,role:K?`button`:void 0,tabIndex:K?0:void 0,onKeyDown:K?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),T?.(t))}:void 0,children:[U,(0,u.jsxs)(`div`,{className:n.cn(`min-w-0 flex-1`,!l&&(o===`rich`?`pb-row-y-lg`:o===`compact`?`pb-row-y`:`pb-row-y-lg`)),children:[(0,u.jsxs)(`div`,{className:`flex flex-col gap-space-sm sm:flex-row sm:items-start sm:justify-between sm:gap-space-lg`,children:[(0,u.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-space-sm gap-y-space-sm`,children:[(0,u.jsx)(i.s,{tag:`span`,size:`inherit`,lineHeight:`snug`,children:H}),!!g&&(0,u.jsx)(a.t,{inline:!0,variant:`secondary`,children:g}),V&&I&&(0,u.jsx)(r.t,{type:`button`,size:`icon-small`,variant:`secondary`,buttonStyle:`ghost`,className:`h-5 w-5 text-muted-foreground`,onClick:e=>{e.stopPropagation(),p()},title:f?y:v,"aria-label":f?y:v,"aria-expanded":f,children:f?(0,u.jsx)(d.ChevronDown,{className:`size-3.5`}):(0,u.jsx)(d.ChevronRight,{className:`size-3.5`})})]}),(0,u.jsxs)(`div`,{className:`flex shrink-0 items-center gap-space-sm`,children:[!!m&&(0,u.jsx)(i.s,{size:`inherit`,type:`secondary`,className:`whitespace-nowrap tabular-nums pt-space-2xs text-xxs`,title:h??void 0,children:m}),V&&w.length>0&&(0,u.jsx)(b,{activity:t,actions:w,onAction:k,label:x})]})]}),!!B&&z&&(0,u.jsx)(i.s,{tag:`div`,size:`inherit`,type:`secondary`,className:`mt-space-sm text-xs`,children:t.description}),!!V&&L&&t.metadata&&(0,u.jsx)(`div`,{className:`mt-space-md flex flex-wrap gap-x-space-lg gap-y-space-sm`,children:t.metadata.map(e=>(0,u.jsxs)(i.s,{size:`inherit`,type:`secondary`,className:`text-xs`,children:[(0,u.jsxs)(i.s,{tag:`span`,size:`inherit`,type:`discrete`,className:`text-xxs`,children:[e.label,`:`,` `]}),e.value]},e.label))}),!!V&&R&&t.resources&&(0,u.jsx)(`div`,{className:`mt-space-md flex flex-wrap gap-space-sm`,children:t.resources.map(e=>{let n=A?.(e);return(0,u.jsx)(D,{resource:e,config:n,onClick:O?()=>O(e,n,t):void 0},e.key)})}),!!V&&I&&f&&t.changes&&(0,u.jsx)(`div`,{className:`mt-space-md`,children:(0,u.jsx)(S,{changes:t.changes})})]})]})}function P(e,t){try{return new Intl.DateTimeFormat(t,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e))}catch{return e}}function F(e,t){return e.toneOverride??t}function I(r){let{activities:a=[],density:o=`default`,groupByDate:s=!0,expandedByDefault:l=!1,currentUserId:d,loading:f=!1,eventConfig:g,strings:_,slots:b,className:x,locale:S,formatRelativeTime:T,formatAbsoluteTime:E,formatDateGroupLabel:D,getEventLabel:O,getSourceLabel:k,actionsForActivity:A,onActivityClick:j,onActorClick:M,onResourceClick:I,onAction:L,resources:R,onResourcesChange:z}=r,B=e.useStrings(h,_),V=(0,c.useMemo)(()=>({...p,...g}),[g]),H=y({resources:R,onResourcesChange:z}),U=v({activities:a,groupByDate:s,expandedByDefault:l,locale:S,strings:B,formatDateGroupLabel:D}),{formatRelativeTime:W}=t.i(),G=T??W??(e=>e),K=E??(e=>P(e,S));if(f)return(0,u.jsx)(`div`,{className:n.cn(`activities-feed--component`,`px-2 py-4`,x),children:b?.loading??(0,u.jsx)(i.s,{type:`secondary`,align:`center`,children:B.loading})});if(a.length===0)return(0,u.jsx)(`div`,{className:n.cn(`activities-feed--component`,`px-2 py-2`,x),children:b?.empty??(0,u.jsx)(w,{title:B.empty})});let q=U.groups.reduce((e,t)=>e+t.items.length,0),J=0;return(0,u.jsxs)(`div`,{className:n.cn(`activities-feed--component flex flex-col`,x),children:[!!b?.header&&(0,u.jsx)(`div`,{className:`mb-3`,children:b.header}),(0,u.jsx)(`div`,{className:`flex flex-col`,children:U.groups.map((e,t)=>{let r=t===0;return(0,u.jsxs)(`div`,{className:n.cn(r?``:`mt-1`),children:[b?.renderDateLabel?b.renderDateLabel(e.label,r):(0,u.jsx)(C,{label:e.label,isFirst:r,className:r?``:`mb-2`}),(0,u.jsx)(`div`,{className:n.cn(`flex flex-col`,!!e.label&&`mt-2`),children:e.items.map((e,t)=>{let n=e.activity,r=t===0,i=++J===q,a=m(n.event,V),s=F(n,a.tone),c=n.timestamp??(n.createdAt?G(n.createdAt):null),l=n.createdAt?K(n.createdAt):null,f=n.source?k?.(n.source)??B.sources[n.source]??a.sourceLabel??null:a.sourceLabel??null,p=f&&f.trim().length>0?f:null,h=A?.(n)??[],g={density:o,isLast:i,isFirstInGroup:r,activity:n,eventConfig:a,tone:s,relativeTime:c,absoluteTime:l,sourceLabel:p,expanded:U.isExpanded(n.id),toggleExpanded:()=>U.toggleExpanded(n.id)},_=b?.renderRow?.(n,g);if(_!==void 0)return(0,u.jsx)(`div`,{children:_},e.key);let v=b?.renderHeadline?.(n,g),y=b?.renderMarker?.(n,g);return(0,u.jsx)(N,{activity:n,density:o,eventConfig:a,tone:s,isLast:i,expanded:g.expanded,onToggleExpanded:g.toggleExpanded,relativeTime:c,absoluteTime:l,sourceLabel:p,youLabel:B.you,showChangesLabel:B.showChanges,hideChangesLabel:B.hideChanges,actionsLabel:B.actionsLabel,currentUserId:d,actions:h,onActivityClick:j,onActorClick:M,onResourceClick:I,onAction:L,getResourceConfig:e=>H.get(e),headlineOverride:v,markerOverride:y},e.key)})})]},`${e.label}-${t}`)})}),!!b?.footer&&(0,u.jsx)(`div`,{className:`mt-3`,children:b.footer})]})}I.displayName=`ActivityFeed`;function L({title:t,titleSuffix:n,description:r,padding:i=`default`,composerSlot:a,className:s,strings:c,slots:l,...f}){let p=e.useStrings(h,c),m=t??p.title;return(0,u.jsx)(o.t,{icon:(0,u.jsx)(d.Activity,{className:`size-4`}),title:m,titleSuffix:n,description:r,padding:i,className:s,children:(0,u.jsx)(I,{...f,strings:c,slots:{...l,header:a??l?.header}})})}L.displayName=`ActivityFeedCard`,exports.ACTIVITY_TONE=T,exports.ActivityActionsMenu=b,exports.ActivityChanges=S,exports.ActivityDateLabel=C,exports.ActivityEmptyState=w,exports.ActivityFeed=I,exports.ActivityFeedCard=L,exports.ActivityHeadline=j,exports.ActivityMarker=M,exports.ActivityResourceTag=D,exports.ActivityRow=N,exports.TONE_TO_BADGE_VARIANT=E,exports.defaultActivitiesStrings=h,exports.defaultActivityEventConfig=p,exports.defaultEventConfig=f,exports.interpolateActivityString=g,exports.resolveEventConfig=m,exports.useActivityFeed=v,exports.useActivityResources=y;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../_shared/ui-provider-CrsJ_dGn.cjs"),n=require("../../../lib/utils.cjs"),r=require("../../../_shared/button-CfQtOuBK.cjs"),i=require("../../../_shared/typography-CWEobAJV.cjs"),a=require("../../../_shared/badge-LSAgdmGt.cjs"),o=require("../../../_shared/cards-m03XN10f.cjs"),s=require("../../../_shared/dropdown-menu-CHQzQWUK.cjs");let c=require("react"),l=require("date-fns"),u=require("react/jsx-runtime"),d=require("lucide-react");var f={icon:d.CircleDot,tone:`neutral`},p={created:{icon:d.Plus,tone:`success`,label:`Created`},updated:{icon:d.Pencil,tone:`info`,label:`Updated`},edited:{icon:d.FileEdit,tone:`info`,label:`Edited`},deleted:{icon:d.Trash2,tone:`destructive`,label:`Deleted`},cancelled:{icon:d.Ban,tone:`destructive`,label:`Cancelled`},restored:{icon:d.Sparkles,tone:`success`,label:`Restored`},status_changed:{icon:d.ArrowLeftRight,tone:`primary`,label:`Status changed`},status_transition:{icon:d.ArrowLeftRight,tone:`primary`,label:`Status changed`},status_override:{icon:d.ArrowLeftRight,tone:`warning`,label:`Status overridden`},assigned:{icon:d.UserPlus,tone:`info`,label:`Assigned`},unassigned:{icon:d.UserMinus,tone:`destructive`,label:`Unassigned`},mail_sent:{icon:d.Mail,tone:`info`,label:`Email sent`},mail_delivered:{icon:d.MailCheck,tone:`success`,label:`Email delivered`},mail_opened:{icon:d.MailOpen,tone:`info`,label:`Email opened`},mail_clicked:{icon:d.MailOpen,tone:`info`,label:`Email clicked`},mail_bounced:{icon:d.MailX,tone:`destructive`,label:`Email bounced`},mail_failed:{icon:d.MailX,tone:`destructive`,label:`Email failed`},comment_created:{icon:d.MessageSquare,tone:`warning`,label:`Comment posted`},comment_deleted:{icon:d.MessageSquare,tone:`destructive`,label:`Comment deleted`},paid:{icon:d.Check,tone:`success`,label:`Paid`},refunded:{icon:d.ArrowLeftRight,tone:`warning`,label:`Refunded`},confirmed:{icon:d.ShieldCheck,tone:`success`,label:`Confirmed`},favorited:{icon:d.Heart,tone:`warning`,label:`Favorited`},ordered:{icon:d.ShoppingBag,tone:`primary`,label:`Order placed`},published:{icon:d.Star,tone:`success`,label:`Published`},flagged:{icon:d.Flag,tone:`warning`,label:`Flagged`},linked:{icon:d.LinkIcon,tone:`info`,label:`Linked`},failed:{icon:d.AlertTriangle,tone:`destructive`,label:`Failed`},health_check_failed:{icon:d.AlertTriangle,tone:`destructive`,label:`Health check failed`}};function m(e,t){return t[e]??f}var h={title:`Activity`,empty:`No activity yet.`,loading:`Loading activity…`,today:`Today`,yesterday:`Yesterday`,undated:`Undated`,you:`You`,showChanges:`Show changes`,hideChanges:`Hide changes`,actionsLabel:`Activity actions`,moreLabel:`More`,sources:{comment:`Comment`,mail:`Mail`,booking_log:`Booking log`,activity_log:``,system:`System`},events:{}};function g(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function _(e,t,n){if(!e)return t.undated;let r=new Date(e);if((0,l.isToday)(r))return t.today;if((0,l.isYesterday)(r))return t.yesterday;try{return new Intl.DateTimeFormat(n,{year:`numeric`,month:`long`,day:`numeric`}).format(r)}catch{return new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`long`,day:`numeric`}).format(r)}}function v({activities:e,groupByDate:t=!0,expandedByDefault:n=!1,locale:r,strings:i,formatDateGroupLabel:a}){let[o,s]=(0,c.useState)({}),l=(0,c.useMemo)(()=>{let t=new Map;return e.map(e=>{let n=[String(e.id??``).trim(),String(e.createdAt??``).trim(),String(e.event??``).trim(),String(e.source??``).trim()].join(`:`),r=(t.get(n)??0)+1;return t.set(n,r),{activity:e,key:`${n}:${r}`}})},[e]),u=(0,c.useMemo)(()=>{if(!t)return l.length>0?[{label:``,items:l}]:[];let e=[],n=`__init__`,o=[],s=e=>a?a(e,i):_(e,i,r);for(let t of l){let r=s(t.activity.createdAt??null);r===n?o.push(t):(o.length>0&&e.push({label:n,items:o}),n=r,o=[t])}return o.length>0&&e.push({label:n,items:o}),e},[l,t,r,i,a]),d=(0,c.useCallback)(e=>o[e]??n,[o,n]),f=(0,c.useCallback)(e=>{s(t=>({...t,[e]:!(t[e]??!1)}))},[]),p=(0,c.useCallback)((e,t)=>{s(n=>({...n,[e]:t}))},[]),m=(0,c.useCallback)(()=>{let e={};for(let t of l)e[t.activity.id]=!0;s(e)},[l]),h=(0,c.useCallback)(()=>s({}),[]);return{groups:u,total:l.length,isExpanded:d,toggleExpanded:f,setExpanded:p,expandAll:m,collapseAll:h}}function y({resources:e,onResourcesChange:t}={}){let[n,r]=(0,c.useState)(()=>e??{}),i=(0,c.useRef)(e);(0,c.useEffect)(()=>{e!==i.current&&(i.current=e,r(e??{}))},[e]);let a=(0,c.useRef)(t);(0,c.useEffect)(()=>{a.current=t},[t]);let o=(0,c.useCallback)(e=>{a.current?.(e)},[]),s=(0,c.useCallback)((e,t)=>{r(n=>{let r={...n,[e]:t};return o(r),r})},[o]),l=(0,c.useCallback)((e,t)=>{r(n=>{let r=n[e];if(!r)return n;let i={...n,[e]:{...r,...t}};return o(i),i})},[o]),u=(0,c.useCallback)(e=>{r(t=>{if(!(e in t))return t;let n={...t};return delete n[e],o(n),n})},[o]),d=(0,c.useCallback)(e=>{r(e),o(e)},[o]),f=(0,c.useCallback)(()=>{let e=i.current??{};r(e),o(e)},[o]);return{registry:n,get:(0,c.useCallback)(e=>n[typeof e==`string`?e:e.key],[n]),register:s,update:l,remove:u,setAll:d,reset:f}}function b({activity:e,actions:t,onAction:n,label:i}){return t.length===0?null:(0,u.jsxs)(s.t,{children:[(0,u.jsx)(s.g,{render:e=>(0,u.jsx)(r.t,{...e,type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":i,className:`h-7 w-7 text-muted-foreground`,children:(0,u.jsx)(d.MoreHorizontal,{className:`size-4`})})}),(0,u.jsx)(s.r,{align:`end`,className:`min-w-40`,children:t.map(t=>{let r=t.icon;return(0,u.jsxs)(s.a,{onClick:()=>{t.disabled||(t.onClick(e),n?.(t.id,e))},disabled:t.disabled,variant:t.tone===`destructive`?`destructive`:`default`,className:`gap-2 px-2 py-1.5 text-xs`,children:[!!r&&(0,u.jsx)(r,{className:`size-3.5`}),t.label]},t.id)})})]})}function x({change:e}){let t=e.old!==null&&e.old!==void 0,n=e.new!==null&&e.new!==void 0;return!t&&!n?(0,u.jsx)(i.s,{size:`xs`,tag:`span`,children:e.description}):(0,u.jsxs)(i.s,{tag:`span`,size:`xs`,className:`inline-flex flex-wrap items-baseline gap-1`,children:[!!t&&(0,u.jsx)(i.s,{tag:`span`,size:`xs`,className:`rounded bg-destructive/10 text-destructive line-through px-1 py-px`,children:e.old}),t&&n&&(0,u.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,children:`→`}),!!n&&(0,u.jsx)(i.s,{tag:`span`,size:`xs`,className:`rounded bg-success/15 text-success px-1 py-px`,children:e.new})]})}function S({changes:e,className:t}){return e.length===0?null:(0,u.jsx)(`div`,{className:n.cn(`space-y-1.5 rounded-lg border border-border/60 bg-muted/30 px-3 py-2`,t),children:e.map(e=>(0,u.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,u.jsx)(i.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`shrink-0`,children:e.label}),(0,u.jsx)(x,{change:e})]},`${e.key}-${e.label}`))})}function C({label:e,isFirst:t,className:r}){return e===``?null:(0,u.jsx)(i.s,{size:`xs`,type:`secondary`,weight:`medium`,className:n.cn(`uppercase tracking-wider`,!t&&`mt-5`,r),children:e})}function w({title:e,hint:t,className:r}){return(0,u.jsxs)(`div`,{className:n.cn(`flex flex-col items-center justify-center gap-2 px-6 py-10 text-center`,r),children:[(0,u.jsx)(`span`,{className:`flex size-9 items-center justify-center rounded-full bg-muted text-muted-foreground`,children:(0,u.jsx)(d.Activity,{className:`size-4`})}),(0,u.jsx)(i.s,{weight:`medium`,children:e}),!!t&&(0,u.jsx)(i.s,{size:`xs`,type:`secondary`,children:t})]})}var T={primary:{bg:`bg-primary/10`,fg:`text-primary`,dot:`bg-primary`,line:`bg-primary/30`,chipBg:`bg-primary/5`,chipFg:`text-primary`},success:{bg:`bg-success/10`,fg:`text-success`,dot:`bg-success`,line:`bg-success/30`,chipBg:`bg-success/10`,chipFg:`text-success`},warning:{bg:`bg-warning/30`,fg:`text-warning-foreground`,dot:`bg-warning`,line:`bg-warning/40`,chipBg:`bg-warning/30`,chipFg:`text-warning-foreground`},destructive:{bg:`bg-destructive/10`,fg:`text-destructive`,dot:`bg-destructive`,line:`bg-destructive/30`,chipBg:`bg-destructive/10`,chipFg:`text-destructive`},info:{bg:`bg-info/10`,fg:`text-info`,dot:`bg-info`,line:`bg-info/30`,chipBg:`bg-info/10`,chipFg:`text-info`},neutral:{bg:`bg-muted`,fg:`text-muted-foreground`,dot:`bg-muted-foreground/60`,line:`bg-border`,chipBg:`bg-muted`,chipFg:`text-muted-foreground`}},E={primary:`primary`,success:`success`,warning:`warning`,destructive:`destructive`,info:`info`,neutral:`secondary`};function D({resource:e,config:t,fallbackText:o,onClick:s}){let c=T[t?.tone??`neutral`],l=t?.icon??d.CircleDot,f=t?.label??o??e.label??e.key,p=typeof s==`function`,m=(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l,{className:n.cn(`size-icon-sm shrink-0`,c.fg)}),(0,u.jsx)(i.s,{tag:`span`,size:`inherit`,weight:`medium`,className:c.chipFg,children:f}),!!t?.tags&&t.tags.length>0&&(0,u.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,className:`ml-space-2xs border-l border-current/20 pl-space-sm`,children:t.tags.join(` · `)}),!!t?.badge&&(0,u.jsx)(a.t,{inline:!0,variant:E[t.badge.tone??`neutral`],className:`ml-space-2xs`,children:t.badge.label})]}),h=n.cn(`inline-flex items-center gap-space-sm rounded-full px-space-md py-space-2xs align-baseline text-xs`,`border border-border/60`,c.chipBg,p&&`cursor-pointer transition-colors hover:bg-foreground/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`);return p?(0,u.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:e=>{e.stopPropagation(),s?.()},className:n.cn(h,`h-auto rounded-full`),title:t?.note,children:m}):(0,u.jsx)(`span`,{className:h,title:t?.note,children:m})}function O({actorId:e,text:t,href:n,activity:a,youLabel:o,currentUserId:s,onActorClick:c}){let l=s!==void 0&&e!==void 0&&s===e?o:t,d=a.actor??{id:e,name:t};return n?(0,u.jsx)(`a`,{href:n,onClick:e=>{c&&(e.preventDefault(),e.stopPropagation(),c(d,a))},className:`font-semibold text-foreground underline-offset-2 hover:underline`,children:l}):c?(0,u.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:e=>{e.stopPropagation(),c(d,a)},className:`h-auto rounded px-0 py-0 font-semibold text-foreground underline-offset-2 hover:underline`,children:l}):(0,u.jsx)(i.s,{tag:`span`,weight:`semibold`,children:l})}function k(e,t){return e.map((e,n)=>{let r=`seg-${n}-${e.type}`;switch(e.type){case`actor`:return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(O,{actorId:e.actorId,text:e.text,href:e.href,activity:t.activity,youLabel:t.youLabel,currentUserId:t.currentUserId,onActorClick:t.onActorClick}),` `]},r);case`field`:case`value`:return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(i.s,{tag:`span`,weight:`semibold`,children:e.text}),` `]},r);case`status`:return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(a.t,{inline:!0,variant:E[e.tone??`neutral`],children:e.text}),` `]},r);case`resource`:{let n=t.getResourceConfig?.(e.resource);return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(D,{resource:e.resource,config:n,fallbackText:e.text,onClick:t.onResourceClick?()=>t.onResourceClick?.(e.resource,n,t.activity):void 0}),` `]},r)}default:return(0,u.jsxs)(c.Fragment,{children:[(0,u.jsx)(i.s,{tag:`span`,children:e.text}),` `]},r)}})}function A(e){let{activity:t}=e,n=t.headline??t.event,r=t.actor?.name;if(!r||!n.includes(r))return(0,u.jsx)(i.s,{tag:`span`,children:n});let[a,...o]=n.split(r);return(0,u.jsxs)(u.Fragment,{children:[!!a&&(0,u.jsx)(i.s,{tag:`span`,children:a}),(0,u.jsx)(O,{actorId:t.actor?.id,text:r,href:t.actor?.href,activity:t,youLabel:e.youLabel,currentUserId:e.currentUserId,onActorClick:e.onActorClick}),o.length>0&&(0,u.jsx)(i.s,{tag:`span`,children:o.join(r)})]})}function j(e){let t=e.activity.segments;return t&&t.length>0?(0,u.jsx)(`span`,{className:`leading-snug [&>span]:leading-snug`,children:k(t,e)}):(0,u.jsx)(`span`,{className:`leading-snug`,children:A(e)})}function M({icon:e,tone:t,density:r,isLast:i}){let a=T[t];return r===`compact`?(0,u.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,u.jsx)(`span`,{"aria-hidden":!0,className:n.cn(`mt-1.5 size-2 shrink-0 rounded-full`,a.dot)}),!i&&(0,u.jsx)(`span`,{"aria-hidden":!0,className:n.cn(`mt-1 w-px flex-1`,a.line)})]}):r===`rich`?(0,u.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,u.jsx)(`span`,{className:n.cn(`flex size-7 shrink-0 items-center justify-center rounded-full ring-1 ring-border/60`,a.bg,a.fg),children:(0,u.jsx)(e,{className:`size-3.5`})}),!i&&(0,u.jsx)(`span`,{"aria-hidden":!0,className:n.cn(`mt-1 w-px flex-1`,a.line)})]}):(0,u.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,u.jsx)(`span`,{className:n.cn(`flex size-5 shrink-0 items-center justify-center rounded-full`,a.bg,a.fg),children:(0,u.jsx)(e,{className:`size-3`})}),!i&&(0,u.jsx)(`span`,{"aria-hidden":!0,className:n.cn(`mt-1 w-px flex-1`,a.line)})]})}function N(e){let{activity:t,density:o,eventConfig:s,tone:c,isLast:l,expanded:f,onToggleExpanded:p,relativeTime:m,absoluteTime:h,sourceLabel:g,youLabel:_,showChangesLabel:v,hideChangesLabel:y,actionsLabel:x,currentUserId:C,actions:w,onActivityClick:T,onActorClick:E,onResourceClick:O,onAction:k,getResourceConfig:A,headlineOverride:N,markerOverride:P}=e,F=t.iconOverride??s.icon,I=(t.changes?.length??0)>0,L=(t.metadata?.length??0)>0,R=(t.resources?.length??0)>0,z=t.description!==void 0&&t.description!==null&&t.description!==``,B=o!==`compact`,V=o===`rich`,H=N??(0,u.jsx)(j,{activity:t,currentUserId:C,youLabel:_,onActorClick:E,onResourceClick:O,getResourceConfig:A}),U=P??(0,u.jsx)(M,{icon:F,tone:c,density:o,isLast:l}),W=typeof T==`function`,G=I||R||w.length>0||typeof E==`function`||typeof O==`function`,K=W&&!G;return(0,u.jsxs)(`div`,{className:n.cn(`relative flex gap-space-lg`,W&&`cursor-pointer rounded-md hover:bg-muted/40`),onClick:W?()=>T?.(t):void 0,role:K?`button`:void 0,tabIndex:K?0:void 0,onKeyDown:K?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),T?.(t))}:void 0,children:[U,(0,u.jsxs)(`div`,{className:n.cn(`min-w-0 flex-1`,!l&&(o===`rich`?`pb-row-y-lg`:o===`compact`?`pb-row-y`:`pb-row-y-lg`)),children:[(0,u.jsxs)(`div`,{className:`flex flex-col gap-space-sm sm:flex-row sm:items-start sm:justify-between sm:gap-space-lg`,children:[(0,u.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-space-sm gap-y-space-sm`,children:[(0,u.jsx)(i.s,{tag:`span`,size:`inherit`,lineHeight:`snug`,children:H}),!!g&&(0,u.jsx)(a.t,{inline:!0,variant:`secondary`,children:g}),V&&I&&(0,u.jsx)(r.t,{type:`button`,size:`icon-small`,variant:`secondary`,buttonStyle:`ghost`,className:`h-5 w-5 text-muted-foreground`,onClick:e=>{e.stopPropagation(),p()},title:f?y:v,"aria-label":f?y:v,"aria-expanded":f,children:f?(0,u.jsx)(d.ChevronDown,{className:`size-3.5`}):(0,u.jsx)(d.ChevronRight,{className:`size-3.5`})})]}),(0,u.jsxs)(`div`,{className:`flex shrink-0 items-center gap-space-sm`,children:[!!m&&(0,u.jsx)(i.s,{size:`inherit`,type:`secondary`,className:`whitespace-nowrap tabular-nums pt-space-2xs text-xs`,title:h??void 0,children:m}),V&&w.length>0&&(0,u.jsx)(b,{activity:t,actions:w,onAction:k,label:x})]})]}),!!B&&z&&(0,u.jsx)(i.s,{tag:`div`,size:`inherit`,type:`secondary`,className:`mt-space-sm text-xs`,children:t.description}),!!V&&L&&t.metadata&&(0,u.jsx)(`div`,{className:`mt-space-md flex flex-wrap gap-x-space-lg gap-y-space-sm`,children:t.metadata.map(e=>(0,u.jsxs)(i.s,{size:`inherit`,type:`secondary`,className:`text-xs`,children:[(0,u.jsxs)(i.s,{tag:`span`,size:`inherit`,type:`discrete`,className:`text-xs`,children:[e.label,`:`,` `]}),e.value]},e.label))}),!!V&&R&&t.resources&&(0,u.jsx)(`div`,{className:`mt-space-md flex flex-wrap gap-space-sm`,children:t.resources.map(e=>{let n=A?.(e);return(0,u.jsx)(D,{resource:e,config:n,onClick:O?()=>O(e,n,t):void 0},e.key)})}),!!V&&I&&f&&t.changes&&(0,u.jsx)(`div`,{className:`mt-space-md`,children:(0,u.jsx)(S,{changes:t.changes})})]})]})}function P(e,t){try{return new Intl.DateTimeFormat(t,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e))}catch{return e}}function F(e,t){return e.toneOverride??t}function I(r){let{activities:a=[],density:o=`default`,groupByDate:s=!0,expandedByDefault:l=!1,currentUserId:d,loading:f=!1,eventConfig:g,strings:_,slots:b,className:x,locale:S,formatRelativeTime:T,formatAbsoluteTime:E,formatDateGroupLabel:D,getEventLabel:O,getSourceLabel:k,actionsForActivity:A,onActivityClick:j,onActorClick:M,onResourceClick:I,onAction:L,resources:R,onResourcesChange:z}=r,B=e.useStrings(h,_),V=(0,c.useMemo)(()=>({...p,...g}),[g]),H=y({resources:R,onResourcesChange:z}),U=v({activities:a,groupByDate:s,expandedByDefault:l,locale:S,strings:B,formatDateGroupLabel:D}),{formatRelativeTime:W}=t.i(),G=T??W??(e=>e),K=E??(e=>P(e,S));if(f)return(0,u.jsx)(`div`,{className:n.cn(`activities-feed--component`,`px-2 py-4`,x),children:b?.loading??(0,u.jsx)(i.s,{type:`secondary`,align:`center`,children:B.loading})});if(a.length===0)return(0,u.jsx)(`div`,{className:n.cn(`activities-feed--component`,`px-2 py-2`,x),children:b?.empty??(0,u.jsx)(w,{title:B.empty})});let q=U.groups.reduce((e,t)=>e+t.items.length,0),J=0;return(0,u.jsxs)(`div`,{className:n.cn(`activities-feed--component flex flex-col`,x),children:[!!b?.header&&(0,u.jsx)(`div`,{className:`mb-3`,children:b.header}),(0,u.jsx)(`div`,{className:`flex flex-col`,children:U.groups.map((e,t)=>{let r=t===0;return(0,u.jsxs)(`div`,{className:n.cn(r?``:`mt-1`),children:[b?.renderDateLabel?b.renderDateLabel(e.label,r):(0,u.jsx)(C,{label:e.label,isFirst:r,className:r?``:`mb-2`}),(0,u.jsx)(`div`,{className:n.cn(`flex flex-col`,!!e.label&&`mt-2`),children:e.items.map((e,t)=>{let n=e.activity,r=t===0,i=++J===q,a=m(n.event,V),s=F(n,a.tone),c=n.timestamp??(n.createdAt?G(n.createdAt):null),l=n.createdAt?K(n.createdAt):null,f=n.source?k?.(n.source)??B.sources[n.source]??a.sourceLabel??null:a.sourceLabel??null,p=f&&f.trim().length>0?f:null,h=A?.(n)??[],g={density:o,isLast:i,isFirstInGroup:r,activity:n,eventConfig:a,tone:s,relativeTime:c,absoluteTime:l,sourceLabel:p,expanded:U.isExpanded(n.id),toggleExpanded:()=>U.toggleExpanded(n.id)},_=b?.renderRow?.(n,g);if(_!==void 0)return(0,u.jsx)(`div`,{children:_},e.key);let v=b?.renderHeadline?.(n,g),y=b?.renderMarker?.(n,g);return(0,u.jsx)(N,{activity:n,density:o,eventConfig:a,tone:s,isLast:i,expanded:g.expanded,onToggleExpanded:g.toggleExpanded,relativeTime:c,absoluteTime:l,sourceLabel:p,youLabel:B.you,showChangesLabel:B.showChanges,hideChangesLabel:B.hideChanges,actionsLabel:B.actionsLabel,currentUserId:d,actions:h,onActivityClick:j,onActorClick:M,onResourceClick:I,onAction:L,getResourceConfig:e=>H.get(e),headlineOverride:v,markerOverride:y},e.key)})})]},`${e.label}-${t}`)})}),!!b?.footer&&(0,u.jsx)(`div`,{className:`mt-3`,children:b.footer})]})}I.displayName=`ActivityFeed`;function L({title:t,titleSuffix:n,description:r,padding:i=`default`,composerSlot:a,className:s,strings:c,slots:l,...f}){let p=e.useStrings(h,c),m=t??p.title;return(0,u.jsx)(o.t,{icon:(0,u.jsx)(d.Activity,{className:`size-4`}),title:m,titleSuffix:n,description:r,padding:i,className:s,children:(0,u.jsx)(I,{...f,strings:c,slots:{...l,header:a??l?.header}})})}L.displayName=`ActivityFeedCard`,exports.ACTIVITY_TONE=T,exports.ActivityActionsMenu=b,exports.ActivityChanges=S,exports.ActivityDateLabel=C,exports.ActivityEmptyState=w,exports.ActivityFeed=I,exports.ActivityFeedCard=L,exports.ActivityHeadline=j,exports.ActivityMarker=M,exports.ActivityResourceTag=D,exports.ActivityRow=N,exports.TONE_TO_BADGE_VARIANT=E,exports.defaultActivitiesStrings=h,exports.defaultActivityEventConfig=p,exports.defaultEventConfig=f,exports.interpolateActivityString=g,exports.resolveEventConfig=m,exports.useActivityFeed=v,exports.useActivityResources=y;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|