admin-ui-starter-kit 0.4.2 → 0.4.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 +10 -0
- package/.agents/skills/admin-ui-consumer-migration/references/actions-service.md +236 -0
- package/.agents/skills/component-library-rules/SKILL.md +7 -1
- package/.agents/skills/component-library-rules/references/base-wrapper.md +24 -4
- package/.agents/skills/component-library-rules/references/components/INDEX.json +4 -3
- package/.agents/skills/component-library-rules/references/components/INDEX.md +4 -3
- package/.agents/skills/component-library-rules/references/components/ui__inputs.md +117 -18
- package/.agents/skills/component-library-rules/references/components/ui__layout-primitives.md +71 -0
- package/.agents/skills/component-library-rules/references/components/ui__menus.md +125 -43
- package/.agents/skills/component-library-rules/references/components/ui__overlays.md +117 -42
- package/AGENTS.md +7 -4
- package/CHANGELOG.md +26 -1
- package/COMPONENT_SELECTION.md +10 -1
- package/INTEGRATION.md +47 -0
- package/README.md +62 -5
- package/dist/_shared/accordion-Df1XrCDv.cjs +2 -0
- package/dist/_shared/accordion-Df1XrCDv.cjs.map +1 -0
- package/dist/_shared/accordion-Rzi9wEl6.js +130 -0
- package/dist/_shared/accordion-Rzi9wEl6.js.map +1 -0
- package/dist/_shared/action-menu-CrOJ63Q9.js +96 -0
- package/dist/_shared/action-menu-CrOJ63Q9.js.map +1 -0
- package/dist/_shared/action-menu-D9OowHKx.cjs +2 -0
- package/dist/_shared/action-menu-D9OowHKx.cjs.map +1 -0
- package/dist/_shared/ai-artifact-D4EjKoq6.cjs +3 -0
- package/dist/_shared/ai-artifact-D4EjKoq6.cjs.map +1 -0
- package/dist/_shared/ai-artifact-nlOrSeqT.js +1099 -0
- package/dist/_shared/ai-artifact-nlOrSeqT.js.map +1 -0
- package/dist/_shared/auth-C5HawWvp.cjs +2 -0
- package/dist/_shared/auth-C5HawWvp.cjs.map +1 -0
- package/dist/_shared/auth-DnMEJXP9.js +643 -0
- package/dist/_shared/auth-DnMEJXP9.js.map +1 -0
- package/dist/_shared/badge-6WYAMJwA.js +108 -0
- package/dist/_shared/badge-6WYAMJwA.js.map +1 -0
- package/dist/_shared/badge-CBof1rbF.cjs +2 -0
- package/dist/_shared/badge-CBof1rbF.cjs.map +1 -0
- package/dist/_shared/button-BGKY8UY0.js +173 -0
- package/dist/_shared/button-BGKY8UY0.js.map +1 -0
- package/dist/_shared/button-BI347RlM.cjs +2 -0
- package/dist/_shared/button-BI347RlM.cjs.map +1 -0
- package/dist/_shared/button-DEFoa7-c.cjs +2 -0
- package/dist/_shared/button-DEFoa7-c.cjs.map +1 -0
- package/dist/_shared/button-DlqryxqA.js +46 -0
- package/dist/_shared/button-DlqryxqA.js.map +1 -0
- package/dist/_shared/buttons-PL-TGJ32.js +143 -0
- package/dist/_shared/buttons-PL-TGJ32.js.map +1 -0
- package/dist/_shared/buttons-kVvSD_oI.cjs +2 -0
- package/dist/_shared/buttons-kVvSD_oI.cjs.map +1 -0
- package/dist/_shared/combobox-B4KmDZK0.cjs +2 -0
- package/dist/_shared/combobox-B4KmDZK0.cjs.map +1 -0
- package/dist/_shared/combobox-YUGi3xSc.js +810 -0
- package/dist/_shared/combobox-YUGi3xSc.js.map +1 -0
- package/dist/_shared/comments-GzXdwpq4.js +952 -0
- package/dist/_shared/comments-GzXdwpq4.js.map +1 -0
- package/dist/_shared/comments-Zj_foV1V.cjs +2 -0
- package/dist/_shared/comments-Zj_foV1V.cjs.map +1 -0
- package/dist/_shared/date-picker-Dl91BM3D.js +1361 -0
- package/dist/_shared/date-picker-Dl91BM3D.js.map +1 -0
- package/dist/_shared/date-picker-zFOqtmAS.cjs +2 -0
- package/dist/_shared/date-picker-zFOqtmAS.cjs.map +1 -0
- package/dist/_shared/date-pickers-BBydcIjN.cjs +2 -0
- package/dist/_shared/date-pickers-BBydcIjN.cjs.map +1 -0
- package/dist/_shared/date-pickers-D2OsgV4V.js +330 -0
- package/dist/_shared/date-pickers-D2OsgV4V.js.map +1 -0
- package/dist/_shared/dialog-CCN4tjU9.js +101 -0
- package/dist/_shared/dialog-CCN4tjU9.js.map +1 -0
- package/dist/_shared/dialog-Dd0ENSrU.cjs +2 -0
- package/dist/_shared/dialog-Dd0ENSrU.cjs.map +1 -0
- package/dist/_shared/display-Dhy5ogxC.cjs +2 -0
- package/dist/_shared/display-Dhy5ogxC.cjs.map +1 -0
- package/dist/_shared/display-NBtWdAMl.js +1154 -0
- package/dist/_shared/display-NBtWdAMl.js.map +1 -0
- package/dist/_shared/forms-BweX9Lm8.cjs +2 -0
- package/dist/_shared/forms-BweX9Lm8.cjs.map +1 -0
- package/dist/_shared/forms-L1hyNKpZ.js +3430 -0
- package/dist/_shared/forms-L1hyNKpZ.js.map +1 -0
- package/dist/_shared/header-BSBPtGn4.cjs +2 -0
- package/dist/_shared/header-BSBPtGn4.cjs.map +1 -0
- package/dist/_shared/header-No6GSp4R.js +360 -0
- package/dist/_shared/header-No6GSp4R.js.map +1 -0
- package/dist/_shared/hooks-BkXvZ4py.js +118 -0
- package/dist/_shared/hooks-BkXvZ4py.js.map +1 -0
- package/dist/_shared/hooks-D3SbLBRk.cjs +2 -0
- package/dist/_shared/hooks-D3SbLBRk.cjs.map +1 -0
- package/dist/_shared/mentions-CA1Ka_Bv.cjs +2 -0
- package/dist/_shared/mentions-CA1Ka_Bv.cjs.map +1 -0
- package/dist/_shared/mentions-CdvvLGQG.js +506 -0
- package/dist/_shared/mentions-CdvvLGQG.js.map +1 -0
- package/dist/_shared/metadata-Ckcmar8d.js +235 -0
- package/dist/_shared/metadata-Ckcmar8d.js.map +1 -0
- package/dist/_shared/metadata-DamdYVZL.cjs +2 -0
- package/dist/_shared/metadata-DamdYVZL.cjs.map +1 -0
- package/dist/_shared/navigation-BemwPPC8.cjs +2 -0
- package/dist/_shared/navigation-BemwPPC8.cjs.map +1 -0
- package/dist/_shared/navigation-DY540HB0.js +419 -0
- package/dist/_shared/navigation-DY540HB0.js.map +1 -0
- package/dist/_shared/overlays-CJs_syAu.js +648 -0
- package/dist/_shared/overlays-CJs_syAu.js.map +1 -0
- package/dist/_shared/overlays-DWFEaAog.cjs +2 -0
- package/dist/_shared/overlays-DWFEaAog.cjs.map +1 -0
- package/dist/_shared/page-Cg_gNpyK.js +262 -0
- package/dist/_shared/page-Cg_gNpyK.js.map +1 -0
- package/dist/_shared/page-CpFWQuWU.cjs +2 -0
- package/dist/_shared/page-CpFWQuWU.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-B2VqNi6j.js +620 -0
- package/dist/_shared/rich-text-editor-B2VqNi6j.js.map +1 -0
- package/dist/_shared/rich-text-editor-ChE-pI3N.cjs +2 -0
- package/dist/_shared/rich-text-editor-ChE-pI3N.cjs.map +1 -0
- package/dist/_shared/sheet-BOgUA4fC.cjs +2 -0
- package/dist/_shared/sheet-BOgUA4fC.cjs.map +1 -0
- package/dist/_shared/sheet-DWQuyRRz.js +100 -0
- package/dist/_shared/sheet-DWQuyRRz.js.map +1 -0
- package/dist/_shared/sidebar-BGpi9K_Q.js +389 -0
- package/dist/_shared/sidebar-BGpi9K_Q.js.map +1 -0
- package/dist/_shared/sidebar-BTFfxmNG.cjs +2 -0
- package/dist/_shared/sidebar-BTFfxmNG.cjs.map +1 -0
- package/dist/_shared/sidebar-CC3lcvNX.cjs +2 -0
- package/dist/_shared/sidebar-CC3lcvNX.cjs.map +1 -0
- package/dist/_shared/sidebar-wmztVpnO.js +538 -0
- package/dist/_shared/sidebar-wmztVpnO.js.map +1 -0
- package/dist/_shared/smart-card-B6m7tmt0.cjs +2 -0
- package/dist/_shared/smart-card-B6m7tmt0.cjs.map +1 -0
- package/dist/_shared/smart-card-thLb85Ih.js +361 -0
- package/dist/_shared/smart-card-thLb85Ih.js.map +1 -0
- package/dist/_shared/table-BItnJ8lG.cjs +2 -0
- package/dist/_shared/table-BItnJ8lG.cjs.map +1 -0
- package/dist/_shared/table-D3349b-v.js +1189 -0
- package/dist/_shared/table-D3349b-v.js.map +1 -0
- package/dist/_shared/workspace-BGVeTeJy.js +357 -0
- package/dist/_shared/workspace-BGVeTeJy.js.map +1 -0
- package/dist/_shared/workspace-CWyzTUmE.cjs +2 -0
- package/dist/_shared/workspace-CWyzTUmE.cjs.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +1 -1
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/index.js +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/alert.d.ts +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +6 -6
- package/dist/components/base/display/metadata/index.cjs +1 -1
- package/dist/components/base/display/metadata/index.js +1 -1
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.js +41 -41
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +31 -31
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +2 -2
- 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 +5 -3
- package/dist/components/base/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.js +47 -47
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +105 -105
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.js +89 -89
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.js +116 -116
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.js +127 -127
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +37 -37
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +3 -3
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +55 -55
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +1 -1
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +2 -2
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +56 -56
- package/dist/components/features/ai-chat/index.cjs +2 -2
- package/dist/components/features/ai-chat/index.js +53 -53
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +21 -21
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +3 -3
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.js +143 -143
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +57 -57
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +14 -14
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.js +178 -178
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +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/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/overlays/overlays.types.d.ts +1 -0
- package/dist/components/features/overlays/overlays.types.d.ts.map +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.js +124 -124
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +26 -26
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/header/partials/header-search.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.js +6 -6
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.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/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/ui/alert-dialog.d.ts +19 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert.d.ts +1 -1
- package/dist/components/ui/aspect-ratio.d.ts +5 -0
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/carousel.d.ts +29 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/direction.d.ts +2 -0
- package/dist/components/ui/direction.d.ts.map +1 -0
- package/dist/components/ui/drawer.d.ts +14 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/field.d.ts +25 -0
- package/dist/components/ui/field.d.ts.map +1 -0
- package/dist/components/ui/input-otp.d.ts +12 -0
- package/dist/components/ui/input-otp.d.ts.map +1 -0
- package/dist/components/ui/kbd.d.ts +4 -0
- package/dist/components/ui/kbd.d.ts.map +1 -0
- package/dist/components/ui/label.d.ts +4 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/menubar.d.ts +30 -0
- package/dist/components/ui/menubar.d.ts.map +1 -0
- package/dist/components/ui/native-select.d.ts +9 -0
- package/dist/components/ui/native-select.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu.d.ts +12 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/components/ui/resizable.d.ts +8 -0
- package/dist/components/ui/resizable.d.ts.map +1 -0
- package/dist/services/actions/action-overlay-outlet.d.ts +4 -0
- package/dist/services/actions/action-overlay-outlet.d.ts.map +1 -0
- package/dist/services/actions/action-provider.d.ts +8 -0
- package/dist/services/actions/action-provider.d.ts.map +1 -0
- package/dist/services/actions/action-scope.d.ts +4 -0
- package/dist/services/actions/action-scope.d.ts.map +1 -0
- package/dist/services/actions/action-store.d.ts +44 -0
- package/dist/services/actions/action-store.d.ts.map +1 -0
- package/dist/services/actions/actions.strings.d.ts +3 -0
- package/dist/services/actions/actions.strings.d.ts.map +1 -0
- package/dist/services/actions/actions.types.d.ts +248 -0
- package/dist/services/actions/actions.types.d.ts.map +1 -0
- package/dist/services/actions/hooks.d.ts +8 -0
- package/dist/services/actions/hooks.d.ts.map +1 -0
- package/dist/services/actions/index.cjs +2 -0
- package/dist/services/actions/index.cjs.map +1 -0
- package/dist/services/actions/index.d.ts +8 -0
- package/dist/services/actions/index.d.ts.map +1 -0
- package/dist/services/actions/index.js +562 -0
- package/dist/services/actions/index.js.map +1 -0
- package/dist/showcase/assets/AreaChart-BYEewdc_.js +6 -0
- package/dist/showcase/assets/CSPContext-B11tftuK.js +1 -0
- package/dist/showcase/assets/CompositeItem-Duekeg4m.js +1 -0
- package/dist/showcase/assets/CompositeRoot-BgNU3T7R.js +1 -0
- package/dist/showcase/assets/DialogTrigger-9xWmoeF5.js +1 -0
- package/dist/showcase/assets/FieldItemContext-BSFHjS7g.js +1 -0
- package/dist/showcase/assets/LabelableContext-B3W_70Qk.js +1 -0
- package/dist/showcase/assets/PreviewLayout-nADJqRlP.js +1 -0
- package/dist/showcase/assets/RadioGroup-Bp1VCzxr.js +1 -0
- package/dist/showcase/assets/Separator-9PWX3shz.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-DwELw9xS.js +1 -0
- package/dist/showcase/assets/accordion-CfqHO9_z.js +171 -0
- package/dist/showcase/assets/accordion-variants-pkPHxkLW.js +1 -0
- package/dist/showcase/assets/action-menu-DFzSuDjI.js +1 -0
- package/dist/showcase/assets/activities-Bo97b2-I.js +501 -0
- package/dist/showcase/assets/activities-feed-card-D77gf27B.js +1 -0
- package/dist/showcase/assets/activity-BUlCWLI8.js +1 -0
- package/dist/showcase/assets/admin-CxTV4kZX.js +80 -0
- package/dist/showcase/assets/ai-Bym5H8bn.js +41 -0
- package/dist/showcase/assets/ai-artifact-DZVl1WmK.js +2 -0
- package/dist/showcase/assets/ai-chat-M3X5-PgT.js +568 -0
- package/dist/showcase/assets/ai-elements-DjppcMBD.js +387 -0
- package/dist/showcase/assets/ai-new-CXnrIi5S.js +167 -0
- package/dist/showcase/assets/ai-tool-call-DyMI8DqD.js +1 -0
- package/dist/showcase/assets/alert-D6Pygy2s.js +62 -0
- package/dist/showcase/assets/alert-DCrWLbEx.js +93 -0
- package/dist/showcase/assets/alert-qTNM0vld.js +1 -0
- package/dist/showcase/assets/api-key-list-CCpuHYHc.js +73 -0
- package/dist/showcase/assets/app-sidebar-CxTRNC5L.js +1 -0
- package/dist/showcase/assets/arrow-down--phuskCV.js +1 -0
- package/dist/showcase/assets/arrow-left-B__WWqyA.js +1 -0
- package/dist/showcase/assets/arrow-right-1-EvXxjB.js +1 -0
- package/dist/showcase/assets/arrow-up-lWotnmo7.js +1 -0
- package/dist/showcase/assets/arrow-up-right-IyQ3oeq0.js +1 -0
- package/dist/showcase/assets/avatar-gugtNx4D.js +57 -0
- package/dist/showcase/assets/avatar-n1nywTlx.js +1 -0
- package/dist/showcase/assets/badge-TuE-u3Hv.js +28 -0
- package/dist/showcase/assets/badge-check-CPDvpVzK.js +1 -0
- package/dist/showcase/assets/bell-DeCVddCA.js +1 -0
- package/dist/showcase/assets/bot-B_vzJEJH.js +1 -0
- package/dist/showcase/assets/box-z4O8t_K5.js +1 -0
- package/dist/showcase/assets/brain-DdKBE4Bh.js +1 -0
- package/dist/showcase/assets/brand-CfW7mgTY.js +36 -0
- package/dist/showcase/assets/breadcrumb-B4TBbKv3.js +52 -0
- package/dist/showcase/assets/breadcrumb-bF_sFVBL.js +1 -0
- package/dist/showcase/assets/breadcrumbs-CBv3EaMX.js +1 -0
- package/dist/showcase/assets/briefcase-ClqzeNt3.js +1 -0
- package/dist/showcase/assets/building-2-BQuWgjZj.js +1 -0
- package/dist/showcase/assets/button-CWKNCI82.js +44 -0
- package/dist/showcase/assets/button-group-BYhxtFwV.js +1 -0
- package/dist/showcase/assets/buttons-mBRyBw3Q.js +270 -0
- package/dist/showcase/assets/calendar-BgloJjlW.js +1 -0
- package/dist/showcase/assets/calendar-CJDWspzi.js +1 -0
- package/dist/showcase/assets/calendar-CgML2kJt.js +16 -0
- package/dist/showcase/assets/calendar-days-C0gTLVnY.js +1 -0
- package/dist/showcase/assets/camera-nIlaz4Sn.js +1 -0
- package/dist/showcase/assets/card-1ncRnRvq.js +1 -0
- package/dist/showcase/assets/card-CcgWzFB-.js +188 -0
- package/dist/showcase/assets/card-primitives-By4-RTuP.js +1 -0
- package/dist/showcase/assets/card-radio-group-DeX3qsRg.js +1 -0
- package/dist/showcase/assets/cards-DdqQr8rY.js +328 -0
- package/dist/showcase/assets/carousel-CV8ltDl8.js +449 -0
- package/dist/showcase/assets/chart-BNzHjskC.js +358 -0
- package/dist/showcase/assets/chart-column-CpTxRLEH.js +1 -0
- package/dist/showcase/assets/checkbox-CZTTm4Dv.js +1 -0
- package/dist/showcase/assets/chevron-down-LWBNHe9S.js +1 -0
- package/dist/showcase/assets/chevron-left-BsshO7nf.js +1 -0
- package/dist/showcase/assets/chevron-right-t68um2_G.js +1 -0
- package/dist/showcase/assets/chevron-up-DjhlESJB.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-ZUo0Do59.js +1 -0
- package/dist/showcase/assets/circle-BL52dLr9.js +1 -0
- package/dist/showcase/assets/circle-alert-CXCt6zxc.js +1 -0
- package/dist/showcase/assets/circle-check-CbiRRw7s.js +1 -0
- package/dist/showcase/assets/circle-check-big-BSgn7lyt.js +1 -0
- package/dist/showcase/assets/circle-dot-WEOpGGJf.js +1 -0
- package/dist/showcase/assets/circle-question-mark-C9hLlsD7.js +1 -0
- package/dist/showcase/assets/circle-x-BT9TJbJC.js +1 -0
- package/dist/showcase/assets/clock-3-CfRK8ckc.js +1 -0
- package/dist/showcase/assets/clock-D-3zf0c1.js +1 -0
- package/dist/showcase/assets/code-xml-CQYKKuBU.js +1 -0
- package/dist/showcase/assets/collapsible-BC0hQvat.js +27 -0
- package/dist/showcase/assets/collapsible-CRVtVDCF.js +1 -0
- package/dist/showcase/assets/combobox-D4VYvYCT.js +696 -0
- package/dist/showcase/assets/command-CxeHT4lL.js +1 -0
- package/dist/showcase/assets/command-Do_t_Zou.js +1 -0
- package/dist/showcase/assets/comment-composer-DoFwvVlq.js +1 -0
- package/dist/showcase/assets/comment-item-CT8UbVeg.js +1 -0
- package/dist/showcase/assets/comments-CqdXrjUn.js +357 -0
- package/dist/showcase/assets/commerce-B9V2Wo_q.js +79 -0
- package/dist/showcase/assets/commerce-extras-CNT3QmAT.js +189 -0
- package/dist/showcase/assets/composite-BXLXcagx.js +1 -0
- package/dist/showcase/assets/contact-card-BLcAXepj.js +65 -0
- package/dist/showcase/assets/content-container-DJVD3ZmI.js +1 -0
- package/dist/showcase/assets/copyable-od17NrMu.js +96 -0
- package/dist/showcase/assets/course-card-CdZQr5yy.js +77 -0
- package/dist/showcase/assets/cpu-B8kRNR1R.js +1 -0
- package/dist/showcase/assets/credit-card-BYMQj03s.js +1 -0
- package/dist/showcase/assets/currency-Cxv3Cp6B.js +149 -0
- package/dist/showcase/assets/dark-surfaces-Cfp58iFb.js +90 -0
- package/dist/showcase/assets/database-DuUABvxU.js +1 -0
- package/dist/showcase/assets/date-block-E9qfY7W7.js +1 -0
- package/dist/showcase/assets/date-picker-I8BdaiiU.js +1 -0
- package/dist/showcase/assets/date-pickers-BLJaqhcS.js +73 -0
- package/dist/showcase/assets/dense-info-Bk1K_7Ww.js +106 -0
- package/dist/showcase/assets/dialog-BuatDnQ9.js +1 -0
- package/dist/showcase/assets/dialog-DCx-LydW.js +1 -0
- package/dist/showcase/assets/display-Bt7busw5.js +403 -0
- package/dist/showcase/assets/dist-BPyBHOXU.js +45 -0
- package/dist/showcase/assets/dollar-sign-qXQSS6Gh.js +1 -0
- package/dist/showcase/assets/download-B2JAmHmJ.js +1 -0
- package/dist/showcase/assets/dropdown-menu-DXT3BZLa.js +1 -0
- package/dist/showcase/assets/dropzone-BKIxDJNy.js +1 -0
- package/dist/showcase/assets/earth-7-Z3Gv2v.js +1 -0
- package/dist/showcase/assets/ellipsis-6Krb3RRW.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-DeOMIw1J.js +1 -0
- package/dist/showcase/assets/empty-BSYKaeXQ.js +1 -0
- package/dist/showcase/assets/empty-item-YElgv25f.js +49 -0
- package/dist/showcase/assets/empty-state-D-LrvnKF.js +1 -0
- package/dist/showcase/assets/empty-state-dNh1GtVU.js +188 -0
- package/dist/showcase/assets/enhanced-activities-Bw99ItYl.js +361 -0
- package/dist/showcase/assets/enhanced-combobox-CqLZmU3K.js +1 -0
- package/dist/showcase/assets/event-calendar-CcSi7g5A.js +138 -0
- package/dist/showcase/assets/event-log-2uq-eYxh.js +330 -0
- package/dist/showcase/assets/example-CTJ8AdNR.js +1 -0
- package/dist/showcase/assets/external-link-D0gqSa1q.js +1 -0
- package/dist/showcase/assets/eye-CDMCDLei.js +1 -0
- package/dist/showcase/assets/feature-announcement-BlyNck35.js +34 -0
- package/dist/showcase/assets/file-Y5EbzufX.js +1 -0
- package/dist/showcase/assets/file-text-DH1mBuPi.js +1 -0
- package/dist/showcase/assets/filters-BtHF4GSM.js +78 -0
- package/dist/showcase/assets/flag-CJ08LwLY.js +1 -0
- package/dist/showcase/assets/folder-open-DODo2pjy.js +1 -0
- package/dist/showcase/assets/form-field-CHY7jh1q.js +1 -0
- package/dist/showcase/assets/format-DYJqAuDM.js +1 -0
- package/dist/showcase/assets/forms-DgvQQXHO.js +862 -0
- package/dist/showcase/assets/frame-CdKicP4A.js +167 -0
- package/dist/showcase/assets/getPseudoElementBounds-D9-Hr3mO.js +1 -0
- package/dist/showcase/assets/gift-DD8O7cld.js +1 -0
- package/dist/showcase/assets/giftcard-cards-Dp9eYodY.js +85 -0
- package/dist/showcase/assets/git-branch-DZq1Vo2G.js +1 -0
- package/dist/showcase/assets/global-search-BqDotXql.js +215 -0
- package/dist/showcase/assets/global-search-PH6LXqZw.js +1 -0
- package/dist/showcase/assets/globe-mRTwrUxM.js +1 -0
- package/dist/showcase/assets/gradient-card-CaL88YKv.js +58 -0
- package/dist/showcase/assets/hash-DuqvHQHv.js +1 -0
- package/dist/showcase/assets/header-CiNgDop3.js +1 -0
- package/dist/showcase/assets/header-notifications-B9XMBsK_.js +1 -0
- package/dist/showcase/assets/heart-DsGJfnDx.js +1 -0
- package/dist/showcase/assets/house-B504aFIP.js +1 -0
- package/dist/showcase/assets/icon-badge-DMNu8xb5.js +1 -0
- package/dist/showcase/assets/image-C3DaMxmn.js +1 -0
- package/dist/showcase/assets/inbox-BWKQMLMx.js +1 -0
- package/dist/showcase/assets/index-DN3tqopz.css +2 -0
- package/dist/showcase/assets/index-DaYVSqKu.js +10 -0
- package/dist/showcase/assets/inertValue-DrtTkMGx.js +1 -0
- package/dist/showcase/assets/info-_FrGoCay.js +1 -0
- package/dist/showcase/assets/inline-stat-BYu-tiUU.js +1 -0
- package/dist/showcase/assets/input-C96HMHWR.js +1 -0
- package/dist/showcase/assets/input-fMPi7XxI.js +1 -0
- package/dist/showcase/assets/input-group-BZnSgFCn.js +47 -0
- package/dist/showcase/assets/input-group-CVONNP3T.js +1 -0
- package/dist/showcase/assets/inputs-Blh0LJ8-.js +155 -0
- package/dist/showcase/assets/invoice-header-Bpo4iwX3.js +36 -0
- package/dist/showcase/assets/invoice-items-OVIrbG0k.js +36 -0
- package/dist/showcase/assets/invoice-mini-CaOMTiUO.js +14 -0
- package/dist/showcase/assets/invoice-table-BXd_HhUg.js +30 -0
- package/dist/showcase/assets/isSameDay-NBVO9AKF.js +1 -0
- package/dist/showcase/assets/isToday-Bk5HMXWn.js +1 -0
- package/dist/showcase/assets/italic-BOv5bW4H.js +1 -0
- package/dist/showcase/assets/item-B4rdcVVp.js +134 -0
- package/dist/showcase/assets/item-BVt0zZ12.js +1 -0
- package/dist/showcase/assets/item-C4Xk3DC1.js +1 -0
- package/dist/showcase/assets/kanban-BXbelelR.js +186 -0
- package/dist/showcase/assets/label-Cv6wotdv.js +1 -0
- package/dist/showcase/assets/languages-BofyvcCF.js +1 -0
- package/dist/showcase/assets/layers-DJK0t5px.js +1 -0
- package/dist/showcase/assets/layout-app-shell-D_yMonSl.js +608 -0
- package/dist/showcase/assets/layout-auth-BTvSTwUz.js +754 -0
- package/dist/showcase/assets/layout-containers-PMuo__2O.js +101 -0
- package/dist/showcase/assets/layout-header-DQ3zeCHz.js +170 -0
- package/dist/showcase/assets/layout-page-CbvWdHrK.js +122 -0
- package/dist/showcase/assets/layout-primitives-6nsFFIdE.js +34 -0
- package/dist/showcase/assets/layout-sidebar-CKqeVCSY.js +224 -0
- package/dist/showcase/assets/layout-users-Cypq-42s.js +117 -0
- package/dist/showcase/assets/layout-workspace-DiRR8vDv.js +183 -0
- package/dist/showcase/assets/lock-DXmvLEEx.js +1 -0
- package/dist/showcase/assets/lock-keyhole-Cu6M-jjE.js +1 -0
- package/dist/showcase/assets/mail-CXVFHkzh.js +1 -0
- package/dist/showcase/assets/mail-check-BNEu3j2a.js +1 -0
- package/dist/showcase/assets/map-DnE1pFCQ.js +124 -0
- package/dist/showcase/assets/map-pin-CpOVa8IH.js +1 -0
- package/dist/showcase/assets/media-library-C-KfEvm4.js +695 -0
- package/dist/showcase/assets/mention-inline-suggestions-DlmslsfR.js +1 -0
- package/dist/showcase/assets/mentions-C8ZdNFuC.js +138 -0
- package/dist/showcase/assets/menus-B8yUL75K.js +165 -0
- package/dist/showcase/assets/message-square-DNOTaOFs.js +1 -0
- package/dist/showcase/assets/metadata-list-BQAanxM-.js +1 -0
- package/dist/showcase/assets/metadata-list-DL9qgDAp.js +288 -0
- package/dist/showcase/assets/metric-CYi09Ltx.js +1 -0
- package/dist/showcase/assets/metric-bar-CQH1z8T3.js +1 -0
- package/dist/showcase/assets/metric-grid-H1ixqMCI.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-BBzWzFZ-.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-C7Z2ITl4.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CZZSWiMn.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BPqz8k30.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-C3NYZAfx.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-RjHfm7um.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-DnBjyDH4.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-CKn405qb.js +42 -0
- package/dist/showcase/assets/metrics-overview-D8YGtdrh.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-Dxh6cAha.js +54 -0
- package/dist/showcase/assets/minus-20OTSSxf.js +1 -0
- package/dist/showcase/assets/money-display-BoiAMxH8.js +1 -0
- package/dist/showcase/assets/month-year-picker-Bl59Ygq9.js +1 -0
- package/dist/showcase/assets/navigation-B8d2CDU6.js +90 -0
- package/dist/showcase/assets/navigation-D16JX3kL.js +230 -0
- package/dist/showcase/assets/navigation-extras-Dm83uT6i.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-DznDpP9M.js +119 -0
- package/dist/showcase/assets/overlays-CzlSqbFz.js +408 -0
- package/dist/showcase/assets/overlays-DUFqbkb9.js +159 -0
- package/dist/showcase/assets/package-BCXIwEPz.js +1 -0
- package/dist/showcase/assets/package-check-Ol-Cw3j-.js +1 -0
- package/dist/showcase/assets/page-action-button-DpzdSYvw.js +1 -0
- package/dist/showcase/assets/page-header-B_b7SqW8.js +1 -0
- package/dist/showcase/assets/pagination-BPDQo9Dl.js +1 -0
- package/dist/showcase/assets/pagination-PvkEX0qs.js +42 -0
- package/dist/showcase/assets/paperclip-CznEsmLN.js +1 -0
- package/dist/showcase/assets/password-input-CWMY5q3b.js +1 -0
- package/dist/showcase/assets/pencil-Cl9qi90g.js +1 -0
- package/dist/showcase/assets/phone-DbvK_QQJ.js +1 -0
- package/dist/showcase/assets/plus-CO8t66Yo.js +1 -0
- package/dist/showcase/assets/popover-3QIVx9lU.js +1 -0
- package/dist/showcase/assets/popover-Cyg9oYIU.js +1 -0
- package/dist/showcase/assets/popover-menu-DJPHeIL1.js +1 -0
- package/dist/showcase/assets/products-WsU-qdMz.js +407 -0
- package/dist/showcase/assets/progress-C61sf-qt.js +1 -0
- package/dist/showcase/assets/progress-PvTl8Fgf.js +18 -0
- package/dist/showcase/assets/props-table-C8la6vcG.js +1 -0
- package/dist/showcase/assets/props.generated-vFrhDrth.json +38618 -0
- package/dist/showcase/assets/quote-N1_lRDnX.js +1 -0
- package/dist/showcase/assets/receipt-C6a_WyLu.js +1 -0
- package/dist/showcase/assets/receipt-text-CDOh8FAv.js +1 -0
- package/dist/showcase/assets/refresh-cw-D4-ECZ1x.js +1 -0
- package/dist/showcase/assets/resolveAriaLabelledBy-iFo8AzEr.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-DqAP3zJd.js +1 -0
- package/dist/showcase/assets/rich-text-editor-CU0IZpwV.js +143 -0
- package/dist/showcase/assets/rich-text-editor-DCU7mMoO.js +124 -0
- package/dist/showcase/assets/rotate-ccw-Dd5zEmr7.js +1 -0
- package/dist/showcase/assets/save-DDmFSQli.js +1 -0
- package/dist/showcase/assets/schema-form-B7naqMvv.js +325 -0
- package/dist/showcase/assets/scroll-area-CdaYm4UK.js +32 -0
- package/dist/showcase/assets/scroll-area-DwWSHYHB.js +1 -0
- package/dist/showcase/assets/select-CNzpb5ug.js +1 -0
- package/dist/showcase/assets/select-DBXZ_Wzf.js +1 -0
- package/dist/showcase/assets/send-eDm7YMmA.js +1 -0
- package/dist/showcase/assets/separator-4IC9ED7s.js +1 -0
- package/dist/showcase/assets/separator-DPGDsZpG.js +28 -0
- package/dist/showcase/assets/settings-IANZGo2i.js +1 -0
- package/dist/showcase/assets/sheet-2oCce5ae.js +1 -0
- package/dist/showcase/assets/shield-CDZhhvFW.js +1 -0
- package/dist/showcase/assets/shield-alert-5hL3sdf3.js +1 -0
- package/dist/showcase/assets/shield-check-CaO2dhVS.js +1 -0
- package/dist/showcase/assets/shopping-bag-Bt3iK-Bv.js +1 -0
- package/dist/showcase/assets/sidebar-Cds60-PS.js +1 -0
- package/dist/showcase/assets/sidebar.context-CdH_DH9M.js +1 -0
- package/dist/showcase/assets/skeleton-2HajJKO4.js +29 -0
- package/dist/showcase/assets/skeleton-CGEJwPdD.js +1 -0
- package/dist/showcase/assets/slider-BjQViBR0.js +1 -0
- package/dist/showcase/assets/sliders-horizontal-C3JH5WQu.js +1 -0
- package/dist/showcase/assets/smart-card-CHouYi8U.js +1 -0
- package/dist/showcase/assets/sonner-Cog559j7.js +22 -0
- package/dist/showcase/assets/sortable.esm-hUEKsxpQ.js +5 -0
- package/dist/showcase/assets/sparkles-B18eTHVN.js +1 -0
- package/dist/showcase/assets/spinner-BSI97i4D.js +1 -0
- package/dist/showcase/assets/spinner-D0WhVyye.js +30 -0
- package/dist/showcase/assets/spinner-DQmJ7k9y.js +49 -0
- package/dist/showcase/assets/square-pen-CLyDWdhj.js +1 -0
- package/dist/showcase/assets/stacked-avatars-ECnU27uV.js +1 -0
- package/dist/showcase/assets/star-C3mhkpSK.js +1 -0
- package/dist/showcase/assets/startOfDay-ECIxhJGC.js +1 -0
- package/dist/showcase/assets/stringifyLocale-CkHjdQTJ.js +1 -0
- package/dist/showcase/assets/styles-CDD7mDye.js +1 -0
- package/dist/showcase/assets/suggestions-DOW6NBJp.js +126 -0
- package/dist/showcase/assets/switch-D59YKmf6.js +1 -0
- package/dist/showcase/assets/switch-NICmdoPn.js +1 -0
- package/dist/showcase/assets/sync-B8nBZXQ9.js +107 -0
- package/dist/showcase/assets/table-CckompuR.js +382 -0
- package/dist/showcase/assets/table-DtA4-Q0p.js +1 -0
- package/dist/showcase/assets/table-actions-DdoPJTMy.js +1 -0
- package/dist/showcase/assets/tabs-BrC_HxL_.js +1 -0
- package/dist/showcase/assets/tabs-UVxr80vY.js +19 -0
- package/dist/showcase/assets/tags-input-iDfvhzZD.js +1 -0
- package/dist/showcase/assets/text-button-DHFCLCoc.js +1 -0
- package/dist/showcase/assets/text-link-nCLLDcS_.js +1 -0
- package/dist/showcase/assets/textarea-DsSuQHQY.js +1 -0
- package/dist/showcase/assets/textarea-DyGI3Kcn.js +1 -0
- package/dist/showcase/assets/timelines-JmMcH657.js +200 -0
- package/dist/showcase/assets/toggle-group-BZKzMmC8.js +1 -0
- package/dist/showcase/assets/toggles-BSJvy4Tw.js +71 -0
- package/dist/showcase/assets/toggles-group-Bsc6eaWw.js +32 -0
- package/dist/showcase/assets/trash-2-C9AC7Pcv.js +1 -0
- package/dist/showcase/assets/trending-up-CGaDZj0S.js +1 -0
- package/dist/showcase/assets/truck-Dq6heokm.js +1 -0
- package/dist/showcase/assets/typography-ByvwR6Kg.js +223 -0
- package/dist/showcase/assets/ui-badge-BYgJSE_w.js +28 -0
- package/dist/showcase/assets/ui-card-BdueUfow.js +30 -0
- package/dist/showcase/assets/ui-table-CxtCQUsg.js +42 -0
- package/dist/showcase/assets/upload-tray-DKJ8nFZp.js +138 -0
- package/dist/showcase/assets/use-layout-link-CGBQHZon.js +1 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-CywAbxVB.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-B2bZzE7D.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-SLdY_s6S.js +1 -0
- package/dist/showcase/assets/useCompositeItem-g6aCBp84.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-DK0Tpege.js +1 -0
- package/dist/showcase/assets/useControlled-BF8maje6.js +1 -0
- package/dist/showcase/assets/useLabelableId-hdKzFCp2.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CnhifZ1E.js +1 -0
- package/dist/showcase/assets/useRender-QhawWhpb.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-Cht7Sa7e.js +1 -0
- package/dist/showcase/assets/useValueChanged-DURO1kfZ.js +1 -0
- package/dist/showcase/assets/user-plus-DbOuTfr7.js +1 -0
- package/dist/showcase/assets/user-u65Fo7k7.js +1 -0
- package/dist/showcase/assets/users-BUb7CmVp.js +1 -0
- package/dist/showcase/assets/valueToPercent-gleKSaFe.js +1 -0
- package/dist/showcase/assets/vendor-profile-wfI3PBuO.js +37 -0
- package/dist/showcase/assets/video-e4hDbTQ2.js +1 -0
- package/dist/showcase/assets/wrench-CBUvtxdr.js +1 -0
- package/dist/showcase/assets/x-oVTJnCJn.js +1 -0
- package/dist/showcase/assets/zap-CzABYL3c.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +15 -4
- package/scripts/README.md +24 -0
- package/scripts/metadata.json +325 -0
- package/dist/_shared/accordion-BWU7zxlO.cjs +0 -2
- package/dist/_shared/accordion-BWU7zxlO.cjs.map +0 -1
- package/dist/_shared/accordion-DTYKGqWD.js +0 -130
- package/dist/_shared/accordion-DTYKGqWD.js.map +0 -1
- package/dist/_shared/action-menu-BoQnI2UF.cjs +0 -2
- package/dist/_shared/action-menu-BoQnI2UF.cjs.map +0 -1
- package/dist/_shared/action-menu-uyg1Phsn.js +0 -96
- package/dist/_shared/action-menu-uyg1Phsn.js.map +0 -1
- package/dist/_shared/ai-artifact-CY1Jf9gM.cjs +0 -3
- package/dist/_shared/ai-artifact-CY1Jf9gM.cjs.map +0 -1
- package/dist/_shared/ai-artifact-DdlK_l56.js +0 -1099
- package/dist/_shared/ai-artifact-DdlK_l56.js.map +0 -1
- package/dist/_shared/auth-CDjZFJxy.cjs +0 -2
- package/dist/_shared/auth-CDjZFJxy.cjs.map +0 -1
- package/dist/_shared/auth-_udUdWtn.js +0 -643
- package/dist/_shared/auth-_udUdWtn.js.map +0 -1
- package/dist/_shared/badge--o9wFHB_.cjs +0 -2
- package/dist/_shared/badge--o9wFHB_.cjs.map +0 -1
- package/dist/_shared/badge-yGlx9trX.js +0 -108
- package/dist/_shared/badge-yGlx9trX.js.map +0 -1
- package/dist/_shared/button-683R5quQ.js +0 -46
- package/dist/_shared/button-683R5quQ.js.map +0 -1
- package/dist/_shared/button-C1qc97U1.cjs +0 -2
- package/dist/_shared/button-C1qc97U1.cjs.map +0 -1
- package/dist/_shared/button-CjZrRLzR.cjs +0 -2
- package/dist/_shared/button-CjZrRLzR.cjs.map +0 -1
- package/dist/_shared/button-SuocMQFT.js +0 -173
- package/dist/_shared/button-SuocMQFT.js.map +0 -1
- package/dist/_shared/buttons-9YBwevkP.cjs +0 -2
- package/dist/_shared/buttons-9YBwevkP.cjs.map +0 -1
- package/dist/_shared/buttons-BR4BGVYf.js +0 -143
- package/dist/_shared/buttons-BR4BGVYf.js.map +0 -1
- package/dist/_shared/combobox-CpSmiPV8.cjs +0 -2
- package/dist/_shared/combobox-CpSmiPV8.cjs.map +0 -1
- package/dist/_shared/combobox-D01JwyFZ.js +0 -810
- package/dist/_shared/combobox-D01JwyFZ.js.map +0 -1
- package/dist/_shared/comments-D9velZAW.js +0 -952
- package/dist/_shared/comments-D9velZAW.js.map +0 -1
- package/dist/_shared/comments-DyUAKSQu.cjs +0 -2
- package/dist/_shared/comments-DyUAKSQu.cjs.map +0 -1
- package/dist/_shared/date-picker-BnsvBFOZ.cjs +0 -2
- package/dist/_shared/date-picker-BnsvBFOZ.cjs.map +0 -1
- package/dist/_shared/date-picker-TMcjGO26.js +0 -1361
- package/dist/_shared/date-picker-TMcjGO26.js.map +0 -1
- package/dist/_shared/date-pickers-BI4xLjHR.js +0 -330
- package/dist/_shared/date-pickers-BI4xLjHR.js.map +0 -1
- package/dist/_shared/date-pickers-BhaUK5S2.cjs +0 -2
- package/dist/_shared/date-pickers-BhaUK5S2.cjs.map +0 -1
- package/dist/_shared/dialog-A95-614f.js +0 -101
- package/dist/_shared/dialog-A95-614f.js.map +0 -1
- package/dist/_shared/dialog-ivDByBmO.cjs +0 -2
- package/dist/_shared/dialog-ivDByBmO.cjs.map +0 -1
- package/dist/_shared/display-C4n0uuxl.js +0 -1154
- package/dist/_shared/display-C4n0uuxl.js.map +0 -1
- package/dist/_shared/display-oDW0O9yB.cjs +0 -2
- package/dist/_shared/display-oDW0O9yB.cjs.map +0 -1
- package/dist/_shared/forms-CwJci54_.js +0 -3430
- package/dist/_shared/forms-CwJci54_.js.map +0 -1
- package/dist/_shared/forms-E3JkTgcC.cjs +0 -2
- package/dist/_shared/forms-E3JkTgcC.cjs.map +0 -1
- package/dist/_shared/header-BUAddfdE.js +0 -360
- package/dist/_shared/header-BUAddfdE.js.map +0 -1
- package/dist/_shared/header-BnxWOiNm.cjs +0 -2
- package/dist/_shared/header-BnxWOiNm.cjs.map +0 -1
- package/dist/_shared/hooks-MW0UTO3q.cjs +0 -2
- package/dist/_shared/hooks-MW0UTO3q.cjs.map +0 -1
- package/dist/_shared/hooks-ZiPIvs0_.js +0 -118
- package/dist/_shared/hooks-ZiPIvs0_.js.map +0 -1
- package/dist/_shared/mentions-Br-EP9tq.js +0 -506
- package/dist/_shared/mentions-Br-EP9tq.js.map +0 -1
- package/dist/_shared/mentions-DNTsRHJl.cjs +0 -2
- package/dist/_shared/mentions-DNTsRHJl.cjs.map +0 -1
- package/dist/_shared/metadata-CPSQGPJh.cjs +0 -2
- package/dist/_shared/metadata-CPSQGPJh.cjs.map +0 -1
- package/dist/_shared/metadata-qTNAOM7E.js +0 -235
- package/dist/_shared/metadata-qTNAOM7E.js.map +0 -1
- package/dist/_shared/navigation-HnnA6uSV.js +0 -419
- package/dist/_shared/navigation-HnnA6uSV.js.map +0 -1
- package/dist/_shared/navigation-J2g0Tw9D.cjs +0 -2
- package/dist/_shared/navigation-J2g0Tw9D.cjs.map +0 -1
- package/dist/_shared/overlays-CIeniDjj.js +0 -639
- package/dist/_shared/overlays-CIeniDjj.js.map +0 -1
- package/dist/_shared/overlays-Xc_F_Y-E.cjs +0 -2
- package/dist/_shared/overlays-Xc_F_Y-E.cjs.map +0 -1
- package/dist/_shared/page-BFV-KE8H.js +0 -262
- package/dist/_shared/page-BFV-KE8H.js.map +0 -1
- package/dist/_shared/page-UJfWfw2R.cjs +0 -2
- package/dist/_shared/page-UJfWfw2R.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-B6WKHUKC.js +0 -620
- package/dist/_shared/rich-text-editor-B6WKHUKC.js.map +0 -1
- package/dist/_shared/rich-text-editor-Dm-6r_xe.cjs +0 -2
- package/dist/_shared/rich-text-editor-Dm-6r_xe.cjs.map +0 -1
- package/dist/_shared/sheet-BKEfwhCn.js +0 -100
- package/dist/_shared/sheet-BKEfwhCn.js.map +0 -1
- package/dist/_shared/sheet-D4yWgkwC.cjs +0 -2
- package/dist/_shared/sheet-D4yWgkwC.cjs.map +0 -1
- package/dist/_shared/sidebar-BML5ZZ5s.js +0 -537
- package/dist/_shared/sidebar-BML5ZZ5s.js.map +0 -1
- package/dist/_shared/sidebar-Bl_KRk-S.cjs +0 -2
- package/dist/_shared/sidebar-Bl_KRk-S.cjs.map +0 -1
- package/dist/_shared/sidebar-C89O5ho_.cjs +0 -2
- package/dist/_shared/sidebar-C89O5ho_.cjs.map +0 -1
- package/dist/_shared/sidebar-ux-yk-Ph.js +0 -382
- package/dist/_shared/sidebar-ux-yk-Ph.js.map +0 -1
- package/dist/_shared/smart-card-DYZGY_Su.js +0 -361
- package/dist/_shared/smart-card-DYZGY_Su.js.map +0 -1
- package/dist/_shared/smart-card-Df80VF8x.cjs +0 -2
- package/dist/_shared/smart-card-Df80VF8x.cjs.map +0 -1
- package/dist/_shared/table-CBKDA7ZE.js +0 -1189
- package/dist/_shared/table-CBKDA7ZE.js.map +0 -1
- package/dist/_shared/table-CJoxRCWy.cjs +0 -2
- package/dist/_shared/table-CJoxRCWy.cjs.map +0 -1
- package/dist/_shared/workspace-CTjIGCE0.cjs +0 -2
- package/dist/_shared/workspace-CTjIGCE0.cjs.map +0 -1
- package/dist/_shared/workspace-WgJgiSUA.js +0 -357
- package/dist/_shared/workspace-WgJgiSUA.js.map +0 -1
- package/dist/showcase/assets/AreaChart-DUe3j5uB.js +0 -6
- package/dist/showcase/assets/CSPContext-ImKusJJ_.js +0 -1
- package/dist/showcase/assets/CompositeItem-DleE4kTc.js +0 -1
- package/dist/showcase/assets/CompositeRoot-BbNkvtLz.js +0 -1
- package/dist/showcase/assets/DialogTrigger-C0DB0bXw.js +0 -1
- package/dist/showcase/assets/FieldItemContext-CFTR-INZ.js +0 -1
- package/dist/showcase/assets/FormContext-lmjYAh4E.js +0 -1
- package/dist/showcase/assets/LabelableContext-CDv6gSfU.js +0 -1
- package/dist/showcase/assets/PreviewLayout-BG1B5TzA.js +0 -1
- package/dist/showcase/assets/RadioGroup-C-0MNAYY.js +0 -1
- package/dist/showcase/assets/Separator-KsPLUEno.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-AV8xAl2m.js +0 -1
- package/dist/showcase/assets/accordion-BWkuKg77.js +0 -171
- package/dist/showcase/assets/accordion-variants-CVT_62VO.js +0 -1
- package/dist/showcase/assets/action-menu-BOUHlGba.js +0 -1
- package/dist/showcase/assets/activities-DMDQje7Y.js +0 -501
- package/dist/showcase/assets/activities-feed-card-B8wpu4F3.js +0 -1
- package/dist/showcase/assets/activity-B-FxNryB.js +0 -1
- package/dist/showcase/assets/admin-CAhEeKt_.js +0 -80
- package/dist/showcase/assets/ai-UioEgJ90.js +0 -41
- package/dist/showcase/assets/ai-artifact-CUAlhcSX.js +0 -2
- package/dist/showcase/assets/ai-chat-C_w2PSmy.js +0 -568
- package/dist/showcase/assets/ai-elements-DmxqXR6H.js +0 -387
- package/dist/showcase/assets/ai-new-PG02TWQq.js +0 -167
- package/dist/showcase/assets/ai-tool-call-BaJx1rR4.js +0 -1
- package/dist/showcase/assets/alert-D7n-kQoO.js +0 -93
- package/dist/showcase/assets/alert-DIelf1qF.js +0 -1
- package/dist/showcase/assets/alert-TQCZEcn-.js +0 -62
- package/dist/showcase/assets/api-key-list-CSt4trYG.js +0 -73
- package/dist/showcase/assets/app-sidebar-DixqrLf2.js +0 -1
- package/dist/showcase/assets/arrow-down-CYh_aUsd.js +0 -1
- package/dist/showcase/assets/arrow-left-pYYsNkZE.js +0 -1
- package/dist/showcase/assets/arrow-right-Bf1Tl6D5.js +0 -1
- package/dist/showcase/assets/arrow-up-BhmQRZs9.js +0 -1
- package/dist/showcase/assets/arrow-up-right-CuAsO3-r.js +0 -1
- package/dist/showcase/assets/avatar-5EFTnHEG.js +0 -1
- package/dist/showcase/assets/avatar-DLpnivU0.js +0 -57
- package/dist/showcase/assets/badge-check-BRAVo7dA.js +0 -1
- package/dist/showcase/assets/badge-yFoRqbiq.js +0 -28
- package/dist/showcase/assets/bell-Dt3Nz2y2.js +0 -1
- package/dist/showcase/assets/bot-5Ro5Dayc.js +0 -1
- package/dist/showcase/assets/box-mt6TbZO6.js +0 -1
- package/dist/showcase/assets/brain-736080Wh.js +0 -1
- package/dist/showcase/assets/brand-4K8xsJ91.js +0 -36
- package/dist/showcase/assets/breadcrumb-CAlApdCw.js +0 -1
- package/dist/showcase/assets/breadcrumb-DHeGqoTD.js +0 -52
- package/dist/showcase/assets/breadcrumbs-D_lniGJs.js +0 -1
- package/dist/showcase/assets/briefcase-B_Uti-Iu.js +0 -1
- package/dist/showcase/assets/building-2-zgcwuzxP.js +0 -1
- package/dist/showcase/assets/button-PmqgeJKm.js +0 -44
- package/dist/showcase/assets/button-group-DAOmmujV.js +0 -1
- package/dist/showcase/assets/buttons-PtpR_v16.js +0 -270
- package/dist/showcase/assets/calendar-BiOGjB7a.js +0 -1
- package/dist/showcase/assets/calendar-C1A98cz0.js +0 -16
- package/dist/showcase/assets/calendar-DTgagmt7.js +0 -1
- package/dist/showcase/assets/calendar-days-pr8kXiTx.js +0 -1
- package/dist/showcase/assets/camera-CGKLOOep.js +0 -1
- package/dist/showcase/assets/card-CFIG8Dgg.js +0 -1
- package/dist/showcase/assets/card-CRd07Iun.js +0 -188
- package/dist/showcase/assets/card-primitives-YgCOqVDI.js +0 -1
- package/dist/showcase/assets/card-radio-group-Du6yaMZ-.js +0 -1
- package/dist/showcase/assets/cards-H7ywhTNM.js +0 -328
- package/dist/showcase/assets/carousel-Dwll5oz1.js +0 -449
- package/dist/showcase/assets/chart-BWnVf-d-.js +0 -358
- package/dist/showcase/assets/chart-column-DjAyOA-t.js +0 -1
- package/dist/showcase/assets/checkbox-fwuAAaUZ.js +0 -1
- package/dist/showcase/assets/chevron-down-CSn8HCwf.js +0 -1
- package/dist/showcase/assets/chevron-left-Ddj6-KOu.js +0 -1
- package/dist/showcase/assets/chevron-right-d-umkBru.js +0 -1
- package/dist/showcase/assets/chevron-up-CeFY6O0I.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-Ck3rUZtc.js +0 -1
- package/dist/showcase/assets/circle-Dy08kACD.js +0 -1
- package/dist/showcase/assets/circle-alert-ysbx8rsZ.js +0 -1
- package/dist/showcase/assets/circle-check-TT7cFQrr.js +0 -1
- package/dist/showcase/assets/circle-check-big-4RnJfeaC.js +0 -1
- package/dist/showcase/assets/circle-dot-CvoDXS-W.js +0 -1
- package/dist/showcase/assets/circle-question-mark-Dbi-WTYN.js +0 -1
- package/dist/showcase/assets/circle-x-c5z6-eYV.js +0 -1
- package/dist/showcase/assets/clock-3-DDEsD4Tb.js +0 -1
- package/dist/showcase/assets/clock-DuBsP5t3.js +0 -1
- package/dist/showcase/assets/code-xml-SoYTMEdm.js +0 -1
- package/dist/showcase/assets/collapsible-Cv3oGVkH.js +0 -27
- package/dist/showcase/assets/collapsible-DagkA3To.js +0 -1
- package/dist/showcase/assets/combobox-CPC4a_MH.js +0 -696
- package/dist/showcase/assets/command-BtaMPVtf.js +0 -45
- package/dist/showcase/assets/command-C37Q471b.js +0 -1
- package/dist/showcase/assets/comment-composer-W0xfh_HP.js +0 -1
- package/dist/showcase/assets/comment-item-Ctcpx1GX.js +0 -1
- package/dist/showcase/assets/comments-BODDdRry.js +0 -357
- package/dist/showcase/assets/commerce-B9MICTY2.js +0 -79
- package/dist/showcase/assets/commerce-extras-DsgnTkBH.js +0 -189
- package/dist/showcase/assets/composite-B-19wwf9.js +0 -1
- package/dist/showcase/assets/contact-card-CqP3YxTq.js +0 -65
- package/dist/showcase/assets/content-container-x2tsQKwH.js +0 -1
- package/dist/showcase/assets/copyable-DH0w0i_h.js +0 -96
- package/dist/showcase/assets/course-card-qpC4JUUM.js +0 -77
- package/dist/showcase/assets/cpu-DjJeD_0Z.js +0 -1
- package/dist/showcase/assets/credit-card-CYgRtM77.js +0 -1
- package/dist/showcase/assets/currency-hguqIjWU.js +0 -149
- package/dist/showcase/assets/dark-surfaces-Cj34O9A0.js +0 -90
- package/dist/showcase/assets/database-BVwSMeGM.js +0 -1
- package/dist/showcase/assets/date-block-LCTDXG5-.js +0 -1
- package/dist/showcase/assets/date-picker-CbYq8wZ7.js +0 -1
- package/dist/showcase/assets/date-pickers-BaSX23MK.js +0 -73
- package/dist/showcase/assets/dense-info-kY1QmtaP.js +0 -106
- package/dist/showcase/assets/dialog-B85US9Ue.js +0 -1
- package/dist/showcase/assets/dialog-iIgfMvTJ.js +0 -1
- package/dist/showcase/assets/display-DTaQWVJp.js +0 -403
- package/dist/showcase/assets/dollar-sign-DlK6XF_v.js +0 -1
- package/dist/showcase/assets/download-B_EY5cGA.js +0 -1
- package/dist/showcase/assets/dropdown-menu-bPWrLPgm.js +0 -1
- package/dist/showcase/assets/dropzone-Bl7RO_Uk.js +0 -1
- package/dist/showcase/assets/earth-C7n2JAYm.js +0 -1
- package/dist/showcase/assets/ellipsis-ntuo3ejh.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-yH8S83bc.js +0 -1
- package/dist/showcase/assets/empty-CY8f7iFe.js +0 -1
- package/dist/showcase/assets/empty-item-Ct7uCr40.js +0 -49
- package/dist/showcase/assets/empty-state-DlO8SJi8.js +0 -188
- package/dist/showcase/assets/empty-state-IAAUTn6f.js +0 -1
- package/dist/showcase/assets/enhanced-activities-DLwShhof.js +0 -361
- package/dist/showcase/assets/enhanced-combobox-Cs_-wq9p.js +0 -1
- package/dist/showcase/assets/event-calendar-C4KlumlG.js +0 -138
- package/dist/showcase/assets/event-log-BvUU5Rj8.js +0 -330
- package/dist/showcase/assets/example-BIrQab7K.js +0 -1
- package/dist/showcase/assets/external-link-DuJlM_H4.js +0 -1
- package/dist/showcase/assets/eye-CnRPL_H8.js +0 -1
- package/dist/showcase/assets/feature-announcement-0dOcSH7F.js +0 -34
- package/dist/showcase/assets/file-Dc5UHkfE.js +0 -1
- package/dist/showcase/assets/file-text-D3AE37vP.js +0 -1
- package/dist/showcase/assets/filters-CsovNSxS.js +0 -78
- package/dist/showcase/assets/flag-CJJ43K4x.js +0 -1
- package/dist/showcase/assets/folder-open-Dp0sceCi.js +0 -1
- package/dist/showcase/assets/form-field-Cxm4APa9.js +0 -1
- package/dist/showcase/assets/format-bDaUGCSP.js +0 -1
- package/dist/showcase/assets/forms-BrVikK1p.js +0 -862
- package/dist/showcase/assets/frame-CkLEABTd.js +0 -167
- package/dist/showcase/assets/getPseudoElementBounds-Bznj386s.js +0 -1
- package/dist/showcase/assets/gift-Bx8IO1FQ.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CZTXBjv0.js +0 -85
- package/dist/showcase/assets/git-branch-D9jt-u1q.js +0 -1
- package/dist/showcase/assets/global-search-C2R_3Pb3.js +0 -215
- package/dist/showcase/assets/global-search-D9XJ747r.js +0 -1
- package/dist/showcase/assets/globe-BJHI134i.js +0 -1
- package/dist/showcase/assets/gradient-card-CV8w2JG5.js +0 -58
- package/dist/showcase/assets/hash-CtBGoIvf.js +0 -1
- package/dist/showcase/assets/header-B3FSlVv4.js +0 -1
- package/dist/showcase/assets/header-notifications-3VH9lzzJ.js +0 -1
- package/dist/showcase/assets/heart-BWZYF4xJ.js +0 -1
- package/dist/showcase/assets/house-CAQOnHLO.js +0 -1
- package/dist/showcase/assets/icon-badge-CxvxB8Vd.js +0 -1
- package/dist/showcase/assets/image-Byz-p7hT.js +0 -1
- package/dist/showcase/assets/inbox-D4UE_W9O.js +0 -1
- package/dist/showcase/assets/index-ADfexGMA.css +0 -2
- package/dist/showcase/assets/index-Cz4UGUT2.js +0 -10
- package/dist/showcase/assets/inertValue-BVXUUuS4.js +0 -1
- package/dist/showcase/assets/info-DFu8OfxV.js +0 -1
- package/dist/showcase/assets/inline-stat-DqI70yoJ.js +0 -1
- package/dist/showcase/assets/input-BPDdWrB1.js +0 -1
- package/dist/showcase/assets/input-BzafMIDj.js +0 -1
- package/dist/showcase/assets/input-group-BYZYeQ7j.js +0 -1
- package/dist/showcase/assets/input-group-YIWmmLJ6.js +0 -47
- package/dist/showcase/assets/inputs-DjzrYJdb.js +0 -49
- package/dist/showcase/assets/invoice-header-B00JrPAb.js +0 -36
- package/dist/showcase/assets/invoice-items-CUt5D3Wz.js +0 -36
- package/dist/showcase/assets/invoice-mini-CRoaQ9g9.js +0 -14
- package/dist/showcase/assets/invoice-table-DYNnDTQl.js +0 -30
- package/dist/showcase/assets/isSameDay-DVNkwpSk.js +0 -1
- package/dist/showcase/assets/isToday-DZ1HTCty.js +0 -1
- package/dist/showcase/assets/italic-AbetEb3d.js +0 -1
- package/dist/showcase/assets/item-BGA6_5Zh.js +0 -134
- package/dist/showcase/assets/item-BJOYyqeO.js +0 -1
- package/dist/showcase/assets/item-CbiuwbAN.js +0 -1
- package/dist/showcase/assets/kanban-Br-Yz002.js +0 -186
- package/dist/showcase/assets/label-BlCKlLE-.js +0 -1
- package/dist/showcase/assets/languages-CKcUvHnt.js +0 -1
- package/dist/showcase/assets/layers-CakZLRSD.js +0 -1
- package/dist/showcase/assets/layout-app-shell-ukDXqPxC.js +0 -608
- package/dist/showcase/assets/layout-auth-BFza65L3.js +0 -754
- package/dist/showcase/assets/layout-containers-v1jG_b7r.js +0 -101
- package/dist/showcase/assets/layout-header-CqBf9wjY.js +0 -170
- package/dist/showcase/assets/layout-page-WJcljCac.js +0 -122
- package/dist/showcase/assets/layout-sidebar-DL6TLuQC.js +0 -224
- package/dist/showcase/assets/layout-users-B8qpsvV9.js +0 -117
- package/dist/showcase/assets/layout-workspace-iOKZ4-9K.js +0 -183
- package/dist/showcase/assets/lock-Dn4-vUBz.js +0 -1
- package/dist/showcase/assets/lock-keyhole-M6KZ_7RC.js +0 -1
- package/dist/showcase/assets/mail-check-DXqQwivW.js +0 -1
- package/dist/showcase/assets/mail-w1nhszbW.js +0 -1
- package/dist/showcase/assets/map-CquesVXo.js +0 -124
- package/dist/showcase/assets/map-pin-DUl-Lt6t.js +0 -1
- package/dist/showcase/assets/media-library-CCJBQRPu.js +0 -695
- package/dist/showcase/assets/mention-inline-suggestions-DyW6IwL8.js +0 -1
- package/dist/showcase/assets/mentions-Ea4pSJqG.js +0 -138
- package/dist/showcase/assets/menus-CJjtE4fD.js +0 -89
- package/dist/showcase/assets/message-square-B0RnrJV6.js +0 -1
- package/dist/showcase/assets/metadata-list-DkN9yfTj.js +0 -288
- package/dist/showcase/assets/metadata-list-fm8e58ID.js +0 -1
- package/dist/showcase/assets/metric-bar-BydkmggA.js +0 -1
- package/dist/showcase/assets/metric-grid-BKjrYpt9.js +0 -1
- package/dist/showcase/assets/metric-guQTLTAa.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-DehaJ3nC.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-YjwFT4ae.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-B6DspERM.js +0 -50
- package/dist/showcase/assets/metrics-comparison-Nru5wypZ.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-CcumN0Or.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-2WB7w9mz.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-jU3hsB3C.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-CaJ99RXL.js +0 -42
- package/dist/showcase/assets/metrics-overview-Sa7z6jct.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-PLvMkA0M.js +0 -54
- package/dist/showcase/assets/minus-OyRBql2C.js +0 -1
- package/dist/showcase/assets/money-display-23DKz-jK.js +0 -1
- package/dist/showcase/assets/month-year-picker-oEoInnKW.js +0 -1
- package/dist/showcase/assets/navigation-Ds60FMAs.js +0 -230
- package/dist/showcase/assets/navigation-Dufz6qnF.js +0 -90
- package/dist/showcase/assets/navigation-extras-DKufT82I.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-DSkS2ktA.js +0 -119
- package/dist/showcase/assets/overlays-BptoR4sm.js +0 -408
- package/dist/showcase/assets/overlays-CVGJ_FEg.js +0 -88
- package/dist/showcase/assets/package-0ZgMoFm1.js +0 -1
- package/dist/showcase/assets/package-check-CT0dhSM8.js +0 -1
- package/dist/showcase/assets/page-action-button-DrHJKFbp.js +0 -1
- package/dist/showcase/assets/page-header-CikNDnqI.js +0 -1
- package/dist/showcase/assets/pagination-CxuA2zkE.js +0 -42
- package/dist/showcase/assets/pagination-DsPLs2Tx.js +0 -1
- package/dist/showcase/assets/paperclip-CDMZ_JAo.js +0 -1
- package/dist/showcase/assets/password-input-BVaUPw7a.js +0 -1
- package/dist/showcase/assets/pencil-BouoJ5x7.js +0 -1
- package/dist/showcase/assets/phone-DCNFH5yg.js +0 -1
- package/dist/showcase/assets/plus-DkHZm34I.js +0 -1
- package/dist/showcase/assets/popover-BSB11Qjp.js +0 -1
- package/dist/showcase/assets/popover-CECpX3MQ.js +0 -1
- package/dist/showcase/assets/popover-menu-CuA8fb7i.js +0 -1
- package/dist/showcase/assets/products-BJHNTW62.js +0 -407
- package/dist/showcase/assets/progress-DGvRQyPS.js +0 -1
- package/dist/showcase/assets/progress-tpxRVOkp.js +0 -18
- package/dist/showcase/assets/props-table-BR-KjRNe.js +0 -1
- package/dist/showcase/assets/props.generated-qdUud3iu.json +0 -38611
- package/dist/showcase/assets/quote-CN-Sodsj.js +0 -1
- package/dist/showcase/assets/receipt-T8B9lscp.js +0 -1
- package/dist/showcase/assets/receipt-text-CeBruM29.js +0 -1
- package/dist/showcase/assets/refresh-cw-DnxNcOMm.js +0 -1
- package/dist/showcase/assets/resolveAriaLabelledBy-B2ZzrlGb.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-CGuVi0Dj.js +0 -1
- package/dist/showcase/assets/rich-text-editor-Bha0lSKT.js +0 -143
- package/dist/showcase/assets/rich-text-editor-NeOPmoZF.js +0 -124
- package/dist/showcase/assets/rotate-ccw-7aUlKQpX.js +0 -1
- package/dist/showcase/assets/save-AT8JlA8E.js +0 -1
- package/dist/showcase/assets/schema-form-BpkVygoO.js +0 -325
- package/dist/showcase/assets/scroll-area-B0wmaMAD.js +0 -32
- package/dist/showcase/assets/scroll-area-CgXTHlpJ.js +0 -1
- package/dist/showcase/assets/select-BG_Iad8E.js +0 -1
- package/dist/showcase/assets/select-t6dryszf.js +0 -1
- package/dist/showcase/assets/send-BzGRF4t-.js +0 -1
- package/dist/showcase/assets/separator-BjGdXNcn.js +0 -1
- package/dist/showcase/assets/separator-DbiGagrP.js +0 -28
- package/dist/showcase/assets/settings-BSRT_96A.js +0 -1
- package/dist/showcase/assets/sheet-CEuKOBxr.js +0 -1
- package/dist/showcase/assets/shield-CcR2q5u_.js +0 -1
- package/dist/showcase/assets/shield-alert-DhbgXV1X.js +0 -1
- package/dist/showcase/assets/shield-check-CRbBJXw2.js +0 -1
- package/dist/showcase/assets/shopping-bag-B5BzpLV5.js +0 -1
- package/dist/showcase/assets/sidebar--2nHUTn3.js +0 -1
- package/dist/showcase/assets/sidebar.context-BCb20eIt.js +0 -1
- package/dist/showcase/assets/skeleton-BeVdks4r.js +0 -1
- package/dist/showcase/assets/skeleton-DijlT51X.js +0 -29
- package/dist/showcase/assets/slider-Cp4m3NTK.js +0 -1
- package/dist/showcase/assets/sliders-horizontal-C8RwUn0S.js +0 -1
- package/dist/showcase/assets/smart-card-B4P_C0nk.js +0 -1
- package/dist/showcase/assets/sonner-CLYYRmEW.js +0 -22
- package/dist/showcase/assets/sortable.esm-CoekVJlU.js +0 -5
- package/dist/showcase/assets/sparkles-DFJmoAFP.js +0 -1
- package/dist/showcase/assets/spinner-CeQHboSs.js +0 -49
- package/dist/showcase/assets/spinner-DMKANM9S.js +0 -30
- package/dist/showcase/assets/spinner-WEI7TMVk.js +0 -1
- package/dist/showcase/assets/square-pen-CfvmmXYo.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CcCnnUrA.js +0 -1
- package/dist/showcase/assets/star-DK5onZCp.js +0 -1
- package/dist/showcase/assets/startOfDay-BuizEr24.js +0 -1
- package/dist/showcase/assets/styles-BStlbPXe.js +0 -1
- package/dist/showcase/assets/suggestions-Cd_XUmz3.js +0 -126
- package/dist/showcase/assets/switch-5f1vwEZ7.js +0 -1
- package/dist/showcase/assets/switch-arjWj-n7.js +0 -1
- package/dist/showcase/assets/sync-DorQdMfx.js +0 -107
- package/dist/showcase/assets/table-ClYkDRAk.js +0 -1
- package/dist/showcase/assets/table-D9q0odD8.js +0 -382
- package/dist/showcase/assets/table-actions-UJbkGb44.js +0 -1
- package/dist/showcase/assets/tabs-BENBPFif.js +0 -19
- package/dist/showcase/assets/tabs-ePpje8sU.js +0 -1
- package/dist/showcase/assets/tags-input-DRlg3zQH.js +0 -1
- package/dist/showcase/assets/text-button-CQvP6Kic.js +0 -1
- package/dist/showcase/assets/text-link-DT-nOORV.js +0 -1
- package/dist/showcase/assets/textarea-BGHGV17m.js +0 -1
- package/dist/showcase/assets/textarea-pstF1OBP.js +0 -1
- package/dist/showcase/assets/timelines-D8y-IyxW.js +0 -200
- package/dist/showcase/assets/toggle-group-BVyFo04r.js +0 -1
- package/dist/showcase/assets/toggles-dhLpAHSR.js +0 -71
- package/dist/showcase/assets/toggles-group-BJ5Jio2p.js +0 -32
- package/dist/showcase/assets/trash-2-OsaEm8cc.js +0 -1
- package/dist/showcase/assets/trending-up-HlQQXTth.js +0 -1
- package/dist/showcase/assets/truck-CvvBxBeB.js +0 -1
- package/dist/showcase/assets/typography-D_99bjSh.js +0 -223
- package/dist/showcase/assets/ui-badge-C1bu7wRu.js +0 -28
- package/dist/showcase/assets/ui-card-Ct1FFUxv.js +0 -30
- package/dist/showcase/assets/ui-table-Dxu9Jjq0.js +0 -42
- package/dist/showcase/assets/upload-tray-BeOBVU1z.js +0 -138
- package/dist/showcase/assets/use-layout-link-BK_oEoBg.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DLXArfPo.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-etINba8U.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-BNe9r1t_.js +0 -1
- package/dist/showcase/assets/useCompositeItem-CvG1CBEV.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-CcY0U1bY.js +0 -1
- package/dist/showcase/assets/useControlled-Cpg8gDqb.js +0 -1
- package/dist/showcase/assets/useLabelableId-Czdg4nY8.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-eyZ6twES.js +0 -1
- package/dist/showcase/assets/useRender-BAZlIYnj.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-C2I8g7TT.js +0 -1
- package/dist/showcase/assets/useValueChanged-Bz3WRSDy.js +0 -1
- package/dist/showcase/assets/user-Bqmz8M16.js +0 -1
- package/dist/showcase/assets/user-plus-MMxrhI4h.js +0 -1
- package/dist/showcase/assets/users-ERTaffcv.js +0 -1
- package/dist/showcase/assets/valueToPercent-B5BHWU68.js +0 -1
- package/dist/showcase/assets/vendor-profile-BAwCE0wP.js +0 -37
- package/dist/showcase/assets/video-DJm0ubTE.js +0 -1
- package/dist/showcase/assets/wrench-gaXnvr_b.js +0 -1
- package/dist/showcase/assets/x-BqJnRkKw.js +0 -1
- package/dist/showcase/assets/zap-DHBVTfYZ.js +0 -1
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ exactly your tool.**
|
|
|
56
56
|
|
|
57
57
|
## Seven non-negotiable principles
|
|
58
58
|
|
|
59
|
-
1. **Layered architecture.** `ui/` (shadcn primitives, never edited) →
|
|
59
|
+
1. **Layered architecture.** `ui/` (internal shadcn primitives, never edited) →
|
|
60
60
|
`typography/` → `base/` (typography-aware wrappers) → `layout/`
|
|
61
61
|
(app shells) and `composed/` (domain rows + cards) → `features/`
|
|
62
62
|
(callback-driven feature surfaces). Enforced by `npm run lint:architecture`.
|
|
@@ -84,9 +84,9 @@ exactly your tool.**
|
|
|
84
84
|
|
|
85
85
|
## What this is not
|
|
86
86
|
|
|
87
|
-
- **A
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
- **A public `shadcn/ui` mirror** — it builds on top of shadcn, but raw
|
|
88
|
+
`src/components/ui/*` files are an internal maintainer layer. Consumers use
|
|
89
|
+
the exact package entrypoints documented below.
|
|
90
90
|
- **A marketing-site UI kit** — no hero sections, no landing-page blocks. Use
|
|
91
91
|
it for app interiors.
|
|
92
92
|
- **Coupled to any backend** — everything is callback-driven, you bring the
|
|
@@ -175,7 +175,38 @@ import { UIProvider } from 'admin-ui-starter-kit/ui-provider';
|
|
|
175
175
|
|
|
176
176
|
The provider is locked at first mount; pass everything once at the root.
|
|
177
177
|
|
|
178
|
-
### 6.
|
|
178
|
+
### 6. Optional action runtime
|
|
179
|
+
|
|
180
|
+
Use `services/actions` when the same action should appear in several places
|
|
181
|
+
(page header, table row menu, card menu, command palette) and share one
|
|
182
|
+
loading/error/overlay lifecycle. Keep one-off dialogs local with
|
|
183
|
+
`features/overlays`.
|
|
184
|
+
|
|
185
|
+
```tsx
|
|
186
|
+
import {
|
|
187
|
+
ActionOverlayOutlet,
|
|
188
|
+
ActionProvider,
|
|
189
|
+
} from 'admin-ui-starter-kit/services/actions';
|
|
190
|
+
|
|
191
|
+
<ActionProvider
|
|
192
|
+
feedback={{
|
|
193
|
+
onSuccess: (event) => event.message && toast.success(event.message),
|
|
194
|
+
onError: (event) => event.message && toast.error(event.message),
|
|
195
|
+
}}
|
|
196
|
+
>
|
|
197
|
+
<App />
|
|
198
|
+
<ActionOverlayOutlet />
|
|
199
|
+
</ActionProvider>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Pages register contextual actions with `useRegisterActions` or
|
|
203
|
+
`<ActionScope>`. Routing, permissions, translations, cache invalidation, and
|
|
204
|
+
toasts stay in the consuming app through callbacks. Resolved actions expose
|
|
205
|
+
`status`, `isRunning`, `isSuccess`, `isError`, `errors`, `result`, and
|
|
206
|
+
timestamps; overlay form actions can use `modality.formId` with
|
|
207
|
+
`getFormProps(...)` in the render context.
|
|
208
|
+
|
|
209
|
+
### 7. Install the AI agent skills (optional)
|
|
179
210
|
|
|
180
211
|
This package ships AI skills for Claude Code and other agents:
|
|
181
212
|
|
|
@@ -336,6 +367,7 @@ import { ChartCard } from 'admin-ui-starter-kit/composed/analytics';
|
|
|
336
367
|
import { Comments } from 'admin-ui-starter-kit/features/comments';
|
|
337
368
|
import { Dialog, Drawer } from 'admin-ui-starter-kit/features/overlays';
|
|
338
369
|
import { SchemaForm } from 'admin-ui-starter-kit/features/schema-form';
|
|
370
|
+
import { ActionProvider, ActionOverlayOutlet } from 'admin-ui-starter-kit/services/actions';
|
|
339
371
|
import { useStrings } from 'admin-ui-starter-kit/lib/strings';
|
|
340
372
|
```
|
|
341
373
|
|
|
@@ -359,9 +391,15 @@ Safe public entrypoint shapes:
|
|
|
359
391
|
- `admin-ui-starter-kit/composed/cards`, `admin-ui-starter-kit/composed/analytics`, etc.
|
|
360
392
|
- `admin-ui-starter-kit/features/comments`, `admin-ui-starter-kit/features/filters`, `admin-ui-starter-kit/features/schema-form`, etc.
|
|
361
393
|
- `admin-ui-starter-kit/layout` and exact layout families such as `admin-ui-starter-kit/layout/page`
|
|
394
|
+
- `admin-ui-starter-kit/services/actions`
|
|
362
395
|
- `admin-ui-starter-kit/lib/strings`
|
|
363
396
|
- `admin-ui-starter-kit/lib/utils`
|
|
364
397
|
|
|
398
|
+
Raw shadcn primitives under `src/components/ui/*` are intentionally not public
|
|
399
|
+
package exports. If a consumer needs Tabs, import the library wrapper surface
|
|
400
|
+
that owns that pattern, such as `admin-ui-starter-kit/base/navigation`, rather
|
|
401
|
+
than `admin-ui-starter-kit/ui/tabs`.
|
|
402
|
+
|
|
365
403
|
Avoid broad component imports such as `admin-ui-starter-kit/base`,
|
|
366
404
|
`admin-ui-starter-kit/composed`, or `admin-ui-starter-kit/features`; they are
|
|
367
405
|
intentionally not exported. Use the exact family subpath so missing optional
|
|
@@ -370,6 +408,25 @@ peers fail only when you import the feature that needs them. The package
|
|
|
370
408
|
null wildcard blockers are intentionally avoided because bundlers handle them
|
|
371
409
|
inconsistently.
|
|
372
410
|
|
|
411
|
+
### Internal shadcn primitive inventory
|
|
412
|
+
|
|
413
|
+
Maintainers can add shadcn primitives with
|
|
414
|
+
`npx shadcn@latest add <primitive>`, which writes to `src/components/ui/`.
|
|
415
|
+
Those files are reproducible shadcn output and should be wrapped in `base/`,
|
|
416
|
+
`layout/`, or `features/` before becoming a public package API.
|
|
417
|
+
|
|
418
|
+
Installed internal primitives include:
|
|
419
|
+
`accordion`, `alert-dialog`, `alert`, `aspect-ratio`, `avatar`, `badge`,
|
|
420
|
+
`breadcrumb`, `button`, `button-group`, `calendar`, `card`, `carousel`,
|
|
421
|
+
`chart`, `checkbox`, `collapsible`, `combobox`, `command`, `context-menu`,
|
|
422
|
+
`dialog`, `direction`, `drawer`, `dropdown-menu`, `empty`, `field`,
|
|
423
|
+
`hover-card`, `input`, `input-group`, `input-otp`, `item`, `kbd`, `label`,
|
|
424
|
+
`menubar`, `native-select`, `navigation-menu`, `pagination`, `popover`,
|
|
425
|
+
`progress`, `radio-group`, `resizable`, `scroll-area`, `select`,
|
|
426
|
+
`separator`, `sheet`, `sidebar`, `skeleton`, `slider`, `slot`, `sonner`,
|
|
427
|
+
`spinner`, `switch`, `table`, `tabs`, `textarea`, `toggle`, `toggle-group`,
|
|
428
|
+
and `tooltip`.
|
|
429
|
+
|
|
373
430
|
Dropdown menus use Base UI's `render` prop for custom triggers, not Radix's
|
|
374
431
|
`asChild` prop:
|
|
375
432
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../lib/strings.cjs"),t=require("../lib/utils.cjs"),n=require("./heading-0DYCOrgC.cjs"),r=require("./icon-badge-BAWl1oOe.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("lucide-react"),s=require("@base-ui/react/accordion");function c({className:e,...n}){return(0,a.jsx)(s.Accordion.Root,{"data-slot":`accordion`,className:t.cn(`flex w-full flex-col overflow-hidden rounded-2xl border`,e),...n})}function l({className:e,...n}){return(0,a.jsx)(s.Accordion.Item,{"data-slot":`accordion-item`,className:t.cn(`not-last:border-b data-open:bg-muted/50`,e),...n})}function u({className:e,children:n,...r}){return(0,a.jsx)(s.Accordion.Header,{className:`flex`,children:(0,a.jsxs)(s.Accordion.Trigger,{"data-slot":`accordion-trigger`,className:t.cn(`group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground`,e),...r,children:[n,(0,a.jsx)(o.ChevronDownIcon,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden`}),(0,a.jsx)(o.ChevronUpIcon,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline`})]})})}function d({className:e,children:n,...r}){return(0,a.jsx)(s.Accordion.Panel,{"data-slot":`accordion-content`,className:`overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up`,...r,children:(0,a.jsx)(`div`,{className:t.cn(`h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,e),children:n})})}var f={card:`space-y-2 border-0 rounded-none overflow-visible`,bordered:`rounded-lg border border-border bg-card overflow-hidden`,flat:`border-0 rounded-none bg-transparent overflow-visible`},p={card:`border border-border bg-card rounded-md data-open:bg-card`,bordered:`bg-transparent not-last:border-b border-border data-open:bg-muted/40`,flat:`border-0 bg-transparent data-open:bg-muted/30 rounded-md`},m=`gap-3 px-3 py-(--row-py) text-left hover:no-underline`,h={withMedallion:`pl-12 pr-3 pt-0`,withoutMedallion:`pl-3 pr-3 pt-0`},g={regionAriaLabel:void 0},_=(0,i.forwardRef)(function({items:r,multiple:i=!1,defaultValue:o,value:s,onValueChange:_,variant:y=`card`,iconStyle:b=`medallion`,className:x,itemClassName:S,triggerClassName:C,contentClassName:w,strings:T},E){let D=e.useStrings(g,T);return(0,a.jsx)(c,{ref:E,multiple:i,defaultValue:o,value:s,onValueChange:_?e=>_(e):void 0,"aria-label":D.regionAriaLabel,className:t.cn(`smart-accordion--component`,f[y],x),children:r.map(e=>(0,a.jsxs)(l,{value:e.value,className:t.cn(p[y],S),children:[(0,a.jsx)(u,{className:t.cn(m,C),disabled:e.disabled,children:(0,a.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,a.jsx)(v,{iconStyle:b,icon:e.icon}),(0,a.jsx)(n.n,{tag:`span`,weight:`semibold`,children:e.title}),!!e.badge&&(0,a.jsx)(`span`,{className:`ml-1 inline-flex shrink-0`,children:e.badge})]})}),(0,a.jsx)(d,{className:t.cn(b===`medallion`?h.withMedallion:h.withoutMedallion,w),children:(0,a.jsx)(n.n,{type:`secondary`,className:`leading-relaxed`,children:e.content})})]},e.value))})});_.displayName=`SmartAccordion`;function v({iconStyle:e,icon:t}){return e===`none`||!t?null:e===`inline`?(0,a.jsx)(`span`,{className:`inline-flex shrink-0 text-muted-foreground`,children:t}):(0,a.jsx)(r.t,{size:`sm`,tone:`muted`,shape:`circle`,"aria-hidden":`true`,children:t})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return u}});
|
|
2
|
+
//# sourceMappingURL=accordion-Df1XrCDv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-Df1XrCDv.cjs","names":[],"sources":["../../src/components/ui/accordion.tsx","../../src/components/base/accordion/accordion-variants.ts","../../src/components/base/accordion/accordion.strings.ts","../../src/components/base/accordion/smart-accordion.tsx"],"sourcesContent":["import { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\"\n\nimport { cn } from \"@/lib/utils\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\n \"flex w-full flex-col overflow-hidden rounded-2xl border\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"not-last:border-b data-open:bg-muted/50\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.Trigger.Props) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\" />\n <ChevronUpIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.Panel.Props) {\n return (\n <AccordionPrimitive.Panel\n data-slot=\"accordion-content\"\n className=\"overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div\n className={cn(\n \"h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n >\n {children}\n </div>\n </AccordionPrimitive.Panel>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","/**\n * Shared accordion-shell variant classes — used by both `SmartAccordion`\n * and any composed surface that builds on `base/accordion` directly\n * (e.g. `composed/onboarding/checklist`).\n *\n * Exported because two consumers already keep it in lockstep; a third\n * one will copy this exact map. Centralising means a future tweak\n * (e.g. tighten `card` items to `border-border/70`) propagates.\n *\n * Padding tokens for trigger / content live alongside so the rhythm\n * is shared too:\n *\n * - Trigger: `gap-3 px-3 py-(--row-py)` — density-driven, `<UIProvider>`\n * override flows through.\n * - Content with leading medallion: `pl-12 pr-3 pt-0` — left padding\n * aligns body text under the title (medallion is `size-8` plus\n * `gap-3`, so 32 + 12 = pl-12).\n * - Content without medallion: `pl-3 pr-3 pt-0`.\n */\nexport type AccordionShellVariant = 'card' | 'bordered' | 'flat';\n\nexport const ACCORDION_ROOT_VARIANT_CLASS: Record<AccordionShellVariant, string> = {\n\tcard: 'space-y-2 border-0 rounded-none overflow-visible',\n\tbordered: 'rounded-lg border border-border bg-card overflow-hidden',\n\tflat: 'border-0 rounded-none bg-transparent overflow-visible',\n};\n\nexport const ACCORDION_ITEM_VARIANT_CLASS: Record<AccordionShellVariant, string> = {\n\tcard: 'border border-border bg-card rounded-md data-open:bg-card',\n\tbordered: 'bg-transparent not-last:border-b border-border data-open:bg-muted/40',\n\tflat: 'border-0 bg-transparent data-open:bg-muted/30 rounded-md',\n};\n\nexport const ACCORDION_TRIGGER_BASE =\n\t'gap-3 px-3 py-(--row-py) text-left hover:no-underline';\n\n/**\n * Content-padding presets keyed off the leading-icon width. Use\n * `withMedallion` when the trigger renders an `IconBadge size=\"sm\"`\n * (size-8 = 32px) plus `gap-3` (12px) so body text aligns under the\n * title.\n */\nexport const ACCORDION_CONTENT_PADDING = {\n\twithMedallion: 'pl-12 pr-3 pt-0',\n\twithoutMedallion: 'pl-3 pr-3 pt-0',\n} as const;\n","/**\n * Strings for `SmartAccordion`. There aren't many — Radix handles the\n * trigger ARIA states automatically, so the only library-owned copy is\n * the optional landmark label on the wrapping nav region. Consumers\n * override per-item `title` / `badge` / `content` directly via\n * `SmartAccordionItem` props (the strings live in the data, not here).\n */\nexport interface SmartAccordionStrings {\n\t/**\n\t * Sets `aria-label` on the wrapping element so screen readers can name\n\t * the accordion region. Optional — when absent, no aria-label is set.\n\t */\n\tregionAriaLabel?: string;\n}\n\nexport const defaultSmartAccordionStrings: SmartAccordionStrings = {\n\tregionAriaLabel: undefined,\n};\n","/**\n * SmartAccordion — the canonical \"icon + title + optional badge + body\"\n * accordion pattern, with three visual variants for the surface chrome\n * (`card` | `bordered` | `flat`) and three icon framings (`medallion` |\n * `inline` | `none`).\n *\n * Composes the wrapped `base/accordion` parts (rule 2 — composed-style\n * convenience built from re-exports, not the raw shadcn primitive).\n *\n * For richer rows (multi-line metadata, custom layouts), drop down to\n * the compound API:\n *\n * import { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n * from '@/components/base/accordion';\n */\nimport { forwardRef } from 'react';\n\nimport { IconBadge } from '@/components/base/display/icon-badge';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './accordion';\nimport {\n\tACCORDION_CONTENT_PADDING,\n\tACCORDION_ITEM_VARIANT_CLASS,\n\tACCORDION_ROOT_VARIANT_CLASS,\n\tACCORDION_TRIGGER_BASE,\n} from './accordion-variants';\nimport { defaultSmartAccordionStrings } from './accordion.strings';\nimport type {\n\tSmartAccordionIconStyle,\n\tSmartAccordionProps,\n} from './accordion.types';\n\nexport const SmartAccordion = forwardRef<HTMLDivElement, SmartAccordionProps>(function SmartAccordion({\n\titems,\n\tmultiple = false,\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tvariant = 'card',\n\ticonStyle = 'medallion',\n\tclassName,\n\titemClassName,\n\ttriggerClassName,\n\tcontentClassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst strings = useStrings(defaultSmartAccordionStrings, stringsProp);\n\treturn (\n\t\t<Accordion\n\t\t\tref={ref}\n\t\t\tmultiple={multiple}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tvalue={value}\n\t\t\tonValueChange={\n\t\t\t\tonValueChange\n\t\t\t\t\t? (next) => onValueChange(next as string[])\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-label={strings.regionAriaLabel}\n\t\t\tclassName={cn('smart-accordion--component', ACCORDION_ROOT_VARIANT_CLASS[variant], className)}\n\t\t>\n\t\t\t{items.map((item) => (\n\t\t\t\t<AccordionItem\n\t\t\t\t\tkey={item.value}\n\t\t\t\t\tvalue={item.value}\n\t\t\t\t\tclassName={cn(ACCORDION_ITEM_VARIANT_CLASS[variant], itemClassName)}\n\t\t\t\t>\n\t\t\t\t\t<AccordionTrigger\n\t\t\t\t\t\tclassName={cn(ACCORDION_TRIGGER_BASE, triggerClassName)}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex min-w-0 flex-1 items-center gap-3\">\n\t\t\t\t\t\t\t<SmartAccordionIcon iconStyle={iconStyle} icon={item.icon} />\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t<span className=\"ml-1 inline-flex shrink-0\">{item.badge}</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</AccordionTrigger>\n\t\t\t\t\t<AccordionContent\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\ticonStyle === 'medallion'\n\t\t\t\t\t\t\t\t? ACCORDION_CONTENT_PADDING.withMedallion\n\t\t\t\t\t\t\t\t: ACCORDION_CONTENT_PADDING.withoutMedallion,\n\t\t\t\t\t\t\tcontentClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text type=\"secondary\" className=\"leading-relaxed\">\n\t\t\t\t\t\t\t{item.content}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</AccordionContent>\n\t\t\t\t</AccordionItem>\n\t\t\t))}\n\t\t</Accordion>\n\t);\n});\n\nSmartAccordion.displayName = 'SmartAccordion';\n\nfunction SmartAccordionIcon({\n\ticonStyle,\n\ticon,\n}: {\n\ticonStyle: SmartAccordionIconStyle;\n\ticon?: React.ReactNode;\n}) {\n\tif (iconStyle === 'none' || !icon) return null;\n\tif (iconStyle === 'inline') {\n\t\treturn <span className=\"inline-flex shrink-0 text-muted-foreground\">{icon}</span>;\n\t}\n\treturn (\n\t\t<IconBadge size=\"sm\" tone=\"muted\" shape=\"circle\" aria-hidden=\"true\">\n\t\t\t{icon}\n\t\t</IconBadge>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { useStrings as e } from "../lib/strings.js";
|
|
2
|
+
import { cn as t } from "../lib/utils.js";
|
|
3
|
+
import { n } from "./heading-HeP06nXG.js";
|
|
4
|
+
import { t as r } from "./icon-badge-zTBVtgt9.js";
|
|
5
|
+
import { forwardRef as i } from "react";
|
|
6
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
|
+
import { ChevronDownIcon as s, ChevronUpIcon as c } from "lucide-react";
|
|
8
|
+
import { Accordion as l } from "@base-ui/react/accordion";
|
|
9
|
+
//#region src/components/ui/accordion.tsx
|
|
10
|
+
function u({ className: e, ...n }) {
|
|
11
|
+
return /* @__PURE__ */ a(l.Root, {
|
|
12
|
+
"data-slot": "accordion",
|
|
13
|
+
className: t("flex w-full flex-col overflow-hidden rounded-2xl border", e),
|
|
14
|
+
...n
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function d({ className: e, ...n }) {
|
|
18
|
+
return /* @__PURE__ */ a(l.Item, {
|
|
19
|
+
"data-slot": "accordion-item",
|
|
20
|
+
className: t("not-last:border-b data-open:bg-muted/50", e),
|
|
21
|
+
...n
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function f({ className: e, children: n, ...r }) {
|
|
25
|
+
return /* @__PURE__ */ a(l.Header, {
|
|
26
|
+
className: "flex",
|
|
27
|
+
children: /* @__PURE__ */ o(l.Trigger, {
|
|
28
|
+
"data-slot": "accordion-trigger",
|
|
29
|
+
className: t("group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", e),
|
|
30
|
+
...r,
|
|
31
|
+
children: [
|
|
32
|
+
n,
|
|
33
|
+
/* @__PURE__ */ a(s, {
|
|
34
|
+
"data-slot": "accordion-trigger-icon",
|
|
35
|
+
className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"
|
|
36
|
+
}),
|
|
37
|
+
/* @__PURE__ */ a(c, {
|
|
38
|
+
"data-slot": "accordion-trigger-icon",
|
|
39
|
+
className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"
|
|
40
|
+
})
|
|
41
|
+
]
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function p({ className: e, children: n, ...r }) {
|
|
46
|
+
return /* @__PURE__ */ a(l.Panel, {
|
|
47
|
+
"data-slot": "accordion-content",
|
|
48
|
+
className: "overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",
|
|
49
|
+
...r,
|
|
50
|
+
children: /* @__PURE__ */ a("div", {
|
|
51
|
+
className: t("h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", e),
|
|
52
|
+
children: n
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/components/base/accordion/accordion-variants.ts
|
|
58
|
+
var m = {
|
|
59
|
+
card: "space-y-2 border-0 rounded-none overflow-visible",
|
|
60
|
+
bordered: "rounded-lg border border-border bg-card overflow-hidden",
|
|
61
|
+
flat: "border-0 rounded-none bg-transparent overflow-visible"
|
|
62
|
+
}, h = {
|
|
63
|
+
card: "border border-border bg-card rounded-md data-open:bg-card",
|
|
64
|
+
bordered: "bg-transparent not-last:border-b border-border data-open:bg-muted/40",
|
|
65
|
+
flat: "border-0 bg-transparent data-open:bg-muted/30 rounded-md"
|
|
66
|
+
}, g = "gap-3 px-3 py-(--row-py) text-left hover:no-underline", _ = {
|
|
67
|
+
withMedallion: "pl-12 pr-3 pt-0",
|
|
68
|
+
withoutMedallion: "pl-3 pr-3 pt-0"
|
|
69
|
+
}, v = { regionAriaLabel: void 0 }, y = i(function({ items: r, multiple: i = !1, defaultValue: s, value: c, onValueChange: l, variant: y = "card", iconStyle: x = "medallion", className: S, itemClassName: C, triggerClassName: w, contentClassName: T, strings: E }, D) {
|
|
70
|
+
let O = e(v, E);
|
|
71
|
+
return /* @__PURE__ */ a(u, {
|
|
72
|
+
ref: D,
|
|
73
|
+
multiple: i,
|
|
74
|
+
defaultValue: s,
|
|
75
|
+
value: c,
|
|
76
|
+
onValueChange: l ? (e) => l(e) : void 0,
|
|
77
|
+
"aria-label": O.regionAriaLabel,
|
|
78
|
+
className: t("smart-accordion--component", m[y], S),
|
|
79
|
+
children: r.map((e) => /* @__PURE__ */ o(d, {
|
|
80
|
+
value: e.value,
|
|
81
|
+
className: t(h[y], C),
|
|
82
|
+
children: [/* @__PURE__ */ a(f, {
|
|
83
|
+
className: t(g, w),
|
|
84
|
+
disabled: e.disabled,
|
|
85
|
+
children: /* @__PURE__ */ o("div", {
|
|
86
|
+
className: "flex min-w-0 flex-1 items-center gap-3",
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ a(b, {
|
|
89
|
+
iconStyle: x,
|
|
90
|
+
icon: e.icon
|
|
91
|
+
}),
|
|
92
|
+
/* @__PURE__ */ a(n, {
|
|
93
|
+
tag: "span",
|
|
94
|
+
weight: "semibold",
|
|
95
|
+
children: e.title
|
|
96
|
+
}),
|
|
97
|
+
!!e.badge && /* @__PURE__ */ a("span", {
|
|
98
|
+
className: "ml-1 inline-flex shrink-0",
|
|
99
|
+
children: e.badge
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
})
|
|
103
|
+
}), /* @__PURE__ */ a(p, {
|
|
104
|
+
className: t(x === "medallion" ? _.withMedallion : _.withoutMedallion, T),
|
|
105
|
+
children: /* @__PURE__ */ a(n, {
|
|
106
|
+
type: "secondary",
|
|
107
|
+
className: "leading-relaxed",
|
|
108
|
+
children: e.content
|
|
109
|
+
})
|
|
110
|
+
})]
|
|
111
|
+
}, e.value))
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
y.displayName = "SmartAccordion";
|
|
115
|
+
function b({ iconStyle: e, icon: t }) {
|
|
116
|
+
return e === "none" || !t ? null : e === "inline" ? /* @__PURE__ */ a("span", {
|
|
117
|
+
className: "inline-flex shrink-0 text-muted-foreground",
|
|
118
|
+
children: t
|
|
119
|
+
}) : /* @__PURE__ */ a(r, {
|
|
120
|
+
size: "sm",
|
|
121
|
+
tone: "muted",
|
|
122
|
+
shape: "circle",
|
|
123
|
+
"aria-hidden": "true",
|
|
124
|
+
children: t
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
128
|
+
export { m as a, p as c, h as i, d as l, v as n, g as o, _ as r, u as s, y as t, f as u };
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=accordion-Rzi9wEl6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-Rzi9wEl6.js","names":[],"sources":["../../src/components/ui/accordion.tsx","../../src/components/base/accordion/accordion-variants.ts","../../src/components/base/accordion/accordion.strings.ts","../../src/components/base/accordion/smart-accordion.tsx"],"sourcesContent":["import { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\"\n\nimport { cn } from \"@/lib/utils\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\n \"flex w-full flex-col overflow-hidden rounded-2xl border\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"not-last:border-b data-open:bg-muted/50\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.Trigger.Props) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\" />\n <ChevronUpIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.Panel.Props) {\n return (\n <AccordionPrimitive.Panel\n data-slot=\"accordion-content\"\n className=\"overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div\n className={cn(\n \"h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n >\n {children}\n </div>\n </AccordionPrimitive.Panel>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","/**\n * Shared accordion-shell variant classes — used by both `SmartAccordion`\n * and any composed surface that builds on `base/accordion` directly\n * (e.g. `composed/onboarding/checklist`).\n *\n * Exported because two consumers already keep it in lockstep; a third\n * one will copy this exact map. Centralising means a future tweak\n * (e.g. tighten `card` items to `border-border/70`) propagates.\n *\n * Padding tokens for trigger / content live alongside so the rhythm\n * is shared too:\n *\n * - Trigger: `gap-3 px-3 py-(--row-py)` — density-driven, `<UIProvider>`\n * override flows through.\n * - Content with leading medallion: `pl-12 pr-3 pt-0` — left padding\n * aligns body text under the title (medallion is `size-8` plus\n * `gap-3`, so 32 + 12 = pl-12).\n * - Content without medallion: `pl-3 pr-3 pt-0`.\n */\nexport type AccordionShellVariant = 'card' | 'bordered' | 'flat';\n\nexport const ACCORDION_ROOT_VARIANT_CLASS: Record<AccordionShellVariant, string> = {\n\tcard: 'space-y-2 border-0 rounded-none overflow-visible',\n\tbordered: 'rounded-lg border border-border bg-card overflow-hidden',\n\tflat: 'border-0 rounded-none bg-transparent overflow-visible',\n};\n\nexport const ACCORDION_ITEM_VARIANT_CLASS: Record<AccordionShellVariant, string> = {\n\tcard: 'border border-border bg-card rounded-md data-open:bg-card',\n\tbordered: 'bg-transparent not-last:border-b border-border data-open:bg-muted/40',\n\tflat: 'border-0 bg-transparent data-open:bg-muted/30 rounded-md',\n};\n\nexport const ACCORDION_TRIGGER_BASE =\n\t'gap-3 px-3 py-(--row-py) text-left hover:no-underline';\n\n/**\n * Content-padding presets keyed off the leading-icon width. Use\n * `withMedallion` when the trigger renders an `IconBadge size=\"sm\"`\n * (size-8 = 32px) plus `gap-3` (12px) so body text aligns under the\n * title.\n */\nexport const ACCORDION_CONTENT_PADDING = {\n\twithMedallion: 'pl-12 pr-3 pt-0',\n\twithoutMedallion: 'pl-3 pr-3 pt-0',\n} as const;\n","/**\n * Strings for `SmartAccordion`. There aren't many — Radix handles the\n * trigger ARIA states automatically, so the only library-owned copy is\n * the optional landmark label on the wrapping nav region. Consumers\n * override per-item `title` / `badge` / `content` directly via\n * `SmartAccordionItem` props (the strings live in the data, not here).\n */\nexport interface SmartAccordionStrings {\n\t/**\n\t * Sets `aria-label` on the wrapping element so screen readers can name\n\t * the accordion region. Optional — when absent, no aria-label is set.\n\t */\n\tregionAriaLabel?: string;\n}\n\nexport const defaultSmartAccordionStrings: SmartAccordionStrings = {\n\tregionAriaLabel: undefined,\n};\n","/**\n * SmartAccordion — the canonical \"icon + title + optional badge + body\"\n * accordion pattern, with three visual variants for the surface chrome\n * (`card` | `bordered` | `flat`) and three icon framings (`medallion` |\n * `inline` | `none`).\n *\n * Composes the wrapped `base/accordion` parts (rule 2 — composed-style\n * convenience built from re-exports, not the raw shadcn primitive).\n *\n * For richer rows (multi-line metadata, custom layouts), drop down to\n * the compound API:\n *\n * import { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n * from '@/components/base/accordion';\n */\nimport { forwardRef } from 'react';\n\nimport { IconBadge } from '@/components/base/display/icon-badge';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './accordion';\nimport {\n\tACCORDION_CONTENT_PADDING,\n\tACCORDION_ITEM_VARIANT_CLASS,\n\tACCORDION_ROOT_VARIANT_CLASS,\n\tACCORDION_TRIGGER_BASE,\n} from './accordion-variants';\nimport { defaultSmartAccordionStrings } from './accordion.strings';\nimport type {\n\tSmartAccordionIconStyle,\n\tSmartAccordionProps,\n} from './accordion.types';\n\nexport const SmartAccordion = forwardRef<HTMLDivElement, SmartAccordionProps>(function SmartAccordion({\n\titems,\n\tmultiple = false,\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tvariant = 'card',\n\ticonStyle = 'medallion',\n\tclassName,\n\titemClassName,\n\ttriggerClassName,\n\tcontentClassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst strings = useStrings(defaultSmartAccordionStrings, stringsProp);\n\treturn (\n\t\t<Accordion\n\t\t\tref={ref}\n\t\t\tmultiple={multiple}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tvalue={value}\n\t\t\tonValueChange={\n\t\t\t\tonValueChange\n\t\t\t\t\t? (next) => onValueChange(next as string[])\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-label={strings.regionAriaLabel}\n\t\t\tclassName={cn('smart-accordion--component', ACCORDION_ROOT_VARIANT_CLASS[variant], className)}\n\t\t>\n\t\t\t{items.map((item) => (\n\t\t\t\t<AccordionItem\n\t\t\t\t\tkey={item.value}\n\t\t\t\t\tvalue={item.value}\n\t\t\t\t\tclassName={cn(ACCORDION_ITEM_VARIANT_CLASS[variant], itemClassName)}\n\t\t\t\t>\n\t\t\t\t\t<AccordionTrigger\n\t\t\t\t\t\tclassName={cn(ACCORDION_TRIGGER_BASE, triggerClassName)}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex min-w-0 flex-1 items-center gap-3\">\n\t\t\t\t\t\t\t<SmartAccordionIcon iconStyle={iconStyle} icon={item.icon} />\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t<span className=\"ml-1 inline-flex shrink-0\">{item.badge}</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</AccordionTrigger>\n\t\t\t\t\t<AccordionContent\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\ticonStyle === 'medallion'\n\t\t\t\t\t\t\t\t? ACCORDION_CONTENT_PADDING.withMedallion\n\t\t\t\t\t\t\t\t: ACCORDION_CONTENT_PADDING.withoutMedallion,\n\t\t\t\t\t\t\tcontentClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text type=\"secondary\" className=\"leading-relaxed\">\n\t\t\t\t\t\t\t{item.content}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</AccordionContent>\n\t\t\t\t</AccordionItem>\n\t\t\t))}\n\t\t</Accordion>\n\t);\n});\n\nSmartAccordion.displayName = 'SmartAccordion';\n\nfunction SmartAccordionIcon({\n\ticonStyle,\n\ticon,\n}: {\n\ticonStyle: SmartAccordionIconStyle;\n\ticon?: React.ReactNode;\n}) {\n\tif (iconStyle === 'none' || !icon) return null;\n\tif (iconStyle === 'inline') {\n\t\treturn <span className=\"inline-flex shrink-0 text-muted-foreground\">{icon}</span>;\n\t}\n\treturn (\n\t\t<IconBadge size=\"sm\" tone=\"muted\" shape=\"circle\" aria-hidden=\"true\">\n\t\t\t{icon}\n\t\t</IconBadge>\n\t);\n}\n"],"mappings":";;;;;;;;;AAKA,SAAS,EAAU,EAAE,cAAW,GAAG,KAAwC;CACzE,OACE,kBAAC,EAAmB,MAApB;EACE,aAAU;EACV,WAAW,EACT,2DACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAc,EAAE,cAAW,GAAG,KAAwC;CAC7E,OACE,kBAAC,EAAmB,MAApB;EACE,aAAU;EACV,WAAW,EAAG,2CAA2C,CAAS;EAClE,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EACxB,cACA,aACA,GAAG,KACgC;CACnC,OACE,kBAAC,EAAmB,QAApB;EAA2B,WAAU;YACnC,kBAAC,EAAmB,SAApB;GACE,aAAU;GACV,WAAW,EACT,4YACA,CACF;GACA,GAAI;aANN;IAQG;IACD,kBAAC,GAAD;KAAiB,aAAU;KAAyB,WAAU;IAA6E,CAAA;IAC3I,kBAAC,GAAD;KAAe,aAAU;KAAyB,WAAU;IAAoF,CAAA;GACtH;;CACH,CAAA;AAE/B;AAEA,SAAS,EAAiB,EACxB,cACA,aACA,GAAG,KAC8B;CACjC,OACE,kBAAC,EAAmB,OAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,kBAAC,OAAD;GACE,WAAW,EACT,yLACA,CACF;GAEC;EACE,CAAA;CACmB,CAAA;AAE9B;;;ACnDA,IAAa,IAAsE;CAClF,MAAM;CACN,UAAU;CACV,MAAM;AACP,GAEa,IAAsE;CAClF,MAAM;CACN,UAAU;CACV,MAAM;AACP,GAEa,IACZ,yDAQY,IAA4B;CACxC,eAAe;CACf,kBAAkB;AACnB,GC9Ba,IAAsD,EAClE,iBAAiB,KAAA,EAClB,GCkBa,IAAiB,EAAgD,SAAwB,EACrG,UACA,cAAW,IACX,iBACA,UACA,kBACA,aAAU,QACV,eAAY,aACZ,cACA,kBACA,qBACA,qBACA,SAAS,KACP,GAAK;CACP,IAAM,IAAU,EAAW,GAA8B,CAAW;CACpE,OACC,kBAAC,GAAD;EACM;EACK;EACI;EACP;EACP,eACC,KACI,MAAS,EAAc,CAAgB,IACxC,KAAA;EAEJ,cAAY,EAAQ;EACpB,WAAW,EAAG,8BAA8B,EAA6B,IAAU,CAAS;YAE3F,EAAM,KAAK,MACX,kBAAC,GAAD;GAEC,OAAO,EAAK;GACZ,WAAW,EAAG,EAA6B,IAAU,CAAa;aAHnE,CAKC,kBAAC,GAAD;IACC,WAAW,EAAG,GAAwB,CAAgB;IACtD,UAAU,EAAK;cAEf,kBAAC,OAAD;KAAK,WAAU;eAAf;MACC,kBAAC,GAAD;OAA+B;OAAW,MAAM,EAAK;MAAO,CAAA;MAC5D,kBAAC,GAAD;OAAM,KAAI;OAAO,QAAO;iBACtB,EAAK;MACD,CAAA;MACL,CAAC,CAAC,EAAK,SACP,kBAAC,QAAD;OAAM,WAAU;iBAA6B,EAAK;MAAY,CAAA;KAE3D;;GACY,CAAA,GAClB,kBAAC,GAAD;IACC,WAAW,EACV,MAAc,cACX,EAA0B,gBAC1B,EAA0B,kBAC7B,CACD;cAEA,kBAAC,GAAD;KAAM,MAAK;KAAY,WAAU;eAC/B,EAAK;IACD,CAAA;GACW,CAAA,CACJ;KA9BT,EAAK,KA8BI,CACf;CACS,CAAA;AAEb,CAAC;AAED,EAAe,cAAc;AAE7B,SAAS,EAAmB,EAC3B,cACA,WAIE;CAKF,OAJI,MAAc,UAAU,CAAC,IAAa,OACtC,MAAc,WACV,kBAAC,QAAD;EAAM,WAAU;YAA8C;CAAW,CAAA,IAGhF,kBAAC,GAAD;EAAW,MAAK;EAAK,MAAK;EAAQ,OAAM;EAAS,eAAY;YAC3D;CACS,CAAA;AAEb"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { cn as e } from "../lib/utils.js";
|
|
2
|
+
import { t } from "./button-BGKY8UY0.js";
|
|
3
|
+
import { a as n, g as r, r as i, s as a, t as o } from "./dropdown-menu-CoWmrjYX.js";
|
|
4
|
+
import s from "react";
|
|
5
|
+
import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
6
|
+
import { MoreVertical as d } from "lucide-react";
|
|
7
|
+
//#region src/components/base/navigation/action-menu.tsx
|
|
8
|
+
var f = ({ label: n, icon: a = d, srText: f = "Open menu", buttonProps: p, align: m = "center", children: h, contentClassName: g = "", width: _ = "w-auto", closeOnSelect: v = !1, density: y = "default" }) => {
|
|
9
|
+
let [b, x] = s.useState(!1), S = s.useMemo(() => {
|
|
10
|
+
let e = s.Children.toArray(h).map((e) => {
|
|
11
|
+
if (!s.isValidElement(e) || e.type.displayName !== "MenuAction") return e;
|
|
12
|
+
let t = e, n = t.props.onClick;
|
|
13
|
+
return s.cloneElement(t, {
|
|
14
|
+
onClick: () => {
|
|
15
|
+
n && n(), v && x(!1);
|
|
16
|
+
},
|
|
17
|
+
density: t.props.density ?? y
|
|
18
|
+
});
|
|
19
|
+
}), t = e.filter((e) => s.isValidElement(e) ? e.props.variant !== "error" : !1), n = e.filter((e) => s.isValidElement(e) ? e.props.variant === "error" : !1);
|
|
20
|
+
return [...t, ...n];
|
|
21
|
+
}, [
|
|
22
|
+
h,
|
|
23
|
+
v,
|
|
24
|
+
y
|
|
25
|
+
]), C = {
|
|
26
|
+
variant: "secondary",
|
|
27
|
+
buttonStyle: "ghost",
|
|
28
|
+
size: "icon",
|
|
29
|
+
className: "h-8 w-8 p-0"
|
|
30
|
+
}, { variant: w = "secondary", buttonStyle: T = "ghost", size: E = "icon", className: D, ...O } = {
|
|
31
|
+
...C,
|
|
32
|
+
...p,
|
|
33
|
+
className: e(C.className, p?.className)
|
|
34
|
+
}, k = n ? /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(a, { className: "h-4 w-4 mr-2" }), n] }) : /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(a, { className: "h-4 w-4" }), /* @__PURE__ */ l("span", {
|
|
35
|
+
className: "sr-only",
|
|
36
|
+
children: f
|
|
37
|
+
})] });
|
|
38
|
+
return /* @__PURE__ */ u(o, {
|
|
39
|
+
open: b,
|
|
40
|
+
onOpenChange: x,
|
|
41
|
+
children: [/* @__PURE__ */ l(r, { render: (n) => /* @__PURE__ */ l(t, {
|
|
42
|
+
...O,
|
|
43
|
+
...n,
|
|
44
|
+
type: "button",
|
|
45
|
+
variant: w,
|
|
46
|
+
buttonStyle: T,
|
|
47
|
+
size: E,
|
|
48
|
+
className: e("action-menu--component", D, n.className),
|
|
49
|
+
children: k
|
|
50
|
+
}) }), /* @__PURE__ */ l(i, {
|
|
51
|
+
align: m,
|
|
52
|
+
className: e(_, "min-w-[140px] p-2", y === "table" && "text-xxs leading-4", g),
|
|
53
|
+
children: S
|
|
54
|
+
})]
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
f.displayName = "ActionMenu";
|
|
58
|
+
var p = s.forwardRef(({ onClick: t, href: r, prefetch: i, disabled: o = !1, icon: s, label: c, variant: d = "secondary", className: f = "", children: p, density: m = "default" }, h) => {
|
|
59
|
+
let g = r && !o, _ = g ? (t) => /* @__PURE__ */ l("a", {
|
|
60
|
+
...t,
|
|
61
|
+
href: r,
|
|
62
|
+
className: e(t.className)
|
|
63
|
+
}) : void 0;
|
|
64
|
+
return p ? g ? /* @__PURE__ */ l(a, {
|
|
65
|
+
href: r,
|
|
66
|
+
onClick: t,
|
|
67
|
+
render: _,
|
|
68
|
+
className: e("text-xs px-2 py-1.5 gap-1.5", m === "table" && "text-inherit leading-4", f),
|
|
69
|
+
children: p
|
|
70
|
+
}) : /* @__PURE__ */ l(n, {
|
|
71
|
+
ref: h,
|
|
72
|
+
disabled: o,
|
|
73
|
+
onClick: t,
|
|
74
|
+
className: e("text-xs px-2 py-1.5 gap-1.5", m === "table" && "text-inherit leading-4", f),
|
|
75
|
+
children: p
|
|
76
|
+
}) : g ? /* @__PURE__ */ u(a, {
|
|
77
|
+
href: r,
|
|
78
|
+
variant: d === "error" ? "destructive" : "default",
|
|
79
|
+
onClick: t,
|
|
80
|
+
render: _,
|
|
81
|
+
className: e("text-xs px-2 py-1.5 gap-1.5", m === "table" && "leading-4", f),
|
|
82
|
+
children: [!!s && /* @__PURE__ */ l(s, { className: "h-3.5 w-3.5" }), c]
|
|
83
|
+
}) : /* @__PURE__ */ u(n, {
|
|
84
|
+
ref: h,
|
|
85
|
+
disabled: o,
|
|
86
|
+
variant: d === "error" ? "destructive" : "default",
|
|
87
|
+
onClick: t,
|
|
88
|
+
className: e("text-xs px-2 py-1.5 gap-1.5", m === "table" && "leading-4", f),
|
|
89
|
+
children: [!!s && /* @__PURE__ */ l(s, { className: "h-3.5 w-3.5" }), c]
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
p.displayName = "MenuAction";
|
|
93
|
+
//#endregion
|
|
94
|
+
export { p as n, f as t };
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=action-menu-CrOJ63Q9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-menu-CrOJ63Q9.js","names":[],"sources":["../../src/components/base/navigation/action-menu.tsx"],"sourcesContent":["/**\n * ActionMenu — dropdown trigger + grouped menu items. Use `MenuAction`\n * children to define each menu entry; `variant=\"error\"` actions are\n * automatically grouped at the bottom for visual separation. Optional\n * `closeOnSelect` closes the menu after each selection. The `density=\"table\"`\n * variant tightens type and spacing for use inside DataTable rows.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport { MoreVertical } from 'lucide-react';\nimport React, { type ReactElement } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n\tDropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\ntype ActionMenuButtonProps = Partial<React.ComponentPropsWithoutRef<typeof Button>>;\ntype ActionMenuDensity = 'default' | 'table';\n\nexport interface ActionMenuProps {\n\tlabel?: string;\n\ticon?: LucideIcon;\n\tsrText?: string;\n\tbuttonProps?: ActionMenuButtonProps;\n\talign?: 'center' | 'start' | 'end';\n\tchildren?: React.ReactNode;\n\tcontentClassName?: string;\n\twidth?: string;\n\tcloseOnSelect?: boolean;\n\tdensity?: ActionMenuDensity;\n}\n\nexport interface MenuActionProps {\n\tonClick?: () => void;\n\thref?: string;\n\tprefetch?: boolean;\n\tdisabled?: boolean;\n\ticon?: LucideIcon;\n\tlabel?: string;\n\tvariant?: 'primary' | 'secondary' | 'error';\n\tclassName?: string;\n\tchildren?: React.ReactNode;\n\tdensity?: ActionMenuDensity;\n}\n\nexport const ActionMenu = ({\n\tlabel,\n\ticon: IconComponent = MoreVertical,\n\tsrText = 'Open menu',\n\tbuttonProps,\n\talign = 'center',\n\tchildren,\n\tcontentClassName = '',\n\twidth = 'w-auto',\n\tcloseOnSelect = false,\n\tdensity = 'default',\n}: ActionMenuProps) => {\n\tconst [open, setOpen] = React.useState(false);\n\n\tconst processedChildren = React.useMemo(() => {\n\t\tconst childrenArray = React.Children.toArray(children);\n\n\t\tconst clonedChildren = childrenArray.map((child) => {\n\t\t\tif (!React.isValidElement(child)) return child;\n\n\t\t\tconst childType = child.type as React.ComponentType & { displayName?: string };\n\t\t\tif (childType.displayName !== 'MenuAction') return child;\n\n\t\t\tconst menuActionChild = child as React.ReactElement<MenuActionProps>;\n\t\t\tconst onClick = menuActionChild.props.onClick;\n\n\t\t\treturn React.cloneElement(menuActionChild, {\n\t\t\t\tonClick: () => {\n\t\t\t\t\tif (onClick) onClick();\n\t\t\t\t\tif (closeOnSelect) setOpen(false);\n\t\t\t\t},\n\t\t\t\tdensity: menuActionChild.props.density ?? density,\n\t\t\t});\n\t\t});\n\n\t\tconst standardActions = clonedChildren.filter((child): child is ReactElement<MenuActionProps> => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\treturn (child.props as MenuActionProps).variant !== 'error';\n\t\t});\n\n\t\tconst destructiveActions = clonedChildren.filter((child): child is ReactElement<MenuActionProps> => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\treturn (child.props as MenuActionProps).variant === 'error';\n\t\t});\n\n\t\treturn [...standardActions, ...destructiveActions];\n\t}, [children, closeOnSelect, density]);\n\n\tconst defaultButtonProps: ActionMenuButtonProps = {\n\t\tvariant: 'secondary',\n\t\tbuttonStyle: 'ghost',\n\t\tsize: 'icon',\n\t\tclassName: 'h-8 w-8 p-0',\n\t};\n\n\tconst mergedButtonProps = {\n\t\t...defaultButtonProps,\n\t\t...buttonProps,\n\t\tclassName: cn(defaultButtonProps.className, buttonProps?.className),\n\t};\n\n\tconst {\n\t\tvariant = 'secondary',\n\t\tbuttonStyle = 'ghost',\n\t\tsize = 'icon',\n\t\tclassName: triggerClassName,\n\t\t...triggerProps\n\t} = mergedButtonProps;\n\n\tconst buttonContent = label ? (\n\t\t<>\n\t\t\t<IconComponent className=\"h-4 w-4 mr-2\" />\n\t\t\t{label}\n\t\t</>\n\t) : (\n\t\t<>\n\t\t\t<IconComponent className=\"h-4 w-4\" />\n\t\t\t<span className=\"sr-only\">{srText}</span>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<DropdownMenu open={open} onOpenChange={setOpen}>\n\t\t\t<DropdownMenuTrigger\n\t\t\t\trender={(dropdownTriggerProps) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t{...dropdownTriggerProps}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\tbuttonStyle={buttonStyle}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'action-menu--component',\n\t\t\t\t\t\t\ttriggerClassName,\n\n\t\t\t\t\t\t\t(dropdownTriggerProps as { className?: string }).className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{buttonContent}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<DropdownMenuContent\n\t\t\t\talign={align}\n\t\t\t\tclassName={cn(\n\t\t\t\t\twidth,\n\t\t\t\t\t'min-w-[140px] p-2',\n\t\t\t\t\tdensity === 'table' && 'text-xxs leading-4',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{processedChildren}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n};\n\nActionMenu.displayName = 'ActionMenu';\n\nexport const MenuAction = React.forwardRef<HTMLDivElement, MenuActionProps>(\n\t(\n\t\t{\n\t\t\tonClick,\n\t\t\thref,\n\t\t\tprefetch,\n\t\t\tdisabled = false,\n\t\t\ticon: IconComponent,\n\t\t\tlabel,\n\t\t\tvariant = 'secondary',\n\t\t\tclassName = '',\n\t\t\tchildren,\n\t\t\tdensity = 'default',\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst renderLink = href && !disabled;\n\t\tvoid prefetch;\n\t\tconst linkRenderer = renderLink\n\t\t\t? (renderProps: React.ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t<a\n\t\t\t\t\t\t{...renderProps}\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tclassName={cn(renderProps.className)}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t: undefined;\n\n\t\tif (children) {\n\t\t\tif (renderLink) {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\trender={linkRenderer}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\t\tdensity === 'table' && 'text-inherit leading-4',\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\tdensity === 'table' && 'text-inherit leading-4',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</DropdownMenuItem>\n\t\t\t);\n\t\t}\n\n\t\tif (renderLink) {\n\t\t\treturn (\n\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\thref={href}\n\t\t\t\t\tvariant={variant === 'error' ? 'destructive' : 'default'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\trender={linkRenderer}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\tdensity === 'table' && 'leading-4',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{!!IconComponent && <IconComponent className=\"h-3.5 w-3.5\" />}\n\t\t\t\t\t{label}\n\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tvariant={variant === 'error' ? 'destructive' : 'default'}\n\t\t\t\tonClick={onClick}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\tdensity === 'table' && 'leading-4',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!!IconComponent && <IconComponent className=\"h-3.5 w-3.5\" />}\n\t\t\t\t{label}\n\t\t\t</DropdownMenuItem>\n\t\t);\n\t},\n);\n\nMenuAction.displayName = 'MenuAction';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/utils.cjs"),n=require("./button-BI347RlM.cjs"),r=require("./dropdown-menu-CHQzQWUK.cjs");let i=require("react");i=e.t(i,1);let a=require("react/jsx-runtime"),o=require("lucide-react");var s=({label:e,icon:s=o.MoreVertical,srText:c=`Open menu`,buttonProps:l,align:u=`center`,children:d,contentClassName:f=``,width:p=`w-auto`,closeOnSelect:m=!1,density:h=`default`})=>{let[g,_]=i.default.useState(!1),v=i.default.useMemo(()=>{let e=i.default.Children.toArray(d).map(e=>{if(!i.default.isValidElement(e)||e.type.displayName!==`MenuAction`)return e;let t=e,n=t.props.onClick;return i.default.cloneElement(t,{onClick:()=>{n&&n(),m&&_(!1)},density:t.props.density??h})}),t=e.filter(e=>i.default.isValidElement(e)?e.props.variant!==`error`:!1),n=e.filter(e=>i.default.isValidElement(e)?e.props.variant===`error`:!1);return[...t,...n]},[d,m,h]),y={variant:`secondary`,buttonStyle:`ghost`,size:`icon`,className:`h-8 w-8 p-0`},{variant:b=`secondary`,buttonStyle:x=`ghost`,size:S=`icon`,className:C,...w}={...y,...l,className:t.cn(y.className,l?.className)},T=e?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s,{className:`h-4 w-4 mr-2`}),e]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:c})]});return(0,a.jsxs)(r.t,{open:g,onOpenChange:_,children:[(0,a.jsx)(r.g,{render:e=>(0,a.jsx)(n.t,{...w,...e,type:`button`,variant:b,buttonStyle:x,size:S,className:t.cn(`action-menu--component`,C,e.className),children:T})}),(0,a.jsx)(r.r,{align:u,className:t.cn(p,`min-w-[140px] p-2`,h===`table`&&`text-xxs leading-4`,f),children:v})]})};s.displayName=`ActionMenu`;var c=i.default.forwardRef(({onClick:e,href:n,prefetch:i,disabled:o=!1,icon:s,label:c,variant:l=`secondary`,className:u=``,children:d,density:f=`default`},p)=>{let m=n&&!o,h=m?e=>(0,a.jsx)(`a`,{...e,href:n,className:t.cn(e.className)}):void 0;return d?m?(0,a.jsx)(r.s,{href:n,onClick:e,render:h,className:t.cn(`text-xs px-2 py-1.5 gap-1.5`,f===`table`&&`text-inherit leading-4`,u),children:d}):(0,a.jsx)(r.a,{ref:p,disabled:o,onClick:e,className:t.cn(`text-xs px-2 py-1.5 gap-1.5`,f===`table`&&`text-inherit leading-4`,u),children:d}):m?(0,a.jsxs)(r.s,{href:n,variant:l===`error`?`destructive`:`default`,onClick:e,render:h,className:t.cn(`text-xs px-2 py-1.5 gap-1.5`,f===`table`&&`leading-4`,u),children:[!!s&&(0,a.jsx)(s,{className:`h-3.5 w-3.5`}),c]}):(0,a.jsxs)(r.a,{ref:p,disabled:o,variant:l===`error`?`destructive`:`default`,onClick:e,className:t.cn(`text-xs px-2 py-1.5 gap-1.5`,f===`table`&&`leading-4`,u),children:[!!s&&(0,a.jsx)(s,{className:`h-3.5 w-3.5`}),c]})});c.displayName=`MenuAction`,Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return s}});
|
|
2
|
+
//# sourceMappingURL=action-menu-D9OowHKx.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-menu-D9OowHKx.cjs","names":[],"sources":["../../src/components/base/navigation/action-menu.tsx"],"sourcesContent":["/**\n * ActionMenu — dropdown trigger + grouped menu items. Use `MenuAction`\n * children to define each menu entry; `variant=\"error\"` actions are\n * automatically grouped at the bottom for visual separation. Optional\n * `closeOnSelect` closes the menu after each selection. The `density=\"table\"`\n * variant tightens type and spacing for use inside DataTable rows.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport { MoreVertical } from 'lucide-react';\nimport React, { type ReactElement } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n\tDropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\ntype ActionMenuButtonProps = Partial<React.ComponentPropsWithoutRef<typeof Button>>;\ntype ActionMenuDensity = 'default' | 'table';\n\nexport interface ActionMenuProps {\n\tlabel?: string;\n\ticon?: LucideIcon;\n\tsrText?: string;\n\tbuttonProps?: ActionMenuButtonProps;\n\talign?: 'center' | 'start' | 'end';\n\tchildren?: React.ReactNode;\n\tcontentClassName?: string;\n\twidth?: string;\n\tcloseOnSelect?: boolean;\n\tdensity?: ActionMenuDensity;\n}\n\nexport interface MenuActionProps {\n\tonClick?: () => void;\n\thref?: string;\n\tprefetch?: boolean;\n\tdisabled?: boolean;\n\ticon?: LucideIcon;\n\tlabel?: string;\n\tvariant?: 'primary' | 'secondary' | 'error';\n\tclassName?: string;\n\tchildren?: React.ReactNode;\n\tdensity?: ActionMenuDensity;\n}\n\nexport const ActionMenu = ({\n\tlabel,\n\ticon: IconComponent = MoreVertical,\n\tsrText = 'Open menu',\n\tbuttonProps,\n\talign = 'center',\n\tchildren,\n\tcontentClassName = '',\n\twidth = 'w-auto',\n\tcloseOnSelect = false,\n\tdensity = 'default',\n}: ActionMenuProps) => {\n\tconst [open, setOpen] = React.useState(false);\n\n\tconst processedChildren = React.useMemo(() => {\n\t\tconst childrenArray = React.Children.toArray(children);\n\n\t\tconst clonedChildren = childrenArray.map((child) => {\n\t\t\tif (!React.isValidElement(child)) return child;\n\n\t\t\tconst childType = child.type as React.ComponentType & { displayName?: string };\n\t\t\tif (childType.displayName !== 'MenuAction') return child;\n\n\t\t\tconst menuActionChild = child as React.ReactElement<MenuActionProps>;\n\t\t\tconst onClick = menuActionChild.props.onClick;\n\n\t\t\treturn React.cloneElement(menuActionChild, {\n\t\t\t\tonClick: () => {\n\t\t\t\t\tif (onClick) onClick();\n\t\t\t\t\tif (closeOnSelect) setOpen(false);\n\t\t\t\t},\n\t\t\t\tdensity: menuActionChild.props.density ?? density,\n\t\t\t});\n\t\t});\n\n\t\tconst standardActions = clonedChildren.filter((child): child is ReactElement<MenuActionProps> => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\treturn (child.props as MenuActionProps).variant !== 'error';\n\t\t});\n\n\t\tconst destructiveActions = clonedChildren.filter((child): child is ReactElement<MenuActionProps> => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\treturn (child.props as MenuActionProps).variant === 'error';\n\t\t});\n\n\t\treturn [...standardActions, ...destructiveActions];\n\t}, [children, closeOnSelect, density]);\n\n\tconst defaultButtonProps: ActionMenuButtonProps = {\n\t\tvariant: 'secondary',\n\t\tbuttonStyle: 'ghost',\n\t\tsize: 'icon',\n\t\tclassName: 'h-8 w-8 p-0',\n\t};\n\n\tconst mergedButtonProps = {\n\t\t...defaultButtonProps,\n\t\t...buttonProps,\n\t\tclassName: cn(defaultButtonProps.className, buttonProps?.className),\n\t};\n\n\tconst {\n\t\tvariant = 'secondary',\n\t\tbuttonStyle = 'ghost',\n\t\tsize = 'icon',\n\t\tclassName: triggerClassName,\n\t\t...triggerProps\n\t} = mergedButtonProps;\n\n\tconst buttonContent = label ? (\n\t\t<>\n\t\t\t<IconComponent className=\"h-4 w-4 mr-2\" />\n\t\t\t{label}\n\t\t</>\n\t) : (\n\t\t<>\n\t\t\t<IconComponent className=\"h-4 w-4\" />\n\t\t\t<span className=\"sr-only\">{srText}</span>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<DropdownMenu open={open} onOpenChange={setOpen}>\n\t\t\t<DropdownMenuTrigger\n\t\t\t\trender={(dropdownTriggerProps) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t{...dropdownTriggerProps}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\tbuttonStyle={buttonStyle}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'action-menu--component',\n\t\t\t\t\t\t\ttriggerClassName,\n\n\t\t\t\t\t\t\t(dropdownTriggerProps as { className?: string }).className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{buttonContent}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<DropdownMenuContent\n\t\t\t\talign={align}\n\t\t\t\tclassName={cn(\n\t\t\t\t\twidth,\n\t\t\t\t\t'min-w-[140px] p-2',\n\t\t\t\t\tdensity === 'table' && 'text-xxs leading-4',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{processedChildren}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n};\n\nActionMenu.displayName = 'ActionMenu';\n\nexport const MenuAction = React.forwardRef<HTMLDivElement, MenuActionProps>(\n\t(\n\t\t{\n\t\t\tonClick,\n\t\t\thref,\n\t\t\tprefetch,\n\t\t\tdisabled = false,\n\t\t\ticon: IconComponent,\n\t\t\tlabel,\n\t\t\tvariant = 'secondary',\n\t\t\tclassName = '',\n\t\t\tchildren,\n\t\t\tdensity = 'default',\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst renderLink = href && !disabled;\n\t\tvoid prefetch;\n\t\tconst linkRenderer = renderLink\n\t\t\t? (renderProps: React.ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t<a\n\t\t\t\t\t\t{...renderProps}\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tclassName={cn(renderProps.className)}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t: undefined;\n\n\t\tif (children) {\n\t\t\tif (renderLink) {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\trender={linkRenderer}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\t\tdensity === 'table' && 'text-inherit leading-4',\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\tdensity === 'table' && 'text-inherit leading-4',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</DropdownMenuItem>\n\t\t\t);\n\t\t}\n\n\t\tif (renderLink) {\n\t\t\treturn (\n\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\thref={href}\n\t\t\t\t\tvariant={variant === 'error' ? 'destructive' : 'default'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\trender={linkRenderer}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\tdensity === 'table' && 'leading-4',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{!!IconComponent && <IconComponent className=\"h-3.5 w-3.5\" />}\n\t\t\t\t\t{label}\n\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tvariant={variant === 'error' ? 'destructive' : 'default'}\n\t\t\t\tonClick={onClick}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\tdensity === 'table' && 'leading-4',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!!IconComponent && <IconComponent className=\"h-3.5 w-3.5\" />}\n\t\t\t\t{label}\n\t\t\t</DropdownMenuItem>\n\t\t);\n\t},\n);\n\nMenuAction.displayName = 'MenuAction';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const e=require("../lib/strings.cjs"),t=require("../lib/utils.cjs"),n=require("./button-BI347RlM.cjs"),r=require("./heading-0DYCOrgC.cjs"),i=require("./icon-badge-BAWl1oOe.cjs"),a=require("./badge-CBof1rbF.cjs");let o=require("react"),s=require("react/jsx-runtime"),c=require("lucide-react");var l={copyAria:`Copy message`,copied:`Copied`,regenerateAria:`Regenerate response`},u={assistant:{wrap:`flex-row`,avatar:`bg-primary/15 text-primary`,bubble:`bg-card border border-border/60`},user:{wrap:`flex-row-reverse text-right`,avatar:`bg-muted text-foreground`,bubble:`bg-primary text-primary-foreground`},system:{wrap:`flex-row`,avatar:`bg-muted text-muted-foreground`,bubble:`bg-muted/40 border border-dashed border-border/60`}},d={assistant:c.Bot,user:c.User,system:c.Bot};function f({role:i=`assistant`,avatar:a,avatarLabel:f,authorName:p,timestamp:m,children:h,plainText:g,loading:_=!1,onCopy:v,onRegenerate:y,className:b,strings:x}){let S=e.useStrings(l,x),[C,w]=(0,o.useState)(!1),T=u[i],E=d[i],D=()=>{let e=g??(typeof h==`string`?h:``);e&&typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(e),w(!0),v?.(),window.setTimeout(()=>w(!1),1500)},O=a??(0,s.jsx)(`span`,{"aria-label":f,className:t.cn(`inline-flex size-7 shrink-0 items-center justify-center rounded-full`,T.avatar),children:(0,s.jsx)(E,{className:`size-3.5`})});return(0,s.jsxs)(`div`,{className:t.cn(`ai-message-bubble--component`,`flex w-full items-start gap-2`,T.wrap,b),children:[O,(0,s.jsxs)(`div`,{className:`flex max-w-[80%] flex-col gap-1`,children:[(p||m)&&(0,s.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[!!p&&(0,s.jsx)(r.n,{size:`xs`,weight:`medium`,children:p}),!!m&&(0,s.jsx)(r.n,{size:`xxs`,type:`secondary`,className:`tabular-nums`,children:m})]}),(0,s.jsx)(`div`,{className:t.cn(`rounded-2xl px-3.5 py-2.5 text-sm leading-relaxed`,T.bubble,_&&`animate-pulse`),children:h}),(v!==void 0||g||y)&&i===`assistant`&&(0,s.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":S.copyAria,onClick:D,children:(0,s.jsx)(c.Copy,{className:`size-3.5`})}),C&&(0,s.jsx)(r.n,{size:`xxs`,type:`success`,children:S.copied}),!!y&&(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":S.regenerateAria,onClick:y,children:(0,s.jsx)(c.RotateCcw,{className:`size-3.5`})})]})]})]})}f.displayName=`AiMessageBubble`;var p={pending:`Queued`,running:`Running`,success:`Success`,error:`Failed`,expand:`Show details`,collapse:`Hide details`,args:`Arguments`,result:`Result`,durationLabel:`Took`},m={pending:{variant:`secondary`,icon:c.CircleDot},running:{variant:`primary`,icon:c.Loader2},success:{variant:`success`},error:{variant:`error`,icon:c.AlertCircle}};function h(e){return e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(+(e<1e4))}s`}function g({name:l,status:u,icon:d=c.Wrench,args:f,result:g,error:v,durationMs:y,defaultExpanded:b=!1,className:x,strings:S}){let C=e.useStrings(p,S),[w,T]=(0,o.useState)(b),E={pending:C.pending,running:C.running,success:C.success,error:C.error},D=m[u].icon,O=!!(f||g||v);return(0,s.jsxs)(`div`,{className:t.cn(`ai-tool-call--component`,`overflow-hidden rounded-lg border border-border/60 bg-card`,u===`error`&&`border-destructive/40 bg-destructive/5`,x),children:[(0,s.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`sm`,onClick:()=>O&&T(e=>!e),className:t.cn(`ai-tool-call--trigger h-auto w-full justify-start gap-2 rounded-none px-3 py-2 text-left`,O?`cursor-pointer hover:bg-muted/40`:`cursor-default`),"aria-expanded":O?w:void 0,"aria-label":O?w?C.collapse:C.expand:void 0,children:[(0,s.jsx)(i.t,{icon:d,tone:`muted`,size:`sm`,shape:`square`}),(0,s.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,s.jsx)(r.n,{weight:`medium`,className:`truncate font-mono`,children:l})}),(0,s.jsxs)(a.t,{variant:m[u].variant,className:`gap-1`,children:[!!D&&(0,s.jsx)(D,{className:t.cn(`size-3`,u===`running`&&`animate-spin`)}),E[u]]}),!!y&&(0,s.jsxs)(r.n,{size:`xxs`,type:`secondary`,className:`tabular-nums`,children:[C.durationLabel,` `,h(y)]}),O&&(w?(0,s.jsx)(c.ChevronDown,{className:`size-3.5 text-muted-foreground`}):(0,s.jsx)(c.ChevronRight,{className:`size-3.5 text-muted-foreground`}))]}),!!w&&O&&(0,s.jsxs)(`div`,{className:`border-t border-border/60 bg-muted/20 px-3 py-2 space-y-2`,children:[!!f&&(0,s.jsx)(_,{label:C.args,children:f}),u===`error`&&v?(0,s.jsx)(_,{label:C.error,tone:`error`,children:v}):!!g&&(0,s.jsx)(_,{label:C.result,children:g})]})]})}g.displayName=`AiToolCall`;function _({label:e,children:n,tone:i=`neutral`}){return(0,s.jsxs)(`div`,{className:`space-y-1`,children:[(0,s.jsx)(r.n,{size:`xxs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:e}),(0,s.jsx)(`pre`,{tabIndex:0,className:t.cn(`overflow-x-auto rounded-md bg-card px-2.5 py-2 font-mono text-xs leading-relaxed`,i===`error`&&`text-destructive bg-destructive/5`),children:n})]})}function v({children:e=`Thinking…`,paused:n=!1,duration:i=2.4,className:a}){if(n)return(0,s.jsx)(r.n,{type:`secondary`,className:t.cn(`ai-shimmer--component`,a),children:e});let o={"--ai-shimmer-duration":`${i}s`};return(0,s.jsx)(`span`,{"data-ai-shimmer":!0,role:`status`,"aria-live":`polite`,className:t.cn(`inline-block bg-clip-text text-sm font-medium text-transparent`,`bg-[linear-gradient(110deg,var(--ai-shimmer-base)_30%,var(--ai-shimmer-highlight)_50%,var(--ai-shimmer-base)_70%)]`,`bg-[length:200%_100%]`,`animate-[ai-shimmer-sweep_var(--ai-shimmer-duration,2.4s)_linear_infinite]`,a),style:o,children:e})}v.displayName=`AiShimmer`;var y={copy:`Copy`,copied:`Copied`,copyAria:`Copy code`,defaultLanguageLabel:`Code`};function b({code:i,language:a,filename:l,showLineNumbers:u=!1,highlightLines:d,hideHeader:f=!1,maxHeight:p,headerActions:m,onCopy:h,className:g,strings:_}){let v=e.useStrings(y,_),[b,x]=(0,o.useState)(!1),S=(0,o.useMemo)(()=>i.split(`
|
|
2
|
+
`),[i]),C=(0,o.useMemo)(()=>new Set(d??[]),[d]),w=()=>{typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(i),x(!0),h?.(),window.setTimeout(()=>x(!1),1500)},T=l||a||v.defaultLanguageLabel;return(0,s.jsxs)(`div`,{className:t.cn(`ai-code-block--component`,`w-full min-w-0 max-w-full overflow-hidden rounded-lg border border-border/60 bg-card`,g),children:[!f&&(0,s.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 border-b border-border/60 bg-muted/30 px-3 py-1.5`,children:[(0,s.jsx)(r.n,{size:`xxs`,type:`secondary`,weight:`medium`,className:`min-w-0 truncate font-mono uppercase tracking-wider`,children:T}),!!l&&!!a&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`span`,{"aria-hidden":!0,className:`text-muted-foreground/60`,children:`·`}),(0,s.jsx)(r.n,{size:`xxs`,type:`discrete`,className:`font-mono lowercase`,children:a})]}),(0,s.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[m,(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":v.copyAria,onClick:w,children:b?(0,s.jsx)(c.Check,{className:`size-3.5 text-success`}):(0,s.jsx)(c.Copy,{className:`size-3.5`})})]})]}),(0,s.jsx)(`div`,{className:`min-w-0 max-w-full overflow-auto`,tabIndex:0,style:p===void 0?void 0:{maxHeight:typeof p==`number`?`${p}px`:p},children:(0,s.jsx)(`pre`,{className:`m-0 px-3 py-2.5 font-mono text-xs leading-relaxed`,children:u?(0,s.jsx)(`table`,{className:`w-full border-collapse`,children:(0,s.jsx)(`tbody`,{children:S.map((e,n)=>{let r=n+1;return(0,s.jsxs)(`tr`,{className:t.cn(C.has(r)&&`bg-primary/10`),children:[(0,s.jsx)(`td`,{className:t.cn(`select-none pr-3 text-right tabular-nums text-muted-foreground/70`,`w-[2.25rem] min-w-[2.25rem]`),children:r}),(0,s.jsx)(`td`,{className:`whitespace-pre`,children:e||` `})]},n)})})}):(0,s.jsx)(`code`,{className:`block whitespace-pre`,children:i})})})]})}b.displayName=`AiCodeBlock`;var x={removeAria:`Remove attachment`,openAria:`Open attachment`,uploadProgressAria:`Upload progress`},S={image:c.ImageIcon,document:c.FileText,audio:c.AudioLines,video:c.Video,code:c.FileCode,archive:c.Archive,generic:c.FileText};function C({name:i,meta:a,kind:o=`generic`,icon:l,thumbnailUrl:u,progress:d,errored:f=!1,onOpen:p,onRemove:m,className:h,strings:g}){let _=e.useStrings(x,g),v=l??S[o],y=!f&&typeof d==`number`&&d>=0&&d<1,b=(0,s.jsxs)(s.Fragment,{children:[u?(0,s.jsx)(`span`,{"aria-hidden":!0,className:`size-9 shrink-0 overflow-hidden rounded-md bg-muted`,style:{backgroundImage:`url(${u})`,backgroundSize:`cover`,backgroundPosition:`center`}}):(0,s.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`inline-flex size-9 shrink-0 items-center justify-center rounded-md`,f?`bg-destructive/10 text-destructive`:`bg-muted text-muted-foreground`),children:f?(0,s.jsx)(c.AlertCircle,{className:`size-4`}):(0,s.jsx)(v,{className:`size-4`})}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsx)(r.n,{weight:`medium`,className:`block truncate`,children:i}),!!a&&(0,s.jsx)(r.n,{size:`xxs`,type:`secondary`,className:`block truncate tabular-nums`,children:a}),y&&(0,s.jsx)(`div`,{className:`mt-1 h-1 overflow-hidden rounded-full bg-muted`,"aria-label":_.uploadProgressAria,children:(0,s.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width] duration-150`,style:{width:`${Math.round((d??0)*100)}%`}})})]})]});return(0,s.jsxs)(`div`,{className:t.cn(`ai-attachment--component`,`group inline-flex max-w-full items-center gap-2.5 rounded-lg border border-border/60 bg-card px-2.5 py-2`,f&&`border-destructive/40 bg-destructive/5`,h),children:[p?(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`sm`,onClick:p,"aria-label":_.openAria,className:t.cn(`h-auto min-w-0 flex-1 justify-start gap-2.5 rounded-md px-0 py-0 text-left`),children:b}):(0,s.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2.5`,children:b}),!!m&&(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":_.removeAria,onClick:m,className:`opacity-60 group-hover:opacity-100`,children:(0,s.jsx)(c.X,{className:`size-3.5`})})]})}C.displayName=`AiAttachment`;var w={statusLabels:{idle:`Idle`,thinking:`Thinking`,working:`Working`,done:`Done`,error:`Error`,offline:`Offline`}},T={primary:`bg-primary/15 text-primary`,success:`bg-success/15 text-success`,warning:`bg-warning/20 text-warning`,destructive:`bg-destructive/15 text-destructive`,info:`bg-info/15 text-info`,neutral:`bg-muted text-muted-foreground`},E={idle:`secondary`,thinking:`primary`,working:`primary`,done:`success`,error:`error`,offline:`secondary`};function D({name:n,icon:i,avatar:o,subtitle:l,tone:u=`primary`,status:d,variant:f=`inline`,trailing:p,className:m,strings:h}){let g=e.useStrings(w,h),_=i??c.Bot,v=f===`card`?`size-9`:`size-7`,y=f===`card`?`size-4`:`size-3.5`,b=o??(0,s.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`inline-flex shrink-0 items-center justify-center rounded-full`,v,T[u]),children:(0,s.jsx)(_,{className:y})}),x=!!d&&(0,s.jsxs)(a.t,{variant:E[d],className:`gap-1`,children:[(0,s.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`inline-block size-1.5 rounded-full`,d===`thinking`||d===`working`?`animate-pulse bg-current`:`bg-current`)}),g.statusLabels[d]]});return f===`card`?(0,s.jsxs)(`div`,{className:t.cn(`ai-agent--component`,`flex items-center gap-3 rounded-lg border border-border/60 bg-card px-3 py-2.5`,m),children:[b,(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(r.n,{weight:`semibold`,className:`truncate`,children:n}),x]}),!!l&&(0,s.jsx)(r.n,{size:`xs`,type:`secondary`,className:`mt-0.5 line-clamp-1`,children:l})]}),!!p&&(0,s.jsx)(`div`,{className:`ml-auto flex items-center gap-1`,children:p})]}):(0,s.jsxs)(`div`,{className:t.cn(`inline-flex items-center gap-2`,m),children:[b,(0,s.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,s.jsx)(r.n,{size:`xs`,weight:`medium`,className:`truncate`,children:n}),!!l&&(0,s.jsx)(r.n,{size:`xxs`,type:`secondary`,className:`truncate`,children:l}),x]}),!!p&&(0,s.jsx)(`div`,{className:`ml-1 flex items-center gap-1`,children:p})]})}D.displayName=`AiAgent`;var O={approve:`Approve`,reject:`Reject`,pending:`Awaiting your approval`,approved:`Approved`,rejected:`Rejected`},k={neutral:{ring:`border-border/60 bg-card`,icon:`muted`},destructive:{ring:`border-destructive/40 bg-destructive/5`,icon:`destructive`},warning:{ring:`border-warning/40 bg-warning/5`,icon:`warning`},info:{ring:`border-info/40 bg-info/5`,icon:`info`},primary:{ring:`border-primary/40 bg-primary/5`,icon:`primary`}};function A({title:a,description:o,icon:l,tone:u=`neutral`,status:d=`pending`,onApprove:f,onReject:p,approveLabel:m,rejectLabel:h,details:g,className:_,strings:v}){let y=e.useStrings(O,v),b=l??c.ShieldCheck,x=k[u];return(0,s.jsxs)(`div`,{role:`region`,"aria-live":`polite`,className:t.cn(`ai-confirmation--component`,`rounded-lg border px-3 py-2.5`,x.ring,_),children:[(0,s.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,s.jsx)(i.t,{icon:b,tone:x.icon,size:`sm`,shape:`square`}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsx)(r.n,{weight:`semibold`,children:a}),!!o&&(0,s.jsx)(r.n,{size:`xs`,type:`secondary`,className:`mt-1`,children:o}),!!g&&(0,s.jsx)(`div`,{className:`mt-2`,children:g})]})]}),d===`pending`?(0,s.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-2 border-t border-border/60 pt-2.5`,children:[(0,s.jsx)(r.n,{size:`xxs`,type:`secondary`,children:y.pending}),(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,onClick:p,children:[(0,s.jsx)(c.X,{className:`size-3.5`}),h??y.reject]}),(0,s.jsxs)(n.t,{type:`button`,variant:u===`destructive`?`error`:`primary`,onClick:f,children:[(0,s.jsx)(c.Check,{className:`size-3.5`}),m??y.approve]})]})]}):(0,s.jsx)(`div`,{className:`mt-3 flex items-center gap-2 border-t border-border/60 pt-2.5`,children:d===`approved`?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.Check,{className:`size-3.5 text-success`}),(0,s.jsx)(r.n,{size:`xs`,type:`success`,weight:`medium`,children:y.approved})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.X,{className:`size-3.5 text-muted-foreground`}),(0,s.jsx)(r.n,{size:`xs`,type:`secondary`,weight:`medium`,children:y.rejected})]})})]})}A.displayName=`AiConfirmation`;var j={title:`{{count}} sources`,expand:`Show all sources`,collapse:`Hide sources`,visit:`Visit source`};function M(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function N({sources:i,variant:a=`list`,maxAvatars:l=5,defaultExpanded:u=!1,onSelect:d,className:f,strings:p}){let m=e.mergeStrings(j,p),[h,g]=(0,o.useState)(u),_=M(m.title,{count:i.length});if(a===`avatars`)return(0,s.jsx)(P,{sources:i,max:l,title:_,onSelect:d,className:t.cn(`ai-sources--component`,f)});let v=h?i:i.slice(0,0);return(0,s.jsxs)(`div`,{className:t.cn(`ai-sources--component rounded-lg border border-border/60 bg-card`,f),children:[(0,s.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`sm`,onClick:()=>g(e=>!e),"aria-expanded":h,"aria-label":h?m.collapse:m.expand,className:t.cn(`ai-sources--trigger h-auto w-full justify-start gap-2 px-3 py-2 text-left`,`rounded-lg hover:bg-muted/40`),children:[(0,s.jsx)(F,{sources:i.slice(0,4)}),(0,s.jsx)(r.n,{size:`xs`,weight:`medium`,className:`flex-1`,children:_}),h?(0,s.jsx)(c.ChevronDown,{className:`size-3.5 text-muted-foreground`}):(0,s.jsx)(c.ChevronRight,{className:`size-3.5 text-muted-foreground`})]}),h&&(0,s.jsx)(`ol`,{className:`border-t border-border/60 px-2 py-2 space-y-0.5`,children:v.map((e,t)=>(0,s.jsx)(L,{source:e,index:t+1,onSelect:d?()=>d(e,t):void 0,visitLabel:m.visit},e.id))})]})}N.displayName=`AiSources`;function P({sources:e,max:n,title:i,onSelect:a,className:o}){let c=e.slice(0,n),l=e.length-c.length;return(0,s.jsxs)(`div`,{className:t.cn(`inline-flex items-center gap-2`,o),children:[(0,s.jsx)(F,{sources:c,onSelect:a}),(0,s.jsx)(r.n,{size:`xs`,type:`secondary`,children:i}),l>0&&(0,s.jsxs)(r.n,{size:`xxs`,type:`discrete`,className:`tabular-nums`,children:[`+`,l]})]})}function F({sources:e,onSelect:t}){return(0,s.jsx)(`div`,{className:`flex -space-x-1.5`,children:e.map((e,r)=>{let i=(0,s.jsx)(`span`,{"aria-hidden":!0,title:typeof e.title==`string`?e.title:void 0,className:`inline-flex size-5 items-center justify-center overflow-hidden rounded-full border border-card bg-muted text-muted-foreground ring-1 ring-border/60`,children:(0,s.jsx)(I,{src:e.faviconUrl})},e.id);return t?(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,onClick:()=>t(e,r),className:`size-5 rounded-full p-0`,children:i},e.id):i})})}function I({src:e}){let[t,n]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{n(!1)},[e]),!e||t?(0,s.jsx)(c.Globe,{className:`size-3`}):(0,s.jsx)(`img`,{src:e,alt:``,className:`size-full object-cover`,onError:()=>n(!0)})}function L({source:e,index:n,onSelect:i,visitLabel:a}){return(0,s.jsx)(`li`,{children:(0,s.jsxs)(e.url&&!i?`a`:i?`button`:`span`,{...e.url&&!i?{href:e.url,target:`_blank`,rel:`noopener noreferrer`}:i?{type:`button`,onClick:i}:{},className:t.cn(`group flex w-full items-start gap-2.5 rounded-md px-2 py-1.5 text-left`,(e.url||i)&&`hover:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`),"aria-label":e.url?a:void 0,children:[(0,s.jsx)(`span`,{className:`inline-flex size-5 shrink-0 items-center justify-center rounded-full bg-muted text-xxs font-semibold text-muted-foreground tabular-nums`,children:n}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsxs)(r.n,{weight:`medium`,className:`truncate`,children:[e.title,!!e.url&&(0,s.jsx)(c.ExternalLink,{className:`ml-1 inline size-3 text-muted-foreground/70 align-baseline`})]}),!!e.publisher&&(0,s.jsx)(r.n,{size:`xxs`,type:`secondary`,className:`truncate`,children:e.publisher}),!!e.snippet&&(0,s.jsx)(r.n,{size:`xs`,type:`secondary`,className:`mt-1 line-clamp-2`,children:e.snippet})]})]})})}var R={thinking:`Thinking…`,thoughtFor:`Thought for {{seconds}}s`,thoughtDone:`Reasoning complete`,expandAria:`Expand reasoning`,collapseAria:`Collapse reasoning`};function z(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function B({children:i,streaming:a=!1,durationSeconds:l,expandWhileStreaming:u=!0,defaultExpanded:d=!1,expanded:f,onExpandedChange:p,className:m,strings:h}){let g=e.useStrings(R,h),[_,y]=(0,o.useState)(d),b=f??_,x=e=>{f===void 0&&y(e),p?.(e)};(0,o.useEffect)(()=>{a&&u&&!b&&x(!0),!a&&u&&b&&!d&&f===void 0&&x(!1)},[a]);let S=a?(0,s.jsx)(v,{children:g.thinking}):l===void 0?(0,s.jsx)(r.n,{weight:`medium`,children:g.thoughtDone}):(0,s.jsx)(r.n,{weight:`medium`,children:z(g.thoughtFor,{seconds:l.toFixed(1)})});return(0,s.jsxs)(`div`,{className:t.cn(`ai-reasoning--component`,`overflow-hidden rounded-lg border border-border/60 bg-muted/20`,m),children:[(0,s.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`sm`,onClick:()=>x(!b),"aria-expanded":b,"aria-label":b?g.collapseAria:g.expandAria,className:t.cn(`ai-reasoning--trigger h-auto w-full justify-start gap-2 rounded-none px-3 py-2 text-left`,`hover:bg-muted/30`),children:[(0,s.jsx)(c.Brain,{className:`size-3.5 text-muted-foreground`}),(0,s.jsx)(`div`,{className:`flex-1`,children:S}),b?(0,s.jsx)(c.ChevronDown,{className:`size-3.5 text-muted-foreground`}):(0,s.jsx)(c.ChevronRight,{className:`size-3.5 text-muted-foreground`})]}),b&&(0,s.jsx)(`div`,{className:`border-t border-border/60 px-3 py-2.5`,children:typeof i==`string`?(0,s.jsx)(r.n,{type:`secondary`,lineHeight:`relaxed`,className:`whitespace-pre-wrap`,children:i}):(0,s.jsx)(`div`,{className:`whitespace-pre-wrap`,children:i})})]})}B.displayName=`AiReasoning`;var V={title:`Reasoning`,streamingHint:`Working through the steps…`},H={pending:{icon:c.Circle,iconCls:`text-muted-foreground/60`,ring:`border-border/60 bg-card`},active:{icon:c.Loader2,iconCls:`text-primary`,ring:`border-primary/40 bg-primary/5`,spin:!0},completed:{icon:c.Check,iconCls:`text-success-foreground`,ring:`border-success/40 bg-success`},failed:{icon:c.AlertCircle,iconCls:`text-destructive-foreground`,ring:`border-destructive/40 bg-destructive`}};function U({steps:n,hideHeader:i=!1,streaming:a=!1,className:o,strings:c}){let l=e.useStrings(V,c);return(0,s.jsxs)(`div`,{className:t.cn(`ai-chain-of-thought--component`,`rounded-lg border border-border/60 bg-card`,o),children:[!i&&(0,s.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/60 px-3 py-2`,children:[(0,s.jsx)(r.n,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:l.title}),a&&(0,s.jsx)(v,{className:`ml-auto !text-xs`,children:l.streamingHint})]}),(0,s.jsx)(`ol`,{className:`relative px-3 py-3`,children:n.map((e,i)=>{let a=e.status??`pending`,o=H[a],c=e.icon??o.icon;return(0,s.jsxs)(`li`,{className:`relative flex gap-3 pb-3 last:pb-0`,children:[i!==n.length-1&&(0,s.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-[11px] top-[26px] h-[calc(100%-26px)] w-px bg-border/60`}),(0,s.jsx)(`span`,{"aria-hidden":!0,className:t.cn(`relative z-[1] mt-0.5 inline-flex size-[22px] shrink-0 items-center justify-center rounded-full border`,o.ring),children:(0,s.jsx)(c,{className:t.cn(`size-3`,o.iconCls,o.spin&&`animate-spin`)})}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsx)(r.n,{weight:a===`active`?`semibold`:`medium`,className:t.cn(a===`pending`&&`text-muted-foreground`),children:e.title}),!!e.description&&(0,s.jsx)(r.n,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:e.description}),!!e.body&&(0,s.jsx)(`div`,{className:`mt-2`,children:e.body})]})]},e.id)})})]})}U.displayName=`AiChainOfThought`;var W={statusLabels:{queued:`Queued`,running:`Running`,completed:`Done`,failed:`Failed`,cancelled:`Cancelled`,skipped:`Skipped`},collapseSubtasks:`Collapse subtasks`,expandSubtasks:`Expand subtasks`},G={queued:{icon:c.Circle,cls:`text-muted-foreground/60`},running:{icon:c.Loader2,cls:`text-primary`,spin:!0},completed:{icon:c.Check,cls:`text-success`},failed:{icon:c.AlertCircle,cls:`text-destructive`},cancelled:{icon:c.XCircle,cls:`text-muted-foreground`},skipped:{icon:c.MinusCircle,cls:`text-muted-foreground`}},K={queued:`secondary`,running:`primary`,completed:`success`,failed:`error`,cancelled:`secondary`,skipped:`secondary`};function q({task:n,density:r=`compact`,indent:i=18,className:a,strings:o}){let c=e.useStrings(W,o);return(0,s.jsx)(`div`,{className:t.cn(`ai-task--component`,`rounded-lg border border-border/60 bg-card`,a),children:(0,s.jsx)(J,{item:n,depth:0,density:r,indent:i,strings:c})})}q.displayName=`AiTask`;function J({item:e,depth:i,density:l,indent:u,strings:d}){let f=e.status??`queued`,p=G[f],m=e.icon??p.icon,h=!!e.children?.length,[g,_]=(0,o.useState)(l===`expanded`||i===0);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(`div`,{className:t.cn(`flex items-start gap-2 px-3 py-2`,i>0&&`border-t border-border/60`),style:{paddingLeft:12+i*u},children:[h?(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,onClick:()=>_(e=>!e),"aria-expanded":g,"aria-label":g?d.collapseSubtasks:d.expandSubtasks,className:`-ml-1 mt-0.5 size-4 rounded p-0 text-muted-foreground hover:text-foreground`,children:g?(0,s.jsx)(c.ChevronDown,{className:`size-3.5`}):(0,s.jsx)(c.ChevronRight,{className:`size-3.5`})}):(0,s.jsx)(`span`,{"aria-hidden":!0,className:`mt-0.5 size-4`}),(0,s.jsx)(m,{className:t.cn(`mt-[3px] size-3.5 shrink-0`,p.cls,p.spin&&`animate-spin`)}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(r.n,{weight:f===`running`?`semibold`:`medium`,className:t.cn(`flex-1 truncate`,f===`queued`&&`text-muted-foreground`,f===`cancelled`&&`line-through text-muted-foreground`,f===`skipped`&&`text-muted-foreground/70`),children:e.title}),(0,s.jsx)(a.t,{variant:K[f],children:d.statusLabels[f]}),!!e.rightSlot&&(0,s.jsx)(r.n,{tag:`span`,size:`xxs`,type:`secondary`,className:`tabular-nums`,children:e.rightSlot})]}),!!e.body&&(0,s.jsx)(`div`,{className:`mt-2`,children:e.body})]})]}),h&&g&&(0,s.jsx)(`div`,{children:e.children.map(e=>(0,s.jsx)(J,{item:e,depth:i+1,density:l,indent:u,strings:d},e.id))})]})}var Y={openAria:`Open artifact`,copy:`Copy`,copied:`Copied`,copyAria:`Copy artifact`,downloadAria:`Download artifact`,expandAria:`Expand artifact`};function X({title:a,subtitle:l,icon:u,copyText:d,children:f,collapsed:p=!1,onOpen:m,actions:h,onDownload:g,className:_,strings:v}){let y=e.useStrings(Y,v),b=u??c.FileText,[x,S]=(0,o.useState)(!1);return(0,s.jsxs)(`div`,{className:t.cn(`ai-artifact--component`,`overflow-hidden rounded-lg border border-border/60 bg-card`,_),children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-border/60 bg-muted/20 px-3 py-2`,children:[(0,s.jsx)(i.t,{icon:b,tone:`muted`,size:`sm`,shape:`square`}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsx)(r.n,{weight:`semibold`,className:`truncate`,children:a}),!!l&&(0,s.jsx)(r.n,{size:`xxs`,type:`secondary`,className:`truncate`,children:l})]}),(0,s.jsxs)(`div`,{className:`flex items-center gap-1`,children:[h?.map(e=>{let t=e.icon;return(0,s.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,onClick:e.onSelect,children:[!!t&&(0,s.jsx)(t,{className:`size-3.5`}),e.label]},e.id)}),!!d&&(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":y.copyAria,onClick:()=>{d&&(typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(d),S(!0),window.setTimeout(()=>S(!1),1500))},children:x?(0,s.jsx)(c.Check,{className:`size-3.5 text-success`}):(0,s.jsx)(c.Copy,{className:`size-3.5`})}),!!g&&(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":y.downloadAria,onClick:g,children:(0,s.jsx)(c.Download,{className:`size-3.5`})}),!!m&&(0,s.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":y.openAria,onClick:m,children:(0,s.jsx)(c.ExternalLink,{className:`size-3.5`})})]})]}),!p&&!!f&&(0,s.jsx)(`div`,{className:`bg-card`,children:f})]})}X.displayName=`AiArtifact`,Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return v}});
|
|
3
|
+
//# sourceMappingURL=ai-artifact-D4EjKoq6.cjs.map
|