admin-ui-starter-kit 0.4.3 → 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/CHANGELOG.md +26 -1
- package/COMPONENT_SELECTION.md +10 -1
- package/INTEGRATION.md +47 -0
- package/README.md +34 -1
- 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 +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/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +6 -6
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/ui/alert.d.ts +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- 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/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/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-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/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/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/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/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 +1 -1
- package/package.json +11 -3
- 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-CyBTcM-L.js +0 -360
- package/dist/_shared/header-CyBTcM-L.js.map +0 -1
- package/dist/_shared/header-kwvkesfq.cjs +0 -2
- package/dist/_shared/header-kwvkesfq.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-B_L_dnAe.cjs +0 -2
- package/dist/_shared/sidebar-B_L_dnAe.cjs.map +0 -1
- package/dist/_shared/sidebar-C5DApiDy.js +0 -389
- package/dist/_shared/sidebar-C5DApiDy.js.map +0 -1
- package/dist/_shared/sidebar-CIlGkVbF.js +0 -538
- package/dist/_shared/sidebar-CIlGkVbF.js.map +0 -1
- package/dist/_shared/sidebar-D3sK9otF.cjs +0 -2
- package/dist/_shared/sidebar-D3sK9otF.cjs.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-BkAbL-UV.js +0 -6
- package/dist/showcase/assets/CompositeItem-Dzu0MfUC.js +0 -1
- package/dist/showcase/assets/CompositeRoot-CQvQ_uj2.js +0 -1
- package/dist/showcase/assets/DialogTrigger-BxVhSw4D.js +0 -1
- package/dist/showcase/assets/LabelableContext-DapqaNeY.js +0 -1
- package/dist/showcase/assets/PreviewLayout-CGEkbS-i.js +0 -1
- package/dist/showcase/assets/RadioGroup-DBA3iBQw.js +0 -1
- package/dist/showcase/assets/Separator-BEMr82IS.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-xN-ruoGR.js +0 -1
- package/dist/showcase/assets/accordion-B-Iy0jKu.js +0 -171
- package/dist/showcase/assets/accordion-variants-B9GD0oBE.js +0 -1
- package/dist/showcase/assets/action-menu-CMUF6gPp.js +0 -1
- package/dist/showcase/assets/activities-C1P9bsJm.js +0 -501
- package/dist/showcase/assets/activities-feed-card-WZUuGHmT.js +0 -1
- package/dist/showcase/assets/activity-BVP5C805.js +0 -1
- package/dist/showcase/assets/admin-DWOK4sj4.js +0 -80
- package/dist/showcase/assets/ai-Dteb3y6G.js +0 -41
- package/dist/showcase/assets/ai-artifact-B0d7GveY.js +0 -2
- package/dist/showcase/assets/ai-chat-IJ0b2FOw.js +0 -568
- package/dist/showcase/assets/ai-elements-Cr8GgtEV.js +0 -387
- package/dist/showcase/assets/ai-new-BJN9wNvX.js +0 -167
- package/dist/showcase/assets/ai-tool-call-BqlQuR1P.js +0 -1
- package/dist/showcase/assets/alert-2_0J7Vv6.js +0 -1
- package/dist/showcase/assets/alert-7wEOpEor.js +0 -93
- package/dist/showcase/assets/alert-C_FOBilU.js +0 -62
- package/dist/showcase/assets/api-key-list-CGV1k52v.js +0 -73
- package/dist/showcase/assets/app-sidebar-S6oUYO4h.js +0 -1
- package/dist/showcase/assets/arrow-down-VNr82bS3.js +0 -1
- package/dist/showcase/assets/arrow-left-BSVeKWNq.js +0 -1
- package/dist/showcase/assets/arrow-right-D6hTB0Bd.js +0 -1
- package/dist/showcase/assets/arrow-up-p9oA4cIz.js +0 -1
- package/dist/showcase/assets/arrow-up-right-BtlQ62bc.js +0 -1
- package/dist/showcase/assets/avatar-BxcQUuh0.js +0 -57
- package/dist/showcase/assets/avatar-LGWm52rv.js +0 -1
- package/dist/showcase/assets/badge-COn5psy3.js +0 -28
- package/dist/showcase/assets/badge-check-D2C2BPUT.js +0 -1
- package/dist/showcase/assets/bell-C80n9VRl.js +0 -1
- package/dist/showcase/assets/bot-C83bUUi9.js +0 -1
- package/dist/showcase/assets/box-rZ0pA-02.js +0 -1
- package/dist/showcase/assets/brain-BJtktdVu.js +0 -1
- package/dist/showcase/assets/brand-CxdIBpyJ.js +0 -36
- package/dist/showcase/assets/breadcrumb-BZsr_A8k.js +0 -1
- package/dist/showcase/assets/breadcrumb-CSU8FvWB.js +0 -52
- package/dist/showcase/assets/breadcrumbs-BUm4gHzL.js +0 -1
- package/dist/showcase/assets/briefcase-0WhUdLn5.js +0 -1
- package/dist/showcase/assets/building-2-1D6zVdCI.js +0 -1
- package/dist/showcase/assets/button-C22Gs6y0.js +0 -44
- package/dist/showcase/assets/button-group-C0Ts4-x3.js +0 -1
- package/dist/showcase/assets/buttons-Dfn6hmwe.js +0 -270
- package/dist/showcase/assets/calendar-7a4yQlzJ.js +0 -1
- package/dist/showcase/assets/calendar-Bo17POsN.js +0 -1
- package/dist/showcase/assets/calendar-D6XNDRVQ.js +0 -16
- package/dist/showcase/assets/calendar-days-C4mG2tOe.js +0 -1
- package/dist/showcase/assets/camera-C16z6v0m.js +0 -1
- package/dist/showcase/assets/card-BjqRQxxz.js +0 -1
- package/dist/showcase/assets/card-IzYmUTpI.js +0 -188
- package/dist/showcase/assets/card-primitives-BDj4DtS8.js +0 -1
- package/dist/showcase/assets/card-radio-group-7GU9AtWs.js +0 -1
- package/dist/showcase/assets/cards-DAqpr8CM.js +0 -328
- package/dist/showcase/assets/carousel-D1n4Kkoo.js +0 -449
- package/dist/showcase/assets/chart-D2EGeI3b.js +0 -358
- package/dist/showcase/assets/chart-column-DKcP77Dx.js +0 -1
- package/dist/showcase/assets/checkbox-BI3gcjED.js +0 -1
- package/dist/showcase/assets/chevron-down-ByPPEdNm.js +0 -1
- package/dist/showcase/assets/chevron-left-BNByuq3g.js +0 -1
- package/dist/showcase/assets/chevron-right-D4pIMCh9.js +0 -1
- package/dist/showcase/assets/chevron-up-Cha879Nz.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-eAgHau5X.js +0 -1
- package/dist/showcase/assets/circle-V5hdlsIn.js +0 -1
- package/dist/showcase/assets/circle-alert-BW-Btwgh.js +0 -1
- package/dist/showcase/assets/circle-check-1MSds3Vu.js +0 -1
- package/dist/showcase/assets/circle-check-big-vBWkmhCZ.js +0 -1
- package/dist/showcase/assets/circle-dot-CsD5uXwH.js +0 -1
- package/dist/showcase/assets/circle-question-mark-xYn9p1nL.js +0 -1
- package/dist/showcase/assets/circle-x-VSqZOeGt.js +0 -1
- package/dist/showcase/assets/clock-3-CP_t59kW.js +0 -1
- package/dist/showcase/assets/clock-9xbB7EnW.js +0 -1
- package/dist/showcase/assets/code-xml-CeGA85eB.js +0 -1
- package/dist/showcase/assets/collapsible-C2W51-wl.js +0 -27
- package/dist/showcase/assets/collapsible-C4eof15p.js +0 -1
- package/dist/showcase/assets/combobox-i8o4u6Q0.js +0 -696
- package/dist/showcase/assets/command-C4F78Ppy.js +0 -1
- package/dist/showcase/assets/command-wjOXUieO.js +0 -1
- package/dist/showcase/assets/comment-composer-DeURrlgL.js +0 -1
- package/dist/showcase/assets/comment-item-D07Qk-Nt.js +0 -1
- package/dist/showcase/assets/comments-Bo-lZU18.js +0 -357
- package/dist/showcase/assets/commerce-extras-Cio3xn_B.js +0 -189
- package/dist/showcase/assets/commerce-jqA58sCZ.js +0 -79
- package/dist/showcase/assets/composite-BQFpnmS9.js +0 -1
- package/dist/showcase/assets/contact-card-4ajPhcd_.js +0 -65
- package/dist/showcase/assets/content-container-B83BnjFb.js +0 -1
- package/dist/showcase/assets/copyable-DKkroGJ3.js +0 -96
- package/dist/showcase/assets/course-card-DShYl03k.js +0 -77
- package/dist/showcase/assets/cpu-BZTsuaUu.js +0 -1
- package/dist/showcase/assets/credit-card-CAI3F3HB.js +0 -1
- package/dist/showcase/assets/currency-PXgbngHk.js +0 -149
- package/dist/showcase/assets/dark-surfaces-pSCicdm4.js +0 -90
- package/dist/showcase/assets/database-oHsxHUj-.js +0 -1
- package/dist/showcase/assets/date-block-CvCdJr8d.js +0 -1
- package/dist/showcase/assets/date-picker-Cd5vsEEd.js +0 -1
- package/dist/showcase/assets/date-pickers-CBK-zvSB.js +0 -73
- package/dist/showcase/assets/dense-info-zOdJpez6.js +0 -106
- package/dist/showcase/assets/dialog-D9-MRCRg.js +0 -1
- package/dist/showcase/assets/dialog-EDw9DvZs.js +0 -1
- package/dist/showcase/assets/display-CE9JWinr.js +0 -403
- package/dist/showcase/assets/dist-CjZ6RM9v.js +0 -45
- package/dist/showcase/assets/dollar-sign-BXD_x2mP.js +0 -1
- package/dist/showcase/assets/download-D0ur_d_N.js +0 -1
- package/dist/showcase/assets/dropdown-menu-Cto8-yDW.js +0 -1
- package/dist/showcase/assets/dropzone-9Gb4mR4x.js +0 -1
- package/dist/showcase/assets/earth-BN1w3w7h.js +0 -1
- package/dist/showcase/assets/ellipsis-DsrebD1Y.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-CAiMV7G2.js +0 -1
- package/dist/showcase/assets/empty-DoJF3uif.js +0 -1
- package/dist/showcase/assets/empty-item-zZ85qI6s.js +0 -49
- package/dist/showcase/assets/empty-state-CGfB7sOE.js +0 -1
- package/dist/showcase/assets/empty-state-Y_4qnNWt.js +0 -188
- package/dist/showcase/assets/enhanced-activities-B41hAxhb.js +0 -361
- package/dist/showcase/assets/enhanced-combobox-BOimEW-1.js +0 -1
- package/dist/showcase/assets/event-calendar-BjcfC6fM.js +0 -138
- package/dist/showcase/assets/event-log-BhoMXcix.js +0 -330
- package/dist/showcase/assets/example-Cz_880po.js +0 -1
- package/dist/showcase/assets/external-link-Cy1-PP8k.js +0 -1
- package/dist/showcase/assets/eye-C85PNNdH.js +0 -1
- package/dist/showcase/assets/feature-announcement-_tpahla3.js +0 -34
- package/dist/showcase/assets/file-C8PCBEtY.js +0 -1
- package/dist/showcase/assets/file-text-DwqbUujq.js +0 -1
- package/dist/showcase/assets/filters-ChqGg_1z.js +0 -78
- package/dist/showcase/assets/flag-csHQcBml.js +0 -1
- package/dist/showcase/assets/folder-open-BThTng3d.js +0 -1
- package/dist/showcase/assets/form-field-B5g_5Zjm.js +0 -1
- package/dist/showcase/assets/format-DrTwpH65.js +0 -1
- package/dist/showcase/assets/forms-BukyUSKs.js +0 -862
- package/dist/showcase/assets/frame-BNKhZVlb.js +0 -167
- package/dist/showcase/assets/getPseudoElementBounds-DwyQgIj-.js +0 -1
- package/dist/showcase/assets/gift-CtM--bDo.js +0 -1
- package/dist/showcase/assets/giftcard-cards-imm4Br0H.js +0 -85
- package/dist/showcase/assets/git-branch-Dl3AzbqP.js +0 -1
- package/dist/showcase/assets/global-search-Bhl7z_vN.js +0 -1
- package/dist/showcase/assets/global-search-C4yaPFSW.js +0 -215
- package/dist/showcase/assets/globe-BCikLfKc.js +0 -1
- package/dist/showcase/assets/gradient-card-Dh_5ZYv0.js +0 -58
- package/dist/showcase/assets/hash-C8m0EECO.js +0 -1
- package/dist/showcase/assets/header-BXjw7Lm_.js +0 -1
- package/dist/showcase/assets/header-notifications-CShSQ8kR.js +0 -1
- package/dist/showcase/assets/heart-BJVBFZ-j.js +0 -1
- package/dist/showcase/assets/house-C3fXPhlL.js +0 -1
- package/dist/showcase/assets/icon-badge-dwVx3Hxf.js +0 -1
- package/dist/showcase/assets/image-gc4qX_7C.js +0 -1
- package/dist/showcase/assets/inbox-C0GJ1KEC.js +0 -1
- package/dist/showcase/assets/index-BQIv1ffM.js +0 -10
- package/dist/showcase/assets/inertValue-DeVQ2cCe.js +0 -1
- package/dist/showcase/assets/info-BimmreJ-.js +0 -1
- package/dist/showcase/assets/inline-stat-DcNP6bcO.js +0 -1
- package/dist/showcase/assets/input-DJAWOJEx.js +0 -1
- package/dist/showcase/assets/input-NIgvB9CZ.js +0 -1
- package/dist/showcase/assets/input-group-BmqJ20bA.js +0 -1
- package/dist/showcase/assets/input-group-gOUubhee.js +0 -47
- package/dist/showcase/assets/inputs-Dk8YOVkI.js +0 -155
- package/dist/showcase/assets/invoice-header-BnNpWej2.js +0 -36
- package/dist/showcase/assets/invoice-items-BdPmW10L.js +0 -36
- package/dist/showcase/assets/invoice-mini-CbSYyHIb.js +0 -14
- package/dist/showcase/assets/invoice-table-DjnWG3KF.js +0 -30
- package/dist/showcase/assets/isSameDay-B2KDl_YX.js +0 -1
- package/dist/showcase/assets/isToday-CXNS7ELW.js +0 -1
- package/dist/showcase/assets/italic-BRS-PpYL.js +0 -1
- package/dist/showcase/assets/item--6Hx9AXZ.js +0 -1
- package/dist/showcase/assets/item-BszVRzXj.js +0 -134
- package/dist/showcase/assets/item-YF6wMI9W.js +0 -1
- package/dist/showcase/assets/kanban-BWBbWLVe.js +0 -186
- package/dist/showcase/assets/label-BgpcD3V6.js +0 -1
- package/dist/showcase/assets/languages-DDgmIDFe.js +0 -1
- package/dist/showcase/assets/layers-nkkXRmvA.js +0 -1
- package/dist/showcase/assets/layout-app-shell-D3MbPoGC.js +0 -608
- package/dist/showcase/assets/layout-auth-DIeRtG0B.js +0 -754
- package/dist/showcase/assets/layout-containers-Dc3-IAgV.js +0 -101
- package/dist/showcase/assets/layout-header-Cg6GfMST.js +0 -170
- package/dist/showcase/assets/layout-page-DojPq8S6.js +0 -122
- package/dist/showcase/assets/layout-primitives-JBSQS72B.js +0 -34
- package/dist/showcase/assets/layout-sidebar-C6jUJRhx.js +0 -224
- package/dist/showcase/assets/layout-users-uzPscfo7.js +0 -117
- package/dist/showcase/assets/layout-workspace-B3leaOKl.js +0 -183
- package/dist/showcase/assets/lock-DLIcOBUd.js +0 -1
- package/dist/showcase/assets/lock-keyhole-DY6aV7Mq.js +0 -1
- package/dist/showcase/assets/mail-AES_tOd2.js +0 -1
- package/dist/showcase/assets/mail-check-dJTzg2bD.js +0 -1
- package/dist/showcase/assets/map-CZ2l0iGH.js +0 -124
- package/dist/showcase/assets/map-pin-0O7GD5Dz.js +0 -1
- package/dist/showcase/assets/media-library-CRllxSGQ.js +0 -695
- package/dist/showcase/assets/mention-inline-suggestions-Dx2Z1GHF.js +0 -1
- package/dist/showcase/assets/mentions-CDqqGCE4.js +0 -138
- package/dist/showcase/assets/menus-CDgE79I5.js +0 -165
- package/dist/showcase/assets/message-square-CBNI_sf8.js +0 -1
- package/dist/showcase/assets/metadata-list-BoEVt7cX.js +0 -1
- package/dist/showcase/assets/metadata-list-NtWuY9W8.js +0 -288
- package/dist/showcase/assets/metric-Bx_LWobe.js +0 -1
- package/dist/showcase/assets/metric-bar-BldYHNLQ.js +0 -1
- package/dist/showcase/assets/metric-grid-BDw7w7d2.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-lSjDkUEo.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-CCFhTmQZ.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-C1AjZqJU.js +0 -50
- package/dist/showcase/assets/metrics-comparison-vEE6BtuW.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-DKkz8ibX.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-CZmVnReB.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-s2FYIYB1.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-DDlCl9Ep.js +0 -42
- package/dist/showcase/assets/metrics-overview-BgliK2L1.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-Cn5sRZsB.js +0 -54
- package/dist/showcase/assets/minus-DByvcC8K.js +0 -1
- package/dist/showcase/assets/money-display-DG4IaEaA.js +0 -1
- package/dist/showcase/assets/month-year-picker-CVurc9L7.js +0 -1
- package/dist/showcase/assets/navigation-CHYgQTsY.js +0 -90
- package/dist/showcase/assets/navigation-C_6gS4FA.js +0 -230
- package/dist/showcase/assets/navigation-extras-CflOar2P.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-CYiciKwv.js +0 -119
- package/dist/showcase/assets/overlays-HrH2wdTK.js +0 -408
- package/dist/showcase/assets/overlays-cp7VMq3b.js +0 -159
- package/dist/showcase/assets/package-CjcwDJKu.js +0 -1
- package/dist/showcase/assets/package-check-CCH3ax-x.js +0 -1
- package/dist/showcase/assets/page-action-button-Cn5j2_EP.js +0 -1
- package/dist/showcase/assets/page-header-CkvCF1MQ.js +0 -1
- package/dist/showcase/assets/pagination-DM5QGPo2.js +0 -42
- package/dist/showcase/assets/pagination-DUzHnhJ6.js +0 -1
- package/dist/showcase/assets/paperclip-DoqDQQVa.js +0 -1
- package/dist/showcase/assets/password-input-CfS4sfCl.js +0 -1
- package/dist/showcase/assets/pencil-C2OfFQMj.js +0 -1
- package/dist/showcase/assets/phone-CLvml_XI.js +0 -1
- package/dist/showcase/assets/plus-D5swsZCz.js +0 -1
- package/dist/showcase/assets/popover-menu-Bu9q96nE.js +0 -1
- package/dist/showcase/assets/popover-nCGXR4Yd.js +0 -1
- package/dist/showcase/assets/popover-xC8qczvP.js +0 -1
- package/dist/showcase/assets/products-BbSzEFvw.js +0 -407
- package/dist/showcase/assets/progress-DYfoy7pk.js +0 -1
- package/dist/showcase/assets/progress-ENNwjW3X.js +0 -18
- package/dist/showcase/assets/props-table-2pIZzGC-.js +0 -1
- package/dist/showcase/assets/props.generated-DggzG-JL.json +0 -38611
- package/dist/showcase/assets/quote-BO1bufuX.js +0 -1
- package/dist/showcase/assets/receipt-kIVP3kxJ.js +0 -1
- package/dist/showcase/assets/receipt-text-BDQIvI4l.js +0 -1
- package/dist/showcase/assets/refresh-cw-UdL93poQ.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-DfiI3G4i.js +0 -1
- package/dist/showcase/assets/rich-text-editor-CNtfwLC2.js +0 -143
- package/dist/showcase/assets/rich-text-editor-DB4QWptQ.js +0 -124
- package/dist/showcase/assets/rotate-ccw-DQPoMfMY.js +0 -1
- package/dist/showcase/assets/save-Cd0ZM40i.js +0 -1
- package/dist/showcase/assets/schema-form-Cyc6vCVO.js +0 -325
- package/dist/showcase/assets/scroll-area-B5NZsDdi.js +0 -32
- package/dist/showcase/assets/scroll-area-BvTq99pz.js +0 -1
- package/dist/showcase/assets/select-BRbyPtx8.js +0 -1
- package/dist/showcase/assets/select-Dymyvyh6.js +0 -1
- package/dist/showcase/assets/send-BWzI7mwi.js +0 -1
- package/dist/showcase/assets/separator-BsYPzBlF.js +0 -1
- package/dist/showcase/assets/separator-Osp0OJ78.js +0 -28
- package/dist/showcase/assets/settings-DRmWJILI.js +0 -1
- package/dist/showcase/assets/sheet-BKsjMYMo.js +0 -1
- package/dist/showcase/assets/shield-D1EaWJMG.js +0 -1
- package/dist/showcase/assets/shield-alert-DWsbR2jn.js +0 -1
- package/dist/showcase/assets/shield-check-DUTAPADm.js +0 -1
- package/dist/showcase/assets/shopping-bag-XmeqUqk9.js +0 -1
- package/dist/showcase/assets/sidebar-B5uO9sUB.js +0 -1
- package/dist/showcase/assets/sidebar.context-CRjgeYJL.js +0 -1
- package/dist/showcase/assets/skeleton-BtiPkfxB.js +0 -1
- package/dist/showcase/assets/skeleton-DbybIpkV.js +0 -29
- package/dist/showcase/assets/slider-vuwVVBby.js +0 -1
- package/dist/showcase/assets/sliders-horizontal-BE_cwUn0.js +0 -1
- package/dist/showcase/assets/smart-card-Dhu_1A_u.js +0 -1
- package/dist/showcase/assets/sonner-DZB-G4q5.js +0 -22
- package/dist/showcase/assets/sortable.esm-YOwRw8Hr.js +0 -5
- package/dist/showcase/assets/sparkles-N8rqKQez.js +0 -1
- package/dist/showcase/assets/spinner-B5zKCNXu.js +0 -30
- package/dist/showcase/assets/spinner-BOjRziLu.js +0 -1
- package/dist/showcase/assets/spinner-PIr8y8av.js +0 -49
- package/dist/showcase/assets/square-pen-ImRrVwT8.js +0 -1
- package/dist/showcase/assets/stacked-avatars-DnIAc098.js +0 -1
- package/dist/showcase/assets/star-BaV-UTPq.js +0 -1
- package/dist/showcase/assets/startOfDay-CtTeiGV0.js +0 -1
- package/dist/showcase/assets/styles-Bv0pDLVi.js +0 -1
- package/dist/showcase/assets/suggestions-QnLPdgnG.js +0 -126
- package/dist/showcase/assets/switch-DwAS_TXx.js +0 -1
- package/dist/showcase/assets/switch-xzxCDtyg.js +0 -1
- package/dist/showcase/assets/sync-LeYxWAap.js +0 -107
- package/dist/showcase/assets/table-BbEFanNu.js +0 -1
- package/dist/showcase/assets/table-CVVHBty6.js +0 -382
- package/dist/showcase/assets/table-actions-DvI9U67L.js +0 -1
- package/dist/showcase/assets/tabs-CLcyGwLd.js +0 -1
- package/dist/showcase/assets/tabs-ck8y1Bjr.js +0 -19
- package/dist/showcase/assets/tags-input-DmBY2CKI.js +0 -1
- package/dist/showcase/assets/text-button-C54O1rZM.js +0 -1
- package/dist/showcase/assets/text-link-9_mZpq_f.js +0 -1
- package/dist/showcase/assets/textarea-CHvnWHWH.js +0 -1
- package/dist/showcase/assets/textarea-jexcMklP.js +0 -1
- package/dist/showcase/assets/timelines-uvFVjEQv.js +0 -200
- package/dist/showcase/assets/toggle-group-B3fORi8i.js +0 -1
- package/dist/showcase/assets/toggles-Cox6Yk2k.js +0 -71
- package/dist/showcase/assets/toggles-group-CSvSPqCB.js +0 -32
- package/dist/showcase/assets/trash-2-CE9bDw49.js +0 -1
- package/dist/showcase/assets/trending-up-0iJl0XvC.js +0 -1
- package/dist/showcase/assets/truck-DlhOPoCD.js +0 -1
- package/dist/showcase/assets/typography-BotOITw4.js +0 -223
- package/dist/showcase/assets/ui-badge-hfmO1K3-.js +0 -28
- package/dist/showcase/assets/ui-card-Aigzxhn3.js +0 -30
- package/dist/showcase/assets/ui-table-CKif9sNO.js +0 -42
- package/dist/showcase/assets/upload-tray-BnKDNrw9.js +0 -138
- package/dist/showcase/assets/use-layout-link-BQ6Y9z__.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-CP1vkwD7.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-J_Rvjwx3.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-BwUOowW2.js +0 -1
- package/dist/showcase/assets/useCompositeItem-D3XOIML-.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-BWfShNPP.js +0 -1
- package/dist/showcase/assets/useLabelableId-DxorZ3YW.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-DLUX6CcH.js +0 -1
- package/dist/showcase/assets/useRender-B9zzqKA1.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-BSvL8pKg.js +0 -1
- package/dist/showcase/assets/useValueChanged-DSoTBFAJ.js +0 -1
- package/dist/showcase/assets/user-BZog6aIh.js +0 -1
- package/dist/showcase/assets/user-plus-CPxlPoxf.js +0 -1
- package/dist/showcase/assets/users-BgXAp2UO.js +0 -1
- package/dist/showcase/assets/vendor-profile-BLYiDIrO.js +0 -37
- package/dist/showcase/assets/video-YBnCbmIb.js +0 -1
- package/dist/showcase/assets/wrench-BFTavxzg.js +0 -1
- package/dist/showcase/assets/x-D8UN9pOu.js +0 -1
- package/dist/showcase/assets/zap-DIJUAJEb.js +0 -1
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
import{n as e,r as t}from"./chunk-QTnfLwEv.js";import{n}from"./react-dom-Bz4cALsF.js";import{Dr as r,Er as i,Lr as a,Rr as o,Vr as s,jr as c,n as l,r as u,t as d}from"./example-CTJ8AdNR.js";import{a as f,c as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b,u as x}from"./ai-artifact-DZVl1WmK.js";import{t as S}from"./arrow-down--phuskCV.js";import{t as C}from"./arrow-up-lWotnmo7.js";import{t as w}from"./bot-B_vzJEJH.js";import{t as T}from"./chart-column-CpTxRLEH.js";import{t as E}from"./database-DuUABvxU.js";import{t as D}from"./file-text-DH1mBuPi.js";import{t as ee}from"./paperclip-CznEsmLN.js";import{t as O}from"./sparkles-B18eTHVN.js";import{n as k,r as A,t as j}from"./ai-tool-call-DyMI8DqD.js";import{t as M}from"./x-oVTJnCJn.js";import{a as te,i as ne,k as N,n as P,s as re}from"./index-DaYVSqKu.js";import{t as F}from"./props-table-C8la6vcG.js";import{t as ie}from"./icon-badge-DMNu8xb5.js";import{t as ae}from"./textarea-DsSuQHQY.js";var oe=te(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),se=te(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),ce={placeholder:`Ask anything…`,attachAria:`Attach files`,submitAria:`Send message`,stopAria:`Stop generating`,modelPickerAria:`Choose model`,hint:`Press {{submitKey}} to send · {{newlineKey}} for newline`},le={scrollToBottom:`Jump to latest`,scrollToBottomAria:`Scroll to bottom`},ue={header:`In queue`,cancelAria:`Remove from queue`,queuedLabel:`Queued`,runningLabel:`Running`},de={header:`Try`},fe={pending:`Thinking…`},pe={prompt:ce,conversation:le,queue:ue,suggestions:de,message:fe,emptyTitle:`Start a conversation`,emptyDescription:`Ask a question, share context, or attach a file to get going.`};function me(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}var I=re();function L({attachments:e,onRemove:t,onOpen:n,className:r}){return e.length===0?null:(0,I.jsx)(`div`,{className:P(`flex flex-wrap gap-2`,r),children:e.map(e=>(0,I.jsx)(p,{name:e.name,meta:e.meta,kind:e.kind,icon:e.icon,thumbnailUrl:e.thumbnailUrl,progress:e.progress,errored:e.errored,onOpen:n?()=>n(e):void 0,onRemove:t?()=>t(e.id):void 0},e.id))})}L.displayName=`AiChatAttachmentsStrip`;var R=t(n(),1);function z({threshold:e=80,dependency:t,disableAutoScroll:n=!1}={}){let r=(0,R.useRef)(null),i=(0,R.useRef)(null),[a,o]=(0,R.useState)(!0),s=(0,R.useCallback)((e=`smooth`)=>{i.current?.scrollIntoView({behavior:e,block:`end`})},[]);return(0,R.useEffect)(()=>{let t=r.current;if(!t)return;let n=()=>{o(t.scrollHeight-t.clientHeight-t.scrollTop<=e)};return n(),t.addEventListener(`scroll`,n,{passive:!0}),()=>t.removeEventListener(`scroll`,n)},[e]),(0,R.useEffect)(()=>{if(n||!a)return;let e=window.requestAnimationFrame(()=>s(`auto`));return()=>window.cancelAnimationFrame(e)},[t,n]),{containerRef:r,endRef:i,isAtBottom:a,scrollToBottom:s}}function B({messages:e,renderMessage:t,intro:n,footer:r,empty:i,disableAutoScroll:a,className:s,strings:c}){let l=N(le,c),{containerRef:d,endRef:f,isAtBottom:p,scrollToBottom:m}=z({dependency:e.length,disableAutoScroll:a}),h=e.length===0&&!n;return(0,I.jsxs)(`div`,{className:P(`relative flex h-full min-h-0 flex-col`,s),children:[(0,I.jsxs)(`div`,{ref:d,className:`flex-1 overflow-y-auto px-3 py-4 sm:px-4`,children:[!!n&&(0,I.jsx)(`div`,{className:`mb-4`,children:n}),h?i??(0,I.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 py-12`,children:(0,I.jsx)(o,{type:`secondary`,children:`No messages yet.`})}):(0,I.jsx)(`ol`,{className:`space-y-4`,children:e.map((n,r)=>(0,I.jsx)(`li`,{children:t(n,{isLast:r===e.length-1,index:r})},n.id))}),!!r&&(0,I.jsx)(`div`,{className:`mt-4`,children:r}),(0,I.jsx)(`div`,{ref:f,"aria-hidden":!0,className:`h-px`})]}),!p&&(0,I.jsx)(`div`,{className:`pointer-events-none absolute bottom-3 left-1/2 -translate-x-1/2`,children:(0,I.jsxs)(u,{type:`button`,variant:`secondary`,buttonStyle:`solid`,"aria-label":l.scrollToBottomAria,onClick:()=>m(`smooth`),className:P(`pointer-events-auto rounded-full shadow-md`,`border border-border/60`),children:[(0,I.jsx)(S,{className:`size-3.5`}),l.scrollToBottom]})})]})}B.displayName=`AiChatConversation`;function V({title:e=`Start a conversation`,description:t,icon:n=O,below:r,className:i}){return(0,I.jsxs)(`div`,{className:P(`flex h-full flex-col items-center justify-center gap-3 px-4 py-10 text-center`,i),children:[(0,I.jsx)(ie,{icon:n,tone:`primary`,size:`md`,shape:`square`}),(0,I.jsxs)(`div`,{className:`max-w-md space-y-1`,children:[(0,I.jsx)(a,{tag:`h4`,children:e}),!!t&&(0,I.jsx)(o,{type:`secondary`,children:t})]}),!!r&&(0,I.jsx)(`div`,{className:`mt-4 w-full max-w-2xl`,children:r})]})}V.displayName=`AiChatEmptyState`;function H({message:e,onCopy:t,onRegenerate:n,onAttachmentOpen:r,className:i,strings:a}){let o=N(fe,a),s=[],c=[];for(let t of e.parts)t.type===`text`?s.push(t):c.push(t);let l=s.map(e=>e.type===`text`?e.plain??ge(e.content):``).filter(Boolean).join(`
|
|
2
|
+
`)||void 0,u=e.pending?(0,I.jsx)(x,{children:o.pending}):s.length===0&&c.length>0?null:(0,I.jsx)(`div`,{className:`space-y-2`,children:s.map((e,t)=>e.type===`text`?(0,I.jsx)(`div`,{className:`whitespace-pre-wrap`,children:e.content},t):null)});return(0,I.jsxs)(`div`,{className:P(`space-y-2`,i),children:[(u!==null||e.pending)&&(0,I.jsx)(k,{role:e.role,avatar:e.avatar,authorName:e.authorName,timestamp:e.timestamp,plainText:l,loading:e.loading,onCopy:l?t??(()=>void 0):void 0,onRegenerate:n,children:u}),c.length>0&&(0,I.jsx)(`div`,{className:P(`space-y-2`,e.role===`user`?`pr-9 sm:pl-12`:`pl-9 sm:pr-12`),children:c.map((e,t)=>(0,I.jsx)(he,{part:e,onAttachmentOpen:r},t))}),!!e.trailing&&(0,I.jsx)(`div`,{className:P(e.role===`user`?`pr-9 sm:pl-12`:`pl-9 sm:pr-12`),children:e.trailing})]})}H.displayName=`AiChatMessage`;function he({part:e,onAttachmentOpen:t}){switch(e.type){case`text`:return(0,I.jsx)(o,{children:e.content});case`reasoning`:return(0,I.jsx)(m,{streaming:e.streaming,durationSeconds:e.durationSeconds,children:e.content});case`chain-of-thought`:return(0,I.jsx)(v,{steps:e.steps,streaming:e.streaming});case`tool`:return(0,I.jsx)(j,{name:e.name,status:e.status,icon:e.icon,args:e.args,result:e.result,error:e.error,durationMs:e.durationMs,defaultExpanded:e.defaultExpanded});case`code`:return(0,I.jsx)(h,{code:e.code,language:e.language,filename:e.filename,showLineNumbers:e.showLineNumbers,highlightLines:e.highlightLines});case`attachments`:return(0,I.jsx)(L,{attachments:e.items,onOpen:t?e=>t(e.id):void 0});case`sources`:return(0,I.jsx)(f,{sources:e.items,variant:e.variant,defaultExpanded:e.defaultExpanded});case`task`:return(0,I.jsx)(g,{task:e.task});case`artifact`:return(0,I.jsx)(b,{title:e.title,subtitle:e.subtitle,icon:e.icon,copyText:e.copyText,actions:e.actions,onOpen:e.onOpen,onDownload:e.onDownload,children:e.body});case`confirmation`:return(0,I.jsx)(_,{title:e.title,description:e.description,tone:e.tone,status:e.status,details:e.details,onApprove:e.onApprove,onReject:e.onReject});case`custom`:return(0,I.jsx)(I.Fragment,{children:e.render()});default:return null}}function ge(e){return typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(ge).join(``):``}function U({value:e,onChange:t,onSubmit:n,onStop:r,streaming:i=!1,disabled:a=!1,attachments:s=[],onRemoveAttachment:c,onAttach:l,showAttach:d,leadingActions:f,trailingActions:p,hideHint:m=!1,minRows:h=1,maxRows:g=8,autoFocus:_=!1,className:v,strings:y}){let b=N(ce,y),x=(0,R.useRef)(null),S=!i&&!a&&(e.trim().length>0||s.length>0),w=(0,R.useCallback)(()=>{S&&n?.({text:e,attachments:s})},[S,n,e,s]),T=(0,R.useCallback)(e=>{e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),w())},[w]),E=d??!!l,D=typeof navigator<`u`&&navigator.platform?.toLowerCase().includes(`mac`)?`⌘↩`:`↩`;return(0,I.jsxs)(`div`,{className:P(`rounded-xl border border-border bg-card transition-colors duration-150`,`focus-within:border-foreground/20 focus-within:ring-2 focus-within:ring-ring/30`,a&&`opacity-60 pointer-events-none`,v),children:[s.length>0&&(0,I.jsx)(`div`,{className:`border-b border-border/60 p-2`,children:(0,I.jsx)(L,{attachments:s,onRemove:c})}),(0,I.jsx)(ae,{ref:x,value:e,onChange:e=>t(e.target.value),onKeyDown:T,placeholder:b.placeholder,autoResize:!0,minRows:h,maxRows:g,autoFocus:_,disabled:a,className:P(`!border-0 !bg-transparent !shadow-none focus-visible:!ring-0 resize-none px-3 py-2.5`)}),(0,I.jsxs)(`div`,{className:`flex items-center gap-1 border-t border-border/60 px-2 py-1.5`,children:[f,E&&(0,I.jsx)(u,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-sm`,"aria-label":b.attachAria,onClick:l,disabled:a,children:(0,I.jsx)(ee,{className:`size-4`})}),(0,I.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[p,i?(0,I.jsx)(u,{type:`button`,variant:`secondary`,buttonStyle:`solid`,size:`icon-sm`,"aria-label":b.stopAria,onClick:r,children:(0,I.jsx)(se,{className:`size-3.5 fill-current`})}):(0,I.jsx)(u,{type:`button`,variant:`primary`,buttonStyle:`solid`,size:`icon-sm`,"aria-label":b.submitAria,onClick:w,disabled:!S,children:(0,I.jsx)(C,{className:`size-4`})})]})]}),!m&&(0,I.jsx)(`div`,{className:`px-3 pb-2`,children:(0,I.jsx)(o,{size:`xxs`,type:`discrete`,children:me(b.hint,{submitKey:D,newlineKey:`⇧↩`})})})]})}U.displayName=`AiChatPromptInput`;function _e({items:e,hideHeader:t=!1,onCancel:n,className:r,strings:i}){let a=N(ue,i);return e.length===0?null:(0,I.jsxs)(`div`,{className:P(`rounded-lg border border-border/60 bg-muted/20 px-2.5 py-2`,r),children:[!t&&(0,I.jsxs)(o,{size:`xxs`,type:`secondary`,weight:`medium`,className:`mb-1.5 px-1 uppercase tracking-wider`,children:[a.header,` · `,e.length]}),(0,I.jsx)(`ul`,{className:`space-y-1`,children:e.map(e=>{let t=e.status??`queued`;return(0,I.jsxs)(`li`,{className:`flex items-center gap-2 rounded-md bg-card px-2 py-1.5`,children:[t===`running`?(0,I.jsx)(s,{className:`size-3.5 shrink-0 animate-spin text-primary`}):(0,I.jsx)(`span`,{"aria-hidden":!0,className:`size-2 shrink-0 rounded-full bg-muted-foreground/50`}),(0,I.jsx)(o,{size:`xs`,className:`flex-1 truncate`,children:e.label}),(0,I.jsx)(c,{variant:t===`running`?`primary`:`secondary`,children:t===`running`?a.runningLabel:a.queuedLabel}),(!!e.onCancel||!!n)&&(0,I.jsx)(u,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":a.cancelAria,onClick:()=>{e.onCancel?.(),n?.(e.id)},children:(0,I.jsx)(M,{className:`size-3.5`})})]},e.id)})})]})}_e.displayName=`AiChatQueue`;function ve({suggestions:e,onPick:t,hideHeader:n=!1,className:r,strings:i}){let a=N(de,i);return e.length===0?null:(0,I.jsxs)(`div`,{className:P(`flex items-center gap-2`,r),children:[!n&&(0,I.jsxs)(`div`,{className:`inline-flex shrink-0 items-center gap-1.5`,children:[(0,I.jsx)(O,{className:`size-3.5 text-muted-foreground`}),(0,I.jsx)(o,{size:`xxs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:a.header})]}),(0,I.jsx)(`div`,{className:`-mx-1 flex flex-1 items-center gap-1.5 overflow-x-auto px-1 py-0.5 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:e.map(e=>{let n=e.icon;return(0,I.jsxs)(u,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`xs`,onClick:()=>t?.(e),className:P(`h-auto shrink-0 gap-1.5 rounded-full border border-border/60 bg-card px-2.5 py-1`,`transition-[border-color,background] duration-150`,`hover:border-foreground/20 hover:bg-muted/40`),children:[!!n&&(0,I.jsx)(n,{className:`size-3 text-muted-foreground`}),(0,I.jsx)(o,{tag:`span`,size:`xs`,weight:`medium`,children:e.label})]},e.id)})})]})}ve.displayName=`AiChatSuggestionsRow`;function W({messages:e,inputValue:t,onInputChange:n,onSubmit:r,onStop:i,streaming:a=!1,disabled:s=!1,attachments:c=[],onRemoveAttachment:l,onAttach:u,showAttach:d,agent:f,headerActions:p,queue:m=[],onCancelQueueItem:h,suggestions:g=[],onPickSuggestion:_,onMessageCopy:v,onMessageRegenerate:b,onAttachmentOpen:x,disableAutoScroll:S,slots:C,strings:w,className:T}){let E=N(pe,w),[,D]=(0,R.useState)(0),ee=(0,R.useCallback)((e,t)=>C?.renderMessage?C.renderMessage(e,t):(0,I.jsx)(H,{className:`ai-chat-message--component`,message:e,strings:E.message,onCopy:v?()=>v(e):void 0,onRegenerate:b?()=>b(e):void 0,onAttachmentOpen:x?t=>x(e.id,t):void 0}),[x,v,b,C,E.message]),O=C?.header??(f?(0,I.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-border bg-card px-3 py-2 sm:px-4`,children:[(0,I.jsx)(y,{name:f.name,icon:f.icon,avatar:f.avatar,subtitle:f.subtitle,tone:f.tone,status:f.status,variant:`inline`}),!!p&&(0,I.jsx)(`div`,{className:`ml-auto flex items-center gap-1`,children:p})]}):null),k=C?.empty??(e.length===0?(0,I.jsx)(V,{title:E.emptyTitle,description:E.emptyDescription}):null),A=C?.queue??(m.length>0?(0,I.jsx)(_e,{items:m,onCancel:h,strings:E.queue}):null),j=C?.suggestions??(g.length>0?(0,I.jsx)(ve,{suggestions:g,onPick:_,strings:E.suggestions}):null),M=C?.input??(0,I.jsx)(U,{value:t,onChange:n,onSubmit:e=>{r?.(e),D(e=>e+1)},onStop:i,streaming:a,disabled:s,attachments:c,onRemoveAttachment:l,onAttach:u,showAttach:d,strings:E.prompt});return(0,I.jsxs)(`div`,{className:P(`ai-chat--component flex h-full flex-col overflow-hidden rounded-xl border border-border bg-background`,T),children:[O,(0,I.jsx)(B,{messages:e,renderMessage:ee,intro:C?.intro,footer:C?.belowMessages,empty:k,disableAutoScroll:S,strings:E.conversation}),(A||j||M)&&(0,I.jsxs)(`div`,{className:`border-t border-border bg-card/60`,children:[A&&(0,I.jsx)(`div`,{className:`px-3 pb-2 pt-3 sm:px-4`,children:A}),j&&(0,I.jsx)(`div`,{className:P(`px-3 sm:px-4`,!A&&`pt-3`,`pb-2`),children:j}),M&&(0,I.jsx)(`div`,{className:`px-3 pb-3 pt-2 sm:px-4 sm:pb-4`,children:M})]}),s&&(0,I.jsx)(o,{className:`sr-only`,"aria-live":`polite`,children:`Chat is disabled`})]})}W.displayName=`AiChat`;var ye=e({Default:()=>q,Empty:()=>Y,Headless:()=>Z,Streaming:()=>J,WithSlots:()=>X}),G={name:`Atlas`,subtitle:`claude-4.7-1m · with tools`,icon:w,tone:`primary`,status:`idle`},be=`import { useState } from 'react';
|
|
3
|
+
|
|
4
|
+
export function Counter() {
|
|
5
|
+
const [count, setCount] = useState(0);
|
|
6
|
+
return (
|
|
7
|
+
<button onClick={() => setCount((c) => c + 1)}>
|
|
8
|
+
Count: {count}
|
|
9
|
+
</button>
|
|
10
|
+
);
|
|
11
|
+
}`,K=[{id:`m1`,role:`user`,authorName:`You`,timestamp:`14:31`,parts:[{type:`text`,content:`Can you summarise yesterday’s bookings and flag anything unusual?`},{type:`attachments`,items:[{id:`a1`,name:`bookings-2026-04-30.csv`,meta:`124 KB · CSV`,kind:`document`}]}]},{id:`m2`,role:`assistant`,authorName:`Atlas`,timestamp:`14:31`,parts:[{type:`reasoning`,durationSeconds:3.4,content:`Loading the CSV, grouping by date, computing totals and refund deltas. Spa package volume looked off so checked the prior 7-day baseline.`},{type:`tool`,name:`analytics.query`,status:`success`,durationMs:320,args:`{ "from": "2026-04-30", "to": "2026-04-30", "metric": "bookings" }`,result:`23 bookings · 4,820 USD · 2 refunds`},{type:`text`,content:`You had 23 bookings yesterday totalling 4,820 USD. Two refunds were processed (one cancellation, one duplicate). The Spa package saw 2× the usual demand.`},{type:`sources`,variant:`avatars`,items:[{id:`s1`,title:`bookings.csv`,publisher:`attached file`},{id:`s2`,title:`pricing.json`,publisher:`attached file`},{id:`s3`,title:`refunds.tsv`,publisher:`attached file`}]}],trailing:(0,I.jsx)(A,{onVote:()=>{},onSubmitComment:()=>{}})},{id:`m3`,role:`user`,authorName:`You`,timestamp:`14:33`,parts:[{type:`text`,content:`Generate a Counter.tsx demo and queue an npm install for the deps.`}]},{id:`m4`,role:`assistant`,authorName:`Atlas`,timestamp:`14:33`,parts:[{type:`chain-of-thought`,steps:[{id:`1`,title:`Pick a minimal example`,status:`completed`},{id:`2`,title:`Write the component`,status:`completed`},{id:`3`,title:`Verify dependencies`,status:`active`}]},{type:`artifact`,title:`Counter.tsx`,subtitle:`React component · 12 lines`,icon:D,copyText:be,body:(0,I.jsx)(h,{code:be,language:`tsx`,hideHeader:!0}),onDownload:()=>{},onOpen:()=>{}},{type:`confirmation`,title:`Run pnpm install in the workspace?`,description:`Atlas needs to install react-dom@19 to run the demo.`,tone:`info`,onApprove:()=>{},onReject:()=>{}}]}],xe=[{id:`kpi`,label:`KPI digest`,icon:T},{id:`invoice`,label:`Overdue reminder draft`,icon:D},{id:`lookup`,label:`Find similar customers`,icon:ne},{id:`refund`,label:`Refund policy explainer`,icon:oe},{id:`analytics`,label:`Build a SQL query`,icon:E}];function q(){let[e,t]=(0,R.useState)(K),[n,r]=(0,R.useState)(``),[i,a]=(0,R.useState)(!1),[o,s]=(0,R.useState)([]);return(0,I.jsx)(`div`,{className:`h-[640px]`,children:(0,I.jsx)(W,{agent:G,messages:e,inputValue:n,onInputChange:r,onSubmit:(0,R.useCallback)(e=>{if(!e.text.trim()&&e.attachments.length===0)return;let n={id:`u-${Date.now()}`,role:`user`,authorName:`You`,timestamp:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),parts:[...e.text.trim()?[{type:`text`,content:e.text}]:[],...e.attachments.length>0?[{type:`attachments`,items:e.attachments}]:[]]},i={id:`a-${Date.now()}`,role:`assistant`,authorName:`Atlas`,pending:!0,parts:[]};t(e=>[...e,n,i]),r(``),s([]),a(!0),window.setTimeout(()=>{t(e=>e.map(e=>e.id===i.id?{...e,pending:!1,parts:[{type:`text`,content:"Got it. (This is a demo — wire `onSubmit` to your model API in production.)"}]}:e)),a(!1)},1200)},[]),onStop:()=>a(!1),streaming:i,attachments:o,onRemoveAttachment:e=>s(t=>t.filter(t=>t.id!==e)),onAttach:()=>s(e=>[...e,{id:`att-${Date.now()}`,name:`sample-spec.md`,meta:`32 KB · Markdown`,kind:`document`}]),suggestions:xe,onPickSuggestion:e=>r(typeof e.label==`string`?e.label:``),onMessageRegenerate:()=>{},onMessageCopy:()=>{}})})}function J(){return(0,I.jsx)(`div`,{className:`h-[420px]`,children:(0,I.jsx)(W,{agent:G,messages:[{id:`u`,role:`user`,authorName:`You`,timestamp:`15:02`,parts:[{type:`text`,content:`Draft a refund email for ORD-A219.`}]},{id:`a`,role:`assistant`,authorName:`Atlas`,pending:!0,parts:[]}],inputValue:``,onInputChange:()=>{},streaming:!0,onStop:()=>{}})})}function Y(){let[e,t]=(0,R.useState)(``);return(0,I.jsx)(`div`,{className:`h-[420px]`,children:(0,I.jsx)(W,{agent:G,messages:[],inputValue:e,onInputChange:t,suggestions:xe,onPickSuggestion:e=>t(typeof e.label==`string`?e.label:``),strings:{emptyTitle:`Start a conversation`,emptyDescription:`Ask Atlas about bookings, refunds, KPIs, or paste a spec to review.`}})})}function X(){let[e,t]=(0,R.useState)(``),[n,r]=(0,R.useState)([{id:`q1`,label:`Generate weekly KPI digest`,status:`running`},{id:`q2`,label:`Draft refund email to customer #2941`,status:`queued`}]);return(0,I.jsx)(`div`,{className:`h-[520px]`,children:(0,I.jsx)(W,{messages:K.slice(0,2),inputValue:e,onInputChange:t,queue:n,onCancelQueueItem:e=>r(t=>t.filter(t=>t.id!==e)),slots:{header:(0,I.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-card px-4 py-2.5`,children:[(0,I.jsx)(o,{weight:`semibold`,children:`Atlas · workspace assistant`}),(0,I.jsx)(u,{buttonStyle:`ghost`,size:`xs`,children:`Settings`})]}),belowMessages:(0,I.jsx)(`div`,{className:`border-t border-border bg-muted/30 px-4 py-2`,children:(0,I.jsx)(o,{size:`xs`,type:`secondary`,children:`Replies are generated; double-check anything before acting.`})})}})})}function Z(){let[e,t]=(0,R.useState)(``),[n,r]=(0,R.useState)(K.slice(0,2)),{containerRef:i,endRef:a,isAtBottom:s,scrollToBottom:c}=z({dependency:n.length});return(0,I.jsxs)(`div`,{className:`flex h-[520px] flex-col overflow-hidden rounded-xl border border-border bg-background`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-4 py-2`,children:[(0,I.jsx)(o,{weight:`semibold`,children:`Custom shell — built from partials`}),!s&&(0,I.jsx)(u,{buttonStyle:`ghost`,size:`xs`,onClick:()=>c(),children:`Jump to latest`})]}),(0,I.jsxs)(`div`,{ref:i,className:`flex-1 overflow-y-auto px-4 py-3`,children:[n.length===0?(0,I.jsx)(V,{title:`Nothing yet`,description:`Send a message to begin.`}):(0,I.jsx)(B,{messages:n,renderMessage:e=>(0,I.jsxs)(`div`,{className:`rounded-md border border-border bg-card/60 p-3`,children:[(0,I.jsxs)(o,{size:`xs`,type:`secondary`,children:[e.authorName,` · `,e.role]}),e.parts.map((e,t)=>e.type===`text`?(0,I.jsx)(o,{className:`mt-1`,children:e.content},t):null)]}),disableAutoScroll:!0}),(0,I.jsx)(`div`,{ref:a})]}),(0,I.jsx)(`div`,{className:`border-t border-border px-4 py-3`,children:(0,I.jsx)(U,{value:e,onChange:t,onSubmit:e=>{e.text.trim()&&(r(t=>[...t,{id:`u-${Date.now()}`,role:`user`,authorName:`You`,parts:[{type:`text`,content:e.text}]}]),t(``))}})})]})}var Q=`import { useCallback, useState } from 'react';
|
|
12
|
+
import {
|
|
13
|
+
BarChart3,
|
|
14
|
+
Bot,
|
|
15
|
+
Database,
|
|
16
|
+
FileText,
|
|
17
|
+
Lightbulb,
|
|
18
|
+
Search,
|
|
19
|
+
} from 'lucide-react';
|
|
20
|
+
|
|
21
|
+
import {
|
|
22
|
+
AiChat,
|
|
23
|
+
AiChatConversation,
|
|
24
|
+
AiChatEmptyState,
|
|
25
|
+
AiChatPromptInput,
|
|
26
|
+
useAiChatScroll,
|
|
27
|
+
type AiChatAttachment,
|
|
28
|
+
type AiChatMessage,
|
|
29
|
+
type AiChatQueueItem,
|
|
30
|
+
type AiChatSubmitValues,
|
|
31
|
+
type AiChatSuggestion,
|
|
32
|
+
} from '@/components/features/ai-chat';
|
|
33
|
+
import { AiCodeBlock } from '@/components/composed/ai/ai-code-block';
|
|
34
|
+
import { AiFeedback } from '@/components/composed/ai/ai-feedback';
|
|
35
|
+
import { Button } from '@/components/base/buttons';
|
|
36
|
+
import { Text } from '@/components/typography';
|
|
37
|
+
|
|
38
|
+
/* ------------------------------------------------------------------ */
|
|
39
|
+
/* Shared seed data */
|
|
40
|
+
/* ------------------------------------------------------------------ */
|
|
41
|
+
|
|
42
|
+
const AGENT = {
|
|
43
|
+
name: 'Atlas',
|
|
44
|
+
subtitle: 'claude-4.7-1m · with tools',
|
|
45
|
+
icon: Bot,
|
|
46
|
+
tone: 'primary' as const,
|
|
47
|
+
status: 'idle' as const,
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const SAMPLE_CODE = \`import { useState } from 'react';
|
|
51
|
+
|
|
52
|
+
export function Counter() {
|
|
53
|
+
const [count, setCount] = useState(0);
|
|
54
|
+
return (
|
|
55
|
+
<button onClick={() => setCount((c) => c + 1)}>
|
|
56
|
+
Count: {count}
|
|
57
|
+
</button>
|
|
58
|
+
);
|
|
59
|
+
}\`;
|
|
60
|
+
|
|
61
|
+
const SEED_MESSAGES: AiChatMessage[] = [
|
|
62
|
+
{
|
|
63
|
+
id: 'm1',
|
|
64
|
+
role: 'user',
|
|
65
|
+
authorName: 'You',
|
|
66
|
+
timestamp: '14:31',
|
|
67
|
+
parts: [
|
|
68
|
+
{
|
|
69
|
+
type: 'text',
|
|
70
|
+
content:
|
|
71
|
+
'Can you summarise yesterday’s bookings and flag anything unusual?',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
type: 'attachments',
|
|
75
|
+
items: [
|
|
76
|
+
{
|
|
77
|
+
id: 'a1',
|
|
78
|
+
name: 'bookings-2026-04-30.csv',
|
|
79
|
+
meta: '124 KB · CSV',
|
|
80
|
+
kind: 'document',
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: 'm2',
|
|
88
|
+
role: 'assistant',
|
|
89
|
+
authorName: 'Atlas',
|
|
90
|
+
timestamp: '14:31',
|
|
91
|
+
parts: [
|
|
92
|
+
{
|
|
93
|
+
type: 'reasoning',
|
|
94
|
+
durationSeconds: 3.4,
|
|
95
|
+
content:
|
|
96
|
+
'Loading the CSV, grouping by date, computing totals and refund deltas. Spa package volume looked off so checked the prior 7-day baseline.',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'tool',
|
|
100
|
+
name: 'analytics.query',
|
|
101
|
+
status: 'success',
|
|
102
|
+
durationMs: 320,
|
|
103
|
+
args: '{ "from": "2026-04-30", "to": "2026-04-30", "metric": "bookings" }',
|
|
104
|
+
result: '23 bookings · 4,820 USD · 2 refunds',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'text',
|
|
108
|
+
content:
|
|
109
|
+
'You had 23 bookings yesterday totalling 4,820 USD. Two refunds were processed (one cancellation, one duplicate). The Spa package saw 2× the usual demand.',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'sources',
|
|
113
|
+
variant: 'avatars',
|
|
114
|
+
items: [
|
|
115
|
+
{ id: 's1', title: 'bookings.csv', publisher: 'attached file' },
|
|
116
|
+
{ id: 's2', title: 'pricing.json', publisher: 'attached file' },
|
|
117
|
+
{ id: 's3', title: 'refunds.tsv', publisher: 'attached file' },
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
trailing: <AiFeedback onVote={() => {}} onSubmitComment={() => {}} />,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: 'm3',
|
|
125
|
+
role: 'user',
|
|
126
|
+
authorName: 'You',
|
|
127
|
+
timestamp: '14:33',
|
|
128
|
+
parts: [
|
|
129
|
+
{
|
|
130
|
+
type: 'text',
|
|
131
|
+
content:
|
|
132
|
+
'Generate a Counter.tsx demo and queue an npm install for the deps.',
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
id: 'm4',
|
|
138
|
+
role: 'assistant',
|
|
139
|
+
authorName: 'Atlas',
|
|
140
|
+
timestamp: '14:33',
|
|
141
|
+
parts: [
|
|
142
|
+
{
|
|
143
|
+
type: 'chain-of-thought',
|
|
144
|
+
steps: [
|
|
145
|
+
{ id: '1', title: 'Pick a minimal example', status: 'completed' },
|
|
146
|
+
{ id: '2', title: 'Write the component', status: 'completed' },
|
|
147
|
+
{ id: '3', title: 'Verify dependencies', status: 'active' },
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'artifact',
|
|
152
|
+
title: 'Counter.tsx',
|
|
153
|
+
subtitle: 'React component · 12 lines',
|
|
154
|
+
icon: FileText,
|
|
155
|
+
copyText: SAMPLE_CODE,
|
|
156
|
+
body: <AiCodeBlock code={SAMPLE_CODE} language="tsx" hideHeader />,
|
|
157
|
+
onDownload: () => {},
|
|
158
|
+
onOpen: () => {},
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'confirmation',
|
|
162
|
+
title: 'Run pnpm install in the workspace?',
|
|
163
|
+
description: 'Atlas needs to install react-dom@19 to run the demo.',
|
|
164
|
+
tone: 'info',
|
|
165
|
+
onApprove: () => {},
|
|
166
|
+
onReject: () => {},
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
];
|
|
171
|
+
|
|
172
|
+
const SUGGESTIONS: AiChatSuggestion[] = [
|
|
173
|
+
{ id: 'kpi', label: 'KPI digest', icon: BarChart3 },
|
|
174
|
+
{ id: 'invoice', label: 'Overdue reminder draft', icon: FileText },
|
|
175
|
+
{ id: 'lookup', label: 'Find similar customers', icon: Search },
|
|
176
|
+
{ id: 'refund', label: 'Refund policy explainer', icon: Lightbulb },
|
|
177
|
+
{ id: 'analytics', label: 'Build a SQL query', icon: Database },
|
|
178
|
+
];
|
|
179
|
+
|
|
180
|
+
/* ------------------------------------------------------------------ */
|
|
181
|
+
/* 1. Default conversation */
|
|
182
|
+
/* ------------------------------------------------------------------ */
|
|
183
|
+
|
|
184
|
+
export function Default() {
|
|
185
|
+
const [messages, setMessages] = useState<AiChatMessage[]>(SEED_MESSAGES);
|
|
186
|
+
const [input, setInput] = useState('');
|
|
187
|
+
const [streaming, setStreaming] = useState(false);
|
|
188
|
+
const [attachments, setAttachments] = useState<AiChatAttachment[]>([]);
|
|
189
|
+
|
|
190
|
+
const handleSubmit = useCallback((values: AiChatSubmitValues) => {
|
|
191
|
+
if (!values.text.trim() && values.attachments.length === 0) return;
|
|
192
|
+
const userMsg: AiChatMessage = {
|
|
193
|
+
id: \`u-\${Date.now()}\`,
|
|
194
|
+
role: 'user',
|
|
195
|
+
authorName: 'You',
|
|
196
|
+
timestamp: new Date().toLocaleTimeString([], {
|
|
197
|
+
hour: '2-digit',
|
|
198
|
+
minute: '2-digit',
|
|
199
|
+
}),
|
|
200
|
+
parts: [
|
|
201
|
+
...(values.text.trim()
|
|
202
|
+
? [{ type: 'text' as const, content: values.text }]
|
|
203
|
+
: []),
|
|
204
|
+
...(values.attachments.length > 0
|
|
205
|
+
? [{ type: 'attachments' as const, items: values.attachments }]
|
|
206
|
+
: []),
|
|
207
|
+
],
|
|
208
|
+
};
|
|
209
|
+
const assistantPlaceholder: AiChatMessage = {
|
|
210
|
+
id: \`a-\${Date.now()}\`,
|
|
211
|
+
role: 'assistant',
|
|
212
|
+
authorName: 'Atlas',
|
|
213
|
+
pending: true,
|
|
214
|
+
parts: [],
|
|
215
|
+
};
|
|
216
|
+
setMessages((prev) => [...prev, userMsg, assistantPlaceholder]);
|
|
217
|
+
setInput('');
|
|
218
|
+
setAttachments([]);
|
|
219
|
+
setStreaming(true);
|
|
220
|
+
window.setTimeout(() => {
|
|
221
|
+
setMessages((prev) =>
|
|
222
|
+
prev.map((m) =>
|
|
223
|
+
m.id === assistantPlaceholder.id
|
|
224
|
+
? {
|
|
225
|
+
...m,
|
|
226
|
+
pending: false,
|
|
227
|
+
parts: [
|
|
228
|
+
{
|
|
229
|
+
type: 'text',
|
|
230
|
+
content:
|
|
231
|
+
'Got it. (This is a demo — wire \`onSubmit\` to your model API in production.)',
|
|
232
|
+
},
|
|
233
|
+
],
|
|
234
|
+
}
|
|
235
|
+
: m,
|
|
236
|
+
),
|
|
237
|
+
);
|
|
238
|
+
setStreaming(false);
|
|
239
|
+
}, 1200);
|
|
240
|
+
}, []);
|
|
241
|
+
|
|
242
|
+
return (
|
|
243
|
+
<div className="h-[640px]">
|
|
244
|
+
<AiChat
|
|
245
|
+
agent={AGENT}
|
|
246
|
+
messages={messages}
|
|
247
|
+
inputValue={input}
|
|
248
|
+
onInputChange={setInput}
|
|
249
|
+
onSubmit={handleSubmit}
|
|
250
|
+
onStop={() => setStreaming(false)}
|
|
251
|
+
streaming={streaming}
|
|
252
|
+
attachments={attachments}
|
|
253
|
+
onRemoveAttachment={(id) =>
|
|
254
|
+
setAttachments((prev) => prev.filter((a) => a.id !== id))
|
|
255
|
+
}
|
|
256
|
+
onAttach={() =>
|
|
257
|
+
setAttachments((prev) => [
|
|
258
|
+
...prev,
|
|
259
|
+
{
|
|
260
|
+
id: \`att-\${Date.now()}\`,
|
|
261
|
+
name: 'sample-spec.md',
|
|
262
|
+
meta: '32 KB · Markdown',
|
|
263
|
+
kind: 'document',
|
|
264
|
+
},
|
|
265
|
+
])
|
|
266
|
+
}
|
|
267
|
+
suggestions={SUGGESTIONS}
|
|
268
|
+
onPickSuggestion={(s) =>
|
|
269
|
+
setInput(typeof s.label === 'string' ? s.label : '')
|
|
270
|
+
}
|
|
271
|
+
onMessageRegenerate={() => {}}
|
|
272
|
+
onMessageCopy={() => {}}
|
|
273
|
+
/>
|
|
274
|
+
</div>
|
|
275
|
+
);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/* ------------------------------------------------------------------ */
|
|
279
|
+
/* 2. Streaming / pending assistant message */
|
|
280
|
+
/* ------------------------------------------------------------------ */
|
|
281
|
+
|
|
282
|
+
export function Streaming() {
|
|
283
|
+
const messages: AiChatMessage[] = [
|
|
284
|
+
{
|
|
285
|
+
id: 'u',
|
|
286
|
+
role: 'user',
|
|
287
|
+
authorName: 'You',
|
|
288
|
+
timestamp: '15:02',
|
|
289
|
+
parts: [{ type: 'text', content: 'Draft a refund email for ORD-A219.' }],
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
id: 'a',
|
|
293
|
+
role: 'assistant',
|
|
294
|
+
authorName: 'Atlas',
|
|
295
|
+
pending: true,
|
|
296
|
+
parts: [],
|
|
297
|
+
},
|
|
298
|
+
];
|
|
299
|
+
return (
|
|
300
|
+
<div className="h-[420px]">
|
|
301
|
+
<AiChat
|
|
302
|
+
agent={AGENT}
|
|
303
|
+
messages={messages}
|
|
304
|
+
inputValue=""
|
|
305
|
+
onInputChange={() => {}}
|
|
306
|
+
streaming
|
|
307
|
+
onStop={() => {}}
|
|
308
|
+
/>
|
|
309
|
+
</div>
|
|
310
|
+
);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/* ------------------------------------------------------------------ */
|
|
314
|
+
/* 3. Empty state */
|
|
315
|
+
/* ------------------------------------------------------------------ */
|
|
316
|
+
|
|
317
|
+
export function Empty() {
|
|
318
|
+
const [input, setInput] = useState('');
|
|
319
|
+
return (
|
|
320
|
+
<div className="h-[420px]">
|
|
321
|
+
<AiChat
|
|
322
|
+
agent={AGENT}
|
|
323
|
+
messages={[]}
|
|
324
|
+
inputValue={input}
|
|
325
|
+
onInputChange={setInput}
|
|
326
|
+
suggestions={SUGGESTIONS}
|
|
327
|
+
onPickSuggestion={(s) =>
|
|
328
|
+
setInput(typeof s.label === 'string' ? s.label : '')
|
|
329
|
+
}
|
|
330
|
+
strings={{
|
|
331
|
+
emptyTitle: 'Start a conversation',
|
|
332
|
+
emptyDescription:
|
|
333
|
+
'Ask Atlas about bookings, refunds, KPIs, or paste a spec to review.',
|
|
334
|
+
}}
|
|
335
|
+
/>
|
|
336
|
+
</div>
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/* ------------------------------------------------------------------ */
|
|
341
|
+
/* 4. Slots — custom header, intro, queue */
|
|
342
|
+
/* ------------------------------------------------------------------ */
|
|
343
|
+
|
|
344
|
+
export function WithSlots() {
|
|
345
|
+
const [input, setInput] = useState('');
|
|
346
|
+
const [queue, setQueue] = useState<AiChatQueueItem[]>([
|
|
347
|
+
{ id: 'q1', label: 'Generate weekly KPI digest', status: 'running' },
|
|
348
|
+
{ id: 'q2', label: 'Draft refund email to customer #2941', status: 'queued' },
|
|
349
|
+
]);
|
|
350
|
+
return (
|
|
351
|
+
<div className="h-[520px]">
|
|
352
|
+
<AiChat
|
|
353
|
+
messages={SEED_MESSAGES.slice(0, 2)}
|
|
354
|
+
inputValue={input}
|
|
355
|
+
onInputChange={setInput}
|
|
356
|
+
queue={queue}
|
|
357
|
+
onCancelQueueItem={(id) =>
|
|
358
|
+
setQueue((prev) => prev.filter((q) => q.id !== id))
|
|
359
|
+
}
|
|
360
|
+
slots={{
|
|
361
|
+
header: (
|
|
362
|
+
<div className="flex items-center justify-between border-b border-border bg-card px-4 py-2.5">
|
|
363
|
+
<Text weight="semibold">Atlas · workspace assistant</Text>
|
|
364
|
+
<Button buttonStyle="ghost" size="xs">
|
|
365
|
+
Settings
|
|
366
|
+
</Button>
|
|
367
|
+
</div>
|
|
368
|
+
),
|
|
369
|
+
belowMessages: (
|
|
370
|
+
<div className="border-t border-border bg-muted/30 px-4 py-2">
|
|
371
|
+
<Text size="xs" type="secondary">
|
|
372
|
+
Replies are generated; double-check anything before acting.
|
|
373
|
+
</Text>
|
|
374
|
+
</div>
|
|
375
|
+
),
|
|
376
|
+
}}
|
|
377
|
+
/>
|
|
378
|
+
</div>
|
|
379
|
+
);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/* ------------------------------------------------------------------ */
|
|
383
|
+
/* 5. Headless — useAiChatScroll + custom layout */
|
|
384
|
+
/* ------------------------------------------------------------------ */
|
|
385
|
+
|
|
386
|
+
export function Headless() {
|
|
387
|
+
const [input, setInput] = useState('');
|
|
388
|
+
const [messages, setMessages] = useState<AiChatMessage[]>(
|
|
389
|
+
SEED_MESSAGES.slice(0, 2),
|
|
390
|
+
);
|
|
391
|
+
const { containerRef, endRef, isAtBottom, scrollToBottom } = useAiChatScroll({
|
|
392
|
+
dependency: messages.length,
|
|
393
|
+
});
|
|
394
|
+
|
|
395
|
+
return (
|
|
396
|
+
<div className="flex h-[520px] flex-col overflow-hidden rounded-xl border border-border bg-background">
|
|
397
|
+
<div className="flex items-center justify-between border-b border-border px-4 py-2">
|
|
398
|
+
<Text weight="semibold">Custom shell — built from partials</Text>
|
|
399
|
+
{!isAtBottom && (
|
|
400
|
+
<Button
|
|
401
|
+
buttonStyle="ghost"
|
|
402
|
+
size="xs"
|
|
403
|
+
onClick={() => scrollToBottom()}
|
|
404
|
+
>
|
|
405
|
+
Jump to latest
|
|
406
|
+
</Button>
|
|
407
|
+
)}
|
|
408
|
+
</div>
|
|
409
|
+
<div
|
|
410
|
+
ref={containerRef}
|
|
411
|
+
className="flex-1 overflow-y-auto px-4 py-3"
|
|
412
|
+
>
|
|
413
|
+
{messages.length === 0 ? (
|
|
414
|
+
<AiChatEmptyState
|
|
415
|
+
title="Nothing yet"
|
|
416
|
+
description="Send a message to begin."
|
|
417
|
+
/>
|
|
418
|
+
) : (
|
|
419
|
+
<AiChatConversation
|
|
420
|
+
messages={messages}
|
|
421
|
+
renderMessage={(m) => (
|
|
422
|
+
<div className="rounded-md border border-border bg-card/60 p-3">
|
|
423
|
+
<Text size="xs" type="secondary">
|
|
424
|
+
{m.authorName} · {m.role}
|
|
425
|
+
</Text>
|
|
426
|
+
{m.parts.map((part, i) =>
|
|
427
|
+
part.type === 'text' ? (
|
|
428
|
+
<Text key={i} className="mt-1">
|
|
429
|
+
{part.content}
|
|
430
|
+
</Text>
|
|
431
|
+
) : null,
|
|
432
|
+
)}
|
|
433
|
+
</div>
|
|
434
|
+
)}
|
|
435
|
+
disableAutoScroll
|
|
436
|
+
/>
|
|
437
|
+
)}
|
|
438
|
+
<div ref={endRef} />
|
|
439
|
+
</div>
|
|
440
|
+
<div className="border-t border-border px-4 py-3">
|
|
441
|
+
<AiChatPromptInput
|
|
442
|
+
value={input}
|
|
443
|
+
onChange={setInput}
|
|
444
|
+
onSubmit={(values) => {
|
|
445
|
+
if (!values.text.trim()) return;
|
|
446
|
+
setMessages((prev) => [
|
|
447
|
+
...prev,
|
|
448
|
+
{
|
|
449
|
+
id: \`u-\${Date.now()}\`,
|
|
450
|
+
role: 'user',
|
|
451
|
+
authorName: 'You',
|
|
452
|
+
parts: [{ type: 'text', content: values.text }],
|
|
453
|
+
},
|
|
454
|
+
]);
|
|
455
|
+
setInput('');
|
|
456
|
+
}}
|
|
457
|
+
/>
|
|
458
|
+
</div>
|
|
459
|
+
</div>
|
|
460
|
+
);
|
|
461
|
+
}
|
|
462
|
+
`;function Se(e){let t={code:`code`,h4:`h4`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,...e.components};return ye||$(`Examples`,!1),q||$(`Examples.Default`,!0),Y||$(`Examples.Empty`,!0),Z||$(`Examples.Headless`,!0),J||$(`Examples.Streaming`,!0),X||$(`Examples.WithSlots`,!0),(0,I.jsxs)(r,{title:`AI Chat`,description:`Framework-agnostic AI chat surface. Ties together prompt input, conversation, message renderer, queue, and the full composed/ai/* palette (reasoning, tool calls, attachments, artifacts, confirmations).`,layer:`features`,status:`ready`,sourcePath:`src/components/features/ai-chat`,children:[(0,I.jsxs)(i,{title:`Overview`,id:`overview`,children:[(0,I.jsxs)(t.p,{children:[(0,I.jsx)(t.code,{children:`AiChat`}),` is a controlled chat shell. The library does `,(0,I.jsx)(t.strong,{children:`not`}),` call any
|
|
463
|
+
LLM, fetch any data, or wire any router — every piece of state flows in
|
|
464
|
+
as a prop and every action exits through a callback. That is what makes
|
|
465
|
+
it portable across Inertia, Next.js, Remix, plain Vite, and friends.`]}),(0,I.jsx)(t.p,{children:`The consumer wires:`}),(0,I.jsxs)(t.ul,{children:[`
|
|
466
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.code,{children:`messages`}),` — the controlled message list (you append on submit, you
|
|
467
|
+
flip `,(0,I.jsx)(t.code,{children:`pending`}),` off when the assistant turn completes).`]}),`
|
|
468
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.code,{children:`inputValue`}),` / `,(0,I.jsx)(t.code,{children:`onInputChange`}),` — controlled prompt input.`]}),`
|
|
469
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.code,{children:`onSubmit(values)`}),` — fires on Enter / send. Hook this to your model
|
|
470
|
+
endpoint, tRPC mutation, queue producer, etc.`]}),`
|
|
471
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.code,{children:`onStop`}),` — fires when the user clicks the stop button while
|
|
472
|
+
`,(0,I.jsx)(t.code,{children:`streaming`}),` is true.`]}),`
|
|
473
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.code,{children:`attachments`}),` + `,(0,I.jsx)(t.code,{children:`onAttach`}),` / `,(0,I.jsx)(t.code,{children:`onRemoveAttachment`}),` — staged composer
|
|
474
|
+
attachments. The library never touches storage.`]}),`
|
|
475
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.code,{children:`queue`}),`, `,(0,I.jsx)(t.code,{children:`suggestions`}),`, `,(0,I.jsx)(t.code,{children:`onMessageRegenerate`}),`, `,(0,I.jsx)(t.code,{children:`onMessageCopy`}),` —
|
|
476
|
+
optional callbacks for the surrounding surfaces.`]}),`
|
|
477
|
+
`]})]}),(0,I.jsxs)(i,{title:`How to use`,id:`how-to-use`,children:[(0,I.jsxs)(t.p,{children:[`The canonical mount: controlled state, callback-driven submission, no
|
|
478
|
+
framework SDKs. Drop this in any consumer app and wire `,(0,I.jsx)(t.code,{children:`onSubmit`}),` to
|
|
479
|
+
whatever produces assistant messages.`]}),(0,I.jsx)(l,{language:`tsx`,code:`import { useState } from 'react';
|
|
480
|
+
import { Bot } from 'lucide-react';
|
|
481
|
+
import {
|
|
482
|
+
AiChat,
|
|
483
|
+
type AiChatMessage,
|
|
484
|
+
type AiChatSubmitValues,
|
|
485
|
+
} from '@/components/features/ai-chat';
|
|
486
|
+
|
|
487
|
+
export function MyAssistant() {
|
|
488
|
+
const [messages, setMessages] = useState<AiChatMessage[]>([]);
|
|
489
|
+
const [input, setInput] = useState('');
|
|
490
|
+
const [streaming, setStreaming] = useState(false);
|
|
491
|
+
|
|
492
|
+
async function onSubmit(values: AiChatSubmitValues) {
|
|
493
|
+
if (!values.text.trim()) return;
|
|
494
|
+
const userMsg: AiChatMessage = {
|
|
495
|
+
id: \`u-\${Date.now()}\`,
|
|
496
|
+
role: 'user',
|
|
497
|
+
authorName: 'You',
|
|
498
|
+
parts: [{ type: 'text', content: values.text }],
|
|
499
|
+
};
|
|
500
|
+
const placeholder: AiChatMessage = {
|
|
501
|
+
id: \`a-\${Date.now()}\`,
|
|
502
|
+
role: 'assistant',
|
|
503
|
+
pending: true,
|
|
504
|
+
parts: [],
|
|
505
|
+
};
|
|
506
|
+
setMessages((prev) => [...prev, userMsg, placeholder]);
|
|
507
|
+
setInput('');
|
|
508
|
+
setStreaming(true);
|
|
509
|
+
|
|
510
|
+
// Wire this to YOUR backend / model API.
|
|
511
|
+
const reply = await fetch('/api/chat', {
|
|
512
|
+
method: 'POST',
|
|
513
|
+
body: JSON.stringify({ text: values.text }),
|
|
514
|
+
}).then((r) => r.json());
|
|
515
|
+
|
|
516
|
+
setMessages((prev) =>
|
|
517
|
+
prev.map((m) =>
|
|
518
|
+
m.id === placeholder.id
|
|
519
|
+
? { ...m, pending: false, parts: [{ type: 'text', content: reply.text }] }
|
|
520
|
+
: m,
|
|
521
|
+
),
|
|
522
|
+
);
|
|
523
|
+
setStreaming(false);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
return (
|
|
527
|
+
<AiChat
|
|
528
|
+
agent={{ name: 'Atlas', icon: Bot, tone: 'primary', status: 'idle' }}
|
|
529
|
+
messages={messages}
|
|
530
|
+
inputValue={input}
|
|
531
|
+
onInputChange={setInput}
|
|
532
|
+
onSubmit={onSubmit}
|
|
533
|
+
onStop={() => setStreaming(false)}
|
|
534
|
+
streaming={streaming}
|
|
535
|
+
/>
|
|
536
|
+
);
|
|
537
|
+
}`}),(0,I.jsxs)(t.p,{children:[(0,I.jsx)(t.strong,{children:`Slots.`}),` Every region is a slot via the `,(0,I.jsx)(t.code,{children:`slots`}),` prop: `,(0,I.jsx)(t.code,{children:`header`}),`,
|
|
538
|
+
`,(0,I.jsx)(t.code,{children:`intro`}),`, `,(0,I.jsx)(t.code,{children:`belowMessages`}),`, `,(0,I.jsx)(t.code,{children:`empty`}),`, `,(0,I.jsx)(t.code,{children:`queue`}),`, `,(0,I.jsx)(t.code,{children:`suggestions`}),`, `,(0,I.jsx)(t.code,{children:`input`}),`, plus
|
|
539
|
+
a `,(0,I.jsx)(t.code,{children:`renderMessage(message, ctx)`}),` render-prop for fully custom message
|
|
540
|
+
chrome. Anything you don't pass falls back to the library default.`]}),(0,I.jsxs)(t.p,{children:[(0,I.jsx)(t.strong,{children:`Strings.`}),` `,(0,I.jsx)(t.code,{children:`strings`}),` is a deep-partial of `,(0,I.jsx)(t.code,{children:`AiChatStrings`}),` covering
|
|
541
|
+
the conversation, prompt input, queue, suggestions, and per-message
|
|
542
|
+
copy (`,(0,I.jsx)(t.code,{children:`Copy`}),`, `,(0,I.jsx)(t.code,{children:`Regenerate`}),`, etc.). Map your i18n into it at the call
|
|
543
|
+
site — the library never reaches for a `,(0,I.jsx)(t.code,{children:`useI18n()`}),` hook.`]}),(0,I.jsxs)(t.p,{children:[(0,I.jsx)(t.strong,{children:`Headless mode.`}),` For a fully custom layout, build directly against
|
|
544
|
+
the partials (`,(0,I.jsx)(t.code,{children:`AiChatConversation`}),`, `,(0,I.jsx)(t.code,{children:`AiChatPromptInput`}),`,
|
|
545
|
+
`,(0,I.jsx)(t.code,{children:`AiChatEmptyState`}),`, …) and use the `,(0,I.jsx)(t.code,{children:`useAiChatScroll`}),` hook to keep the
|
|
546
|
+
auto-stick-to-bottom behaviour.`]})]}),(0,I.jsxs)(i,{title:`Examples`,id:`examples`,children:[(0,I.jsx)(d,{name:`Default`,source:Q,children:(0,I.jsx)(q,{})}),(0,I.jsx)(d,{name:`Streaming`,source:Q,children:(0,I.jsx)(J,{})}),(0,I.jsx)(d,{name:`Empty`,source:Q,children:(0,I.jsx)(Y,{})}),(0,I.jsx)(d,{name:`WithSlots`,source:Q,children:(0,I.jsx)(X,{})}),(0,I.jsx)(d,{name:`Headless`,source:Q,children:(0,I.jsx)(Z,{})})]}),(0,I.jsxs)(i,{title:`API`,id:`api`,children:[(0,I.jsx)(t.h4,{children:`AiChat`}),(0,I.jsx)(F,{component:`AiChat`}),(0,I.jsx)(t.h4,{children:`AiChatConversation`}),(0,I.jsx)(F,{component:`AiChatConversation`}),(0,I.jsx)(t.h4,{children:`AiChatMessage`}),(0,I.jsx)(F,{component:`AiChatMessage`}),(0,I.jsx)(t.h4,{children:`AiChatPromptInput`}),(0,I.jsx)(F,{component:`AiChatPromptInput`}),(0,I.jsx)(t.h4,{children:`AiChatEmptyState`}),(0,I.jsx)(F,{component:`AiChatEmptyState`}),(0,I.jsx)(t.h4,{children:`AiChatQueue`}),(0,I.jsx)(F,{component:`AiChatQueue`}),(0,I.jsx)(t.h4,{children:`AiChatSuggestionsRow`}),(0,I.jsx)(F,{component:`AiChatSuggestionsRow`}),(0,I.jsx)(t.h4,{children:`AiChatAttachmentsStrip`}),(0,I.jsx)(F,{component:`AiChatAttachmentsStrip`})]}),(0,I.jsx)(i,{title:`Notes`,id:`notes`,children:(0,I.jsxs)(t.ul,{children:[`
|
|
547
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.strong,{children:`The library does NOT call any LLM.`}),` `,(0,I.jsx)(t.code,{children:`onSubmit`}),` is a callback —
|
|
548
|
+
hook it to your backend, your `,(0,I.jsx)(t.code,{children:`tRPC`}),` mutation, your worker queue,
|
|
549
|
+
whatever produces assistant messages. The library only renders.`]}),`
|
|
550
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.strong,{children:`Messages are fully controlled.`}),` `,(0,I.jsx)(t.code,{children:`pending: true`}),` swaps the bubble
|
|
551
|
+
for the shimmer placeholder; flip it off and pass real `,(0,I.jsx)(t.code,{children:`parts`}),` when
|
|
552
|
+
the assistant turn lands.`]}),`
|
|
553
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsxs)(t.strong,{children:[`Use `,(0,I.jsx)(t.code,{children:`useAiChatScroll`}),` for headless layouts.`]}),` It exposes
|
|
554
|
+
`,(0,I.jsx)(t.code,{children:`containerRef`}),`, `,(0,I.jsx)(t.code,{children:`endRef`}),`, `,(0,I.jsx)(t.code,{children:`isAtBottom`}),`, and `,(0,I.jsx)(t.code,{children:`scrollToBottom`}),` so a
|
|
555
|
+
custom shell keeps the same auto-stick-to-bottom behaviour as
|
|
556
|
+
`,(0,I.jsx)(t.code,{children:`<AiChat>`}),`.`]}),`
|
|
557
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsxs)(t.strong,{children:[`Streaming UI is driven by the `,(0,I.jsx)(t.code,{children:`streaming`}),` prop`]}),`, not by message
|
|
558
|
+
state — toggle it around your network call so the prompt input
|
|
559
|
+
shows the stop button.`]}),`
|
|
560
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.strong,{children:`Attachments are staged client-side.`}),` The library does not upload
|
|
561
|
+
anything; `,(0,I.jsx)(t.code,{children:`onAttach`}),` is your hook to open a file picker (or drop
|
|
562
|
+
zone) and update the controlled `,(0,I.jsx)(t.code,{children:`attachments`}),` array.`]}),`
|
|
563
|
+
`,(0,I.jsxs)(t.li,{children:[(0,I.jsx)(t.strong,{children:`Every partial is exported.`}),` If the default layout doesn't fit,
|
|
564
|
+
compose `,(0,I.jsx)(t.code,{children:`AiChatConversation`}),` / `,(0,I.jsx)(t.code,{children:`AiChatPromptInput`}),` /
|
|
565
|
+
`,(0,I.jsx)(t.code,{children:`AiChatEmptyState`}),` / `,(0,I.jsx)(t.code,{children:`AiChatQueue`}),` / `,(0,I.jsx)(t.code,{children:`AiChatSuggestionsRow`}),` /
|
|
566
|
+
`,(0,I.jsx)(t.code,{children:`AiChatAttachmentsStrip`}),` directly — same data shape, full control
|
|
567
|
+
over the chrome.`]}),`
|
|
568
|
+
`]})})]})}function Ce(e={}){let{wrapper:t}=e.components||{};return t?(0,I.jsx)(t,{...e,children:(0,I.jsx)(Se,{...e})}):Se(e)}function $(e,t){throw Error(`Expected `+(t?`component`:`object`)+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}export{Ce as default};
|