@ciridae/ui 0.17.0 → 1.0.1
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/README.md +17 -12
- package/dist/chat/chat-api-error.d.ts +14 -0
- package/dist/chat/chat-api-error.js +11 -0
- package/dist/chat/chat-client.d.ts +37 -0
- package/dist/chat/chat-client.js +66 -0
- package/dist/chat/chat-hooks.d.ts +4 -0
- package/dist/chat/chat-hooks.js +4 -0
- package/dist/chat/chat-query-keys.d.ts +10 -0
- package/dist/chat/chat-query-keys.js +8 -0
- package/dist/chat/contract.d.ts +488 -0
- package/dist/chat/contract.js +223 -0
- package/dist/chat/conversation-items-query-options.d.ts +382 -0
- package/dist/chat/conversation-items-query-options.js +15 -0
- package/dist/chat/describe-tool-call.d.ts +5 -0
- package/dist/chat/describe-tool-call.js +33 -0
- package/dist/chat/fetch-new-conversation-items.d.ts +10 -0
- package/dist/chat/fetch-new-conversation-items.js +38 -0
- package/dist/chat/message-group-position.d.ts +17 -0
- package/dist/chat/message-group-position.js +25 -0
- package/dist/chat/message-text.d.ts +23 -0
- package/dist/chat/message-text.js +118 -0
- package/dist/chat/mock-chat-client.d.ts +97 -0
- package/dist/chat/mock-chat-client.js +566 -0
- package/dist/chat/use-chat-conversation.d.ts +43 -0
- package/dist/chat/use-chat-conversation.js +156 -0
- package/dist/chat/use-conversation-list.d.ts +32 -0
- package/dist/chat/use-conversation-list.js +19 -0
- package/dist/ciridae.css +60 -479
- package/dist/components/activity-feed.d.ts +80 -0
- package/dist/components/activity-feed.js +373 -0
- package/dist/components/agent-work.d.ts +76 -0
- package/dist/components/agent-work.js +224 -0
- package/dist/components/app-navigation.d.ts +66 -0
- package/dist/components/app-navigation.js +102 -0
- package/dist/components/badge.d.ts +14 -0
- package/dist/components/badge.js +107 -0
- package/dist/components/brand-icons.d.ts +17 -0
- package/dist/components/brand-icons.js +21 -0
- package/dist/components/breakpoint.d.ts +7 -0
- package/dist/components/breakpoint.js +16 -0
- package/dist/components/bulk-action-bar.d.ts +15 -0
- package/dist/components/bulk-action-bar.js +45 -0
- package/dist/components/button.d.ts +52 -0
- package/dist/components/button.js +272 -0
- package/dist/components/calendar.d.ts +14 -0
- package/dist/components/calendar.js +158 -0
- package/dist/components/centered-page.d.ts +21 -0
- package/dist/components/centered-page.js +55 -0
- package/dist/components/chart.d.ts +22 -0
- package/dist/components/chart.js +116 -0
- package/dist/components/chat-page.d.ts +34 -0
- package/dist/components/chat-page.js +171 -0
- package/dist/components/chat-sheet-controller.d.ts +50 -0
- package/dist/components/chat-sheet-controller.js +133 -0
- package/dist/components/chat-sheet.d.ts +80 -0
- package/dist/components/chat-sheet.js +544 -0
- package/dist/components/chat.d.ts +135 -0
- package/dist/components/chat.js +545 -0
- package/dist/components/checkbox-item.d.ts +11 -0
- package/dist/components/checkbox-item.js +45 -0
- package/dist/components/checkbox-list.d.ts +51 -0
- package/dist/components/checkbox-list.js +167 -0
- package/dist/components/chip.d.ts +17 -0
- package/dist/components/chip.js +43 -0
- package/dist/components/collapsible.d.ts +8 -0
- package/dist/components/collapsible.js +41 -0
- package/dist/components/color-theme.d.ts +40 -0
- package/dist/components/color-theme.js +109 -0
- package/dist/components/column-settings.d.ts +22 -0
- package/dist/components/column-settings.js +112 -0
- package/dist/components/command-match.d.ts +7 -0
- package/dist/components/command-match.js +50 -0
- package/dist/components/command-menu.d.ts +43 -0
- package/dist/components/command-menu.js +339 -0
- package/dist/components/command-palette.d.ts +36 -0
- package/dist/components/command-palette.js +77 -0
- package/dist/components/controllable-state.d.ts +5 -0
- package/dist/components/controllable-state.js +15 -0
- package/dist/components/copyable-id.d.ts +37 -0
- package/dist/components/copyable-id.js +136 -0
- package/dist/components/data-display.d.ts +47 -0
- package/dist/components/data-display.js +221 -0
- package/dist/components/data-grid.d.ts +170 -0
- package/dist/components/data-grid.js +829 -0
- package/dist/components/date-range-picker.d.ts +44 -0
- package/dist/components/date-range-picker.js +153 -0
- package/dist/components/date-time.d.ts +11 -0
- package/dist/components/date-time.js +44 -0
- package/dist/components/dialog-height-context.d.ts +2 -0
- package/dist/components/dialog-height-context.js +3 -0
- package/dist/components/document-viewer.d.ts +62 -0
- package/dist/components/document-viewer.js +419 -0
- package/dist/components/drawer.d.ts +44 -0
- package/dist/components/drawer.js +236 -0
- package/dist/components/dropzone.d.ts +47 -0
- package/dist/components/dropzone.js +370 -0
- package/dist/components/editable-field.d.ts +99 -0
- package/dist/components/editable-field.js +422 -0
- package/dist/components/email-input.d.ts +12 -0
- package/dist/components/email-input.js +83 -0
- package/dist/components/environment-frame.d.ts +13 -0
- package/dist/components/environment-frame.js +42 -0
- package/dist/components/expandable-text.d.ts +9 -0
- package/dist/components/expandable-text.js +48 -0
- package/dist/components/feedback-screenshot.d.ts +19 -0
- package/dist/components/feedback-screenshot.js +162 -0
- package/dist/components/feedback-sheet.d.ts +80 -0
- package/dist/components/feedback-sheet.js +475 -0
- package/dist/components/field-context.d.ts +23 -0
- package/dist/components/field-context.js +15 -0
- package/dist/components/filter-bar.d.ts +77 -0
- package/dist/components/filter-bar.js +350 -0
- package/dist/components/form-controls.d.ts +53 -0
- package/dist/components/form-controls.js +123 -0
- package/dist/components/form-layout.d.ts +32 -0
- package/dist/components/form-layout.js +72 -0
- package/dist/components/hotkeys.d.ts +27 -0
- package/dist/components/hotkeys.js +70 -0
- package/dist/components/icon.d.ts +58 -0
- package/dist/components/icon.js +42 -0
- package/dist/components/input.d.ts +36 -0
- package/dist/components/input.js +249 -0
- package/dist/components/keyboard-shortcuts.d.ts +10 -0
- package/dist/components/keyboard-shortcuts.js +91 -0
- package/dist/components/keycap.d.ts +12 -0
- package/dist/components/keycap.js +45 -0
- package/dist/components/layout.d.ts +174 -0
- package/dist/components/layout.js +282 -0
- package/dist/components/lightbox.d.ts +14 -0
- package/dist/components/lightbox.js +117 -0
- package/dist/components/link.d.ts +13 -0
- package/dist/components/link.js +37 -0
- package/dist/components/locale.d.ts +463 -0
- package/dist/components/locale.js +501 -0
- package/dist/components/log-list.d.ts +20 -0
- package/dist/components/log-list.js +92 -0
- package/dist/components/mention-input.d.ts +50 -0
- package/dist/components/mention-input.js +503 -0
- package/dist/components/menu.d.ts +76 -0
- package/dist/components/menu.js +112 -0
- package/dist/components/meter.d.ts +14 -0
- package/dist/components/meter.js +44 -0
- package/dist/components/navigation.d.ts +21 -0
- package/dist/components/navigation.js +75 -0
- package/dist/components/notification-tray.d.ts +47 -0
- package/dist/components/notification-tray.js +218 -0
- package/dist/components/overlays.d.ts +107 -0
- package/dist/components/overlays.js +240 -0
- package/dist/components/page-frame.d.ts +65 -0
- package/dist/components/page-frame.js +94 -0
- package/dist/components/panel.d.ts +24 -0
- package/dist/components/panel.js +107 -0
- package/dist/components/profile-header.d.ts +15 -0
- package/dist/components/profile-header.js +40 -0
- package/dist/components/progress.d.ts +5 -0
- package/dist/components/progress.js +18 -0
- package/dist/components/project-avatar.d.ts +12 -0
- package/dist/components/project-avatar.js +22 -0
- package/dist/components/radio-card.d.ts +22 -0
- package/dist/components/radio-card.js +66 -0
- package/dist/components/recent-items.d.ts +28 -0
- package/dist/components/recent-items.js +63 -0
- package/dist/components/record.d.ts +95 -0
- package/dist/components/record.js +282 -0
- package/dist/components/scroll-area.d.ts +16 -0
- package/dist/components/scroll-area.js +50 -0
- package/dist/components/secret-dialog.d.ts +10 -0
- package/dist/components/secret-dialog.js +12 -0
- package/dist/components/segmented-bar.d.ts +23 -0
- package/dist/components/segmented-bar.js +75 -0
- package/dist/components/select.d.ts +84 -0
- package/dist/components/select.js +374 -0
- package/dist/components/settings.d.ts +34 -0
- package/dist/components/settings.js +56 -0
- package/dist/components/shell-skeleton.d.ts +7 -0
- package/dist/components/shell-skeleton.js +15 -0
- package/dist/components/shell.d.ts +62 -0
- package/dist/components/shell.js +415 -0
- package/dist/components/side-panel.d.ts +36 -0
- package/dist/components/side-panel.js +184 -0
- package/dist/components/sidebar.d.ts +35 -0
- package/dist/components/sidebar.js +207 -0
- package/dist/components/site-banner.d.ts +25 -0
- package/dist/components/site-banner.js +30 -0
- package/dist/components/skeleton.d.ts +15 -0
- package/dist/components/skeleton.js +61 -0
- package/dist/components/skeletons.d.ts +28 -0
- package/dist/components/skeletons.js +60 -0
- package/dist/components/stages.d.ts +97 -0
- package/dist/components/stages.js +365 -0
- package/dist/components/stat-card.d.ts +34 -0
- package/dist/components/stat-card.js +117 -0
- package/dist/components/status-banner.d.ts +17 -0
- package/dist/components/status-banner.js +132 -0
- package/dist/components/status.d.ts +32 -0
- package/dist/components/status.js +93 -0
- package/dist/components/steps.d.ts +17 -0
- package/dist/components/steps.js +51 -0
- package/dist/components/switch.d.ts +6 -0
- package/dist/components/switch.js +39 -0
- package/dist/components/tabs.d.ts +48 -0
- package/dist/components/tabs.js +247 -0
- package/dist/components/theme-customizer.d.ts +53 -0
- package/dist/components/theme-customizer.js +116 -0
- package/dist/components/toast.d.ts +23 -0
- package/dist/components/toast.js +140 -0
- package/dist/components/user-chip.d.ts +66 -0
- package/dist/components/user-chip.js +174 -0
- package/dist/components/wizard.d.ts +33 -0
- package/dist/components/wizard.js +91 -0
- package/dist/feedback/client.d.ts +37 -0
- package/dist/feedback/client.js +125 -0
- package/dist/feedback/comment-types.d.ts +17 -0
- package/dist/feedback/contract.d.ts +252 -0
- package/dist/feedback/contract.js +32 -0
- package/dist/feedback/feedback-cache.d.ts +6 -0
- package/dist/feedback/feedback-cache.js +58 -0
- package/dist/feedback/feedback-center-model.d.ts +8 -0
- package/dist/feedback/feedback-center-model.js +37 -0
- package/dist/feedback/feedback-composer-types.d.ts +11 -0
- package/dist/feedback/feedback-controller.d.ts +56 -0
- package/dist/feedback/feedback-controller.js +181 -0
- package/dist/feedback/feedback-tracking-types.d.ts +14 -0
- package/dist/feedback/generated/index.d.ts +1 -0
- package/dist/feedback/generated/index.js +2 -0
- package/dist/feedback/generated/types.gen.d.ts +737 -0
- package/dist/feedback/generated/types.gen.js +2 -0
- package/dist/feedback/generated/zod.gen.d.ts +738 -0
- package/dist/feedback/generated/zod.gen.js +293 -0
- package/dist/feedback/get-response-error-id.d.ts +1 -0
- package/dist/feedback/get-response-error-id.js +7 -0
- package/dist/feedback/operator-client.d.ts +21 -0
- package/dist/feedback/operator-client.js +96 -0
- package/dist/feedback/operator-contract.d.ts +111 -0
- package/dist/feedback/operator-contract.js +22 -0
- package/dist/feedback/operator-controller.d.ts +80 -0
- package/dist/feedback/operator-controller.js +43 -0
- package/dist/feedback/require-config.d.ts +2 -0
- package/dist/feedback/require-config.js +7 -0
- package/dist/feedback/submit-feedback-with-attachments.d.ts +10 -0
- package/dist/feedback/submit-feedback-with-attachments.js +10 -0
- package/dist/format/compact-number.d.ts +2 -0
- package/dist/format/compact-number.js +8 -0
- package/dist/format/money.d.ts +13 -0
- package/dist/format/money.js +21 -0
- package/dist/format/usd.d.ts +2 -0
- package/dist/format/usd.js +16 -0
- package/dist/preset.d.ts +18 -0
- package/dist/preset.js +470 -0
- package/dist/styled-system/css/conditions.mjs +1 -1
- package/dist/styled-system/css/css.mjs +3 -3
- package/dist/styled-system/patterns/box.d.ts +1 -1
- package/dist/styled-system/patterns/container.d.ts +1 -1
- package/dist/styled-system/patterns/link-overlay.d.ts +1 -1
- package/dist/styled-system/patterns/visually-hidden.d.ts +1 -1
- package/dist/styled-system/styles.css +7834 -458
- package/dist/styled-system/tokens/index.mjs +1465 -677
- package/dist/styled-system/tokens/tokens.d.ts +32 -26
- package/dist/styled-system/types/conditions.d.ts +11 -1
- package/dist/styled-system/types/prop-type.d.ts +12 -23
- package/dist/styled-system/types/style-props.d.ts +25 -24
- package/dist/styles.css +60 -479
- package/dist/theme/breakpoints.d.ts +15 -0
- package/dist/theme/breakpoints.js +12 -0
- package/dist/theme/color.d.ts +2 -0
- package/dist/theme/color.js +27 -0
- package/dist/theme/derive.d.ts +5 -0
- package/dist/theme/derive.js +43 -0
- package/dist/theme/index.d.ts +4 -0
- package/dist/theme/index.js +9 -0
- package/dist/theme/options.d.ts +32 -0
- package/dist/theme/options.js +9 -0
- package/dist/theme/palettes.d.ts +60 -0
- package/dist/theme/palettes.js +185 -0
- package/dist/theme/tokens.d.ts +29 -0
- package/dist/theme/tokens.js +188 -0
- package/package.json +475 -68
- package/dist/assets/ciridae/brand-background-dark.webp +0 -0
- package/dist/assets/ciridae/brand-background-light.webp +0 -0
- package/dist/assets/ciridae/ciridae-black.svg +0 -17
- package/dist/assets/ciridae/ciridae-brand-assets.d.ts +0 -25
- package/dist/assets/ciridae/ciridae-brand-assets.js +0 -25
- package/dist/assets/ciridae/ciridae-icon-black.png +0 -0
- package/dist/assets/ciridae/ciridae-icon-white.png +0 -0
- package/dist/assets/ciridae/ciridae-ui-wordmark-black.png +0 -0
- package/dist/assets/ciridae/ciridae-ui-wordmark-white.png +0 -0
- package/dist/assets/ciridae/ciridae-white.svg +0 -17
- package/dist/assets/ciridae/ciridae-wordmark-black.png +0 -0
- package/dist/assets/ciridae/ciridae-wordmark-white.png +0 -0
- package/dist/assets/ciridae/favicon.ico +0 -0
- package/dist/assets/ciridae/logo-white.png +0 -0
- package/dist/assets/ciridae/sign-in-screenshot.png +0 -0
- package/dist/components/blocks/admin-users-table.d.ts +0 -22
- package/dist/components/blocks/admin-users-table.js +0 -115
- package/dist/components/blocks/comment-composer.d.ts +0 -18
- package/dist/components/blocks/comment-composer.js +0 -137
- package/dist/components/blocks/comment-item.d.ts +0 -8
- package/dist/components/blocks/comment-item.js +0 -45
- package/dist/components/blocks/comment-thread.d.ts +0 -19
- package/dist/components/blocks/comment-thread.js +0 -37
- package/dist/components/blocks/comment-types.d.ts +0 -18
- package/dist/components/blocks/comment-types.js +0 -11
- package/dist/components/blocks/copy-field.d.ts +0 -18
- package/dist/components/blocks/copy-field.js +0 -61
- package/dist/components/blocks/feedback-center-comments.d.ts +0 -16
- package/dist/components/blocks/feedback-center-comments.js +0 -61
- package/dist/components/blocks/feedback-center-footer.d.ts +0 -12
- package/dist/components/blocks/feedback-center-footer.js +0 -10
- package/dist/components/blocks/feedback-center-sheet-parts.d.ts +0 -40
- package/dist/components/blocks/feedback-center-sheet-parts.js +0 -39
- package/dist/components/blocks/feedback-center-sheet.d.ts +0 -28
- package/dist/components/blocks/feedback-center-sheet.js +0 -106
- package/dist/components/blocks/feedback-composer-parts.d.ts +0 -16
- package/dist/components/blocks/feedback-composer-parts.js +0 -43
- package/dist/components/blocks/feedback-composer-types.d.ts +0 -12
- package/dist/components/blocks/feedback-composer.d.ts +0 -24
- package/dist/components/blocks/feedback-composer.js +0 -82
- package/dist/components/blocks/feedback-date-format.d.ts +0 -5
- package/dist/components/blocks/feedback-date-format.js +0 -11
- package/dist/components/blocks/feedback-detail-sheet.d.ts +0 -15
- package/dist/components/blocks/feedback-detail-sheet.js +0 -59
- package/dist/components/blocks/feedback-emergency-fields.d.ts +0 -17
- package/dist/components/blocks/feedback-emergency-fields.js +0 -32
- package/dist/components/blocks/feedback-metrics.d.ts +0 -6
- package/dist/components/blocks/feedback-metrics.js +0 -15
- package/dist/components/blocks/feedback-sheet.d.ts +0 -8
- package/dist/components/blocks/feedback-sheet.js +0 -29
- package/dist/components/blocks/feedback-status-badge.d.ts +0 -6
- package/dist/components/blocks/feedback-status-badge.js +0 -15
- package/dist/components/blocks/feedback-table-row.d.ts +0 -6
- package/dist/components/blocks/feedback-table-row.js +0 -27
- package/dist/components/blocks/feedback-table-sort.d.ts +0 -11
- package/dist/components/blocks/feedback-table-sort.js +0 -82
- package/dist/components/blocks/feedback-table.d.ts +0 -16
- package/dist/components/blocks/feedback-table.js +0 -45
- package/dist/components/blocks/feedback-tracking-types.d.ts +0 -102
- package/dist/components/blocks/feedback-tracking-types.js +0 -54
- package/dist/components/blocks/feedback-triage-timeline.d.ts +0 -11
- package/dist/components/blocks/feedback-triage-timeline.js +0 -17
- package/dist/components/blocks/feedback-type-badge.d.ts +0 -11
- package/dist/components/blocks/feedback-type-badge.js +0 -18
- package/dist/components/blocks/feedback-unread-badge.d.ts +0 -6
- package/dist/components/blocks/feedback-unread-badge.js +0 -9
- package/dist/components/blocks/feedback-user-detail.d.ts +0 -11
- package/dist/components/blocks/feedback-user-detail.js +0 -63
- package/dist/components/blocks/feedback-user-list.d.ts +0 -11
- package/dist/components/blocks/feedback-user-list.js +0 -41
- package/dist/components/blocks/generated-connect-link.d.ts +0 -22
- package/dist/components/blocks/generated-connect-link.js +0 -68
- package/dist/components/blocks/invite-user-sheet.d.ts +0 -20
- package/dist/components/blocks/invite-user-sheet.js +0 -72
- package/dist/components/blocks/kanban-board-parts.d.ts +0 -26
- package/dist/components/blocks/kanban-board-parts.js +0 -83
- package/dist/components/blocks/kanban-board-utils.d.ts +0 -58
- package/dist/components/blocks/kanban-board-utils.js +0 -140
- package/dist/components/blocks/kanban-board.d.ts +0 -16
- package/dist/components/blocks/kanban-board.js +0 -35
- package/dist/components/blocks/kanban-card.d.ts +0 -10
- package/dist/components/blocks/kanban-card.js +0 -34
- package/dist/components/blocks/kanban-column.d.ts +0 -17
- package/dist/components/blocks/kanban-column.js +0 -34
- package/dist/components/blocks/kanban-detail-sheet.d.ts +0 -17
- package/dist/components/blocks/kanban-detail-sheet.js +0 -34
- package/dist/components/blocks/kanban-types.d.ts +0 -24
- package/dist/components/blocks/mcp-access-grouped-tool-picker.d.ts +0 -19
- package/dist/components/blocks/mcp-access-grouped-tool-picker.js +0 -116
- package/dist/components/blocks/mcp-access-tool-picker-internals.d.ts +0 -35
- package/dist/components/blocks/mcp-access-tool-picker-internals.js +0 -24
- package/dist/components/blocks/mcp-access-tool-picker.d.ts +0 -22
- package/dist/components/blocks/mcp-access-tool-picker.js +0 -33
- package/dist/components/blocks/mcp-access-types.d.ts +0 -42
- package/dist/components/blocks/mcp-access-types.js +0 -7
- package/dist/components/blocks/mcp-client-setup.d.ts +0 -29
- package/dist/components/blocks/mcp-client-setup.js +0 -58
- package/dist/components/blocks/mcp-connect-clients.d.ts +0 -43
- package/dist/components/blocks/mcp-connect-clients.js +0 -66
- package/dist/components/blocks/mcp-plan-choice.d.ts +0 -17
- package/dist/components/blocks/mcp-plan-choice.js +0 -28
- package/dist/components/blocks/submit-feedback-composer.d.ts +0 -5
- package/dist/components/blocks/submit-feedback-composer.js +0 -40
- package/dist/components/blocks/timestamp-format.d.ts +0 -14
- package/dist/components/blocks/timestamp-format.js +0 -72
- package/dist/components/blocks/use-feedback-composer-state.d.ts +0 -27
- package/dist/components/blocks/use-feedback-composer-state.js +0 -60
- package/dist/components/blocks/use-reveal-thread-end.d.ts +0 -11
- package/dist/components/blocks/use-reveal-thread-end.js +0 -25
- package/dist/components/pages/admin-users-page.d.ts +0 -11
- package/dist/components/pages/admin-users-page.js +0 -30
- package/dist/components/pages/feedback-stakeholder-page-parts.d.ts +0 -18
- package/dist/components/pages/feedback-stakeholder-page-parts.js +0 -36
- package/dist/components/pages/feedback-stakeholder-page.d.ts +0 -9
- package/dist/components/pages/feedback-stakeholder-page.js +0 -66
- package/dist/components/pages/kanban-page.d.ts +0 -13
- package/dist/components/pages/kanban-page.js +0 -68
- package/dist/components/ui/accordion.d.ts +0 -7
- package/dist/components/ui/accordion.js +0 -17
- package/dist/components/ui/alert-dialog.d.ts +0 -22
- package/dist/components/ui/alert-dialog.js +0 -51
- package/dist/components/ui/alert.d.ts +0 -9
- package/dist/components/ui/alert.js +0 -24
- package/dist/components/ui/app-shell-page.d.ts +0 -22
- package/dist/components/ui/app-shell-page.js +0 -21
- package/dist/components/ui/app-shell.d.ts +0 -45
- package/dist/components/ui/app-shell.js +0 -44
- package/dist/components/ui/aspect-ratio.d.ts +0 -3
- package/dist/components/ui/aspect-ratio.js +0 -7
- package/dist/components/ui/avatar.d.ts +0 -11
- package/dist/components/ui/avatar.js +0 -22
- package/dist/components/ui/badge-variants.d.ts +0 -100
- package/dist/components/ui/badge-variants.js +0 -140
- package/dist/components/ui/badge.d.ts +0 -6
- package/dist/components/ui/badge.js +0 -9
- package/dist/components/ui/breadcrumb.d.ts +0 -11
- package/dist/components/ui/breadcrumb.js +0 -27
- package/dist/components/ui/button-group-variants.d.ts +0 -6
- package/dist/components/ui/button-group-variants.js +0 -13
- package/dist/components/ui/button-group.d.ts +0 -8
- package/dist/components/ui/button-group.js +0 -16
- package/dist/components/ui/button-variants.d.ts +0 -133
- package/dist/components/ui/button-variants.js +0 -170
- package/dist/components/ui/button.d.ts +0 -8
- package/dist/components/ui/button.js +0 -59
- package/dist/components/ui/calendar.d.ts +0 -10
- package/dist/components/ui/calendar.js +0 -99
- package/dist/components/ui/card.d.ts +0 -14
- package/dist/components/ui/card.js +0 -28
- package/dist/components/ui/carousel.d.ts +0 -19
- package/dist/components/ui/carousel.js +0 -104
- package/dist/components/ui/chart-context.d.ts +0 -33
- package/dist/components/ui/chart-context.js +0 -36
- package/dist/components/ui/chart-panel.d.ts +0 -11
- package/dist/components/ui/chart-panel.js +0 -6
- package/dist/components/ui/chart-tooltip.d.ts +0 -13
- package/dist/components/ui/chart-tooltip.js +0 -84
- package/dist/components/ui/chart.d.ts +0 -23
- package/dist/components/ui/chart.js +0 -52
- package/dist/components/ui/checkbox.d.ts +0 -4
- package/dist/components/ui/checkbox.js +0 -9
- package/dist/components/ui/ciridae-ui-provider.d.ts +0 -8
- package/dist/components/ui/ciridae-ui-provider.js +0 -14
- package/dist/components/ui/collapsible.d.ts +0 -5
- package/dist/components/ui/collapsible.js +0 -12
- package/dist/components/ui/color-theme-context.d.ts +0 -28
- package/dist/components/ui/color-theme-context.js +0 -3
- package/dist/components/ui/color-theme.d.ts +0 -5
- package/dist/components/ui/color-theme.js +0 -147
- package/dist/components/ui/combobox-anchor.d.ts +0 -3
- package/dist/components/ui/combobox-anchor.js +0 -5
- package/dist/components/ui/combobox.d.ts +0 -24
- package/dist/components/ui/combobox.js +0 -54
- package/dist/components/ui/command.d.ts +0 -19
- package/dist/components/ui/command.js +0 -38
- package/dist/components/ui/context-menu.d.ts +0 -30
- package/dist/components/ui/context-menu.js +0 -63
- package/dist/components/ui/data-table-column-settings.d.ts +0 -23
- package/dist/components/ui/data-table-column-settings.js +0 -170
- package/dist/components/ui/data-table-context.d.ts +0 -8
- package/dist/components/ui/data-table-context.js +0 -53
- package/dist/components/ui/data-table-controls.d.ts +0 -9
- package/dist/components/ui/data-table-controls.js +0 -30
- package/dist/components/ui/data-table-facet-filter.d.ts +0 -39
- package/dist/components/ui/data-table-facet-filter.js +0 -65
- package/dist/components/ui/data-table-grid.d.ts +0 -10
- package/dist/components/ui/data-table-grid.js +0 -34
- package/dist/components/ui/data-table-pagination.d.ts +0 -17
- package/dist/components/ui/data-table-pagination.js +0 -89
- package/dist/components/ui/data-table-search-input.d.ts +0 -14
- package/dist/components/ui/data-table-search-input.js +0 -15
- package/dist/components/ui/data-table-state.d.ts +0 -19
- package/dist/components/ui/data-table-state.js +0 -8
- package/dist/components/ui/data-table-tanstack.d.ts +0 -99
- package/dist/components/ui/data-table-tanstack.js +0 -128
- package/dist/components/ui/data-table.d.ts +0 -19
- package/dist/components/ui/data-table.js +0 -35
- package/dist/components/ui/dialog.d.ts +0 -23
- package/dist/components/ui/dialog.js +0 -48
- package/dist/components/ui/direction-context.d.ts +0 -3
- package/dist/components/ui/direction-context.js +0 -3
- package/dist/components/ui/direction.d.ts +0 -6
- package/dist/components/ui/direction.js +0 -7
- package/dist/components/ui/drawer.d.ts +0 -18
- package/dist/components/ui/drawer.js +0 -47
- package/dist/components/ui/dropdown-menu.d.ts +0 -30
- package/dist/components/ui/dropdown-menu.js +0 -63
- package/dist/components/ui/empty.d.ts +0 -11
- package/dist/components/ui/empty.js +0 -33
- package/dist/components/ui/expandable-data-table.d.ts +0 -24
- package/dist/components/ui/expandable-data-table.js +0 -62
- package/dist/components/ui/field.d.ts +0 -26
- package/dist/components/ui/field.js +0 -74
- package/dist/components/ui/file-upload-field-parts.d.ts +0 -21
- package/dist/components/ui/file-upload-field-parts.js +0 -55
- package/dist/components/ui/file-upload-field.d.ts +0 -16
- package/dist/components/ui/file-upload-field.js +0 -85
- package/dist/components/ui/form-context.d.ts +0 -23
- package/dist/components/ui/form-context.js +0 -35
- package/dist/components/ui/form-sheet.d.ts +0 -22
- package/dist/components/ui/form-sheet.js +0 -74
- package/dist/components/ui/form.d.ts +0 -12
- package/dist/components/ui/form.js +0 -38
- package/dist/components/ui/hover-card.d.ts +0 -10
- package/dist/components/ui/hover-card.js +0 -22
- package/dist/components/ui/input-group.d.ts +0 -16
- package/dist/components/ui/input-group.js +0 -62
- package/dist/components/ui/input-otp.d.ts +0 -11
- package/dist/components/ui/input-otp.js +0 -21
- package/dist/components/ui/input.d.ts +0 -3
- package/dist/components/ui/input.js +0 -6
- package/dist/components/ui/item.d.ts +0 -24
- package/dist/components/ui/item.js +0 -73
- package/dist/components/ui/kbd.d.ts +0 -3
- package/dist/components/ui/kbd.js +0 -9
- package/dist/components/ui/label.d.ts +0 -4
- package/dist/components/ui/label.js +0 -7
- package/dist/components/ui/loading-state.d.ts +0 -27
- package/dist/components/ui/loading-state.js +0 -44
- package/dist/components/ui/menubar.d.ts +0 -30
- package/dist/components/ui/menubar.js +0 -63
- package/dist/components/ui/metrics-strip.d.ts +0 -7
- package/dist/components/ui/metrics-strip.js +0 -18
- package/dist/components/ui/native-select.d.ts +0 -7
- package/dist/components/ui/native-select.js +0 -13
- package/dist/components/ui/navigation-menu-variants.d.ts +0 -2
- package/dist/components/ui/navigation-menu-variants.js +0 -3
- package/dist/components/ui/navigation-menu.d.ts +0 -13
- package/dist/components/ui/navigation-menu.js +0 -30
- package/dist/components/ui/page-header.d.ts +0 -33
- package/dist/components/ui/page-header.js +0 -54
- package/dist/components/ui/pagination.d.ts +0 -13
- package/dist/components/ui/pagination.js +0 -29
- package/dist/components/ui/popover.d.ts +0 -14
- package/dist/components/ui/popover.js +0 -34
- package/dist/components/ui/progress.d.ts +0 -4
- package/dist/components/ui/progress.js +0 -8
- package/dist/components/ui/property-list.d.ts +0 -6
- package/dist/components/ui/property-list.js +0 -15
- package/dist/components/ui/radio-group.d.ts +0 -5
- package/dist/components/ui/radio-group.js +0 -11
- package/dist/components/ui/registry-docs-api.d.ts +0 -11
- package/dist/components/ui/registry-docs-api.js +0 -9
- package/dist/components/ui/registry-docs-code.d.ts +0 -19
- package/dist/components/ui/registry-docs-code.js +0 -78
- package/dist/components/ui/registry-docs-showcase.d.ts +0 -11
- package/dist/components/ui/registry-docs-showcase.js +0 -27
- package/dist/components/ui/registry-docs.d.ts +0 -27
- package/dist/components/ui/registry-docs.js +0 -32
- package/dist/components/ui/resizable.d.ts +0 -14
- package/dist/components/ui/resizable.js +0 -15
- package/dist/components/ui/scroll-area.d.ts +0 -7
- package/dist/components/ui/scroll-area.js +0 -10
- package/dist/components/ui/select.d.ts +0 -15
- package/dist/components/ui/select.js +0 -38
- package/dist/components/ui/separator.d.ts +0 -4
- package/dist/components/ui/separator.js +0 -7
- package/dist/components/ui/sheet.d.ts +0 -21
- package/dist/components/ui/sheet.js +0 -62
- package/dist/components/ui/sidebar/context.d.ts +0 -27
- package/dist/components/ui/sidebar/context.js +0 -23
- package/dist/components/ui/sidebar/group.d.ts +0 -10
- package/dist/components/ui/sidebar/group.js +0 -18
- package/dist/components/ui/sidebar/layout.d.ts +0 -17
- package/dist/components/ui/sidebar/layout.js +0 -78
- package/dist/components/ui/sidebar/menu.d.ts +0 -30
- package/dist/components/ui/sidebar/menu.js +0 -64
- package/dist/components/ui/sidebar/provider.d.ts +0 -7
- package/dist/components/ui/sidebar/provider.js +0 -53
- package/dist/components/ui/sidebar/rail.d.ts +0 -3
- package/dist/components/ui/sidebar/rail.js +0 -12
- package/dist/components/ui/sidebar/trigger.d.ts +0 -4
- package/dist/components/ui/sidebar/trigger.js +0 -16
- package/dist/components/ui/sidebar-account-menu-theme.d.ts +0 -7
- package/dist/components/ui/sidebar-account-menu-theme.js +0 -32
- package/dist/components/ui/sidebar-account-menu.d.ts +0 -16
- package/dist/components/ui/sidebar-account-menu.js +0 -51
- package/dist/components/ui/sidebar.d.ts +0 -7
- package/dist/components/ui/sidebar.js +0 -7
- package/dist/components/ui/skeleton.d.ts +0 -2
- package/dist/components/ui/skeleton.js +0 -15
- package/dist/components/ui/slider.d.ts +0 -4
- package/dist/components/ui/slider.js +0 -9
- package/dist/components/ui/sonner.d.ts +0 -3
- package/dist/components/ui/sonner.js +0 -33
- package/dist/components/ui/spinner.d.ts +0 -2
- package/dist/components/ui/spinner.js +0 -16
- package/dist/components/ui/switch.d.ts +0 -6
- package/dist/components/ui/switch.js +0 -7
- package/dist/components/ui/table.d.ts +0 -21
- package/dist/components/ui/table.js +0 -34
- package/dist/components/ui/tabs-variants.d.ts +0 -6
- package/dist/components/ui/tabs-variants.js +0 -13
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.js +0 -17
- package/dist/components/ui/textarea.d.ts +0 -3
- package/dist/components/ui/textarea.js +0 -6
- package/dist/components/ui/toggle-group.d.ts +0 -9
- package/dist/components/ui/toggle-group.js +0 -24
- package/dist/components/ui/toggle-variants.d.ts +0 -7
- package/dist/components/ui/toggle-variants.js +0 -19
- package/dist/components/ui/toggle.d.ts +0 -5
- package/dist/components/ui/toggle.js +0 -9
- package/dist/components/ui/tooltip.d.ts +0 -14
- package/dist/components/ui/tooltip.js +0 -25
- package/dist/components/ui/use-color-theme.d.ts +0 -2
- package/dist/components/ui/use-color-theme.js +0 -10
- package/dist/components/ui/workflow-timeline.d.ts +0 -20
- package/dist/components/ui/workflow-timeline.js +0 -92
- package/dist/components/walkthrough/presentation/WalkthroughCoach.d.ts +0 -14
- package/dist/components/walkthrough/presentation/WalkthroughCoach.js +0 -32
- package/dist/components/walkthrough/presentation/WalkthroughHighlight.d.ts +0 -5
- package/dist/components/walkthrough/presentation/WalkthroughHighlight.js +0 -9
- package/dist/components/walkthrough/presentation/WalkthroughOverlay.d.ts +0 -1
- package/dist/components/walkthrough/presentation/WalkthroughOverlay.js +0 -70
- package/dist/components/walkthrough/presentation/positionWalkthroughCoach.d.ts +0 -11
- package/dist/components/walkthrough/presentation/positionWalkthroughCoach.js +0 -24
- package/dist/components/walkthrough/presentation/useWalkthroughCoachPosition.d.ts +0 -4
- package/dist/components/walkthrough/presentation/useWalkthroughCoachPosition.js +0 -17
- package/dist/components/walkthrough/runtime/WalkthroughContextDefinition.d.ts +0 -20
- package/dist/components/walkthrough/runtime/WalkthroughContextDefinition.js +0 -2
- package/dist/components/walkthrough/runtime/WalkthroughProvider.d.ts +0 -12
- package/dist/components/walkthrough/runtime/WalkthroughProvider.js +0 -190
- package/dist/components/walkthrough/runtime/useWalkthrough.d.ts +0 -1
- package/dist/components/walkthrough/runtime/useWalkthrough.js +0 -8
- package/dist/components/walkthrough/runtime/walkthroughEvents.d.ts +0 -3
- package/dist/components/walkthrough/runtime/walkthroughEvents.js +0 -55
- package/dist/components/walkthrough/runtime/walkthroughLocation.d.ts +0 -2
- package/dist/components/walkthrough/runtime/walkthroughLocation.js +0 -27
- package/dist/components/walkthrough/runtime/walkthroughStorage.d.ts +0 -3
- package/dist/components/walkthrough/runtime/walkthroughStorage.js +0 -54
- package/dist/components/walkthrough/runtime/walkthroughTypes.d.ts +0 -32
- package/dist/components/walkthrough/targeting/listenForOutsideWalkthroughInteraction.d.ts +0 -2
- package/dist/components/walkthrough/targeting/listenForOutsideWalkthroughInteraction.js +0 -19
- package/dist/components/walkthrough/targeting/useWalkthroughTargetRect.d.ts +0 -15
- package/dist/components/walkthrough/targeting/useWalkthroughTargetRect.js +0 -54
- package/dist/components/walkthrough/targeting/walkthroughTarget.d.ts +0 -6
- package/dist/components/walkthrough/targeting/walkthroughTarget.js +0 -24
- package/dist/components/walkthrough.d.ts +0 -4
- package/dist/components/walkthrough.js +0 -2
- package/dist/entries/accordion.d.ts +0 -1
- package/dist/entries/accordion.js +0 -1
- package/dist/entries/admin-users-page.d.ts +0 -1
- package/dist/entries/admin-users-page.js +0 -1
- package/dist/entries/admin-users-table.d.ts +0 -1
- package/dist/entries/admin-users-table.js +0 -1
- package/dist/entries/alert-dialog.d.ts +0 -1
- package/dist/entries/alert-dialog.js +0 -1
- package/dist/entries/alert.d.ts +0 -1
- package/dist/entries/alert.js +0 -1
- package/dist/entries/app-shell-page.d.ts +0 -1
- package/dist/entries/app-shell-page.js +0 -1
- package/dist/entries/app-shell.d.ts +0 -1
- package/dist/entries/app-shell.js +0 -1
- package/dist/entries/aspect-ratio.d.ts +0 -1
- package/dist/entries/aspect-ratio.js +0 -1
- package/dist/entries/avatar.d.ts +0 -1
- package/dist/entries/avatar.js +0 -1
- package/dist/entries/badge-variants.d.ts +0 -1
- package/dist/entries/badge-variants.js +0 -1
- package/dist/entries/badge.d.ts +0 -1
- package/dist/entries/badge.js +0 -1
- package/dist/entries/breadcrumb.d.ts +0 -1
- package/dist/entries/breadcrumb.js +0 -1
- package/dist/entries/button-group-variants.d.ts +0 -1
- package/dist/entries/button-group-variants.js +0 -1
- package/dist/entries/button-group.d.ts +0 -1
- package/dist/entries/button-group.js +0 -1
- package/dist/entries/button-variants.d.ts +0 -1
- package/dist/entries/button-variants.js +0 -1
- package/dist/entries/button.d.ts +0 -1
- package/dist/entries/button.js +0 -1
- package/dist/entries/calendar.d.ts +0 -1
- package/dist/entries/calendar.js +0 -1
- package/dist/entries/card.d.ts +0 -1
- package/dist/entries/card.js +0 -1
- package/dist/entries/carousel.d.ts +0 -1
- package/dist/entries/carousel.js +0 -1
- package/dist/entries/chart-context.d.ts +0 -1
- package/dist/entries/chart-context.js +0 -1
- package/dist/entries/chart-panel.d.ts +0 -1
- package/dist/entries/chart-panel.js +0 -1
- package/dist/entries/chart-tooltip.d.ts +0 -1
- package/dist/entries/chart-tooltip.js +0 -1
- package/dist/entries/chart.d.ts +0 -1
- package/dist/entries/chart.js +0 -1
- package/dist/entries/checkbox.d.ts +0 -1
- package/dist/entries/checkbox.js +0 -1
- package/dist/entries/ciridae-brand-assets.d.ts +0 -1
- package/dist/entries/ciridae-brand-assets.js +0 -1
- package/dist/entries/ciridae-ui-provider.d.ts +0 -1
- package/dist/entries/ciridae-ui-provider.js +0 -1
- package/dist/entries/collapsible.d.ts +0 -1
- package/dist/entries/collapsible.js +0 -1
- package/dist/entries/color-theme-context.d.ts +0 -1
- package/dist/entries/color-theme-context.js +0 -1
- package/dist/entries/color-theme.d.ts +0 -1
- package/dist/entries/color-theme.js +0 -1
- package/dist/entries/combobox-anchor.d.ts +0 -1
- package/dist/entries/combobox-anchor.js +0 -1
- package/dist/entries/combobox.d.ts +0 -1
- package/dist/entries/combobox.js +0 -1
- package/dist/entries/command.d.ts +0 -1
- package/dist/entries/command.js +0 -1
- package/dist/entries/comment-composer.d.ts +0 -1
- package/dist/entries/comment-composer.js +0 -1
- package/dist/entries/comment-item.d.ts +0 -1
- package/dist/entries/comment-item.js +0 -1
- package/dist/entries/comment-thread.d.ts +0 -1
- package/dist/entries/comment-thread.js +0 -1
- package/dist/entries/comment-types.d.ts +0 -1
- package/dist/entries/comment-types.js +0 -1
- package/dist/entries/context-menu.d.ts +0 -1
- package/dist/entries/context-menu.js +0 -1
- package/dist/entries/copy-field.d.ts +0 -1
- package/dist/entries/copy-field.js +0 -1
- package/dist/entries/data-table-column-settings.d.ts +0 -1
- package/dist/entries/data-table-column-settings.js +0 -1
- package/dist/entries/data-table-context.d.ts +0 -1
- package/dist/entries/data-table-context.js +0 -1
- package/dist/entries/data-table-controls.d.ts +0 -1
- package/dist/entries/data-table-controls.js +0 -1
- package/dist/entries/data-table-facet-filter.d.ts +0 -1
- package/dist/entries/data-table-facet-filter.js +0 -1
- package/dist/entries/data-table-grid.d.ts +0 -1
- package/dist/entries/data-table-grid.js +0 -1
- package/dist/entries/data-table-pagination.d.ts +0 -1
- package/dist/entries/data-table-pagination.js +0 -1
- package/dist/entries/data-table-search-input.d.ts +0 -1
- package/dist/entries/data-table-search-input.js +0 -1
- package/dist/entries/data-table-state.d.ts +0 -1
- package/dist/entries/data-table-state.js +0 -1
- package/dist/entries/data-table-tanstack.d.ts +0 -1
- package/dist/entries/data-table-tanstack.js +0 -1
- package/dist/entries/data-table.d.ts +0 -1
- package/dist/entries/data-table.js +0 -1
- package/dist/entries/dialog.d.ts +0 -1
- package/dist/entries/dialog.js +0 -1
- package/dist/entries/direction-context.d.ts +0 -1
- package/dist/entries/direction-context.js +0 -1
- package/dist/entries/direction.d.ts +0 -1
- package/dist/entries/direction.js +0 -1
- package/dist/entries/drawer.d.ts +0 -1
- package/dist/entries/drawer.js +0 -1
- package/dist/entries/dropdown-menu.d.ts +0 -1
- package/dist/entries/dropdown-menu.js +0 -1
- package/dist/entries/empty.d.ts +0 -1
- package/dist/entries/empty.js +0 -1
- package/dist/entries/expandable-data-table.d.ts +0 -1
- package/dist/entries/expandable-data-table.js +0 -1
- package/dist/entries/feedback-center-comments.d.ts +0 -1
- package/dist/entries/feedback-center-comments.js +0 -1
- package/dist/entries/feedback-center-footer.d.ts +0 -1
- package/dist/entries/feedback-center-footer.js +0 -1
- package/dist/entries/feedback-center-sheet-parts.d.ts +0 -1
- package/dist/entries/feedback-center-sheet-parts.js +0 -1
- package/dist/entries/feedback-center-sheet.d.ts +0 -1
- package/dist/entries/feedback-center-sheet.js +0 -1
- package/dist/entries/feedback-composer-parts.d.ts +0 -1
- package/dist/entries/feedback-composer-parts.js +0 -1
- package/dist/entries/feedback-composer-types.d.ts +0 -1
- package/dist/entries/feedback-composer-types.js +0 -1
- package/dist/entries/feedback-composer.d.ts +0 -1
- package/dist/entries/feedback-composer.js +0 -1
- package/dist/entries/feedback-date-format.d.ts +0 -1
- package/dist/entries/feedback-date-format.js +0 -1
- package/dist/entries/feedback-detail-sheet.d.ts +0 -1
- package/dist/entries/feedback-detail-sheet.js +0 -1
- package/dist/entries/feedback-emergency-fields.d.ts +0 -1
- package/dist/entries/feedback-emergency-fields.js +0 -1
- package/dist/entries/feedback-metrics.d.ts +0 -1
- package/dist/entries/feedback-metrics.js +0 -1
- package/dist/entries/feedback-sheet.d.ts +0 -1
- package/dist/entries/feedback-sheet.js +0 -1
- package/dist/entries/feedback-stakeholder-page-parts.d.ts +0 -1
- package/dist/entries/feedback-stakeholder-page-parts.js +0 -1
- package/dist/entries/feedback-stakeholder-page.d.ts +0 -1
- package/dist/entries/feedback-stakeholder-page.js +0 -1
- package/dist/entries/feedback-status-badge.d.ts +0 -1
- package/dist/entries/feedback-status-badge.js +0 -1
- package/dist/entries/feedback-table-row.d.ts +0 -1
- package/dist/entries/feedback-table-row.js +0 -1
- package/dist/entries/feedback-table-sort.d.ts +0 -1
- package/dist/entries/feedback-table-sort.js +0 -1
- package/dist/entries/feedback-table.d.ts +0 -1
- package/dist/entries/feedback-table.js +0 -1
- package/dist/entries/feedback-tracking-types.d.ts +0 -1
- package/dist/entries/feedback-tracking-types.js +0 -1
- package/dist/entries/feedback-triage-timeline.d.ts +0 -1
- package/dist/entries/feedback-triage-timeline.js +0 -1
- package/dist/entries/feedback-type-badge.d.ts +0 -1
- package/dist/entries/feedback-type-badge.js +0 -1
- package/dist/entries/feedback-unread-badge.d.ts +0 -1
- package/dist/entries/feedback-unread-badge.js +0 -1
- package/dist/entries/feedback-user-detail.d.ts +0 -1
- package/dist/entries/feedback-user-detail.js +0 -1
- package/dist/entries/feedback-user-list.d.ts +0 -1
- package/dist/entries/feedback-user-list.js +0 -1
- package/dist/entries/field.d.ts +0 -1
- package/dist/entries/field.js +0 -1
- package/dist/entries/file-upload-field-parts.d.ts +0 -1
- package/dist/entries/file-upload-field-parts.js +0 -1
- package/dist/entries/file-upload-field.d.ts +0 -1
- package/dist/entries/file-upload-field.js +0 -1
- package/dist/entries/form-context.d.ts +0 -1
- package/dist/entries/form-context.js +0 -1
- package/dist/entries/form-sheet.d.ts +0 -1
- package/dist/entries/form-sheet.js +0 -1
- package/dist/entries/form.d.ts +0 -1
- package/dist/entries/form.js +0 -1
- package/dist/entries/generated-connect-link.d.ts +0 -1
- package/dist/entries/generated-connect-link.js +0 -1
- package/dist/entries/hover-card.d.ts +0 -1
- package/dist/entries/hover-card.js +0 -1
- package/dist/entries/input-group.d.ts +0 -1
- package/dist/entries/input-group.js +0 -1
- package/dist/entries/input-otp.d.ts +0 -1
- package/dist/entries/input-otp.js +0 -1
- package/dist/entries/input.d.ts +0 -1
- package/dist/entries/input.js +0 -1
- package/dist/entries/invite-user-sheet.d.ts +0 -1
- package/dist/entries/invite-user-sheet.js +0 -1
- package/dist/entries/item.d.ts +0 -1
- package/dist/entries/item.js +0 -1
- package/dist/entries/kanban-board-parts.d.ts +0 -1
- package/dist/entries/kanban-board-parts.js +0 -1
- package/dist/entries/kanban-board-utils.d.ts +0 -1
- package/dist/entries/kanban-board-utils.js +0 -1
- package/dist/entries/kanban-board.d.ts +0 -1
- package/dist/entries/kanban-board.js +0 -1
- package/dist/entries/kanban-card.d.ts +0 -1
- package/dist/entries/kanban-card.js +0 -1
- package/dist/entries/kanban-column.d.ts +0 -1
- package/dist/entries/kanban-column.js +0 -1
- package/dist/entries/kanban-detail-sheet.d.ts +0 -1
- package/dist/entries/kanban-detail-sheet.js +0 -1
- package/dist/entries/kanban-page.d.ts +0 -1
- package/dist/entries/kanban-page.js +0 -1
- package/dist/entries/kanban-types.d.ts +0 -1
- package/dist/entries/kanban-types.js +0 -1
- package/dist/entries/kbd.d.ts +0 -1
- package/dist/entries/kbd.js +0 -1
- package/dist/entries/label.d.ts +0 -1
- package/dist/entries/label.js +0 -1
- package/dist/entries/loading-state.d.ts +0 -1
- package/dist/entries/loading-state.js +0 -1
- package/dist/entries/mcp-access-grouped-tool-picker.d.ts +0 -1
- package/dist/entries/mcp-access-grouped-tool-picker.js +0 -1
- package/dist/entries/mcp-access-tool-picker.d.ts +0 -1
- package/dist/entries/mcp-access-tool-picker.js +0 -1
- package/dist/entries/mcp-access-types.d.ts +0 -1
- package/dist/entries/mcp-access-types.js +0 -1
- package/dist/entries/mcp-client-setup.d.ts +0 -1
- package/dist/entries/mcp-client-setup.js +0 -1
- package/dist/entries/mcp-connect-clients.d.ts +0 -1
- package/dist/entries/mcp-connect-clients.js +0 -1
- package/dist/entries/mcp-plan-choice.d.ts +0 -1
- package/dist/entries/mcp-plan-choice.js +0 -1
- package/dist/entries/menubar.d.ts +0 -1
- package/dist/entries/menubar.js +0 -1
- package/dist/entries/metrics-strip.d.ts +0 -1
- package/dist/entries/metrics-strip.js +0 -1
- package/dist/entries/native-select.d.ts +0 -1
- package/dist/entries/native-select.js +0 -1
- package/dist/entries/navigation-menu-variants.d.ts +0 -1
- package/dist/entries/navigation-menu-variants.js +0 -1
- package/dist/entries/navigation-menu.d.ts +0 -1
- package/dist/entries/navigation-menu.js +0 -1
- package/dist/entries/page-header.d.ts +0 -1
- package/dist/entries/page-header.js +0 -1
- package/dist/entries/pagination.d.ts +0 -1
- package/dist/entries/pagination.js +0 -1
- package/dist/entries/palette.d.ts +0 -2
- package/dist/entries/palette.js +0 -2
- package/dist/entries/popover.d.ts +0 -1
- package/dist/entries/popover.js +0 -1
- package/dist/entries/progress.d.ts +0 -1
- package/dist/entries/progress.js +0 -1
- package/dist/entries/property-list.d.ts +0 -1
- package/dist/entries/property-list.js +0 -1
- package/dist/entries/radio-group.d.ts +0 -1
- package/dist/entries/radio-group.js +0 -1
- package/dist/entries/registry-docs-api.d.ts +0 -1
- package/dist/entries/registry-docs-api.js +0 -1
- package/dist/entries/registry-docs-code.d.ts +0 -1
- package/dist/entries/registry-docs-code.js +0 -1
- package/dist/entries/registry-docs-showcase.d.ts +0 -1
- package/dist/entries/registry-docs-showcase.js +0 -1
- package/dist/entries/registry-docs.d.ts +0 -1
- package/dist/entries/registry-docs.js +0 -1
- package/dist/entries/resizable.d.ts +0 -1
- package/dist/entries/resizable.js +0 -1
- package/dist/entries/scroll-area.d.ts +0 -1
- package/dist/entries/scroll-area.js +0 -1
- package/dist/entries/select.d.ts +0 -1
- package/dist/entries/select.js +0 -1
- package/dist/entries/separator.d.ts +0 -1
- package/dist/entries/separator.js +0 -1
- package/dist/entries/sheet.d.ts +0 -1
- package/dist/entries/sheet.js +0 -1
- package/dist/entries/sidebar/context.d.ts +0 -1
- package/dist/entries/sidebar/context.js +0 -1
- package/dist/entries/sidebar/group.d.ts +0 -1
- package/dist/entries/sidebar/group.js +0 -1
- package/dist/entries/sidebar/layout.d.ts +0 -1
- package/dist/entries/sidebar/layout.js +0 -1
- package/dist/entries/sidebar/menu.d.ts +0 -1
- package/dist/entries/sidebar/menu.js +0 -1
- package/dist/entries/sidebar/provider.d.ts +0 -1
- package/dist/entries/sidebar/provider.js +0 -1
- package/dist/entries/sidebar/rail.d.ts +0 -1
- package/dist/entries/sidebar/rail.js +0 -1
- package/dist/entries/sidebar/trigger.d.ts +0 -1
- package/dist/entries/sidebar/trigger.js +0 -1
- package/dist/entries/sidebar-account-menu-theme.d.ts +0 -1
- package/dist/entries/sidebar-account-menu-theme.js +0 -1
- package/dist/entries/sidebar-account-menu.d.ts +0 -1
- package/dist/entries/sidebar-account-menu.js +0 -1
- package/dist/entries/sidebar.d.ts +0 -1
- package/dist/entries/sidebar.js +0 -1
- package/dist/entries/skeleton.d.ts +0 -1
- package/dist/entries/skeleton.js +0 -1
- package/dist/entries/slider.d.ts +0 -1
- package/dist/entries/slider.js +0 -1
- package/dist/entries/sonner.d.ts +0 -1
- package/dist/entries/sonner.js +0 -1
- package/dist/entries/spinner.d.ts +0 -1
- package/dist/entries/spinner.js +0 -1
- package/dist/entries/submit-feedback-composer.d.ts +0 -1
- package/dist/entries/submit-feedback-composer.js +0 -1
- package/dist/entries/switch.d.ts +0 -1
- package/dist/entries/switch.js +0 -1
- package/dist/entries/table.d.ts +0 -1
- package/dist/entries/table.js +0 -1
- package/dist/entries/tabs-variants.d.ts +0 -1
- package/dist/entries/tabs-variants.js +0 -1
- package/dist/entries/tabs.d.ts +0 -1
- package/dist/entries/tabs.js +0 -1
- package/dist/entries/textarea.d.ts +0 -1
- package/dist/entries/textarea.js +0 -1
- package/dist/entries/timestamp-format.d.ts +0 -1
- package/dist/entries/timestamp-format.js +0 -1
- package/dist/entries/toggle-group.d.ts +0 -1
- package/dist/entries/toggle-group.js +0 -1
- package/dist/entries/toggle-variants.d.ts +0 -1
- package/dist/entries/toggle-variants.js +0 -1
- package/dist/entries/toggle.d.ts +0 -1
- package/dist/entries/toggle.js +0 -1
- package/dist/entries/tooltip.d.ts +0 -1
- package/dist/entries/tooltip.js +0 -1
- package/dist/entries/use-color-theme.d.ts +0 -1
- package/dist/entries/use-color-theme.js +0 -1
- package/dist/entries/use-feedback-composer-state.d.ts +0 -1
- package/dist/entries/use-feedback-composer-state.js +0 -1
- package/dist/entries/use-mobile.d.ts +0 -1
- package/dist/entries/use-mobile.js +0 -1
- package/dist/entries/utils.d.ts +0 -1
- package/dist/entries/utils.js +0 -1
- package/dist/entries/walkthrough.d.ts +0 -1
- package/dist/entries/walkthrough.js +0 -1
- package/dist/entries/workflow-timeline.d.ts +0 -1
- package/dist/entries/workflow-timeline.js +0 -1
- package/dist/hooks/use-mobile.d.ts +0 -1
- package/dist/hooks/use-mobile.js +0 -17
- package/dist/lib/browser-storage.d.ts +0 -12
- package/dist/lib/browser-storage.js +0 -42
- package/dist/lib/palette-presets.d.ts +0 -17
- package/dist/lib/palette-presets.js +0 -42
- package/dist/lib/palette-tokens.d.ts +0 -39
- package/dist/lib/palette-tokens.js +0 -133
- package/dist/lib/palette.d.ts +0 -83
- package/dist/lib/palette.js +0 -151
- package/dist/lib/utils.d.ts +0 -5
- package/dist/lib/utils.js +0 -8
- package/dist/style-imports.d.ts +0 -3
- /package/dist/{components/blocks/feedback-composer-types.js → feedback/comment-types.js} +0 -0
- /package/dist/{components/blocks/kanban-types.js → feedback/feedback-composer-types.js} +0 -0
- /package/dist/{components/walkthrough/runtime/walkthroughTypes.js → feedback/feedback-tracking-types.js} +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CartesianGrid, Line, LineChart, ResponsiveContainer, Tooltip, XAxis, YAxis, } from "recharts";
|
|
3
|
+
import { css, cx } from "#primitives/css";
|
|
4
|
+
import { useCiridaeLocale } from "./locale.js";
|
|
5
|
+
const seriesColorCount = 5;
|
|
6
|
+
// Recharts axes default to 500; keep series above them and below the hover cursor at 1100.
|
|
7
|
+
const seriesLineZIndex = 600;
|
|
8
|
+
// Series colors are custom properties so recharts' SVG attributes can use theme tokens.
|
|
9
|
+
const frame = css({
|
|
10
|
+
display: "grid",
|
|
11
|
+
gap: "layout.controlGap",
|
|
12
|
+
minWidth: "0",
|
|
13
|
+
"--series-0": "token(colors.accent.blue)",
|
|
14
|
+
"--series-1": "token(colors.accent.green)",
|
|
15
|
+
"--series-2": "token(colors.accent.yellow)",
|
|
16
|
+
"--series-3": "token(colors.accent.bronze)",
|
|
17
|
+
"--series-4": "token(colors.accent.red)",
|
|
18
|
+
"--chart-grid": "token(colors.border.subtle)",
|
|
19
|
+
"--chart-muted": "token(colors.fg.muted)",
|
|
20
|
+
"& .recharts-cartesian-axis-tick-value": {
|
|
21
|
+
fill: "fg.muted",
|
|
22
|
+
fontFamily: "numeric",
|
|
23
|
+
fontSize: "caption",
|
|
24
|
+
},
|
|
25
|
+
"& .recharts-surface": { overflow: "visible" },
|
|
26
|
+
});
|
|
27
|
+
const tooltip = css({
|
|
28
|
+
display: "grid",
|
|
29
|
+
gap: "control.trackInset",
|
|
30
|
+
padding: "panel.compact",
|
|
31
|
+
border: "1px solid token(colors.border.control)",
|
|
32
|
+
borderRadius: "action",
|
|
33
|
+
background: "bg.card",
|
|
34
|
+
boxShadow: "card",
|
|
35
|
+
fontSize: "caption",
|
|
36
|
+
});
|
|
37
|
+
const tooltipRow = css({
|
|
38
|
+
display: "flex",
|
|
39
|
+
alignItems: "center",
|
|
40
|
+
gap: "control.iconGap",
|
|
41
|
+
whiteSpace: "nowrap",
|
|
42
|
+
"& > [data-value]": {
|
|
43
|
+
marginInlineStart: "auto",
|
|
44
|
+
paddingInlineStart: "layout.contentGap",
|
|
45
|
+
fontFamily: "numeric",
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
const legend = css({
|
|
49
|
+
display: "flex",
|
|
50
|
+
flexWrap: "wrap",
|
|
51
|
+
gap: "layout.controlGap",
|
|
52
|
+
color: "fg.muted",
|
|
53
|
+
fontSize: "caption",
|
|
54
|
+
});
|
|
55
|
+
const legendItem = css({
|
|
56
|
+
display: "inline-flex",
|
|
57
|
+
alignItems: "center",
|
|
58
|
+
gap: "control.iconGap",
|
|
59
|
+
minWidth: "0",
|
|
60
|
+
maxWidth: "100%",
|
|
61
|
+
"& > span:last-child": {
|
|
62
|
+
overflow: "hidden",
|
|
63
|
+
textOverflow: "ellipsis",
|
|
64
|
+
whiteSpace: "nowrap",
|
|
65
|
+
lineHeight: "compact",
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
const swatch = css({
|
|
69
|
+
width: "indicator.swatch",
|
|
70
|
+
height: "indicator.swatch",
|
|
71
|
+
flexShrink: "0",
|
|
72
|
+
borderRadius: "round",
|
|
73
|
+
});
|
|
74
|
+
const seriesColor = (index) => `var(--series-${index % seriesColorCount})`;
|
|
75
|
+
// Positional keys: a label such as a pod name may hold dots, which recharts reads as a path.
|
|
76
|
+
const seriesKey = (index) => `series${index}`;
|
|
77
|
+
/**
|
|
78
|
+
* Lines over a fixed time window. Samples from different series are joined on their timestamp, so
|
|
79
|
+
* a series missing a sample leaves a gap rather than a line drawn through it.
|
|
80
|
+
*/
|
|
81
|
+
export function TimeSeriesChart({ series, start, end, formatValue, formatTimestamp, height = 220, allowDecimals = true, className, ...props }) {
|
|
82
|
+
const rows = chartRows(series);
|
|
83
|
+
const { formatDateTime, formatTime } = useCiridaeLocale();
|
|
84
|
+
const spansDays = end - start > 24 * 60 * 60;
|
|
85
|
+
const formatTick = (unixSeconds) => spansDays
|
|
86
|
+
? formatDateTime(unixSeconds * 1000, {
|
|
87
|
+
month: "short",
|
|
88
|
+
day: "numeric",
|
|
89
|
+
hour: "2-digit",
|
|
90
|
+
minute: "2-digit",
|
|
91
|
+
})
|
|
92
|
+
: formatTime(unixSeconds * 1000, { hour: "2-digit", minute: "2-digit" });
|
|
93
|
+
return (_jsxs("div", { ...props, className: cx(frame, className), "data-ciridae-ui": "", children: [_jsx(ResponsiveContainer, { width: "100%", height: height, children: _jsxs(LineChart, { data: rows, margin: { top: 4, right: 4, bottom: 0, left: 0 }, children: [_jsx(CartesianGrid, { stroke: "var(--chart-grid)", vertical: false }), _jsx(XAxis, { dataKey: "time", type: "number", domain: [start, end], scale: "time", tickFormatter: formatTimestamp ?? formatTick, stroke: "var(--chart-grid)", tickLine: false, minTickGap: 48 }), _jsx(YAxis, { allowDecimals: allowDecimals, tickFormatter: formatValue, stroke: "var(--chart-grid)", tickLine: false, axisLine: false, width: "auto" }), _jsx(Tooltip, { cursor: { stroke: "var(--chart-muted)", strokeDasharray: "3 3" }, isAnimationActive: false, content: ({ active, label, payload }) => active && payload && payload.length > 0 ? (_jsxs("div", { className: tooltip, children: [_jsx("span", { children: formatTimestamp
|
|
94
|
+
? formatTimestamp(Number(label))
|
|
95
|
+
: formatDateTime(Number(label) * 1000, {
|
|
96
|
+
month: "short",
|
|
97
|
+
day: "numeric",
|
|
98
|
+
hour: "2-digit",
|
|
99
|
+
minute: "2-digit",
|
|
100
|
+
second: "2-digit",
|
|
101
|
+
}) }), payload.map((item) => {
|
|
102
|
+
const index = Number(String(item.dataKey).replace("series", ""));
|
|
103
|
+
return (_jsxs("span", { className: tooltipRow, children: [_jsx("span", { className: swatch, style: { background: seriesColor(index) } }), _jsx("span", { children: series[index]?.label }), _jsx("span", { "data-value": "", children: formatValue(Number(item.value)) })] }, String(item.dataKey)));
|
|
104
|
+
})] })) : null }), series.map((item, index) => (_jsx(Line, { dataKey: seriesKey(index), name: item.label, stroke: seriesColor(index), strokeWidth: 1.5, zIndex: seriesLineZIndex, dot: false, isAnimationActive: false }, item.label)))] }) }), series.length > 1 && (_jsx("div", { className: legend, children: series.map((item, index) => (_jsxs("span", { className: legendItem, title: item.label, children: [_jsx("span", { className: swatch, style: { background: seriesColor(index) } }), _jsx("span", { children: item.label })] }, item.label))) }))] }));
|
|
105
|
+
}
|
|
106
|
+
function chartRows(series) {
|
|
107
|
+
const rowsByTime = new Map();
|
|
108
|
+
series.forEach((item, index) => {
|
|
109
|
+
for (const [time, value] of item.points) {
|
|
110
|
+
const row = rowsByTime.get(time) ?? { time };
|
|
111
|
+
row[seriesKey(index)] = value;
|
|
112
|
+
rowsByTime.set(time, row);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return [...rowsByTime.values()].sort((left, right) => left.time - right.time);
|
|
116
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type ComponentProps, type ReactNode } from "react";
|
|
2
|
+
import type { ChatClient } from "../chat/chat-client.js";
|
|
3
|
+
import type { ConversationId } from "../chat/contract.js";
|
|
4
|
+
export { AgentTaskCard, AgentWork, AgentWorkButton, agentTaskAnchorId, jumpToAgentTask, type AgentTask, type AgentTaskAsk, type AgentTaskCardProps, type AgentTaskReply, type AgentWorkButtonProps, type AgentWorkProps, } from "./agent-work.js";
|
|
5
|
+
export type ChatPageProps = ComponentProps<"div"> & {
|
|
6
|
+
/** The open thread, such as a wide `ChatConversation`. */
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* The column on the right: the agent's work (`AgentWork`), or what a conversation draws on,
|
|
10
|
+
* such as what the agent read.
|
|
11
|
+
*/
|
|
12
|
+
aside?: ReactNode;
|
|
13
|
+
} & ({
|
|
14
|
+
variant?: "agent";
|
|
15
|
+
history?: never;
|
|
16
|
+
phoneView?: never;
|
|
17
|
+
} | {
|
|
18
|
+
variant: "conversations";
|
|
19
|
+
/** The conversation list, such as `ChatHistory`. */
|
|
20
|
+
history: ReactNode;
|
|
21
|
+
/** Which one column shows under 700px. */
|
|
22
|
+
phoneView?: "history" | "conversation";
|
|
23
|
+
});
|
|
24
|
+
export declare function ChatPage({ variant, history, children, aside, phoneView, className, ...props }: ChatPageProps): import("@types/react").JSX.Element;
|
|
25
|
+
export type ChatHistoryProps = {
|
|
26
|
+
/** Needs a `QueryClientProvider` above it. */
|
|
27
|
+
client: ChatClient;
|
|
28
|
+
selectedId: ConversationId | null;
|
|
29
|
+
onSelect: (conversationId: ConversationId) => void;
|
|
30
|
+
onNew: () => void;
|
|
31
|
+
className?: string;
|
|
32
|
+
};
|
|
33
|
+
/** The caller's conversations, newest first under day labels, with search and New chat. */
|
|
34
|
+
export declare function ChatHistory({ client, selectedId, onSelect, onNew, className }: ChatHistoryProps): import("@types/react").JSX.Element;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Chat as a full page. `variant="agent"`, the default, is the main agent's one long-running
|
|
4
|
+
* thread (a wide `ChatConversation`) with its work (`AgentWork`: what it is doing now and what
|
|
5
|
+
* waits on the user) in the `aside` on the right; under 700px the aside goes and the page's
|
|
6
|
+
* header carries `AgentWorkButton` instead. `variant="conversations"` lays out the
|
|
7
|
+
* conversation history, the open conversation and an optional context column; `ChatHistory`
|
|
8
|
+
* lists the caller's conversations from the chat client, searchable and grouped by day, with New
|
|
9
|
+
* chat. Under 700px one column shows at a time, the history or the conversation; the context
|
|
10
|
+
* column shows from 1000px up.
|
|
11
|
+
*/
|
|
12
|
+
import { PlusIcon } from "@phosphor-icons/react";
|
|
13
|
+
import { differenceInCalendarDays, isToday, isYesterday } from "date-fns";
|
|
14
|
+
import { useState } from "react";
|
|
15
|
+
import { css, cx } from "#primitives/css";
|
|
16
|
+
import { useConversationList } from "../chat/use-conversation-list.js";
|
|
17
|
+
import { IconButton } from "./button.js";
|
|
18
|
+
import { icon, Spinner } from "./icon.js";
|
|
19
|
+
import { SearchField } from "./input.js";
|
|
20
|
+
import { useCiridaeLocale } from "./locale.js";
|
|
21
|
+
import { Skeleton } from "./skeleton.js";
|
|
22
|
+
export { AgentTaskCard, AgentWork, AgentWorkButton, agentTaskAnchorId, jumpToAgentTask, } from "./agent-work.js";
|
|
23
|
+
const page = css({
|
|
24
|
+
display: "grid",
|
|
25
|
+
gridTemplateColumns: "token(sizes.shell.sidebar) minmax(0, 1fr)",
|
|
26
|
+
flex: "1",
|
|
27
|
+
minHeight: "0",
|
|
28
|
+
"&[data-has-aside]": {
|
|
29
|
+
gridTemplateColumns: "token(sizes.shell.sidebar) minmax(0, 1fr) token(sizes.shell.sidebar)",
|
|
30
|
+
},
|
|
31
|
+
// The agent's thread, and its work on the right.
|
|
32
|
+
"&[data-variant=agent], &[data-variant=agent][data-has-aside]": {
|
|
33
|
+
gridTemplateColumns: "minmax(0, 1fr)",
|
|
34
|
+
},
|
|
35
|
+
"&[data-variant=agent][data-has-aside]": {
|
|
36
|
+
gridTemplateColumns: "minmax(0, 1fr) token(sizes.shell.sidebar)",
|
|
37
|
+
},
|
|
38
|
+
_rail: {
|
|
39
|
+
"&[data-variant=conversations][data-has-aside]": {
|
|
40
|
+
gridTemplateColumns: "token(sizes.shell.sidebar) minmax(0, 1fr)",
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
_phone: {
|
|
44
|
+
gridTemplateColumns: "minmax(0, 1fr)",
|
|
45
|
+
"&[data-has-aside], &[data-variant=agent][data-has-aside]": {
|
|
46
|
+
gridTemplateColumns: "minmax(0, 1fr)",
|
|
47
|
+
},
|
|
48
|
+
"&[data-phone-view=history] > [data-chat-page=conversation]": { display: "none" },
|
|
49
|
+
"&[data-phone-view=conversation] > [data-chat-page=history]": { display: "none" },
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
const column = css({ display: "flex", flexDirection: "column", minWidth: "0", minHeight: "0" });
|
|
53
|
+
const historyColumn = css({
|
|
54
|
+
borderInlineEnd: "1px solid token(colors.border.panel)",
|
|
55
|
+
_phone: { borderInlineEnd: "0" },
|
|
56
|
+
});
|
|
57
|
+
const asideColumn = css({
|
|
58
|
+
overflowY: "auto",
|
|
59
|
+
borderInlineStart: "1px solid token(colors.border.panel)",
|
|
60
|
+
"[data-variant=conversations] > &": { _rail: { display: "none" } },
|
|
61
|
+
_phone: { display: "none" },
|
|
62
|
+
});
|
|
63
|
+
export function ChatPage({ variant = "agent", history, children, aside, phoneView = "conversation", className, ...props }) {
|
|
64
|
+
const conversations = variant === "conversations";
|
|
65
|
+
return (_jsxs("div", { ...props, className: cx(page, className), "data-ciridae-ui": "", "data-variant": variant, "data-has-aside": aside ? "" : undefined, "data-phone-view": conversations ? phoneView : undefined, children: [conversations && (_jsx("div", { className: cx(column, historyColumn), "data-chat-page": "history", children: history })), _jsx("div", { className: column, "data-chat-page": "conversation", children: children }), aside && _jsx("aside", { className: cx(column, asideColumn), children: aside })] }));
|
|
66
|
+
}
|
|
67
|
+
const historyHeader = css({
|
|
68
|
+
display: "flex",
|
|
69
|
+
alignItems: "center",
|
|
70
|
+
gap: "layout.controlGap",
|
|
71
|
+
flexShrink: "0",
|
|
72
|
+
paddingBlock: "layout.controlGap",
|
|
73
|
+
paddingInline: "panel.default",
|
|
74
|
+
});
|
|
75
|
+
const historyList = css({
|
|
76
|
+
flex: "1",
|
|
77
|
+
minHeight: "0",
|
|
78
|
+
overflowY: "auto",
|
|
79
|
+
paddingInline: "menu.inset",
|
|
80
|
+
paddingBlockEnd: "panel.default",
|
|
81
|
+
});
|
|
82
|
+
const groupLabel = css({
|
|
83
|
+
paddingBlockStart: "layout.controlGap",
|
|
84
|
+
paddingBlockEnd: "layout.tightGap",
|
|
85
|
+
paddingInline: "menu.itemInline",
|
|
86
|
+
color: "fg.muted",
|
|
87
|
+
fontSize: "code",
|
|
88
|
+
lineHeight: "compact",
|
|
89
|
+
});
|
|
90
|
+
const historyRow = css({
|
|
91
|
+
display: "flex",
|
|
92
|
+
alignItems: "center",
|
|
93
|
+
gap: "layout.controlGap",
|
|
94
|
+
width: "100%",
|
|
95
|
+
height: "menu.item",
|
|
96
|
+
paddingInline: "menu.itemInline",
|
|
97
|
+
border: "0",
|
|
98
|
+
borderRadius: "action",
|
|
99
|
+
background: "transparent",
|
|
100
|
+
color: "fg.primary",
|
|
101
|
+
font: "inherit",
|
|
102
|
+
fontSize: "caption",
|
|
103
|
+
lineHeight: "compact",
|
|
104
|
+
textAlign: "start",
|
|
105
|
+
cursor: "pointer",
|
|
106
|
+
_hover: { background: "bg.hover" },
|
|
107
|
+
_focusVisible: { focusRing: "inset" },
|
|
108
|
+
"&[aria-current=page]": { background: "bg.selected" },
|
|
109
|
+
"& > [data-title]": {
|
|
110
|
+
flex: "1",
|
|
111
|
+
minWidth: "0",
|
|
112
|
+
overflow: "hidden",
|
|
113
|
+
textOverflow: "ellipsis",
|
|
114
|
+
whiteSpace: "nowrap",
|
|
115
|
+
},
|
|
116
|
+
"& > time": { flexShrink: "0", color: "fg.muted", fontSize: "code" },
|
|
117
|
+
});
|
|
118
|
+
const emptyLine = css({
|
|
119
|
+
paddingBlock: "layout.controlGap",
|
|
120
|
+
paddingInline: "menu.itemInline",
|
|
121
|
+
color: "fg.muted",
|
|
122
|
+
fontSize: "caption",
|
|
123
|
+
});
|
|
124
|
+
const skeletonRow = css({ height: "menu.item", display: "flex", alignItems: "center" });
|
|
125
|
+
/** The caller's conversations, newest first under day labels, with search and New chat. */
|
|
126
|
+
export function ChatHistory({ client, selectedId, onSelect, onNew, className }) {
|
|
127
|
+
const [query, setQuery] = useState("");
|
|
128
|
+
const locale = useCiridaeLocale();
|
|
129
|
+
const { labels } = locale;
|
|
130
|
+
const list = useConversationList(client);
|
|
131
|
+
const conversations = list.data?.pages.flatMap((listPage) => listPage.data) ?? [];
|
|
132
|
+
const needle = query.trim().toLowerCase();
|
|
133
|
+
const matching = needle
|
|
134
|
+
? conversations.filter((conversation) => [conversation.title, conversation.preview].some((text) => text?.toLowerCase().includes(needle)))
|
|
135
|
+
: conversations;
|
|
136
|
+
const groups = groupByDay(matching, locale);
|
|
137
|
+
return (_jsxs("nav", { className: cx(column, css({ flex: "1" }), className), "aria-label": labels.chat.conversations, children: [_jsxs("div", { className: historyHeader, children: [_jsx(SearchField, { size: "compact", placeholder: labels.common.search, "aria-label": labels.chat.searchConversations, value: query, onChange: (event) => setQuery(event.target.value), onClear: query ? () => setQuery("") : undefined, wrapperClassName: css({ flex: "1" }) }), _jsx(IconButton, { "aria-label": labels.chat.newChat, size: "small", onClick: onNew, children: _jsx(PlusIcon, { className: icon({ size: "small" }) }) })] }), _jsxs("div", { className: historyList, children: [list.isPending &&
|
|
138
|
+
Array.from({ length: 6 }, (_, index) => (_jsx("div", { className: skeletonRow, children: _jsx(Skeleton, { shape: "text", style: { width: `${72 - (index % 3) * 12}%` } }) }, index))), !list.isPending && matching.length === 0 && (_jsx("div", { className: emptyLine, children: labels.common.noResults })), groups.map((group) => (_jsxs("section", { children: [_jsx("div", { className: groupLabel, children: group.label }), group.conversations.map((conversation) => {
|
|
139
|
+
const status = conversation.latest_response?.status;
|
|
140
|
+
return (_jsxs("button", { type: "button", className: historyRow, "aria-current": conversation.id === selectedId ? "page" : undefined, onClick: () => onSelect(conversation.id), children: [_jsx("span", { "data-title": "", children: conversation.title ?? conversation.preview ?? labels.chat.newChat }), status === "queued" || status === "in_progress" ? (_jsx(Spinner, { size: "compact", label: labels.chat.running })) : (_jsx("time", { dateTime: conversation.updated_at, children: formatUpdatedAt(Date.parse(conversation.updated_at), locale) }))] }, conversation.id));
|
|
141
|
+
})] }, group.label)))] })] }));
|
|
142
|
+
}
|
|
143
|
+
/** Conversations under Today, Yesterday, Previous 7 days and Earlier, newest first. */
|
|
144
|
+
function groupByDay(conversations, { labels }) {
|
|
145
|
+
const now = Date.now();
|
|
146
|
+
const labelOf = (at) => isToday(at)
|
|
147
|
+
? labels.dates.today
|
|
148
|
+
: isYesterday(at)
|
|
149
|
+
? labels.dates.yesterday
|
|
150
|
+
: differenceInCalendarDays(now, at) < 7
|
|
151
|
+
? labels.chat.previousWeek
|
|
152
|
+
: labels.dates.earlier;
|
|
153
|
+
const groups = [];
|
|
154
|
+
for (const conversation of conversations) {
|
|
155
|
+
const label = labelOf(Date.parse(conversation.updated_at));
|
|
156
|
+
const group = groups.find((candidate) => candidate.label === label);
|
|
157
|
+
if (group)
|
|
158
|
+
group.conversations.push(conversation);
|
|
159
|
+
else
|
|
160
|
+
groups.push({ label, conversations: [conversation] });
|
|
161
|
+
}
|
|
162
|
+
return groups;
|
|
163
|
+
}
|
|
164
|
+
/** The time today, the weekday this week, the date before that. */
|
|
165
|
+
function formatUpdatedAt(at, { formatDate, formatTime }) {
|
|
166
|
+
if (isToday(at))
|
|
167
|
+
return formatTime(at);
|
|
168
|
+
if (differenceInCalendarDays(Date.now(), at) < 7)
|
|
169
|
+
return formatDate(at, { weekday: "short" });
|
|
170
|
+
return formatDate(at, { month: "short", day: "numeric" });
|
|
171
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type HotkeyChord } from "./hotkeys.js";
|
|
2
|
+
import type { ChatSheetPlacement } from "./chat-sheet.js";
|
|
3
|
+
import type { ConversationId } from "../chat/contract.js";
|
|
4
|
+
export type UseChatSheetControllerOptions = {
|
|
5
|
+
/** The hotkey that opens, focuses and closes the sheet; Cmd/Ctrl+J by default. */
|
|
6
|
+
hotkey?: HotkeyChord;
|
|
7
|
+
/** Where the sheet sits until the reader moves it; "docked" by default. */
|
|
8
|
+
defaultPlacement?: ChatSheetPlacement;
|
|
9
|
+
/** Where docking fits; below it the sheet is a drawer. "(min-width: 1280px)" by default. */
|
|
10
|
+
dockedQuery?: string;
|
|
11
|
+
/** Keeps the reader's placement in `localStorage` under this key. */
|
|
12
|
+
persistKey?: string;
|
|
13
|
+
/** Shows the sheet's full-page button: the app opens its chat page on this conversation. */
|
|
14
|
+
onOpenFullPage?: (conversationId: ConversationId | null) => void;
|
|
15
|
+
};
|
|
16
|
+
export declare function useChatSheetController({ hotkey, defaultPlacement, dockedQuery, persistKey, onOpenFullPage, }?: UseChatSheetControllerOptions): {
|
|
17
|
+
open: boolean;
|
|
18
|
+
setOpen: import("@types/react").Dispatch<import("@types/react").SetStateAction<boolean>>;
|
|
19
|
+
toggle: () => void;
|
|
20
|
+
draft: string;
|
|
21
|
+
setDraft: import("@types/react").Dispatch<import("@types/react").SetStateAction<string>>;
|
|
22
|
+
conversationId: (string & import("zod/index.cjs").$brand<"ConversationId">) | null;
|
|
23
|
+
setConversationId: import("@types/react").Dispatch<import("@types/react").SetStateAction<(string & import("zod/index.cjs").$brand<"ConversationId">) | null>>;
|
|
24
|
+
composerRef: import("@types/react").RefObject<HTMLDivElement | null>;
|
|
25
|
+
focusComposer: (caret?: number) => void;
|
|
26
|
+
prefill: (text: string) => void;
|
|
27
|
+
placement: ChatSheetPlacement;
|
|
28
|
+
openFullPage: (() => void) | undefined;
|
|
29
|
+
openInSheet: () => void;
|
|
30
|
+
sheetProps: {
|
|
31
|
+
open: boolean;
|
|
32
|
+
onOpenChange: import("@types/react").Dispatch<import("@types/react").SetStateAction<boolean>>;
|
|
33
|
+
placement: ChatSheetPlacement;
|
|
34
|
+
onPlacementChange: ((next: ChatSheetPlacement) => void) | undefined;
|
|
35
|
+
onOpenFullPage: (() => void) | undefined;
|
|
36
|
+
draft: string;
|
|
37
|
+
onDraftChange: import("@types/react").Dispatch<import("@types/react").SetStateAction<string>>;
|
|
38
|
+
composerRef: import("@types/react").RefObject<HTMLDivElement | null>;
|
|
39
|
+
conversationId: (string & import("zod/index.cjs").$brand<"ConversationId">) | null;
|
|
40
|
+
onConversationCreated: (conversation: {
|
|
41
|
+
id: ConversationId;
|
|
42
|
+
}) => void;
|
|
43
|
+
};
|
|
44
|
+
pageProps: {
|
|
45
|
+
draft: string;
|
|
46
|
+
onDraftChange: import("@types/react").Dispatch<import("@types/react").SetStateAction<string>>;
|
|
47
|
+
composerRef: import("@types/react").RefObject<HTMLDivElement | null>;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export type ChatSheetController = ReturnType<typeof useChatSheetController>;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Everything around a `ChatSheet` except the chat itself: whether it is open, the composer's
|
|
3
|
+
* text, the open conversation, where the sheet sits, its hotkey, and the hand-off between the
|
|
4
|
+
* sheet and a full chat page. `hotkey` (Cmd/Ctrl+J) opens the sheet on its composer, focuses the
|
|
5
|
+
* composer when it is open elsewhere, and closes it from the composer. The sheet docks only where
|
|
6
|
+
* `dockedQuery` matches and is a drawer below it. The app spreads `sheetProps` onto `ChatSheet`
|
|
7
|
+
* (with its client, title and suggestions) and `pageProps` onto a full page's `ChatConversation`.
|
|
8
|
+
*/
|
|
9
|
+
import { useCallback, useRef, useState, useSyncExternalStore } from "react";
|
|
10
|
+
import { useHotkey } from "./hotkeys.js";
|
|
11
|
+
import { useCiridaeLocale } from "./locale.js";
|
|
12
|
+
const DEFAULT_DOCKED_QUERY = "(min-width: 1280px)";
|
|
13
|
+
function readPlacement(persistKey) {
|
|
14
|
+
if (!persistKey)
|
|
15
|
+
return null;
|
|
16
|
+
try {
|
|
17
|
+
const stored = globalThis.localStorage?.getItem(persistKey);
|
|
18
|
+
return stored === "docked" || stored === "drawer" ? stored : null;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function writePlacement(persistKey, placement) {
|
|
25
|
+
if (!persistKey)
|
|
26
|
+
return;
|
|
27
|
+
try {
|
|
28
|
+
globalThis.localStorage?.setItem(persistKey, placement);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// The reader loses the placement across reloads, not the move.
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** Focuses the composer, with the caret at `caret` in a text field or at the end of rich text. */
|
|
35
|
+
function focusAt(composer, caret) {
|
|
36
|
+
composer.focus();
|
|
37
|
+
if (caret === undefined)
|
|
38
|
+
return;
|
|
39
|
+
if (composer instanceof HTMLTextAreaElement)
|
|
40
|
+
composer.setSelectionRange(caret, caret);
|
|
41
|
+
else {
|
|
42
|
+
const selection = globalThis.getSelection?.();
|
|
43
|
+
selection?.selectAllChildren(composer);
|
|
44
|
+
selection?.collapseToEnd();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function useMediaQuery(query) {
|
|
48
|
+
const subscribe = useCallback((onChange) => {
|
|
49
|
+
const list = globalThis.matchMedia?.(query);
|
|
50
|
+
list?.addEventListener("change", onChange);
|
|
51
|
+
return () => list?.removeEventListener("change", onChange);
|
|
52
|
+
}, [query]);
|
|
53
|
+
return useSyncExternalStore(subscribe, () => globalThis.matchMedia?.(query).matches ?? true, () => true);
|
|
54
|
+
}
|
|
55
|
+
export function useChatSheetController({ hotkey = "Mod+J", defaultPlacement = "docked", dockedQuery = DEFAULT_DOCKED_QUERY, persistKey, onOpenFullPage, } = {}) {
|
|
56
|
+
const [open, setOpen] = useState(false);
|
|
57
|
+
const [draft, setDraft] = useState("");
|
|
58
|
+
const [conversationId, setConversationId] = useState(null);
|
|
59
|
+
const [preferredPlacement, setPreferredPlacement] = useState(() => readPlacement(persistKey) ?? defaultPlacement);
|
|
60
|
+
const composerRef = useRef(null);
|
|
61
|
+
const dockable = useMediaQuery(dockedQuery);
|
|
62
|
+
const placement = dockable ? preferredPlacement : "drawer";
|
|
63
|
+
const focusComposer = useCallback((caret) => {
|
|
64
|
+
// After the sheet has drawn its composer.
|
|
65
|
+
requestAnimationFrame(() => {
|
|
66
|
+
const composer = composerRef.current;
|
|
67
|
+
if (composer)
|
|
68
|
+
focusAt(composer, caret);
|
|
69
|
+
});
|
|
70
|
+
}, []);
|
|
71
|
+
const { labels } = useCiridaeLocale();
|
|
72
|
+
useHotkey(hotkey, () => {
|
|
73
|
+
const composer = composerRef.current;
|
|
74
|
+
if (!open) {
|
|
75
|
+
setOpen(true);
|
|
76
|
+
focusComposer();
|
|
77
|
+
}
|
|
78
|
+
else if (composer && document.activeElement !== composer)
|
|
79
|
+
composer.focus();
|
|
80
|
+
else
|
|
81
|
+
setOpen(false);
|
|
82
|
+
}, { meta: { name: labels.keyboard.openChat } });
|
|
83
|
+
const toggle = useCallback(() => setOpen((current) => !current), []);
|
|
84
|
+
/** Opens the sheet with `text` in its composer, ready to send or edit. */
|
|
85
|
+
const prefill = useCallback((text) => {
|
|
86
|
+
setDraft(text);
|
|
87
|
+
setOpen(true);
|
|
88
|
+
focusComposer();
|
|
89
|
+
}, [focusComposer]);
|
|
90
|
+
const changePlacement = useCallback((next) => {
|
|
91
|
+
setPreferredPlacement(next);
|
|
92
|
+
writePlacement(persistKey, next);
|
|
93
|
+
}, [persistKey]);
|
|
94
|
+
const openFullPage = onOpenFullPage
|
|
95
|
+
? () => {
|
|
96
|
+
setOpen(false);
|
|
97
|
+
onOpenFullPage(conversationId);
|
|
98
|
+
}
|
|
99
|
+
: undefined;
|
|
100
|
+
/** Back from the full page: the sheet opens on the same conversation and draft. */
|
|
101
|
+
const openInSheet = useCallback(() => {
|
|
102
|
+
setOpen(true);
|
|
103
|
+
focusComposer();
|
|
104
|
+
}, [focusComposer]);
|
|
105
|
+
return {
|
|
106
|
+
open,
|
|
107
|
+
setOpen,
|
|
108
|
+
toggle,
|
|
109
|
+
draft,
|
|
110
|
+
setDraft,
|
|
111
|
+
conversationId,
|
|
112
|
+
setConversationId,
|
|
113
|
+
composerRef,
|
|
114
|
+
focusComposer,
|
|
115
|
+
prefill,
|
|
116
|
+
placement,
|
|
117
|
+
openFullPage,
|
|
118
|
+
openInSheet,
|
|
119
|
+
sheetProps: {
|
|
120
|
+
open,
|
|
121
|
+
onOpenChange: setOpen,
|
|
122
|
+
placement,
|
|
123
|
+
onPlacementChange: dockable ? changePlacement : undefined,
|
|
124
|
+
onOpenFullPage: openFullPage,
|
|
125
|
+
draft,
|
|
126
|
+
onDraftChange: setDraft,
|
|
127
|
+
composerRef,
|
|
128
|
+
conversationId,
|
|
129
|
+
onConversationCreated: (conversation) => setConversationId(conversation.id),
|
|
130
|
+
},
|
|
131
|
+
pageProps: { draft, onDraftChange: setDraft, composerRef },
|
|
132
|
+
};
|
|
133
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type ReactNode, type Ref } from "react";
|
|
2
|
+
import { type AgentTask, type AgentTaskReply } from "./agent-work.js";
|
|
3
|
+
import { DrawerBody } from "./drawer.js";
|
|
4
|
+
import type { MentionMark, MentionTrigger } from "./mention-input.js";
|
|
5
|
+
import type { ChatClient } from "../chat/chat-client.js";
|
|
6
|
+
import type { Conversation, ConversationId, Mention } from "../chat/contract.js";
|
|
7
|
+
export type ChatSheetPlacement = "docked" | "drawer";
|
|
8
|
+
/** A record the agent reads for this conversation, named in the row under the header. */
|
|
9
|
+
export type ChatSheetContext = {
|
|
10
|
+
label: string;
|
|
11
|
+
icon?: ReactNode;
|
|
12
|
+
};
|
|
13
|
+
/** Something the page did during the conversation, shown as a centered line at its time. */
|
|
14
|
+
export type ChatSheetEvent = {
|
|
15
|
+
id: string;
|
|
16
|
+
at: string;
|
|
17
|
+
text: string;
|
|
18
|
+
};
|
|
19
|
+
/** The thread and composer's own props, shared by the sheet and `ChatConversation`. */
|
|
20
|
+
export type ChatConversationProps = {
|
|
21
|
+
/**
|
|
22
|
+
* `agent`, the default, is the main agent's one long-running thread, with its `tasks` as cards
|
|
23
|
+
* under day labels; `conversations` is one conversation of many, such as beside `ChatHistory`.
|
|
24
|
+
*/
|
|
25
|
+
variant?: "agent" | "conversations";
|
|
26
|
+
/** What the main agent runs on its own, oldest first; `agent` only. */
|
|
27
|
+
tasks?: readonly AgentTask[];
|
|
28
|
+
/** The user's approval or answer on a waiting task's card. */
|
|
29
|
+
onTaskReply?: (task: AgentTask, reply: AgentTaskReply) => void;
|
|
30
|
+
/** Needs a `QueryClientProvider` above it. */
|
|
31
|
+
client: ChatClient;
|
|
32
|
+
/** Null before the first message; the conversation is created with it and reported. */
|
|
33
|
+
conversationId: ConversationId | null;
|
|
34
|
+
onConversationCreated: (conversation: Conversation) => void;
|
|
35
|
+
placeholder: string;
|
|
36
|
+
/** The composer's text, when the host owns it, such as to start a question for the user. */
|
|
37
|
+
draft?: string;
|
|
38
|
+
onDraftChange?: (draft: string) => void;
|
|
39
|
+
/** The composer's field, so the host can focus it, such as from its shortcut. */
|
|
40
|
+
composerRef?: Ref<HTMLDivElement>;
|
|
41
|
+
/** Characters such as `@` that pick a record into the message as a chip. */
|
|
42
|
+
mentions?: readonly MentionTrigger[];
|
|
43
|
+
/** What a mention's chip and picker row lead with, such as a record's icon. */
|
|
44
|
+
mentionMark?: MentionMark;
|
|
45
|
+
/** What a mention in a reply does on the page, such as showing the field it names. */
|
|
46
|
+
onMentionSelect?: (mention: Mention) => void;
|
|
47
|
+
/** Makes a mention a link, such as to its record's page; undefined leaves it to `onMentionSelect`. */
|
|
48
|
+
mentionHref?: (mention: Mention) => string | undefined;
|
|
49
|
+
/** Lines the page adds between the messages, such as that it is showing a field. */
|
|
50
|
+
events?: readonly ChatSheetEvent[];
|
|
51
|
+
/** Who answers, named on the assistant's avatar; the product's own name, or an agent persona's. */
|
|
52
|
+
assistantName?: string;
|
|
53
|
+
/** Prompts an empty conversation offers, such as questions about the page; picking one sends it. */
|
|
54
|
+
suggestions?: readonly string[];
|
|
55
|
+
/** A Copy control in the footer of each reply once its turn has finished, and not failed. */
|
|
56
|
+
copyReplies?: boolean;
|
|
57
|
+
};
|
|
58
|
+
export type ChatSheetProps = ChatConversationProps & {
|
|
59
|
+
open: boolean;
|
|
60
|
+
onOpenChange: (open: boolean) => void;
|
|
61
|
+
title: ReactNode;
|
|
62
|
+
/** What the agent reads, under the header; omitted when the sheet is not about a page. */
|
|
63
|
+
context?: readonly ChatSheetContext[];
|
|
64
|
+
/** `docked` sits beside the page inside `AppShell`; `drawer` floats over it. */
|
|
65
|
+
placement?: ChatSheetPlacement;
|
|
66
|
+
/** Shows the dock and undock button in the header. */
|
|
67
|
+
onPlacementChange?: (placement: ChatSheetPlacement) => void;
|
|
68
|
+
/** Shows a header button that moves the conversation to a full page. */
|
|
69
|
+
onOpenFullPage?: () => void;
|
|
70
|
+
};
|
|
71
|
+
export declare function ChatSheet({ open, onOpenChange, title, context, placement, onPlacementChange, onOpenFullPage, ...conversationProps }: ChatSheetProps): import("@types/react").JSX.Element | null;
|
|
72
|
+
/**
|
|
73
|
+
* The thread and the composer: everything that reads or writes the conversation. `layout="wide"`
|
|
74
|
+
* sets both in one readable column for a full page; the sheet uses `sheet`.
|
|
75
|
+
*/
|
|
76
|
+
export declare function ChatConversation({ client, conversationId, onConversationCreated, placeholder, draft, onDraftChange, composerRef, mentions, mentionMark, onMentionSelect, mentionHref, events, assistantName: ownAssistantName, suggestions, copyReplies, variant, tasks, onTaskReply, layout, scrollBody: ScrollBody, }: ChatConversationProps & {
|
|
77
|
+
layout?: "sheet" | "wide";
|
|
78
|
+
/** The drawer's body inside a `Drawer`, a plain element otherwise. */
|
|
79
|
+
scrollBody?: typeof DrawerBody | "div";
|
|
80
|
+
}): import("@types/react").JSX.Element;
|