admin-ui-starter-kit 0.6.7 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/component-library-rules/SKILL.md +2 -2
- package/.agents/skills/component-library-rules/references/components/INDEX.json +15 -1
- package/.agents/skills/component-library-rules/references/components/INDEX.md +15 -1
- package/.agents/skills/component-library-rules/references/components/base__boolean-indicator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__cards.md +3 -2
- package/.agents/skills/component-library-rules/references/components/base__collapsible.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__conditional-rendering.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__date-block.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__dialog.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +74 -103
- package/.agents/skills/component-library-rules/references/components/base__item.md +4 -3
- package/.agents/skills/component-library-rules/references/components/base__money-display.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__notification-banner.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__placeholder-pattern.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__progress.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__qr-code.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__separator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__skeleton.md +55 -0
- package/.agents/skills/component-library-rules/references/components/base__throttle-alert.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__visually-hidden.md +39 -0
- package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +2 -1
- package/.agents/skills/component-library-rules/references/ui-provider.md +2 -2
- package/dist/_shared/accordion-8B4OFqiT.cjs +2 -0
- package/dist/_shared/accordion-8B4OFqiT.cjs.map +1 -0
- package/dist/_shared/accordion-DlpTSZ3p.js +135 -0
- package/dist/_shared/accordion-DlpTSZ3p.js.map +1 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs +2 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs.map +1 -0
- package/dist/_shared/action-menu-CYwMZX-b.js +96 -0
- package/dist/_shared/action-menu-CYwMZX-b.js.map +1 -0
- package/dist/_shared/ai-artifact-Cv8VBibf.cjs +3 -0
- package/dist/_shared/ai-artifact-Cv8VBibf.cjs.map +1 -0
- package/dist/_shared/ai-artifact-DwfXQuh4.js +1099 -0
- package/dist/_shared/ai-artifact-DwfXQuh4.js.map +1 -0
- package/dist/_shared/auth-Cz5ci18c.cjs +2 -0
- package/dist/_shared/auth-Cz5ci18c.cjs.map +1 -0
- package/dist/_shared/auth-DDWsgFUL.js +643 -0
- package/dist/_shared/auth-DDWsgFUL.js.map +1 -0
- package/dist/_shared/badge-C65rt1M9.cjs +2 -0
- package/dist/_shared/badge-C65rt1M9.cjs.map +1 -0
- package/dist/_shared/badge-r8ae66Vd.js +110 -0
- package/dist/_shared/badge-r8ae66Vd.js.map +1 -0
- package/dist/_shared/button-Be2ayMxF.js +192 -0
- package/dist/_shared/button-Be2ayMxF.js.map +1 -0
- package/dist/_shared/button-CfQtOuBK.cjs +2 -0
- package/dist/_shared/button-CfQtOuBK.cjs.map +1 -0
- package/dist/_shared/buttons-DABiSx6N.cjs +2 -0
- package/dist/_shared/buttons-DABiSx6N.cjs.map +1 -0
- package/dist/_shared/buttons-DYQqQPpk.js +137 -0
- package/dist/_shared/buttons-DYQqQPpk.js.map +1 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs +2 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +1 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js +150 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js.map +1 -0
- package/dist/_shared/cards-BJctT9KD.js +428 -0
- package/dist/_shared/cards-BJctT9KD.js.map +1 -0
- package/dist/_shared/cards-m03XN10f.cjs +2 -0
- package/dist/_shared/cards-m03XN10f.cjs.map +1 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs +2 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs.map +1 -0
- package/dist/_shared/combobox-D9tU_83-.js +954 -0
- package/dist/_shared/combobox-D9tU_83-.js.map +1 -0
- package/dist/_shared/command-BbJB0pjP.cjs +2 -0
- package/dist/_shared/command-BbJB0pjP.cjs.map +1 -0
- package/dist/_shared/command-IP2wy_HN.js +39 -0
- package/dist/_shared/command-IP2wy_HN.js.map +1 -0
- package/dist/_shared/comments-DAzpeuQq.cjs +2 -0
- package/dist/_shared/comments-DAzpeuQq.cjs.map +1 -0
- package/dist/_shared/comments-DzZaKP9x.js +952 -0
- package/dist/_shared/comments-DzZaKP9x.js.map +1 -0
- package/dist/_shared/copyable-BJYx2SlN.js +38 -0
- package/dist/_shared/copyable-BJYx2SlN.js.map +1 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs +2 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs.map +1 -0
- package/dist/_shared/data-display-DQUUEzCx.cjs +2 -0
- package/dist/_shared/data-display-DQUUEzCx.cjs.map +1 -0
- package/dist/_shared/data-display-LlvMEFTK.js +1878 -0
- package/dist/_shared/data-display-LlvMEFTK.js.map +1 -0
- package/dist/_shared/date-picker-CrC-lHyF.cjs +2 -0
- package/dist/_shared/date-picker-CrC-lHyF.cjs.map +1 -0
- package/dist/_shared/date-picker-DbYBek-b.js +1361 -0
- package/dist/_shared/date-picker-DbYBek-b.js.map +1 -0
- package/dist/_shared/date-pickers-9AU8YQK2.js +329 -0
- package/dist/_shared/date-pickers-9AU8YQK2.js.map +1 -0
- package/dist/_shared/date-pickers-DUEwCWig.cjs +2 -0
- package/dist/_shared/date-pickers-DUEwCWig.cjs.map +1 -0
- package/dist/_shared/display-BqoPOdof.cjs +2 -0
- package/dist/_shared/display-BqoPOdof.cjs.map +1 -0
- package/dist/_shared/display-CQoSwU74.js +986 -0
- package/dist/_shared/display-CQoSwU74.js.map +1 -0
- package/dist/_shared/forms-CNh-S9FK.cjs +2 -0
- package/dist/_shared/forms-CNh-S9FK.cjs.map +1 -0
- package/dist/_shared/forms-DIz3SCA9.js +3534 -0
- package/dist/_shared/forms-DIz3SCA9.js.map +1 -0
- package/dist/_shared/header-Bs61tQla.js +447 -0
- package/dist/_shared/header-Bs61tQla.js.map +1 -0
- package/dist/_shared/header-D01oOxna.cjs +2 -0
- package/dist/_shared/header-D01oOxna.cjs.map +1 -0
- package/dist/_shared/hooks-ACnpaIli.js +95 -0
- package/dist/_shared/hooks-ACnpaIli.js.map +1 -0
- package/dist/_shared/hooks-B7khuHkk.cjs +2 -0
- package/dist/_shared/hooks-B7khuHkk.cjs.map +1 -0
- package/dist/_shared/input-CzJzVyQ0.js +182 -0
- package/dist/_shared/input-CzJzVyQ0.js.map +1 -0
- package/dist/_shared/input-Dvvmn96E.cjs +2 -0
- package/dist/_shared/input-Dvvmn96E.cjs.map +1 -0
- package/dist/_shared/item-CVjjpHQd.js +226 -0
- package/dist/_shared/item-CVjjpHQd.js.map +1 -0
- package/dist/_shared/item-ChHblHhR.cjs +2 -0
- package/dist/_shared/item-ChHblHhR.cjs.map +1 -0
- package/dist/_shared/layout-CGi5w1mo.js +268 -0
- package/dist/_shared/layout-CGi5w1mo.js.map +1 -0
- package/dist/_shared/layout-ccVwjUG8.cjs +2 -0
- package/dist/_shared/layout-ccVwjUG8.cjs.map +1 -0
- package/dist/_shared/mentions-Cg_4vFxd.cjs +2 -0
- package/dist/_shared/mentions-Cg_4vFxd.cjs.map +1 -0
- package/dist/_shared/mentions-Ci9RFTfw.js +506 -0
- package/dist/_shared/mentions-Ci9RFTfw.js.map +1 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs +2 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs.map +1 -0
- package/dist/_shared/money-display-DpuLnsK2.js +198 -0
- package/dist/_shared/money-display-DpuLnsK2.js.map +1 -0
- package/dist/_shared/navigation-C1QN2-Vq.cjs +2 -0
- package/dist/_shared/navigation-C1QN2-Vq.cjs.map +1 -0
- package/dist/_shared/navigation-CMrLO8v5.js +436 -0
- package/dist/_shared/navigation-CMrLO8v5.js.map +1 -0
- package/dist/_shared/overlays-BJLczwpz.js +735 -0
- package/dist/_shared/overlays-BJLczwpz.js.map +1 -0
- package/dist/_shared/overlays-DbaPLT67.cjs +2 -0
- package/dist/_shared/overlays-DbaPLT67.cjs.map +1 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs +2 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +1 -0
- package/dist/_shared/popover-menu-f2O6R_27.js +93 -0
- package/dist/_shared/popover-menu-f2O6R_27.js.map +1 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js +620 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js.map +1 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +2 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +1 -0
- package/dist/_shared/separator-BXn_fnly.cjs +2 -0
- package/dist/_shared/separator-BXn_fnly.cjs.map +1 -0
- package/dist/_shared/separator-DiH-j--f.js +20 -0
- package/dist/_shared/separator-DiH-j--f.js.map +1 -0
- package/dist/_shared/settings-CgtcSI8L.js +143 -0
- package/dist/_shared/settings-CgtcSI8L.js.map +1 -0
- package/dist/_shared/settings-csNmeT7b.cjs +2 -0
- package/dist/_shared/settings-csNmeT7b.cjs.map +1 -0
- package/dist/_shared/sidebar-DyGIcJd9.cjs +2 -0
- package/dist/_shared/sidebar-DyGIcJd9.cjs.map +1 -0
- package/dist/_shared/sidebar-OT-xIguQ.js +548 -0
- package/dist/_shared/sidebar-OT-xIguQ.js.map +1 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs +2 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs.map +1 -0
- package/dist/_shared/skeleton-yUXqeWzB.js +256 -0
- package/dist/_shared/skeleton-yUXqeWzB.js.map +1 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs +2 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs.map +1 -0
- package/dist/_shared/spinner-CuVZhJhN.js +67 -0
- package/dist/_shared/spinner-CuVZhJhN.js.map +1 -0
- package/dist/_shared/table-BVWemr79.cjs +2 -0
- package/dist/_shared/table-BVWemr79.cjs.map +1 -0
- package/dist/_shared/table-WYSjfQRr.js +1377 -0
- package/dist/_shared/table-WYSjfQRr.js.map +1 -0
- package/dist/_shared/textarea-C0iZwWdD.js +118 -0
- package/dist/_shared/textarea-C0iZwWdD.js.map +1 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs +2 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs.map +1 -0
- package/dist/_shared/typography-5bLhAYaK.js +201 -0
- package/dist/_shared/typography-5bLhAYaK.js.map +1 -0
- package/dist/_shared/typography-CWEobAJV.cjs +2 -0
- package/dist/_shared/typography-CWEobAJV.cjs.map +1 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs +2 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs.map +1 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js +89 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js.map +1 -0
- package/dist/_shared/workspace-BkwsqTrc.cjs +2 -0
- package/dist/_shared/workspace-BkwsqTrc.cjs.map +1 -0
- package/dist/_shared/workspace-DpU1YG1t.js +357 -0
- package/dist/_shared/workspace-DpU1YG1t.js.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/button.d.ts.map +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/buttons/tooltip-button.d.ts.map +1 -1
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +2 -2
- package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +7 -3
- package/dist/components/base/cards/smart-card.types.d.ts.map +1 -1
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/index.js +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +1 -1
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/chart.cjs +1 -1
- package/dist/components/base/display/chart.js +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +6 -6
- package/dist/components/base/display/separator.d.ts +10 -1
- package/dist/components/base/display/separator.d.ts.map +1 -1
- package/dist/components/base/display/skeleton.d.ts +52 -1
- package/dist/components/base/display/skeleton.d.ts.map +1 -1
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.js +4 -4
- package/dist/components/base/forms/fields/file-upload.d.ts.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/item/item.d.ts.map +1 -1
- package/dist/components/base/item/item.types.d.ts +3 -0
- package/dist/components/base/item/item.types.d.ts.map +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +2 -2
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +2 -2
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/base/toaster/index.cjs +1 -1
- package/dist/components/base/toaster/index.cjs.map +1 -1
- package/dist/components/base/toaster/index.js +82 -23
- package/dist/components/base/toaster/index.js.map +1 -1
- package/dist/components/base/toaster/toaster.d.ts +1 -1
- package/dist/components/base/toaster/toaster.d.ts.map +1 -1
- package/dist/components/composed/admin/api-key-list/api-key-list.d.ts.map +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.cjs.map +1 -1
- package/dist/components/composed/admin/index.js +67 -67
- package/dist/components/composed/admin/index.js.map +1 -1
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +9 -9
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.cjs.map +1 -1
- package/dist/components/composed/analytics/index.js +12 -12
- package/dist/components/composed/analytics/index.js.map +1 -1
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.js +7 -7
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.js +10 -10
- package/dist/components/composed/commerce/index.js.map +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +5 -5
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-dashboard.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-financial.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-score.d.ts.map +1 -1
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/data-display/resource-selector-card.d.ts.map +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +5 -5
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +3 -3
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +5 -5
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.js +5 -5
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +5 -5
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.cjs.map +1 -1
- package/dist/components/features/filters/index.js +190 -190
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/filters/partials/filters-button.d.ts.map +1 -1
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +4 -4
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.js +10 -10
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.js +11 -11
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.js +5 -5
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +7 -7
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/page/page.types.d.ts +5 -0
- package/dist/components/layout/page/page.types.d.ts.map +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts.map +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/ui-provider/defaults.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.cjs +1 -1
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/index.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.js +1 -1
- package/dist/lib/ui-provider/types.d.ts +14 -0
- package/dist/lib/ui-provider/types.d.ts.map +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-DxDBymDt.js +6 -0
- package/dist/showcase/assets/CompositeItem-owAA4Ah3.js +1 -0
- package/dist/showcase/assets/CompositeRoot-DzHTtLBs.js +1 -0
- package/dist/showcase/assets/DialogTrigger-OUBMI353.js +1 -0
- package/dist/showcase/assets/LabelableContext-Cd9Gf7TR.js +1 -0
- package/dist/showcase/assets/PreviewLayout-X_NxjYOV.js +1 -0
- package/dist/showcase/assets/RadioGroup-BzveyiIV.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-IZFF348L.js +1 -0
- package/dist/showcase/assets/Separator-CSYYEo-X.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-BYSKM0e8.js +1 -0
- package/dist/showcase/assets/accordion-B9VkLXiy.js +171 -0
- package/dist/showcase/assets/accordion-variants-g7lk5hEX.js +1 -0
- package/dist/showcase/assets/action-menu-CWIvuiLO.js +1 -0
- package/dist/showcase/assets/actions-BuwzXYEF.js +310 -0
- package/dist/showcase/assets/activities-BTBlr1G4.js +500 -0
- package/dist/showcase/assets/activities-feed-card-C5lcwUFk.js +1 -0
- package/dist/showcase/assets/admin-kbK6nUjx.js +140 -0
- package/dist/showcase/assets/ai-CKu9EGmA.js +207 -0
- package/dist/showcase/assets/ai-artifact-Bg1MFGeF.js +2 -0
- package/dist/showcase/assets/ai-chat-DEntRhJD.js +568 -0
- package/dist/showcase/assets/ai-elements-DyKRCWiS.js +387 -0
- package/dist/showcase/assets/ai-tool-call-DFrTelEX.js +1 -0
- package/dist/showcase/assets/alert-C0wSpBYn.js +93 -0
- package/dist/showcase/assets/alert-CZ4rgwPr.js +62 -0
- package/dist/showcase/assets/alert-WTKIdE4s.js +1 -0
- package/dist/showcase/assets/api-key-list-BnrUT9Uf.js +1 -0
- package/dist/showcase/assets/api-key-list-bQ6QzFhA.js +73 -0
- package/dist/showcase/assets/app-sidebar-B3veRbac.js +1 -0
- package/dist/showcase/assets/arrow-down-CEXJx115.js +1 -0
- package/dist/showcase/assets/arrow-left-Ca6ri5q0.js +1 -0
- package/dist/showcase/assets/arrow-right-a3STqWgx.js +1 -0
- package/dist/showcase/assets/arrow-up-CCU1MaGq.js +1 -0
- package/dist/showcase/assets/arrow-up-right-BDImqvM2.js +1 -0
- package/dist/showcase/assets/avatar-Bwgai0SK.js +67 -0
- package/dist/showcase/assets/avatar-DSmL52Us.js +57 -0
- package/dist/showcase/assets/avatar-kK9n1a25.js +1 -0
- package/dist/showcase/assets/avatar-nb7MgV_x.js +1 -0
- package/dist/showcase/assets/badge-CTGPRSXm.js +31 -0
- package/dist/showcase/assets/badge-check-zqoYYrVj.js +1 -0
- package/dist/showcase/assets/bell-D7HWGStL.js +1 -0
- package/dist/showcase/assets/boolean-indicator-CqwlV0cf.js +1 -0
- package/dist/showcase/assets/bot-Owx4SMiU.js +1 -0
- package/dist/showcase/assets/box-BeeoLlMd.js +1 -0
- package/dist/showcase/assets/braces-fzrExVIx.js +1 -0
- package/dist/showcase/assets/brain-Da2fsBjd.js +1 -0
- package/dist/showcase/assets/brand-Bo6uwdGf.js +36 -0
- package/dist/showcase/assets/breadcrumb-B-K-6dtd.js +1 -0
- package/dist/showcase/assets/breadcrumb-B6lR9Cq2.js +52 -0
- package/dist/showcase/assets/breadcrumbs-Bamog6P5.js +1 -0
- package/dist/showcase/assets/briefcase-DQjbh28E.js +1 -0
- package/dist/showcase/assets/building-2-DaQW5yJa.js +1 -0
- package/dist/showcase/assets/button-D3skvyQS.js +44 -0
- package/dist/showcase/assets/button-group-BYtbrhme.js +1 -0
- package/dist/showcase/assets/buttons-B3IkMmNQ.js +272 -0
- package/dist/showcase/assets/calendar-C4fCDK3O.js +1 -0
- package/dist/showcase/assets/calendar-CcwkVxCK.js +16 -0
- package/dist/showcase/assets/calendar-DBkwxV9H.js +1 -0
- package/dist/showcase/assets/calendar-days-BWed1W3Z.js +1 -0
- package/dist/showcase/assets/camera-BUoAyoZT.js +1 -0
- package/dist/showcase/assets/card-7DBPqWuv.js +1 -0
- package/dist/showcase/assets/card-ClwyNDHJ.js +188 -0
- package/dist/showcase/assets/card-primitives-BE1YpEQW.js +1 -0
- package/dist/showcase/assets/card-radio-group-1NMbocuG.js +1 -0
- package/dist/showcase/assets/cards-Bu8uaGSU.js +354 -0
- package/dist/showcase/assets/carousel-dTTRRSQg.js +449 -0
- package/dist/showcase/assets/cell-renderers-CcyBuUsC.js +1 -0
- package/dist/showcase/assets/chart-BSboeIO6.js +358 -0
- package/dist/showcase/assets/chart-column-CCzA6B9l.js +1 -0
- package/dist/showcase/assets/checkbox-CSdEPNT5.js +1 -0
- package/dist/showcase/assets/checkbox-CqNLi9Q3.js +1 -0
- package/dist/showcase/assets/chevron-down-C91gNQdT.js +1 -0
- package/dist/showcase/assets/chevron-left-SiAoYFSo.js +1 -0
- package/dist/showcase/assets/chevron-up-Beb1_ET_.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-DaST4VKL.js +1 -0
- package/dist/showcase/assets/circle-D9KiRp8C.js +1 -0
- package/dist/showcase/assets/circle-alert-BQkAwFkl.js +1 -0
- package/dist/showcase/assets/circle-check-big-CN5YOJqq.js +1 -0
- package/dist/showcase/assets/circle-check-dqmKTiDe.js +1 -0
- package/dist/showcase/assets/circle-dot-B7LPN_0V.js +1 -0
- package/dist/showcase/assets/circle-question-mark-yTRkQO3d.js +1 -0
- package/dist/showcase/assets/circle-x-CW2dFcX-.js +1 -0
- package/dist/showcase/assets/clock-3-CXJ_JotW.js +1 -0
- package/dist/showcase/assets/clock-DUqvfazQ.js +1 -0
- package/dist/showcase/assets/code-xml-BmdQDeID.js +1 -0
- package/dist/showcase/assets/collapsible-C-WYhJxn.js +1 -0
- package/dist/showcase/assets/collapsible-CL37AlCX.js +27 -0
- package/dist/showcase/assets/collapsible-uGO5Rj8q.js +1 -0
- package/dist/showcase/assets/combobox-CFh5kUzj.js +685 -0
- package/dist/showcase/assets/command-CtpLaHjh.js +1 -0
- package/dist/showcase/assets/command-DSlK-QAE.js +1 -0
- package/dist/showcase/assets/comment-composer-Rr_a5tZQ.js +1 -0
- package/dist/showcase/assets/comment-item-Dme2o2KI.js +1 -0
- package/dist/showcase/assets/comments-CW2nz465.js +357 -0
- package/dist/showcase/assets/commerce-bwcq6oPn.js +267 -0
- package/dist/showcase/assets/composite-DMIR0vmP.js +1 -0
- package/dist/showcase/assets/conditional-rendering-Bk6AC76c.js +1 -0
- package/dist/showcase/assets/contact-card-BCXS9tWq.js +65 -0
- package/dist/showcase/assets/content-container-b1dC2caJ.js +1 -0
- package/dist/showcase/assets/copyable-BIABx-Vv.js +96 -0
- package/dist/showcase/assets/copyable-Ic9wzVaj.js +1 -0
- package/dist/showcase/assets/course-card-Bo5P3TYv.js +77 -0
- package/dist/showcase/assets/cpu-_VqU6yRO.js +1 -0
- package/dist/showcase/assets/credit-card-BbxO8xLo.js +1 -0
- package/dist/showcase/assets/css-variables-zqpBgnS1.js +1205 -0
- package/dist/showcase/assets/currency-Cjvt4F0b.js +149 -0
- package/dist/showcase/assets/dark-surfaces-CLwERt1f.js +90 -0
- package/dist/showcase/assets/data-view-AtyUp7b-.js +124 -0
- package/dist/showcase/assets/data-view-cnEmgP1C.js +4 -0
- package/dist/showcase/assets/database-TbVXEw7v.js +1 -0
- package/dist/showcase/assets/date-block-CDHemKnP.js +1 -0
- package/dist/showcase/assets/date-block-COb89Y_-.js +1 -0
- package/dist/showcase/assets/date-picker-CK8llBIN.js +1 -0
- package/dist/showcase/assets/date-pickers-DFfDnW9w.js +73 -0
- package/dist/showcase/assets/dense-info-CaFVDE90.js +106 -0
- package/dist/showcase/assets/design-system-consistency-CeSMuTuu.js +264 -0
- package/dist/showcase/assets/dialog-CRQNEK2K.js +1 -0
- package/dist/showcase/assets/dialog-CsCLDb0G.js +1 -0
- package/dist/showcase/assets/dialog-Qh3EHEKq.js +1 -0
- package/dist/showcase/assets/display-utilities-rP3hb4FK.js +4 -0
- package/dist/showcase/assets/display-utilities.examples-BwbvHOcx.js +309 -0
- package/dist/showcase/assets/dist-CbqRct9s.js +1 -0
- package/dist/showcase/assets/dist-iivamCjp.js +45 -0
- package/dist/showcase/assets/dollar-sign-COaRmdJE.js +1 -0
- package/dist/showcase/assets/download-yCcb4rfH.js +1 -0
- package/dist/showcase/assets/dropdown-menu-KoFNw-fX.js +1 -0
- package/dist/showcase/assets/dropzone-DLguWnmu.js +1 -0
- package/dist/showcase/assets/earth-TDRqTA4S.js +1 -0
- package/dist/showcase/assets/ellipsis-Q_fBbRE9.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-Bh8t3Z1g.js +1 -0
- package/dist/showcase/assets/empty-DvmDTSAj.js +1 -0
- package/dist/showcase/assets/empty-item-C3HP5nuw.js +49 -0
- package/dist/showcase/assets/empty-state-Dcin4cOt.js +190 -0
- package/dist/showcase/assets/empty-state-IV_GTNEI.js +1 -0
- package/dist/showcase/assets/enhanced-activities-BLf2gpes.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-ClZcVnhv.js +1 -0
- package/dist/showcase/assets/esm-Cf6QQstQ.js +2 -0
- package/dist/showcase/assets/event-calendar-zrfI_3AM.js +138 -0
- package/dist/showcase/assets/event-log-D-_CViAw.js +330 -0
- package/dist/showcase/assets/example-6bZGEb3-.js +1 -0
- package/dist/showcase/assets/external-link-7ldgjHZM.js +1 -0
- package/dist/showcase/assets/eye-pXVkim6z.js +1 -0
- package/dist/showcase/assets/feature-announcement-CFcGj3ge.js +34 -0
- package/dist/showcase/assets/file-Bn9sAGaT.js +1 -0
- package/dist/showcase/assets/file-text-Cvxg6pjh.js +1 -0
- package/dist/showcase/assets/filter-layout-DqNRRzDU.js +1 -0
- package/dist/showcase/assets/filters-CQMI_T63.js +139 -0
- package/dist/showcase/assets/flag-vI_WJ-BU.js +1 -0
- package/dist/showcase/assets/folder-open-0AyKSRQS.js +1 -0
- package/dist/showcase/assets/form-field-BaBeXn7a.js +1 -0
- package/dist/showcase/assets/format-DLLMyN-3.js +1 -0
- package/dist/showcase/assets/forms-gPD-Caru.js +915 -0
- package/dist/showcase/assets/funnel-Ca9nWMHm.js +1 -0
- package/dist/showcase/assets/generic-AAssz0h7.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-fbxSMOsb.js +1 -0
- package/dist/showcase/assets/gift-BC42Oxfz.js +1 -0
- package/dist/showcase/assets/giftcard-cards-CFKnYe0c.js +85 -0
- package/dist/showcase/assets/git-branch-B-nF8w-J.js +1 -0
- package/dist/showcase/assets/global-search-D6Gxw0G3.js +1 -0
- package/dist/showcase/assets/global-search-jsb_4idg.js +215 -0
- package/dist/showcase/assets/globe-C92uBSrO.js +1 -0
- package/dist/showcase/assets/gradient-card-D4ly60sD.js +58 -0
- package/dist/showcase/assets/hash-BShTbxlR.js +1 -0
- package/dist/showcase/assets/header-CSiNqg9Q.js +1 -0
- package/dist/showcase/assets/header-notifications-CpHeFPQF.js +1 -0
- package/dist/showcase/assets/heart-B3hXs7fr.js +1 -0
- package/dist/showcase/assets/hooks-CamAqFFh.js +220 -0
- package/dist/showcase/assets/house-4_CouE-Y.js +1 -0
- package/dist/showcase/assets/icon-badge-CePIZqWR.js +1 -0
- package/dist/showcase/assets/icon-badge-DSbvvnxh.js +37 -0
- package/dist/showcase/assets/image-BxbFIbVJ.js +1 -0
- package/dist/showcase/assets/inbox-BXab1SM6.js +1 -0
- package/dist/showcase/assets/index-BPUtPJjB.css +2 -0
- package/dist/showcase/assets/index-BjjNfnhP.js +10 -0
- package/dist/showcase/assets/inertValue-CZOzgsmF.js +1 -0
- package/dist/showcase/assets/info-DzqwCq93.js +1 -0
- package/dist/showcase/assets/inline-stat-D5ybpUh-.js +15 -0
- package/dist/showcase/assets/inline-stat-Dq34wv-6.js +1 -0
- package/dist/showcase/assets/input-C8OfUHCK.js +1 -0
- package/dist/showcase/assets/input-D34Ge3rh.js +1 -0
- package/dist/showcase/assets/input-group-BCPZ6Pwq.js +1 -0
- package/dist/showcase/assets/input-group-CySTANka.js +47 -0
- package/dist/showcase/assets/inputs-CnmHo_lj.js +155 -0
- package/dist/showcase/assets/installation-BPvseS46.js +134 -0
- package/dist/showcase/assets/invoice-header-C9JjJWQX.js +36 -0
- package/dist/showcase/assets/invoice-items-DB8tbCv9.js +36 -0
- package/dist/showcase/assets/invoice-mini-Q_PnimKL.js +14 -0
- package/dist/showcase/assets/invoice-table-CLDvpLib.js +30 -0
- package/dist/showcase/assets/isSameDay-D8bDebyL.js +1 -0
- package/dist/showcase/assets/isToday-XVjRuMtp.js +1 -0
- package/dist/showcase/assets/italic-Cm13b8qb.js +1 -0
- package/dist/showcase/assets/item-C07859JQ.js +1 -0
- package/dist/showcase/assets/item-LinnMxvu.js +1 -0
- package/dist/showcase/assets/item-i7ZUMs5t.js +140 -0
- package/dist/showcase/assets/kanban-CIMTpuN5.js +188 -0
- package/dist/showcase/assets/key-round-Bh7EzOyR.js +1 -0
- package/dist/showcase/assets/label-C3A4CjeG.js +1 -0
- package/dist/showcase/assets/languages-C37jhetw.js +1 -0
- package/dist/showcase/assets/layers-Lyr6p-Nt.js +1 -0
- package/dist/showcase/assets/layout-app-shell-BWAkl9gq.js +608 -0
- package/dist/showcase/assets/layout-auth-y1alnhc8.js +790 -0
- package/dist/showcase/assets/layout-containers-B6c-uvil.js +101 -0
- package/dist/showcase/assets/layout-header-DNhJHWNw.js +203 -0
- package/dist/showcase/assets/layout-page-CXU7CnQK.js +315 -0
- package/dist/showcase/assets/layout-primitives-StuFwfwh.js +34 -0
- package/dist/showcase/assets/layout-sidebar-D-QjnZPh.js +224 -0
- package/dist/showcase/assets/layout-users-D7KMzs3-.js +117 -0
- package/dist/showcase/assets/layout-workspace-Butr7CL5.js +191 -0
- package/dist/showcase/assets/lib-D5nOMXIt.js +1 -0
- package/dist/showcase/assets/list-checks-Cg9HZf4W.js +1 -0
- package/dist/showcase/assets/lock-Da21HhQx.js +1 -0
- package/dist/showcase/assets/lock-keyhole-DNTfa9e3.js +1 -0
- package/dist/showcase/assets/mail-Bamky-ti.js +1 -0
- package/dist/showcase/assets/mail-check-BfVYPC42.js +1 -0
- package/dist/showcase/assets/map-BTlWnRAQ.js +124 -0
- package/dist/showcase/assets/map-pin-BU2RBuvC.js +1 -0
- package/dist/showcase/assets/media-library-DJxgoGAF.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-CbXVAvbK.js +1 -0
- package/dist/showcase/assets/mentions-kMT-Z3qU.js +138 -0
- package/dist/showcase/assets/menus-bhp_n9PT.js +171 -0
- package/dist/showcase/assets/message-square-DC5Bb9Zs.js +1 -0
- package/dist/showcase/assets/metadata-list-DGr729EW.js +286 -0
- package/dist/showcase/assets/metadata-list-DyjhZi6d.js +1 -0
- package/dist/showcase/assets/metric-DRDok6Ci.js +1 -0
- package/dist/showcase/assets/metric-bar-DZsH4Q3U.js +1 -0
- package/dist/showcase/assets/metric-grid-BlFXTrid.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-oEihbEK8.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-BovaXHQX.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CeX9Skmd.js +50 -0
- package/dist/showcase/assets/metrics-comparison-DFPSmREl.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-CXzfZwe_.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-DQJaNpYH.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-BIpv8CPU.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-EOCkRI5Z.js +42 -0
- package/dist/showcase/assets/metrics-overview-BD4s9H2T.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-t7asN5nA.js +54 -0
- package/dist/showcase/assets/minus-Dr1iTc_q.js +1 -0
- package/dist/showcase/assets/money-display-B5_VqQC0.js +1 -0
- package/dist/showcase/assets/money-display-bU2_cVGX.js +1 -0
- package/dist/showcase/assets/month-year-picker-DVRuYbLm.js +1 -0
- package/dist/showcase/assets/navigation-DBKvJoe-.js +231 -0
- package/dist/showcase/assets/navigation-DOhfmtgy.js +90 -0
- package/dist/showcase/assets/navigation-extras-BkO2TZP7.js +43 -0
- package/dist/showcase/assets/notification-banner-CE1Ei_ZT.js +1 -0
- package/dist/showcase/assets/onboarding-checklist-Bf0aoBoa.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-B2RXtyMP.js +1 -0
- package/dist/showcase/assets/overlays-4E_sUgkz.js +408 -0
- package/dist/showcase/assets/overlays-ulNl-Vhr.js +159 -0
- package/dist/showcase/assets/overview-CgymfIBq.js +184 -0
- package/dist/showcase/assets/package-CADuUP1u.js +1 -0
- package/dist/showcase/assets/package-check-O7MD6XE_.js +1 -0
- package/dist/showcase/assets/page-GB6OIgID.js +1 -0
- package/dist/showcase/assets/page-action-button-Dpprot7y.js +1 -0
- package/dist/showcase/assets/page-header-2VEUPx67.js +1 -0
- package/dist/showcase/assets/pagination-BBuRtAX9.js +1 -0
- package/dist/showcase/assets/pagination-C4mt4Q4l.js +42 -0
- package/dist/showcase/assets/paperclip-Cmyh3Bhf.js +1 -0
- package/dist/showcase/assets/password-input-CgZj1niQ.js +1 -0
- package/dist/showcase/assets/pencil-CtdXjogr.js +1 -0
- package/dist/showcase/assets/phone-CAFMH1vV.js +1 -0
- package/dist/showcase/assets/placeholder-pattern-DHKm-uYV.js +1 -0
- package/dist/showcase/assets/plus-CN2dzUxL.js +1 -0
- package/dist/showcase/assets/popover-DILNXLWy.js +1 -0
- package/dist/showcase/assets/popover-menu-Bp08xxOf.js +1 -0
- package/dist/showcase/assets/popover-o1EO2yVS.js +1 -0
- package/dist/showcase/assets/products-CCLAbHBN.js +423 -0
- package/dist/showcase/assets/progress-BGna-ZmU.js +18 -0
- package/dist/showcase/assets/progress-BSYlNLIJ.js +1 -0
- package/dist/showcase/assets/progress-CZVy3LGB.js +1 -0
- package/dist/showcase/assets/props-table-X9St7Q4m.js +1 -0
- package/dist/showcase/assets/props.generated-f_jHBhPb.json +41753 -0
- package/dist/showcase/assets/qr-code-CEmKf9xU.js +1 -0
- package/dist/showcase/assets/quote-IH6r-rlY.js +1 -0
- package/dist/showcase/assets/receipt-m9rOe5lY.js +1 -0
- package/dist/showcase/assets/receipt-text-C0TobatH.js +1 -0
- package/dist/showcase/assets/refinement-guide-t9T7iAS2.js +189 -0
- package/dist/showcase/assets/refresh-cw-Dy_Nc4jA.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-DR7LgQP5.js +1 -0
- package/dist/showcase/assets/resource-BcJ8O6uj.js +1 -0
- package/dist/showcase/assets/resource-_zDXez77.js +139 -0
- package/dist/showcase/assets/resource-selector-card-CCAEF-AT.js +43 -0
- package/dist/showcase/assets/rich-text-editor-BJG_ECJp.js +143 -0
- package/dist/showcase/assets/rich-text-editor-fbgVfyEH.js +124 -0
- package/dist/showcase/assets/rotate-ccw-CGuTkHQ3.js +1 -0
- package/dist/showcase/assets/route-C7EZ2Njy.js +1 -0
- package/dist/showcase/assets/save-fKrt-yFG.js +1 -0
- package/dist/showcase/assets/schema-form-k7TXeirD.js +327 -0
- package/dist/showcase/assets/scroll-area-CqNwdlI6.js +32 -0
- package/dist/showcase/assets/scroll-area-UVtlGOgx.js +1 -0
- package/dist/showcase/assets/section-DuBNJP4P.js +1 -0
- package/dist/showcase/assets/select-CINVEIWn.js +1 -0
- package/dist/showcase/assets/select-ZLaamXrm.js +1 -0
- package/dist/showcase/assets/send-DBvt_4jT.js +1 -0
- package/dist/showcase/assets/separator-BdBXRpc3.js +28 -0
- package/dist/showcase/assets/separator-CkJjJQWW.js +1 -0
- package/dist/showcase/assets/separator-CxOeStjL.js +1 -0
- package/dist/showcase/assets/separator-O-VQMSf_.js +1 -0
- package/dist/showcase/assets/settings-2-BWjMVlyS.js +1 -0
- package/dist/showcase/assets/settings-D9Z79UcG.js +1 -0
- package/dist/showcase/assets/sheet-CK9C6r7_.js +1 -0
- package/dist/showcase/assets/shield-BboB3Zlo.js +1 -0
- package/dist/showcase/assets/shield-alert-CAAobStl.js +1 -0
- package/dist/showcase/assets/shield-check-Rfyzz9bK.js +1 -0
- package/dist/showcase/assets/shopping-bag-5hLD82YW.js +1 -0
- package/dist/showcase/assets/showcase-DhOQXB5E.js +132 -0
- package/dist/showcase/assets/sidebar-ZTUACc0t.js +1 -0
- package/dist/showcase/assets/sidebar.context-BiNOpG5W.js +1 -0
- package/dist/showcase/assets/skeleton-BZUSoHbk.js +1 -0
- package/dist/showcase/assets/skeleton-BZkYzAdq.js +1 -0
- package/dist/showcase/assets/skeleton-CrOp8tx3.js +29 -0
- package/dist/showcase/assets/skeleton-P5GXAj4U.js +1 -0
- package/dist/showcase/assets/slider-zlE7nLrp.js +1 -0
- package/dist/showcase/assets/smart-card-OExZHSsj.js +1 -0
- package/dist/showcase/assets/sonner-eMphKM9E.js +22 -0
- package/dist/showcase/assets/sortable.esm-CM9VD5N4.js +5 -0
- package/dist/showcase/assets/sparkles-CIB5irID.js +1 -0
- package/dist/showcase/assets/spinner-11-kP-Ob.js +1 -0
- package/dist/showcase/assets/spinner-D4G5TFSm.js +49 -0
- package/dist/showcase/assets/spinner-DKGukuFV.js +30 -0
- package/dist/showcase/assets/square-pen-zflKy9oX.js +1 -0
- package/dist/showcase/assets/stacked-avatars-Cve1Y6GY.js +1 -0
- package/dist/showcase/assets/star-DleXDkCp.js +1 -0
- package/dist/showcase/assets/startOfDay-TDP2erzM.js +1 -0
- package/dist/showcase/assets/styles-BKlX_Ipc.js +1 -0
- package/dist/showcase/assets/suggestions-Dt2hm1NY.js +126 -0
- package/dist/showcase/assets/switch-DAPAgJbv.js +1 -0
- package/dist/showcase/assets/switch-fQpP2tJl.js +1 -0
- package/dist/showcase/assets/sync-BRcK160D.js +124 -0
- package/dist/showcase/assets/table-Dhmbe1yN.js +686 -0
- package/dist/showcase/assets/table-actions-GGrPOQcv.js +1 -0
- package/dist/showcase/assets/table-v0Eu5yZn.js +1 -0
- package/dist/showcase/assets/tabs-DmaXB1aF.js +19 -0
- package/dist/showcase/assets/tabs-vbNIJ-eo.js +1 -0
- package/dist/showcase/assets/tags-input-Bms_Q5CE.js +1 -0
- package/dist/showcase/assets/text-button-gvJCzaXS.js +1 -0
- package/dist/showcase/assets/text-link-DkByVX4d.js +1 -0
- package/dist/showcase/assets/textarea-B6Ho29y3.js +1 -0
- package/dist/showcase/assets/textarea-JCb0yhZ1.js +1 -0
- package/dist/showcase/assets/throttle-alert-CPU-u6Rs.js +1 -0
- package/dist/showcase/assets/timelines-Bw7mvAdx.js +200 -0
- package/dist/showcase/assets/toggle-group-jlIGX1zh.js +1 -0
- package/dist/showcase/assets/toggles-DV6V9vj-.js +71 -0
- package/dist/showcase/assets/toggles-group-C-Y3dG8q.js +32 -0
- package/dist/showcase/assets/tooltip-CDtPyNOv.js +31 -0
- package/dist/showcase/assets/trash-2-CXRm3lMl.js +1 -0
- package/dist/showcase/assets/trending-up-Bcyp9cw8.js +1 -0
- package/dist/showcase/assets/truck-DVgzuKLP.js +1 -0
- package/dist/showcase/assets/typography-BKPf4j85.js +223 -0
- package/dist/showcase/assets/ui-badge-D-Ud2MES.js +28 -0
- package/dist/showcase/assets/ui-card-gGqI2cfr.js +30 -0
- package/dist/showcase/assets/ui-table-Bqcab_kq.js +42 -0
- package/dist/showcase/assets/upload-tray-BFh6twLE.js +138 -0
- package/dist/showcase/assets/use-layout-link-e9jr981L.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-ByBTPUi3.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-Bx_-SRtw.js +1 -0
- package/dist/showcase/assets/useCompositeItem-Dmih9c3W.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-C0QJgAKb.js +1 -0
- package/dist/showcase/assets/useLabelableId-COfjI9qt.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CRefmlni.js +1 -0
- package/dist/showcase/assets/useRender-Bgu76j1u.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-B2fPZeWf.js +1 -0
- package/dist/showcase/assets/useValueChanged-CNjJ-spo.js +1 -0
- package/dist/showcase/assets/user-CmkLnMh9.js +1 -0
- package/dist/showcase/assets/user-plus-3CGFNUf0.js +1 -0
- package/dist/showcase/assets/users-CuO8W7wn.js +1 -0
- package/dist/showcase/assets/vendor-profile-HLMsE22G.js +37 -0
- package/dist/showcase/assets/video-CoHnn0fp.js +1 -0
- package/dist/showcase/assets/visually-hidden-D5bPAL7Q.js +1 -0
- package/dist/showcase/assets/wrench-C93IxaGt.js +1 -0
- package/dist/showcase/assets/x-BJDvVLAz.js +1 -0
- package/dist/showcase/assets/zap-DYD_Ljkv.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/themes/shadcn.default.css +2 -2
- package/src/css/tokens/foundation.css +1 -1
- package/src/css/tokens/primitives.css +1 -1
- package/src/css/tokens/states.css +3 -0
- package/dist/_shared/accordion-CxjH2WZG.js +0 -135
- package/dist/_shared/accordion-CxjH2WZG.js.map +0 -1
- package/dist/_shared/accordion-mTdJmy23.cjs +0 -2
- package/dist/_shared/accordion-mTdJmy23.cjs.map +0 -1
- package/dist/_shared/action-menu-BrHF4nss.cjs +0 -2
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +0 -1
- package/dist/_shared/action-menu-Crn22LKo.js +0 -96
- package/dist/_shared/action-menu-Crn22LKo.js.map +0 -1
- package/dist/_shared/ai-artifact-CS2Pv-bu.js +0 -1099
- package/dist/_shared/ai-artifact-CS2Pv-bu.js.map +0 -1
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs +0 -3
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs.map +0 -1
- package/dist/_shared/alert-BisCSsOE.cjs +0 -2
- package/dist/_shared/alert-BisCSsOE.cjs.map +0 -1
- package/dist/_shared/alert-D23Q7I0W.js +0 -81
- package/dist/_shared/alert-D23Q7I0W.js.map +0 -1
- package/dist/_shared/auth-BV9Daibu.cjs +0 -2
- package/dist/_shared/auth-BV9Daibu.cjs.map +0 -1
- package/dist/_shared/auth-DACpcTnL.js +0 -643
- package/dist/_shared/auth-DACpcTnL.js.map +0 -1
- package/dist/_shared/badge-B4oBB5BJ.js +0 -110
- package/dist/_shared/badge-B4oBB5BJ.js.map +0 -1
- package/dist/_shared/badge-DvUA9Pr2.cjs +0 -2
- package/dist/_shared/badge-DvUA9Pr2.cjs.map +0 -1
- package/dist/_shared/button-BMiPFJIb.cjs +0 -2
- package/dist/_shared/button-BMiPFJIb.cjs.map +0 -1
- package/dist/_shared/button-vv59_uS_.js +0 -189
- package/dist/_shared/button-vv59_uS_.js.map +0 -1
- package/dist/_shared/buttons-CvqIMv3I.js +0 -137
- package/dist/_shared/buttons-CvqIMv3I.js.map +0 -1
- package/dist/_shared/buttons-tCkWktN3.cjs +0 -2
- package/dist/_shared/buttons-tCkWktN3.cjs.map +0 -1
- package/dist/_shared/card-radio-group-BL--IyPB.js +0 -150
- package/dist/_shared/card-radio-group-BL--IyPB.js.map +0 -1
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs +0 -2
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs.map +0 -1
- package/dist/_shared/cards-CMNXFo3Y.js +0 -354
- package/dist/_shared/cards-CMNXFo3Y.js.map +0 -1
- package/dist/_shared/cards-DQN9fcwo.cjs +0 -2
- package/dist/_shared/cards-DQN9fcwo.cjs.map +0 -1
- package/dist/_shared/combobox-D0avSXIB.cjs +0 -2
- package/dist/_shared/combobox-D0avSXIB.cjs.map +0 -1
- package/dist/_shared/combobox-Df0srISK.js +0 -954
- package/dist/_shared/combobox-Df0srISK.js.map +0 -1
- package/dist/_shared/command-B5BpMgBT.js +0 -39
- package/dist/_shared/command-B5BpMgBT.js.map +0 -1
- package/dist/_shared/command-en62SpQ7.cjs +0 -2
- package/dist/_shared/command-en62SpQ7.cjs.map +0 -1
- package/dist/_shared/comments-CfkortDW.js +0 -952
- package/dist/_shared/comments-CfkortDW.js.map +0 -1
- package/dist/_shared/comments-yVd7QMOu.cjs +0 -2
- package/dist/_shared/comments-yVd7QMOu.cjs.map +0 -1
- package/dist/_shared/copyable-Cn7tRGL5.js +0 -38
- package/dist/_shared/copyable-Cn7tRGL5.js.map +0 -1
- package/dist/_shared/copyable-CoKTxMSP.cjs +0 -2
- package/dist/_shared/copyable-CoKTxMSP.cjs.map +0 -1
- package/dist/_shared/data-display-BG7CD164.js +0 -1873
- package/dist/_shared/data-display-BG7CD164.js.map +0 -1
- package/dist/_shared/data-display-CXVoX3la.cjs +0 -2
- package/dist/_shared/data-display-CXVoX3la.cjs.map +0 -1
- package/dist/_shared/date-picker-Bf-nnyi-.js +0 -1361
- package/dist/_shared/date-picker-Bf-nnyi-.js.map +0 -1
- package/dist/_shared/date-picker-Cox4PAUt.cjs +0 -2
- package/dist/_shared/date-picker-Cox4PAUt.cjs.map +0 -1
- package/dist/_shared/date-pickers-DbN4q0dn.cjs +0 -2
- package/dist/_shared/date-pickers-DbN4q0dn.cjs.map +0 -1
- package/dist/_shared/date-pickers-DvrOCP-s.js +0 -329
- package/dist/_shared/date-pickers-DvrOCP-s.js.map +0 -1
- package/dist/_shared/display-BQijMo37.js +0 -986
- package/dist/_shared/display-BQijMo37.js.map +0 -1
- package/dist/_shared/display-C0ut-Lew.cjs +0 -2
- package/dist/_shared/display-C0ut-Lew.cjs.map +0 -1
- package/dist/_shared/forms-BjG7QIb1.cjs +0 -2
- package/dist/_shared/forms-BjG7QIb1.cjs.map +0 -1
- package/dist/_shared/forms-DljDdyXR.js +0 -3533
- package/dist/_shared/forms-DljDdyXR.js.map +0 -1
- package/dist/_shared/header-BpFJRINR.cjs +0 -2
- package/dist/_shared/header-BpFJRINR.cjs.map +0 -1
- package/dist/_shared/header-CKqQF4_r.js +0 -447
- package/dist/_shared/header-CKqQF4_r.js.map +0 -1
- package/dist/_shared/hooks-DcCkbP1F.js +0 -95
- package/dist/_shared/hooks-DcCkbP1F.js.map +0 -1
- package/dist/_shared/hooks-RkLytuGj.cjs +0 -2
- package/dist/_shared/hooks-RkLytuGj.cjs.map +0 -1
- package/dist/_shared/input-Cin0qpjj.js +0 -182
- package/dist/_shared/input-Cin0qpjj.js.map +0 -1
- package/dist/_shared/input-uuWeiagN.cjs +0 -2
- package/dist/_shared/input-uuWeiagN.cjs.map +0 -1
- package/dist/_shared/item-CIlSaQg8.js +0 -226
- package/dist/_shared/item-CIlSaQg8.js.map +0 -1
- package/dist/_shared/item-CSk9Y2qB.cjs +0 -2
- package/dist/_shared/item-CSk9Y2qB.cjs.map +0 -1
- package/dist/_shared/layout-Cun0HPL4.cjs +0 -2
- package/dist/_shared/layout-Cun0HPL4.cjs.map +0 -1
- package/dist/_shared/layout-HrU5gwH3.js +0 -261
- package/dist/_shared/layout-HrU5gwH3.js.map +0 -1
- package/dist/_shared/mentions-BqN82Fon.cjs +0 -2
- package/dist/_shared/mentions-BqN82Fon.cjs.map +0 -1
- package/dist/_shared/mentions-DV0FT1Th.js +0 -506
- package/dist/_shared/mentions-DV0FT1Th.js.map +0 -1
- package/dist/_shared/money-display-D5FCRhzB.cjs +0 -2
- package/dist/_shared/money-display-D5FCRhzB.cjs.map +0 -1
- package/dist/_shared/money-display-FcCAQDCz.js +0 -198
- package/dist/_shared/money-display-FcCAQDCz.js.map +0 -1
- package/dist/_shared/navigation-CI_Dd8jM.js +0 -436
- package/dist/_shared/navigation-CI_Dd8jM.js.map +0 -1
- package/dist/_shared/navigation-DUGhCPzJ.cjs +0 -2
- package/dist/_shared/navigation-DUGhCPzJ.cjs.map +0 -1
- package/dist/_shared/overlays-BRLemLSn.cjs +0 -2
- package/dist/_shared/overlays-BRLemLSn.cjs.map +0 -1
- package/dist/_shared/overlays-Bef7VNYY.js +0 -735
- package/dist/_shared/overlays-Bef7VNYY.js.map +0 -1
- package/dist/_shared/popover-menu-CAjhhTfX.js +0 -93
- package/dist/_shared/popover-menu-CAjhhTfX.js.map +0 -1
- package/dist/_shared/popover-menu-DlkRgOkR.cjs +0 -2
- package/dist/_shared/popover-menu-DlkRgOkR.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js +0 -620
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js.map +0 -1
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs +0 -2
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs.map +0 -1
- package/dist/_shared/settings-CNT4-6u8.cjs +0 -2
- package/dist/_shared/settings-CNT4-6u8.cjs.map +0 -1
- package/dist/_shared/settings-CRP6409J.js +0 -143
- package/dist/_shared/settings-CRP6409J.js.map +0 -1
- package/dist/_shared/sidebar-B0LcBrfI.cjs +0 -2
- package/dist/_shared/sidebar-B0LcBrfI.cjs.map +0 -1
- package/dist/_shared/sidebar-Bc6JsOTD.js +0 -548
- package/dist/_shared/sidebar-Bc6JsOTD.js.map +0 -1
- package/dist/_shared/spinner-CVG62sGs.js +0 -67
- package/dist/_shared/spinner-CVG62sGs.js.map +0 -1
- package/dist/_shared/spinner-VjdonFU2.cjs +0 -2
- package/dist/_shared/spinner-VjdonFU2.cjs.map +0 -1
- package/dist/_shared/table-_yujELN3.js +0 -1377
- package/dist/_shared/table-_yujELN3.js.map +0 -1
- package/dist/_shared/table-iV8H1AE0.cjs +0 -2
- package/dist/_shared/table-iV8H1AE0.cjs.map +0 -1
- package/dist/_shared/textarea-B4zbbqff.cjs +0 -2
- package/dist/_shared/textarea-B4zbbqff.cjs.map +0 -1
- package/dist/_shared/textarea-Dp0RU-rc.js +0 -118
- package/dist/_shared/textarea-Dp0RU-rc.js.map +0 -1
- package/dist/_shared/typography-DXvCmE8w.js +0 -201
- package/dist/_shared/typography-DXvCmE8w.js.map +0 -1
- package/dist/_shared/typography-pzCKaFOc.cjs +0 -2
- package/dist/_shared/typography-pzCKaFOc.cjs.map +0 -1
- package/dist/_shared/ui-provider-DZWtUXf2.cjs +0 -2
- package/dist/_shared/ui-provider-DZWtUXf2.cjs.map +0 -1
- package/dist/_shared/ui-provider-Dj6OSOZi.js +0 -81
- package/dist/_shared/ui-provider-Dj6OSOZi.js.map +0 -1
- package/dist/_shared/workspace-C3U57t2a.cjs +0 -2
- package/dist/_shared/workspace-C3U57t2a.cjs.map +0 -1
- package/dist/_shared/workspace-Db--ow3r.js +0 -357
- package/dist/_shared/workspace-Db--ow3r.js.map +0 -1
- package/dist/showcase/assets/AreaChart-DtVzijR8.js +0 -6
- package/dist/showcase/assets/CompositeItem-SL6R0H3r.js +0 -1
- package/dist/showcase/assets/CompositeRoot-CTygKc2d.js +0 -1
- package/dist/showcase/assets/DialogTrigger-m2m9VdXk.js +0 -1
- package/dist/showcase/assets/LabelableContext-D6DcOg5I.js +0 -1
- package/dist/showcase/assets/PreviewLayout-CHW8F5uE.js +0 -1
- package/dist/showcase/assets/RadioGroup-BAOoU1eO.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-CrCCP65t.js +0 -1
- package/dist/showcase/assets/Separator-DMs71Vib.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-DWKxsCxT.js +0 -1
- package/dist/showcase/assets/accordion-Clw5XNXP.js +0 -171
- package/dist/showcase/assets/accordion-variants-jiwKaPjE.js +0 -1
- package/dist/showcase/assets/action-menu-CW8zR6Ne.js +0 -1
- package/dist/showcase/assets/actions-Cf7vl3u0.js +0 -310
- package/dist/showcase/assets/activities-CyI5sJuS.js +0 -500
- package/dist/showcase/assets/activities-feed-card-Gv-Y4BBq.js +0 -1
- package/dist/showcase/assets/admin-CQVbTxGD.js +0 -140
- package/dist/showcase/assets/ai-Bkp2BY_z.js +0 -207
- package/dist/showcase/assets/ai-artifact-Cf1vEdVD.js +0 -2
- package/dist/showcase/assets/ai-chat-Bs3x6cK3.js +0 -568
- package/dist/showcase/assets/ai-elements-VbMUV2-i.js +0 -387
- package/dist/showcase/assets/ai-tool-call-BQYg4QB_.js +0 -1
- package/dist/showcase/assets/alert-BUmpNcXV.js +0 -1
- package/dist/showcase/assets/alert-CWPNW7eb.js +0 -93
- package/dist/showcase/assets/alert-nUwhk3AB.js +0 -62
- package/dist/showcase/assets/api-key-list-B1qVywOP.js +0 -73
- package/dist/showcase/assets/api-key-list-BI2FGbzV.js +0 -1
- package/dist/showcase/assets/app-sidebar-B35a8HWK.js +0 -1
- package/dist/showcase/assets/arrow-down-C1w0M8tE.js +0 -1
- package/dist/showcase/assets/arrow-left-DtILDtAv.js +0 -1
- package/dist/showcase/assets/arrow-right-TnZMfDbP.js +0 -1
- package/dist/showcase/assets/arrow-up-BX-KDIDB.js +0 -1
- package/dist/showcase/assets/arrow-up-right-CrnWqXwJ.js +0 -1
- package/dist/showcase/assets/avatar-C5YI0roK.js +0 -67
- package/dist/showcase/assets/avatar-DsnH-Xmz.js +0 -1
- package/dist/showcase/assets/avatar-S4vMi7Be.js +0 -57
- package/dist/showcase/assets/avatar-q4wqX6yD.js +0 -1
- package/dist/showcase/assets/badge-DJacF8-J.js +0 -31
- package/dist/showcase/assets/badge-check-DDJtQHcD.js +0 -1
- package/dist/showcase/assets/bell-DiXXE8YI.js +0 -1
- package/dist/showcase/assets/bot-bONqc_7j.js +0 -1
- package/dist/showcase/assets/box-lhUq3Chj.js +0 -1
- package/dist/showcase/assets/braces-IKXiJgb3.js +0 -1
- package/dist/showcase/assets/brain-DcXlhbJZ.js +0 -1
- package/dist/showcase/assets/brand-CramZg2-.js +0 -36
- package/dist/showcase/assets/breadcrumb-BL7UjlLh.js +0 -1
- package/dist/showcase/assets/breadcrumb-CZRbcf09.js +0 -52
- package/dist/showcase/assets/breadcrumbs-DJzvSt_Z.js +0 -1
- package/dist/showcase/assets/briefcase-CQQ0m97G.js +0 -1
- package/dist/showcase/assets/building-2-BkQcv8WR.js +0 -1
- package/dist/showcase/assets/button-K7M0irWq.js +0 -44
- package/dist/showcase/assets/button-group-KCGa38c8.js +0 -1
- package/dist/showcase/assets/buttons-CvyBMRD6.js +0 -272
- package/dist/showcase/assets/calendar-BJHjhWQX.js +0 -1
- package/dist/showcase/assets/calendar-ChMVRsNC.js +0 -16
- package/dist/showcase/assets/calendar-days-BgkRJVxQ.js +0 -1
- package/dist/showcase/assets/calendar-xpHhfGnq.js +0 -1
- package/dist/showcase/assets/camera-C67freYi.js +0 -1
- package/dist/showcase/assets/card-CfOqXMVz.js +0 -188
- package/dist/showcase/assets/card-bLjedjT5.js +0 -1
- package/dist/showcase/assets/card-primitives-FUPmQCsu.js +0 -1
- package/dist/showcase/assets/card-radio-group-D_QNJ2Hm.js +0 -1
- package/dist/showcase/assets/cards-yHZa0kEf.js +0 -353
- package/dist/showcase/assets/carousel-DG1cKry4.js +0 -449
- package/dist/showcase/assets/cell-renderers-qfJ-7alN.js +0 -1
- package/dist/showcase/assets/chart-B_yVfbWJ.js +0 -358
- package/dist/showcase/assets/chart-column-CYrVWmMk.js +0 -1
- package/dist/showcase/assets/checkbox-NW6EcvtD.js +0 -1
- package/dist/showcase/assets/checkbox-pA_L1P-f.js +0 -1
- package/dist/showcase/assets/chevron-down-DLrHjdQ6.js +0 -1
- package/dist/showcase/assets/chevron-left-B_NQOEWI.js +0 -1
- package/dist/showcase/assets/chevron-up-6hst2jwR.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-C_pj9oOa.js +0 -1
- package/dist/showcase/assets/circle-Cw9qV72m.js +0 -1
- package/dist/showcase/assets/circle-alert-D3Vcma6L.js +0 -1
- package/dist/showcase/assets/circle-check-DdjJpGc9.js +0 -1
- package/dist/showcase/assets/circle-check-big-Dnq-jwtv.js +0 -1
- package/dist/showcase/assets/circle-dot-DN8DFgIP.js +0 -1
- package/dist/showcase/assets/circle-question-mark-Dzgiv4oS.js +0 -1
- package/dist/showcase/assets/circle-x-BzTSkndC.js +0 -1
- package/dist/showcase/assets/clock-3-CVwHXCmo.js +0 -1
- package/dist/showcase/assets/clock-BIJ9p953.js +0 -1
- package/dist/showcase/assets/code-xml-DrU5ziCA.js +0 -1
- package/dist/showcase/assets/collapsible-7rdCo71k.js +0 -27
- package/dist/showcase/assets/collapsible-DCcTSlEH.js +0 -1
- package/dist/showcase/assets/combobox-mx8o5sV1.js +0 -685
- package/dist/showcase/assets/command-CKJDGdA9.js +0 -1
- package/dist/showcase/assets/command-CzGLPzoO.js +0 -1
- package/dist/showcase/assets/comment-composer-CSoEIapl.js +0 -1
- package/dist/showcase/assets/comment-item-pjaH53iB.js +0 -1
- package/dist/showcase/assets/comments-_ccotzWA.js +0 -357
- package/dist/showcase/assets/commerce-BuiQiRsf.js +0 -267
- package/dist/showcase/assets/composite-Bghohd0p.js +0 -1
- package/dist/showcase/assets/contact-card-CqM2uz_w.js +0 -65
- package/dist/showcase/assets/content-container-fC4z98GI.js +0 -1
- package/dist/showcase/assets/copyable-BMQK8sID.js +0 -1
- package/dist/showcase/assets/copyable-DVR2FAa0.js +0 -96
- package/dist/showcase/assets/course-card-Cku2z18g.js +0 -77
- package/dist/showcase/assets/cpu-A072t3kq.js +0 -1
- package/dist/showcase/assets/credit-card-BGwhx9Zo.js +0 -1
- package/dist/showcase/assets/css-variables-BAW_VrGk.js +0 -1205
- package/dist/showcase/assets/currency-Da3C0Uzb.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BHYLEj80.js +0 -90
- package/dist/showcase/assets/data-view--EAYihh0.js +0 -124
- package/dist/showcase/assets/data-view-BAMwKzZO.js +0 -4
- package/dist/showcase/assets/database-C489WIbr.js +0 -1
- package/dist/showcase/assets/date-block-DuNaPSBU.js +0 -1
- package/dist/showcase/assets/date-picker-Dq-9L64y.js +0 -1
- package/dist/showcase/assets/date-pickers-D0ReMKc9.js +0 -73
- package/dist/showcase/assets/dense-info-CXwjqQB1.js +0 -106
- package/dist/showcase/assets/design-system-consistency-CGoKv0Vf.js +0 -264
- package/dist/showcase/assets/dialog-DIrJcAzq.js +0 -1
- package/dist/showcase/assets/dialog-O45UwQJs.js +0 -1
- package/dist/showcase/assets/display-utilities-VKOARJyC.js +0 -267
- package/dist/showcase/assets/dist-BavkTE-I.js +0 -1
- package/dist/showcase/assets/dist-DPxPKIgU.js +0 -45
- package/dist/showcase/assets/dollar-sign-CH2fcyek.js +0 -1
- package/dist/showcase/assets/download-whAw79X4.js +0 -1
- package/dist/showcase/assets/dropdown-menu-PVKwhWds.js +0 -1
- package/dist/showcase/assets/dropzone-B9sc8Mwa.js +0 -1
- package/dist/showcase/assets/earth-BpkE9LMh.js +0 -1
- package/dist/showcase/assets/ellipsis-CEVdIbhD.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-CBIvtUVz.js +0 -1
- package/dist/showcase/assets/empty-Dp1eCMIl.js +0 -1
- package/dist/showcase/assets/empty-item--dZz4VlJ.js +0 -49
- package/dist/showcase/assets/empty-state-ZOiE-hWY.js +0 -190
- package/dist/showcase/assets/empty-state-dsivN4CA.js +0 -1
- package/dist/showcase/assets/enhanced-activities-BpzUxaof.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-D71BOuiX.js +0 -1
- package/dist/showcase/assets/esm-DT-TXPCJ.js +0 -2
- package/dist/showcase/assets/event-calendar-aVpAFZFq.js +0 -138
- package/dist/showcase/assets/event-log-DVcvyQ-P.js +0 -330
- package/dist/showcase/assets/example-CzbL5xoH.js +0 -1
- package/dist/showcase/assets/external-link-BaLE1QE5.js +0 -1
- package/dist/showcase/assets/eye-Dq0mLKrs.js +0 -1
- package/dist/showcase/assets/feature-announcement-sWKBC2fs.js +0 -34
- package/dist/showcase/assets/file-CgW3NvCL.js +0 -1
- package/dist/showcase/assets/file-text-JGaJQ8Wd.js +0 -1
- package/dist/showcase/assets/filter-layout-jfahl8aJ.js +0 -1
- package/dist/showcase/assets/filters-D7zegZVD.js +0 -139
- package/dist/showcase/assets/flag-H6U1f4wd.js +0 -1
- package/dist/showcase/assets/folder-open-sT96wRxJ.js +0 -1
- package/dist/showcase/assets/form-field-CQuSWnj8.js +0 -1
- package/dist/showcase/assets/format-DGPJ5dDq.js +0 -1
- package/dist/showcase/assets/forms-CdDJkAFt.js +0 -915
- package/dist/showcase/assets/funnel-Bh56GDO0.js +0 -1
- package/dist/showcase/assets/generic-CqSABKHr.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-Cgw3-xUB.js +0 -1
- package/dist/showcase/assets/gift-ChVS2ovQ.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CuaGn8-J.js +0 -85
- package/dist/showcase/assets/git-branch-86jQZnz4.js +0 -1
- package/dist/showcase/assets/global-search-C92CjOf8.js +0 -215
- package/dist/showcase/assets/global-search-DpVIWyO9.js +0 -1
- package/dist/showcase/assets/globe-DmGzYOlq.js +0 -1
- package/dist/showcase/assets/gradient-card-BUZzXFdZ.js +0 -58
- package/dist/showcase/assets/hash-pc6IIDge.js +0 -1
- package/dist/showcase/assets/header-DbM4l1Z6.js +0 -1
- package/dist/showcase/assets/header-notifications-CaymUd4n.js +0 -1
- package/dist/showcase/assets/heart-DtfPBlXq.js +0 -1
- package/dist/showcase/assets/hooks-JiLlGOJ-.js +0 -220
- package/dist/showcase/assets/house-CzNWewi5.js +0 -1
- package/dist/showcase/assets/icon-badge-G9Fp891n.js +0 -1
- package/dist/showcase/assets/icon-badge-e8N5BSYf.js +0 -37
- package/dist/showcase/assets/image-9IQW7agU.js +0 -1
- package/dist/showcase/assets/inbox-DU4YaGtc.js +0 -1
- package/dist/showcase/assets/index-CuXjv2p6.css +0 -2
- package/dist/showcase/assets/index-DN09-Vts.js +0 -10
- package/dist/showcase/assets/inertValue-kRQb7jwi.js +0 -1
- package/dist/showcase/assets/info-B9AXwUDF.js +0 -1
- package/dist/showcase/assets/inline-stat-BkLIKCvD.js +0 -1
- package/dist/showcase/assets/inline-stat-XqGHDQrK.js +0 -15
- package/dist/showcase/assets/input-BXHv6p9P.js +0 -1
- package/dist/showcase/assets/input-D_T9s_tn.js +0 -1
- package/dist/showcase/assets/input-group-Bs8dmhR6.js +0 -47
- package/dist/showcase/assets/input-group-CqkASeoV.js +0 -1
- package/dist/showcase/assets/inputs-DY7w_ssI.js +0 -155
- package/dist/showcase/assets/installation-Dg3FdGJ1.js +0 -134
- package/dist/showcase/assets/invoice-header-Ba-Y55Ag.js +0 -36
- package/dist/showcase/assets/invoice-items-CIJ8EfPg.js +0 -36
- package/dist/showcase/assets/invoice-mini-BISFvM7J.js +0 -14
- package/dist/showcase/assets/invoice-table-DcyVZTvl.js +0 -30
- package/dist/showcase/assets/isSameDay-av07hGac.js +0 -1
- package/dist/showcase/assets/isToday-GY5FlPL9.js +0 -1
- package/dist/showcase/assets/italic-Du0n76Xk.js +0 -1
- package/dist/showcase/assets/item-D8Lp4R-T.js +0 -139
- package/dist/showcase/assets/item-DTsZnSJG.js +0 -1
- package/dist/showcase/assets/item-Di7HZF5G.js +0 -1
- package/dist/showcase/assets/kanban-Dcminjsa.js +0 -188
- package/dist/showcase/assets/key-round-BBue3xKx.js +0 -1
- package/dist/showcase/assets/label-dkUEHYaz.js +0 -1
- package/dist/showcase/assets/languages-XxP8Uu82.js +0 -1
- package/dist/showcase/assets/layers-Bi_-RuHS.js +0 -1
- package/dist/showcase/assets/layout-app-shell-Cr6Ep0Zz.js +0 -608
- package/dist/showcase/assets/layout-auth-DffIslnp.js +0 -790
- package/dist/showcase/assets/layout-containers-BuSg6L6o.js +0 -101
- package/dist/showcase/assets/layout-header-DAxSUI18.js +0 -203
- package/dist/showcase/assets/layout-page-CVgVJHf1.js +0 -314
- package/dist/showcase/assets/layout-primitives-q8NXbEld.js +0 -34
- package/dist/showcase/assets/layout-sidebar-bB6AJaGs.js +0 -224
- package/dist/showcase/assets/layout-users-DG5u517t.js +0 -117
- package/dist/showcase/assets/layout-workspace-CKMDUM2b.js +0 -191
- package/dist/showcase/assets/lib-CaQvPpSJ.js +0 -1
- package/dist/showcase/assets/list-checks-Dhr60VvL.js +0 -1
- package/dist/showcase/assets/lock-CYVbyBpM.js +0 -1
- package/dist/showcase/assets/lock-keyhole-TUVID45I.js +0 -1
- package/dist/showcase/assets/mail-DfkwmVKE.js +0 -1
- package/dist/showcase/assets/mail-check-CnBhgH_h.js +0 -1
- package/dist/showcase/assets/map-Ck14_o-F.js +0 -124
- package/dist/showcase/assets/map-pin-Di7TUhai.js +0 -1
- package/dist/showcase/assets/media-library-CzM_to29.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-B1RHUfnH.js +0 -1
- package/dist/showcase/assets/mentions-CdaPXOLl.js +0 -138
- package/dist/showcase/assets/menus-DuqcLdg1.js +0 -171
- package/dist/showcase/assets/message-square-DuW3PrFI.js +0 -1
- package/dist/showcase/assets/metadata-list-CCRGSPaS.js +0 -286
- package/dist/showcase/assets/metadata-list-Drvz5mwy.js +0 -1
- package/dist/showcase/assets/metric-BSaXa3Z_.js +0 -1
- package/dist/showcase/assets/metric-bar-CM1Rmk8y.js +0 -1
- package/dist/showcase/assets/metric-grid-BBGxdYNJ.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-C_LrbPyT.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-ByvVltQV.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-CNGiVG1A.js +0 -50
- package/dist/showcase/assets/metrics-comparison-BLUvtt5N.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-CZWhn4_i.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-CcPm2_ON.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-CitG5Aea.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-CAsplRVI.js +0 -42
- package/dist/showcase/assets/metrics-overview-DSRwW-3j.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-BTdSpUV_.js +0 -54
- package/dist/showcase/assets/minus-BaXg6nPb.js +0 -1
- package/dist/showcase/assets/money-display-HegN6NVU.js +0 -1
- package/dist/showcase/assets/month-year-picker-DGSalGea.js +0 -1
- package/dist/showcase/assets/navigation-B9kcgNmJ.js +0 -90
- package/dist/showcase/assets/navigation-D4OJbw4T.js +0 -231
- package/dist/showcase/assets/navigation-extras-xm_wzPZr.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-CWuCJKDd.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-Dq-I4MUu.js +0 -1
- package/dist/showcase/assets/overlays-BHf9SZOh.js +0 -159
- package/dist/showcase/assets/overlays-DziL3nVU.js +0 -408
- package/dist/showcase/assets/overview-Cc69up8i.js +0 -184
- package/dist/showcase/assets/package-Bc-NuFnd.js +0 -1
- package/dist/showcase/assets/package-check-5LQwCfGh.js +0 -1
- package/dist/showcase/assets/page-B2o5HSfY.js +0 -1
- package/dist/showcase/assets/page-action-button-CfS6vsyC.js +0 -1
- package/dist/showcase/assets/page-header-W6quU5pO.js +0 -1
- package/dist/showcase/assets/pagination-Bfs7Zszm.js +0 -1
- package/dist/showcase/assets/pagination-DHs104ji.js +0 -42
- package/dist/showcase/assets/paperclip-CXeiMywc.js +0 -1
- package/dist/showcase/assets/password-input-C61t743N.js +0 -1
- package/dist/showcase/assets/pencil-C1TXsTfP.js +0 -1
- package/dist/showcase/assets/phone-Bh-68R_E.js +0 -1
- package/dist/showcase/assets/plus-CKBaO4jG.js +0 -1
- package/dist/showcase/assets/popover-C_7qLizt.js +0 -1
- package/dist/showcase/assets/popover-hgtHqd0h.js +0 -1
- package/dist/showcase/assets/popover-menu-DmYSBsji.js +0 -1
- package/dist/showcase/assets/products-DSvcQz-Q.js +0 -423
- package/dist/showcase/assets/progress-Chxeo8g4.js +0 -18
- package/dist/showcase/assets/progress-fYPoCyf-.js +0 -1
- package/dist/showcase/assets/props-table-izArO1Pv.js +0 -1
- package/dist/showcase/assets/props.generated-cO7HmIpY.json +0 -41578
- package/dist/showcase/assets/quote-wvfNu9t7.js +0 -1
- package/dist/showcase/assets/receipt-BlXBX4ZJ.js +0 -1
- package/dist/showcase/assets/receipt-text-stSsUTV5.js +0 -1
- package/dist/showcase/assets/refinement-guide-Bri81J9N.js +0 -189
- package/dist/showcase/assets/refresh-cw-tZzNDEGO.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-Cti97iX8.js +0 -1
- package/dist/showcase/assets/resource-B727CTVi.js +0 -139
- package/dist/showcase/assets/resource-DytT_quB.js +0 -1
- package/dist/showcase/assets/resource-selector-card-wNuW382N.js +0 -43
- package/dist/showcase/assets/rich-text-editor-DdK5YD0y.js +0 -143
- package/dist/showcase/assets/rich-text-editor-DqY2H6e0.js +0 -124
- package/dist/showcase/assets/rotate-ccw-Bp4aMDrI.js +0 -1
- package/dist/showcase/assets/route-D2owHMka.js +0 -1
- package/dist/showcase/assets/save-DjC_iy0t.js +0 -1
- package/dist/showcase/assets/schema-form-CQtLwGC1.js +0 -327
- package/dist/showcase/assets/scroll-area-BQlHFfkG.js +0 -32
- package/dist/showcase/assets/scroll-area-D3Rrt85s.js +0 -1
- package/dist/showcase/assets/section-DYfGx1Q5.js +0 -1
- package/dist/showcase/assets/select-BCJGhRpc.js +0 -1
- package/dist/showcase/assets/select-Cf5EigqA.js +0 -1
- package/dist/showcase/assets/send-86Vr11Ys.js +0 -1
- package/dist/showcase/assets/separator-BHjNVb5O.js +0 -1
- package/dist/showcase/assets/separator-BejjbTbO.js +0 -28
- package/dist/showcase/assets/settings-2-DNNVOsjP.js +0 -1
- package/dist/showcase/assets/settings-Bsi5BLx5.js +0 -1
- package/dist/showcase/assets/sheet-BazhMvfb.js +0 -1
- package/dist/showcase/assets/shield-alert-D-Jbocfj.js +0 -1
- package/dist/showcase/assets/shield-check-D9eDVcJ1.js +0 -1
- package/dist/showcase/assets/shield-xI2P9G5d.js +0 -1
- package/dist/showcase/assets/shopping-bag-DOGs3sez.js +0 -1
- package/dist/showcase/assets/showcase-s-5CuLAJ.js +0 -132
- package/dist/showcase/assets/sidebar-Rz44gw_a.js +0 -1
- package/dist/showcase/assets/sidebar.context-Bbcdo3o8.js +0 -1
- package/dist/showcase/assets/skeleton-CY8ieqD-.js +0 -1
- package/dist/showcase/assets/skeleton-CgoH6CPT.js +0 -29
- package/dist/showcase/assets/slider-okW2bgkG.js +0 -1
- package/dist/showcase/assets/smart-card-CVwEPwfI.js +0 -1
- package/dist/showcase/assets/sonner-CixCpxj2.js +0 -22
- package/dist/showcase/assets/sortable.esm-DKcVtGTb.js +0 -5
- package/dist/showcase/assets/sparkles-DDEVdtmy.js +0 -1
- package/dist/showcase/assets/spinner-BVGPoAEv.js +0 -49
- package/dist/showcase/assets/spinner-FURXSp1Q.js +0 -1
- package/dist/showcase/assets/spinner-u6TwJ3Ii.js +0 -30
- package/dist/showcase/assets/square-pen-DVXVT0cQ.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CKOQhAx4.js +0 -1
- package/dist/showcase/assets/star-B3ZPfxuz.js +0 -1
- package/dist/showcase/assets/startOfDay-LwMBRUSU.js +0 -1
- package/dist/showcase/assets/styles-UIKkojWJ.js +0 -1
- package/dist/showcase/assets/suggestions-DbrzKjbi.js +0 -126
- package/dist/showcase/assets/switch-CAw84QpS.js +0 -1
- package/dist/showcase/assets/switch-Cjt2MCgr.js +0 -1
- package/dist/showcase/assets/sync-DWbqfpBH.js +0 -124
- package/dist/showcase/assets/table-Bx5lo5FP.js +0 -686
- package/dist/showcase/assets/table-C2RQulDb.js +0 -1
- package/dist/showcase/assets/table-actions-Clo3WEfM.js +0 -1
- package/dist/showcase/assets/tabs-DRtlcg6b.js +0 -19
- package/dist/showcase/assets/tabs-wMPtvuT5.js +0 -1
- package/dist/showcase/assets/tags-input-D5FpWOWF.js +0 -1
- package/dist/showcase/assets/text-button-Cwh6D6qG.js +0 -1
- package/dist/showcase/assets/text-link-DI1uXdGl.js +0 -1
- package/dist/showcase/assets/textarea-CGbt4gBZ.js +0 -1
- package/dist/showcase/assets/textarea-JPgPLhyk.js +0 -1
- package/dist/showcase/assets/timelines-CkHN08n6.js +0 -200
- package/dist/showcase/assets/toggle-group-BpXkR9uD.js +0 -1
- package/dist/showcase/assets/toggles-DK9iCbki.js +0 -71
- package/dist/showcase/assets/toggles-group-DwzRj0f7.js +0 -32
- package/dist/showcase/assets/tooltip-PtP1suag.js +0 -31
- package/dist/showcase/assets/trash-2-BE4XUI2g.js +0 -1
- package/dist/showcase/assets/trending-up-ByxOf-nR.js +0 -1
- package/dist/showcase/assets/truck-RTOdcRV0.js +0 -1
- package/dist/showcase/assets/typography-BKLgHDxU.js +0 -223
- package/dist/showcase/assets/ui-badge-DIh_3Wmo.js +0 -28
- package/dist/showcase/assets/ui-card-BOdHnZwv.js +0 -30
- package/dist/showcase/assets/ui-table-BW4FCClv.js +0 -42
- package/dist/showcase/assets/upload-tray-CV9_5Lpa.js +0 -138
- package/dist/showcase/assets/use-layout-link-MyeE-CDj.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DSaog2w5.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-DSpPzrxG.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-DsuJtES0.js +0 -1
- package/dist/showcase/assets/useCompositeItem-lbAimLrR.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-pRXWGj4x.js +0 -1
- package/dist/showcase/assets/useLabelableId-IRM1zB5m.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CHDcTj9f.js +0 -1
- package/dist/showcase/assets/useRender-Ogz5zjeJ.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-Du6btFNB.js +0 -1
- package/dist/showcase/assets/useValueChanged-CXpsR4fl.js +0 -1
- package/dist/showcase/assets/user-plus-CLj8AZe1.js +0 -1
- package/dist/showcase/assets/user-ymdT26JK.js +0 -1
- package/dist/showcase/assets/users-BGba2Xwv.js +0 -1
- package/dist/showcase/assets/vendor-profile-Ci6c9mFC.js +0 -37
- package/dist/showcase/assets/video-BcKa36-p.js +0 -1
- package/dist/showcase/assets/wrench-Cj2hRrih.js +0 -1
- package/dist/showcase/assets/x-iCqjAC2D.js +0 -1
- package/dist/showcase/assets/zap-H4bc_OhS.js +0 -1
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
import{n as e,r as t}from"./chunk-QTnfLwEv.js";import{t as n}from"./react-sKtkuLrH.js";import{f as r,n as i,o as a,p as o,t as s}from"./section-DuBNJP4P.js";import{a as c,c as l,i as u,l as d,n as f,o as p,r as m,s as h,t as g,u as _}from"./ai-artifact-Bg1MFGeF.js";import{t as v}from"./arrow-down-CEXJx115.js";import{t as y}from"./arrow-up-CCU1MaGq.js";import{t as b}from"./bot-Owx4SMiU.js";import{t as x}from"./chart-column-CCzA6B9l.js";import{Er as S,n as C,r as w,t as T}from"./example-6bZGEb3-.js";import{t as E}from"./database-TbVXEw7v.js";import{t as D}from"./file-text-Cvxg6pjh.js";import{t as ee}from"./paperclip-Cmyh3Bhf.js";import{t as O}from"./sparkles-CIB5irID.js";import{n as k,r as A,t as j}from"./ai-tool-call-DFrTelEX.js";import{t as M}from"./x-BJDvVLAz.js";import{N,a as te,d as ne,l as re,n as P}from"./index-BjjNfnhP.js";import{t as F}from"./props-table-X9St7Q4m.js";import{t as ie}from"./icon-badge-CePIZqWR.js";import{t as ae}from"./textarea-JCb0yhZ1.js";var oe=re(`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=re(`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=ne();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)(l,{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:u,endRef:d,isAtBottom:f,scrollToBottom:p}=z({dependency:e.length,disableAutoScroll:a}),m=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:u,className:`flex-1 overflow-y-auto px-3 py-4 sm:px-4`,children:[!!n&&(0,I.jsx)(`div`,{className:`mb-4`,children:n}),m?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:d,"aria-hidden":!0,className:`h-px`})]}),!f&&(0,I.jsx)(`div`,{className:`pointer-events-none absolute bottom-3 left-1/2 -translate-x-1/2`,children:(0,I.jsxs)(w,{type:`button`,variant:`secondary`,buttonStyle:`solid`,"aria-label":l.scrollToBottomAria,onClick:()=>p(`smooth`),className:P(`pointer-events-auto rounded-full shadow-md`,`border border-border/60`),children:[(0,I.jsx)(v,{className:`size-3.5`}),l.scrollToBottom]})})]})}B.displayName=`AiChatConversation`;function V({title:e=`Start a conversation`,description:t,icon:n=O,below:i,className:a}){return(0,I.jsxs)(`div`,{className:P(`flex h-full flex-col items-center justify-center gap-3 px-4 py-10 text-center`,a),children:[(0,I.jsx)(ie,{icon:n,tone:`primary`,size:`default`,shape:`square`}),(0,I.jsxs)(`div`,{className:`max-w-md space-y-1`,children:[(0,I.jsx)(r,{tag:`h4`,children:e}),!!t&&(0,I.jsx)(o,{type:`secondary`,children:t})]}),!!i&&(0,I.jsx)(`div`,{className:`mt-4 w-full max-w-2xl`,children:i})]})}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)(_,{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)(u,{streaming:e.streaming,durationSeconds:e.durationSeconds,children:e.content});case`chain-of-thought`:return(0,I.jsx)(m,{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)(d,{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)(c,{sources:e.items,variant:e.variant,defaultExpanded:e.defaultExpanded});case`task`:return(0,I.jsx)(f,{task:e.task});case`artifact`:return(0,I.jsx)(g,{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)(p,{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:u,leadingActions:d,trailingActions:f,hideHint:p=!1,minRows:m=1,maxRows:h=8,autoFocus:g=!1,className:_,strings:v}){let b=N(ce,v),x=(0,R.useRef)(null),S=!i&&!a&&(e.trim().length>0||s.length>0),C=(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(),C())},[C]),E=u??!!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`,_),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:m,maxRows:h,autoFocus:g,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:[d,E&&(0,I.jsx)(w,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"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:[f,i?(0,I.jsx)(w,{type:`button`,variant:`secondary`,buttonStyle:`solid`,size:`icon-small`,"aria-label":b.stopAria,onClick:r,children:(0,I.jsx)(se,{className:`size-3.5 fill-current`})}):(0,I.jsx)(w,{type:`button`,variant:`primary`,buttonStyle:`solid`,size:`icon-small`,"aria-label":b.submitAria,onClick:C,disabled:!S,children:(0,I.jsx)(y,{className:`size-4`})})]})]}),!p&&(0,I.jsx)(`div`,{className:`px-3 pb-2`,children:(0,I.jsx)(o,{size:`xs`,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 s=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:`xs`,type:`secondary`,weight:`medium`,className:`mb-1.5 px-1 uppercase tracking-wider`,children:[s.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)(a,{variant:t===`running`?`primary`:`secondary`,children:t===`running`?s.runningLabel:s.queuedLabel}),(!!e.onCancel||!!n)&&(0,I.jsx)(w,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":s.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:`xs`,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)(w,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,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:g,suggestions:_=[],onPickSuggestion:v,onMessageCopy:y,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:y?()=>y(e):void 0,onRegenerate:b?()=>b(e):void 0,onAttachmentOpen:x?t=>x(e.id,t):void 0}),[x,y,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)(h,{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:g,strings:E.queue}):null),j=C?.suggestions??(_.length>0?(0,I.jsx)(ve,{suggestions:_,onPick:v,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:b,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)(d,{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:x},{id:`invoice`,label:`Overdue reminder draft`,icon:D},{id:`lookup`,label:`Find similar customers`,icon:te},{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-160`,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-105`,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-105`,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-130`,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)(w,{buttonStyle:`ghost`,size:`small`,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-130 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)(w,{buttonStyle:`ghost`,size:`small`,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-160">
|
|
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-105">
|
|
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-105">
|
|
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-130">
|
|
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="small">
|
|
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-130 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="small"
|
|
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)(i,{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)(s,{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)(s,{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)(C,{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)(s,{title:`Examples`,id:`examples`,children:[(0,I.jsx)(T,{name:`Default`,source:Q,children:(0,I.jsx)(q,{})}),(0,I.jsx)(T,{name:`Streaming`,source:Q,children:(0,I.jsx)(J,{})}),(0,I.jsx)(T,{name:`Empty`,source:Q,children:(0,I.jsx)(Y,{})}),(0,I.jsx)(T,{name:`WithSlots`,source:Q,children:(0,I.jsx)(X,{})}),(0,I.jsx)(T,{name:`Headless`,source:Q,children:(0,I.jsx)(Z,{})})]}),(0,I.jsxs)(s,{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)(s,{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};
|