admin-ui-starter-kit 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/admin-ui-consumer-migration/SKILL.md +9 -0
- package/.agents/skills/component-library-rules/SKILL.md +1 -0
- package/.agents/skills/component-library-rules/references/components/INDEX.json +1 -0
- package/.agents/skills/component-library-rules/references/components/INDEX.md +1 -0
- package/.agents/skills/component-library-rules/references/components/base__buttons.md +18 -6
- package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__forms.md +10 -7
- package/.agents/skills/component-library-rules/references/components/base__item.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__map.md +7 -7
- package/.agents/skills/component-library-rules/references/components/base__navigation.md +8 -8
- package/.agents/skills/component-library-rules/references/components/base__table.md +2 -2
- package/.agents/skills/component-library-rules/references/components/base__typography.md +6 -4
- package/.agents/skills/component-library-rules/references/components/composed__ai-elements.md +4 -4
- package/.agents/skills/component-library-rules/references/components/composed__api-key-list.md +4 -4
- package/.agents/skills/component-library-rules/references/components/composed__commerce-extras.md +107 -113
- package/.agents/skills/component-library-rules/references/components/composed__commerce.md +49 -48
- package/.agents/skills/component-library-rules/references/components/composed__navigation.md +6 -2
- package/.agents/skills/component-library-rules/references/components/composed__timelines.md +21 -7
- package/.agents/skills/component-library-rules/references/components/features__comments.md +12 -4
- package/.agents/skills/component-library-rules/references/components/features__enhanced-activities.md +4 -2
- package/.agents/skills/component-library-rules/references/components/features__event-log.md +6 -2
- package/.agents/skills/component-library-rules/references/components/features__overlays.md +8 -6
- package/.agents/skills/component-library-rules/references/components/layout__layout-app-shell.md +552 -0
- package/.agents/skills/component-library-rules/references/components/layout__layout-header.md +2 -2
- package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
- package/.agents/skills/component-library-rules/references/components/layout__layout-users.md +7 -7
- package/.agents/skills/component-library-rules/references/components/ui__toggles-group.md +7 -7
- package/.agents/skills/component-library-rules/references/components/ui__toggles.md +1 -1
- package/CHANGELOG.md +27 -1
- package/INTEGRATION.md +4 -0
- package/MIGRATION.md +5 -1
- package/README.md +6 -2
- package/dist/_shared/accordion-BnxO7Is4.js +130 -0
- package/dist/_shared/accordion-BnxO7Is4.js.map +1 -0
- package/dist/_shared/accordion-RIN0MjPz.cjs +2 -0
- package/dist/_shared/accordion-RIN0MjPz.cjs.map +1 -0
- package/dist/_shared/action-menu-IIO9KtJ2.js +96 -0
- package/dist/_shared/action-menu-IIO9KtJ2.js.map +1 -0
- package/dist/_shared/action-menu-RAyg3cvM.cjs +2 -0
- package/dist/_shared/action-menu-RAyg3cvM.cjs.map +1 -0
- package/dist/_shared/ai-artifact--MqIfP-8.js +1068 -0
- package/dist/_shared/ai-artifact--MqIfP-8.js.map +1 -0
- package/dist/_shared/ai-artifact-D1dBeEz1.cjs +3 -0
- package/dist/_shared/ai-artifact-D1dBeEz1.cjs.map +1 -0
- package/dist/_shared/alert-D3gRd7RK.cjs +2 -0
- package/dist/_shared/alert-D3gRd7RK.cjs.map +1 -0
- package/dist/_shared/alert-DQ-tV8b-.js +48 -0
- package/dist/_shared/alert-DQ-tV8b-.js.map +1 -0
- package/dist/_shared/app-shell-C4d7kCCd.cjs +2 -0
- package/dist/_shared/app-shell-C4d7kCCd.cjs.map +1 -0
- package/dist/_shared/app-shell-CKxcpPTc.js +94 -0
- package/dist/_shared/app-shell-CKxcpPTc.js.map +1 -0
- package/dist/_shared/avatar-0spfQEHG.cjs +2 -0
- package/dist/_shared/avatar-0spfQEHG.cjs.map +1 -0
- package/dist/_shared/avatar-CBi4LGxy.js +52 -0
- package/dist/_shared/avatar-CBi4LGxy.js.map +1 -0
- package/dist/_shared/badge-BK5VvEgg.js +108 -0
- package/dist/_shared/badge-BK5VvEgg.js.map +1 -0
- package/dist/_shared/badge-kS_XtN-z.cjs +2 -0
- package/dist/_shared/badge-kS_XtN-z.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-Dqp2qAmo.cjs +2 -0
- package/dist/_shared/breadcrumbs-Dqp2qAmo.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-bJ-J0oCd.js +111 -0
- package/dist/_shared/breadcrumbs-bJ-J0oCd.js.map +1 -0
- package/dist/_shared/button-683R5quQ.js +46 -0
- package/dist/_shared/button-683R5quQ.js.map +1 -0
- package/dist/_shared/button-CjZrRLzR.cjs +2 -0
- package/dist/_shared/button-CjZrRLzR.cjs.map +1 -0
- package/dist/_shared/button-LZWDn-aU.cjs +2 -0
- package/dist/_shared/button-LZWDn-aU.cjs.map +1 -0
- package/dist/_shared/button-cnkCF8q8.js +177 -0
- package/dist/_shared/button-cnkCF8q8.js.map +1 -0
- package/dist/_shared/buttons-DHV2eZAf.cjs +2 -0
- package/dist/_shared/buttons-DHV2eZAf.cjs.map +1 -0
- package/dist/_shared/buttons-ehfMSkwP.js +143 -0
- package/dist/_shared/buttons-ehfMSkwP.js.map +1 -0
- package/dist/_shared/card-radio-group-Bf03M6c5.js +158 -0
- package/dist/_shared/card-radio-group-Bf03M6c5.js.map +1 -0
- package/dist/_shared/card-radio-group-SqPUL0Je.cjs +2 -0
- package/dist/_shared/card-radio-group-SqPUL0Je.cjs.map +1 -0
- package/dist/_shared/chunk-CMqjfN_6.cjs +1 -0
- package/dist/_shared/combobox-Cvs70ic4.js +808 -0
- package/dist/_shared/combobox-Cvs70ic4.js.map +1 -0
- package/dist/_shared/combobox-Dos9YWjk.cjs +2 -0
- package/dist/_shared/combobox-Dos9YWjk.cjs.map +1 -0
- package/dist/_shared/command-Bxe_FmGD.cjs +2 -0
- package/dist/_shared/command-Bxe_FmGD.cjs.map +1 -0
- package/dist/_shared/command-CAI-BCSR.js +123 -0
- package/dist/_shared/command-CAI-BCSR.js.map +1 -0
- package/dist/_shared/command-DRIySU26.cjs +2 -0
- package/dist/_shared/command-DRIySU26.cjs.map +1 -0
- package/dist/_shared/command-DwRnPIGs.js +39 -0
- package/dist/_shared/command-DwRnPIGs.js.map +1 -0
- package/dist/_shared/comments-DD2aeZVz.js +946 -0
- package/dist/_shared/comments-DD2aeZVz.js.map +1 -0
- package/dist/_shared/comments-DzwU4sNE.cjs +2 -0
- package/dist/_shared/comments-DzwU4sNE.cjs.map +1 -0
- package/dist/_shared/containers-D7oZE4XI.cjs +2 -0
- package/dist/_shared/containers-D7oZE4XI.cjs.map +1 -0
- package/dist/_shared/containers-anBivbL9.js +19 -0
- package/dist/_shared/containers-anBivbL9.js.map +1 -0
- package/dist/_shared/content-container-CVUJCLhn.cjs +2 -0
- package/dist/_shared/content-container-CVUJCLhn.cjs.map +1 -0
- package/dist/_shared/content-container-Dv8XsAw4.js +33 -0
- package/dist/_shared/content-container-Dv8XsAw4.js.map +1 -0
- package/dist/_shared/copyable-D7WhgEzJ.js +38 -0
- package/dist/_shared/copyable-D7WhgEzJ.js.map +1 -0
- package/dist/_shared/copyable-DDjT505-.cjs +2 -0
- package/dist/_shared/copyable-DDjT505-.cjs.map +1 -0
- package/dist/_shared/date-picker-3G3C-sIq.cjs +2 -0
- package/dist/_shared/date-picker-3G3C-sIq.cjs.map +1 -0
- package/dist/_shared/date-picker-7yuMHPYs.js +1362 -0
- package/dist/_shared/date-picker-7yuMHPYs.js.map +1 -0
- package/dist/_shared/date-pickers-B_VUgjvY.cjs +2 -0
- package/dist/_shared/date-pickers-B_VUgjvY.cjs.map +1 -0
- package/dist/_shared/date-pickers-DZXi0di0.js +330 -0
- package/dist/_shared/date-pickers-DZXi0di0.js.map +1 -0
- package/dist/_shared/dialog-A95-614f.js +101 -0
- package/dist/_shared/dialog-A95-614f.js.map +1 -0
- package/dist/_shared/dialog-ivDByBmO.cjs +2 -0
- package/dist/_shared/dialog-ivDByBmO.cjs.map +1 -0
- package/dist/_shared/display-Cuj4td-V.js +1237 -0
- package/dist/_shared/display-Cuj4td-V.js.map +1 -0
- package/dist/_shared/display-D2q93jiS.cjs +8 -0
- package/dist/_shared/display-D2q93jiS.cjs.map +1 -0
- package/dist/_shared/dropdown-menu-CHQzQWUK.cjs +2 -0
- package/dist/_shared/dropdown-menu-CHQzQWUK.cjs.map +1 -0
- package/dist/_shared/dropdown-menu-CoWmrjYX.js +147 -0
- package/dist/_shared/dropdown-menu-CoWmrjYX.js.map +1 -0
- package/dist/_shared/form-field-BNuCBym1.js +319 -0
- package/dist/_shared/form-field-BNuCBym1.js.map +1 -0
- package/dist/_shared/form-field-C4fQYsqv.cjs +2 -0
- package/dist/_shared/form-field-C4fQYsqv.cjs.map +1 -0
- package/dist/_shared/form-sizing-D74IS9KG.js +21 -0
- package/dist/_shared/form-sizing-D74IS9KG.js.map +1 -0
- package/dist/_shared/form-sizing-aVwVuF-w.cjs +2 -0
- package/dist/_shared/form-sizing-aVwVuF-w.cjs.map +1 -0
- package/dist/_shared/format-BTtJC6oz.cjs +2 -0
- package/dist/_shared/format-BTtJC6oz.cjs.map +1 -0
- package/dist/_shared/format-BX3QestD.js +48 -0
- package/dist/_shared/format-BX3QestD.js.map +1 -0
- package/dist/_shared/forms-BV4fHeRx.cjs +2 -0
- package/dist/_shared/forms-BV4fHeRx.cjs.map +1 -0
- package/dist/_shared/forms-DjAdYxme.js +3378 -0
- package/dist/_shared/forms-DjAdYxme.js.map +1 -0
- package/dist/_shared/header-D4Oz-mCv.cjs +2 -0
- package/dist/_shared/header-D4Oz-mCv.cjs.map +1 -0
- package/dist/_shared/header-X5DZ8vmO.js +360 -0
- package/dist/_shared/header-X5DZ8vmO.js.map +1 -0
- package/dist/_shared/heading-C7mNh03X.cjs +2 -0
- package/dist/_shared/heading-C7mNh03X.cjs.map +1 -0
- package/dist/_shared/heading-CrNpYcUr.js +39 -0
- package/dist/_shared/heading-CrNpYcUr.js.map +1 -0
- package/dist/_shared/hooks-CKXPg30g.js +118 -0
- package/dist/_shared/hooks-CKXPg30g.js.map +1 -0
- package/dist/_shared/hooks-CTiEImZp.cjs +2 -0
- package/dist/_shared/hooks-CTiEImZp.cjs.map +1 -0
- package/dist/_shared/icon-badge-BAWl1oOe.cjs +2 -0
- package/dist/_shared/icon-badge-BAWl1oOe.cjs.map +1 -0
- package/dist/_shared/icon-badge-zTBVtgt9.js +52 -0
- package/dist/_shared/icon-badge-zTBVtgt9.js.map +1 -0
- package/dist/_shared/input-Cw2uICc1.cjs +2 -0
- package/dist/_shared/input-Cw2uICc1.cjs.map +1 -0
- package/dist/_shared/input-D43_IMWW.cjs +2 -0
- package/dist/_shared/input-D43_IMWW.cjs.map +1 -0
- package/dist/_shared/input-DJo8d1Rr.js +182 -0
- package/dist/_shared/input-DJo8d1Rr.js.map +1 -0
- package/dist/_shared/input-R8c90tNY.js +17 -0
- package/dist/_shared/input-R8c90tNY.js.map +1 -0
- package/dist/_shared/item-BxlP5TO3.js +224 -0
- package/dist/_shared/item-BxlP5TO3.js.map +1 -0
- package/dist/_shared/item-X18HIqR7.cjs +2 -0
- package/dist/_shared/item-X18HIqR7.cjs.map +1 -0
- package/dist/_shared/mentions-DE9aDOMu.cjs +2 -0
- package/dist/_shared/mentions-DE9aDOMu.cjs.map +1 -0
- package/dist/_shared/mentions-DjjYmMLc.js +493 -0
- package/dist/_shared/mentions-DjjYmMLc.js.map +1 -0
- package/dist/_shared/metadata-C5MSNo7y.js +236 -0
- package/dist/_shared/metadata-C5MSNo7y.js.map +1 -0
- package/dist/_shared/metadata-Cw3Kj2Ug.cjs +2 -0
- package/dist/_shared/metadata-Cw3Kj2Ug.cjs.map +1 -0
- package/dist/_shared/money-display-B7AKxxNt.js +198 -0
- package/dist/_shared/money-display-B7AKxxNt.js.map +1 -0
- package/dist/_shared/money-display-E22wbM21.cjs +2 -0
- package/dist/_shared/money-display-E22wbM21.cjs.map +1 -0
- package/dist/_shared/navigation-B9VAXqLL.cjs +2 -0
- package/dist/_shared/navigation-B9VAXqLL.cjs.map +1 -0
- package/dist/_shared/navigation-CxoJVgfo.js +420 -0
- package/dist/_shared/navigation-CxoJVgfo.js.map +1 -0
- package/dist/_shared/overlays-C-T8RnJz.cjs +2 -0
- package/dist/_shared/overlays-C-T8RnJz.cjs.map +1 -0
- package/dist/_shared/overlays-DfRsQzD3.js +633 -0
- package/dist/_shared/overlays-DfRsQzD3.js.map +1 -0
- package/dist/_shared/page-C4jEULwi.js +263 -0
- package/dist/_shared/page-C4jEULwi.js.map +1 -0
- package/dist/_shared/page-DX3pA_tJ.cjs +2 -0
- package/dist/_shared/page-DX3pA_tJ.cjs.map +1 -0
- package/dist/_shared/popover-CaHvG8Vj.cjs +2 -0
- package/dist/_shared/popover-CaHvG8Vj.cjs.map +1 -0
- package/dist/_shared/popover-L37RqoRO.js +83 -0
- package/dist/_shared/popover-L37RqoRO.js.map +1 -0
- package/dist/_shared/popover-menu-CVAr985u.js +95 -0
- package/dist/_shared/popover-menu-CVAr985u.js.map +1 -0
- package/dist/_shared/popover-menu-Cq-LnAMh.cjs +2 -0
- package/dist/_shared/popover-menu-Cq-LnAMh.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-C3gVBm-v.cjs +2 -0
- package/dist/_shared/rich-text-editor-C3gVBm-v.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-Cylb-lkv.js +616 -0
- package/dist/_shared/rich-text-editor-Cylb-lkv.js.map +1 -0
- package/dist/_shared/scroll-area-BH5CPQh4.js +41 -0
- package/dist/_shared/scroll-area-BH5CPQh4.js.map +1 -0
- package/dist/_shared/scroll-area-u46BOVcC.cjs +2 -0
- package/dist/_shared/scroll-area-u46BOVcC.cjs.map +1 -0
- package/dist/_shared/select-BwUUXpsb.js +85 -0
- package/dist/_shared/select-BwUUXpsb.js.map +1 -0
- package/dist/_shared/select-CG5Yq-6A.cjs +2 -0
- package/dist/_shared/select-CG5Yq-6A.cjs.map +1 -0
- package/dist/_shared/separator-B8FBp-7E.js +16 -0
- package/dist/_shared/separator-B8FBp-7E.js.map +1 -0
- package/dist/_shared/separator-q42IlFFA.cjs +2 -0
- package/dist/_shared/separator-q42IlFFA.cjs.map +1 -0
- package/dist/_shared/sheet-BKEfwhCn.js +100 -0
- package/dist/_shared/sheet-BKEfwhCn.js.map +1 -0
- package/dist/_shared/sheet-D4yWgkwC.cjs +2 -0
- package/dist/_shared/sheet-D4yWgkwC.cjs.map +1 -0
- package/dist/_shared/sidebar-BeWLjIRR.js +537 -0
- package/dist/_shared/sidebar-BeWLjIRR.js.map +1 -0
- package/dist/_shared/sidebar-Bl_KRk-S.cjs +2 -0
- package/dist/_shared/sidebar-Bl_KRk-S.cjs.map +1 -0
- package/dist/_shared/sidebar-DzzdJ2xk.cjs +2 -0
- package/dist/_shared/sidebar-DzzdJ2xk.cjs.map +1 -0
- package/dist/_shared/sidebar-ux-yk-Ph.js +382 -0
- package/dist/_shared/sidebar-ux-yk-Ph.js.map +1 -0
- package/dist/_shared/skeleton-CGQMeno1.js +14 -0
- package/dist/_shared/skeleton-CGQMeno1.js.map +1 -0
- package/dist/_shared/skeleton-D1c5OHXa.cjs +2 -0
- package/dist/_shared/skeleton-D1c5OHXa.cjs.map +1 -0
- package/dist/_shared/slot-C5EJicOc.js +18 -0
- package/dist/_shared/slot-C5EJicOc.js.map +1 -0
- package/dist/_shared/slot-D-Rwlrz2.cjs +2 -0
- package/dist/_shared/slot-D-Rwlrz2.cjs.map +1 -0
- package/dist/_shared/smart-card-DL7esK_y.cjs +2 -0
- package/dist/_shared/smart-card-DL7esK_y.cjs.map +1 -0
- package/dist/_shared/smart-card-eBfUvQ9r.js +360 -0
- package/dist/_shared/smart-card-eBfUvQ9r.js.map +1 -0
- package/dist/_shared/spinner-Bvjs1ybK.cjs +2 -0
- package/dist/_shared/spinner-Bvjs1ybK.cjs.map +1 -0
- package/dist/_shared/spinner-XcfVYbbp.js +67 -0
- package/dist/_shared/spinner-XcfVYbbp.js.map +1 -0
- package/dist/_shared/switch-BBP3u1z5.js +55 -0
- package/dist/_shared/switch-BBP3u1z5.js.map +1 -0
- package/dist/_shared/switch-zFZhhOEP.cjs +2 -0
- package/dist/_shared/switch-zFZhhOEP.cjs.map +1 -0
- package/dist/_shared/text-DzKt9cyb.cjs +2 -0
- package/dist/_shared/text-DzKt9cyb.cjs.map +1 -0
- package/dist/_shared/text-qsEg5GdP.js +74 -0
- package/dist/_shared/text-qsEg5GdP.js.map +1 -0
- package/dist/_shared/textarea-BAKapsLQ.cjs +2 -0
- package/dist/_shared/textarea-BAKapsLQ.cjs.map +1 -0
- package/dist/_shared/textarea-Bfv1KxBm.js +119 -0
- package/dist/_shared/textarea-Bfv1KxBm.js.map +1 -0
- package/dist/_shared/tooltip-CLr_sPX8.js +49 -0
- package/dist/_shared/tooltip-CLr_sPX8.js.map +1 -0
- package/dist/_shared/tooltip-mvxZV_Lu.cjs +2 -0
- package/dist/_shared/tooltip-mvxZV_Lu.cjs.map +1 -0
- package/dist/_shared/typography-4CSyoCj9.js +102 -0
- package/dist/_shared/typography-4CSyoCj9.js.map +1 -0
- package/dist/_shared/typography-DKn7P4wX.cjs +2 -0
- package/dist/_shared/typography-DKn7P4wX.cjs.map +1 -0
- package/dist/_shared/ui-provider-CQJ1glwN.js +85 -0
- package/dist/_shared/ui-provider-CQJ1glwN.js.map +1 -0
- package/dist/_shared/ui-provider-RIYE7O_V.cjs +2 -0
- package/dist/_shared/ui-provider-RIYE7O_V.cjs.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +2 -2
- package/dist/components/base/badge/badge.d.ts +1 -1
- package/dist/components/base/badge/badge.d.ts.map +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/google-button.d.ts +1 -1
- package/dist/components/base/buttons/google-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/shopify-button.d.ts +1 -1
- package/dist/components/base/buttons/shopify-button.d.ts.map +1 -1
- 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 +1 -1
- package/dist/components/base/cards/partials/card-primitives.d.ts +6 -6
- package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
- package/dist/components/base/cards/partials/smart-card-actions-menu.d.ts +1 -1
- package/dist/components/base/cards/partials/smart-card-actions-menu.d.ts.map +1 -1
- package/dist/components/base/cards/partials/smart-card-alert.d.ts +1 -1
- package/dist/components/base/cards/partials/smart-card-alert.d.ts.map +1 -1
- package/dist/components/base/cards/partials/smart-card-header-row.d.ts +1 -1
- package/dist/components/base/cards/partials/smart-card-header-row.d.ts.map +1 -1
- package/dist/components/base/cards/partials/smart-card-skeleton.d.ts +1 -1
- package/dist/components/base/cards/partials/smart-card-skeleton.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.tokens.d.ts +1 -1
- package/dist/components/base/combobox/combobox.strings.d.ts.map +1 -1
- package/dist/components/base/combobox/components/highlighted-text.d.ts.map +1 -1
- package/dist/components/base/combobox/enhanced-combobox.d.ts.map +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/combobox/types.d.ts +2 -0
- package/dist/components/base/combobox/types.d.ts.map +1 -1
- package/dist/components/base/command/command.d.ts +5 -5
- package/dist/components/base/command/command.d.ts.map +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +2 -2
- package/dist/components/base/copyable/copyable.d.ts +1 -1
- package/dist/components/base/copyable/copyable.d.ts.map +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/currency-pair-preview.d.ts +1 -1
- package/dist/components/base/currency/currency-pair-preview.d.ts.map +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/date-picker-footer.d.ts +2 -1
- package/dist/components/base/date-pickers/date-picker-footer.d.ts.map +1 -1
- package/dist/components/base/date-pickers/date-picker-header.d.ts +1 -1
- package/dist/components/base/date-pickers/date-picker-header.d.ts.map +1 -1
- package/dist/components/base/date-pickers/date-picker-helpers.d.ts +5 -1
- package/dist/components/base/date-pickers/date-picker-helpers.d.ts.map +1 -1
- package/dist/components/base/date-pickers/date-picker.d.ts +2 -1
- package/dist/components/base/date-pickers/date-picker.d.ts.map +1 -1
- package/dist/components/base/date-pickers/date-range-picker.d.ts +2 -1
- package/dist/components/base/date-pickers/date-range-picker.d.ts.map +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +3 -3
- package/dist/components/base/date-pickers/month-year-picker.d.ts +2 -1
- package/dist/components/base/date-pickers/month-year-picker.d.ts.map +1 -1
- package/dist/components/base/date-pickers/segmented-time-input.d.ts +2 -1
- package/dist/components/base/date-pickers/segmented-time-input.d.ts.map +1 -1
- package/dist/components/base/display/boolean-indicator.d.ts +1 -1
- package/dist/components/base/display/boolean-indicator.d.ts.map +1 -1
- package/dist/components/base/display/date-block.d.ts +1 -1
- package/dist/components/base/display/date-block.d.ts.map +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/document-stack.d.ts +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/document-stack.d.ts.map +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/inbox-clean.d.ts +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/inbox-clean.d.ts.map +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/search-glass.d.ts +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/search-glass.d.ts.map +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/stacked-cards.d.ts +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/stacked-cards.d.ts.map +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/users-circle.d.ts +1 -1
- package/dist/components/base/display/empty-state/partials/illustrations/users-circle.d.ts.map +1 -1
- package/dist/components/base/display/fields/email-display.d.ts +1 -1
- package/dist/components/base/display/fields/email-display.d.ts.map +1 -1
- package/dist/components/base/display/fields/phone-display.d.ts +1 -1
- package/dist/components/base/display/fields/phone-display.d.ts.map +1 -1
- package/dist/components/base/display/fields/url-display.d.ts +1 -1
- package/dist/components/base/display/fields/url-display.d.ts.map +1 -1
- package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
- package/dist/components/base/display/icon-badge/icon-badge.d.ts.map +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +12 -12
- package/dist/components/base/display/inline-stat/inline-stat.d.ts +1 -1
- package/dist/components/base/display/inline-stat/inline-stat.d.ts.map +1 -1
- package/dist/components/base/display/metadata/index.cjs +1 -1
- package/dist/components/base/display/metadata/index.js +1 -1
- package/dist/components/base/display/metadata/metadata-list.d.ts +1 -1
- package/dist/components/base/display/metadata/metadata-list.d.ts.map +1 -1
- package/dist/components/base/display/money-display.d.ts +1 -1
- package/dist/components/base/display/money-display.d.ts.map +1 -1
- package/dist/components/base/display/money-input.d.ts +1 -1
- package/dist/components/base/display/money-input.d.ts.map +1 -1
- package/dist/components/base/display/notification-banner.d.ts +1 -1
- package/dist/components/base/display/notification-banner.d.ts.map +1 -1
- package/dist/components/base/display/numeric-value/numeric-value.d.ts +1 -1
- package/dist/components/base/display/numeric-value/numeric-value.d.ts.map +1 -1
- package/dist/components/base/display/placeholder-pattern.d.ts +1 -1
- package/dist/components/base/display/placeholder-pattern.d.ts.map +1 -1
- package/dist/components/base/display/qr-code.d.ts +1 -1
- package/dist/components/base/display/qr-code.d.ts.map +1 -1
- package/dist/components/base/display/section-header/section-header.d.ts +1 -1
- package/dist/components/base/display/section-header/section-header.d.ts.map +1 -1
- package/dist/components/base/display/stacked-avatars.d.ts +1 -1
- package/dist/components/base/display/stacked-avatars.d.ts.map +1 -1
- package/dist/components/base/display/throttle-alert.d.ts +1 -1
- package/dist/components/base/display/throttle-alert.d.ts.map +1 -1
- package/dist/components/base/display/user-cell/user-cell.d.ts +1 -1
- package/dist/components/base/display/user-cell/user-cell.d.ts.map +1 -1
- package/dist/components/base/display/visually-hidden.d.ts +1 -1
- package/dist/components/base/display/visually-hidden.d.ts.map +1 -1
- package/dist/components/base/event-calendar/event-calendar-day-cell.d.ts +1 -1
- package/dist/components/base/event-calendar/event-calendar-day-cell.d.ts.map +1 -1
- package/dist/components/base/event-calendar/event-calendar-event-badge.d.ts +1 -1
- package/dist/components/base/event-calendar/event-calendar-event-badge.d.ts.map +1 -1
- package/dist/components/base/event-calendar/event-calendar-event-card.d.ts +1 -1
- package/dist/components/base/event-calendar/event-calendar-event-card.d.ts.map +1 -1
- package/dist/components/base/event-calendar/event-calendar-header.d.ts +1 -1
- package/dist/components/base/event-calendar/event-calendar-header.d.ts.map +1 -1
- package/dist/components/base/event-calendar/event-calendar-legend.d.ts +1 -1
- package/dist/components/base/event-calendar/event-calendar-legend.d.ts.map +1 -1
- package/dist/components/base/event-calendar/event-calendar.d.ts +1 -1
- package/dist/components/base/event-calendar/event-calendar.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 +12 -12
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/fields/avatar-upload.d.ts.map +1 -1
- package/dist/components/base/forms/fields/card-checkbox-group.d.ts +1 -1
- package/dist/components/base/forms/fields/card-checkbox-group.d.ts.map +1 -1
- package/dist/components/base/forms/fields/card-radio-group.d.ts +1 -1
- package/dist/components/base/forms/fields/card-radio-group.d.ts.map +1 -1
- package/dist/components/base/forms/fields/coordinates-input.d.ts +1 -1
- package/dist/components/base/forms/fields/coordinates-input.d.ts.map +1 -1
- package/dist/components/base/forms/fields/date-time-input.d.ts +1 -1
- package/dist/components/base/forms/fields/date-time-input.d.ts.map +1 -1
- package/dist/components/base/forms/fields/dimensions-input.d.ts +1 -1
- package/dist/components/base/forms/fields/dimensions-input.d.ts.map +1 -1
- package/dist/components/base/forms/fields/key-value-editor.d.ts +1 -1
- package/dist/components/base/forms/fields/key-value-editor.d.ts.map +1 -1
- package/dist/components/base/forms/fields/list-radio-group.d.ts +1 -1
- package/dist/components/base/forms/fields/list-radio-group.d.ts.map +1 -1
- package/dist/components/base/forms/fields/list.d.ts +1 -1
- package/dist/components/base/forms/fields/list.d.ts.map +1 -1
- package/dist/components/base/forms/fields/localized-object-field.d.ts +1 -1
- package/dist/components/base/forms/fields/localized-object-field.d.ts.map +1 -1
- package/dist/components/base/forms/fields/localized-string-field.d.ts +1 -1
- package/dist/components/base/forms/fields/localized-string-field.d.ts.map +1 -1
- package/dist/components/base/forms/fields/localized-string-repeater.d.ts +1 -1
- package/dist/components/base/forms/fields/localized-string-repeater.d.ts.map +1 -1
- package/dist/components/base/forms/fields/media-gallery.d.ts +1 -1
- package/dist/components/base/forms/fields/media-gallery.d.ts.map +1 -1
- package/dist/components/base/forms/fields/object-repeater.d.ts +1 -1
- package/dist/components/base/forms/fields/object-repeater.d.ts.map +1 -1
- package/dist/components/base/forms/fields/pill-radio-group.d.ts +11 -1
- package/dist/components/base/forms/fields/pill-radio-group.d.ts.map +1 -1
- package/dist/components/base/forms/fields/repeater.d.ts +1 -1
- package/dist/components/base/forms/fields/repeater.d.ts.map +1 -1
- package/dist/components/base/forms/fields/rounding-mode-select.d.ts +1 -1
- package/dist/components/base/forms/fields/rounding-mode-select.d.ts.map +1 -1
- package/dist/components/base/forms/fields/string-repeater.d.ts +1 -1
- package/dist/components/base/forms/fields/string-repeater.d.ts.map +1 -1
- package/dist/components/base/forms/fields/switch-card.d.ts +2 -1
- package/dist/components/base/forms/fields/switch-card.d.ts.map +1 -1
- package/dist/components/base/forms/fields/switch.d.ts.map +1 -1
- package/dist/components/base/forms/fields/tags-input.d.ts +1 -1
- package/dist/components/base/forms/fields/tags-input.d.ts.map +1 -1
- package/dist/components/base/forms/fields/time-picker.d.ts +2 -1
- package/dist/components/base/forms/fields/time-picker.d.ts.map +1 -1
- package/dist/components/base/forms/fields/toggle-field.d.ts +1 -1
- package/dist/components/base/forms/fields/toggle-field.d.ts.map +1 -1
- package/dist/components/base/forms/fields/upload-progress-list.d.ts +1 -1
- package/dist/components/base/forms/fields/upload-progress-list.d.ts.map +1 -1
- package/dist/components/base/forms/fields/weight-input.d.ts +2 -1
- package/dist/components/base/forms/fields/weight-input.d.ts.map +1 -1
- package/dist/components/base/forms/form-field.d.ts +63 -2
- package/dist/components/base/forms/form-field.d.ts.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +6 -6
- package/dist/components/base/forms/operation-password-form.d.ts +1 -1
- package/dist/components/base/forms/operation-password-form.d.ts.map +1 -1
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.cjs.map +1 -1
- package/dist/components/base/map/index.js +104 -85
- package/dist/components/base/map/index.js.map +1 -1
- package/dist/components/base/map/map.d.ts +31 -30
- package/dist/components/base/map/map.d.ts.map +1 -1
- package/dist/components/base/map/place-autocomplete.d.ts +1 -1
- package/dist/components/base/map/place-autocomplete.d.ts.map +1 -1
- package/dist/components/base/navigation/action-menu.d.ts +1 -1
- package/dist/components/base/navigation/aside-navigation-menu.d.ts +1 -1
- package/dist/components/base/navigation/aside-navigation-menu.d.ts.map +1 -1
- package/dist/components/base/navigation/breadcrumbs.d.ts +1 -1
- package/dist/components/base/navigation/breadcrumbs.d.ts.map +1 -1
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +4 -4
- package/dist/components/base/navigation/language-switcher.d.ts +1 -1
- package/dist/components/base/navigation/language-switcher.d.ts.map +1 -1
- package/dist/components/base/navigation/navigation-tabs.d.ts +1 -1
- package/dist/components/base/navigation/navigation-tabs.d.ts.map +1 -1
- package/dist/components/base/navigation/overflow-tab-bar.d.ts +1 -1
- package/dist/components/base/navigation/overflow-tab-bar.d.ts.map +1 -1
- package/dist/components/base/navigation/page-header/page-header.d.ts +1 -1
- package/dist/components/base/navigation/page-header/page-header.d.ts.map +1 -1
- package/dist/components/base/navigation/section-nav/section-nav.d.ts +1 -1
- package/dist/components/base/navigation/section-nav/section-nav.d.ts.map +1 -1
- package/dist/components/base/navigation/side-nav.d.ts +1 -1
- package/dist/components/base/navigation/side-nav.d.ts.map +1 -1
- package/dist/components/base/navigation/tab-navigation-menu.d.ts +1 -1
- package/dist/components/base/navigation/tab-navigation-menu.d.ts.map +1 -1
- package/dist/components/base/popover/index.cjs +1 -1
- package/dist/components/base/popover/index.js +1 -1
- package/dist/components/base/popover/popover.d.ts +1 -1
- package/dist/components/base/popover/popover.d.ts.map +1 -1
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/popover-menu/popover-menu.d.ts +1 -1
- package/dist/components/base/popover-menu/popover-menu.d.ts.map +1 -1
- package/dist/components/base/sheet/index.cjs +1 -1
- package/dist/components/base/sheet/index.js +1 -1
- package/dist/components/base/sidebar/index.cjs +1 -1
- package/dist/components/base/sidebar/index.js +2 -2
- package/dist/components/base/sidebar/sidebar.d.ts +10 -9
- package/dist/components/base/sidebar/sidebar.d.ts.map +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/column-visibility-toggle.d.ts +1 -1
- package/dist/components/base/table/column-visibility-toggle.d.ts.map +1 -1
- package/dist/components/base/table/data-table.d.ts +1 -1
- package/dist/components/base/table/data-table.d.ts.map +1 -1
- package/dist/components/base/table/filter-bar.d.ts +1 -1
- package/dist/components/base/table/filter-bar.d.ts.map +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.cjs.map +1 -1
- package/dist/components/base/table/index.js +23 -23
- package/dist/components/base/table/index.js.map +1 -1
- package/dist/components/base/table/pagination.d.ts +1 -1
- package/dist/components/base/table/pagination.d.ts.map +1 -1
- package/dist/components/base/table/partials/cell-renderers.d.ts +4 -4
- package/dist/components/base/table/partials/cell-renderers.d.ts.map +1 -1
- package/dist/components/base/table/partials/cell-value.d.ts +1 -1
- package/dist/components/base/table/partials/cell-value.d.ts.map +1 -1
- package/dist/components/base/table/partials/density-toggle.d.ts +1 -1
- package/dist/components/base/table/partials/density-toggle.d.ts.map +1 -1
- package/dist/components/base/table/partials/table-link.d.ts +1 -1
- package/dist/components/base/table/partials/table-link.d.ts.map +1 -1
- package/dist/components/base/table/table-actions.d.ts +1 -1
- package/dist/components/base/table/table-actions.d.ts.map +1 -1
- package/dist/components/base/table/table-body.d.ts +1 -1
- package/dist/components/base/table/table-body.d.ts.map +1 -1
- package/dist/components/base/table/table-header.d.ts +2 -1
- package/dist/components/base/table/table-header.d.ts.map +1 -1
- package/dist/components/base/table/table-helpers.d.ts +2 -2
- package/dist/components/base/table/table-helpers.d.ts.map +1 -1
- package/dist/components/base/table/table-pagination.d.ts +1 -1
- package/dist/components/base/table/table-pagination.d.ts.map +1 -1
- package/dist/components/base/table/table-toolbar.d.ts +1 -1
- package/dist/components/base/table/table-toolbar.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 +1 -1
- 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/conversation-row/conversation-row.d.ts +1 -1
- package/dist/components/composed/admin/conversation-row/conversation-row.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 +159 -155
- package/dist/components/composed/admin/index.js.map +1 -1
- package/dist/components/composed/admin/inventory-level/inventory-level.d.ts +1 -1
- package/dist/components/composed/admin/inventory-level/inventory-level.d.ts.map +1 -1
- package/dist/components/composed/admin/role-permission/role-permission.d.ts +1 -1
- package/dist/components/composed/admin/role-permission/role-permission.d.ts.map +1 -1
- package/dist/components/composed/admin/settings-toggle/settings-toggle.d.ts +1 -1
- package/dist/components/composed/admin/settings-toggle/settings-toggle.d.ts.map +1 -1
- package/dist/components/composed/admin/team-member/team-member.d.ts +1 -1
- package/dist/components/composed/admin/team-member/team-member.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-agent/ai-agent.d.ts +1 -1
- package/dist/components/composed/ai/ai-agent/ai-agent.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-artifact/ai-artifact.d.ts +1 -1
- package/dist/components/composed/ai/ai-artifact/ai-artifact.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-attachment/ai-attachment.d.ts +1 -1
- package/dist/components/composed/ai/ai-attachment/ai-attachment.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
- package/dist/components/composed/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-citation/ai-citation.d.ts +1 -1
- package/dist/components/composed/ai/ai-citation/ai-citation.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-classification/ai-classification.d.ts +1 -1
- package/dist/components/composed/ai/ai-classification/ai-classification.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-code-block/ai-code-block.d.ts +1 -1
- package/dist/components/composed/ai/ai-code-block/ai-code-block.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-confidence/ai-confidence.d.ts +1 -1
- package/dist/components/composed/ai/ai-confidence/ai-confidence.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
- package/dist/components/composed/ai/ai-confirmation/ai-confirmation.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-feedback/ai-feedback.d.ts +1 -1
- package/dist/components/composed/ai/ai-feedback/ai-feedback.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-file-tree/ai-file-tree.d.ts +1 -1
- package/dist/components/composed/ai/ai-file-tree/ai-file-tree.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-inline-citation/ai-inline-citation.d.ts +1 -1
- package/dist/components/composed/ai/ai-inline-citation/ai-inline-citation.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-message-bubble/ai-message-bubble.d.ts +1 -1
- package/dist/components/composed/ai/ai-message-bubble/ai-message-bubble.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-package-info/ai-package-info.d.ts +1 -1
- package/dist/components/composed/ai/ai-package-info/ai-package-info.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-prompt-suggestions/ai-prompt-suggestions.d.ts +1 -1
- package/dist/components/composed/ai/ai-prompt-suggestions/ai-prompt-suggestions.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-reasoning/ai-reasoning.d.ts +1 -1
- package/dist/components/composed/ai/ai-reasoning/ai-reasoning.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-shimmer/ai-shimmer.d.ts +1 -1
- package/dist/components/composed/ai/ai-shimmer/ai-shimmer.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-sources/ai-sources.d.ts +1 -1
- package/dist/components/composed/ai/ai-sources/ai-sources.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-summary/ai-summary.d.ts +1 -1
- package/dist/components/composed/ai/ai-summary/ai-summary.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-task/ai-task.d.ts +1 -1
- package/dist/components/composed/ai/ai-task/ai-task.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-token-usage/ai-token-usage.d.ts +1 -1
- package/dist/components/composed/ai/ai-token-usage/ai-token-usage.d.ts.map +1 -1
- package/dist/components/composed/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
- package/dist/components/composed/ai/ai-tool-call/ai-tool-call.d.ts.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 +34 -36
- package/dist/components/composed/ai/index.js.map +1 -1
- package/dist/components/composed/analytics/activity-heatmap/activity-heatmap.d.ts +1 -1
- package/dist/components/composed/analytics/activity-heatmap/activity-heatmap.d.ts.map +1 -1
- package/dist/components/composed/analytics/atoms/metric-skeleton.d.ts +1 -1
- package/dist/components/composed/analytics/atoms/metric-skeleton.d.ts.map +1 -1
- package/dist/components/composed/analytics/atoms/metric-sparkline.d.ts +1 -1
- package/dist/components/composed/analytics/atoms/metric-sparkline.d.ts.map +1 -1
- package/dist/components/composed/analytics/atoms/metric-trend-chip.d.ts +1 -1
- package/dist/components/composed/analytics/atoms/metric-trend-chip.d.ts.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 +100 -111
- package/dist/components/composed/analytics/index.js.map +1 -1
- package/dist/components/composed/analytics/metric/metric.d.ts +1 -1
- package/dist/components/composed/analytics/metric/metric.d.ts.map +1 -1
- package/dist/components/composed/analytics/metric-bar/metric-bar.d.ts +1 -1
- package/dist/components/composed/analytics/metric-bar/metric-bar.d.ts.map +1 -1
- package/dist/components/composed/analytics/metric-comparison/metric-comparison.d.ts +1 -1
- package/dist/components/composed/analytics/metric-comparison/metric-comparison.d.ts.map +1 -1
- package/dist/components/composed/analytics/metric-gradient/metric-gradient.d.ts +1 -1
- package/dist/components/composed/analytics/metric-gradient/metric-gradient.d.ts.map +1 -1
- package/dist/components/composed/analytics/metric-grid/metric-grid.d.ts +1 -1
- package/dist/components/composed/analytics/metric-grid/metric-grid.d.ts.map +1 -1
- package/dist/components/composed/analytics/metric-micro-grid/metric-micro-grid.d.ts +1 -1
- package/dist/components/composed/analytics/metric-micro-grid/metric-micro-grid.d.ts.map +1 -1
- package/dist/components/composed/cards/contact-card/contact-card.d.ts +1 -1
- package/dist/components/composed/cards/contact-card/contact-card.d.ts.map +1 -1
- package/dist/components/composed/cards/course-card/course-card.d.ts +1 -1
- package/dist/components/composed/cards/course-card/course-card.d.ts.map +1 -1
- package/dist/components/composed/cards/feature-announcement/feature-announcement.d.ts +1 -1
- package/dist/components/composed/cards/feature-announcement/feature-announcement.d.ts.map +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-compact.d.ts +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-compact.d.ts.map +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-dark.d.ts +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-dark.d.ts.map +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-full.d.ts +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-full.d.ts.map +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-illustrated.d.ts.map +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
- package/dist/components/composed/cards/giftcard-card/partials/giftcard-minimal.d.ts.map +1 -1
- package/dist/components/composed/cards/gradient-card/gradient-card.d.ts +2 -2
- package/dist/components/composed/cards/gradient-card/gradient-card.d.ts.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 +492 -512
- package/dist/components/composed/cards/index.js.map +1 -1
- package/dist/components/composed/cards/vendor-profile/vendor-profile.d.ts +1 -1
- package/dist/components/composed/cards/vendor-profile/vendor-profile.d.ts.map +1 -1
- package/dist/components/composed/commerce/address-card/address-card.d.ts +1 -1
- package/dist/components/composed/commerce/address-card/address-card.d.ts.map +1 -1
- package/dist/components/composed/commerce/cart-summary/cart-summary.d.ts +1 -1
- package/dist/components/composed/commerce/cart-summary/cart-summary.d.ts.map +1 -1
- package/dist/components/composed/commerce/coupon-input/coupon-input.d.ts +1 -1
- package/dist/components/composed/commerce/coupon-input/coupon-input.d.ts.map +1 -1
- package/dist/components/composed/commerce/discount-stack/discount-stack.d.ts +1 -1
- package/dist/components/composed/commerce/discount-stack/discount-stack.d.ts.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 +94 -98
- package/dist/components/composed/commerce/index.js.map +1 -1
- package/dist/components/composed/commerce/loyalty-points/loyalty-points.d.ts +1 -1
- package/dist/components/composed/commerce/loyalty-points/loyalty-points.d.ts.map +1 -1
- package/dist/components/composed/commerce/order-status/order-status.d.ts +1 -1
- package/dist/components/composed/commerce/order-status/order-status.d.ts.map +1 -1
- package/dist/components/composed/commerce/payment-method/payment-method.d.ts +1 -1
- package/dist/components/composed/commerce/payment-method/payment-method.d.ts.map +1 -1
- package/dist/components/composed/commerce/refund-status/refund-status.d.ts +1 -1
- package/dist/components/composed/commerce/refund-status/refund-status.d.ts.map +1 -1
- package/dist/components/composed/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
- package/dist/components/composed/commerce/shipment-tracking/shipment-tracking.d.ts.map +1 -1
- package/dist/components/composed/commerce/subscription-summary/subscription-summary.d.ts +1 -1
- package/dist/components/composed/commerce/subscription-summary/subscription-summary.d.ts.map +1 -1
- package/dist/components/composed/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
- package/dist/components/composed/commerce/tax-breakdown/tax-breakdown.d.ts.map +1 -1
- package/dist/components/composed/commerce/upcoming-booking/upcoming-booking.d.ts +1 -1
- package/dist/components/composed/commerce/upcoming-booking/upcoming-booking.d.ts.map +1 -1
- package/dist/components/composed/commerce/voucher-entry/voucher-entry.d.ts +1 -1
- package/dist/components/composed/commerce/voucher-entry/voucher-entry.d.ts.map +1 -1
- package/dist/components/composed/dark-surfaces/booking-receipt/booking-receipt.d.ts +1 -1
- package/dist/components/composed/dark-surfaces/booking-receipt/booking-receipt.d.ts.map +1 -1
- package/dist/components/composed/dark-surfaces/dark-info-panel/dark-info-panel.d.ts +1 -1
- package/dist/components/composed/dark-surfaces/dark-info-panel/dark-info-panel.d.ts.map +1 -1
- package/dist/components/composed/dark-surfaces/dark-payment/dark-payment.d.ts +1 -1
- package/dist/components/composed/dark-surfaces/dark-payment/dark-payment.d.ts.map +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs.map +1 -1
- package/dist/components/composed/dark-surfaces/index.js +30 -27
- package/dist/components/composed/dark-surfaces/index.js.map +1 -1
- package/dist/components/composed/dark-surfaces/order-items/order-items.d.ts +1 -1
- package/dist/components/composed/dark-surfaces/order-items/order-items.d.ts.map +1 -1
- package/dist/components/composed/dark-surfaces/outstanding-balance/outstanding-balance.d.ts +1 -1
- package/dist/components/composed/dark-surfaces/outstanding-balance/outstanding-balance.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/helpers.d.ts +2 -2
- package/dist/components/composed/data-display/dense-info-card/helpers.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-classification.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
- 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 +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-project.d.ts +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-project.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-score.d.ts +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.cjs.map +1 -1
- package/dist/components/composed/data-display/index.js +344 -319
- package/dist/components/composed/data-display/index.js.map +1 -1
- package/dist/components/composed/data-display/inline-metric/inline-metric.d.ts +1 -1
- package/dist/components/composed/data-display/inline-metric/inline-metric.d.ts.map +1 -1
- package/dist/components/composed/data-display/invoice-header/invoice-header.d.ts +1 -1
- package/dist/components/composed/data-display/invoice-header/invoice-header.d.ts.map +1 -1
- package/dist/components/composed/data-display/invoice-items/invoice-items.d.ts +3 -3
- package/dist/components/composed/data-display/invoice-items/invoice-items.d.ts.map +1 -1
- package/dist/components/composed/data-display/invoice-mini/invoice-mini.d.ts +1 -1
- package/dist/components/composed/data-display/invoice-mini/invoice-mini.d.ts.map +1 -1
- package/dist/components/composed/data-display/invoice-table/invoice-table.d.ts +1 -1
- package/dist/components/composed/data-display/invoice-table/invoice-table.d.ts.map +1 -1
- package/dist/components/composed/data-display/mini-kpi/mini-kpi.d.ts +1 -1
- package/dist/components/composed/data-display/mini-kpi/mini-kpi.d.ts.map +1 -1
- package/dist/components/composed/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
- package/dist/components/composed/navigation/breadcrumb-progress/breadcrumb-progress.d.ts.map +1 -1
- package/dist/components/composed/navigation/category-nav/category-nav.d.ts +1 -1
- package/dist/components/composed/navigation/category-nav/category-nav.d.ts.map +1 -1
- package/dist/components/composed/navigation/experience-activity/experience-activity.d.ts +1 -1
- package/dist/components/composed/navigation/experience-activity/experience-activity.d.ts.map +1 -1
- package/dist/components/composed/navigation/experience-activity/experience-activity.strings.d.ts +8 -0
- package/dist/components/composed/navigation/experience-activity/experience-activity.strings.d.ts.map +1 -0
- package/dist/components/composed/navigation/experience-activity/index.d.ts +1 -0
- package/dist/components/composed/navigation/experience-activity/index.d.ts.map +1 -1
- package/dist/components/composed/navigation/experience-activity/types.d.ts +2 -0
- package/dist/components/composed/navigation/experience-activity/types.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 +42 -35
- package/dist/components/composed/navigation/index.js.map +1 -1
- package/dist/components/composed/navigation/kanban-board/kanban-board.d.ts +1 -1
- package/dist/components/composed/navigation/kanban-board/kanban-board.d.ts.map +1 -1
- package/dist/components/composed/navigation/tab-switcher/tab-switcher.d.ts +1 -1
- package/dist/components/composed/navigation/tab-switcher/tab-switcher.d.ts.map +1 -1
- package/dist/components/composed/navigation/time-ruler/time-ruler.d.ts +1 -1
- package/dist/components/composed/navigation/time-ruler/time-ruler.d.ts.map +1 -1
- package/dist/components/composed/navigation/vendor-performance/vendor-performance.d.ts +1 -1
- package/dist/components/composed/navigation/vendor-performance/vendor-performance.d.ts.map +1 -1
- package/dist/components/composed/onboarding/checklist/checklist.d.ts.map +1 -1
- package/dist/components/composed/onboarding/checklist/partials/step-status-indicator.d.ts +1 -1
- package/dist/components/composed/onboarding/checklist/partials/step-status-indicator.d.ts.map +1 -1
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.cjs.map +1 -1
- package/dist/components/composed/onboarding/index.js +60 -60
- package/dist/components/composed/onboarding/index.js.map +1 -1
- package/dist/components/composed/timelines/activity-stream/activity-stream.d.ts +1 -1
- package/dist/components/composed/timelines/activity-stream/activity-stream.d.ts.map +1 -1
- package/dist/components/composed/timelines/changelog/changelog-timeline.d.ts +1 -1
- package/dist/components/composed/timelines/changelog/changelog-timeline.d.ts.map +1 -1
- 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 +34 -7
- package/dist/components/composed/timelines/index.js.map +1 -1
- package/dist/components/composed/timelines/milestones/milestones-timeline.d.ts +1 -1
- package/dist/components/composed/timelines/milestones/milestones-timeline.d.ts.map +1 -1
- package/dist/components/composed/timelines/order-timeline/order-timeline.d.ts +1 -1
- package/dist/components/composed/timelines/order-timeline/order-timeline.d.ts.map +1 -1
- package/dist/components/composed/timelines/payment-timeline/payment-timeline.d.ts +1 -1
- package/dist/components/composed/timelines/payment-timeline/payment-timeline.d.ts.map +1 -1
- package/dist/components/composed/timelines/shared/timeline.d.ts +1 -1
- package/dist/components/composed/timelines/shared/timeline.d.ts.map +1 -1
- package/dist/components/composed/timelines/steps-card/steps-card.d.ts +2 -2
- package/dist/components/composed/timelines/steps-card/steps-card.d.ts.map +1 -1
- package/dist/components/features/activities/activities-feed.d.ts +1 -1
- package/dist/components/features/activities/activities-feed.d.ts.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 +7 -7
- package/dist/components/features/activities/index.js.map +1 -1
- package/dist/components/features/activities/partials/activities-feed-card.d.ts +1 -1
- package/dist/components/features/activities/partials/activities-feed-card.d.ts.map +1 -1
- package/dist/components/features/activities/partials/activity-actions-menu.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-actions-menu.d.ts.map +1 -1
- package/dist/components/features/activities/partials/activity-changes.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-changes.d.ts.map +1 -1
- package/dist/components/features/activities/partials/activity-date-label.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-date-label.d.ts.map +1 -1
- package/dist/components/features/activities/partials/activity-empty-state.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-empty-state.d.ts.map +1 -1
- package/dist/components/features/activities/partials/activity-headline.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-headline.d.ts.map +1 -1
- package/dist/components/features/activities/partials/activity-marker.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-marker.d.ts.map +1 -1
- package/dist/components/features/activities/partials/activity-resource-tag.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-resource-tag.d.ts.map +1 -1
- package/dist/components/features/activities/partials/activity-row.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-row.d.ts.map +1 -1
- package/dist/components/features/ai-chat/ai-chat.d.ts +1 -1
- package/dist/components/features/ai-chat/ai-chat.d.ts.map +1 -1
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.cjs.map +1 -1
- package/dist/components/features/ai-chat/index.js +7 -7
- package/dist/components/features/ai-chat/index.js.map +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts.map +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-conversation.d.ts +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-conversation.d.ts.map +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-empty-state.d.ts +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-empty-state.d.ts.map +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-message.d.ts +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-message.d.ts.map +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts.map +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts.map +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts.map +1 -1
- package/dist/components/features/card/booking-calendar-event-card.d.ts +1 -1
- package/dist/components/features/card/booking-calendar-event-card.d.ts.map +1 -1
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.cjs.map +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/card/index.js.map +1 -1
- package/dist/components/features/card/partials/default-shared-resource-partials.d.ts +4 -4
- package/dist/components/features/card/partials/default-shared-resource-partials.d.ts.map +1 -1
- package/dist/components/features/card/shared-resource-card.d.ts +1 -1
- package/dist/components/features/card/shared-resource-card.d.ts.map +1 -1
- package/dist/components/features/comments/comments.d.ts +1 -1
- package/dist/components/features/comments/comments.d.ts.map +1 -1
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/comments/partials/comment-composer.d.ts.map +1 -1
- package/dist/components/features/event-log/event-log.d.ts +1 -1
- package/dist/components/features/event-log/event-log.d.ts.map +1 -1
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.cjs.map +1 -1
- package/dist/components/features/event-log/index.js +5 -5
- package/dist/components/features/event-log/index.js.map +1 -1
- package/dist/components/features/filters/facets/async-select-facet.d.ts +1 -1
- package/dist/components/features/filters/facets/async-select-facet.d.ts.map +1 -1
- package/dist/components/features/filters/facets/date-facet.d.ts +1 -1
- package/dist/components/features/filters/facets/date-facet.d.ts.map +1 -1
- package/dist/components/features/filters/facets/range-facet.d.ts +1 -1
- package/dist/components/features/filters/facets/range-facet.d.ts.map +1 -1
- package/dist/components/features/filters/facets/search-facet.d.ts +1 -1
- package/dist/components/features/filters/facets/search-facet.d.ts.map +1 -1
- package/dist/components/features/filters/facets/select-facet.d.ts +1 -1
- package/dist/components/features/filters/facets/select-facet.d.ts.map +1 -1
- package/dist/components/features/filters/facets/tags-facet.d.ts +1 -1
- package/dist/components/features/filters/facets/tags-facet.d.ts.map +1 -1
- package/dist/components/features/filters/filter-context.d.ts +1 -1
- package/dist/components/features/filters/filter-context.d.ts.map +1 -1
- package/dist/components/features/filters/filter-layout.d.ts +1 -1
- package/dist/components/features/filters/filter-layout.d.ts.map +1 -1
- package/dist/components/features/filters/filters.strings.d.ts +1 -0
- package/dist/components/features/filters/filters.strings.d.ts.map +1 -1
- package/dist/components/features/filters/filters.types.d.ts +1 -1
- 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 +195 -188
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/filters/partials/active-filter-item.d.ts +2 -1
- package/dist/components/features/filters/partials/active-filter-item.d.ts.map +1 -1
- package/dist/components/features/filters/partials/async-filter-content.d.ts +1 -1
- package/dist/components/features/filters/partials/async-filter-content.d.ts.map +1 -1
- package/dist/components/features/filters/partials/date-filter-content.d.ts +1 -1
- package/dist/components/features/filters/partials/date-filter-content.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filter-error-boundary.d.ts +1 -1
- package/dist/components/features/filters/partials/filter-error-boundary.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filter-list-content.d.ts +1 -1
- package/dist/components/features/filters/partials/filter-list-content.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filter-list-item.d.ts +1 -1
- package/dist/components/features/filters/partials/filter-list-item.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filter-operator-select.d.ts +2 -1
- package/dist/components/features/filters/partials/filter-operator-select.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filter-pill.d.ts +1 -1
- package/dist/components/features/filters/partials/filter-pill.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
- package/dist/components/features/filters/partials/filter-popover-content.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filter-tabs.d.ts +1 -1
- package/dist/components/features/filters/partials/filter-tabs.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filter-value-display.d.ts +1 -1
- package/dist/components/features/filters/partials/filter-value-display.d.ts.map +1 -1
- package/dist/components/features/filters/partials/filters-button.d.ts +1 -1
- package/dist/components/features/filters/partials/filters-button.d.ts.map +1 -1
- package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
- package/dist/components/features/filters/partials/regular-filter-content.d.ts.map +1 -1
- package/dist/components/features/filters/partials/search-filters-list.d.ts +1 -1
- package/dist/components/features/filters/partials/search-filters-list.d.ts.map +1 -1
- package/dist/components/features/filters/partials/tags-filter-content.d.ts +1 -1
- package/dist/components/features/filters/partials/tags-filter-content.d.ts.map +1 -1
- package/dist/components/features/global-search/global-search.d.ts +22 -1
- package/dist/components/features/global-search/global-search.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 +3 -3
- package/dist/components/features/global-search/index.js.map +1 -1
- package/dist/components/features/global-search/partials/global-search-empty-state.d.ts +1 -1
- package/dist/components/features/global-search/partials/global-search-empty-state.d.ts.map +1 -1
- package/dist/components/features/global-search/partials/global-search-footer.d.ts +1 -1
- package/dist/components/features/global-search/partials/global-search-footer.d.ts.map +1 -1
- package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
- package/dist/components/features/global-search/partials/global-search-idle-state.d.ts.map +1 -1
- package/dist/components/features/global-search/partials/global-search-result-row.d.ts +2 -1
- package/dist/components/features/global-search/partials/global-search-result-row.d.ts.map +1 -1
- package/dist/components/features/global-search/partials/global-search-tabs.d.ts +1 -1
- package/dist/components/features/global-search/partials/global-search-tabs.d.ts.map +1 -1
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.cjs.map +1 -1
- package/dist/components/features/kanban/index.js +2 -2
- package/dist/components/features/kanban/index.js.map +1 -1
- package/dist/components/features/kanban/kanban.d.ts +7 -7
- package/dist/components/features/kanban/kanban.d.ts.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/mentions/partials/mention-inline-suggestions.d.ts +1 -1
- package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts.map +1 -1
- package/dist/components/features/mentions/partials/mention-picker.d.ts +1 -1
- package/dist/components/features/mentions/partials/mention-picker.d.ts.map +1 -1
- package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
- package/dist/components/features/overlays/alert-dialog.d.ts.map +1 -1
- package/dist/components/features/overlays/dialog.d.ts +1 -1
- package/dist/components/features/overlays/dialog.d.ts.map +1 -1
- package/dist/components/features/overlays/drawer.d.ts +1 -1
- package/dist/components/features/overlays/drawer.d.ts.map +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
- package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts.map +1 -1
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.cjs.map +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/rich-text-editor/index.js.map +1 -1
- package/dist/components/features/rich-text-editor/partials/counts-footer.d.ts +2 -2
- package/dist/components/features/rich-text-editor/partials/counts-footer.d.ts.map +1 -1
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts.map +1 -1
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts.map +1 -1
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +1 -1
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts.map +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +4 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts.map +1 -1
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.cjs.map +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/suggestions/index.js.map +1 -1
- package/dist/components/features/suggestions/suggestions.d.ts +1 -1
- package/dist/components/features/suggestions/suggestions.d.ts.map +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.cjs.map +1 -1
- package/dist/components/features/sync/index.js +3 -3
- package/dist/components/features/sync/index.js.map +1 -1
- package/dist/components/features/sync/sync-range-dialog-form.d.ts +1 -1
- package/dist/components/layout/app-shell/app-shell.types.d.ts +65 -0
- package/dist/components/layout/app-shell/app-shell.types.d.ts.map +1 -0
- package/dist/components/layout/app-shell/index.cjs +1 -0
- package/dist/components/layout/app-shell/index.d.ts +3 -0
- package/dist/components/layout/app-shell/index.d.ts.map +1 -0
- package/dist/components/layout/app-shell/index.js +2 -0
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +3 -0
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts.map +1 -0
- package/dist/components/layout/containers/content-container.d.ts +1 -1
- package/dist/components/layout/containers/content-container.d.ts.map +1 -1
- package/dist/components/layout/containers/index.cjs +1 -1
- package/dist/components/layout/containers/index.js +2 -2
- package/dist/components/layout/containers/section.d.ts +1 -1
- package/dist/components/layout/containers/section.d.ts.map +1 -1
- package/dist/components/layout/header/header.d.ts +1 -1
- package/dist/components/layout/header/header.d.ts.map +1 -1
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/header/partials/header-breadcrumbs.d.ts +3 -1
- package/dist/components/layout/header/partials/header-breadcrumbs.d.ts.map +1 -1
- package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
- package/dist/components/layout/header/partials/header-notifications.d.ts.map +1 -1
- package/dist/components/layout/header/partials/header-search.d.ts +1 -1
- package/dist/components/layout/header/partials/header-search.d.ts.map +1 -1
- package/dist/components/layout/header/partials/header-user-menu.d.ts +1 -1
- package/dist/components/layout/header/partials/header-user-menu.d.ts.map +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.d.ts +1 -0
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +8 -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-content.d.ts +1 -1
- package/dist/components/layout/page/page-content.d.ts.map +1 -1
- package/dist/components/layout/page/page.d.ts +1 -1
- package/dist/components/layout/page/page.d.ts.map +1 -1
- package/dist/components/layout/page/partials/page-actions.d.ts +1 -1
- package/dist/components/layout/page/partials/page-actions.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/sidebar/app-sidebar.d.ts +6 -1
- package/dist/components/layout/sidebar/app-sidebar.d.ts.map +1 -1
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts.map +1 -1
- package/dist/components/layout/sidebar/components/sidebar-logo.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-logo.d.ts.map +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts.map +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation-user.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation-user.d.ts.map +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +3 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts.map +1 -1
- package/dist/components/layout/sidebar/components/sidebar-workspace-dropdown.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-workspace-dropdown.d.ts.map +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -1
- package/dist/components/layout/sidebar/sidebar.context.d.ts.map +1 -1
- package/dist/components/layout/sidebar/sidebar.d.ts +1 -1
- package/dist/components/layout/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/layout/sidebar/sidebar.utils.d.ts +2 -2
- package/dist/components/layout/sidebar/sidebar.utils.d.ts.map +1 -1
- package/dist/components/typography/heading.d.ts +1 -1
- package/dist/components/typography/heading.d.ts.map +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +3 -3
- package/dist/components/typography/label.d.ts +1 -1
- package/dist/components/typography/label.d.ts.map +1 -1
- package/dist/components/typography/text-link.d.ts +1 -1
- package/dist/components/typography/text-link.d.ts.map +1 -1
- package/dist/components/typography/text.d.ts +1 -1
- package/dist/components/typography/text.d.ts.map +1 -1
- package/dist/components/typography/typography.d.ts +3 -3
- package/dist/components/typography/typography.d.ts.map +1 -1
- package/dist/components/ui/accordion.d.ts +4 -4
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/alert.d.ts +4 -4
- package/dist/components/ui/alert.d.ts.map +1 -1
- package/dist/components/ui/avatar.d.ts +6 -6
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts +7 -7
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/button-group.d.ts +2 -2
- package/dist/components/ui/button-group.d.ts.map +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/calendar.d.ts +2 -2
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/card.d.ts +7 -7
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/chart.d.ts +4 -4
- package/dist/components/ui/chart.d.ts.map +1 -1
- package/dist/components/ui/checkbox.d.ts +1 -1
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/collapsible.d.ts +4 -3
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/combobox.d.ts +20 -20
- package/dist/components/ui/combobox.d.ts.map +1 -1
- package/dist/components/ui/command.d.ts +9 -9
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/context-menu.d.ts +15 -15
- package/dist/components/ui/context-menu.d.ts.map +1 -1
- package/dist/components/ui/dialog.d.ts +10 -10
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts +16 -16
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/empty.d.ts +6 -6
- package/dist/components/ui/empty.d.ts.map +1 -1
- package/dist/components/ui/hover-card.d.ts +3 -3
- package/dist/components/ui/hover-card.d.ts.map +1 -1
- package/dist/components/ui/input-group.d.ts +6 -6
- package/dist/components/ui/input-group.d.ts.map +1 -1
- package/dist/components/ui/input.d.ts +1 -1
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/item.d.ts +9 -9
- package/dist/components/ui/item.d.ts.map +1 -1
- package/dist/components/ui/pagination.d.ts +7 -7
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/popover.d.ts +7 -7
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/progress.d.ts +5 -5
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/radio-group.d.ts +2 -2
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.d.ts +2 -2
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/select.d.ts +9 -9
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/separator.d.ts +1 -1
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/sheet.d.ts +8 -8
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sidebar.d.ts +19 -19
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/skeleton.d.ts +1 -1
- package/dist/components/ui/skeleton.d.ts.map +1 -1
- package/dist/components/ui/slider.d.ts +2 -1
- package/dist/components/ui/slider.d.ts.map +1 -1
- package/dist/components/ui/sonner.d.ts +1 -1
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/spinner.d.ts +1 -1
- package/dist/components/ui/spinner.d.ts.map +1 -1
- package/dist/components/ui/switch.d.ts +1 -1
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/table.d.ts +8 -8
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/components/ui/tabs.d.ts +4 -4
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/textarea.d.ts +1 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.d.ts +3 -2
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle.d.ts +1 -1
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/tooltip.d.ts +4 -4
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/strings.cjs +1 -1
- package/dist/lib/strings.cjs.map +1 -1
- package/dist/lib/strings.js.map +1 -1
- package/dist/lib/ui-provider/index.cjs +1 -1
- package/dist/lib/ui-provider/index.js +1 -1
- package/dist/lib/ui-provider/provider.d.ts +1 -1
- package/dist/lib/ui-provider/provider.d.ts.map +1 -1
- package/dist/lib/utils.cjs +1 -1
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/showcase/assets/AreaChart-CzBEYPbz.js +6 -0
- package/dist/showcase/assets/CSPContext-ImKusJJ_.js +1 -0
- package/dist/showcase/assets/CompositeItem-C-DIOBdJ.js +1 -0
- package/dist/showcase/assets/CompositeRoot-Ce4ORgG2.js +1 -0
- package/dist/showcase/assets/Control.FullScreen-CwLQ1MMK.js +1 -0
- package/dist/showcase/assets/DialogTrigger-DWvMs7dp.js +1 -0
- package/dist/showcase/assets/FormContext-BeC1MJpT.js +1 -0
- package/dist/showcase/assets/PreviewLayout-N1PTTyZK.js +1 -0
- package/dist/showcase/assets/RadioGroup-DAWaa26D.js +1 -0
- package/dist/showcase/assets/Separator-guDkmky0.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-BJ7hWga8.js +1 -0
- package/dist/showcase/assets/accordion-CiM9WhkT.js +172 -0
- package/dist/showcase/assets/accordion-variants-C_sHrQ7C.js +1 -0
- package/dist/showcase/assets/action-menu-mlWlGE5P.js +1 -0
- package/dist/showcase/assets/activities-YWR4wh4f.js +501 -0
- package/dist/showcase/assets/activities-feed-card-Cglnf5as.js +1 -0
- package/dist/showcase/assets/admin-BtOtzPd4.js +80 -0
- package/dist/showcase/assets/ai-8iNe0R1M.js +41 -0
- package/dist/showcase/assets/ai-artifact-CQL5krnJ.js +2 -0
- package/dist/showcase/assets/ai-chat-BzCdOOc6.js +568 -0
- package/dist/showcase/assets/ai-elements-CBHy2xWU.js +379 -0
- package/dist/showcase/assets/ai-new-CgL5NeVs.js +167 -0
- package/dist/showcase/assets/ai-tool-call-D9AsaWJF.js +1 -0
- package/dist/showcase/assets/alert-B2BuF4vZ.js +59 -0
- package/dist/showcase/assets/alert-BkVaTONJ.js +1 -0
- package/dist/showcase/assets/api-key-list-C-_59dli.js +73 -0
- package/dist/showcase/assets/app-sidebar-BdOu5rVn.js +1 -0
- package/dist/showcase/assets/arrow-down-BpVaq9-H.js +1 -0
- package/dist/showcase/assets/arrow-left-C40rxfqj.js +1 -0
- package/dist/showcase/assets/arrow-right-BclouSfP.js +1 -0
- package/dist/showcase/assets/arrow-up-BpWEnkdX.js +1 -0
- package/dist/showcase/assets/arrow-up-right-Z5sMa1HH.js +1 -0
- package/dist/showcase/assets/avatar-CDNhh3rv.js +57 -0
- package/dist/showcase/assets/avatar-QBwg3fvR.js +1 -0
- package/dist/showcase/assets/badge-check-DXDQ3SaL.js +1 -0
- package/dist/showcase/assets/badge-tAdYt--9.js +28 -0
- package/dist/showcase/assets/bell-CVEeEWw4.js +1 -0
- package/dist/showcase/assets/bot-Bcx5mNAQ.js +1 -0
- package/dist/showcase/assets/box-Dgy2Xc70.js +1 -0
- package/dist/showcase/assets/brain-DsoOsd7m.js +1 -0
- package/dist/showcase/assets/brand-DAyuXNUz.js +40 -0
- package/dist/showcase/assets/breadcrumb-CC4Z8eMY.js +1 -0
- package/dist/showcase/assets/breadcrumb-DCbAzeMs.js +52 -0
- package/dist/showcase/assets/breadcrumbs-DGZMpIoQ.js +1 -0
- package/dist/showcase/assets/briefcase-2uLXCvAZ.js +1 -0
- package/dist/showcase/assets/button-DhQ6rMPU.js +44 -0
- package/dist/showcase/assets/button-group-Ce9vnZ1H.js +1 -0
- package/dist/showcase/assets/buttons-CHja0LUL.js +270 -0
- package/dist/showcase/assets/calendar-BbiK8AMZ.js +16 -0
- package/dist/showcase/assets/calendar-BhZpIjCo.js +1 -0
- package/dist/showcase/assets/calendar-oKaDsUIy.js +1 -0
- package/dist/showcase/assets/card-DoU1VD79.js +1 -0
- package/dist/showcase/assets/cards-3OgH8m3F.js +328 -0
- package/dist/showcase/assets/chart-column-6Tn3WAT9.js +1 -0
- package/dist/showcase/assets/chevron-down-x7TQsvYY.js +1 -0
- package/dist/showcase/assets/chevron-left-CglzJgA2.js +1 -0
- package/dist/showcase/assets/chevron-right-CDDMIkYP.js +1 -0
- package/dist/showcase/assets/chevron-up-Dc3aAaGH.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-DJNnSBAj.js +1 -0
- package/dist/showcase/assets/circle-BBmNFtO8.js +1 -0
- package/dist/showcase/assets/circle-alert-DJevf3tT.js +1 -0
- package/dist/showcase/assets/circle-check-BCxORlAM.js +1 -0
- package/dist/showcase/assets/circle-check-big-tiuK2w0-.js +1 -0
- package/dist/showcase/assets/circle-dot-BEVVQjgN.js +1 -0
- package/dist/showcase/assets/circle-question-mark-BQrUUiKD.js +1 -0
- package/dist/showcase/assets/circle-x-CoV_AUtZ.js +1 -0
- package/dist/showcase/assets/clock-Bn2R4aDX.js +1 -0
- package/dist/showcase/assets/code-xml-BVYp_JDX.js +1 -0
- package/dist/showcase/assets/collapsible-Co2Y739_.js +27 -0
- package/dist/showcase/assets/collapsible-DPbftgrO.js +1 -0
- package/dist/showcase/assets/combobox-Cm4__LnJ.js +622 -0
- package/dist/showcase/assets/command-DQFIxPN9.js +45 -0
- package/dist/showcase/assets/command-KNncGgZW.js +1 -0
- package/dist/showcase/assets/comment-composer-DTJtqYGP.js +1 -0
- package/dist/showcase/assets/comment-item-DIEYMmV_.js +1 -0
- package/dist/showcase/assets/comments-B0BbDp-3.js +357 -0
- package/dist/showcase/assets/commerce-BOWBCLA-.js +79 -0
- package/dist/showcase/assets/commerce-extras-C6CWYfpC.js +173 -0
- package/dist/showcase/assets/composite-YicTVAO0.js +1 -0
- package/dist/showcase/assets/contact-card-DQPRIlnJ.js +65 -0
- package/dist/showcase/assets/content-container-CHXwWViz.js +1 -0
- package/dist/showcase/assets/copyable-CjTwco9O.js +96 -0
- package/dist/showcase/assets/course-card-CTQScd2C.js +113 -0
- package/dist/showcase/assets/cpu-D52NjUWq.js +1 -0
- package/dist/showcase/assets/credit-card-BoDfW0R8.js +1 -0
- package/dist/showcase/assets/currency-BPREbpDA.js +149 -0
- package/dist/showcase/assets/dark-surfaces-BCG45K2m.js +90 -0
- package/dist/showcase/assets/database-DeGR0hed.js +1 -0
- package/dist/showcase/assets/date-block-Bl1kXJrM.js +1 -0
- package/dist/showcase/assets/date-picker-BHbZa4ML.js +1 -0
- package/dist/showcase/assets/date-pickers-DumwUEXE.js +110 -0
- package/dist/showcase/assets/dense-info-DxfgBw9Z.js +106 -0
- package/dist/showcase/assets/dialog-BYHZvlL8.js +1 -0
- package/dist/showcase/assets/display-BXMGOjL3.js +392 -0
- package/dist/showcase/assets/dist-CnonIdcR.js +1 -0
- package/dist/showcase/assets/dollar-sign-BipUTVXC.js +1 -0
- package/dist/showcase/assets/download-CxspQgIc.js +1 -0
- package/dist/showcase/assets/dropdown-menu-Q1BV3wPP.js +1 -0
- package/dist/showcase/assets/dropzone-OivkuTPF.js +1 -0
- package/dist/showcase/assets/ellipsis-Bn-XgoA7.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-Bcl9HX9k.js +1 -0
- package/dist/showcase/assets/empty-CcafLcw-.js +1 -0
- package/dist/showcase/assets/empty-item-CiJeS8ZV.js +49 -0
- package/dist/showcase/assets/empty-state-B1RYYjUP.js +188 -0
- package/dist/showcase/assets/enhanced-activities-IB811DS6.js +361 -0
- package/dist/showcase/assets/esm-CAF_uoYd.js +2 -0
- package/dist/showcase/assets/event-calendar-C2VCfcUz.js +138 -0
- package/dist/showcase/assets/event-log-ckmsCPmG.js +330 -0
- package/dist/showcase/assets/example-C6-_Sy6B.js +1 -0
- package/dist/showcase/assets/external-link-Bg-_8Uq7.js +1 -0
- package/dist/showcase/assets/eye-JVsUA85G.js +1 -0
- package/dist/showcase/assets/feature-announcement-C4aRXesF.js +34 -0
- package/dist/showcase/assets/fetchers-DHuMQ6PN.js +1 -0
- package/dist/showcase/assets/file-4pOq58jl.js +1 -0
- package/dist/showcase/assets/file-text-BIi71mZ1.js +1 -0
- package/dist/showcase/assets/filters-CxrcnmLU.js +78 -0
- package/dist/showcase/assets/flag-DeiJmomk.js +1 -0
- package/dist/showcase/assets/folder-open-zMXBpVNs.js +1 -0
- package/dist/showcase/assets/form-sizing-B8jbL5tL.js +1 -0
- package/dist/showcase/assets/format-BG4laCmp.js +1 -0
- package/dist/showcase/assets/format-metric-value-B94EDo8X.js +1 -0
- package/dist/showcase/assets/forms-PsN5zTLx.js +793 -0
- package/dist/showcase/assets/generic-BH5YLC_H.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-B7wr19E1.js +1 -0
- package/dist/showcase/assets/gift-CKFIh1Wh.js +1 -0
- package/dist/showcase/assets/giftcard-cards-BfOlIHmA.js +85 -0
- package/dist/showcase/assets/git-branch-BO9i8XkJ.js +1 -0
- package/dist/showcase/assets/global-search-CNmUraNa.js +90 -0
- package/dist/showcase/assets/global-search-DkJkQ0Vs.js +1 -0
- package/dist/showcase/assets/globe-47T22W56.js +1 -0
- package/dist/showcase/assets/gradient-card-CXSY29TZ.js +58 -0
- package/dist/showcase/assets/header-eZHN-s6P.js +1 -0
- package/dist/showcase/assets/header-notifications-Caa9i87J.js +1 -0
- package/dist/showcase/assets/heart-DjKkkUsX.js +1 -0
- package/dist/showcase/assets/house-DKxCiHyB.js +1 -0
- package/dist/showcase/assets/icon-badge-Bcm8TlJi.js +1 -0
- package/dist/showcase/assets/image-r-gMI33G.js +1 -0
- package/dist/showcase/assets/inbox-ZxSy1pgX.js +1 -0
- package/dist/showcase/assets/index-B8DVXCmf.js +10 -0
- package/dist/showcase/assets/index-DbLs6mcj.css +2 -0
- package/dist/showcase/assets/inertValue-i0cAMG-0.js +1 -0
- package/dist/showcase/assets/info-B1KV2DkO.js +1 -0
- package/dist/showcase/assets/inline-stat-D0sE-A4C.js +1 -0
- package/dist/showcase/assets/input-25epjsiD.js +1 -0
- package/dist/showcase/assets/input-CnwMt9Sr.js +1 -0
- package/dist/showcase/assets/input-group-DSKyV7we.js +47 -0
- package/dist/showcase/assets/input-group-x5eWeAZg.js +1 -0
- package/dist/showcase/assets/inputs-B2Maxr14.js +49 -0
- package/dist/showcase/assets/invoice-header-Gxl--yFu.js +36 -0
- package/dist/showcase/assets/invoice-items-BtoaGNjE.js +36 -0
- package/dist/showcase/assets/invoice-mini-DHFSZegy.js +14 -0
- package/dist/showcase/assets/invoice-table-6dmU_KrL.js +30 -0
- package/dist/showcase/assets/isSameDay-BrDHfKHm.js +1 -0
- package/dist/showcase/assets/isToday-VtoSc1IH.js +1 -0
- package/dist/showcase/assets/italic-CXkAsf6H.js +1 -0
- package/dist/showcase/assets/item-CGOThKAx.js +1 -0
- package/dist/showcase/assets/item-CMRbW6s-.js +1 -0
- package/dist/showcase/assets/item-sw6fAZcn.js +117 -0
- package/dist/showcase/assets/kanban-CKGYTXji.js +175 -0
- package/dist/showcase/assets/label-BmKD22pm.js +1 -0
- package/dist/showcase/assets/layout-app-shell-CeMHzVNn.js +501 -0
- package/dist/showcase/assets/layout-containers-8Drow5f9.js +96 -0
- package/dist/showcase/assets/layout-header-BlBw4JAV.js +170 -0
- package/dist/showcase/assets/layout-page-BQfgHFau.js +122 -0
- package/dist/showcase/assets/layout-sidebar-DZer5Uuh.js +224 -0
- package/dist/showcase/assets/layout-users-nuioUkeu.js +104 -0
- package/dist/showcase/assets/leaflet-src-S_KZeH2q.js +1 -0
- package/dist/showcase/assets/lib-DMGme4uo.js +1 -0
- package/dist/showcase/assets/lock-DQcZ9cEj.js +1 -0
- package/dist/showcase/assets/mail-yNXDtmNr.js +1 -0
- package/dist/showcase/assets/map-JMM1F9VR.js +124 -0
- package/dist/showcase/assets/map-pin-2WS7oVo3.js +1 -0
- package/dist/showcase/assets/menus-mK-FeNki.js +89 -0
- package/dist/showcase/assets/message-square-DGTAjNJG.js +1 -0
- package/dist/showcase/assets/metadata-list-CBxuQjVO.js +278 -0
- package/dist/showcase/assets/metric-BWGrmyD6.js +1 -0
- package/dist/showcase/assets/metric-grid-CewIJQvo.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-kLBN8u5z.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-COnc7VN9.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-BR83UVqi.js +77 -0
- package/dist/showcase/assets/metrics-comparison-C0SUjdMg.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-Orq1hLk-.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-C924q2Xx.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-Cwi05ruK.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-D97nkrge.js +42 -0
- package/dist/showcase/assets/metrics-overview-BOc8y3QX.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-Cilh-A5D.js +54 -0
- package/dist/showcase/assets/minus-DvrDGcTv.js +1 -0
- package/dist/showcase/assets/money-display-0egZ_O76.js +1 -0
- package/dist/showcase/assets/month-year-picker-2cWfwnmP.js +1 -0
- package/dist/showcase/assets/navigation-BnYme-Wj.js +90 -0
- package/dist/showcase/assets/navigation-CLQWl32A.js +230 -0
- package/dist/showcase/assets/navigation-extras-BPDoAdXF.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-26XVWgDF.js +119 -0
- package/dist/showcase/assets/overlays-2sVGhanu.js +88 -0
- package/dist/showcase/assets/overlays-BaR6HDwB.js +394 -0
- package/dist/showcase/assets/package-CUNvdlBi.js +1 -0
- package/dist/showcase/assets/page-action-button-DgvZVtzx.js +1 -0
- package/dist/showcase/assets/page-header-4F_iaFPW.js +1 -0
- package/dist/showcase/assets/pagination-CDjZ6jiZ.js +42 -0
- package/dist/showcase/assets/pagination-g1NQaN42.js +1 -0
- package/dist/showcase/assets/paperclip-CDxdf8Os.js +1 -0
- package/dist/showcase/assets/pencil-Ddc5JwBe.js +1 -0
- package/dist/showcase/assets/phone-NIZ5SwgK.js +1 -0
- package/dist/showcase/assets/plus-C9kwz7rW.js +1 -0
- package/dist/showcase/assets/popover-DtnuOBgr.js +1 -0
- package/dist/showcase/assets/popover-T85aV4zW.js +1 -0
- package/dist/showcase/assets/popover-menu-BRGSZe4f.js +1 -0
- package/dist/showcase/assets/progress-CcZjuzK3.js +1 -0
- package/dist/showcase/assets/progress-DbouniUl.js +18 -0
- package/dist/showcase/assets/props-table-CM_1cocj.js +1 -0
- package/dist/showcase/assets/props.generated-Bg627Jai.json +32829 -0
- package/dist/showcase/assets/quote-vjygm2-7.js +1 -0
- package/dist/showcase/assets/react-dom-Bz4cALsF.js +1 -0
- package/dist/showcase/assets/receipt-CfMgwFPl.js +1 -0
- package/dist/showcase/assets/refresh-cw-Tu5E_cGA.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-CipUZh6i.js +1 -0
- package/dist/showcase/assets/rich-text-editor-BMZUyuQX.js +143 -0
- package/dist/showcase/assets/rich-text-editor-HwYIeWYW.js +124 -0
- package/dist/showcase/assets/rotate-ccw-B4Wi4ws7.js +1 -0
- package/dist/showcase/assets/scroll-area-CuB_woqF.js +1 -0
- package/dist/showcase/assets/scroll-area-I4mSIpRq.js +32 -0
- package/dist/showcase/assets/select-CF3cKjCo.js +1 -0
- package/dist/showcase/assets/send-Blu_n6xl.js +1 -0
- package/dist/showcase/assets/separator-9mrRf_DZ.js +28 -0
- package/dist/showcase/assets/separator-DUKleOvU.js +1 -0
- package/dist/showcase/assets/settings-DlKX-bZT.js +1 -0
- package/dist/showcase/assets/sheet-CwcLVoF3.js +1 -0
- package/dist/showcase/assets/shield-BD0Y8Jj3.js +1 -0
- package/dist/showcase/assets/shield-alert-DNOTmkwG.js +1 -0
- package/dist/showcase/assets/shield-check-Sbul0dUK.js +1 -0
- package/dist/showcase/assets/shopping-bag-EDVpxI9n.js +1 -0
- package/dist/showcase/assets/sidebar-JWZ88xw5.js +1 -0
- package/dist/showcase/assets/sidebar.context-D3P7qppn.js +1 -0
- package/dist/showcase/assets/skeleton-CIS1Kaas.js +1 -0
- package/dist/showcase/assets/skeleton-CJCJDQFt.js +29 -0
- package/dist/showcase/assets/smart-card-7szg_qSt.js +1 -0
- package/dist/showcase/assets/sonner-DMHXr9Ce.js +22 -0
- package/dist/showcase/assets/sortable.esm-DVuzVA1U.js +5 -0
- package/dist/showcase/assets/sparkles-BEa1AgNq.js +1 -0
- package/dist/showcase/assets/spinner-Bi-T9etI.js +30 -0
- package/dist/showcase/assets/spinner-C77XIUVf.js +1 -0
- package/dist/showcase/assets/spinner-DK9BAT6K.js +49 -0
- package/dist/showcase/assets/square-pen-N0mq-vPu.js +1 -0
- package/dist/showcase/assets/stacked-avatars-DORVEni2.js +1 -0
- package/dist/showcase/assets/star-Dbtxr60S.js +1 -0
- package/dist/showcase/assets/startOfDay-BJgxz4yq.js +1 -0
- package/dist/showcase/assets/styles-CwW4IBUg.js +1 -0
- package/dist/showcase/assets/switch-B4iRxZFU.js +1 -0
- package/dist/showcase/assets/switch-B_rnbXwy.js +1 -0
- package/dist/showcase/assets/table-BJ9HSK6H.js +1 -0
- package/dist/showcase/assets/table-IB0MEYf4.js +389 -0
- package/dist/showcase/assets/tabs-D02JL-Fa.js +1 -0
- package/dist/showcase/assets/tabs-XpsVS3ff.js +19 -0
- package/dist/showcase/assets/text-button-BWCgXGnr.js +1 -0
- package/dist/showcase/assets/text-link-TzuDnSCF.js +1 -0
- package/dist/showcase/assets/textarea-B7DUIiH_.js +1 -0
- package/dist/showcase/assets/textarea-CV5gNzXf.js +1 -0
- package/dist/showcase/assets/timelines-CF0UYhwm.js +200 -0
- package/dist/showcase/assets/toggle-group-CK8mBx6E.js +1 -0
- package/dist/showcase/assets/toggles-CqJSApnF.js +71 -0
- package/dist/showcase/assets/toggles-group-v0JijMzG.js +32 -0
- package/dist/showcase/assets/trash-2-_xF5j-Ya.js +1 -0
- package/dist/showcase/assets/trending-up-BCzmjYzm.js +1 -0
- package/dist/showcase/assets/truck-CryH-5dx.js +1 -0
- package/dist/showcase/assets/typography-D3PFbRpb.js +215 -0
- package/dist/showcase/assets/ui-badge-ByyFPLOB.js +28 -0
- package/dist/showcase/assets/ui-card-DYLLiD89.js +30 -0
- package/dist/showcase/assets/ui-table-DW4QIwxK.js +42 -0
- package/dist/showcase/assets/upload-tray-ZdL_dzc0.js +138 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-AFPLx3SZ.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-CeHRY8U2.js +1 -0
- package/dist/showcase/assets/useCompositeItem-C-1zP8zD.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-D4ugfKLB.js +1 -0
- package/dist/showcase/assets/useControlled-Cpg8gDqb.js +1 -0
- package/dist/showcase/assets/useLabelableId-CSxAHpU-.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-BLV8Pa2n.js +1 -0
- package/dist/showcase/assets/useRender-DparzvOu.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-CrYLO2g5.js +1 -0
- package/dist/showcase/assets/useValueChanged-DwgbaueK.js +1 -0
- package/dist/showcase/assets/user-CGcV8Ppb.js +1 -0
- package/dist/showcase/assets/user-plus-iOsntM6P.js +1 -0
- package/dist/showcase/assets/users-DzgXeZbf.js +1 -0
- package/dist/showcase/assets/vendor-profile-DbFPkGn9.js +37 -0
- package/dist/showcase/assets/wrench-1Ra9xb3d.js +1 -0
- package/dist/showcase/assets/x-CE8oevyh.js +1 -0
- package/dist/showcase/assets/zap-se3n2YVD.js +1 -0
- package/dist/showcase/index.html +4 -3
- package/dist/style.css +2 -2
- package/package.json +9 -3
- package/scripts/audit-consumer.mjs +17 -6
- package/src/App.css +28 -0
- package/dist/_shared/accordion-CztqyaIN.js +0 -130
- package/dist/_shared/accordion-CztqyaIN.js.map +0 -1
- package/dist/_shared/accordion-D5uTCLCB.cjs +0 -2
- package/dist/_shared/accordion-D5uTCLCB.cjs.map +0 -1
- package/dist/_shared/action-menu-Yrj6VzFS.js +0 -96
- package/dist/_shared/action-menu-Yrj6VzFS.js.map +0 -1
- package/dist/_shared/action-menu-eVP8GGlv.cjs +0 -2
- package/dist/_shared/action-menu-eVP8GGlv.cjs.map +0 -1
- package/dist/_shared/ai-artifact-DaHXJTKg.cjs +0 -3
- package/dist/_shared/ai-artifact-DaHXJTKg.cjs.map +0 -1
- package/dist/_shared/ai-artifact-DyLn3JAs.js +0 -1068
- package/dist/_shared/ai-artifact-DyLn3JAs.js.map +0 -1
- package/dist/_shared/alert-BVw4Mq6H.js +0 -48
- package/dist/_shared/alert-BVw4Mq6H.js.map +0 -1
- package/dist/_shared/alert-DXSlR9ja.cjs +0 -2
- package/dist/_shared/alert-DXSlR9ja.cjs.map +0 -1
- package/dist/_shared/avatar-CpBz9pTv.js +0 -52
- package/dist/_shared/avatar-CpBz9pTv.js.map +0 -1
- package/dist/_shared/avatar-dg20YFFs.cjs +0 -2
- package/dist/_shared/avatar-dg20YFFs.cjs.map +0 -1
- package/dist/_shared/badge-BVCh_hfL.js +0 -108
- package/dist/_shared/badge-BVCh_hfL.js.map +0 -1
- package/dist/_shared/badge-C49SSz-6.cjs +0 -2
- package/dist/_shared/badge-C49SSz-6.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs +0 -2
- package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-Dc93fqqE.js +0 -111
- package/dist/_shared/breadcrumbs-Dc93fqqE.js.map +0 -1
- package/dist/_shared/button-2xglT7yf.cjs +0 -2
- package/dist/_shared/button-2xglT7yf.cjs.map +0 -1
- package/dist/_shared/button-ChCkwoOD.js +0 -176
- package/dist/_shared/button-ChCkwoOD.js.map +0 -1
- package/dist/_shared/button-D0nF99a9.cjs +0 -2
- package/dist/_shared/button-D0nF99a9.cjs.map +0 -1
- package/dist/_shared/button-DBR4QI9E.js +0 -46
- package/dist/_shared/button-DBR4QI9E.js.map +0 -1
- package/dist/_shared/buttons-Bcnt1md_.js +0 -143
- package/dist/_shared/buttons-Bcnt1md_.js.map +0 -1
- package/dist/_shared/buttons-km9xqXJv.cjs +0 -2
- package/dist/_shared/buttons-km9xqXJv.cjs.map +0 -1
- package/dist/_shared/card-radio-group-BGH93O5-.js +0 -158
- package/dist/_shared/card-radio-group-BGH93O5-.js.map +0 -1
- package/dist/_shared/card-radio-group-Vq741uhL.cjs +0 -2
- package/dist/_shared/card-radio-group-Vq741uhL.cjs.map +0 -1
- package/dist/_shared/chunk-D3uCBrYO.cjs +0 -1
- package/dist/_shared/combobox-BgXAxjU2.js +0 -746
- package/dist/_shared/combobox-BgXAxjU2.js.map +0 -1
- package/dist/_shared/combobox-DuIyh3xJ.cjs +0 -2
- package/dist/_shared/combobox-DuIyh3xJ.cjs.map +0 -1
- package/dist/_shared/command-BbiijN61.js +0 -39
- package/dist/_shared/command-BbiijN61.js.map +0 -1
- package/dist/_shared/command-D7zTvyBJ.cjs +0 -2
- package/dist/_shared/command-D7zTvyBJ.cjs.map +0 -1
- package/dist/_shared/command-DGNtTI-V.cjs +0 -2
- package/dist/_shared/command-DGNtTI-V.cjs.map +0 -1
- package/dist/_shared/command-jKbwFRtS.js +0 -123
- package/dist/_shared/command-jKbwFRtS.js.map +0 -1
- package/dist/_shared/comments-CNUsdwGW.cjs +0 -2
- package/dist/_shared/comments-CNUsdwGW.cjs.map +0 -1
- package/dist/_shared/comments-CvmS7zG3.js +0 -945
- package/dist/_shared/comments-CvmS7zG3.js.map +0 -1
- package/dist/_shared/containers-BFDv7cCV.cjs +0 -2
- package/dist/_shared/containers-BFDv7cCV.cjs.map +0 -1
- package/dist/_shared/containers-C1-A_2PT.js +0 -19
- package/dist/_shared/containers-C1-A_2PT.js.map +0 -1
- package/dist/_shared/content-container-CwqFnaI0.cjs +0 -2
- package/dist/_shared/content-container-CwqFnaI0.cjs.map +0 -1
- package/dist/_shared/content-container-D_3JGBSc.js +0 -33
- package/dist/_shared/content-container-D_3JGBSc.js.map +0 -1
- package/dist/_shared/copyable-CHhCGMfW.js +0 -38
- package/dist/_shared/copyable-CHhCGMfW.js.map +0 -1
- package/dist/_shared/copyable-ndaiocYq.cjs +0 -2
- package/dist/_shared/copyable-ndaiocYq.cjs.map +0 -1
- package/dist/_shared/date-picker-B8O_qbik.js +0 -1353
- package/dist/_shared/date-picker-B8O_qbik.js.map +0 -1
- package/dist/_shared/date-picker-BnOjyuKS.cjs +0 -2
- package/dist/_shared/date-picker-BnOjyuKS.cjs.map +0 -1
- package/dist/_shared/date-pickers-Cas9cPlj.js +0 -330
- package/dist/_shared/date-pickers-Cas9cPlj.js.map +0 -1
- package/dist/_shared/date-pickers-Dk-G3RMy.cjs +0 -2
- package/dist/_shared/date-pickers-Dk-G3RMy.cjs.map +0 -1
- package/dist/_shared/dialog-67GmkMLC.js +0 -101
- package/dist/_shared/dialog-67GmkMLC.js.map +0 -1
- package/dist/_shared/dialog-BF_4uAhE.cjs +0 -2
- package/dist/_shared/dialog-BF_4uAhE.cjs.map +0 -1
- package/dist/_shared/display-B9xVWboG.cjs +0 -8
- package/dist/_shared/display-B9xVWboG.cjs.map +0 -1
- package/dist/_shared/display-BM_GxDAo.js +0 -1237
- package/dist/_shared/display-BM_GxDAo.js.map +0 -1
- package/dist/_shared/dropdown-menu-4nxEBMnd.js +0 -147
- package/dist/_shared/dropdown-menu-4nxEBMnd.js.map +0 -1
- package/dist/_shared/dropdown-menu-DZlWHqWS.cjs +0 -2
- package/dist/_shared/dropdown-menu-DZlWHqWS.cjs.map +0 -1
- package/dist/_shared/form-field-BQlki-8s.js +0 -319
- package/dist/_shared/form-field-BQlki-8s.js.map +0 -1
- package/dist/_shared/form-field-DzpwVS99.cjs +0 -2
- package/dist/_shared/form-field-DzpwVS99.cjs.map +0 -1
- package/dist/_shared/form-sizing-CcbB-OHF.js +0 -21
- package/dist/_shared/form-sizing-CcbB-OHF.js.map +0 -1
- package/dist/_shared/form-sizing-Cw12UeI6.cjs +0 -2
- package/dist/_shared/form-sizing-Cw12UeI6.cjs.map +0 -1
- package/dist/_shared/format-B2AdSQVn.cjs +0 -2
- package/dist/_shared/format-B2AdSQVn.cjs.map +0 -1
- package/dist/_shared/format-CP65h1vK.js +0 -48
- package/dist/_shared/format-CP65h1vK.js.map +0 -1
- package/dist/_shared/forms-B8aaNG44.cjs +0 -2
- package/dist/_shared/forms-B8aaNG44.cjs.map +0 -1
- package/dist/_shared/forms-BusuTZZ2.js +0 -3374
- package/dist/_shared/forms-BusuTZZ2.js.map +0 -1
- package/dist/_shared/header-DWfOUjFL.cjs +0 -2
- package/dist/_shared/header-DWfOUjFL.cjs.map +0 -1
- package/dist/_shared/header-KpdoLtP9.js +0 -369
- package/dist/_shared/header-KpdoLtP9.js.map +0 -1
- package/dist/_shared/heading-BprqyzDs.js +0 -39
- package/dist/_shared/heading-BprqyzDs.js.map +0 -1
- package/dist/_shared/heading-mZc_jan1.cjs +0 -2
- package/dist/_shared/heading-mZc_jan1.cjs.map +0 -1
- package/dist/_shared/hooks-C-uWoRq5.cjs +0 -2
- package/dist/_shared/hooks-C-uWoRq5.cjs.map +0 -1
- package/dist/_shared/hooks-D5HJtvvP.js +0 -118
- package/dist/_shared/hooks-D5HJtvvP.js.map +0 -1
- package/dist/_shared/icon-badge-BBqDyAUz.cjs +0 -2
- package/dist/_shared/icon-badge-BBqDyAUz.cjs.map +0 -1
- package/dist/_shared/icon-badge-Bi63T-bj.js +0 -52
- package/dist/_shared/icon-badge-Bi63T-bj.js.map +0 -1
- package/dist/_shared/input-B2YXTHqz.cjs +0 -2
- package/dist/_shared/input-B2YXTHqz.cjs.map +0 -1
- package/dist/_shared/input-BJb10xb9.cjs +0 -2
- package/dist/_shared/input-BJb10xb9.cjs.map +0 -1
- package/dist/_shared/input-CZxP5Xgj.js +0 -17
- package/dist/_shared/input-CZxP5Xgj.js.map +0 -1
- package/dist/_shared/input-DQahu2sm.js +0 -182
- package/dist/_shared/input-DQahu2sm.js.map +0 -1
- package/dist/_shared/item-Cu5JbZyZ.js +0 -224
- package/dist/_shared/item-Cu5JbZyZ.js.map +0 -1
- package/dist/_shared/item-Cx_7QZ2o.cjs +0 -2
- package/dist/_shared/item-Cx_7QZ2o.cjs.map +0 -1
- package/dist/_shared/mentions-CS3rIhze.js +0 -493
- package/dist/_shared/mentions-CS3rIhze.js.map +0 -1
- package/dist/_shared/mentions-D7gnP3Nf.cjs +0 -2
- package/dist/_shared/mentions-D7gnP3Nf.cjs.map +0 -1
- package/dist/_shared/metadata-CRsVWE8Y.cjs +0 -2
- package/dist/_shared/metadata-CRsVWE8Y.cjs.map +0 -1
- package/dist/_shared/metadata-CfG0FdFZ.js +0 -236
- package/dist/_shared/metadata-CfG0FdFZ.js.map +0 -1
- package/dist/_shared/money-display-Bd0rkjc9.js +0 -198
- package/dist/_shared/money-display-Bd0rkjc9.js.map +0 -1
- package/dist/_shared/money-display-DSFft9Mi.cjs +0 -2
- package/dist/_shared/money-display-DSFft9Mi.cjs.map +0 -1
- package/dist/_shared/navigation-Do9k5Xh1.js +0 -420
- package/dist/_shared/navigation-Do9k5Xh1.js.map +0 -1
- package/dist/_shared/navigation-QAAD3HJd.cjs +0 -2
- package/dist/_shared/navigation-QAAD3HJd.cjs.map +0 -1
- package/dist/_shared/overlays-B8AH8fNv.js +0 -633
- package/dist/_shared/overlays-B8AH8fNv.js.map +0 -1
- package/dist/_shared/overlays-DOcoRy8k.cjs +0 -2
- package/dist/_shared/overlays-DOcoRy8k.cjs.map +0 -1
- package/dist/_shared/page-BPCeKX9X.js +0 -263
- package/dist/_shared/page-BPCeKX9X.js.map +0 -1
- package/dist/_shared/page-DMM32sxi.cjs +0 -2
- package/dist/_shared/page-DMM32sxi.cjs.map +0 -1
- package/dist/_shared/popover-B1f_EUQS.cjs +0 -2
- package/dist/_shared/popover-B1f_EUQS.cjs.map +0 -1
- package/dist/_shared/popover-CgRGcFk9.js +0 -83
- package/dist/_shared/popover-CgRGcFk9.js.map +0 -1
- package/dist/_shared/popover-menu-BEKIT3LR.cjs +0 -2
- package/dist/_shared/popover-menu-BEKIT3LR.cjs.map +0 -1
- package/dist/_shared/popover-menu-BHdHLEVL.js +0 -95
- package/dist/_shared/popover-menu-BHdHLEVL.js.map +0 -1
- package/dist/_shared/rich-text-editor-0uoIoYXU.js +0 -608
- package/dist/_shared/rich-text-editor-0uoIoYXU.js.map +0 -1
- package/dist/_shared/rich-text-editor-wTiARGuB.cjs +0 -2
- package/dist/_shared/rich-text-editor-wTiARGuB.cjs.map +0 -1
- package/dist/_shared/scroll-area-Bo17wtZD.cjs +0 -2
- package/dist/_shared/scroll-area-Bo17wtZD.cjs.map +0 -1
- package/dist/_shared/scroll-area-Cj-hmB5D.js +0 -41
- package/dist/_shared/scroll-area-Cj-hmB5D.js.map +0 -1
- package/dist/_shared/select-07RRiTWc.js +0 -85
- package/dist/_shared/select-07RRiTWc.js.map +0 -1
- package/dist/_shared/select-BfiU7a4n.cjs +0 -2
- package/dist/_shared/select-BfiU7a4n.cjs.map +0 -1
- package/dist/_shared/separator-CN9zAJfs.cjs +0 -2
- package/dist/_shared/separator-CN9zAJfs.cjs.map +0 -1
- package/dist/_shared/separator-DR0uUMKa.js +0 -16
- package/dist/_shared/separator-DR0uUMKa.js.map +0 -1
- package/dist/_shared/sheet-B5FoGJAZ.cjs +0 -2
- package/dist/_shared/sheet-B5FoGJAZ.cjs.map +0 -1
- package/dist/_shared/sheet-cUI8cypP.js +0 -100
- package/dist/_shared/sheet-cUI8cypP.js.map +0 -1
- package/dist/_shared/sidebar-Bq7yKLrG.cjs +0 -2
- package/dist/_shared/sidebar-Bq7yKLrG.cjs.map +0 -1
- package/dist/_shared/sidebar-Da20tCUc.cjs +0 -2
- package/dist/_shared/sidebar-Da20tCUc.cjs.map +0 -1
- package/dist/_shared/sidebar-Q6TYE8Ux.js +0 -371
- package/dist/_shared/sidebar-Q6TYE8Ux.js.map +0 -1
- package/dist/_shared/sidebar-WmnQ55YY.js +0 -537
- package/dist/_shared/sidebar-WmnQ55YY.js.map +0 -1
- package/dist/_shared/skeleton-B3HWEc6G.js +0 -14
- package/dist/_shared/skeleton-B3HWEc6G.js.map +0 -1
- package/dist/_shared/skeleton-Cz_l8-fc.cjs +0 -2
- package/dist/_shared/skeleton-Cz_l8-fc.cjs.map +0 -1
- package/dist/_shared/slot-BgnZtKR5.js +0 -18
- package/dist/_shared/slot-BgnZtKR5.js.map +0 -1
- package/dist/_shared/slot-Dac1ipUC.cjs +0 -2
- package/dist/_shared/slot-Dac1ipUC.cjs.map +0 -1
- package/dist/_shared/smart-card-Bm_VxYUG.cjs +0 -2
- package/dist/_shared/smart-card-Bm_VxYUG.cjs.map +0 -1
- package/dist/_shared/smart-card-MT6JjkoI.js +0 -360
- package/dist/_shared/smart-card-MT6JjkoI.js.map +0 -1
- package/dist/_shared/spinner-BQjxJ_Kx.js +0 -67
- package/dist/_shared/spinner-BQjxJ_Kx.js.map +0 -1
- package/dist/_shared/spinner-Dvaa6GUm.cjs +0 -2
- package/dist/_shared/spinner-Dvaa6GUm.cjs.map +0 -1
- package/dist/_shared/switch-C0yyhsXZ.js +0 -51
- package/dist/_shared/switch-C0yyhsXZ.js.map +0 -1
- package/dist/_shared/switch-DozkSQNn.cjs +0 -2
- package/dist/_shared/switch-DozkSQNn.cjs.map +0 -1
- package/dist/_shared/text-DBnY6fcL.cjs +0 -2
- package/dist/_shared/text-DBnY6fcL.cjs.map +0 -1
- package/dist/_shared/text-DIxMTECE.js +0 -74
- package/dist/_shared/text-DIxMTECE.js.map +0 -1
- package/dist/_shared/textarea-Cgl-FPwu.js +0 -119
- package/dist/_shared/textarea-Cgl-FPwu.js.map +0 -1
- package/dist/_shared/textarea-D8wC0XlZ.cjs +0 -2
- package/dist/_shared/textarea-D8wC0XlZ.cjs.map +0 -1
- package/dist/_shared/tooltip-Cws4BiPT.js +0 -49
- package/dist/_shared/tooltip-Cws4BiPT.js.map +0 -1
- package/dist/_shared/tooltip-DyUi-Tac.cjs +0 -2
- package/dist/_shared/tooltip-DyUi-Tac.cjs.map +0 -1
- package/dist/_shared/typography-BW7iZBx7.cjs +0 -2
- package/dist/_shared/typography-BW7iZBx7.cjs.map +0 -1
- package/dist/_shared/typography-a3hydyvI.js +0 -102
- package/dist/_shared/typography-a3hydyvI.js.map +0 -1
- package/dist/_shared/ui-provider-4qKSKMPd.js +0 -85
- package/dist/_shared/ui-provider-4qKSKMPd.js.map +0 -1
- package/dist/_shared/ui-provider-uiQgATj1.cjs +0 -2
- package/dist/_shared/ui-provider-uiQgATj1.cjs.map +0 -1
- package/dist/showcase/assets/AreaChart-CJ57G5Ub.js +0 -6
- package/dist/showcase/assets/CSPContext-BA7DfnCI.js +0 -1
- package/dist/showcase/assets/CompositeItem-PwzgE4va.js +0 -1
- package/dist/showcase/assets/CompositeRoot-Du4CMlK7.js +0 -1
- package/dist/showcase/assets/Control.FullScreen-B9vseC57.js +0 -1
- package/dist/showcase/assets/DialogTrigger-FkENgwo6.js +0 -1
- package/dist/showcase/assets/FormContext-ChygLayp.js +0 -1
- package/dist/showcase/assets/PreviewLayout-z6vpJJGt.js +0 -1
- package/dist/showcase/assets/RadioGroup-CcDmbxOw.js +0 -1
- package/dist/showcase/assets/Separator-Dk4eN76U.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-D_KAA5hZ.js +0 -1
- package/dist/showcase/assets/accordion-dQszzfmw.js +0 -172
- package/dist/showcase/assets/accordion-variants-Dp4wxic-.js +0 -1
- package/dist/showcase/assets/action-menu-CBi2Eiy0.js +0 -1
- package/dist/showcase/assets/activities-DoXsgP4G.js +0 -501
- package/dist/showcase/assets/activities-feed-card-xz5FtkOm.js +0 -1
- package/dist/showcase/assets/admin-CxklUqAG.js +0 -80
- package/dist/showcase/assets/ai-artifact-DkhUdEbM.js +0 -2
- package/dist/showcase/assets/ai-chat-B6PuqkEu.js +0 -568
- package/dist/showcase/assets/ai-elements-D_rpj_ds.js +0 -379
- package/dist/showcase/assets/ai-new-CUPrAbOK.js +0 -167
- package/dist/showcase/assets/ai-tool-call-CEr-dGVx.js +0 -1
- package/dist/showcase/assets/ai-zxF_msJF.js +0 -41
- package/dist/showcase/assets/alert-771BE3Ny.js +0 -59
- package/dist/showcase/assets/alert-CG42DAlX.js +0 -1
- package/dist/showcase/assets/api-key-list-D6jUN7Fq.js +0 -73
- package/dist/showcase/assets/arrow-down-CUoXUyN1.js +0 -1
- package/dist/showcase/assets/arrow-left-Cdq69X6h.js +0 -1
- package/dist/showcase/assets/arrow-right-i25q9L2H.js +0 -1
- package/dist/showcase/assets/arrow-up-pnezegnF.js +0 -1
- package/dist/showcase/assets/arrow-up-right-CK3XnMah.js +0 -1
- package/dist/showcase/assets/avatar-LPmQqZQv.js +0 -1
- package/dist/showcase/assets/avatar-ZVFIQouy.js +0 -57
- package/dist/showcase/assets/badge-DK4bsgZC.js +0 -28
- package/dist/showcase/assets/badge-check-Cw5gkVcG.js +0 -1
- package/dist/showcase/assets/bell-BvJELoaV.js +0 -1
- package/dist/showcase/assets/bot-DRj6sdSR.js +0 -1
- package/dist/showcase/assets/box-BNND3M2m.js +0 -1
- package/dist/showcase/assets/brain-Cy3o-12l.js +0 -1
- package/dist/showcase/assets/brand-DvipEpFn.js +0 -40
- package/dist/showcase/assets/breadcrumb-B-LNuOyv.js +0 -1
- package/dist/showcase/assets/breadcrumb-Lzpc0yo4.js +0 -52
- package/dist/showcase/assets/breadcrumbs-DD6msKFZ.js +0 -1
- package/dist/showcase/assets/briefcase-LcAwoEmu.js +0 -1
- package/dist/showcase/assets/button-CuwcGzk1.js +0 -44
- package/dist/showcase/assets/button-group-CAImjDrl.js +0 -1
- package/dist/showcase/assets/buttons-DTjNHCMl.js +0 -259
- package/dist/showcase/assets/calendar-B1zW0q6I.js +0 -1
- package/dist/showcase/assets/calendar-Dlv72ytt.js +0 -1
- package/dist/showcase/assets/calendar-ls2A08Pn.js +0 -16
- package/dist/showcase/assets/card-BhtkM1BT.js +0 -1
- package/dist/showcase/assets/cards-BRpRXzGk.js +0 -328
- package/dist/showcase/assets/chart-column-BpQkEi1H.js +0 -1
- package/dist/showcase/assets/chevron-down-DyObdfSb.js +0 -1
- package/dist/showcase/assets/chevron-left-T7dHNxYM.js +0 -1
- package/dist/showcase/assets/chevron-right-D_EcqHpT.js +0 -1
- package/dist/showcase/assets/chevron-up-B38ivdGO.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-SdRARzoq.js +0 -1
- package/dist/showcase/assets/circle-BrCPAmDA.js +0 -1
- package/dist/showcase/assets/circle-alert-DdhzLPY_.js +0 -1
- package/dist/showcase/assets/circle-check-DlA6zidQ.js +0 -1
- package/dist/showcase/assets/circle-check-big-DFGJANQF.js +0 -1
- package/dist/showcase/assets/circle-dot-BKmnVUqM.js +0 -1
- package/dist/showcase/assets/circle-question-mark-BNREvgVC.js +0 -1
- package/dist/showcase/assets/circle-x-C45QjHEs.js +0 -1
- package/dist/showcase/assets/clock-D1nKQzQo.js +0 -1
- package/dist/showcase/assets/code-xml-B8N3GRSu.js +0 -1
- package/dist/showcase/assets/collapsible-4TfcWyNs.js +0 -1
- package/dist/showcase/assets/collapsible-CKbZtvTj.js +0 -27
- package/dist/showcase/assets/combobox-DTdGPaU0.js +0 -622
- package/dist/showcase/assets/command-DymTXwL1.js +0 -1
- package/dist/showcase/assets/command-ksVIHQKJ.js +0 -45
- package/dist/showcase/assets/comment-composer-DC9oS1Yy.js +0 -1
- package/dist/showcase/assets/comment-item-CAmKnJa7.js +0 -1
- package/dist/showcase/assets/comments-Benk-2mV.js +0 -349
- package/dist/showcase/assets/commerce-Qz-mq8mQ.js +0 -78
- package/dist/showcase/assets/commerce-extras-CQRc3Bna.js +0 -179
- package/dist/showcase/assets/composite-DBDXLPyz.js +0 -1
- package/dist/showcase/assets/contact-card-DkL2nI3r.js +0 -65
- package/dist/showcase/assets/content-container-mRm6oJEa.js +0 -1
- package/dist/showcase/assets/copyable-DmLlmwzy.js +0 -96
- package/dist/showcase/assets/course-card-CJJoeZj9.js +0 -113
- package/dist/showcase/assets/cpu-BXJnF2Xy.js +0 -1
- package/dist/showcase/assets/credit-card-BQK3KKb2.js +0 -1
- package/dist/showcase/assets/currency-DBPUh8ee.js +0 -149
- package/dist/showcase/assets/dark-surfaces-LpPuIeYy.js +0 -90
- package/dist/showcase/assets/database-BZerpzGE.js +0 -1
- package/dist/showcase/assets/date-block-iiHUpbNX.js +0 -1
- package/dist/showcase/assets/date-picker-BQeBGL7T.js +0 -1
- package/dist/showcase/assets/date-pickers-CKcUEMMF.js +0 -110
- package/dist/showcase/assets/dense-info-DATmxRU8.js +0 -106
- package/dist/showcase/assets/dialog-Bqu5KDYH.js +0 -1
- package/dist/showcase/assets/display-Bj7uPXD4.js +0 -392
- package/dist/showcase/assets/dist-QK7JxeYv.js +0 -1
- package/dist/showcase/assets/dollar-sign-DFZs6vfz.js +0 -1
- package/dist/showcase/assets/download-5oGw_WbW.js +0 -1
- package/dist/showcase/assets/dropdown-menu-1CJgYn0S.js +0 -1
- package/dist/showcase/assets/dropzone-Co1uhsDn.js +0 -1
- package/dist/showcase/assets/ellipsis-cKRcvuyL.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-B1RErEkj.js +0 -1
- package/dist/showcase/assets/empty-Y2-4nCBr.js +0 -1
- package/dist/showcase/assets/empty-item-USa6xcUv.js +0 -49
- package/dist/showcase/assets/empty-state-DfhZ9AT5.js +0 -188
- package/dist/showcase/assets/enhanced-activities-DmAPVUSu.js +0 -359
- package/dist/showcase/assets/esm-BeGQ_ZTM.js +0 -2
- package/dist/showcase/assets/event-calendar-D-jGrrZS.js +0 -138
- package/dist/showcase/assets/event-log-tA_i4eR9.js +0 -326
- package/dist/showcase/assets/example-6phCHGsN.js +0 -1
- package/dist/showcase/assets/external-link-BuVHkCy0.js +0 -1
- package/dist/showcase/assets/eye-DC5HfGm6.js +0 -1
- package/dist/showcase/assets/feature-announcement-DwvxLytd.js +0 -34
- package/dist/showcase/assets/fetchers-SLCIqgnM.js +0 -1
- package/dist/showcase/assets/file-D-xM4vLy.js +0 -1
- package/dist/showcase/assets/file-text-tmG5vNbr.js +0 -1
- package/dist/showcase/assets/filters-CrGRXmq6.js +0 -78
- package/dist/showcase/assets/flag-CWrEtkY5.js +0 -1
- package/dist/showcase/assets/folder-open-Br-x1pjP.js +0 -1
- package/dist/showcase/assets/form-sizing-Bb5hiM45.js +0 -1
- package/dist/showcase/assets/format-D_ETCyg4.js +0 -1
- package/dist/showcase/assets/format-metric-value-cyOYS377.js +0 -1
- package/dist/showcase/assets/forms-B_MkQ3rm.js +0 -790
- package/dist/showcase/assets/generic-CdmsyXV3.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-CZnCbCFP.js +0 -1
- package/dist/showcase/assets/gift-NkuklfU2.js +0 -1
- package/dist/showcase/assets/giftcard-cards-BAvevZ0i.js +0 -85
- package/dist/showcase/assets/git-branch-B_CBqPeO.js +0 -1
- package/dist/showcase/assets/global-search-D9teAbPe.js +0 -90
- package/dist/showcase/assets/globe-gzw45GU2.js +0 -1
- package/dist/showcase/assets/gradient-card-Xk2r7R5H.js +0 -58
- package/dist/showcase/assets/header-notifications-_aZCpE5A.js +0 -1
- package/dist/showcase/assets/heart-CEMKbRaZ.js +0 -1
- package/dist/showcase/assets/house-BlGXAcMH.js +0 -1
- package/dist/showcase/assets/icon-badge-z6N9reH_.js +0 -1
- package/dist/showcase/assets/image-B8mzmVBr.js +0 -1
- package/dist/showcase/assets/inbox-qdSnP4UV.js +0 -1
- package/dist/showcase/assets/index-B4ubXfly.js +0 -10
- package/dist/showcase/assets/index-Cu3Ssz5r.css +0 -2
- package/dist/showcase/assets/inertValue-D5Q8cLku.js +0 -1
- package/dist/showcase/assets/info-DBvvNjc_.js +0 -1
- package/dist/showcase/assets/inline-stat-Bm1zVT8D.js +0 -1
- package/dist/showcase/assets/input-CBQR0aeX.js +0 -1
- package/dist/showcase/assets/input-OrUzpI55.js +0 -1
- package/dist/showcase/assets/input-group-DhqOen2N.js +0 -47
- package/dist/showcase/assets/input-group-l8xa5nUq.js +0 -1
- package/dist/showcase/assets/inputs-DbiJ0qy2.js +0 -49
- package/dist/showcase/assets/invoice-header-C6youIbL.js +0 -36
- package/dist/showcase/assets/invoice-items-g6dgryF-.js +0 -36
- package/dist/showcase/assets/invoice-mini-0iWhufpt.js +0 -14
- package/dist/showcase/assets/invoice-table-Bvdh3rRq.js +0 -30
- package/dist/showcase/assets/isSameDay-BpZEtJe8.js +0 -1
- package/dist/showcase/assets/isToday-F0CS28oK.js +0 -1
- package/dist/showcase/assets/italic-CJOEwjdc.js +0 -1
- package/dist/showcase/assets/item-BiMm1PPB.js +0 -1
- package/dist/showcase/assets/item-CN0cwdj_.js +0 -1
- package/dist/showcase/assets/item-DNqEUYLT.js +0 -117
- package/dist/showcase/assets/kanban-DxePEUiQ.js +0 -175
- package/dist/showcase/assets/label-Dx4WO-fg.js +0 -1
- package/dist/showcase/assets/layout-containers-DDl8rG8S.js +0 -96
- package/dist/showcase/assets/layout-header-Bu6IcDWu.js +0 -170
- package/dist/showcase/assets/layout-page-D-88Qnoy.js +0 -122
- package/dist/showcase/assets/layout-sidebar-Ctft10pk.js +0 -224
- package/dist/showcase/assets/layout-users-DtbZduBG.js +0 -104
- package/dist/showcase/assets/leaflet-src-9EZQ14iG.js +0 -1
- package/dist/showcase/assets/lib-D9BoOYUd.js +0 -1
- package/dist/showcase/assets/lock-CHurDI0n.js +0 -1
- package/dist/showcase/assets/mail-DZ1o1RLW.js +0 -1
- package/dist/showcase/assets/map-C8xiyT9X.js +0 -124
- package/dist/showcase/assets/map-pin-CAKaoYod.js +0 -1
- package/dist/showcase/assets/menus-C6mnp636.js +0 -89
- package/dist/showcase/assets/message-square-Zo5J_zU1.js +0 -1
- package/dist/showcase/assets/metadata-list-W83-UMhc.js +0 -278
- package/dist/showcase/assets/metric-BSvxidIX.js +0 -1
- package/dist/showcase/assets/metric-grid-Dtqx_3Lg.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-mtvcJ_M9.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-DQbyss7i.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-CEBu5Uw0.js +0 -77
- package/dist/showcase/assets/metrics-comparison-Bs-R6v4y.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-BKHWH8sM.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-BxVn0Y2p.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-DtACYEds.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-BkwUGOUR.js +0 -42
- package/dist/showcase/assets/metrics-overview-BAtrlzsI.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-iCRCNyHY.js +0 -54
- package/dist/showcase/assets/minus-C6eBW-2t.js +0 -1
- package/dist/showcase/assets/money-display-DjGRJ16l.js +0 -1
- package/dist/showcase/assets/month-year-picker-DTDebPqf.js +0 -1
- package/dist/showcase/assets/navigation-BrG8Chig.js +0 -86
- package/dist/showcase/assets/navigation-CfXQJbyM.js +0 -230
- package/dist/showcase/assets/navigation-extras-D_gzLlZ5.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-1EerUwAo.js +0 -119
- package/dist/showcase/assets/overlays-2AB9-S1Z.js +0 -88
- package/dist/showcase/assets/overlays-CYt9o3Xq.js +0 -393
- package/dist/showcase/assets/package-BJMP-Fcr.js +0 -1
- package/dist/showcase/assets/page-action-button-BZxJ0X1j.js +0 -1
- package/dist/showcase/assets/page-header-B_rqHJhe.js +0 -1
- package/dist/showcase/assets/pagination-BHiQvvka.js +0 -1
- package/dist/showcase/assets/pagination-Dq0GruQd.js +0 -42
- package/dist/showcase/assets/paperclip-BMYKrUQo.js +0 -1
- package/dist/showcase/assets/pencil-BJ3VS_FO.js +0 -1
- package/dist/showcase/assets/phone-CsRIyvep.js +0 -1
- package/dist/showcase/assets/plus-D2JuXYLg.js +0 -1
- package/dist/showcase/assets/popover-DNT9755r.js +0 -1
- package/dist/showcase/assets/popover-KvGgcPNg.js +0 -1
- package/dist/showcase/assets/popover-menu-CJx30R65.js +0 -1
- package/dist/showcase/assets/progress-B7WuXcJR.js +0 -1
- package/dist/showcase/assets/progress-CweCSAUv.js +0 -18
- package/dist/showcase/assets/props-table-uDY4eIzt.js +0 -1
- package/dist/showcase/assets/props.generated-BqPfiNI-.json +0 -32423
- package/dist/showcase/assets/quote-DAyyfzQd.js +0 -1
- package/dist/showcase/assets/receipt-C0mMZGbF.js +0 -1
- package/dist/showcase/assets/refresh-cw-X06JbXb-.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-Bks7UDko.js +0 -1
- package/dist/showcase/assets/rich-text-editor-QJsb-qIe.js +0 -124
- package/dist/showcase/assets/rich-text-editor-h07VBNI9.js +0 -141
- package/dist/showcase/assets/rotate-ccw-D84bdX_x.js +0 -1
- package/dist/showcase/assets/scroll-area-0rT06pXZ.js +0 -1
- package/dist/showcase/assets/scroll-area-YXwdzGpN.js +0 -32
- package/dist/showcase/assets/select-BoWQDtUf.js +0 -1
- package/dist/showcase/assets/send-DJsk3cr1.js +0 -1
- package/dist/showcase/assets/separator-CLSnRcJa.js +0 -28
- package/dist/showcase/assets/separator-DWv-twD-.js +0 -1
- package/dist/showcase/assets/settings-Cb2MsAmN.js +0 -1
- package/dist/showcase/assets/sheet-Dn1-MYus.js +0 -1
- package/dist/showcase/assets/shield-DwLjF5ch.js +0 -1
- package/dist/showcase/assets/shield-alert-D8i6gzMK.js +0 -1
- package/dist/showcase/assets/shield-check-D5YRSBIz.js +0 -1
- package/dist/showcase/assets/shopping-bag-BqlAP4vn.js +0 -1
- package/dist/showcase/assets/sidebar.context-BAp_pBEB.js +0 -1
- package/dist/showcase/assets/skeleton-CeNPp4hr.js +0 -1
- package/dist/showcase/assets/skeleton-QPsnM_NR.js +0 -29
- package/dist/showcase/assets/smart-card-BisUbLPt.js +0 -1
- package/dist/showcase/assets/sonner-B7GzbBK2.js +0 -22
- package/dist/showcase/assets/sortable.esm-BDcEOHT7.js +0 -5
- package/dist/showcase/assets/sparkles-CF9P5Tqh.js +0 -1
- package/dist/showcase/assets/spinner-BeamEyJd.js +0 -49
- package/dist/showcase/assets/spinner-DoYBfalR.js +0 -1
- package/dist/showcase/assets/spinner-UsLsOYzn.js +0 -30
- package/dist/showcase/assets/square-pen-BGTVdnt1.js +0 -1
- package/dist/showcase/assets/stacked-avatars-BWfVX1Ov.js +0 -1
- package/dist/showcase/assets/star-NsPNO9gR.js +0 -1
- package/dist/showcase/assets/startOfDay-zJBpxLuW.js +0 -1
- package/dist/showcase/assets/styles-DA7a7hVy.js +0 -1
- package/dist/showcase/assets/switch-C62S4U2o.js +0 -1
- package/dist/showcase/assets/switch-CYQcinJZ.js +0 -1
- package/dist/showcase/assets/table-w4IABkpa.js +0 -1
- package/dist/showcase/assets/table-xgB63UrY.js +0 -390
- package/dist/showcase/assets/tabs-BFTEaTXj.js +0 -19
- package/dist/showcase/assets/tabs-oMJn9Ujq.js +0 -1
- package/dist/showcase/assets/text-button-BgcutPuu.js +0 -1
- package/dist/showcase/assets/text-link-CS9thOWL.js +0 -1
- package/dist/showcase/assets/textarea-BOBx4EM6.js +0 -1
- package/dist/showcase/assets/textarea-CTzYZZqa.js +0 -1
- package/dist/showcase/assets/timelines-CK07mEBK.js +0 -186
- package/dist/showcase/assets/toggle-group-CSPdPT6G.js +0 -1
- package/dist/showcase/assets/toggles-DDSdl-gA.js +0 -71
- package/dist/showcase/assets/toggles-group-Y2BdKEFB.js +0 -32
- package/dist/showcase/assets/trash-2-C-FAptQP.js +0 -1
- package/dist/showcase/assets/trending-up-BmLhdF_w.js +0 -1
- package/dist/showcase/assets/truck-pZdUS_as.js +0 -1
- package/dist/showcase/assets/typography-CnBH2z7f.js +0 -214
- package/dist/showcase/assets/ui-badge-Cl6INRO5.js +0 -28
- package/dist/showcase/assets/ui-card-B5P-thNu.js +0 -30
- package/dist/showcase/assets/ui-table-B32RILKk.js +0 -42
- package/dist/showcase/assets/upload-tray-mu6bR2ZE.js +0 -138
- package/dist/showcase/assets/useAnchoredPopupScrollLock-CzDaXxmM.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-B0DZvDFu.js +0 -1
- package/dist/showcase/assets/useCompositeItem-BVIVLT9X.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-JEMeTFPx.js +0 -1
- package/dist/showcase/assets/useControlled-ZjqBfPCn.js +0 -1
- package/dist/showcase/assets/useLabelableId-D8CZq8Bm.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CopGCf3q.js +0 -1
- package/dist/showcase/assets/useRender-zuKv6JQF.js +0 -1
- package/dist/showcase/assets/useRole-08KeyiD3.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-DEuz5CGe.js +0 -1
- package/dist/showcase/assets/useValueChanged-BxFi_qyj.js +0 -1
- package/dist/showcase/assets/user-Bgc2t2_e.js +0 -1
- package/dist/showcase/assets/user-plus-F_TfagnP.js +0 -1
- package/dist/showcase/assets/users-B7G4yTCR.js +0 -1
- package/dist/showcase/assets/vendor-profile-BTQmsKM6.js +0 -37
- package/dist/showcase/assets/wrench-BdzICmjR.js +0 -1
- package/dist/showcase/assets/x-B156Wr-5.js +0 -1
- package/dist/showcase/assets/zap-B3iByjNV.js +0 -1
- /package/dist/showcase/assets/{analytics.strings-BcotPUad.js → analytics.strings-B9262Jmq.js} +0 -0
- /package/dist/showcase/assets/{chunk-CilyBKbf.js → chunk-QTnfLwEv.js} +0 -0
- /package/dist/showcase/assets/{customers-BETQwFRp.js → customers-DvBxRjHv.js} +0 -0
- /package/dist/showcase/assets/{format-DoQ4Wqkq.js → format-C_LjuBUs.js} +0 -0
- /package/dist/showcase/assets/{isElementDisabled-BLmk_uhf.js → isElementDisabled-KSuuBj8D.js} +0 -0
- /package/dist/showcase/assets/{leaflet.draw-CwFqqsDc.js → leaflet.draw-lpeKTWFs.js} +0 -0
- /package/dist/showcase/assets/{orders-DNn7r9k_.js → orders-BFwWtubb.js} +0 -0
- /package/dist/showcase/assets/{resolveAriaLabelledBy-DmY5COAB.js → resolveAriaLabelledBy-B6CR9UP2.js} +0 -0
- /package/dist/showcase/assets/{valueToPercent-CDF3aNnc.js → valueToPercent-B5BHWU68.js} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { StepsCardProps, StepsHorizontalProps } from './types';
|
|
2
|
-
export declare function StepsCard({ title, description, steps, footerText, className }: StepsCardProps): import("react
|
|
2
|
+
export declare function StepsCard({ title, description, steps, footerText, className }: StepsCardProps): import("react").JSX.Element;
|
|
3
3
|
export declare namespace StepsCard {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
6
|
-
export declare function StepsHorizontal({ title, description, steps, footerText, className }: StepsHorizontalProps): import("react
|
|
6
|
+
export declare function StepsHorizontal({ title, description, steps, footerText, className }: StepsHorizontalProps): import("react").JSX.Element;
|
|
7
7
|
export declare namespace StepsHorizontal {
|
|
8
8
|
var displayName: string;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps-card.d.ts","sourceRoot":"","sources":["../../../../../src/components/composed/timelines/steps-card/steps-card.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA4C1F,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,cAAc
|
|
1
|
+
{"version":3,"file":"steps-card.d.ts","sourceRoot":"","sources":["../../../../../src/components/composed/timelines/steps-card/steps-card.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA4C1F,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,cAAc,+BAuD7F;yBAvDe,SAAS;;;AA2FzB,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BAgGzG;yBAhGe,eAAe"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ActivityFeedProps } from './activities.types';
|
|
2
|
-
export declare function ActivityFeed<TData = unknown>(props: ActivityFeedProps<TData>): import("react
|
|
2
|
+
export declare function ActivityFeed<TData = unknown>(props: ActivityFeedProps<TData>): import("react").JSX.Element;
|
|
3
3
|
export declare namespace ActivityFeed {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities-feed.d.ts","sourceRoot":"","sources":["../../../../src/components/features/activities/activities-feed.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAER,iBAAiB,EAIpB,MAAM,oBAAoB,CAAC;AA2B5B,wBAAgB,YAAY,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"activities-feed.d.ts","sourceRoot":"","sources":["../../../../src/components/features/activities/activities-feed.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAER,iBAAiB,EAIpB,MAAM,oBAAoB,CAAC;AA2B5B,wBAAgB,YAAY,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,+BAqN5E;yBArNe,YAAY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_shared/chunk-D3uCBrYO.cjs`);const e=require(`../../../_shared/ui-provider-uiQgATj1.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../_shared/text-DBnY6fcL.cjs`),r=require(`../../../_shared/badge-C49SSz-6.cjs`),i=require(`../../../_shared/button-D0nF99a9.cjs`),a=require(`../../../_shared/smart-card-Bm_VxYUG.cjs`),o=require(`../../../_shared/dropdown-menu-DZlWHqWS.cjs`);let s=require(`react`),c=require(`date-fns`),l=require(`react/jsx-runtime`),u=require(`lucide-react`);var d={icon:u.CircleDot,tone:`neutral`},f={created:{icon:u.Plus,tone:`success`,label:`Created`},updated:{icon:u.Pencil,tone:`info`,label:`Updated`},edited:{icon:u.FileEdit,tone:`info`,label:`Edited`},deleted:{icon:u.Trash2,tone:`destructive`,label:`Deleted`},cancelled:{icon:u.Ban,tone:`destructive`,label:`Cancelled`},restored:{icon:u.Sparkles,tone:`success`,label:`Restored`},status_changed:{icon:u.ArrowLeftRight,tone:`primary`,label:`Status changed`},status_transition:{icon:u.ArrowLeftRight,tone:`primary`,label:`Status changed`},status_override:{icon:u.ArrowLeftRight,tone:`warning`,label:`Status overridden`},assigned:{icon:u.UserPlus,tone:`info`,label:`Assigned`},unassigned:{icon:u.UserMinus,tone:`destructive`,label:`Unassigned`},mail_sent:{icon:u.Mail,tone:`info`,label:`Email sent`},mail_delivered:{icon:u.MailCheck,tone:`success`,label:`Email delivered`},mail_opened:{icon:u.MailOpen,tone:`info`,label:`Email opened`},mail_clicked:{icon:u.MailOpen,tone:`info`,label:`Email clicked`},mail_bounced:{icon:u.MailX,tone:`destructive`,label:`Email bounced`},mail_failed:{icon:u.MailX,tone:`destructive`,label:`Email failed`},comment_created:{icon:u.MessageSquare,tone:`warning`,label:`Comment posted`},comment_deleted:{icon:u.MessageSquare,tone:`destructive`,label:`Comment deleted`},paid:{icon:u.Check,tone:`success`,label:`Paid`},refunded:{icon:u.ArrowLeftRight,tone:`warning`,label:`Refunded`},confirmed:{icon:u.ShieldCheck,tone:`success`,label:`Confirmed`},favorited:{icon:u.Heart,tone:`warning`,label:`Favorited`},ordered:{icon:u.ShoppingBag,tone:`primary`,label:`Order placed`},published:{icon:u.Star,tone:`success`,label:`Published`},flagged:{icon:u.Flag,tone:`warning`,label:`Flagged`},linked:{icon:u.LinkIcon,tone:`info`,label:`Linked`},failed:{icon:u.AlertTriangle,tone:`destructive`,label:`Failed`},health_check_failed:{icon:u.AlertTriangle,tone:`destructive`,label:`Health check failed`}};function p(e,t){return t[e]??d}var m={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 h(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function g(e,t,n){if(!e)return t.undated;let r=new Date(e);if((0,c.isToday)(r))return t.today;if((0,c.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 _({activities:e,groupByDate:t=!0,expandedByDefault:n=!1,locale:r,strings:i,formatDateGroupLabel:a}){let[o,c]=(0,s.useState)({}),l=(0,s.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,s.useMemo)(()=>{if(!t)return l.length>0?[{label:``,items:l}]:[];let e=[],n=`__init__`,o=[],s=e=>a?a(e,i):g(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,s.useCallback)(e=>o[e]??n,[o,n]),f=(0,s.useCallback)(e=>{c(t=>({...t,[e]:!(t[e]??!1)}))},[]),p=(0,s.useCallback)((e,t)=>{c(n=>({...n,[e]:t}))},[]),m=(0,s.useCallback)(()=>{let e={};for(let t of l)e[t.activity.id]=!0;c(e)},[l]),h=(0,s.useCallback)(()=>c({}),[]);return{groups:u,total:l.length,isExpanded:d,toggleExpanded:f,setExpanded:p,expandAll:m,collapseAll:h}}function v({resources:e,onResourcesChange:t}={}){let[n,r]=(0,s.useState)(()=>e??{}),i=(0,s.useRef)(e);(0,s.useEffect)(()=>{e!==i.current&&(i.current=e,r(e??{}))},[e]);let a=(0,s.useRef)(t);(0,s.useEffect)(()=>{a.current=t},[t]);let o=(0,s.useCallback)(e=>{a.current?.(e)},[]),c=(0,s.useCallback)((e,t)=>{r(n=>{let r={...n,[e]:t};return o(r),r})},[o]),l=(0,s.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,s.useCallback)(e=>{r(t=>{if(!(e in t))return t;let n={...t};return delete n[e],o(n),n})},[o]),d=(0,s.useCallback)(e=>{r(e),o(e)},[o]),f=(0,s.useCallback)(()=>{let e=i.current??{};r(e),o(e)},[o]);return{registry:n,get:(0,s.useCallback)(e=>n[typeof e==`string`?e:e.key],[n]),register:c,update:l,remove:u,setAll:d,reset:f}}function y({activity:e,actions:t,onAction:n,label:r}){return t.length===0?null:(0,l.jsxs)(o.t,{children:[(0,l.jsx)(o.g,{render:e=>(0,l.jsx)(i.t,{...e,type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-sm`,"aria-label":r,className:`h-7 w-7 text-muted-foreground`,children:(0,l.jsx)(u.MoreHorizontal,{className:`size-4`})})}),(0,l.jsx)(o.r,{align:`end`,className:`min-w-[160px]`,children:t.map(t=>{let r=t.icon;return(0,l.jsxs)(o.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,l.jsx)(r,{className:`size-3.5`}),t.label]},t.id)})})]})}function b({change:e}){let t=e.old!==null&&e.old!==void 0,r=e.new!==null&&e.new!==void 0;return!t&&!r?(0,l.jsx)(n.t,{size:`xs`,tag:`span`,children:e.description}):(0,l.jsxs)(n.t,{tag:`span`,size:`xs`,className:`inline-flex flex-wrap items-baseline gap-1`,children:[!!t&&(0,l.jsx)(n.t,{tag:`span`,size:`xs`,className:`rounded bg-destructive/10 text-destructive line-through px-1 py-px`,children:e.old}),t&&r&&(0,l.jsx)(n.t,{tag:`span`,size:`xs`,type:`secondary`,children:`→`}),!!r&&(0,l.jsx)(n.t,{tag:`span`,size:`xs`,className:`rounded bg-success/15 text-success px-1 py-px`,children:e.new})]})}function x({changes:e,className:r}){return e.length===0?null:(0,l.jsx)(`div`,{className:t.cn(`space-y-1.5 rounded-lg border border-border/60 bg-muted/30 px-3 py-2`,r),children:e.map(e=>(0,l.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,l.jsx)(n.t,{size:`xs`,type:`secondary`,weight:`medium`,className:`shrink-0`,children:e.label}),(0,l.jsx)(b,{change:e})]},`${e.key}-${e.label}`))})}function S({label:e,isFirst:r,className:i}){return e===``?null:(0,l.jsx)(n.t,{size:`xxs`,type:`secondary`,weight:`medium`,className:t.cn(`uppercase tracking-wider`,!r&&`mt-5`,i),children:e})}function C({title:e,hint:r,className:i}){return(0,l.jsxs)(`div`,{className:t.cn(`flex flex-col items-center justify-center gap-2 px-6 py-10 text-center`,i),children:[(0,l.jsx)(`span`,{className:`flex size-9 items-center justify-center rounded-full bg-muted text-muted-foreground`,children:(0,l.jsx)(u.Activity,{className:`size-4`})}),(0,l.jsx)(n.t,{weight:`medium`,children:e}),!!r&&(0,l.jsx)(n.t,{size:`xs`,type:`secondary`,children:r})]})}var w={primary:{bg:`bg-primary/15`,fg:`text-primary`,dot:`bg-primary`,line:`bg-primary/30`,chipBg:`bg-primary/10`,chipFg:`text-primary`},success:{bg:`bg-success/15`,fg:`text-success`,dot:`bg-success`,line:`bg-success/30`,chipBg:`bg-success/15`,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/15`,fg:`text-destructive`,dot:`bg-destructive`,line:`bg-destructive/30`,chipBg:`bg-destructive/15`,chipFg:`text-destructive`},info:{bg:`bg-info/15`,fg:`text-info`,dot:`bg-info`,line:`bg-info/30`,chipBg:`bg-info/15`,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`}},T={primary:`primary`,success:`success`,warning:`warning`,destructive:`destructive`,info:`info`,neutral:`secondary`};function E({resource:e,config:i,fallbackText:a,onClick:o}){let s=w[i?.tone??`neutral`],c=i?.icon??u.CircleDot,d=i?.label??a??e.label??e.key,f=typeof o==`function`,p=(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{className:t.cn(`size-3 shrink-0`,s.fg)}),(0,l.jsx)(n.t,{tag:`span`,size:`xs`,weight:`medium`,className:s.chipFg,children:d}),!!i?.tags&&i.tags.length>0&&(0,l.jsx)(n.t,{tag:`span`,size:`xxs`,type:`secondary`,className:`border-l border-current/20 pl-1.5 ml-0.5`,children:i.tags.join(` · `)}),!!i?.badge&&(0,l.jsx)(r.t,{inline:!0,variant:T[i.badge.tone??`neutral`],className:`ml-1`,children:i.badge.label})]}),m=t.cn(`inline-flex items-center gap-1 rounded-full px-2 py-0.5 align-baseline`,`border border-border/60`,s.chipBg,f&&`cursor-pointer transition-colors hover:bg-foreground/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`);return f?(0,l.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o?.()},className:m,title:i?.note,children:p}):(0,l.jsx)(`span`,{className:m,title:i?.note,children:p})}function D({actorId:e,text:t,href:r,activity:i,youLabel:a,currentUserId:o,onActorClick:s}){let c=o!==void 0&&e!==void 0&&o===e?a:t,u=i.actor??{id:e,name:t};return r?(0,l.jsx)(`a`,{href:r,onClick:e=>{s&&(e.preventDefault(),e.stopPropagation(),s(u,i))},className:`font-semibold text-foreground underline-offset-2 hover:underline`,children:c}):s?(0,l.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),s(u,i)},className:`font-semibold text-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded`,children:c}):(0,l.jsx)(n.t,{tag:`span`,weight:`semibold`,children:c})}function O(e,t){return e.map((e,i)=>{let a=`seg-${i}-${e.type}`;switch(e.type){case`actor`:return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(D,{actorId:e.actorId,text:e.text,href:e.href,activity:t.activity,youLabel:t.youLabel,currentUserId:t.currentUserId,onActorClick:t.onActorClick}),` `]},a);case`field`:case`value`:return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(n.t,{tag:`span`,weight:`semibold`,children:e.text}),` `]},a);case`status`:return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(r.t,{inline:!0,variant:T[e.tone??`neutral`],children:e.text}),` `]},a);case`resource`:{let n=t.getResourceConfig?.(e.resource);return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(E,{resource:e.resource,config:n,fallbackText:e.text,onClick:t.onResourceClick?()=>t.onResourceClick?.(e.resource,n,t.activity):void 0}),` `]},a)}default:return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(n.t,{tag:`span`,children:e.text}),` `]},a)}})}function k(e){let{activity:t}=e,r=t.headline??t.event,i=t.actor?.name;if(!i||!r.includes(i))return(0,l.jsx)(n.t,{tag:`span`,children:r});let[a,...o]=r.split(i);return(0,l.jsxs)(l.Fragment,{children:[!!a&&(0,l.jsx)(n.t,{tag:`span`,children:a}),(0,l.jsx)(D,{actorId:t.actor?.id,text:i,href:t.actor?.href,activity:t,youLabel:e.youLabel,currentUserId:e.currentUserId,onActorClick:e.onActorClick}),o.length>0&&(0,l.jsx)(n.t,{tag:`span`,children:o.join(i)})]})}function A(e){let t=e.activity.segments;return t&&t.length>0?(0,l.jsx)(`span`,{className:`leading-snug [&>span]:leading-snug`,children:O(t,e)}):(0,l.jsx)(`span`,{className:`leading-snug`,children:k(e)})}function j({icon:e,tone:n,density:r,isLast:i}){let a=w[n];return r===`compact`?(0,l.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,l.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`mt-1.5 size-2 shrink-0 rounded-full`,a.dot)}),!i&&(0,l.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`mt-1 w-px flex-1`,a.line)})]}):r===`rich`?(0,l.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,l.jsx)(`span`,{className:t.cn(`flex size-7 shrink-0 items-center justify-center rounded-full ring-1 ring-border/60`,a.bg,a.fg),children:(0,l.jsx)(e,{className:`size-3.5`})}),!i&&(0,l.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`mt-1 w-px flex-1`,a.line)})]}):(0,l.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,l.jsx)(`span`,{className:t.cn(`flex size-5 shrink-0 items-center justify-center rounded-full`,a.bg,a.fg),children:(0,l.jsx)(e,{className:`size-3`})}),!i&&(0,l.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`mt-1 w-px flex-1`,a.line)})]})}function M(e){let{activity:a,density:o,eventConfig:s,tone:c,isLast:d,expanded:f,onToggleExpanded:p,relativeTime:m,absoluteTime:h,sourceLabel:g,youLabel:_,showChangesLabel:v,hideChangesLabel:b,actionsLabel:S,currentUserId:C,actions:w,onActivityClick:T,onActorClick:D,onResourceClick:O,onAction:k,getResourceConfig:M,headlineOverride:N,markerOverride:P}=e,F=a.iconOverride??s.icon,I=(a.changes?.length??0)>0,L=(a.metadata?.length??0)>0,R=(a.resources?.length??0)>0,z=a.description!==void 0&&a.description!==null&&a.description!==``,B=o!==`compact`,V=o===`rich`,H=N??(0,l.jsx)(A,{activity:a,currentUserId:C,youLabel:_,onActorClick:D,onResourceClick:O,getResourceConfig:M}),U=P??(0,l.jsx)(j,{icon:F,tone:c,density:o,isLast:d}),W=typeof T==`function`;return(0,l.jsxs)(`div`,{className:t.cn(`relative flex gap-3`,W&&`cursor-pointer rounded-md hover:bg-muted/40`),onClick:W?()=>T?.(a):void 0,role:W?`button`:void 0,tabIndex:W?0:void 0,onKeyDown:W?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),T?.(a))}:void 0,children:[U,(0,l.jsxs)(`div`,{className:t.cn(`min-w-0 flex-1`,!d&&(o===`rich`?`pb-4`:o===`compact`?`pb-2.5`:`pb-3`)),children:[(0,l.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,l.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-1`,children:[(0,l.jsx)(n.t,{tag:`span`,lineHeight:`snug`,children:H}),!!g&&(0,l.jsx)(r.t,{inline:!0,variant:`secondary`,children:g}),V&&I&&(0,l.jsx)(i.t,{type:`button`,size:`icon-xs`,variant:`secondary`,buttonStyle:`ghost`,className:`h-5 w-5 text-muted-foreground`,onClick:e=>{e.stopPropagation(),p()},title:f?b:v,"aria-label":f?b:v,"aria-expanded":f,children:f?(0,l.jsx)(u.ChevronDown,{className:`size-3.5`}):(0,l.jsx)(u.ChevronRight,{className:`size-3.5`})})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[!!m&&(0,l.jsx)(n.t,{size:`xs`,type:`secondary`,className:`whitespace-nowrap tabular-nums pt-0.5`,title:h??void 0,children:m}),V&&w.length>0&&(0,l.jsx)(y,{activity:a,actions:w,onAction:k,label:S})]})]}),!!B&&z&&(0,l.jsx)(n.t,{tag:`div`,size:`xs`,type:`secondary`,className:`mt-1`,children:a.description}),!!V&&L&&a.metadata&&(0,l.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-x-3 gap-y-1`,children:a.metadata.map(e=>(0,l.jsxs)(n.t,{size:`xs`,type:`secondary`,children:[(0,l.jsxs)(n.t,{tag:`span`,size:`xs`,type:`discrete`,children:[e.label,`:`,` `]}),e.value]},e.label))}),!!V&&R&&a.resources&&(0,l.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:a.resources.map(e=>{let t=M?.(e);return(0,l.jsx)(E,{resource:e,config:t,onClick:O?()=>O(e,t,a):void 0},e.key)})}),!!V&&I&&f&&a.changes&&(0,l.jsx)(`div`,{className:`mt-2`,children:(0,l.jsx)(x,{changes:a.changes})})]})]})}function N(e,t){try{return new Intl.DateTimeFormat(t,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e))}catch{return e}}function P(e,t){return e.toneOverride??t}function F(r){let{activities:i=[],density:a=`default`,groupByDate:o=!0,expandedByDefault:c=!1,currentUserId:u,loading:d=!1,eventConfig:h,strings:g,slots:y,className:b,locale:x,formatRelativeTime:w,formatAbsoluteTime:T,formatDateGroupLabel:E,getEventLabel:D,getSourceLabel:O,actionsForActivity:k,onActivityClick:A,onActorClick:j,onResourceClick:F,onAction:I,resources:L,onResourcesChange:R}=r,z=(0,s.useMemo)(()=>({...m,...g,sources:{...m.sources,...g?.sources??{}},events:{...m.events,...g?.events??{}}}),[g]),B=(0,s.useMemo)(()=>({...f,...h}),[h]),V=v({resources:L,onResourcesChange:R}),H=_({activities:i,groupByDate:o,expandedByDefault:c,locale:x,strings:z,formatDateGroupLabel:E}),{formatRelativeTime:U}=e.a(),W=w??U??(e=>e),G=T??(e=>N(e,x));if(d)return(0,l.jsx)(`div`,{className:t.cn(`activities-feed--component`,`px-2 py-4`,b),children:y?.loading??(0,l.jsx)(n.t,{type:`secondary`,align:`center`,children:z.loading})});if(i.length===0)return(0,l.jsx)(`div`,{className:t.cn(`px-2 py-2`,b),children:y?.empty??(0,l.jsx)(C,{title:z.empty})});let K=H.groups.reduce((e,t)=>e+t.items.length,0),q=0;return(0,l.jsxs)(`div`,{className:t.cn(`flex flex-col`,b),children:[!!y?.header&&(0,l.jsx)(`div`,{className:`mb-3`,children:y.header}),(0,l.jsx)(`div`,{className:`flex flex-col`,children:H.groups.map((e,n)=>{let r=n===0;return(0,l.jsxs)(`div`,{className:t.cn(r?``:`mt-1`),children:[y?.renderDateLabel?y.renderDateLabel(e.label,r):(0,l.jsx)(S,{label:e.label,isFirst:r,className:r?``:`mb-2`}),(0,l.jsx)(`div`,{className:t.cn(`flex flex-col`,!!e.label&&`mt-2`),children:e.items.map((e,t)=>{let n=e.activity,r=t===0,i=++q===K,o=p(n.event,B),s=P(n,o.tone),c=n.timestamp??(n.createdAt?W(n.createdAt):null),d=n.createdAt?G(n.createdAt):null,f=n.source?O?.(n.source)??z.sources[n.source]??o.sourceLabel??null:o.sourceLabel??null,m=f&&f.trim().length>0?f:null,h=k?.(n)??[],g={density:a,isLast:i,isFirstInGroup:r,activity:n,eventConfig:o,tone:s,relativeTime:c,absoluteTime:d,sourceLabel:m,expanded:H.isExpanded(n.id),toggleExpanded:()=>H.toggleExpanded(n.id)},_=y?.renderRow?.(n,g);if(_!==void 0)return(0,l.jsx)(`div`,{children:_},e.key);let v=y?.renderHeadline?.(n,g),b=y?.renderMarker?.(n,g);return(0,l.jsx)(M,{activity:n,density:a,eventConfig:o,tone:s,isLast:i,expanded:g.expanded,onToggleExpanded:g.toggleExpanded,relativeTime:c,absoluteTime:d,sourceLabel:m,youLabel:z.you,showChangesLabel:z.showChanges,hideChangesLabel:z.hideChanges,actionsLabel:z.actionsLabel,currentUserId:u,actions:h,onActivityClick:A,onActorClick:j,onResourceClick:F,onAction:I,getResourceConfig:e=>V.get(e),headlineOverride:v,markerOverride:b},e.key)})})]},`${e.label}-${n}`)})}),!!y?.footer&&(0,l.jsx)(`div`,{className:`mt-3`,children:y.footer})]})}F.displayName=`ActivityFeed`;function I({title:e,titleSuffix:t,description:n,padding:r=`base`,composerSlot:i,className:o,strings:s,slots:c,...d}){let f={...m,...s,sources:{...m.sources,...s?.sources??{}},events:{...m.events,...s?.events??{}}},p=e??f.title;return(0,l.jsx)(a.t,{icon:(0,l.jsx)(u.Activity,{className:`size-4`}),title:p,titleSuffix:t,description:n,padding:r,className:o,children:(0,l.jsx)(F,{...d,strings:s,slots:{...c,header:i??c?.header}})})}I.displayName=`ActivityFeedCard`,exports.ACTIVITY_TONE=w,exports.ActivityActionsMenu=y,exports.ActivityChanges=x,exports.ActivityDateLabel=S,exports.ActivityEmptyState=C,exports.ActivityFeed=F,exports.ActivityFeedCard=I,exports.ActivityHeadline=A,exports.ActivityMarker=j,exports.ActivityResourceTag=E,exports.ActivityRow=M,exports.TONE_TO_BADGE_VARIANT=T,exports.defaultActivitiesStrings=m,exports.defaultActivityEventConfig=f,exports.defaultEventConfig=d,exports.interpolateActivityString=h,exports.resolveEventConfig=p,exports.useActivityFeed=_,exports.useActivityResources=v;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_shared/ui-provider-RIYE7O_V.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/text-DzKt9cyb.cjs"),r=require("../../../_shared/badge-kS_XtN-z.cjs"),i=require("../../../_shared/button-LZWDn-aU.cjs"),a=require("../../../_shared/smart-card-DL7esK_y.cjs"),o=require("../../../_shared/dropdown-menu-CHQzQWUK.cjs");let s=require("react"),c=require("date-fns"),l=require("react/jsx-runtime"),u=require("lucide-react");var d={icon:u.CircleDot,tone:`neutral`},f={created:{icon:u.Plus,tone:`success`,label:`Created`},updated:{icon:u.Pencil,tone:`info`,label:`Updated`},edited:{icon:u.FileEdit,tone:`info`,label:`Edited`},deleted:{icon:u.Trash2,tone:`destructive`,label:`Deleted`},cancelled:{icon:u.Ban,tone:`destructive`,label:`Cancelled`},restored:{icon:u.Sparkles,tone:`success`,label:`Restored`},status_changed:{icon:u.ArrowLeftRight,tone:`primary`,label:`Status changed`},status_transition:{icon:u.ArrowLeftRight,tone:`primary`,label:`Status changed`},status_override:{icon:u.ArrowLeftRight,tone:`warning`,label:`Status overridden`},assigned:{icon:u.UserPlus,tone:`info`,label:`Assigned`},unassigned:{icon:u.UserMinus,tone:`destructive`,label:`Unassigned`},mail_sent:{icon:u.Mail,tone:`info`,label:`Email sent`},mail_delivered:{icon:u.MailCheck,tone:`success`,label:`Email delivered`},mail_opened:{icon:u.MailOpen,tone:`info`,label:`Email opened`},mail_clicked:{icon:u.MailOpen,tone:`info`,label:`Email clicked`},mail_bounced:{icon:u.MailX,tone:`destructive`,label:`Email bounced`},mail_failed:{icon:u.MailX,tone:`destructive`,label:`Email failed`},comment_created:{icon:u.MessageSquare,tone:`warning`,label:`Comment posted`},comment_deleted:{icon:u.MessageSquare,tone:`destructive`,label:`Comment deleted`},paid:{icon:u.Check,tone:`success`,label:`Paid`},refunded:{icon:u.ArrowLeftRight,tone:`warning`,label:`Refunded`},confirmed:{icon:u.ShieldCheck,tone:`success`,label:`Confirmed`},favorited:{icon:u.Heart,tone:`warning`,label:`Favorited`},ordered:{icon:u.ShoppingBag,tone:`primary`,label:`Order placed`},published:{icon:u.Star,tone:`success`,label:`Published`},flagged:{icon:u.Flag,tone:`warning`,label:`Flagged`},linked:{icon:u.LinkIcon,tone:`info`,label:`Linked`},failed:{icon:u.AlertTriangle,tone:`destructive`,label:`Failed`},health_check_failed:{icon:u.AlertTriangle,tone:`destructive`,label:`Health check failed`}};function p(e,t){return t[e]??d}var m={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 h(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function g(e,t,n){if(!e)return t.undated;let r=new Date(e);if((0,c.isToday)(r))return t.today;if((0,c.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 _({activities:e,groupByDate:t=!0,expandedByDefault:n=!1,locale:r,strings:i,formatDateGroupLabel:a}){let[o,c]=(0,s.useState)({}),l=(0,s.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,s.useMemo)(()=>{if(!t)return l.length>0?[{label:``,items:l}]:[];let e=[],n=`__init__`,o=[],s=e=>a?a(e,i):g(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,s.useCallback)(e=>o[e]??n,[o,n]),f=(0,s.useCallback)(e=>{c(t=>({...t,[e]:!(t[e]??!1)}))},[]),p=(0,s.useCallback)((e,t)=>{c(n=>({...n,[e]:t}))},[]),m=(0,s.useCallback)(()=>{let e={};for(let t of l)e[t.activity.id]=!0;c(e)},[l]),h=(0,s.useCallback)(()=>c({}),[]);return{groups:u,total:l.length,isExpanded:d,toggleExpanded:f,setExpanded:p,expandAll:m,collapseAll:h}}function v({resources:e,onResourcesChange:t}={}){let[n,r]=(0,s.useState)(()=>e??{}),i=(0,s.useRef)(e);(0,s.useEffect)(()=>{e!==i.current&&(i.current=e,r(e??{}))},[e]);let a=(0,s.useRef)(t);(0,s.useEffect)(()=>{a.current=t},[t]);let o=(0,s.useCallback)(e=>{a.current?.(e)},[]),c=(0,s.useCallback)((e,t)=>{r(n=>{let r={...n,[e]:t};return o(r),r})},[o]),l=(0,s.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,s.useCallback)(e=>{r(t=>{if(!(e in t))return t;let n={...t};return delete n[e],o(n),n})},[o]),d=(0,s.useCallback)(e=>{r(e),o(e)},[o]),f=(0,s.useCallback)(()=>{let e=i.current??{};r(e),o(e)},[o]);return{registry:n,get:(0,s.useCallback)(e=>n[typeof e==`string`?e:e.key],[n]),register:c,update:l,remove:u,setAll:d,reset:f}}function y({activity:e,actions:t,onAction:n,label:r}){return t.length===0?null:(0,l.jsxs)(o.t,{children:[(0,l.jsx)(o.g,{render:e=>(0,l.jsx)(i.t,{...e,type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-sm`,"aria-label":r,className:`h-7 w-7 text-muted-foreground`,children:(0,l.jsx)(u.MoreHorizontal,{className:`size-4`})})}),(0,l.jsx)(o.r,{align:`end`,className:`min-w-[160px]`,children:t.map(t=>{let r=t.icon;return(0,l.jsxs)(o.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,l.jsx)(r,{className:`size-3.5`}),t.label]},t.id)})})]})}function b({change:e}){let t=e.old!==null&&e.old!==void 0,r=e.new!==null&&e.new!==void 0;return!t&&!r?(0,l.jsx)(n.t,{size:`xs`,tag:`span`,children:e.description}):(0,l.jsxs)(n.t,{tag:`span`,size:`xs`,className:`inline-flex flex-wrap items-baseline gap-1`,children:[!!t&&(0,l.jsx)(n.t,{tag:`span`,size:`xs`,className:`rounded bg-destructive/10 text-destructive line-through px-1 py-px`,children:e.old}),t&&r&&(0,l.jsx)(n.t,{tag:`span`,size:`xs`,type:`secondary`,children:`→`}),!!r&&(0,l.jsx)(n.t,{tag:`span`,size:`xs`,className:`rounded bg-success/15 text-success px-1 py-px`,children:e.new})]})}function x({changes:e,className:r}){return e.length===0?null:(0,l.jsx)(`div`,{className:t.cn(`space-y-1.5 rounded-lg border border-border/60 bg-muted/30 px-3 py-2`,r),children:e.map(e=>(0,l.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,l.jsx)(n.t,{size:`xs`,type:`secondary`,weight:`medium`,className:`shrink-0`,children:e.label}),(0,l.jsx)(b,{change:e})]},`${e.key}-${e.label}`))})}function S({label:e,isFirst:r,className:i}){return e===``?null:(0,l.jsx)(n.t,{size:`xxs`,type:`secondary`,weight:`medium`,className:t.cn(`uppercase tracking-wider`,!r&&`mt-5`,i),children:e})}function C({title:e,hint:r,className:i}){return(0,l.jsxs)(`div`,{className:t.cn(`flex flex-col items-center justify-center gap-2 px-6 py-10 text-center`,i),children:[(0,l.jsx)(`span`,{className:`flex size-9 items-center justify-center rounded-full bg-muted text-muted-foreground`,children:(0,l.jsx)(u.Activity,{className:`size-4`})}),(0,l.jsx)(n.t,{weight:`medium`,children:e}),!!r&&(0,l.jsx)(n.t,{size:`xs`,type:`secondary`,children:r})]})}var w={primary:{bg:`bg-primary/15`,fg:`text-primary`,dot:`bg-primary`,line:`bg-primary/30`,chipBg:`bg-primary/10`,chipFg:`text-primary`},success:{bg:`bg-success/15`,fg:`text-success`,dot:`bg-success`,line:`bg-success/30`,chipBg:`bg-success/15`,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/15`,fg:`text-destructive`,dot:`bg-destructive`,line:`bg-destructive/30`,chipBg:`bg-destructive/15`,chipFg:`text-destructive`},info:{bg:`bg-info/15`,fg:`text-info`,dot:`bg-info`,line:`bg-info/30`,chipBg:`bg-info/15`,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`}},T={primary:`primary`,success:`success`,warning:`warning`,destructive:`destructive`,info:`info`,neutral:`secondary`};function E({resource:e,config:i,fallbackText:a,onClick:o}){let s=w[i?.tone??`neutral`],c=i?.icon??u.CircleDot,d=i?.label??a??e.label??e.key,f=typeof o==`function`,p=(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{className:t.cn(`size-3 shrink-0`,s.fg)}),(0,l.jsx)(n.t,{tag:`span`,size:`xs`,weight:`medium`,className:s.chipFg,children:d}),!!i?.tags&&i.tags.length>0&&(0,l.jsx)(n.t,{tag:`span`,size:`xxs`,type:`secondary`,className:`border-l border-current/20 pl-1.5 ml-0.5`,children:i.tags.join(` · `)}),!!i?.badge&&(0,l.jsx)(r.t,{inline:!0,variant:T[i.badge.tone??`neutral`],className:`ml-1`,children:i.badge.label})]}),m=t.cn(`inline-flex items-center gap-1 rounded-full px-2 py-0.5 align-baseline`,`border border-border/60`,s.chipBg,f&&`cursor-pointer transition-colors hover:bg-foreground/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`);return f?(0,l.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o?.()},className:m,title:i?.note,children:p}):(0,l.jsx)(`span`,{className:m,title:i?.note,children:p})}function D({actorId:e,text:t,href:r,activity:i,youLabel:a,currentUserId:o,onActorClick:s}){let c=o!==void 0&&e!==void 0&&o===e?a:t,u=i.actor??{id:e,name:t};return r?(0,l.jsx)(`a`,{href:r,onClick:e=>{s&&(e.preventDefault(),e.stopPropagation(),s(u,i))},className:`font-semibold text-foreground underline-offset-2 hover:underline`,children:c}):s?(0,l.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),s(u,i)},className:`font-semibold text-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded`,children:c}):(0,l.jsx)(n.t,{tag:`span`,weight:`semibold`,children:c})}function O(e,t){return e.map((e,i)=>{let a=`seg-${i}-${e.type}`;switch(e.type){case`actor`:return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(D,{actorId:e.actorId,text:e.text,href:e.href,activity:t.activity,youLabel:t.youLabel,currentUserId:t.currentUserId,onActorClick:t.onActorClick}),` `]},a);case`field`:case`value`:return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(n.t,{tag:`span`,weight:`semibold`,children:e.text}),` `]},a);case`status`:return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(r.t,{inline:!0,variant:T[e.tone??`neutral`],children:e.text}),` `]},a);case`resource`:{let n=t.getResourceConfig?.(e.resource);return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(E,{resource:e.resource,config:n,fallbackText:e.text,onClick:t.onResourceClick?()=>t.onResourceClick?.(e.resource,n,t.activity):void 0}),` `]},a)}default:return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(n.t,{tag:`span`,children:e.text}),` `]},a)}})}function k(e){let{activity:t}=e,r=t.headline??t.event,i=t.actor?.name;if(!i||!r.includes(i))return(0,l.jsx)(n.t,{tag:`span`,children:r});let[a,...o]=r.split(i);return(0,l.jsxs)(l.Fragment,{children:[!!a&&(0,l.jsx)(n.t,{tag:`span`,children:a}),(0,l.jsx)(D,{actorId:t.actor?.id,text:i,href:t.actor?.href,activity:t,youLabel:e.youLabel,currentUserId:e.currentUserId,onActorClick:e.onActorClick}),o.length>0&&(0,l.jsx)(n.t,{tag:`span`,children:o.join(i)})]})}function A(e){let t=e.activity.segments;return t&&t.length>0?(0,l.jsx)(`span`,{className:`leading-snug [&>span]:leading-snug`,children:O(t,e)}):(0,l.jsx)(`span`,{className:`leading-snug`,children:k(e)})}function j({icon:e,tone:n,density:r,isLast:i}){let a=w[n];return r===`compact`?(0,l.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,l.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`mt-1.5 size-2 shrink-0 rounded-full`,a.dot)}),!i&&(0,l.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`mt-1 w-px flex-1`,a.line)})]}):r===`rich`?(0,l.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,l.jsx)(`span`,{className:t.cn(`flex size-7 shrink-0 items-center justify-center rounded-full ring-1 ring-border/60`,a.bg,a.fg),children:(0,l.jsx)(e,{className:`size-3.5`})}),!i&&(0,l.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`mt-1 w-px flex-1`,a.line)})]}):(0,l.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,l.jsx)(`span`,{className:t.cn(`flex size-5 shrink-0 items-center justify-center rounded-full`,a.bg,a.fg),children:(0,l.jsx)(e,{className:`size-3`})}),!i&&(0,l.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`mt-1 w-px flex-1`,a.line)})]})}function M(e){let{activity:a,density:o,eventConfig:s,tone:c,isLast:d,expanded:f,onToggleExpanded:p,relativeTime:m,absoluteTime:h,sourceLabel:g,youLabel:_,showChangesLabel:v,hideChangesLabel:b,actionsLabel:S,currentUserId:C,actions:w,onActivityClick:T,onActorClick:D,onResourceClick:O,onAction:k,getResourceConfig:M,headlineOverride:N,markerOverride:P}=e,F=a.iconOverride??s.icon,I=(a.changes?.length??0)>0,L=(a.metadata?.length??0)>0,R=(a.resources?.length??0)>0,z=a.description!==void 0&&a.description!==null&&a.description!==``,B=o!==`compact`,V=o===`rich`,H=N??(0,l.jsx)(A,{activity:a,currentUserId:C,youLabel:_,onActorClick:D,onResourceClick:O,getResourceConfig:M}),U=P??(0,l.jsx)(j,{icon:F,tone:c,density:o,isLast:d}),W=typeof T==`function`;return(0,l.jsxs)(`div`,{className:t.cn(`relative flex gap-3`,W&&`cursor-pointer rounded-md hover:bg-muted/40`),onClick:W?()=>T?.(a):void 0,role:W?`button`:void 0,tabIndex:W?0:void 0,onKeyDown:W?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),T?.(a))}:void 0,children:[U,(0,l.jsxs)(`div`,{className:t.cn(`min-w-0 flex-1`,!d&&(o===`rich`?`pb-4`:o===`compact`?`pb-2.5`:`pb-3`)),children:[(0,l.jsxs)(`div`,{className:`flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between sm:gap-3`,children:[(0,l.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-1`,children:[(0,l.jsx)(n.t,{tag:`span`,lineHeight:`snug`,children:H}),!!g&&(0,l.jsx)(r.t,{inline:!0,variant:`secondary`,children:g}),V&&I&&(0,l.jsx)(i.t,{type:`button`,size:`icon-xs`,variant:`secondary`,buttonStyle:`ghost`,className:`h-5 w-5 text-muted-foreground`,onClick:e=>{e.stopPropagation(),p()},title:f?b:v,"aria-label":f?b:v,"aria-expanded":f,children:f?(0,l.jsx)(u.ChevronDown,{className:`size-3.5`}):(0,l.jsx)(u.ChevronRight,{className:`size-3.5`})})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[!!m&&(0,l.jsx)(n.t,{size:`xs`,type:`secondary`,className:`whitespace-nowrap tabular-nums pt-0.5`,title:h??void 0,children:m}),V&&w.length>0&&(0,l.jsx)(y,{activity:a,actions:w,onAction:k,label:S})]})]}),!!B&&z&&(0,l.jsx)(n.t,{tag:`div`,size:`xs`,type:`secondary`,className:`mt-1`,children:a.description}),!!V&&L&&a.metadata&&(0,l.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-x-3 gap-y-1`,children:a.metadata.map(e=>(0,l.jsxs)(n.t,{size:`xs`,type:`secondary`,children:[(0,l.jsxs)(n.t,{tag:`span`,size:`xs`,type:`discrete`,children:[e.label,`:`,` `]}),e.value]},e.label))}),!!V&&R&&a.resources&&(0,l.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:a.resources.map(e=>{let t=M?.(e);return(0,l.jsx)(E,{resource:e,config:t,onClick:O?()=>O(e,t,a):void 0},e.key)})}),!!V&&I&&f&&a.changes&&(0,l.jsx)(`div`,{className:`mt-2`,children:(0,l.jsx)(x,{changes:a.changes})})]})]})}function N(e,t){try{return new Intl.DateTimeFormat(t,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e))}catch{return e}}function P(e,t){return e.toneOverride??t}function F(r){let{activities:i=[],density:a=`default`,groupByDate:o=!0,expandedByDefault:c=!1,currentUserId:u,loading:d=!1,eventConfig:h,strings:g,slots:y,className:b,locale:x,formatRelativeTime:w,formatAbsoluteTime:T,formatDateGroupLabel:E,getEventLabel:D,getSourceLabel:O,actionsForActivity:k,onActivityClick:A,onActorClick:j,onResourceClick:F,onAction:I,resources:L,onResourcesChange:R}=r,z=(0,s.useMemo)(()=>({...m,...g,sources:{...m.sources,...g?.sources??{}},events:{...m.events,...g?.events??{}}}),[g]),B=(0,s.useMemo)(()=>({...f,...h}),[h]),V=v({resources:L,onResourcesChange:R}),H=_({activities:i,groupByDate:o,expandedByDefault:c,locale:x,strings:z,formatDateGroupLabel:E}),{formatRelativeTime:U}=e.a(),W=w??U??(e=>e),G=T??(e=>N(e,x));if(d)return(0,l.jsx)(`div`,{className:t.cn(`activities-feed--component`,`px-2 py-4`,b),children:y?.loading??(0,l.jsx)(n.t,{type:`secondary`,align:`center`,children:z.loading})});if(i.length===0)return(0,l.jsx)(`div`,{className:t.cn(`px-2 py-2`,b),children:y?.empty??(0,l.jsx)(C,{title:z.empty})});let K=H.groups.reduce((e,t)=>e+t.items.length,0),q=0;return(0,l.jsxs)(`div`,{className:t.cn(`flex flex-col`,b),children:[!!y?.header&&(0,l.jsx)(`div`,{className:`mb-3`,children:y.header}),(0,l.jsx)(`div`,{className:`flex flex-col`,children:H.groups.map((e,n)=>{let r=n===0;return(0,l.jsxs)(`div`,{className:t.cn(r?``:`mt-1`),children:[y?.renderDateLabel?y.renderDateLabel(e.label,r):(0,l.jsx)(S,{label:e.label,isFirst:r,className:r?``:`mb-2`}),(0,l.jsx)(`div`,{className:t.cn(`flex flex-col`,!!e.label&&`mt-2`),children:e.items.map((e,t)=>{let n=e.activity,r=t===0,i=++q===K,o=p(n.event,B),s=P(n,o.tone),c=n.timestamp??(n.createdAt?W(n.createdAt):null),d=n.createdAt?G(n.createdAt):null,f=n.source?O?.(n.source)??z.sources[n.source]??o.sourceLabel??null:o.sourceLabel??null,m=f&&f.trim().length>0?f:null,h=k?.(n)??[],g={density:a,isLast:i,isFirstInGroup:r,activity:n,eventConfig:o,tone:s,relativeTime:c,absoluteTime:d,sourceLabel:m,expanded:H.isExpanded(n.id),toggleExpanded:()=>H.toggleExpanded(n.id)},_=y?.renderRow?.(n,g);if(_!==void 0)return(0,l.jsx)(`div`,{children:_},e.key);let v=y?.renderHeadline?.(n,g),b=y?.renderMarker?.(n,g);return(0,l.jsx)(M,{activity:n,density:a,eventConfig:o,tone:s,isLast:i,expanded:g.expanded,onToggleExpanded:g.toggleExpanded,relativeTime:c,absoluteTime:d,sourceLabel:m,youLabel:z.you,showChangesLabel:z.showChanges,hideChangesLabel:z.hideChanges,actionsLabel:z.actionsLabel,currentUserId:u,actions:h,onActivityClick:A,onActorClick:j,onResourceClick:F,onAction:I,getResourceConfig:e=>V.get(e),headlineOverride:v,markerOverride:b},e.key)})})]},`${e.label}-${n}`)})}),!!y?.footer&&(0,l.jsx)(`div`,{className:`mt-3`,children:y.footer})]})}F.displayName=`ActivityFeed`;function I({title:e,titleSuffix:t,description:n,padding:r=`base`,composerSlot:i,className:o,strings:s,slots:c,...d}){let f={...m,...s,sources:{...m.sources,...s?.sources??{}},events:{...m.events,...s?.events??{}}},p=e??f.title;return(0,l.jsx)(a.t,{icon:(0,l.jsx)(u.Activity,{className:`size-4`}),title:p,titleSuffix:t,description:n,padding:r,className:o,children:(0,l.jsx)(F,{...d,strings:s,slots:{...c,header:i??c?.header}})})}I.displayName=`ActivityFeedCard`,exports.ACTIVITY_TONE=w,exports.ActivityActionsMenu=y,exports.ActivityChanges=x,exports.ActivityDateLabel=S,exports.ActivityEmptyState=C,exports.ActivityFeed=F,exports.ActivityFeedCard=I,exports.ActivityHeadline=A,exports.ActivityMarker=j,exports.ActivityResourceTag=E,exports.ActivityRow=M,exports.TONE_TO_BADGE_VARIANT=T,exports.defaultActivitiesStrings=m,exports.defaultActivityEventConfig=f,exports.defaultEventConfig=d,exports.interpolateActivityString=h,exports.resolveEventConfig=p,exports.useActivityFeed=_,exports.useActivityResources=v;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/components/features/activities/activities.config.ts","../../../../src/components/features/activities/activities.strings.ts","../../../../src/components/features/activities/hooks/use-activity-feed.ts","../../../../src/components/features/activities/hooks/use-activity-resources.ts","../../../../src/components/features/activities/partials/activity-actions-menu.tsx","../../../../src/components/features/activities/partials/activity-changes.tsx","../../../../src/components/features/activities/partials/activity-date-label.tsx","../../../../src/components/features/activities/partials/activity-empty-state.tsx","../../../../src/components/features/activities/partials/tone-tokens.ts","../../../../src/components/features/activities/partials/activity-resource-tag.tsx","../../../../src/components/features/activities/partials/activity-headline.tsx","../../../../src/components/features/activities/partials/activity-marker.tsx","../../../../src/components/features/activities/partials/activity-row.tsx","../../../../src/components/features/activities/activities-feed.tsx","../../../../src/components/features/activities/partials/activities-feed-card.tsx"],"sourcesContent":["/**\n * Default per-event configuration. Consumers override individual events by\n * spreading this map and overwriting the keys they care about, e.g.:\n *\n * import { defaultActivityEventConfig } from '@/components/features/activities';\n *\n * const eventConfig = {\n * ...defaultActivityEventConfig,\n * order_refunded: { icon: Receipt, tone: 'warning', label: 'Refunded' },\n * };\n *\n * The mass `eventConfig` prop on `<ActivityFeed />` is shallow-merged on top\n * of these defaults, so any unspecified event falls back to the library\n * default and ultimately to the neutral `defaultEvent` entry below.\n */\nimport {\n AlertTriangle,\n ArrowLeftRight,\n Ban,\n Check,\n CircleDot,\n FileEdit,\n Flag,\n Heart,\n LinkIcon,\n Mail,\n MailCheck,\n MailOpen,\n MailX,\n MessageSquare,\n Pencil,\n Plus,\n ShieldCheck,\n ShoppingBag,\n Sparkles,\n Star,\n Trash2,\n UserMinus,\n UserPlus,\n} from 'lucide-react';\n\nimport type { ActivityEventConfig, ActivityEventConfigMap } from './activities.types';\n\n/** Neutral fallback used when an event has no entry in the registry. */\nexport const defaultEventConfig: ActivityEventConfig = {\n icon: CircleDot,\n tone: 'neutral',\n};\n\nexport const defaultActivityEventConfig: ActivityEventConfigMap = {\n // Lifecycle\n created: { icon: Plus, tone: 'success', label: 'Created' },\n updated: { icon: Pencil, tone: 'info', label: 'Updated' },\n edited: { icon: FileEdit, tone: 'info', label: 'Edited' },\n deleted: { icon: Trash2, tone: 'destructive', label: 'Deleted' },\n cancelled: { icon: Ban, tone: 'destructive', label: 'Cancelled' },\n restored: { icon: Sparkles, tone: 'success', label: 'Restored' },\n\n // Status transitions\n status_changed: { icon: ArrowLeftRight, tone: 'primary', label: 'Status changed' },\n status_transition: { icon: ArrowLeftRight, tone: 'primary', label: 'Status changed' },\n status_override: { icon: ArrowLeftRight, tone: 'warning', label: 'Status overridden' },\n\n // People\n assigned: { icon: UserPlus, tone: 'info', label: 'Assigned' },\n unassigned: { icon: UserMinus, tone: 'destructive', label: 'Unassigned' },\n\n // Mail\n mail_sent: { icon: Mail, tone: 'info', label: 'Email sent' },\n mail_delivered: { icon: MailCheck, tone: 'success', label: 'Email delivered' },\n mail_opened: { icon: MailOpen, tone: 'info', label: 'Email opened' },\n mail_clicked: { icon: MailOpen, tone: 'info', label: 'Email clicked' },\n mail_bounced: { icon: MailX, tone: 'destructive', label: 'Email bounced' },\n mail_failed: { icon: MailX, tone: 'destructive', label: 'Email failed' },\n\n // Comments\n comment_created: { icon: MessageSquare, tone: 'warning', label: 'Comment posted' },\n comment_deleted: { icon: MessageSquare, tone: 'destructive', label: 'Comment deleted' },\n\n // Commerce\n paid: { icon: Check, tone: 'success', label: 'Paid' },\n refunded: { icon: ArrowLeftRight, tone: 'warning', label: 'Refunded' },\n confirmed: { icon: ShieldCheck, tone: 'success', label: 'Confirmed' },\n favorited: { icon: Heart, tone: 'warning', label: 'Favorited' },\n ordered: { icon: ShoppingBag, tone: 'primary', label: 'Order placed' },\n\n // Publishing\n published: { icon: Star, tone: 'success', label: 'Published' },\n flagged: { icon: Flag, tone: 'warning', label: 'Flagged' },\n linked: { icon: LinkIcon, tone: 'info', label: 'Linked' },\n\n // Failures\n failed: { icon: AlertTriangle, tone: 'destructive', label: 'Failed' },\n health_check_failed: { icon: AlertTriangle, tone: 'destructive', label: 'Health check failed' },\n};\n\n/** Resolve `eventConfig[event]` with override + default fallback. */\nexport function resolveEventConfig(\n event: string,\n map: ActivityEventConfigMap,\n): ActivityEventConfig {\n return map[event] ?? defaultEventConfig;\n}\n","/**\n * Strings for the Activities feature. Consumers override via the `strings`\n * prop on `<ActivityFeed>` / `<ActivityFeedCard>`. Values are deep-merged\n * over these defaults — `sources` and `events` merge one level deep so a\n * consumer can override a single source/event label without rewriting the\n * whole map.\n */\nexport interface ActivitiesStrings {\n /** Card title — usually \"Activity\". */\n title: string;\n /** Empty-state copy. */\n empty: string;\n /** Loading-state copy. */\n loading: string;\n /** Date-group label for today. */\n today: string;\n /** Date-group label for yesterday. */\n yesterday: string;\n /** Fallback label for activities without a timestamp. */\n undated: string;\n /** Replacement for actor name when `actorId === currentUserId`. */\n you: string;\n /** Toggle button label — collapsed state. */\n showChanges: string;\n /** Toggle button label — expanded state. */\n hideChanges: string;\n /** aria-label for the actions menu trigger. */\n actionsLabel: string;\n /** Generic \"more\" affordance label. */\n moreLabel: string;\n /** Map of `source` → display label. */\n sources: Record<string, string>;\n /** Map of `event` → display label. Used as a fallback for headlines. */\n events: Record<string, string>;\n}\n\nexport const defaultActivitiesStrings: ActivitiesStrings = {\n title: 'Activity',\n empty: 'No activity yet.',\n loading: 'Loading activity…',\n today: 'Today',\n yesterday: 'Yesterday',\n undated: 'Undated',\n you: 'You',\n showChanges: 'Show changes',\n hideChanges: 'Hide changes',\n actionsLabel: 'Activity actions',\n moreLabel: 'More',\n sources: {\n comment: 'Comment',\n mail: 'Mail',\n booking_log: 'Booking log',\n activity_log: '',\n system: 'System',\n },\n events: {},\n};\n\n/** Replace `{{key}}` tokens with values from `params`. */\nexport function interpolate(\n template: string,\n params: Record<string, string | number>,\n): string {\n return template.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (match, key) => {\n const v = params[key];\n return v === undefined ? match : String(v);\n });\n}\n","/**\n * useActivityFeed — headless state machine for the Activities feature.\n *\n * Returns date-grouped activities with stable React keys, plus the expand /\n * collapse map for change-detail rows. Consumers wanting a fully custom UI\n * can call this hook directly and bypass `<ActivityFeed />`.\n */\nimport { isToday, isYesterday } from 'date-fns';\nimport { useCallback, useMemo, useState } from 'react';\n\nimport type { ActivitiesStrings } from '../activities.strings';\nimport type { ActivityItem } from '../activities.types';\n\nexport interface ActivityKeyedItem<TData = unknown> {\n activity: ActivityItem<TData>;\n key: string;\n}\n\nexport interface ActivityDateGroup<TData = unknown> {\n label: string;\n items: ActivityKeyedItem<TData>[];\n}\n\nexport interface UseActivityFeedOptions<TData = unknown> {\n activities: ReadonlyArray<ActivityItem<TData>>;\n groupByDate?: boolean;\n expandedByDefault?: boolean;\n locale?: string;\n strings: ActivitiesStrings;\n formatDateGroupLabel?: (\n iso: string | null,\n strings: ActivitiesStrings,\n ) => string;\n}\n\nexport interface UseActivityFeedReturn<TData = unknown> {\n groups: ActivityDateGroup<TData>[];\n total: number;\n isExpanded: (id: string) => boolean;\n toggleExpanded: (id: string) => void;\n setExpanded: (id: string, value: boolean) => void;\n expandAll: () => void;\n collapseAll: () => void;\n}\n\nfunction defaultDateGroupLabel(\n iso: string | null,\n strings: ActivitiesStrings,\n locale?: string,\n): string {\n if (!iso) return strings.undated;\n const date = new Date(iso);\n if (isToday(date)) return strings.today;\n if (isYesterday(date)) return strings.yesterday;\n try {\n return new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(date);\n } catch {\n return new Intl.DateTimeFormat(undefined, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(date);\n }\n}\n\nexport function useActivityFeed<TData = unknown>({\n activities,\n groupByDate = true,\n expandedByDefault = false,\n locale,\n strings,\n formatDateGroupLabel,\n}: UseActivityFeedOptions<TData>): UseActivityFeedReturn<TData> {\n const [expandedMap, setExpandedMap] = useState<Record<string, boolean>>({});\n\n const keyed = useMemo<ActivityKeyedItem<TData>[]>(() => {\n const seen = new Map<string, number>();\n return activities.map((activity) => {\n const baseId = String(activity.id ?? '').trim();\n const createdAt = String(activity.createdAt ?? '').trim();\n const event = String(activity.event ?? '').trim();\n const source = String(activity.source ?? '').trim();\n const keyBase = [baseId, createdAt, event, source].join(':');\n const occurrence = (seen.get(keyBase) ?? 0) + 1;\n seen.set(keyBase, occurrence);\n return { activity, key: `${keyBase}:${occurrence}` };\n });\n }, [activities]);\n\n const groups = useMemo<ActivityDateGroup<TData>[]>(() => {\n if (!groupByDate) {\n return keyed.length > 0 ? [{ label: '', items: keyed }] : [];\n }\n const out: ActivityDateGroup<TData>[] = [];\n let currentLabel = '__init__';\n let currentItems: ActivityKeyedItem<TData>[] = [];\n\n const labelFor = (iso: string | null) =>\n formatDateGroupLabel\n ? formatDateGroupLabel(iso, strings)\n : defaultDateGroupLabel(iso, strings, locale);\n\n for (const item of keyed) {\n const iso = item.activity.createdAt ?? null;\n const label = labelFor(iso);\n if (label !== currentLabel) {\n if (currentItems.length > 0) {\n out.push({ label: currentLabel, items: currentItems });\n }\n currentLabel = label;\n currentItems = [item];\n } else {\n currentItems.push(item);\n }\n }\n if (currentItems.length > 0) {\n out.push({ label: currentLabel, items: currentItems });\n }\n return out;\n }, [keyed, groupByDate, locale, strings, formatDateGroupLabel]);\n\n const isExpanded = useCallback(\n (id: string) => expandedMap[id] ?? expandedByDefault,\n [expandedMap, expandedByDefault],\n );\n\n const toggleExpanded = useCallback((id: string) => {\n setExpandedMap((current) => ({\n ...current,\n [id]: !(current[id] ?? false),\n }));\n }, []);\n\n const setExpanded = useCallback((id: string, value: boolean) => {\n setExpandedMap((current) => ({ ...current, [id]: value }));\n }, []);\n\n const expandAll = useCallback(() => {\n const next: Record<string, boolean> = {};\n for (const k of keyed) next[k.activity.id] = true;\n setExpandedMap(next);\n }, [keyed]);\n\n const collapseAll = useCallback(() => setExpandedMap({}), []);\n\n return {\n groups,\n total: keyed.length,\n isExpanded,\n toggleExpanded,\n setExpanded,\n expandAll,\n collapseAll,\n };\n}\n","/**\n * useActivityResources — registry hook for the rich-resource feature.\n *\n * The registry maps `key → ActivityResourceConfig`. Activity items reference\n * resources by `key`; the row renderer looks up the live config so badges,\n * icons, and links can be edited globally without touching individual rows.\n *\n * The hook re-seeds whenever the `resources` prop reference changes and emits\n * the full registry on every mutation via `onResourcesChange`. Wire that\n * callback to localStorage / a backend mutation to persist the user's\n * resource customisations across sessions.\n */\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport type {\n ActivityResourceConfig,\n ActivityResourceRef,\n} from '../activities.types';\n\nexport type ActivityResourceRegistry = Readonly<\n Record<string, ActivityResourceConfig>\n>;\n\nexport interface UseActivityResourcesOptions {\n resources?: ActivityResourceRegistry;\n onResourcesChange?: (registry: ActivityResourceRegistry) => void;\n}\n\nexport interface UseActivityResourcesReturn {\n registry: ActivityResourceRegistry;\n /** Look up a resource by ref or key. */\n get: (\n ref: ActivityResourceRef | string,\n ) => ActivityResourceConfig | undefined;\n /** Replace a resource entry wholesale (or insert new). */\n register: (key: string, config: ActivityResourceConfig) => void;\n /** Shallow-merge a partial update over an existing entry. */\n update: (key: string, partial: Partial<ActivityResourceConfig>) => void;\n /** Remove an entry. */\n remove: (key: string) => void;\n /** Replace the entire registry. */\n setAll: (registry: ActivityResourceRegistry) => void;\n /** Reset to the original `resources` prop (or empty if none). */\n reset: () => void;\n}\n\nexport function useActivityResources({\n resources,\n onResourcesChange,\n}: UseActivityResourcesOptions = {}): UseActivityResourcesReturn {\n const [registry, setRegistry] = useState<ActivityResourceRegistry>(\n () => resources ?? {},\n );\n\n const seedRef = useRef(resources);\n useEffect(() => {\n if (resources !== seedRef.current) {\n seedRef.current = resources;\n setRegistry(resources ?? {});\n }\n }, [resources]);\n\n const onChangeRef = useRef(onResourcesChange);\n useEffect(() => {\n onChangeRef.current = onResourcesChange;\n }, [onResourcesChange]);\n\n const emit = useCallback((next: ActivityResourceRegistry) => {\n onChangeRef.current?.(next);\n }, []);\n\n const register = useCallback(\n (key: string, config: ActivityResourceConfig) => {\n setRegistry((current) => {\n const next = { ...current, [key]: config };\n emit(next);\n return next;\n });\n },\n [emit],\n );\n\n const update = useCallback(\n (key: string, partial: Partial<ActivityResourceConfig>) => {\n setRegistry((current) => {\n const existing = current[key];\n if (!existing) return current;\n const next = {\n ...current,\n [key]: { ...existing, ...partial },\n };\n emit(next);\n return next;\n });\n },\n [emit],\n );\n\n const remove = useCallback(\n (key: string) => {\n setRegistry((current) => {\n if (!(key in current)) return current;\n const next = { ...current };\n delete next[key];\n emit(next);\n return next;\n });\n },\n [emit],\n );\n\n const setAll = useCallback(\n (next: ActivityResourceRegistry) => {\n setRegistry(next);\n emit(next);\n },\n [emit],\n );\n\n const reset = useCallback(() => {\n const next = seedRef.current ?? {};\n setRegistry(next);\n emit(next);\n }, [emit]);\n\n const get = useCallback(\n (ref: ActivityResourceRef | string) => {\n const key = typeof ref === 'string' ? ref : ref.key;\n return registry[key];\n },\n [registry],\n );\n\n return { registry, get, register, update, remove, setAll, reset };\n}\n","/**\n * ActivityActionsMenu — inline overflow menu rendered on rich rows.\n *\n * Backed by the shadcn DropdownMenu primitive; each item fires the\n * activity's per-row `onClick` and forwards `actionId` through `onAction` so\n * consumers can route actions centrally.\n */\nimport { MoreHorizontal } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@/components/base/navigation';\n\nimport type { ActivityAction, ActivityItem } from '../activities.types';\n\nexport interface ActivityActionsMenuProps<TData = unknown> {\n activity: ActivityItem<TData>;\n actions: readonly ActivityAction<TData>[];\n onAction?: (actionId: string, activity: ActivityItem<TData>) => void;\n label: string;\n}\n\nexport function ActivityActionsMenu<TData = unknown>({\n activity,\n actions,\n onAction,\n label,\n}: ActivityActionsMenuProps<TData>) {\n if (actions.length === 0) return null;\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n render={(triggerProps) => (\n <Button\n {...(triggerProps as Record<string, unknown>)}\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"icon-sm\"\n aria-label={label}\n className=\"h-7 w-7 text-muted-foreground\"\n >\n <MoreHorizontal className=\"size-4\" />\n </Button>\n )}\n />\n <DropdownMenuContent align=\"end\" className=\"min-w-[160px]\">\n {actions.map((action) => {\n const Icon = action.icon;\n return (\n <DropdownMenuItem\n key={action.id}\n onClick={() => {\n if (action.disabled) return;\n action.onClick(activity);\n onAction?.(action.id, activity);\n }}\n disabled={action.disabled}\n variant={action.tone === 'destructive' ? 'destructive' : 'default'}\n className=\"gap-2 px-2 py-1.5 text-xs\"\n >\n {!!Icon && <Icon className=\"size-3.5\" />}\n {action.label}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n","/**\n * ActivityChanges — collapsible old → new diff block.\n *\n * Each entry shows the attribute label, the previous value (line-through, on\n * a destructive tint), an arrow, and the new value (on a success tint). When\n * neither old nor new is set, falls back to `description`.\n */\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type { ActivityChange } from '../activities.types';\n\nexport interface ActivityChangesProps {\n changes: readonly ActivityChange[];\n className?: string;\n}\n\nfunction ChangeValue({ change }: { change: ActivityChange }) {\n const hasOld = change.old !== null && change.old !== undefined;\n const hasNew = change.new !== null && change.new !== undefined;\n\n if (!hasOld && !hasNew) {\n return (\n <Text size=\"xs\" tag=\"span\">\n {change.description}\n </Text>\n );\n }\n\n return (\n <Text tag=\"span\" size=\"xs\" className=\"inline-flex flex-wrap items-baseline gap-1\">\n {!!hasOld && (\n <Text\n tag=\"span\"\n size=\"xs\"\n className=\"rounded bg-destructive/10 text-destructive line-through px-1 py-px\"\n >\n {change.old}\n </Text>\n )}\n {hasOld && hasNew && (\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n →\n </Text>\n )}\n {!!hasNew && (\n <Text\n tag=\"span\"\n size=\"xs\"\n className=\"rounded bg-success/15 text-success px-1 py-px\"\n >\n {change.new}\n </Text>\n )}\n </Text>\n );\n}\n\nexport function ActivityChanges({ changes, className }: ActivityChangesProps) {\n if (changes.length === 0) return null;\n return (\n <div\n className={cn(\n 'space-y-1.5 rounded-lg border border-border/60 bg-muted/30 px-3 py-2',\n className,\n )}\n >\n {changes.map((change) => (\n <div\n key={`${change.key}-${change.label}`}\n className=\"flex items-baseline gap-2\"\n >\n <Text\n size=\"xs\"\n type=\"secondary\"\n weight=\"medium\"\n className=\"shrink-0\"\n >\n {change.label}\n </Text>\n <ChangeValue change={change} />\n </div>\n ))}\n </div>\n );\n}\n","/**\n * ActivityDateLabel — eyebrow rendered above each date group.\n *\n * Consumers can override via `slots.renderDateLabel`. Default: small\n * uppercase eyebrow above each group, with extra top margin between groups.\n */\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface ActivityDateLabelProps {\n label: string;\n isFirst: boolean;\n className?: string;\n}\n\nexport function ActivityDateLabel({\n label,\n isFirst,\n className,\n}: ActivityDateLabelProps) {\n if (label === '') return null;\n return (\n <Text\n size=\"xxs\"\n type=\"secondary\"\n weight=\"medium\"\n className={cn(\n 'uppercase tracking-wider',\n !isFirst && 'mt-5',\n className,\n )}\n >\n {label}\n </Text>\n );\n}\n","/**\n * ActivityEmptyState — neutral empty surface used when no activities are\n * available. Consumers replace via `slots.empty`.\n */\nimport { Activity } from 'lucide-react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface ActivityEmptyStateProps {\n title: string;\n hint?: string;\n className?: string;\n}\n\nexport function ActivityEmptyState({\n title,\n hint,\n className,\n}: ActivityEmptyStateProps) {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center gap-2 px-6 py-10 text-center',\n className,\n )}\n >\n <span className=\"flex size-9 items-center justify-center rounded-full bg-muted text-muted-foreground\">\n <Activity className=\"size-4\" />\n </span>\n <Text weight=\"medium\">\n {title}\n </Text>\n {!!hint && (\n <Text size=\"xs\" type=\"secondary\">\n {hint}\n </Text>\n )}\n </div>\n );\n}\n","/**\n * Tone palettes shared by the marker, headline status segments, and the\n * resource tag. Tones map to semantic shadcn tokens — never to raw colours —\n * so a consumer rebrand at `:root` flows through the activities feature\n * automatically.\n */\nimport type { ActivityTone } from '../activities.types';\nimport type { ComposedBadgeVariant } from '@/components/base/badge/badge';\n\nexport interface ActivityToneStyle {\n /** Filled background — used by the rich icon marker. */\n bg: string;\n /** Foreground text colour matching the bg. */\n fg: string;\n /** Solid colour used by the compact dot. */\n dot: string;\n /** Border tint used by the connector line. */\n line: string;\n /** Background for chips / tags. */\n chipBg: string;\n /** Text colour for chips / tags. */\n chipFg: string;\n}\n\nexport const ACTIVITY_TONE: Record<ActivityTone, ActivityToneStyle> = {\n primary: {\n bg: 'bg-primary/15',\n fg: 'text-primary',\n dot: 'bg-primary',\n line: 'bg-primary/30',\n chipBg: 'bg-primary/10',\n chipFg: 'text-primary',\n },\n success: {\n bg: 'bg-success/15',\n fg: 'text-success',\n dot: 'bg-success',\n line: 'bg-success/30',\n chipBg: 'bg-success/15',\n chipFg: 'text-success',\n },\n warning: {\n bg: 'bg-warning/30',\n fg: 'text-warning-foreground',\n dot: 'bg-warning',\n line: 'bg-warning/40',\n chipBg: 'bg-warning/30',\n chipFg: 'text-warning-foreground',\n },\n destructive: {\n bg: 'bg-destructive/15',\n fg: 'text-destructive',\n dot: 'bg-destructive',\n line: 'bg-destructive/30',\n chipBg: 'bg-destructive/15',\n chipFg: 'text-destructive',\n },\n info: {\n bg: 'bg-info/15',\n fg: 'text-info',\n dot: 'bg-info',\n line: 'bg-info/30',\n chipBg: 'bg-info/15',\n chipFg: 'text-info',\n },\n neutral: {\n bg: 'bg-muted',\n fg: 'text-muted-foreground',\n dot: 'bg-muted-foreground/60',\n line: 'bg-border',\n chipBg: 'bg-muted',\n chipFg: 'text-muted-foreground',\n },\n};\n\n/** Map an activity tone onto the closest base/Badge variant. */\nexport const TONE_TO_BADGE_VARIANT: Record<ActivityTone, ComposedBadgeVariant> = {\n primary: 'primary',\n success: 'success',\n warning: 'warning',\n destructive: 'destructive',\n info: 'info',\n neutral: 'secondary',\n};\n","/**\n * ActivityResourceTag — chip rendering for a registered resource.\n *\n * The resource registry stores per-key `ActivityResourceConfig` (label, icon,\n * tone, badge, tags). This component renders those as a single inline chip\n * suitable for embedding into a headline. Falls back gracefully when the\n * registry has no entry — uses the segment's text/label.\n */\nimport { CircleDot } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nimport { Badge } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\n\nimport type {\n ActivityResourceConfig,\n ActivityResourceRef,\n ActivityTone,\n} from '../activities.types';\n\nimport { ACTIVITY_TONE, TONE_TO_BADGE_VARIANT } from './tone-tokens';\n\nexport interface ActivityResourceTagProps {\n resource: ActivityResourceRef;\n config?: ActivityResourceConfig;\n /** Fallback label if neither config nor segment text are present. */\n fallbackText?: string;\n onClick?: () => void;\n}\n\nexport function ActivityResourceTag({\n resource,\n config,\n fallbackText,\n onClick,\n}: ActivityResourceTagProps) {\n const tone: ActivityTone = config?.tone ?? 'neutral';\n const palette = ACTIVITY_TONE[tone];\n const Icon = config?.icon ?? CircleDot;\n const label = config?.label ?? fallbackText ?? resource.label ?? resource.key;\n const interactive = typeof onClick === 'function';\n\n const inner = (\n <>\n <Icon className={cn('size-3 shrink-0', palette.fg)} />\n <Text tag=\"span\" size=\"xs\" weight=\"medium\" className={palette.chipFg}>\n {label}\n </Text>\n {!!config?.tags && config.tags.length > 0 && (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"border-l border-current/20 pl-1.5 ml-0.5\"\n >\n {config.tags.join(' · ')}\n </Text>\n )}\n {!!config?.badge && (\n <Badge\n inline\n variant={TONE_TO_BADGE_VARIANT[config.badge.tone ?? 'neutral']}\n className=\"ml-1\"\n >\n {config.badge.label}\n </Badge>\n )}\n </>\n );\n\n const chipClass = cn(\n 'inline-flex items-center gap-1 rounded-full px-2 py-0.5 align-baseline',\n 'border border-border/60',\n palette.chipBg,\n interactive &&\n 'cursor-pointer transition-colors hover:bg-foreground/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n );\n\n if (interactive) {\n return (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onClick?.();\n }}\n className={chipClass}\n title={config?.note}\n >\n {inner}\n </button>\n );\n }\n\n return (\n <span className={chipClass} title={config?.note}>\n {inner}\n </span>\n );\n}\n","/**\n * ActivityHeadline — segment renderer for the headline line.\n *\n * Renders typed segments (`actor` / `field` / `value` / `status` / `resource`\n * / `text`) into mixed inline content with proper typography and tone.\n *\n * When no segments are provided, falls back to splitting `headline` around\n * the actor's name so the actor still becomes interactive when possible.\n */\nimport { Fragment, type ReactNode } from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\n\nimport type {\n ActivityActor,\n ActivityHeadlineSegment,\n ActivityItem,\n ActivityResourceConfig,\n ActivityResourceRef,\n} from '../activities.types';\nimport { ActivityResourceTag } from './activity-resource-tag';\nimport { TONE_TO_BADGE_VARIANT } from './tone-tokens';\n\nexport interface ActivityHeadlineProps<TData = unknown> {\n activity: ActivityItem<TData>;\n currentUserId?: string;\n youLabel: string;\n onActorClick?: (actor: ActivityActor, activity: ActivityItem<TData>) => void;\n onResourceClick?: (\n resource: ActivityResourceRef,\n config: ActivityResourceConfig | undefined,\n activity: ActivityItem<TData>,\n ) => void;\n /** Live registry lookup for resource segments. */\n getResourceConfig?: (\n ref: ActivityResourceRef,\n ) => ActivityResourceConfig | undefined;\n}\n\nfunction ActorNode<TData>({\n actorId,\n text,\n href,\n activity,\n youLabel,\n currentUserId,\n onActorClick,\n}: {\n actorId?: string;\n text: string;\n href?: string;\n activity: ActivityItem<TData>;\n youLabel: string;\n currentUserId?: string;\n onActorClick?: (actor: ActivityActor, activity: ActivityItem<TData>) => void;\n}) {\n const isYou =\n currentUserId !== undefined &&\n actorId !== undefined &&\n currentUserId === actorId;\n const display = isYou ? youLabel : text;\n const actor: ActivityActor = activity.actor ?? { id: actorId, name: text };\n\n if (href) {\n return (\n <a\n href={href}\n onClick={(e) => {\n if (onActorClick) {\n e.preventDefault();\n e.stopPropagation();\n onActorClick(actor, activity);\n }\n }}\n className=\"font-semibold text-foreground underline-offset-2 hover:underline\"\n >\n {display}\n </a>\n );\n }\n\n if (onActorClick) {\n return (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onActorClick(actor, activity);\n }}\n className=\"font-semibold text-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded\"\n >\n {display}\n </button>\n );\n }\n\n return (\n <Text tag=\"span\" weight=\"semibold\">\n {display}\n </Text>\n );\n}\n\nfunction renderSegments<TData>(\n segments: readonly ActivityHeadlineSegment[],\n props: ActivityHeadlineProps<TData>,\n): ReactNode {\n return segments.map((segment, index) => {\n const key = `seg-${index}-${segment.type}`;\n switch (segment.type) {\n case 'actor':\n return (\n <Fragment key={key}>\n <ActorNode<TData>\n actorId={segment.actorId}\n text={segment.text}\n href={segment.href}\n activity={props.activity}\n youLabel={props.youLabel}\n currentUserId={props.currentUserId}\n onActorClick={props.onActorClick}\n />{' '}\n </Fragment>\n );\n case 'field':\n case 'value':\n return (\n <Fragment key={key}>\n <Text tag=\"span\" weight=\"semibold\">\n {segment.text}\n </Text>{' '}\n </Fragment>\n );\n case 'status':\n return (\n <Fragment key={key}>\n <Badge\n inline\n variant={TONE_TO_BADGE_VARIANT[segment.tone ?? 'neutral']}\n >\n {segment.text}\n </Badge>{' '}\n </Fragment>\n );\n case 'resource': {\n const config = props.getResourceConfig?.(segment.resource);\n return (\n <Fragment key={key}>\n <ActivityResourceTag\n resource={segment.resource}\n config={config}\n fallbackText={segment.text}\n onClick={\n props.onResourceClick\n ? () =>\n props.onResourceClick?.(\n segment.resource,\n config,\n props.activity,\n )\n : undefined\n }\n />{' '}\n </Fragment>\n );\n }\n case 'text':\n default:\n return (\n <Fragment key={key}>\n <Text tag=\"span\">\n {segment.text}\n </Text>{' '}\n </Fragment>\n );\n }\n });\n}\n\nfunction renderFallback<TData>(props: ActivityHeadlineProps<TData>): ReactNode {\n const { activity } = props;\n const fallbackHeadline =\n activity.headline ?? activity.event;\n const actorName = activity.actor?.name;\n if (!actorName || !fallbackHeadline.includes(actorName)) {\n return (\n <Text tag=\"span\">\n {fallbackHeadline}\n </Text>\n );\n }\n const [before, ...after] = fallbackHeadline.split(actorName);\n return (\n <>\n {!!before && (\n <Text tag=\"span\">\n {before}\n </Text>\n )}\n <ActorNode<TData>\n actorId={activity.actor?.id}\n text={actorName}\n href={activity.actor?.href}\n activity={activity}\n youLabel={props.youLabel}\n currentUserId={props.currentUserId}\n onActorClick={props.onActorClick}\n />\n {after.length > 0 && (\n <Text tag=\"span\">\n {after.join(actorName)}\n </Text>\n )}\n </>\n );\n}\n\nexport function ActivityHeadline<TData = unknown>(\n props: ActivityHeadlineProps<TData>,\n) {\n const segments = props.activity.segments;\n if (segments && segments.length > 0) {\n return (\n <span className=\"leading-snug [&>span]:leading-snug\">\n {renderSegments<TData>(segments, props)}\n </span>\n );\n }\n return <span className=\"leading-snug\">{renderFallback<TData>(props)}</span>;\n}\n","/**\n * ActivityMarker — left-edge visual for a row.\n *\n * Density mapping:\n * - `compact` → small tone-coloured dot\n * - `default` → 22px tone-tinted square with the event icon\n * - `rich` → 28px tone-tinted circle with the event icon\n *\n * Always renders the connector line beneath unless `isLast` is true.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nimport type { ActivityDensity, ActivityTone } from '../activities.types';\n\nimport { ACTIVITY_TONE } from './tone-tokens';\n\nexport interface ActivityMarkerProps {\n icon: LucideIcon;\n tone: ActivityTone;\n density: ActivityDensity;\n isLast: boolean;\n}\n\nexport function ActivityMarker({\n icon: Icon,\n tone,\n density,\n isLast,\n}: ActivityMarkerProps) {\n const palette = ACTIVITY_TONE[tone];\n\n if (density === 'compact') {\n return (\n <div className=\"flex flex-col items-center\">\n <span\n aria-hidden\n className={cn('mt-1.5 size-2 shrink-0 rounded-full', palette.dot)}\n />\n {!isLast && (\n <span aria-hidden className={cn('mt-1 w-px flex-1', palette.line)} />\n )}\n </div>\n );\n }\n\n if (density === 'rich') {\n return (\n <div className=\"flex flex-col items-center\">\n <span\n className={cn(\n 'flex size-7 shrink-0 items-center justify-center rounded-full ring-1 ring-border/60',\n palette.bg,\n palette.fg,\n )}\n >\n <Icon className=\"size-3.5\" />\n </span>\n {!isLast && (\n <span aria-hidden className={cn('mt-1 w-px flex-1', palette.line)} />\n )}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col items-center\">\n <span\n className={cn(\n 'flex size-5 shrink-0 items-center justify-center rounded-full',\n palette.bg,\n palette.fg,\n )}\n >\n <Icon className=\"size-3\" />\n </span>\n {!isLast && (\n <span aria-hidden className={cn('mt-1 w-px flex-1', palette.line)} />\n )}\n </div>\n );\n}\n","/**\n * ActivityRow — single row layout used by `<ActivityFeed />`.\n *\n * Composes the marker, headline, optional description, metadata chips,\n * source badge, timestamp, and (rich-only) the change-detail block plus\n * action menu. Per-density layout follows the design-system rules:\n * compact (dot, single line) / default (icon, headline + meta line) /\n * rich (icon, full header + body + actions).\n */\nimport { ChevronDown, ChevronRight } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type {\n ActivityAction,\n ActivityActor,\n ActivityDensity,\n ActivityEventConfig,\n ActivityItem,\n ActivityResourceConfig,\n ActivityResourceRef,\n ActivityTone,\n} from '../activities.types';\n\nimport { ActivityActionsMenu } from './activity-actions-menu';\nimport { ActivityChanges } from './activity-changes';\nimport { ActivityHeadline } from './activity-headline';\nimport { ActivityMarker } from './activity-marker';\nimport { ActivityResourceTag } from './activity-resource-tag';\n\nexport interface ActivityRowProps<TData = unknown> {\n activity: ActivityItem<TData>;\n density: ActivityDensity;\n eventConfig: ActivityEventConfig;\n tone: ActivityTone;\n isLast: boolean;\n expanded: boolean;\n onToggleExpanded: () => void;\n relativeTime: string | null;\n absoluteTime: string | null;\n sourceLabel: string | null;\n youLabel: string;\n showChangesLabel: string;\n hideChangesLabel: string;\n actionsLabel: string;\n currentUserId?: string;\n actions: readonly ActivityAction<TData>[];\n onActivityClick?: (activity: ActivityItem<TData>) => void;\n onActorClick?: (actor: ActivityActor, activity: ActivityItem<TData>) => void;\n onResourceClick?: (\n resource: ActivityResourceRef,\n config: ActivityResourceConfig | undefined,\n activity: ActivityItem<TData>,\n ) => void;\n onAction?: (actionId: string, activity: ActivityItem<TData>) => void;\n getResourceConfig?: (\n ref: ActivityResourceRef,\n ) => ActivityResourceConfig | undefined;\n /** Slot override for the headline only. */\n headlineOverride?: ReactNode;\n /** Slot override for the marker only. */\n markerOverride?: ReactNode;\n}\n\nexport function ActivityRow<TData = unknown>(props: ActivityRowProps<TData>) {\n const {\n activity,\n density,\n eventConfig,\n tone,\n isLast,\n expanded,\n onToggleExpanded,\n relativeTime,\n absoluteTime,\n sourceLabel,\n youLabel,\n showChangesLabel,\n hideChangesLabel,\n actionsLabel,\n currentUserId,\n actions,\n onActivityClick,\n onActorClick,\n onResourceClick,\n onAction,\n getResourceConfig,\n headlineOverride,\n markerOverride,\n } = props;\n\n const Icon = activity.iconOverride ?? eventConfig.icon;\n const hasChanges = (activity.changes?.length ?? 0) > 0;\n const hasMetadata = (activity.metadata?.length ?? 0) > 0;\n const hasResources = (activity.resources?.length ?? 0) > 0;\n const hasDescription =\n activity.description !== undefined &&\n activity.description !== null &&\n activity.description !== '';\n const showSecondaryRow = density !== 'compact';\n const showRichBody = density === 'rich';\n\n const headlineNode =\n headlineOverride ??\n (\n <ActivityHeadline<TData>\n activity={activity}\n currentUserId={currentUserId}\n youLabel={youLabel}\n onActorClick={onActorClick}\n onResourceClick={onResourceClick}\n getResourceConfig={getResourceConfig}\n />\n );\n\n const markerNode =\n markerOverride ?? (\n <ActivityMarker\n icon={Icon}\n tone={tone}\n density={density}\n isLast={isLast}\n />\n );\n\n const interactive = typeof onActivityClick === 'function';\n\n return (\n <div\n className={cn(\n 'relative flex gap-3',\n interactive && 'cursor-pointer rounded-md hover:bg-muted/40',\n )}\n onClick={interactive ? () => onActivityClick?.(activity) : undefined}\n role={interactive ? 'button' : undefined}\n tabIndex={interactive ? 0 : undefined}\n onKeyDown={\n interactive\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onActivityClick?.(activity);\n }\n }\n : undefined\n }\n >\n {markerNode}\n\n <div\n className={cn(\n 'min-w-0 flex-1',\n !isLast && (density === 'rich' ? 'pb-4' : density === 'compact' ? 'pb-2.5' : 'pb-3'),\n )}\n >\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-1\">\n <Text tag=\"span\" lineHeight=\"snug\">\n {headlineNode}\n </Text>\n {!!sourceLabel && (\n <Badge inline variant=\"secondary\">\n {sourceLabel}\n </Badge>\n )}\n {showRichBody && hasChanges && (\n <Button\n type=\"button\"\n size=\"icon-xs\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n className=\"h-5 w-5 text-muted-foreground\"\n onClick={(e) => {\n e.stopPropagation();\n onToggleExpanded();\n }}\n title={expanded ? hideChangesLabel : showChangesLabel}\n aria-label={expanded ? hideChangesLabel : showChangesLabel}\n aria-expanded={expanded}\n >\n {expanded ? (\n <ChevronDown className=\"size-3.5\" />\n ) : (\n <ChevronRight className=\"size-3.5\" />\n )}\n </Button>\n )}\n </div>\n\n <div className=\"flex shrink-0 items-center gap-1\">\n {!!relativeTime && (\n <Text\n size=\"xs\"\n type=\"secondary\"\n className=\"whitespace-nowrap tabular-nums pt-0.5\"\n title={absoluteTime ?? undefined}\n >\n {relativeTime}\n </Text>\n )}\n {showRichBody && actions.length > 0 && (\n <ActivityActionsMenu<TData>\n activity={activity}\n actions={actions}\n onAction={onAction}\n label={actionsLabel}\n />\n )}\n </div>\n </div>\n\n {!!showSecondaryRow && hasDescription && (\n <Text tag=\"div\" size=\"xs\" type=\"secondary\" className=\"mt-1\">\n {activity.description}\n </Text>\n )}\n\n {!!showRichBody && hasMetadata && activity.metadata && (\n <div className=\"mt-2 flex flex-wrap gap-x-3 gap-y-1\">\n {activity.metadata.map((m) => (\n <Text key={m.label} size=\"xs\" type=\"secondary\">\n <Text tag=\"span\" size=\"xs\" type=\"discrete\">\n {m.label}:{' '}\n </Text>\n {m.value}\n </Text>\n ))}\n </div>\n )}\n\n {!!showRichBody && hasResources && activity.resources && (\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n {activity.resources.map((res) => {\n const cfg = getResourceConfig?.(res);\n return (\n <ActivityResourceTag\n key={res.key}\n resource={res}\n config={cfg}\n onClick={\n onResourceClick\n ? () =>\n onResourceClick(\n res,\n cfg,\n activity,\n )\n : undefined\n }\n />\n );\n })}\n </div>\n )}\n\n {!!showRichBody && hasChanges && expanded && activity.changes && (\n <div className=\"mt-2\">\n <ActivityChanges changes={activity.changes} />\n </div>\n )}\n </div>\n </div>\n );\n}\n","/**\n * ActivityFeed — framework-agnostic activity timeline.\n *\n * Composition seams:\n * - `strings` — deep-partial override of every label\n * - `eventConfig` — mass-configurable per-event icon/tone/labels\n * - `slots` — replace any region (row / headline / marker /\n * dateLabel / empty / loading / header / footer)\n * - `slots.renderRow` — full per-row override\n * - `accessors` — formatRelative/Absolute, getEventLabel, …\n * - `actionsForActivity` — surface a per-row action menu (rich density)\n * - `resources` + `onResourcesChange` — registry-driven rich resource\n * tags (icons, badges, links, tags) with save\n * and restore semantics for the consumer\n *\n * Headless usage:\n * - Call `useActivityFeed({ activities, ... })` directly to drive a\n * completely custom UI against the same grouping/expand state machine.\n * - Call `useActivityResources({ resources, onResourcesChange })` to\n * drive the registry independently.\n *\n * Framework-agnostic:\n * - No router import, no i18n SDK import. Wire actor / resource navigation\n * via callbacks at the call site.\n */\nimport { useMemo, type ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { useDatesConfig } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultActivityEventConfig,\n resolveEventConfig,\n} from './activities.config';\nimport {\n defaultActivitiesStrings,\n type ActivitiesStrings,\n} from './activities.strings';\nimport type {\n ActivityAction,\n ActivityFeedProps,\n ActivityItem,\n ActivityRenderRowContext,\n ActivityTone,\n} from './activities.types';\nimport { useActivityFeed } from './hooks/use-activity-feed';\nimport { useActivityResources } from './hooks/use-activity-resources';\nimport {\n ActivityDateLabel,\n ActivityEmptyState,\n ActivityRow,\n} from './partials';\n\nfunction defaultFormatAbsolute(iso: string, locale?: string): string {\n try {\n return new Intl.DateTimeFormat(locale, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }).format(new Date(iso));\n } catch {\n return iso;\n }\n}\n\nfunction resolveTone<TData>(\n activity: ActivityItem<TData>,\n eventTone: ActivityTone,\n): ActivityTone {\n return activity.toneOverride ?? eventTone;\n}\n\nexport function ActivityFeed<TData = unknown>(props: ActivityFeedProps<TData>) {\n const {\n activities = [],\n density = 'default',\n groupByDate = true,\n expandedByDefault = false,\n currentUserId,\n loading = false,\n eventConfig: eventConfigOverride,\n strings: stringsProp,\n slots,\n className,\n locale,\n // accessors\n formatRelativeTime,\n formatAbsoluteTime,\n formatDateGroupLabel,\n getEventLabel: _getEventLabel,\n getSourceLabel,\n actionsForActivity,\n // callbacks\n onActivityClick,\n onActorClick,\n onResourceClick,\n onAction,\n // resources\n resources,\n onResourcesChange,\n } = props;\n\n const strings: ActivitiesStrings = useMemo<ActivitiesStrings>(\n () => ({\n ...defaultActivitiesStrings,\n ...stringsProp,\n sources: {\n ...defaultActivitiesStrings.sources,\n ...(stringsProp?.sources ?? {}),\n },\n events: {\n ...defaultActivitiesStrings.events,\n ...(stringsProp?.events ?? {}),\n },\n }),\n [stringsProp],\n );\n\n const eventConfigMap = useMemo(\n () => ({ ...defaultActivityEventConfig, ...eventConfigOverride }),\n [eventConfigOverride],\n );\n\n const registry = useActivityResources({\n resources,\n onResourcesChange,\n });\n\n const feed = useActivityFeed<TData>({\n activities,\n groupByDate,\n expandedByDefault,\n locale,\n strings,\n formatDateGroupLabel,\n });\n\n const { formatRelativeTime: storeFormatRelative } = useDatesConfig();\n const fmtRelative = formatRelativeTime ?? storeFormatRelative ?? ((iso: string) => iso);\n const fmtAbsolute = formatAbsoluteTime ?? ((iso: string) => defaultFormatAbsolute(iso, locale));\n\n if (loading) {\n return (\n <div className={cn('activities-feed--component', 'px-2 py-4', className)}>\n {slots?.loading ?? (\n <Text type=\"secondary\" align=\"center\">\n {strings.loading}\n </Text>\n )}\n </div>\n );\n }\n\n if (activities.length === 0) {\n return (\n <div className={cn('px-2 py-2', className)}>\n {slots?.empty ?? <ActivityEmptyState title={strings.empty} />}\n </div>\n );\n }\n\n const totalRendered = feed.groups.reduce((acc, g) => acc + g.items.length, 0);\n let renderedSoFar = 0;\n\n return (\n <div className={cn('flex flex-col', className)}>\n {!!slots?.header && <div className=\"mb-3\">{slots.header}</div>}\n\n <div className=\"flex flex-col\">\n {feed.groups.map((group, gi) => {\n const isFirstGroup = gi === 0;\n return (\n <div key={`${group.label}-${gi}`} className={cn(isFirstGroup ? '' : 'mt-1')}>\n {slots?.renderDateLabel\n ? slots.renderDateLabel(group.label, isFirstGroup)\n : (\n <ActivityDateLabel\n label={group.label}\n isFirst={isFirstGroup}\n className={isFirstGroup ? '' : 'mb-2'}\n />\n )}\n\n <div className={cn('flex flex-col', !!group.label && 'mt-2')}>\n {group.items.map((keyed, ii) => {\n const activity = keyed.activity;\n const isFirstInGroup = ii === 0;\n const isLast =\n ++renderedSoFar === totalRendered;\n const eventCfg = resolveEventConfig(\n activity.event,\n eventConfigMap,\n );\n const tone = resolveTone(activity, eventCfg.tone);\n const relativeTime = activity.timestamp\n ?? (activity.createdAt\n ? fmtRelative(activity.createdAt)\n : null);\n const absoluteTime = activity.createdAt\n ? fmtAbsolute(activity.createdAt)\n : null;\n const sourceLabel = activity.source\n ? (getSourceLabel?.(activity.source)\n ?? strings.sources[activity.source]\n ?? eventCfg.sourceLabel\n ?? null)\n : eventCfg.sourceLabel ?? null;\n const sourceLabelTrimmed =\n sourceLabel && sourceLabel.trim().length > 0\n ? sourceLabel\n : null;\n const actions: readonly ActivityAction<TData>[] =\n actionsForActivity?.(activity) ?? [];\n\n const ctx: ActivityRenderRowContext<TData> = {\n density,\n isLast,\n isFirstInGroup,\n activity,\n eventConfig: eventCfg,\n tone,\n relativeTime,\n absoluteTime,\n sourceLabel: sourceLabelTrimmed,\n expanded: feed.isExpanded(activity.id),\n toggleExpanded: () =>\n feed.toggleExpanded(activity.id),\n };\n\n const customRow = slots?.renderRow?.(activity, ctx);\n if (customRow !== undefined) {\n return (\n <div key={keyed.key}>{customRow}</div>\n );\n }\n\n const headlineOverride =\n slots?.renderHeadline?.(activity, ctx);\n const markerOverride =\n slots?.renderMarker?.(activity, ctx);\n\n return (\n <ActivityRow<TData>\n key={keyed.key}\n activity={activity}\n density={density}\n eventConfig={eventCfg}\n tone={tone}\n isLast={isLast}\n expanded={ctx.expanded}\n onToggleExpanded={ctx.toggleExpanded}\n relativeTime={relativeTime}\n absoluteTime={absoluteTime}\n sourceLabel={sourceLabelTrimmed}\n youLabel={strings.you}\n showChangesLabel={strings.showChanges}\n hideChangesLabel={strings.hideChanges}\n actionsLabel={strings.actionsLabel}\n currentUserId={currentUserId}\n actions={actions}\n onActivityClick={onActivityClick}\n onActorClick={onActorClick}\n onResourceClick={onResourceClick}\n onAction={onAction}\n getResourceConfig={(ref) =>\n registry.get(ref)\n }\n headlineOverride={\n headlineOverride as ReactNode | undefined\n }\n markerOverride={\n markerOverride as ReactNode | undefined\n }\n />\n );\n })}\n </div>\n </div>\n );\n })}\n </div>\n\n {!!slots?.footer && <div className=\"mt-3\">{slots.footer}</div>}\n </div>\n );\n}\n\nActivityFeed.displayName = 'ActivityFeed';\n","/**\n * ActivityFeedCard — `<ActivityFeed />` wrapped in `SmartCard`.\n *\n * Use this when you want the canonical card chrome (title + description +\n * actions menu + content padding). For embedded surfaces (sidebars, panels)\n * use `<ActivityFeed />` directly.\n */\nimport { Activity } from 'lucide-react';\n\nimport { SmartCard } from '@/components/base/cards';\n\nimport { ActivityFeed } from '../activities-feed';\nimport {\n defaultActivitiesStrings,\n type ActivitiesStrings,\n} from '../activities.strings';\nimport type { ActivityFeedCardProps } from '../activities.types';\n\nexport function ActivityFeedCard<TData = unknown>({\n title,\n titleSuffix,\n description,\n padding = 'base',\n composerSlot,\n className,\n strings: stringsProp,\n slots,\n ...feedProps\n}: ActivityFeedCardProps<TData>) {\n const strings: ActivitiesStrings = {\n ...defaultActivitiesStrings,\n ...stringsProp,\n sources: {\n ...defaultActivitiesStrings.sources,\n ...(stringsProp?.sources ?? {}),\n },\n events: {\n ...defaultActivitiesStrings.events,\n ...(stringsProp?.events ?? {}),\n },\n };\n\n const cardTitle = title ?? strings.title;\n\n return (\n <SmartCard\n icon={<Activity className=\"size-4\" />}\n title={cardTitle}\n titleSuffix={titleSuffix}\n description={description}\n padding={padding}\n className={className}\n >\n <ActivityFeed<TData>\n {...feedProps}\n strings={stringsProp}\n slots={{\n ...slots,\n header: composerSlot ?? slots?.header,\n }}\n />\n </SmartCard>\n );\n}\n\nActivityFeedCard.displayName = 'ActivityFeedCard';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/components/features/activities/activities.config.ts","../../../../src/components/features/activities/activities.strings.ts","../../../../src/components/features/activities/hooks/use-activity-feed.ts","../../../../src/components/features/activities/hooks/use-activity-resources.ts","../../../../src/components/features/activities/partials/activity-actions-menu.tsx","../../../../src/components/features/activities/partials/activity-changes.tsx","../../../../src/components/features/activities/partials/activity-date-label.tsx","../../../../src/components/features/activities/partials/activity-empty-state.tsx","../../../../src/components/features/activities/partials/tone-tokens.ts","../../../../src/components/features/activities/partials/activity-resource-tag.tsx","../../../../src/components/features/activities/partials/activity-headline.tsx","../../../../src/components/features/activities/partials/activity-marker.tsx","../../../../src/components/features/activities/partials/activity-row.tsx","../../../../src/components/features/activities/activities-feed.tsx","../../../../src/components/features/activities/partials/activities-feed-card.tsx"],"sourcesContent":["/**\n * Default per-event configuration. Consumers override individual events by\n * spreading this map and overwriting the keys they care about, e.g.:\n *\n * import { defaultActivityEventConfig } from '@/components/features/activities';\n *\n * const eventConfig = {\n * ...defaultActivityEventConfig,\n * order_refunded: { icon: Receipt, tone: 'warning', label: 'Refunded' },\n * };\n *\n * The mass `eventConfig` prop on `<ActivityFeed />` is shallow-merged on top\n * of these defaults, so any unspecified event falls back to the library\n * default and ultimately to the neutral `defaultEvent` entry below.\n */\nimport {\n AlertTriangle,\n ArrowLeftRight,\n Ban,\n Check,\n CircleDot,\n FileEdit,\n Flag,\n Heart,\n LinkIcon,\n Mail,\n MailCheck,\n MailOpen,\n MailX,\n MessageSquare,\n Pencil,\n Plus,\n ShieldCheck,\n ShoppingBag,\n Sparkles,\n Star,\n Trash2,\n UserMinus,\n UserPlus,\n} from 'lucide-react';\n\nimport type { ActivityEventConfig, ActivityEventConfigMap } from './activities.types';\n\n/** Neutral fallback used when an event has no entry in the registry. */\nexport const defaultEventConfig: ActivityEventConfig = {\n icon: CircleDot,\n tone: 'neutral',\n};\n\nexport const defaultActivityEventConfig: ActivityEventConfigMap = {\n // Lifecycle\n created: { icon: Plus, tone: 'success', label: 'Created' },\n updated: { icon: Pencil, tone: 'info', label: 'Updated' },\n edited: { icon: FileEdit, tone: 'info', label: 'Edited' },\n deleted: { icon: Trash2, tone: 'destructive', label: 'Deleted' },\n cancelled: { icon: Ban, tone: 'destructive', label: 'Cancelled' },\n restored: { icon: Sparkles, tone: 'success', label: 'Restored' },\n\n // Status transitions\n status_changed: { icon: ArrowLeftRight, tone: 'primary', label: 'Status changed' },\n status_transition: { icon: ArrowLeftRight, tone: 'primary', label: 'Status changed' },\n status_override: { icon: ArrowLeftRight, tone: 'warning', label: 'Status overridden' },\n\n // People\n assigned: { icon: UserPlus, tone: 'info', label: 'Assigned' },\n unassigned: { icon: UserMinus, tone: 'destructive', label: 'Unassigned' },\n\n // Mail\n mail_sent: { icon: Mail, tone: 'info', label: 'Email sent' },\n mail_delivered: { icon: MailCheck, tone: 'success', label: 'Email delivered' },\n mail_opened: { icon: MailOpen, tone: 'info', label: 'Email opened' },\n mail_clicked: { icon: MailOpen, tone: 'info', label: 'Email clicked' },\n mail_bounced: { icon: MailX, tone: 'destructive', label: 'Email bounced' },\n mail_failed: { icon: MailX, tone: 'destructive', label: 'Email failed' },\n\n // Comments\n comment_created: { icon: MessageSquare, tone: 'warning', label: 'Comment posted' },\n comment_deleted: { icon: MessageSquare, tone: 'destructive', label: 'Comment deleted' },\n\n // Commerce\n paid: { icon: Check, tone: 'success', label: 'Paid' },\n refunded: { icon: ArrowLeftRight, tone: 'warning', label: 'Refunded' },\n confirmed: { icon: ShieldCheck, tone: 'success', label: 'Confirmed' },\n favorited: { icon: Heart, tone: 'warning', label: 'Favorited' },\n ordered: { icon: ShoppingBag, tone: 'primary', label: 'Order placed' },\n\n // Publishing\n published: { icon: Star, tone: 'success', label: 'Published' },\n flagged: { icon: Flag, tone: 'warning', label: 'Flagged' },\n linked: { icon: LinkIcon, tone: 'info', label: 'Linked' },\n\n // Failures\n failed: { icon: AlertTriangle, tone: 'destructive', label: 'Failed' },\n health_check_failed: { icon: AlertTriangle, tone: 'destructive', label: 'Health check failed' },\n};\n\n/** Resolve `eventConfig[event]` with override + default fallback. */\nexport function resolveEventConfig(\n event: string,\n map: ActivityEventConfigMap,\n): ActivityEventConfig {\n return map[event] ?? defaultEventConfig;\n}\n","/**\n * Strings for the Activities feature. Consumers override via the `strings`\n * prop on `<ActivityFeed>` / `<ActivityFeedCard>`. Values are deep-merged\n * over these defaults — `sources` and `events` merge one level deep so a\n * consumer can override a single source/event label without rewriting the\n * whole map.\n */\nexport interface ActivitiesStrings {\n /** Card title — usually \"Activity\". */\n title: string;\n /** Empty-state copy. */\n empty: string;\n /** Loading-state copy. */\n loading: string;\n /** Date-group label for today. */\n today: string;\n /** Date-group label for yesterday. */\n yesterday: string;\n /** Fallback label for activities without a timestamp. */\n undated: string;\n /** Replacement for actor name when `actorId === currentUserId`. */\n you: string;\n /** Toggle button label — collapsed state. */\n showChanges: string;\n /** Toggle button label — expanded state. */\n hideChanges: string;\n /** aria-label for the actions menu trigger. */\n actionsLabel: string;\n /** Generic \"more\" affordance label. */\n moreLabel: string;\n /** Map of `source` → display label. */\n sources: Record<string, string>;\n /** Map of `event` → display label. Used as a fallback for headlines. */\n events: Record<string, string>;\n}\n\nexport const defaultActivitiesStrings: ActivitiesStrings = {\n title: 'Activity',\n empty: 'No activity yet.',\n loading: 'Loading activity…',\n today: 'Today',\n yesterday: 'Yesterday',\n undated: 'Undated',\n you: 'You',\n showChanges: 'Show changes',\n hideChanges: 'Hide changes',\n actionsLabel: 'Activity actions',\n moreLabel: 'More',\n sources: {\n comment: 'Comment',\n mail: 'Mail',\n booking_log: 'Booking log',\n activity_log: '',\n system: 'System',\n },\n events: {},\n};\n\n/** Replace `{{key}}` tokens with values from `params`. */\nexport function interpolate(\n template: string,\n params: Record<string, string | number>,\n): string {\n return template.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (match, key) => {\n const v = params[key];\n return v === undefined ? match : String(v);\n });\n}\n","/**\n * useActivityFeed — headless state machine for the Activities feature.\n *\n * Returns date-grouped activities with stable React keys, plus the expand /\n * collapse map for change-detail rows. Consumers wanting a fully custom UI\n * can call this hook directly and bypass `<ActivityFeed />`.\n */\nimport { isToday, isYesterday } from 'date-fns';\nimport { useCallback, useMemo, useState } from 'react';\n\nimport type { ActivitiesStrings } from '../activities.strings';\nimport type { ActivityItem } from '../activities.types';\n\nexport interface ActivityKeyedItem<TData = unknown> {\n activity: ActivityItem<TData>;\n key: string;\n}\n\nexport interface ActivityDateGroup<TData = unknown> {\n label: string;\n items: ActivityKeyedItem<TData>[];\n}\n\nexport interface UseActivityFeedOptions<TData = unknown> {\n activities: ReadonlyArray<ActivityItem<TData>>;\n groupByDate?: boolean;\n expandedByDefault?: boolean;\n locale?: string;\n strings: ActivitiesStrings;\n formatDateGroupLabel?: (\n iso: string | null,\n strings: ActivitiesStrings,\n ) => string;\n}\n\nexport interface UseActivityFeedReturn<TData = unknown> {\n groups: ActivityDateGroup<TData>[];\n total: number;\n isExpanded: (id: string) => boolean;\n toggleExpanded: (id: string) => void;\n setExpanded: (id: string, value: boolean) => void;\n expandAll: () => void;\n collapseAll: () => void;\n}\n\nfunction defaultDateGroupLabel(\n iso: string | null,\n strings: ActivitiesStrings,\n locale?: string,\n): string {\n if (!iso) return strings.undated;\n const date = new Date(iso);\n if (isToday(date)) return strings.today;\n if (isYesterday(date)) return strings.yesterday;\n try {\n return new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(date);\n } catch {\n return new Intl.DateTimeFormat(undefined, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(date);\n }\n}\n\nexport function useActivityFeed<TData = unknown>({\n activities,\n groupByDate = true,\n expandedByDefault = false,\n locale,\n strings,\n formatDateGroupLabel,\n}: UseActivityFeedOptions<TData>): UseActivityFeedReturn<TData> {\n const [expandedMap, setExpandedMap] = useState<Record<string, boolean>>({});\n\n const keyed = useMemo<ActivityKeyedItem<TData>[]>(() => {\n const seen = new Map<string, number>();\n return activities.map((activity) => {\n const baseId = String(activity.id ?? '').trim();\n const createdAt = String(activity.createdAt ?? '').trim();\n const event = String(activity.event ?? '').trim();\n const source = String(activity.source ?? '').trim();\n const keyBase = [baseId, createdAt, event, source].join(':');\n const occurrence = (seen.get(keyBase) ?? 0) + 1;\n seen.set(keyBase, occurrence);\n return { activity, key: `${keyBase}:${occurrence}` };\n });\n }, [activities]);\n\n const groups = useMemo<ActivityDateGroup<TData>[]>(() => {\n if (!groupByDate) {\n return keyed.length > 0 ? [{ label: '', items: keyed }] : [];\n }\n const out: ActivityDateGroup<TData>[] = [];\n let currentLabel = '__init__';\n let currentItems: ActivityKeyedItem<TData>[] = [];\n\n const labelFor = (iso: string | null) =>\n formatDateGroupLabel\n ? formatDateGroupLabel(iso, strings)\n : defaultDateGroupLabel(iso, strings, locale);\n\n for (const item of keyed) {\n const iso = item.activity.createdAt ?? null;\n const label = labelFor(iso);\n if (label !== currentLabel) {\n if (currentItems.length > 0) {\n out.push({ label: currentLabel, items: currentItems });\n }\n currentLabel = label;\n currentItems = [item];\n } else {\n currentItems.push(item);\n }\n }\n if (currentItems.length > 0) {\n out.push({ label: currentLabel, items: currentItems });\n }\n return out;\n }, [keyed, groupByDate, locale, strings, formatDateGroupLabel]);\n\n const isExpanded = useCallback(\n (id: string) => expandedMap[id] ?? expandedByDefault,\n [expandedMap, expandedByDefault],\n );\n\n const toggleExpanded = useCallback((id: string) => {\n setExpandedMap((current) => ({\n ...current,\n [id]: !(current[id] ?? false),\n }));\n }, []);\n\n const setExpanded = useCallback((id: string, value: boolean) => {\n setExpandedMap((current) => ({ ...current, [id]: value }));\n }, []);\n\n const expandAll = useCallback(() => {\n const next: Record<string, boolean> = {};\n for (const k of keyed) next[k.activity.id] = true;\n setExpandedMap(next);\n }, [keyed]);\n\n const collapseAll = useCallback(() => setExpandedMap({}), []);\n\n return {\n groups,\n total: keyed.length,\n isExpanded,\n toggleExpanded,\n setExpanded,\n expandAll,\n collapseAll,\n };\n}\n","/**\n * useActivityResources — registry hook for the rich-resource feature.\n *\n * The registry maps `key → ActivityResourceConfig`. Activity items reference\n * resources by `key`; the row renderer looks up the live config so badges,\n * icons, and links can be edited globally without touching individual rows.\n *\n * The hook re-seeds whenever the `resources` prop reference changes and emits\n * the full registry on every mutation via `onResourcesChange`. Wire that\n * callback to localStorage / a backend mutation to persist the user's\n * resource customisations across sessions.\n */\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport type {\n ActivityResourceConfig,\n ActivityResourceRef,\n} from '../activities.types';\n\nexport type ActivityResourceRegistry = Readonly<\n Record<string, ActivityResourceConfig>\n>;\n\nexport interface UseActivityResourcesOptions {\n resources?: ActivityResourceRegistry;\n onResourcesChange?: (registry: ActivityResourceRegistry) => void;\n}\n\nexport interface UseActivityResourcesReturn {\n registry: ActivityResourceRegistry;\n /** Look up a resource by ref or key. */\n get: (\n ref: ActivityResourceRef | string,\n ) => ActivityResourceConfig | undefined;\n /** Replace a resource entry wholesale (or insert new). */\n register: (key: string, config: ActivityResourceConfig) => void;\n /** Shallow-merge a partial update over an existing entry. */\n update: (key: string, partial: Partial<ActivityResourceConfig>) => void;\n /** Remove an entry. */\n remove: (key: string) => void;\n /** Replace the entire registry. */\n setAll: (registry: ActivityResourceRegistry) => void;\n /** Reset to the original `resources` prop (or empty if none). */\n reset: () => void;\n}\n\nexport function useActivityResources({\n resources,\n onResourcesChange,\n}: UseActivityResourcesOptions = {}): UseActivityResourcesReturn {\n const [registry, setRegistry] = useState<ActivityResourceRegistry>(\n () => resources ?? {},\n );\n\n const seedRef = useRef(resources);\n useEffect(() => {\n if (resources !== seedRef.current) {\n seedRef.current = resources;\n setRegistry(resources ?? {});\n }\n }, [resources]);\n\n const onChangeRef = useRef(onResourcesChange);\n useEffect(() => {\n onChangeRef.current = onResourcesChange;\n }, [onResourcesChange]);\n\n const emit = useCallback((next: ActivityResourceRegistry) => {\n onChangeRef.current?.(next);\n }, []);\n\n const register = useCallback(\n (key: string, config: ActivityResourceConfig) => {\n setRegistry((current) => {\n const next = { ...current, [key]: config };\n emit(next);\n return next;\n });\n },\n [emit],\n );\n\n const update = useCallback(\n (key: string, partial: Partial<ActivityResourceConfig>) => {\n setRegistry((current) => {\n const existing = current[key];\n if (!existing) return current;\n const next = {\n ...current,\n [key]: { ...existing, ...partial },\n };\n emit(next);\n return next;\n });\n },\n [emit],\n );\n\n const remove = useCallback(\n (key: string) => {\n setRegistry((current) => {\n if (!(key in current)) return current;\n const next = { ...current };\n delete next[key];\n emit(next);\n return next;\n });\n },\n [emit],\n );\n\n const setAll = useCallback(\n (next: ActivityResourceRegistry) => {\n setRegistry(next);\n emit(next);\n },\n [emit],\n );\n\n const reset = useCallback(() => {\n const next = seedRef.current ?? {};\n setRegistry(next);\n emit(next);\n }, [emit]);\n\n const get = useCallback(\n (ref: ActivityResourceRef | string) => {\n const key = typeof ref === 'string' ? ref : ref.key;\n return registry[key];\n },\n [registry],\n );\n\n return { registry, get, register, update, remove, setAll, reset };\n}\n","/**\n * ActivityActionsMenu — inline overflow menu rendered on rich rows.\n *\n * Backed by the shadcn DropdownMenu primitive; each item fires the\n * activity's per-row `onClick` and forwards `actionId` through `onAction` so\n * consumers can route actions centrally.\n */\nimport { MoreHorizontal } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@/components/base/navigation';\n\nimport type { ActivityAction, ActivityItem } from '../activities.types';\n\nexport interface ActivityActionsMenuProps<TData = unknown> {\n activity: ActivityItem<TData>;\n actions: readonly ActivityAction<TData>[];\n onAction?: (actionId: string, activity: ActivityItem<TData>) => void;\n label: string;\n}\n\nexport function ActivityActionsMenu<TData = unknown>({\n activity,\n actions,\n onAction,\n label,\n}: ActivityActionsMenuProps<TData>) {\n if (actions.length === 0) return null;\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n render={(triggerProps) => (\n <Button\n {...(triggerProps as Record<string, unknown>)}\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"icon-sm\"\n aria-label={label}\n className=\"h-7 w-7 text-muted-foreground\"\n >\n <MoreHorizontal className=\"size-4\" />\n </Button>\n )}\n />\n <DropdownMenuContent align=\"end\" className=\"min-w-[160px]\">\n {actions.map((action) => {\n const Icon = action.icon;\n return (\n <DropdownMenuItem\n key={action.id}\n onClick={() => {\n if (action.disabled) return;\n action.onClick(activity);\n onAction?.(action.id, activity);\n }}\n disabled={action.disabled}\n variant={action.tone === 'destructive' ? 'destructive' : 'default'}\n className=\"gap-2 px-2 py-1.5 text-xs\"\n >\n {!!Icon && <Icon className=\"size-3.5\" />}\n {action.label}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n","/**\n * ActivityChanges — collapsible old → new diff block.\n *\n * Each entry shows the attribute label, the previous value (line-through, on\n * a destructive tint), an arrow, and the new value (on a success tint). When\n * neither old nor new is set, falls back to `description`.\n */\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type { ActivityChange } from '../activities.types';\n\nexport interface ActivityChangesProps {\n changes: readonly ActivityChange[];\n className?: string;\n}\n\nfunction ChangeValue({ change }: { change: ActivityChange }) {\n const hasOld = change.old !== null && change.old !== undefined;\n const hasNew = change.new !== null && change.new !== undefined;\n\n if (!hasOld && !hasNew) {\n return (\n <Text size=\"xs\" tag=\"span\">\n {change.description}\n </Text>\n );\n }\n\n return (\n <Text tag=\"span\" size=\"xs\" className=\"inline-flex flex-wrap items-baseline gap-1\">\n {!!hasOld && (\n <Text\n tag=\"span\"\n size=\"xs\"\n className=\"rounded bg-destructive/10 text-destructive line-through px-1 py-px\"\n >\n {change.old}\n </Text>\n )}\n {hasOld && hasNew && (\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n →\n </Text>\n )}\n {!!hasNew && (\n <Text\n tag=\"span\"\n size=\"xs\"\n className=\"rounded bg-success/15 text-success px-1 py-px\"\n >\n {change.new}\n </Text>\n )}\n </Text>\n );\n}\n\nexport function ActivityChanges({ changes, className }: ActivityChangesProps) {\n if (changes.length === 0) return null;\n return (\n <div\n className={cn(\n 'space-y-1.5 rounded-lg border border-border/60 bg-muted/30 px-3 py-2',\n className,\n )}\n >\n {changes.map((change) => (\n <div\n key={`${change.key}-${change.label}`}\n className=\"flex items-baseline gap-2\"\n >\n <Text\n size=\"xs\"\n type=\"secondary\"\n weight=\"medium\"\n className=\"shrink-0\"\n >\n {change.label}\n </Text>\n <ChangeValue change={change} />\n </div>\n ))}\n </div>\n );\n}\n","/**\n * ActivityDateLabel — eyebrow rendered above each date group.\n *\n * Consumers can override via `slots.renderDateLabel`. Default: small\n * uppercase eyebrow above each group, with extra top margin between groups.\n */\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface ActivityDateLabelProps {\n label: string;\n isFirst: boolean;\n className?: string;\n}\n\nexport function ActivityDateLabel({\n label,\n isFirst,\n className,\n}: ActivityDateLabelProps) {\n if (label === '') return null;\n return (\n <Text\n size=\"xxs\"\n type=\"secondary\"\n weight=\"medium\"\n className={cn(\n 'uppercase tracking-wider',\n !isFirst && 'mt-5',\n className,\n )}\n >\n {label}\n </Text>\n );\n}\n","/**\n * ActivityEmptyState — neutral empty surface used when no activities are\n * available. Consumers replace via `slots.empty`.\n */\nimport { Activity } from 'lucide-react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface ActivityEmptyStateProps {\n title: string;\n hint?: string;\n className?: string;\n}\n\nexport function ActivityEmptyState({\n title,\n hint,\n className,\n}: ActivityEmptyStateProps) {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center gap-2 px-6 py-10 text-center',\n className,\n )}\n >\n <span className=\"flex size-9 items-center justify-center rounded-full bg-muted text-muted-foreground\">\n <Activity className=\"size-4\" />\n </span>\n <Text weight=\"medium\">\n {title}\n </Text>\n {!!hint && (\n <Text size=\"xs\" type=\"secondary\">\n {hint}\n </Text>\n )}\n </div>\n );\n}\n","/**\n * Tone palettes shared by the marker, headline status segments, and the\n * resource tag. Tones map to semantic shadcn tokens — never to raw colours —\n * so a consumer rebrand at `:root` flows through the activities feature\n * automatically.\n */\nimport type { ActivityTone } from '../activities.types';\nimport type { ComposedBadgeVariant } from '@/components/base/badge/badge';\n\nexport interface ActivityToneStyle {\n /** Filled background — used by the rich icon marker. */\n bg: string;\n /** Foreground text colour matching the bg. */\n fg: string;\n /** Solid colour used by the compact dot. */\n dot: string;\n /** Border tint used by the connector line. */\n line: string;\n /** Background for chips / tags. */\n chipBg: string;\n /** Text colour for chips / tags. */\n chipFg: string;\n}\n\nexport const ACTIVITY_TONE: Record<ActivityTone, ActivityToneStyle> = {\n primary: {\n bg: 'bg-primary/15',\n fg: 'text-primary',\n dot: 'bg-primary',\n line: 'bg-primary/30',\n chipBg: 'bg-primary/10',\n chipFg: 'text-primary',\n },\n success: {\n bg: 'bg-success/15',\n fg: 'text-success',\n dot: 'bg-success',\n line: 'bg-success/30',\n chipBg: 'bg-success/15',\n chipFg: 'text-success',\n },\n warning: {\n bg: 'bg-warning/30',\n fg: 'text-warning-foreground',\n dot: 'bg-warning',\n line: 'bg-warning/40',\n chipBg: 'bg-warning/30',\n chipFg: 'text-warning-foreground',\n },\n destructive: {\n bg: 'bg-destructive/15',\n fg: 'text-destructive',\n dot: 'bg-destructive',\n line: 'bg-destructive/30',\n chipBg: 'bg-destructive/15',\n chipFg: 'text-destructive',\n },\n info: {\n bg: 'bg-info/15',\n fg: 'text-info',\n dot: 'bg-info',\n line: 'bg-info/30',\n chipBg: 'bg-info/15',\n chipFg: 'text-info',\n },\n neutral: {\n bg: 'bg-muted',\n fg: 'text-muted-foreground',\n dot: 'bg-muted-foreground/60',\n line: 'bg-border',\n chipBg: 'bg-muted',\n chipFg: 'text-muted-foreground',\n },\n};\n\n/** Map an activity tone onto the closest base/Badge variant. */\nexport const TONE_TO_BADGE_VARIANT: Record<ActivityTone, ComposedBadgeVariant> = {\n primary: 'primary',\n success: 'success',\n warning: 'warning',\n destructive: 'destructive',\n info: 'info',\n neutral: 'secondary',\n};\n","/**\n * ActivityResourceTag — chip rendering for a registered resource.\n *\n * The resource registry stores per-key `ActivityResourceConfig` (label, icon,\n * tone, badge, tags). This component renders those as a single inline chip\n * suitable for embedding into a headline. Falls back gracefully when the\n * registry has no entry — uses the segment's text/label.\n */\nimport { CircleDot } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nimport { Badge } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\n\nimport type {\n ActivityResourceConfig,\n ActivityResourceRef,\n ActivityTone,\n} from '../activities.types';\n\nimport { ACTIVITY_TONE, TONE_TO_BADGE_VARIANT } from './tone-tokens';\n\nexport interface ActivityResourceTagProps {\n resource: ActivityResourceRef;\n config?: ActivityResourceConfig;\n /** Fallback label if neither config nor segment text are present. */\n fallbackText?: string;\n onClick?: () => void;\n}\n\nexport function ActivityResourceTag({\n resource,\n config,\n fallbackText,\n onClick,\n}: ActivityResourceTagProps) {\n const tone: ActivityTone = config?.tone ?? 'neutral';\n const palette = ACTIVITY_TONE[tone];\n const Icon = config?.icon ?? CircleDot;\n const label = config?.label ?? fallbackText ?? resource.label ?? resource.key;\n const interactive = typeof onClick === 'function';\n\n const inner = (\n <>\n <Icon className={cn('size-3 shrink-0', palette.fg)} />\n <Text tag=\"span\" size=\"xs\" weight=\"medium\" className={palette.chipFg}>\n {label}\n </Text>\n {!!config?.tags && config.tags.length > 0 && (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"border-l border-current/20 pl-1.5 ml-0.5\"\n >\n {config.tags.join(' · ')}\n </Text>\n )}\n {!!config?.badge && (\n <Badge\n inline\n variant={TONE_TO_BADGE_VARIANT[config.badge.tone ?? 'neutral']}\n className=\"ml-1\"\n >\n {config.badge.label}\n </Badge>\n )}\n </>\n );\n\n const chipClass = cn(\n 'inline-flex items-center gap-1 rounded-full px-2 py-0.5 align-baseline',\n 'border border-border/60',\n palette.chipBg,\n interactive &&\n 'cursor-pointer transition-colors hover:bg-foreground/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n );\n\n if (interactive) {\n return (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onClick?.();\n }}\n className={chipClass}\n title={config?.note}\n >\n {inner}\n </button>\n );\n }\n\n return (\n <span className={chipClass} title={config?.note}>\n {inner}\n </span>\n );\n}\n","/**\n * ActivityHeadline — segment renderer for the headline line.\n *\n * Renders typed segments (`actor` / `field` / `value` / `status` / `resource`\n * / `text`) into mixed inline content with proper typography and tone.\n *\n * When no segments are provided, falls back to splitting `headline` around\n * the actor's name so the actor still becomes interactive when possible.\n */\nimport { Fragment, type ReactNode } from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\n\nimport type {\n ActivityActor,\n ActivityHeadlineSegment,\n ActivityItem,\n ActivityResourceConfig,\n ActivityResourceRef,\n} from '../activities.types';\nimport { ActivityResourceTag } from './activity-resource-tag';\nimport { TONE_TO_BADGE_VARIANT } from './tone-tokens';\n\nexport interface ActivityHeadlineProps<TData = unknown> {\n activity: ActivityItem<TData>;\n currentUserId?: string;\n youLabel: string;\n onActorClick?: (actor: ActivityActor, activity: ActivityItem<TData>) => void;\n onResourceClick?: (\n resource: ActivityResourceRef,\n config: ActivityResourceConfig | undefined,\n activity: ActivityItem<TData>,\n ) => void;\n /** Live registry lookup for resource segments. */\n getResourceConfig?: (\n ref: ActivityResourceRef,\n ) => ActivityResourceConfig | undefined;\n}\n\nfunction ActorNode<TData>({\n actorId,\n text,\n href,\n activity,\n youLabel,\n currentUserId,\n onActorClick,\n}: {\n actorId?: string;\n text: string;\n href?: string;\n activity: ActivityItem<TData>;\n youLabel: string;\n currentUserId?: string;\n onActorClick?: (actor: ActivityActor, activity: ActivityItem<TData>) => void;\n}) {\n const isYou =\n currentUserId !== undefined &&\n actorId !== undefined &&\n currentUserId === actorId;\n const display = isYou ? youLabel : text;\n const actor: ActivityActor = activity.actor ?? { id: actorId, name: text };\n\n if (href) {\n return (\n <a\n href={href}\n onClick={(e) => {\n if (onActorClick) {\n e.preventDefault();\n e.stopPropagation();\n onActorClick(actor, activity);\n }\n }}\n className=\"font-semibold text-foreground underline-offset-2 hover:underline\"\n >\n {display}\n </a>\n );\n }\n\n if (onActorClick) {\n return (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onActorClick(actor, activity);\n }}\n className=\"font-semibold text-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded\"\n >\n {display}\n </button>\n );\n }\n\n return (\n <Text tag=\"span\" weight=\"semibold\">\n {display}\n </Text>\n );\n}\n\nfunction renderSegments<TData>(\n segments: readonly ActivityHeadlineSegment[],\n props: ActivityHeadlineProps<TData>,\n): ReactNode {\n return segments.map((segment, index) => {\n const key = `seg-${index}-${segment.type}`;\n switch (segment.type) {\n case 'actor':\n return (\n <Fragment key={key}>\n <ActorNode<TData>\n actorId={segment.actorId}\n text={segment.text}\n href={segment.href}\n activity={props.activity}\n youLabel={props.youLabel}\n currentUserId={props.currentUserId}\n onActorClick={props.onActorClick}\n />{' '}\n </Fragment>\n );\n case 'field':\n case 'value':\n return (\n <Fragment key={key}>\n <Text tag=\"span\" weight=\"semibold\">\n {segment.text}\n </Text>{' '}\n </Fragment>\n );\n case 'status':\n return (\n <Fragment key={key}>\n <Badge\n inline\n variant={TONE_TO_BADGE_VARIANT[segment.tone ?? 'neutral']}\n >\n {segment.text}\n </Badge>{' '}\n </Fragment>\n );\n case 'resource': {\n const config = props.getResourceConfig?.(segment.resource);\n return (\n <Fragment key={key}>\n <ActivityResourceTag\n resource={segment.resource}\n config={config}\n fallbackText={segment.text}\n onClick={\n props.onResourceClick\n ? () =>\n props.onResourceClick?.(\n segment.resource,\n config,\n props.activity,\n )\n : undefined\n }\n />{' '}\n </Fragment>\n );\n }\n case 'text':\n default:\n return (\n <Fragment key={key}>\n <Text tag=\"span\">\n {segment.text}\n </Text>{' '}\n </Fragment>\n );\n }\n });\n}\n\nfunction renderFallback<TData>(props: ActivityHeadlineProps<TData>): ReactNode {\n const { activity } = props;\n const fallbackHeadline =\n activity.headline ?? activity.event;\n const actorName = activity.actor?.name;\n if (!actorName || !fallbackHeadline.includes(actorName)) {\n return (\n <Text tag=\"span\">\n {fallbackHeadline}\n </Text>\n );\n }\n const [before, ...after] = fallbackHeadline.split(actorName);\n return (\n <>\n {!!before && (\n <Text tag=\"span\">\n {before}\n </Text>\n )}\n <ActorNode<TData>\n actorId={activity.actor?.id}\n text={actorName}\n href={activity.actor?.href}\n activity={activity}\n youLabel={props.youLabel}\n currentUserId={props.currentUserId}\n onActorClick={props.onActorClick}\n />\n {after.length > 0 && (\n <Text tag=\"span\">\n {after.join(actorName)}\n </Text>\n )}\n </>\n );\n}\n\nexport function ActivityHeadline<TData = unknown>(\n props: ActivityHeadlineProps<TData>,\n) {\n const segments = props.activity.segments;\n if (segments && segments.length > 0) {\n return (\n <span className=\"leading-snug [&>span]:leading-snug\">\n {renderSegments<TData>(segments, props)}\n </span>\n );\n }\n return <span className=\"leading-snug\">{renderFallback<TData>(props)}</span>;\n}\n","/**\n * ActivityMarker — left-edge visual for a row.\n *\n * Density mapping:\n * - `compact` → small tone-coloured dot\n * - `default` → 22px tone-tinted square with the event icon\n * - `rich` → 28px tone-tinted circle with the event icon\n *\n * Always renders the connector line beneath unless `isLast` is true.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nimport type { ActivityDensity, ActivityTone } from '../activities.types';\n\nimport { ACTIVITY_TONE } from './tone-tokens';\n\nexport interface ActivityMarkerProps {\n icon: LucideIcon;\n tone: ActivityTone;\n density: ActivityDensity;\n isLast: boolean;\n}\n\nexport function ActivityMarker({\n icon: Icon,\n tone,\n density,\n isLast,\n}: ActivityMarkerProps) {\n const palette = ACTIVITY_TONE[tone];\n\n if (density === 'compact') {\n return (\n <div className=\"flex flex-col items-center\">\n <span\n aria-hidden\n className={cn('mt-1.5 size-2 shrink-0 rounded-full', palette.dot)}\n />\n {!isLast && (\n <span aria-hidden className={cn('mt-1 w-px flex-1', palette.line)} />\n )}\n </div>\n );\n }\n\n if (density === 'rich') {\n return (\n <div className=\"flex flex-col items-center\">\n <span\n className={cn(\n 'flex size-7 shrink-0 items-center justify-center rounded-full ring-1 ring-border/60',\n palette.bg,\n palette.fg,\n )}\n >\n <Icon className=\"size-3.5\" />\n </span>\n {!isLast && (\n <span aria-hidden className={cn('mt-1 w-px flex-1', palette.line)} />\n )}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col items-center\">\n <span\n className={cn(\n 'flex size-5 shrink-0 items-center justify-center rounded-full',\n palette.bg,\n palette.fg,\n )}\n >\n <Icon className=\"size-3\" />\n </span>\n {!isLast && (\n <span aria-hidden className={cn('mt-1 w-px flex-1', palette.line)} />\n )}\n </div>\n );\n}\n","/**\n * ActivityRow — single row layout used by `<ActivityFeed />`.\n *\n * Composes the marker, headline, optional description, metadata chips,\n * source badge, timestamp, and (rich-only) the change-detail block plus\n * action menu. Per-density layout follows the design-system rules:\n * compact (dot, single line) / default (icon, headline + meta line) /\n * rich (icon, full header + body + actions).\n */\nimport { ChevronDown, ChevronRight } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type {\n ActivityAction,\n ActivityActor,\n ActivityDensity,\n ActivityEventConfig,\n ActivityItem,\n ActivityResourceConfig,\n ActivityResourceRef,\n ActivityTone,\n} from '../activities.types';\n\nimport { ActivityActionsMenu } from './activity-actions-menu';\nimport { ActivityChanges } from './activity-changes';\nimport { ActivityHeadline } from './activity-headline';\nimport { ActivityMarker } from './activity-marker';\nimport { ActivityResourceTag } from './activity-resource-tag';\n\nexport interface ActivityRowProps<TData = unknown> {\n activity: ActivityItem<TData>;\n density: ActivityDensity;\n eventConfig: ActivityEventConfig;\n tone: ActivityTone;\n isLast: boolean;\n expanded: boolean;\n onToggleExpanded: () => void;\n relativeTime: string | null;\n absoluteTime: string | null;\n sourceLabel: string | null;\n youLabel: string;\n showChangesLabel: string;\n hideChangesLabel: string;\n actionsLabel: string;\n currentUserId?: string;\n actions: readonly ActivityAction<TData>[];\n onActivityClick?: (activity: ActivityItem<TData>) => void;\n onActorClick?: (actor: ActivityActor, activity: ActivityItem<TData>) => void;\n onResourceClick?: (\n resource: ActivityResourceRef,\n config: ActivityResourceConfig | undefined,\n activity: ActivityItem<TData>,\n ) => void;\n onAction?: (actionId: string, activity: ActivityItem<TData>) => void;\n getResourceConfig?: (\n ref: ActivityResourceRef,\n ) => ActivityResourceConfig | undefined;\n /** Slot override for the headline only. */\n headlineOverride?: ReactNode;\n /** Slot override for the marker only. */\n markerOverride?: ReactNode;\n}\n\nexport function ActivityRow<TData = unknown>(props: ActivityRowProps<TData>) {\n const {\n activity,\n density,\n eventConfig,\n tone,\n isLast,\n expanded,\n onToggleExpanded,\n relativeTime,\n absoluteTime,\n sourceLabel,\n youLabel,\n showChangesLabel,\n hideChangesLabel,\n actionsLabel,\n currentUserId,\n actions,\n onActivityClick,\n onActorClick,\n onResourceClick,\n onAction,\n getResourceConfig,\n headlineOverride,\n markerOverride,\n } = props;\n\n const Icon = activity.iconOverride ?? eventConfig.icon;\n const hasChanges = (activity.changes?.length ?? 0) > 0;\n const hasMetadata = (activity.metadata?.length ?? 0) > 0;\n const hasResources = (activity.resources?.length ?? 0) > 0;\n const hasDescription =\n activity.description !== undefined &&\n activity.description !== null &&\n activity.description !== '';\n const showSecondaryRow = density !== 'compact';\n const showRichBody = density === 'rich';\n\n const headlineNode =\n headlineOverride ??\n (\n <ActivityHeadline<TData>\n activity={activity}\n currentUserId={currentUserId}\n youLabel={youLabel}\n onActorClick={onActorClick}\n onResourceClick={onResourceClick}\n getResourceConfig={getResourceConfig}\n />\n );\n\n const markerNode =\n markerOverride ?? (\n <ActivityMarker\n icon={Icon}\n tone={tone}\n density={density}\n isLast={isLast}\n />\n );\n\n const interactive = typeof onActivityClick === 'function';\n\n return (\n <div\n className={cn(\n 'relative flex gap-3',\n interactive && 'cursor-pointer rounded-md hover:bg-muted/40',\n )}\n onClick={interactive ? () => onActivityClick?.(activity) : undefined}\n role={interactive ? 'button' : undefined}\n tabIndex={interactive ? 0 : undefined}\n onKeyDown={\n interactive\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onActivityClick?.(activity);\n }\n }\n : undefined\n }\n >\n {markerNode}\n\n <div\n className={cn(\n 'min-w-0 flex-1',\n !isLast && (density === 'rich' ? 'pb-4' : density === 'compact' ? 'pb-2.5' : 'pb-3'),\n )}\n >\n <div className=\"flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between sm:gap-3\">\n <div className=\"flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-1\">\n <Text tag=\"span\" lineHeight=\"snug\">\n {headlineNode}\n </Text>\n {!!sourceLabel && (\n <Badge inline variant=\"secondary\">\n {sourceLabel}\n </Badge>\n )}\n {showRichBody && hasChanges && (\n <Button\n type=\"button\"\n size=\"icon-xs\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n className=\"h-5 w-5 text-muted-foreground\"\n onClick={(e) => {\n e.stopPropagation();\n onToggleExpanded();\n }}\n title={expanded ? hideChangesLabel : showChangesLabel}\n aria-label={expanded ? hideChangesLabel : showChangesLabel}\n aria-expanded={expanded}\n >\n {expanded ? (\n <ChevronDown className=\"size-3.5\" />\n ) : (\n <ChevronRight className=\"size-3.5\" />\n )}\n </Button>\n )}\n </div>\n\n <div className=\"flex shrink-0 items-center gap-1\">\n {!!relativeTime && (\n <Text\n size=\"xs\"\n type=\"secondary\"\n className=\"whitespace-nowrap tabular-nums pt-0.5\"\n title={absoluteTime ?? undefined}\n >\n {relativeTime}\n </Text>\n )}\n {showRichBody && actions.length > 0 && (\n <ActivityActionsMenu<TData>\n activity={activity}\n actions={actions}\n onAction={onAction}\n label={actionsLabel}\n />\n )}\n </div>\n </div>\n\n {!!showSecondaryRow && hasDescription && (\n <Text tag=\"div\" size=\"xs\" type=\"secondary\" className=\"mt-1\">\n {activity.description}\n </Text>\n )}\n\n {!!showRichBody && hasMetadata && activity.metadata && (\n <div className=\"mt-2 flex flex-wrap gap-x-3 gap-y-1\">\n {activity.metadata.map((m) => (\n <Text key={m.label} size=\"xs\" type=\"secondary\">\n <Text tag=\"span\" size=\"xs\" type=\"discrete\">\n {m.label}:{' '}\n </Text>\n {m.value}\n </Text>\n ))}\n </div>\n )}\n\n {!!showRichBody && hasResources && activity.resources && (\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n {activity.resources.map((res) => {\n const cfg = getResourceConfig?.(res);\n return (\n <ActivityResourceTag\n key={res.key}\n resource={res}\n config={cfg}\n onClick={\n onResourceClick\n ? () =>\n onResourceClick(\n res,\n cfg,\n activity,\n )\n : undefined\n }\n />\n );\n })}\n </div>\n )}\n\n {!!showRichBody && hasChanges && expanded && activity.changes && (\n <div className=\"mt-2\">\n <ActivityChanges changes={activity.changes} />\n </div>\n )}\n </div>\n </div>\n );\n}\n","/**\n * ActivityFeed — framework-agnostic activity timeline.\n *\n * Composition seams:\n * - `strings` — deep-partial override of every label\n * - `eventConfig` — mass-configurable per-event icon/tone/labels\n * - `slots` — replace any region (row / headline / marker /\n * dateLabel / empty / loading / header / footer)\n * - `slots.renderRow` — full per-row override\n * - `accessors` — formatRelative/Absolute, getEventLabel, …\n * - `actionsForActivity` — surface a per-row action menu (rich density)\n * - `resources` + `onResourcesChange` — registry-driven rich resource\n * tags (icons, badges, links, tags) with save\n * and restore semantics for the consumer\n *\n * Headless usage:\n * - Call `useActivityFeed({ activities, ... })` directly to drive a\n * completely custom UI against the same grouping/expand state machine.\n * - Call `useActivityResources({ resources, onResourcesChange })` to\n * drive the registry independently.\n *\n * Framework-agnostic:\n * - No router import, no i18n SDK import. Wire actor / resource navigation\n * via callbacks at the call site.\n */\nimport { useMemo, type ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { useDatesConfig } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultActivityEventConfig,\n resolveEventConfig,\n} from './activities.config';\nimport {\n defaultActivitiesStrings,\n type ActivitiesStrings,\n} from './activities.strings';\nimport type {\n ActivityAction,\n ActivityFeedProps,\n ActivityItem,\n ActivityRenderRowContext,\n ActivityTone,\n} from './activities.types';\nimport { useActivityFeed } from './hooks/use-activity-feed';\nimport { useActivityResources } from './hooks/use-activity-resources';\nimport {\n ActivityDateLabel,\n ActivityEmptyState,\n ActivityRow,\n} from './partials';\n\nfunction defaultFormatAbsolute(iso: string, locale?: string): string {\n try {\n return new Intl.DateTimeFormat(locale, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }).format(new Date(iso));\n } catch {\n return iso;\n }\n}\n\nfunction resolveTone<TData>(\n activity: ActivityItem<TData>,\n eventTone: ActivityTone,\n): ActivityTone {\n return activity.toneOverride ?? eventTone;\n}\n\nexport function ActivityFeed<TData = unknown>(props: ActivityFeedProps<TData>) {\n const {\n activities = [],\n density = 'default',\n groupByDate = true,\n expandedByDefault = false,\n currentUserId,\n loading = false,\n eventConfig: eventConfigOverride,\n strings: stringsProp,\n slots,\n className,\n locale,\n // accessors\n formatRelativeTime,\n formatAbsoluteTime,\n formatDateGroupLabel,\n getEventLabel: _getEventLabel,\n getSourceLabel,\n actionsForActivity,\n // callbacks\n onActivityClick,\n onActorClick,\n onResourceClick,\n onAction,\n // resources\n resources,\n onResourcesChange,\n } = props;\n\n const strings: ActivitiesStrings = useMemo<ActivitiesStrings>(\n () => ({\n ...defaultActivitiesStrings,\n ...stringsProp,\n sources: {\n ...defaultActivitiesStrings.sources,\n ...(stringsProp?.sources ?? {}),\n },\n events: {\n ...defaultActivitiesStrings.events,\n ...(stringsProp?.events ?? {}),\n },\n }),\n [stringsProp],\n );\n\n const eventConfigMap = useMemo(\n () => ({ ...defaultActivityEventConfig, ...eventConfigOverride }),\n [eventConfigOverride],\n );\n\n const registry = useActivityResources({\n resources,\n onResourcesChange,\n });\n\n const feed = useActivityFeed<TData>({\n activities,\n groupByDate,\n expandedByDefault,\n locale,\n strings,\n formatDateGroupLabel,\n });\n\n const { formatRelativeTime: storeFormatRelative } = useDatesConfig();\n const fmtRelative = formatRelativeTime ?? storeFormatRelative ?? ((iso: string) => iso);\n const fmtAbsolute = formatAbsoluteTime ?? ((iso: string) => defaultFormatAbsolute(iso, locale));\n\n if (loading) {\n return (\n <div className={cn('activities-feed--component', 'px-2 py-4', className)}>\n {slots?.loading ?? (\n <Text type=\"secondary\" align=\"center\">\n {strings.loading}\n </Text>\n )}\n </div>\n );\n }\n\n if (activities.length === 0) {\n return (\n <div className={cn('px-2 py-2', className)}>\n {slots?.empty ?? <ActivityEmptyState title={strings.empty} />}\n </div>\n );\n }\n\n const totalRendered = feed.groups.reduce((acc, g) => acc + g.items.length, 0);\n let renderedSoFar = 0;\n\n return (\n <div className={cn('flex flex-col', className)}>\n {!!slots?.header && <div className=\"mb-3\">{slots.header}</div>}\n\n <div className=\"flex flex-col\">\n {feed.groups.map((group, gi) => {\n const isFirstGroup = gi === 0;\n return (\n <div key={`${group.label}-${gi}`} className={cn(isFirstGroup ? '' : 'mt-1')}>\n {slots?.renderDateLabel\n ? slots.renderDateLabel(group.label, isFirstGroup)\n : (\n <ActivityDateLabel\n label={group.label}\n isFirst={isFirstGroup}\n className={isFirstGroup ? '' : 'mb-2'}\n />\n )}\n\n <div className={cn('flex flex-col', !!group.label && 'mt-2')}>\n {group.items.map((keyed, ii) => {\n const activity = keyed.activity;\n const isFirstInGroup = ii === 0;\n const isLast =\n ++renderedSoFar === totalRendered;\n const eventCfg = resolveEventConfig(\n activity.event,\n eventConfigMap,\n );\n const tone = resolveTone(activity, eventCfg.tone);\n const relativeTime = activity.timestamp\n ?? (activity.createdAt\n ? fmtRelative(activity.createdAt)\n : null);\n const absoluteTime = activity.createdAt\n ? fmtAbsolute(activity.createdAt)\n : null;\n const sourceLabel = activity.source\n ? (getSourceLabel?.(activity.source)\n ?? strings.sources[activity.source]\n ?? eventCfg.sourceLabel\n ?? null)\n : eventCfg.sourceLabel ?? null;\n const sourceLabelTrimmed =\n sourceLabel && sourceLabel.trim().length > 0\n ? sourceLabel\n : null;\n const actions: readonly ActivityAction<TData>[] =\n actionsForActivity?.(activity) ?? [];\n\n const ctx: ActivityRenderRowContext<TData> = {\n density,\n isLast,\n isFirstInGroup,\n activity,\n eventConfig: eventCfg,\n tone,\n relativeTime,\n absoluteTime,\n sourceLabel: sourceLabelTrimmed,\n expanded: feed.isExpanded(activity.id),\n toggleExpanded: () =>\n feed.toggleExpanded(activity.id),\n };\n\n const customRow = slots?.renderRow?.(activity, ctx);\n if (customRow !== undefined) {\n return (\n <div key={keyed.key}>{customRow}</div>\n );\n }\n\n const headlineOverride =\n slots?.renderHeadline?.(activity, ctx);\n const markerOverride =\n slots?.renderMarker?.(activity, ctx);\n\n return (\n <ActivityRow<TData>\n key={keyed.key}\n activity={activity}\n density={density}\n eventConfig={eventCfg}\n tone={tone}\n isLast={isLast}\n expanded={ctx.expanded}\n onToggleExpanded={ctx.toggleExpanded}\n relativeTime={relativeTime}\n absoluteTime={absoluteTime}\n sourceLabel={sourceLabelTrimmed}\n youLabel={strings.you}\n showChangesLabel={strings.showChanges}\n hideChangesLabel={strings.hideChanges}\n actionsLabel={strings.actionsLabel}\n currentUserId={currentUserId}\n actions={actions}\n onActivityClick={onActivityClick}\n onActorClick={onActorClick}\n onResourceClick={onResourceClick}\n onAction={onAction}\n getResourceConfig={(ref) =>\n registry.get(ref)\n }\n headlineOverride={\n headlineOverride as ReactNode | undefined\n }\n markerOverride={\n markerOverride as ReactNode | undefined\n }\n />\n );\n })}\n </div>\n </div>\n );\n })}\n </div>\n\n {!!slots?.footer && <div className=\"mt-3\">{slots.footer}</div>}\n </div>\n );\n}\n\nActivityFeed.displayName = 'ActivityFeed';\n","/**\n * ActivityFeedCard — `<ActivityFeed />` wrapped in `SmartCard`.\n *\n * Use this when you want the canonical card chrome (title + description +\n * actions menu + content padding). For embedded surfaces (sidebars, panels)\n * use `<ActivityFeed />` directly.\n */\nimport { Activity } from 'lucide-react';\n\nimport { SmartCard } from '@/components/base/cards';\n\nimport { ActivityFeed } from '../activities-feed';\nimport {\n defaultActivitiesStrings,\n type ActivitiesStrings,\n} from '../activities.strings';\nimport type { ActivityFeedCardProps } from '../activities.types';\n\nexport function ActivityFeedCard<TData = unknown>({\n title,\n titleSuffix,\n description,\n padding = 'base',\n composerSlot,\n className,\n strings: stringsProp,\n slots,\n ...feedProps\n}: ActivityFeedCardProps<TData>) {\n const strings: ActivitiesStrings = {\n ...defaultActivitiesStrings,\n ...stringsProp,\n sources: {\n ...defaultActivitiesStrings.sources,\n ...(stringsProp?.sources ?? {}),\n },\n events: {\n ...defaultActivitiesStrings.events,\n ...(stringsProp?.events ?? {}),\n },\n };\n\n const cardTitle = title ?? strings.title;\n\n return (\n <SmartCard\n icon={<Activity className=\"size-4\" />}\n title={cardTitle}\n titleSuffix={titleSuffix}\n description={description}\n padding={padding}\n className={className}\n >\n <ActivityFeed<TData>\n {...feedProps}\n strings={stringsProp}\n slots={{\n ...slots,\n header: composerSlot ?? slots?.header,\n }}\n />\n </SmartCard>\n );\n}\n\nActivityFeedCard.displayName = 'ActivityFeedCard';\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as e } from "../../../_shared/ui-provider-
|
|
1
|
+
import { a as e } from "../../../_shared/ui-provider-CQJ1glwN.js";
|
|
2
2
|
import { cn as t } from "../../../lib/utils.js";
|
|
3
|
-
import { t as n } from "../../../_shared/text-
|
|
4
|
-
import { t as r } from "../../../_shared/badge-
|
|
5
|
-
import { t as i } from "../../../_shared/button-
|
|
6
|
-
import { t as a } from "../../../_shared/smart-card-
|
|
7
|
-
import { a as o, g as s, r as c, t as l } from "../../../_shared/dropdown-menu-
|
|
3
|
+
import { t as n } from "../../../_shared/text-qsEg5GdP.js";
|
|
4
|
+
import { t as r } from "../../../_shared/badge-BK5VvEgg.js";
|
|
5
|
+
import { t as i } from "../../../_shared/button-cnkCF8q8.js";
|
|
6
|
+
import { t as a } from "../../../_shared/smart-card-eBfUvQ9r.js";
|
|
7
|
+
import { a as o, g as s, r as c, t as l } from "../../../_shared/dropdown-menu-CoWmrjYX.js";
|
|
8
8
|
import { Fragment as u, useCallback as d, useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
|
|
9
9
|
import { isToday as g, isYesterday as _ } from "date-fns";
|
|
10
10
|
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
@@ -707,7 +707,7 @@ function ge(e) {
|
|
|
707
707
|
className: t("min-w-0 flex-1", !l && (o === "rich" ? "pb-4" : o === "compact" ? "pb-2.5" : "pb-3")),
|
|
708
708
|
children: [
|
|
709
709
|
/* @__PURE__ */ b("div", {
|
|
710
|
-
className: "flex items-start justify-between gap-3",
|
|
710
|
+
className: "flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between sm:gap-3",
|
|
711
711
|
children: [/* @__PURE__ */ b("div", {
|
|
712
712
|
className: "flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-1",
|
|
713
713
|
children: [
|