@athenaintel/react 0.19.0 → 0.20.0
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 +97 -11
- package/dist/assets/AssetPanel.cjs +277 -0
- package/dist/assets/AssetPanel.cjs.map +1 -0
- package/dist/assets/AssetPanel.js +277 -0
- package/dist/assets/AssetPanel.js.map +1 -0
- package/dist/assets/AthenaAssetEmbed.cjs +151 -0
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -0
- package/dist/assets/AthenaAssetEmbed.js +151 -0
- package/dist/assets/AthenaAssetEmbed.js.map +1 -0
- package/dist/assets/AthenaLayout.cjs +69 -0
- package/dist/assets/AthenaLayout.cjs.map +1 -0
- package/dist/assets/AthenaLayout.js +69 -0
- package/dist/assets/AthenaLayout.js.map +1 -0
- package/dist/assets/asset-embed-messages.cjs +39 -0
- package/dist/assets/asset-embed-messages.cjs.map +1 -0
- package/dist/assets/asset-embed-messages.js +39 -0
- package/dist/assets/asset-embed-messages.js.map +1 -0
- package/dist/assets/asset-panel-store.cjs +124 -0
- package/dist/assets/asset-panel-store.cjs.map +1 -0
- package/dist/assets/asset-panel-store.js +124 -0
- package/dist/assets/asset-panel-store.js.map +1 -0
- package/dist/assets/asset-panel-url.cjs +40 -0
- package/dist/assets/asset-panel-url.cjs.map +1 -0
- package/dist/assets/asset-panel-url.js +40 -0
- package/dist/assets/asset-panel-url.js.map +1 -0
- package/dist/assets/use-asset-embed.cjs +362 -0
- package/dist/assets/use-asset-embed.cjs.map +1 -0
- package/dist/assets/use-asset-embed.js +362 -0
- package/dist/assets/use-asset-embed.js.map +1 -0
- package/dist/{AthenaAuthContext-B3AwLA5Z.cjs → auth/AthenaAuthContext.cjs} +5 -4
- package/dist/auth/AthenaAuthContext.cjs.map +1 -0
- package/dist/{AthenaAuthContext-DQsdayH2.js → auth/AthenaAuthContext.js} +3 -3
- package/dist/auth/AthenaAuthContext.js.map +1 -0
- package/dist/auth/AthenaAuthProvider.cjs +141 -0
- package/dist/auth/AthenaAuthProvider.cjs.map +1 -0
- package/dist/auth/AthenaAuthProvider.js +141 -0
- package/dist/auth/AthenaAuthProvider.js.map +1 -0
- package/dist/{auth.cjs → auth/AthenaSSOProvider.cjs} +14 -151
- package/dist/auth/AthenaSSOProvider.cjs.map +1 -0
- package/dist/{auth.js → auth/AthenaSSOProvider.js} +4 -142
- package/dist/auth/AthenaSSOProvider.js.map +1 -0
- package/dist/auth/index.cjs +10 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.js +10 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/chat/AthenaChat.cjs +753 -0
- package/dist/chat/AthenaChat.cjs.map +1 -0
- package/dist/chat/AthenaChat.d.ts +3 -2
- package/dist/chat/AthenaChat.js +753 -0
- package/dist/chat/AthenaChat.js.map +1 -0
- package/dist/chat/AthenaChatErrorBoundary.cjs +53 -0
- package/dist/chat/AthenaChatErrorBoundary.cjs.map +1 -0
- package/dist/chat/AthenaChatErrorBoundary.js +53 -0
- package/dist/chat/AthenaChatErrorBoundary.js.map +1 -0
- package/dist/chat/StatewireApprovalCard.cjs +171 -0
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -0
- package/dist/chat/StatewireApprovalCard.js +171 -0
- package/dist/chat/StatewireApprovalCard.js.map +1 -0
- package/dist/chat/StatewireClientToolBridge.cjs +50 -0
- package/dist/chat/StatewireClientToolBridge.cjs.map +1 -0
- package/dist/chat/StatewireClientToolBridge.js +50 -0
- package/dist/chat/StatewireClientToolBridge.js.map +1 -0
- package/dist/chat/StatewireQueuedMessages.cjs +432 -0
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -0
- package/dist/chat/StatewireQueuedMessages.d.ts +3 -4
- package/dist/chat/StatewireQueuedMessages.js +432 -0
- package/dist/chat/StatewireQueuedMessages.js.map +1 -0
- package/dist/chat/athena-citation-links.cjs +326 -0
- package/dist/chat/athena-citation-links.cjs.map +1 -0
- package/dist/chat/athena-citation-links.js +326 -0
- package/dist/chat/athena-citation-links.js.map +1 -0
- package/dist/chat/run-activity.cjs +28 -0
- package/dist/chat/run-activity.cjs.map +1 -0
- package/dist/chat/run-activity.js +28 -0
- package/dist/chat/run-activity.js.map +1 -0
- package/dist/chat/statewire-banners.cjs +83 -0
- package/dist/chat/statewire-banners.cjs.map +1 -0
- package/dist/chat/statewire-banners.js +83 -0
- package/dist/chat/statewire-banners.js.map +1 -0
- package/dist/chat/statewire-client-tools.cjs +73 -0
- package/dist/chat/statewire-client-tools.cjs.map +1 -0
- package/dist/chat/statewire-client-tools.js +73 -0
- package/dist/chat/statewire-client-tools.js.map +1 -0
- package/dist/chat/super-grouping/CollapsibleGroup.cjs +158 -0
- package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -0
- package/dist/chat/super-grouping/CollapsibleGroup.js +158 -0
- package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingCard.cjs +361 -0
- package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingCard.d.ts +4 -1
- package/dist/chat/super-grouping/SuperGroupingCard.js +361 -0
- package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -0
- package/dist/chat/super-grouping/activity-timeline.cjs +151 -0
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -0
- package/dist/chat/super-grouping/activity-timeline.d.ts +3 -3
- package/dist/chat/super-grouping/activity-timeline.js +151 -0
- package/dist/chat/super-grouping/activity-timeline.js.map +1 -0
- package/dist/chat/super-grouping/grouping-function.cjs +55 -0
- package/dist/chat/super-grouping/grouping-function.cjs.map +1 -0
- package/dist/chat/super-grouping/grouping-function.js +55 -0
- package/dist/chat/super-grouping/grouping-function.js.map +1 -0
- package/dist/chat/super-grouping/index.cjs +26 -0
- package/dist/chat/super-grouping/index.cjs.map +1 -0
- package/dist/chat/super-grouping/index.js +26 -0
- package/dist/chat/super-grouping/index.js.map +1 -0
- package/dist/chat/super-grouping/toolkit-map.cjs +96 -0
- package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -0
- package/dist/chat/super-grouping/toolkit-map.js +96 -0
- package/dist/chat/super-grouping/toolkit-map.js.map +1 -0
- package/dist/chat/tiptap-text.cjs +101 -0
- package/dist/chat/tiptap-text.cjs.map +1 -0
- package/dist/chat/tiptap-text.js +101 -0
- package/dist/chat/tiptap-text.js.map +1 -0
- package/dist/chat/tooltip-icon-button.cjs +32 -0
- package/dist/chat/tooltip-icon-button.cjs.map +1 -0
- package/dist/chat/tooltip-icon-button.js +32 -0
- package/dist/chat/tooltip-icon-button.js.map +1 -0
- package/dist/chat/use-athena-run-live.cjs +23 -0
- package/dist/chat/use-athena-run-live.cjs.map +1 -0
- package/dist/chat/use-athena-run-live.d.ts +10 -0
- package/dist/chat/use-athena-run-live.js +23 -0
- package/dist/chat/use-athena-run-live.js.map +1 -0
- package/dist/chat/use-statewire-approval-request.cjs +46 -0
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -0
- package/dist/chat/use-statewire-approval-request.js +46 -0
- package/dist/chat/use-statewire-approval-request.js.map +1 -0
- package/dist/chat-ui/auth/sign-in-card.cjs +128 -0
- package/dist/chat-ui/auth/sign-in-card.cjs.map +1 -0
- package/dist/chat-ui/auth/sign-in-card.js +128 -0
- package/dist/chat-ui/auth/sign-in-card.js.map +1 -0
- package/dist/chat-ui/composer/composer-action.cjs +11 -0
- package/dist/chat-ui/composer/composer-action.cjs.map +1 -0
- package/dist/chat-ui/composer/composer-action.d.ts +5 -8
- package/dist/chat-ui/composer/composer-action.js +11 -0
- package/dist/chat-ui/composer/composer-action.js.map +1 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.cjs +25 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.cjs.map +1 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.js +25 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.js.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs +590 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.d.ts +44 -7
- package/dist/chat-ui/composer/tiptap-composer.js +590 -0
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -0
- package/dist/chat-ui/header/chat-header.cjs +33 -0
- package/dist/chat-ui/header/chat-header.cjs.map +1 -0
- package/dist/chat-ui/header/chat-header.js +33 -0
- package/dist/chat-ui/header/chat-header.js.map +1 -0
- package/dist/chat-ui/header/conversation-history-panel.cjs +369 -0
- package/dist/chat-ui/header/conversation-history-panel.cjs.map +1 -0
- package/dist/chat-ui/header/conversation-history-panel.js +369 -0
- package/dist/chat-ui/header/conversation-history-panel.js.map +1 -0
- package/dist/chat-ui/index.cjs +139 -0
- package/dist/chat-ui/index.cjs.map +1 -0
- package/dist/chat-ui/index.d.ts +4 -3
- package/dist/chat-ui/index.js +139 -0
- package/dist/chat-ui/index.js.map +1 -0
- package/dist/chat-ui/lib/asset-urls.cjs +18 -0
- package/dist/chat-ui/lib/asset-urls.cjs.map +1 -0
- package/dist/chat-ui/lib/asset-urls.js +18 -0
- package/dist/chat-ui/lib/asset-urls.js.map +1 -0
- package/dist/chat-ui/mentions/mention-chip.cjs +208 -0
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -0
- package/dist/chat-ui/mentions/mention-chip.js +208 -0
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -0
- package/dist/chat-ui/mentions/mention-extension.cjs +184 -0
- package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -0
- package/dist/chat-ui/mentions/mention-extension.d.ts +24 -2
- package/dist/chat-ui/mentions/mention-extension.js +184 -0
- package/dist/chat-ui/mentions/mention-extension.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +35 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +35 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +95 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.d.ts +5 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +95 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs +116 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js +116 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +31 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +31 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs +27 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js +27 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +62 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js +62 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs +63 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.js +63 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs +11 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js +11 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs +33 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.js +33 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs +58 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js +58 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs +81 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js +81 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.cjs +18 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.js +18 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +123 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +10 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js +123 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs +37 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.js +37 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs +134 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.js +134 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs +91 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.js +91 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +137 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +137 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +375 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +16 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +375 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/types.cjs +9 -0
- package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/types.d.ts +14 -0
- package/dist/chat-ui/mentions/suggestions/data/types.js +9 -0
- package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +173 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +14 -4
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +173 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs +45 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js +45 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs +43 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js +43 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs +14 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js +14 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs +48 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js +48 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +71 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +71 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -0
- package/dist/chat-ui/messages/continue-pill.cjs +54 -0
- package/dist/chat-ui/messages/continue-pill.cjs.map +1 -0
- package/dist/chat-ui/messages/continue-pill.js +54 -0
- package/dist/chat-ui/messages/continue-pill.js.map +1 -0
- package/dist/chat-ui/messages/message-actions-config.cjs +12 -0
- package/dist/chat-ui/messages/message-actions-config.cjs.map +1 -0
- package/dist/chat-ui/messages/message-actions-config.js +12 -0
- package/dist/chat-ui/messages/message-actions-config.js.map +1 -0
- package/dist/chat-ui/messages/message-components.cjs +343 -0
- package/dist/chat-ui/messages/message-components.cjs.map +1 -0
- package/dist/chat-ui/messages/message-components.d.ts +13 -1
- package/dist/chat-ui/messages/message-components.js +343 -0
- package/dist/chat-ui/messages/message-components.js.map +1 -0
- package/dist/chat-ui/messages/running-indicator.cjs +49 -0
- package/dist/chat-ui/messages/running-indicator.cjs.map +1 -0
- package/dist/chat-ui/messages/running-indicator.js +49 -0
- package/dist/chat-ui/messages/running-indicator.js.map +1 -0
- package/dist/chat-ui/messages/runtime-message.cjs +65 -0
- package/dist/chat-ui/messages/runtime-message.cjs.map +1 -0
- package/dist/chat-ui/messages/runtime-message.js +65 -0
- package/dist/chat-ui/messages/runtime-message.js.map +1 -0
- package/dist/{statewire-continue-run-nE9VCKUh.cjs → chat-ui/messages/statewire-continue-run.cjs} +39 -16
- package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
- package/dist/chat-ui/messages/statewire-continue-run.d.ts +5 -1
- package/dist/{statewire-continue-run-D34gS7_1.js → chat-ui/messages/statewire-continue-run.js} +29 -7
- package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs +61 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.js +61 -0
- package/dist/chat-ui/messages/user-edit-composer.js.map +1 -0
- package/dist/chat-ui/messages/voice-delegation-card.cjs +51 -0
- package/dist/chat-ui/messages/voice-delegation-card.cjs.map +1 -0
- package/dist/chat-ui/messages/voice-delegation-card.d.ts +26 -0
- package/dist/chat-ui/messages/voice-delegation-card.js +51 -0
- package/dist/chat-ui/messages/voice-delegation-card.js.map +1 -0
- package/dist/chat-ui/statewire.cjs +39 -0
- package/dist/chat-ui/statewire.cjs.map +1 -0
- package/dist/chat-ui/statewire.js +39 -0
- package/dist/chat-ui/statewire.js.map +1 -0
- package/dist/chat-ui/thread/chat-composer-dock.cjs +37 -0
- package/dist/chat-ui/thread/chat-composer-dock.cjs.map +1 -0
- package/dist/chat-ui/thread/chat-composer-dock.js +37 -0
- package/dist/chat-ui/thread/chat-composer-dock.js.map +1 -0
- package/dist/chat-ui/thread/chat-thread-shell.cjs +102 -0
- package/dist/chat-ui/thread/chat-thread-shell.cjs.map +1 -0
- package/dist/chat-ui/thread/chat-thread-shell.js +102 -0
- package/dist/chat-ui/thread/chat-thread-shell.js.map +1 -0
- package/dist/chat-ui/thread/composer-send-or-stop.cjs +75 -0
- package/dist/chat-ui/thread/composer-send-or-stop.cjs.map +1 -0
- package/dist/chat-ui/thread/composer-send-or-stop.d.ts +0 -6
- package/dist/chat-ui/thread/composer-send-or-stop.js +75 -0
- package/dist/chat-ui/thread/composer-send-or-stop.js.map +1 -0
- package/dist/chat-ui/thread/statewire-history-edge.cjs +134 -0
- package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -0
- package/dist/chat-ui/thread/statewire-history-edge.js +134 -0
- package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -0
- package/dist/{collab.cjs → collab/client.cjs} +6 -166
- package/dist/collab/client.cjs.map +1 -0
- package/dist/{collab.js → collab/client.js} +5 -164
- package/dist/collab/client.js.map +1 -0
- package/dist/collab/close-policy.cjs +14 -0
- package/dist/collab/close-policy.cjs.map +1 -0
- package/dist/collab/close-policy.js +14 -0
- package/dist/collab/close-policy.js.map +1 -0
- package/dist/collab/index.cjs +17 -0
- package/dist/collab/index.cjs.map +1 -0
- package/dist/collab/index.js +17 -0
- package/dist/collab/index.js.map +1 -0
- package/dist/collab/mint.cjs +59 -0
- package/dist/collab/mint.cjs.map +1 -0
- package/dist/collab/mint.js +59 -0
- package/dist/collab/mint.js.map +1 -0
- package/dist/collab/react.cjs +58 -0
- package/dist/collab/react.cjs.map +1 -0
- package/dist/collab/react.js +58 -0
- package/dist/collab/react.js.map +1 -0
- package/dist/collab/shape.cjs +45 -0
- package/dist/collab/shape.cjs.map +1 -0
- package/dist/collab/shape.js +45 -0
- package/dist/collab/shape.js.map +1 -0
- package/dist/composer/AttachmentContext.cjs +40 -0
- package/dist/composer/AttachmentContext.cjs.map +1 -0
- package/dist/composer/AttachmentContext.js +40 -0
- package/dist/composer/AttachmentContext.js.map +1 -0
- package/dist/composer/ComposerAttachmentPreview.cjs +39 -0
- package/dist/composer/ComposerAttachmentPreview.cjs.map +1 -0
- package/dist/composer/ComposerAttachmentPreview.js +39 -0
- package/dist/composer/ComposerAttachmentPreview.js.map +1 -0
- package/dist/composer/ComposerDropZone.cjs +61 -0
- package/dist/composer/ComposerDropZone.cjs.map +1 -0
- package/dist/composer/ComposerDropZone.d.ts +1 -1
- package/dist/composer/ComposerDropZone.js +61 -0
- package/dist/composer/ComposerDropZone.js.map +1 -0
- package/dist/composer/ComposerQuotePreview.cjs +42 -0
- package/dist/composer/ComposerQuotePreview.cjs.map +1 -0
- package/dist/composer/ComposerQuotePreview.js +42 -0
- package/dist/composer/ComposerQuotePreview.js.map +1 -0
- package/dist/composer/FileUploadButton.cjs +65 -0
- package/dist/composer/FileUploadButton.cjs.map +1 -0
- package/dist/composer/FileUploadButton.d.ts +1 -1
- package/dist/composer/FileUploadButton.js +65 -0
- package/dist/composer/FileUploadButton.js.map +1 -0
- package/dist/composer/QuoteContext.cjs +68 -0
- package/dist/composer/QuoteContext.cjs.map +1 -0
- package/dist/composer/QuoteContext.js +68 -0
- package/dist/composer/QuoteContext.js.map +1 -0
- package/dist/composer/build-composed-message.cjs +25 -0
- package/dist/composer/build-composed-message.cjs.map +1 -0
- package/dist/composer/build-composed-message.js +25 -0
- package/dist/composer/build-composed-message.js.map +1 -0
- package/dist/composer/clipboard.cjs +62 -0
- package/dist/composer/clipboard.cjs.map +1 -0
- package/dist/composer/clipboard.d.ts +27 -3
- package/dist/composer/clipboard.js +62 -0
- package/dist/composer/clipboard.js.map +1 -0
- package/dist/composer/useAppendToComposer.cjs +21 -0
- package/dist/composer/useAppendToComposer.cjs.map +1 -0
- package/dist/composer/useAppendToComposer.js +21 -0
- package/dist/composer/useAppendToComposer.js.map +1 -0
- package/dist/composer/useAttachFiles.cjs +40 -0
- package/dist/composer/useAttachFiles.cjs.map +1 -0
- package/dist/composer/useAttachFiles.d.ts +24 -0
- package/dist/composer/useAttachFiles.js +40 -0
- package/dist/composer/useAttachFiles.js.map +1 -0
- package/dist/composer/useComposerAttachment.cjs +25 -0
- package/dist/composer/useComposerAttachment.cjs.map +1 -0
- package/dist/composer/useComposerAttachment.js +25 -0
- package/dist/composer/useComposerAttachment.js.map +1 -0
- package/dist/composer/useFileUpload.cjs +123 -0
- package/dist/composer/useFileUpload.cjs.map +1 -0
- package/dist/composer/useFileUpload.js +123 -0
- package/dist/composer/useFileUpload.js.map +1 -0
- package/dist/composer/useSendMessage.cjs +22 -0
- package/dist/composer/useSendMessage.cjs.map +1 -0
- package/dist/composer/useSendMessage.js +22 -0
- package/dist/composer/useSendMessage.js.map +1 -0
- package/dist/diagnostics/athena-diagnostics.cjs +329 -0
- package/dist/diagnostics/athena-diagnostics.cjs.map +1 -0
- package/dist/diagnostics/athena-diagnostics.js +329 -0
- package/dist/diagnostics/athena-diagnostics.js.map +1 -0
- package/dist/diagnostics/errors.cjs +89 -0
- package/dist/diagnostics/errors.cjs.map +1 -0
- package/dist/diagnostics/errors.js +89 -0
- package/dist/diagnostics/errors.js.map +1 -0
- package/dist/diagnostics/useAthenaDiagnostics.cjs +16 -0
- package/dist/diagnostics/useAthenaDiagnostics.cjs.map +1 -0
- package/dist/diagnostics/useAthenaDiagnostics.js +16 -0
- package/dist/diagnostics/useAthenaDiagnostics.js.map +1 -0
- package/dist/index.cjs +274 -27882
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +161 -27759
- package/dist/index.js.map +1 -1
- package/dist/lib/athena-urls.cjs +194 -0
- package/dist/lib/athena-urls.cjs.map +1 -0
- package/dist/lib/athena-urls.d.ts +20 -5
- package/dist/lib/athena-urls.js +194 -0
- package/dist/lib/athena-urls.js.map +1 -0
- package/dist/lib/posthog/before-send.cjs +58 -0
- package/dist/lib/posthog/before-send.cjs.map +1 -0
- package/dist/lib/posthog/before-send.js +58 -0
- package/dist/lib/posthog/before-send.js.map +1 -0
- package/dist/lib/posthog/capture-gate.cjs +322 -0
- package/dist/lib/posthog/capture-gate.cjs.map +1 -0
- package/dist/lib/posthog/capture-gate.js +322 -0
- package/dist/lib/posthog/capture-gate.js.map +1 -0
- package/dist/lib/posthog/wrap-posthog-client.cjs +163 -0
- package/dist/lib/posthog/wrap-posthog-client.cjs.map +1 -0
- package/dist/lib/posthog/wrap-posthog-client.js +163 -0
- package/dist/lib/posthog/wrap-posthog-client.js.map +1 -0
- package/dist/lib/utils.cjs +12 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +77 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +77 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +181 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +181 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +1 -0
- package/dist/packages/agent-runtime/src/asset-attachment.cjs +19 -0
- package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/asset-attachment.js +19 -0
- package/dist/packages/agent-runtime/src/asset-attachment.js.map +1 -0
- package/dist/packages/agent-runtime/src/auth-denial.cjs +28 -0
- package/dist/packages/agent-runtime/src/auth-denial.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/auth-denial.js +28 -0
- package/dist/packages/agent-runtime/src/auth-denial.js.map +1 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs +270 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.js +270 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +1 -0
- package/dist/packages/agent-runtime/src/client-tools.cjs +137 -0
- package/dist/packages/agent-runtime/src/client-tools.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/client-tools.js +137 -0
- package/dist/packages/agent-runtime/src/client-tools.js.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-index.cjs +80 -0
- package/dist/packages/agent-runtime/src/conversation-index.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-index.js +80 -0
- package/dist/packages/agent-runtime/src/conversation-index.js.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-list.cjs +86 -0
- package/dist/packages/agent-runtime/src/conversation-list.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-list.js +86 -0
- package/dist/packages/agent-runtime/src/conversation-list.js.map +1 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs +55 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js +55 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
- package/dist/packages/agent-runtime/src/edit-command.cjs +89 -0
- package/dist/packages/agent-runtime/src/edit-command.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/edit-command.js +89 -0
- package/dist/packages/agent-runtime/src/edit-command.js.map +1 -0
- package/dist/packages/agent-runtime/src/errors.cjs +95 -0
- package/dist/packages/agent-runtime/src/errors.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/errors.js +95 -0
- package/dist/packages/agent-runtime/src/errors.js.map +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs +236 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +236 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
- package/dist/packages/agent-runtime/src/interrupts.cjs +117 -0
- package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/interrupts.js +117 -0
- package/dist/packages/agent-runtime/src/interrupts.js.map +1 -0
- package/dist/packages/agent-runtime/src/message-author.cjs +31 -0
- package/dist/packages/agent-runtime/src/message-author.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/message-author.js +31 -0
- package/dist/packages/agent-runtime/src/message-author.js.map +1 -0
- package/dist/packages/agent-runtime/src/message-window.cjs +85 -0
- package/dist/packages/agent-runtime/src/message-window.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/message-window.js +85 -0
- package/dist/packages/agent-runtime/src/message-window.js.map +1 -0
- package/dist/packages/agent-runtime/src/messages.cjs +433 -0
- package/dist/packages/agent-runtime/src/messages.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/messages.js +433 -0
- package/dist/packages/agent-runtime/src/messages.js.map +1 -0
- package/dist/packages/agent-runtime/src/model-context.cjs +13 -0
- package/dist/packages/agent-runtime/src/model-context.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/model-context.js +13 -0
- package/dist/packages/agent-runtime/src/model-context.js.map +1 -0
- package/dist/packages/agent-runtime/src/optimistic-content.cjs +17 -0
- package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/optimistic-content.js +17 -0
- package/dist/packages/agent-runtime/src/optimistic-content.js.map +1 -0
- package/dist/packages/agent-runtime/src/protocol.cjs +33 -0
- package/dist/packages/agent-runtime/src/protocol.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/protocol.js +33 -0
- package/dist/packages/agent-runtime/src/protocol.js.map +1 -0
- package/dist/packages/agent-runtime/src/queue.cjs +67 -0
- package/dist/packages/agent-runtime/src/queue.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/queue.js +67 -0
- package/dist/packages/agent-runtime/src/queue.js.map +1 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs +47 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js +47 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
- package/dist/packages/agent-runtime/src/runtime-messages.cjs +187 -0
- package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/runtime-messages.js +187 -0
- package/dist/packages/agent-runtime/src/runtime-messages.js.map +1 -0
- package/dist/packages/agent-runtime/src/send-recovery.cjs +128 -0
- package/dist/packages/agent-runtime/src/send-recovery.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/send-recovery.js +128 -0
- package/dist/packages/agent-runtime/src/send-recovery.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs +249 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js +249 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-state.cjs +16 -0
- package/dist/packages/agent-runtime/src/statewire-state.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-state.js +16 -0
- package/dist/packages/agent-runtime/src/statewire-state.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs +41 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.js +41 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-transport.cjs +6 -0
- package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-transport.js +6 -0
- package/dist/packages/agent-runtime/src/statewire-transport.js.map +1 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs +214 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.js +214 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-extras.cjs +38 -0
- package/dist/packages/agent-runtime/src/thread-extras.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-extras.js +38 -0
- package/dist/packages/agent-runtime/src/thread-extras.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs +90 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js +90 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-status.cjs +49 -0
- package/dist/packages/agent-runtime/src/thread-status.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-status.js +49 -0
- package/dist/packages/agent-runtime/src/thread-status.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-metadata.cjs +1802 -0
- package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-metadata.js +1802 -0
- package/dist/packages/agent-runtime/src/tool-metadata.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-outputs.cjs +46 -0
- package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-outputs.js +46 -0
- package/dist/packages/agent-runtime/src/tool-outputs.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-result.cjs +151 -0
- package/dist/packages/agent-runtime/src/tool-result.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-result.js +151 -0
- package/dist/packages/agent-runtime/src/tool-result.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs +139 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.js +139 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs +28 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js +28 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs +138 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js +138 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs +387 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js +387 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs +133 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js +133 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
- package/dist/packages/agent-runtime/src/voice-presentation.cjs +37 -0
- package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/voice-presentation.js +37 -0
- package/dist/packages/agent-runtime/src/voice-presentation.js.map +1 -0
- package/dist/packages/react/package.json.cjs +9 -0
- package/dist/packages/react/package.json.cjs.map +1 -0
- package/dist/packages/react/package.json.js +9 -0
- package/dist/packages/react/package.json.js.map +1 -0
- package/dist/{AthenaContext-B1QMhIP-.cjs → provider/AthenaContext.cjs} +5 -4
- package/dist/provider/AthenaContext.cjs.map +1 -0
- package/dist/{AthenaContext-MOslgOmE.js → provider/AthenaContext.js} +3 -3
- package/dist/provider/AthenaContext.js.map +1 -0
- package/dist/provider/AthenaProvider.cjs +403 -0
- package/dist/provider/AthenaProvider.cjs.map +1 -0
- package/dist/provider/AthenaProvider.js +403 -0
- package/dist/provider/AthenaProvider.js.map +1 -0
- package/dist/provider/PostHogProvider.cjs +81 -0
- package/dist/provider/PostHogProvider.cjs.map +1 -0
- package/dist/provider/PostHogProvider.js +59 -0
- package/dist/provider/PostHogProvider.js.map +1 -0
- package/dist/provider/config.d.ts +8 -7
- package/dist/provider/statewire-lifecycle-context.cjs +10 -0
- package/dist/provider/statewire-lifecycle-context.cjs.map +1 -0
- package/dist/provider/statewire-lifecycle-context.js +10 -0
- package/dist/provider/statewire-lifecycle-context.js.map +1 -0
- package/dist/provider/statewire-window-context.cjs +10 -0
- package/dist/provider/statewire-window-context.cjs.map +1 -0
- package/dist/provider/statewire-window-context.js +10 -0
- package/dist/provider/statewire-window-context.js.map +1 -0
- package/dist/runtime/auth.cjs +309 -0
- package/dist/runtime/auth.cjs.map +1 -0
- package/dist/runtime/auth.d.ts +19 -18
- package/dist/runtime/auth.js +309 -0
- package/dist/runtime/auth.js.map +1 -0
- package/dist/runtime/statewire-auth-headers.cjs +18 -0
- package/dist/runtime/statewire-auth-headers.cjs.map +1 -0
- package/dist/runtime/statewire-auth-headers.js +18 -0
- package/dist/runtime/statewire-auth-headers.js.map +1 -0
- package/dist/runtime/statewire-lifecycle.cjs +67 -0
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -0
- package/dist/runtime/statewire-lifecycle.js +67 -0
- package/dist/runtime/statewire-lifecycle.js.map +1 -0
- package/dist/runtime/statewire-run-config.cjs +68 -0
- package/dist/runtime/statewire-run-config.cjs.map +1 -0
- package/dist/runtime/statewire-run-config.js +68 -0
- package/dist/runtime/statewire-run-config.js.map +1 -0
- package/dist/runtime/statewire-session-key.cjs +11 -0
- package/dist/runtime/statewire-session-key.cjs.map +1 -0
- package/dist/runtime/statewire-session-key.js +11 -0
- package/dist/runtime/statewire-session-key.js.map +1 -0
- package/dist/runtime/useAthenaStatewireRuntime.cjs +179 -0
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -0
- package/dist/runtime/useAthenaStatewireRuntime.js +180 -0
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/theme/index.cjs +182 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.js +182 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/threads/ThreadList.cjs +55 -0
- package/dist/threads/ThreadList.cjs.map +1 -0
- package/dist/threads/ThreadList.js +55 -0
- package/dist/threads/ThreadList.js.map +1 -0
- package/dist/threads/api.cjs +208 -0
- package/dist/threads/api.cjs.map +1 -0
- package/dist/threads/api.js +208 -0
- package/dist/threads/api.js.map +1 -0
- package/dist/threads/conversation-list-fetcher.cjs +70 -0
- package/dist/threads/conversation-list-fetcher.cjs.map +1 -0
- package/dist/threads/conversation-list-fetcher.js +70 -0
- package/dist/threads/conversation-list-fetcher.js.map +1 -0
- package/dist/threads/mint-thread-id.cjs +7 -0
- package/dist/threads/mint-thread-id.cjs.map +1 -0
- package/dist/threads/mint-thread-id.js +7 -0
- package/dist/threads/mint-thread-id.js.map +1 -0
- package/dist/threads/statewire-thread-list.cjs +231 -0
- package/dist/threads/statewire-thread-list.cjs.map +1 -0
- package/dist/threads/statewire-thread-list.js +231 -0
- package/dist/threads/statewire-thread-list.js.map +1 -0
- package/dist/threads/thread-id-context.cjs +22 -0
- package/dist/threads/thread-id-context.cjs.map +1 -0
- package/dist/threads/thread-id-context.d.ts +9 -0
- package/dist/threads/thread-id-context.js +22 -0
- package/dist/threads/thread-id-context.js.map +1 -0
- package/dist/threads/title.cjs +95 -0
- package/dist/threads/title.cjs.map +1 -0
- package/dist/threads/title.js +95 -0
- package/dist/threads/title.js.map +1 -0
- package/dist/threads/use-rest-conversation-history.cjs +79 -0
- package/dist/threads/use-rest-conversation-history.cjs.map +1 -0
- package/dist/threads/use-rest-conversation-history.js +79 -0
- package/dist/threads/use-rest-conversation-history.js.map +1 -0
- package/dist/threads/use-statewire-conversation-history.cjs +243 -0
- package/dist/threads/use-statewire-conversation-history.cjs.map +1 -0
- package/dist/threads/use-statewire-conversation-history.js +243 -0
- package/dist/threads/use-statewire-conversation-history.js.map +1 -0
- package/dist/threads/useAthenaThreadManager.cjs +24 -0
- package/dist/threads/useAthenaThreadManager.cjs.map +1 -0
- package/dist/threads/useAthenaThreadManager.js +24 -0
- package/dist/threads/useAthenaThreadManager.js.map +1 -0
- package/dist/toolkits/index.cjs +279 -0
- package/dist/toolkits/index.cjs.map +1 -0
- package/dist/toolkits/index.js +279 -0
- package/dist/toolkits/index.js.map +1 -0
- package/dist/tools/NestedPtcMessages.cjs +46 -0
- package/dist/tools/NestedPtcMessages.cjs.map +1 -0
- package/dist/tools/NestedPtcMessages.js +46 -0
- package/dist/tools/NestedPtcMessages.js.map +1 -0
- package/dist/tools/append-document-tool-ui.cjs +145 -0
- package/dist/tools/append-document-tool-ui.cjs.map +1 -0
- package/dist/tools/append-document-tool-ui.js +145 -0
- package/dist/tools/append-document-tool-ui.js.map +1 -0
- package/dist/tools/asset-utils.cjs +16 -0
- package/dist/tools/asset-utils.cjs.map +1 -0
- package/dist/tools/asset-utils.js +16 -0
- package/dist/tools/asset-utils.js.map +1 -0
- package/dist/tools/auto-open-tools.cjs +121 -0
- package/dist/tools/auto-open-tools.cjs.map +1 -0
- package/dist/tools/auto-open-tools.js +121 -0
- package/dist/tools/auto-open-tools.js.map +1 -0
- package/dist/tools/file-tool-uis.cjs +108 -0
- package/dist/tools/file-tool-uis.cjs.map +1 -0
- package/dist/tools/file-tool-uis.js +108 -0
- package/dist/tools/file-tool-uis.js.map +1 -0
- package/dist/tools/index.cjs +56 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +56 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/misc-tool-uis.cjs +54 -0
- package/dist/tools/misc-tool-uis.cjs.map +1 -0
- package/dist/{misc-tool-uis-gAiQw0Yl.js → tools/misc-tool-uis.js} +17 -7
- package/dist/tools/misc-tool-uis.js.map +1 -0
- package/dist/tools/primitives.cjs +166 -0
- package/dist/tools/primitives.cjs.map +1 -0
- package/dist/tools/primitives.js +166 -0
- package/dist/tools/primitives.js.map +1 -0
- package/dist/tools/read-asset-tool-ui.cjs +284 -0
- package/dist/tools/read-asset-tool-ui.cjs.map +1 -0
- package/dist/tools/read-asset-tool-ui.js +284 -0
- package/dist/tools/read-asset-tool-ui.js.map +1 -0
- package/dist/tools/todo-plan-store.cjs +88 -0
- package/dist/tools/todo-plan-store.cjs.map +1 -0
- package/dist/tools/todo-plan-store.js +88 -0
- package/dist/tools/todo-plan-store.js.map +1 -0
- package/dist/tools/tool-fallback.cjs +667 -0
- package/dist/tools/tool-fallback.cjs.map +1 -0
- package/dist/tools/tool-fallback.js +667 -0
- package/dist/tools/tool-fallback.js.map +1 -0
- package/dist/tools/tool-icons.cjs +61 -0
- package/dist/tools/tool-icons.cjs.map +1 -0
- package/dist/tools/tool-icons.js +61 -0
- package/dist/tools/tool-icons.js.map +1 -0
- package/dist/tools/tool-uis.cjs +3049 -0
- package/dist/tools/tool-uis.cjs.map +1 -0
- package/dist/tools/tool-uis.js +3049 -0
- package/dist/tools/tool-uis.js.map +1 -0
- package/dist/tools/voice-update-tool-ui.cjs +89 -0
- package/dist/tools/voice-update-tool-ui.cjs.map +1 -0
- package/dist/tools/voice-update-tool-ui.d.ts +27 -0
- package/dist/tools/voice-update-tool-ui.js +89 -0
- package/dist/tools/voice-update-tool-ui.js.map +1 -0
- package/dist/tools/write-todos-tool-ui.cjs +270 -0
- package/dist/tools/write-todos-tool-ui.cjs.map +1 -0
- package/dist/tools/write-todos-tool-ui.js +270 -0
- package/dist/tools/write-todos-tool-ui.js.map +1 -0
- package/dist/ui/button.cjs +57 -0
- package/dist/ui/button.cjs.map +1 -0
- package/dist/ui/button.js +57 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/collapsible.cjs +17 -0
- package/dist/ui/collapsible.cjs.map +1 -0
- package/dist/ui/collapsible.js +17 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/tooltip.cjs +48 -0
- package/dist/ui/tooltip.cjs.map +1 -0
- package/dist/ui/tooltip.js +48 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/version.cjs +6 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/package.json +18 -20
- package/dist/AthenaAuthContext-B3AwLA5Z.cjs.map +0 -1
- package/dist/AthenaAuthContext-DQsdayH2.js.map +0 -1
- package/dist/AthenaContext-B1QMhIP-.cjs.map +0 -1
- package/dist/AthenaContext-MOslgOmE.js.map +0 -1
- package/dist/SuperGroupingCard-BsWbHyV_.js +0 -795
- package/dist/SuperGroupingCard-BsWbHyV_.js.map +0 -1
- package/dist/SuperGroupingCard-CRRFUgjN.cjs +0 -794
- package/dist/SuperGroupingCard-CRRFUgjN.cjs.map +0 -1
- package/dist/auth.cjs.map +0 -1
- package/dist/auth.js.map +0 -1
- package/dist/chat/ComposerEditorContext.d.ts +0 -36
- package/dist/chat/tiptap-composer.d.ts +0 -7
- package/dist/chat-ui-statewire.cjs +0 -25
- package/dist/chat-ui-statewire.cjs.map +0 -1
- package/dist/chat-ui-statewire.js +0 -25
- package/dist/chat-ui-statewire.js.map +0 -1
- package/dist/chat-ui.cjs +0 -2484
- package/dist/chat-ui.cjs.map +0 -1
- package/dist/chat-ui.js +0 -2486
- package/dist/chat-ui.js.map +0 -1
- package/dist/collab.cjs.map +0 -1
- package/dist/collab.js.map +0 -1
- package/dist/mentions/composer-keybinds.d.ts +0 -5
- package/dist/mentions/mention-extension.d.ts +0 -6
- package/dist/mentions/mention-icons.d.ts +0 -4
- package/dist/mentions/mention-node-view.d.ts +0 -2
- package/dist/mentions/mention-suggestion-list.d.ts +0 -14
- package/dist/mentions/mention-suggestion-popup.d.ts +0 -15
- package/dist/mentions/mention-suggestions-extension.d.ts +0 -11
- package/dist/mentions/mention-types.d.ts +0 -21
- package/dist/mentions/mention-utils.d.ts +0 -23
- package/dist/mentions/use-mention-suggestions.d.ts +0 -29
- package/dist/misc-tool-uis-B2e0Okkn.cjs +0 -43
- package/dist/misc-tool-uis-B2e0Okkn.cjs.map +0 -1
- package/dist/misc-tool-uis-gAiQw0Yl.js.map +0 -1
- package/dist/statewire-continue-run-D34gS7_1.js.map +0 -1
- package/dist/statewire-continue-run-nE9VCKUh.cjs.map +0 -1
- package/dist/statewire-history-edge-C8uyTEjX.cjs +0 -1711
- package/dist/statewire-history-edge-C8uyTEjX.cjs.map +0 -1
- package/dist/statewire-history-edge-CPohUKMt.js +0 -1712
- package/dist/statewire-history-edge-CPohUKMt.js.map +0 -1
- package/dist/super-grouping.cjs +0 -22
- package/dist/super-grouping.cjs.map +0 -1
- package/dist/super-grouping.js +0 -22
- package/dist/super-grouping.js.map +0 -1
- package/dist/tool-fallback-DkQ3DLkn.js +0 -4281
- package/dist/tool-fallback-DkQ3DLkn.js.map +0 -1
- package/dist/tool-fallback-kfhpJQZa.cjs +0 -4297
- package/dist/tool-fallback-kfhpJQZa.cjs.map +0 -1
- package/dist/tools.cjs +0 -41
- package/dist/tools.cjs.map +0 -1
- package/dist/tools.js +0 -41
- package/dist/tools.js.map +0 -1
- package/dist/trash-2-B5OaNAL7.cjs +0 -5096
- package/dist/trash-2-B5OaNAL7.cjs.map +0 -1
- package/dist/trash-2-CCwSURL-.js +0 -5081
- package/dist/trash-2-CCwSURL-.js.map +0 -1
- package/dist/use-rest-conversation-history-Cm8qMRxp.cjs +0 -32397
- package/dist/use-rest-conversation-history-Cm8qMRxp.cjs.map +0 -1
- package/dist/use-rest-conversation-history-veDZS-oL.js +0 -32361
- package/dist/use-rest-conversation-history-veDZS-oL.js.map +0 -1
- package/dist/wrench-BEf72cyP.cjs +0 -417
- package/dist/wrench-BEf72cyP.cjs.map +0 -1
- package/dist/wrench-CbrOlVYm.js +0 -418
- package/dist/wrench-CbrOlVYm.js.map +0 -1
- package/dist/x-Dfd2NzK0.cjs +0 -42
- package/dist/x-Dfd2NzK0.cjs.map +0 -1
- package/dist/x-_DntAa_a.js +0 -43
- package/dist/x-_DntAa_a.js.map +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
function MenuBreadcrumbs({
|
|
3
|
+
scopePath,
|
|
4
|
+
onNavigate
|
|
5
|
+
}) {
|
|
6
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1 text-xs text-gray-600 min-w-0", children: scopePath.map((item, index) => {
|
|
7
|
+
const isLast = index === scopePath.length - 1;
|
|
8
|
+
const isClickable = !isLast;
|
|
9
|
+
return /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 min-w-0", children: [
|
|
10
|
+
isClickable ? /* @__PURE__ */ jsx(
|
|
11
|
+
"button",
|
|
12
|
+
{
|
|
13
|
+
type: "button",
|
|
14
|
+
onClick: () => onNavigate(item.id),
|
|
15
|
+
className: "truncate hover:underline cursor-pointer transition-all hover:text-gray-800",
|
|
16
|
+
title: `Go to ${item.name}`,
|
|
17
|
+
children: item.name
|
|
18
|
+
}
|
|
19
|
+
) : /* @__PURE__ */ jsx("span", { className: "truncate font-medium text-gray-800", children: item.name }),
|
|
20
|
+
!isLast && /* @__PURE__ */ jsx("span", { className: "text-gray-400 flex-shrink-0", children: "→" })
|
|
21
|
+
] }, item.id);
|
|
22
|
+
}) });
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
MenuBreadcrumbs
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=menu-breadcrumbs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-breadcrumbs.js","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-breadcrumbs.tsx"],"sourcesContent":["/**\n * Breadcrumb navigation for the mention menu.\n */\n\nexport function MenuBreadcrumbs({\n scopePath,\n onNavigate,\n}: {\n scopePath: { id: string; name: string }[];\n onNavigate: (scopeId: string) => void;\n}) {\n return (\n <div className=\"flex items-center gap-1 text-xs text-gray-600 min-w-0\">\n {scopePath.map((item, index) => {\n const isLast = index === scopePath.length - 1;\n const isClickable = !isLast;\n\n return (\n <span key={item.id} className=\"flex items-center gap-1 min-w-0\">\n {isClickable ? (\n <button\n type=\"button\"\n onClick={() => onNavigate(item.id)}\n className=\"truncate hover:underline cursor-pointer transition-all hover:text-gray-800\"\n title={`Go to ${item.name}`}\n >\n {item.name}\n </button>\n ) : (\n <span className=\"truncate font-medium text-gray-800\">\n {item.name}\n </span>\n )}\n {!isLast && <span className=\"text-gray-400 flex-shrink-0\">→</span>}\n </span>\n );\n })}\n </div>\n );\n}\n"],"names":[],"mappings":";AAIO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AACF,GAGG;AACD,SACE,oBAAC,SAAI,WAAU,yDACZ,oBAAU,IAAI,CAAC,MAAM,UAAU;AAC9B,UAAM,SAAS,UAAU,UAAU,SAAS;AAC5C,UAAM,cAAc,CAAC;AAErB,WACE,qBAAC,QAAA,EAAmB,WAAU,mCAC3B,UAAA;AAAA,MAAA,cACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAS,MAAM,WAAW,KAAK,EAAE;AAAA,UACjC,WAAU;AAAA,UACV,OAAO,SAAS,KAAK,IAAI;AAAA,UAExB,UAAA,KAAK;AAAA,QAAA;AAAA,MAAA,IAGR,oBAAC,QAAA,EAAK,WAAU,sCACb,eAAK,MACR;AAAA,MAED,CAAC,UAAU,oBAAC,QAAA,EAAK,WAAU,+BAA8B,UAAA,IAAA,CAAC;AAAA,IAAA,EAAA,GAflD,KAAK,EAgBhB;AAAA,EAEJ,CAAC,EAAA,CACH;AAEJ;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const types = require("../data/types.cjs");
|
|
5
|
+
const mentionIcon = require("./mention-icon.cjs");
|
|
6
|
+
const cnfast = require("cnfast");
|
|
7
|
+
function MenuItemRow({
|
|
8
|
+
item,
|
|
9
|
+
isSelected,
|
|
10
|
+
onMouseEnter,
|
|
11
|
+
onClick,
|
|
12
|
+
showArrow
|
|
13
|
+
}) {
|
|
14
|
+
var _a, _b, _c, _d;
|
|
15
|
+
const hasTwoLines = item.type === "tool" && item.description || item.type === "user" && item.email || item.type === "workspace_item" && item.description || item.type === "tab" && item.description;
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17
|
+
"div",
|
|
18
|
+
{
|
|
19
|
+
role: "button",
|
|
20
|
+
tabIndex: -1,
|
|
21
|
+
onClick,
|
|
22
|
+
onMouseEnter,
|
|
23
|
+
className: cnfast.cn(
|
|
24
|
+
"mention-item flex items-center justify-between gap-2 px-2 py-1.5 rounded cursor-pointer transition-colors",
|
|
25
|
+
"hover:bg-gray-100",
|
|
26
|
+
item.menuSection === types.MentionMenuSection.CURRENT_WEBPAGE && !isSelected && "bg-sky-50/70",
|
|
27
|
+
isSelected && "bg-gray-100 is-selected"
|
|
28
|
+
),
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
+
"span",
|
|
32
|
+
{
|
|
33
|
+
className: `flex items-center flex-shrink-0 ${hasTwoLines ? "self-start mt-0.5" : ""}`,
|
|
34
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
mentionIcon.MentionIcon,
|
|
36
|
+
{
|
|
37
|
+
fallbackIcon: item.fallbackIcon,
|
|
38
|
+
thumbnailUrl: item.thumbnailUrl,
|
|
39
|
+
alt: item.name
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
),
|
|
44
|
+
hasTwoLines ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex flex-col gap-0 min-w-0 -mt-0.5", children: [
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm leading-tight flex items-center gap-1.5", children: [
|
|
46
|
+
item.name,
|
|
47
|
+
((_a = item.extra) == null ? void 0 : _a.isAdminOnly) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-purple-400 flex-shrink-0" }),
|
|
48
|
+
((_b = item.extra) == null ? void 0 : _b.isExperimental) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-blue-50 px-1.5 py-0.5 text-[9px] font-medium text-blue-700", children: "Experimental" })
|
|
49
|
+
] }),
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-gray-500 leading-tight mt-0.5 truncate", children: item.type === "user" ? item.email : item.description })
|
|
51
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex-1 text-sm truncate min-w-0 flex items-center gap-1.5", children: [
|
|
52
|
+
item.name,
|
|
53
|
+
((_c = item.extra) == null ? void 0 : _c.isAdminOnly) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-purple-400 flex-shrink-0" }),
|
|
54
|
+
((_d = item.extra) == null ? void 0 : _d.isExperimental) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-blue-50 px-1.5 py-0.5 text-[9px] font-medium text-blue-700", children: "Experimental" })
|
|
55
|
+
] }),
|
|
56
|
+
showArrow && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1 flex-shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400 text-sm px-1 rounded transition-all cursor-pointer hover:text-gray-600 hover:bg-gray-200", children: "→" }) })
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
exports.MenuItemRow = MenuItemRow;
|
|
62
|
+
//# sourceMappingURL=menu-item.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-item.tsx"],"sourcesContent":["/**\n * Individual menu item in the mention popup.\n * Supports: tools (with description), users (with email), assets, categories.\n */\n\nimport type { MenuItem } from \"../data/types\";\nimport { MentionMenuSection } from \"../data/types\";\nimport { MentionIcon } from \"./mention-icon\";\nimport { cn } from \"../../../../lib/utils\";\n\nexport function MenuItemRow({\n item,\n isSelected,\n onMouseEnter,\n onClick,\n showArrow,\n}: {\n item: MenuItem;\n isSelected: boolean;\n onMouseEnter: () => void;\n onClick: () => void;\n showArrow?: boolean;\n}) {\n const hasTwoLines =\n (item.type === \"tool\" && item.description) ||\n (item.type === \"user\" && item.email) ||\n (item.type === \"workspace_item\" && item.description) ||\n (item.type === \"tab\" && item.description);\n\n return (\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n className={cn(\n \"mention-item flex items-center justify-between gap-2 px-2 py-1.5 rounded cursor-pointer transition-colors\",\n \"hover:bg-gray-100\",\n item.menuSection === MentionMenuSection.CURRENT_WEBPAGE &&\n !isSelected &&\n \"bg-sky-50/70\",\n isSelected && \"bg-gray-100 is-selected\",\n )}\n >\n {/* Icon */}\n <span\n className={`flex items-center flex-shrink-0 ${hasTwoLines ? \"self-start mt-0.5\" : \"\"}`}\n >\n <MentionIcon\n fallbackIcon={item.fallbackIcon}\n thumbnailUrl={item.thumbnailUrl}\n alt={item.name}\n />\n </span>\n\n {/* Content */}\n {hasTwoLines ? (\n <div className=\"flex-1 flex flex-col gap-0 min-w-0 -mt-0.5\">\n <span className=\"text-sm leading-tight flex items-center gap-1.5\">\n {item.name}\n {item.extra?.isAdminOnly && (\n <span className=\"w-1.5 h-1.5 rounded-full bg-purple-400 flex-shrink-0\" />\n )}\n {item.extra?.isExperimental && (\n <span className=\"rounded-full bg-blue-50 px-1.5 py-0.5 text-[9px] font-medium text-blue-700\">\n Experimental\n </span>\n )}\n </span>\n <span className=\"text-xs text-gray-500 leading-tight mt-0.5 truncate\">\n {item.type === \"user\" ? item.email : item.description}\n </span>\n </div>\n ) : (\n <span className=\"flex-1 text-sm truncate min-w-0 flex items-center gap-1.5\">\n {item.name}\n {item.extra?.isAdminOnly && (\n <span className=\"w-1.5 h-1.5 rounded-full bg-purple-400 flex-shrink-0\" />\n )}\n {item.extra?.isExperimental && (\n <span className=\"rounded-full bg-blue-50 px-1.5 py-0.5 text-[9px] font-medium text-blue-700\">\n Experimental\n </span>\n )}\n </span>\n )}\n\n {/* Navigation arrow */}\n {showArrow && (\n <div className=\"flex items-center gap-1 flex-shrink-0\">\n <span className=\"text-gray-400 text-sm px-1 rounded transition-all cursor-pointer hover:text-gray-600 hover:bg-gray-200\">\n →\n </span>\n </div>\n )}\n </div>\n );\n}\n"],"names":["jsxs","cn","MentionMenuSection","jsx","MentionIcon"],"mappings":";;;;;;AAUO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;;AACD,QAAM,cACH,KAAK,SAAS,UAAU,KAAK,eAC7B,KAAK,SAAS,UAAU,KAAK,SAC7B,KAAK,SAAS,oBAAoB,KAAK,eACvC,KAAK,SAAS,SAAS,KAAK;AAE/B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAWC,OAAAA;AAAAA,QACT;AAAA,QACA;AAAA,QACA,KAAK,gBAAgBC,MAAAA,mBAAmB,mBACtC,CAAC,cACD;AAAA,QACF,cAAc;AAAA,MAAA;AAAA,MAIhB,UAAA;AAAA,QAAAC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,mCAAmC,cAAc,sBAAsB,EAAE;AAAA,YAEpF,UAAAA,2BAAAA;AAAAA,cAACC,YAAAA;AAAAA,cAAA;AAAA,gBACC,cAAc,KAAK;AAAA,gBACnB,cAAc,KAAK;AAAA,gBACnB,KAAK,KAAK;AAAA,cAAA;AAAA,YAAA;AAAA,UACZ;AAAA,QAAA;AAAA,QAID,cACCJ,2BAAAA,KAAC,OAAA,EAAI,WAAU,8CACb,UAAA;AAAA,UAAAA,2BAAAA,KAAC,QAAA,EAAK,WAAU,mDACb,UAAA;AAAA,YAAA,KAAK;AAAA,cACL,UAAK,UAAL,mBAAY,gBACXG,2BAAAA,IAAC,QAAA,EAAK,WAAU,wDAAuD;AAAA,cAExE,UAAK,UAAL,mBAAY,kDACV,QAAA,EAAK,WAAU,8EAA6E,UAAA,eAAA,CAE7F;AAAA,UAAA,GAEJ;AAAA,UACAA,2BAAAA,IAAC,QAAA,EAAK,WAAU,uDACb,UAAA,KAAK,SAAS,SAAS,KAAK,QAAQ,KAAK,YAAA,CAC5C;AAAA,QAAA,EAAA,CACF,IAEAH,2BAAAA,KAAC,QAAA,EAAK,WAAU,6DACb,UAAA;AAAA,UAAA,KAAK;AAAA,YACL,UAAK,UAAL,mBAAY,gBACXG,2BAAAA,IAAC,QAAA,EAAK,WAAU,wDAAuD;AAAA,YAExE,UAAK,UAAL,mBAAY,kDACV,QAAA,EAAK,WAAU,8EAA6E,UAAA,eAAA,CAE7F;AAAA,QAAA,GAEJ;AAAA,QAID,aACCA,2BAAAA,IAAC,OAAA,EAAI,WAAU,yCACb,yCAAC,QAAA,EAAK,WAAU,0GAAyG,UAAA,IAAA,CAEzH,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { MentionMenuSection } from "../data/types.js";
|
|
3
|
+
import { MentionIcon } from "./mention-icon.js";
|
|
4
|
+
import { cn } from "cnfast";
|
|
5
|
+
function MenuItemRow({
|
|
6
|
+
item,
|
|
7
|
+
isSelected,
|
|
8
|
+
onMouseEnter,
|
|
9
|
+
onClick,
|
|
10
|
+
showArrow
|
|
11
|
+
}) {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
const hasTwoLines = item.type === "tool" && item.description || item.type === "user" && item.email || item.type === "workspace_item" && item.description || item.type === "tab" && item.description;
|
|
14
|
+
return /* @__PURE__ */ jsxs(
|
|
15
|
+
"div",
|
|
16
|
+
{
|
|
17
|
+
role: "button",
|
|
18
|
+
tabIndex: -1,
|
|
19
|
+
onClick,
|
|
20
|
+
onMouseEnter,
|
|
21
|
+
className: cn(
|
|
22
|
+
"mention-item flex items-center justify-between gap-2 px-2 py-1.5 rounded cursor-pointer transition-colors",
|
|
23
|
+
"hover:bg-gray-100",
|
|
24
|
+
item.menuSection === MentionMenuSection.CURRENT_WEBPAGE && !isSelected && "bg-sky-50/70",
|
|
25
|
+
isSelected && "bg-gray-100 is-selected"
|
|
26
|
+
),
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ jsx(
|
|
29
|
+
"span",
|
|
30
|
+
{
|
|
31
|
+
className: `flex items-center flex-shrink-0 ${hasTwoLines ? "self-start mt-0.5" : ""}`,
|
|
32
|
+
children: /* @__PURE__ */ jsx(
|
|
33
|
+
MentionIcon,
|
|
34
|
+
{
|
|
35
|
+
fallbackIcon: item.fallbackIcon,
|
|
36
|
+
thumbnailUrl: item.thumbnailUrl,
|
|
37
|
+
alt: item.name
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
hasTwoLines ? /* @__PURE__ */ jsxs("div", { className: "flex-1 flex flex-col gap-0 min-w-0 -mt-0.5", children: [
|
|
43
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm leading-tight flex items-center gap-1.5", children: [
|
|
44
|
+
item.name,
|
|
45
|
+
((_a = item.extra) == null ? void 0 : _a.isAdminOnly) && /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-purple-400 flex-shrink-0" }),
|
|
46
|
+
((_b = item.extra) == null ? void 0 : _b.isExperimental) && /* @__PURE__ */ jsx("span", { className: "rounded-full bg-blue-50 px-1.5 py-0.5 text-[9px] font-medium text-blue-700", children: "Experimental" })
|
|
47
|
+
] }),
|
|
48
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-gray-500 leading-tight mt-0.5 truncate", children: item.type === "user" ? item.email : item.description })
|
|
49
|
+
] }) : /* @__PURE__ */ jsxs("span", { className: "flex-1 text-sm truncate min-w-0 flex items-center gap-1.5", children: [
|
|
50
|
+
item.name,
|
|
51
|
+
((_c = item.extra) == null ? void 0 : _c.isAdminOnly) && /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-purple-400 flex-shrink-0" }),
|
|
52
|
+
((_d = item.extra) == null ? void 0 : _d.isExperimental) && /* @__PURE__ */ jsx("span", { className: "rounded-full bg-blue-50 px-1.5 py-0.5 text-[9px] font-medium text-blue-700", children: "Experimental" })
|
|
53
|
+
] }),
|
|
54
|
+
showArrow && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1 flex-shrink-0", children: /* @__PURE__ */ jsx("span", { className: "text-gray-400 text-sm px-1 rounded transition-all cursor-pointer hover:text-gray-600 hover:bg-gray-200", children: "→" }) })
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
MenuItemRow
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=menu-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item.js","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-item.tsx"],"sourcesContent":["/**\n * Individual menu item in the mention popup.\n * Supports: tools (with description), users (with email), assets, categories.\n */\n\nimport type { MenuItem } from \"../data/types\";\nimport { MentionMenuSection } from \"../data/types\";\nimport { MentionIcon } from \"./mention-icon\";\nimport { cn } from \"../../../../lib/utils\";\n\nexport function MenuItemRow({\n item,\n isSelected,\n onMouseEnter,\n onClick,\n showArrow,\n}: {\n item: MenuItem;\n isSelected: boolean;\n onMouseEnter: () => void;\n onClick: () => void;\n showArrow?: boolean;\n}) {\n const hasTwoLines =\n (item.type === \"tool\" && item.description) ||\n (item.type === \"user\" && item.email) ||\n (item.type === \"workspace_item\" && item.description) ||\n (item.type === \"tab\" && item.description);\n\n return (\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n className={cn(\n \"mention-item flex items-center justify-between gap-2 px-2 py-1.5 rounded cursor-pointer transition-colors\",\n \"hover:bg-gray-100\",\n item.menuSection === MentionMenuSection.CURRENT_WEBPAGE &&\n !isSelected &&\n \"bg-sky-50/70\",\n isSelected && \"bg-gray-100 is-selected\",\n )}\n >\n {/* Icon */}\n <span\n className={`flex items-center flex-shrink-0 ${hasTwoLines ? \"self-start mt-0.5\" : \"\"}`}\n >\n <MentionIcon\n fallbackIcon={item.fallbackIcon}\n thumbnailUrl={item.thumbnailUrl}\n alt={item.name}\n />\n </span>\n\n {/* Content */}\n {hasTwoLines ? (\n <div className=\"flex-1 flex flex-col gap-0 min-w-0 -mt-0.5\">\n <span className=\"text-sm leading-tight flex items-center gap-1.5\">\n {item.name}\n {item.extra?.isAdminOnly && (\n <span className=\"w-1.5 h-1.5 rounded-full bg-purple-400 flex-shrink-0\" />\n )}\n {item.extra?.isExperimental && (\n <span className=\"rounded-full bg-blue-50 px-1.5 py-0.5 text-[9px] font-medium text-blue-700\">\n Experimental\n </span>\n )}\n </span>\n <span className=\"text-xs text-gray-500 leading-tight mt-0.5 truncate\">\n {item.type === \"user\" ? item.email : item.description}\n </span>\n </div>\n ) : (\n <span className=\"flex-1 text-sm truncate min-w-0 flex items-center gap-1.5\">\n {item.name}\n {item.extra?.isAdminOnly && (\n <span className=\"w-1.5 h-1.5 rounded-full bg-purple-400 flex-shrink-0\" />\n )}\n {item.extra?.isExperimental && (\n <span className=\"rounded-full bg-blue-50 px-1.5 py-0.5 text-[9px] font-medium text-blue-700\">\n Experimental\n </span>\n )}\n </span>\n )}\n\n {/* Navigation arrow */}\n {showArrow && (\n <div className=\"flex items-center gap-1 flex-shrink-0\">\n <span className=\"text-gray-400 text-sm px-1 rounded transition-all cursor-pointer hover:text-gray-600 hover:bg-gray-200\">\n →\n </span>\n </div>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;AAUO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;;AACD,QAAM,cACH,KAAK,SAAS,UAAU,KAAK,eAC7B,KAAK,SAAS,UAAU,KAAK,SAC7B,KAAK,SAAS,oBAAoB,KAAK,eACvC,KAAK,SAAS,SAAS,KAAK;AAE/B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA,KAAK,gBAAgB,mBAAmB,mBACtC,CAAC,cACD;AAAA,QACF,cAAc;AAAA,MAAA;AAAA,MAIhB,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,mCAAmC,cAAc,sBAAsB,EAAE;AAAA,YAEpF,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,cAAc,KAAK;AAAA,gBACnB,cAAc,KAAK;AAAA,gBACnB,KAAK,KAAK;AAAA,cAAA;AAAA,YAAA;AAAA,UACZ;AAAA,QAAA;AAAA,QAID,cACC,qBAAC,OAAA,EAAI,WAAU,8CACb,UAAA;AAAA,UAAA,qBAAC,QAAA,EAAK,WAAU,mDACb,UAAA;AAAA,YAAA,KAAK;AAAA,cACL,UAAK,UAAL,mBAAY,gBACX,oBAAC,QAAA,EAAK,WAAU,wDAAuD;AAAA,cAExE,UAAK,UAAL,mBAAY,uCACV,QAAA,EAAK,WAAU,8EAA6E,UAAA,eAAA,CAE7F;AAAA,UAAA,GAEJ;AAAA,UACA,oBAAC,QAAA,EAAK,WAAU,uDACb,UAAA,KAAK,SAAS,SAAS,KAAK,QAAQ,KAAK,YAAA,CAC5C;AAAA,QAAA,EAAA,CACF,IAEA,qBAAC,QAAA,EAAK,WAAU,6DACb,UAAA;AAAA,UAAA,KAAK;AAAA,YACL,UAAK,UAAL,mBAAY,gBACX,oBAAC,QAAA,EAAK,WAAU,wDAAuD;AAAA,YAExE,UAAK,UAAL,mBAAY,uCACV,QAAA,EAAK,WAAU,8EAA6E,UAAA,eAAA,CAE7F;AAAA,QAAA,GAEJ;AAAA,QAID,aACC,oBAAC,OAAA,EAAI,WAAU,yCACb,8BAAC,QAAA,EAAK,WAAU,0GAAyG,UAAA,IAAA,CAEzH,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const types = require("../data/types.cjs");
|
|
6
|
+
const menuItem = require("./menu-item.cjs");
|
|
7
|
+
const menuSkeleton = require("./menu-skeleton.cjs");
|
|
8
|
+
function MenuList({
|
|
9
|
+
items,
|
|
10
|
+
selectedIndex,
|
|
11
|
+
isLoading,
|
|
12
|
+
hasMore,
|
|
13
|
+
onSelect,
|
|
14
|
+
onMouseEnter,
|
|
15
|
+
onLoadMore
|
|
16
|
+
}) {
|
|
17
|
+
const selectedRef = react.useRef(null);
|
|
18
|
+
react.useEffect(() => {
|
|
19
|
+
var _a;
|
|
20
|
+
(_a = selectedRef.current) == null ? void 0 : _a.scrollIntoView({ block: "nearest" });
|
|
21
|
+
}, [selectedIndex]);
|
|
22
|
+
if (isLoading && items.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(menuSkeleton.MenuSkeleton, {});
|
|
23
|
+
if (items.length === 0) {
|
|
24
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-1 py-1", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-2 py-9 text-center text-sm text-gray-500", children: [
|
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1", children: "No results found" }),
|
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-gray-400", children: "Try a different search or go back" })
|
|
27
|
+
] }) });
|
|
28
|
+
}
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-1 py-1", children: [
|
|
30
|
+
items.map((item, index) => {
|
|
31
|
+
var _a;
|
|
32
|
+
const previousSection = (_a = items[index - 1]) == null ? void 0 : _a.menuSection;
|
|
33
|
+
const startsOtherWebpages = item.menuSection === types.MentionMenuSection.OTHER_WEBPAGES && previousSection !== types.MentionMenuSection.OTHER_WEBPAGES;
|
|
34
|
+
const startsLibrary = item.menuSection === types.MentionMenuSection.LIBRARY && (previousSection === types.MentionMenuSection.CURRENT_WEBPAGE || previousSection === types.MentionMenuSection.OTHER_WEBPAGES);
|
|
35
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(react.Fragment, { children: [
|
|
36
|
+
startsOtherWebpages && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-gray-400", children: "Other webpages in this group" }),
|
|
37
|
+
startsLibrary && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-2 my-1 border-t border-gray-100" }),
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { ref: index === selectedIndex ? selectedRef : void 0, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
menuItem.MenuItemRow,
|
|
40
|
+
{
|
|
41
|
+
item,
|
|
42
|
+
isSelected: index === selectedIndex,
|
|
43
|
+
onMouseEnter: () => onMouseEnter(index),
|
|
44
|
+
onClick: () => onSelect(item),
|
|
45
|
+
showArrow: !!item.navigatesToScope
|
|
46
|
+
}
|
|
47
|
+
) })
|
|
48
|
+
] }, item.id);
|
|
49
|
+
}),
|
|
50
|
+
isLoading && items.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-2 text-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-gray-400", children: "Loading more..." }) }),
|
|
51
|
+
hasMore && !isLoading && onLoadMore && /* @__PURE__ */ jsxRuntime.jsx(
|
|
52
|
+
"button",
|
|
53
|
+
{
|
|
54
|
+
type: "button",
|
|
55
|
+
onClick: onLoadMore,
|
|
56
|
+
className: "w-full px-2 py-1.5 text-xs text-gray-500 hover:text-gray-700 hover:bg-gray-50 rounded transition-colors text-center",
|
|
57
|
+
children: "··· Load more"
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
] });
|
|
61
|
+
}
|
|
62
|
+
exports.MenuList = MenuList;
|
|
63
|
+
//# sourceMappingURL=menu-list.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-list.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-list.tsx"],"sourcesContent":["/**\n * Scrollable list of menu items with loading and empty states.\n */\n\nimport { Fragment, useEffect, useRef } from \"react\";\nimport { MentionMenuSection, type MenuItem } from \"../data/types\";\nimport { MenuItemRow } from \"./menu-item\";\nimport { MenuSkeleton } from \"./menu-skeleton\";\n\nexport function MenuList({\n items,\n selectedIndex,\n isLoading,\n hasMore,\n onSelect,\n onMouseEnter,\n onLoadMore,\n}: {\n items: MenuItem[];\n selectedIndex: number;\n isLoading?: boolean;\n hasMore?: boolean;\n onSelect: (item: MenuItem) => void;\n onMouseEnter: (index: number) => void;\n onLoadMore?: () => void;\n}) {\n const selectedRef = useRef<HTMLDivElement>(null);\n\n // Auto-scroll selected item into view\n useEffect(() => {\n selectedRef.current?.scrollIntoView({ block: \"nearest\" });\n }, [selectedIndex]);\n\n if (isLoading && items.length === 0) return <MenuSkeleton />;\n\n if (items.length === 0) {\n return (\n <div className=\"px-1 py-1\">\n <div className=\"px-2 py-9 text-center text-sm text-gray-500\">\n <div className=\"mb-1\">No results found</div>\n <div className=\"text-xs text-gray-400\">Try a different search or go back</div>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"px-1 py-1\">\n {items.map((item, index) => {\n const previousSection = items[index - 1]?.menuSection;\n const startsOtherWebpages =\n item.menuSection === MentionMenuSection.OTHER_WEBPAGES &&\n previousSection !== MentionMenuSection.OTHER_WEBPAGES;\n const startsLibrary =\n item.menuSection === MentionMenuSection.LIBRARY &&\n (previousSection === MentionMenuSection.CURRENT_WEBPAGE ||\n previousSection === MentionMenuSection.OTHER_WEBPAGES);\n\n return (\n <Fragment key={item.id}>\n {startsOtherWebpages && (\n <div className=\"px-2 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-gray-400\">\n Other webpages in this group\n </div>\n )}\n {startsLibrary && <div className=\"mx-2 my-1 border-t border-gray-100\" />}\n <div ref={index === selectedIndex ? selectedRef : undefined}>\n <MenuItemRow\n item={item}\n isSelected={index === selectedIndex}\n onMouseEnter={() => onMouseEnter(index)}\n onClick={() => onSelect(item)}\n showArrow={!!item.navigatesToScope}\n />\n </div>\n </Fragment>\n );\n })}\n\n {/* Loading more indicator */}\n {isLoading && items.length > 0 && (\n <div className=\"px-2 py-2 text-center\">\n <span className=\"text-xs text-gray-400\">Loading more...</span>\n </div>\n )}\n\n {/* Load more sentinel */}\n {hasMore && !isLoading && onLoadMore && (\n <button\n type=\"button\"\n onClick={onLoadMore}\n className=\"w-full px-2 py-1.5 text-xs text-gray-500 hover:text-gray-700 hover:bg-gray-50 rounded transition-colors text-center\"\n >\n ··· Load more\n </button>\n )}\n </div>\n );\n}\n"],"names":["useRef","useEffect","MenuSkeleton","jsxs","jsx","MentionMenuSection","Fragment","MenuItemRow"],"mappings":";;;;;;;AASO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAQG;AACD,QAAM,cAAcA,MAAAA,OAAuB,IAAI;AAG/CC,QAAAA,UAAU,MAAM;;AACd,sBAAY,YAAZ,mBAAqB,eAAe,EAAE,OAAO;EAC/C,GAAG,CAAC,aAAa,CAAC;AAElB,MAAI,aAAa,MAAM,WAAW,EAAG,uCAAQC,aAAAA,cAAA,EAAa;AAE1D,MAAI,MAAM,WAAW,GAAG;AACtB,0CACG,OAAA,EAAI,WAAU,aACb,UAAAC,2BAAAA,KAAC,OAAA,EAAI,WAAU,+CACb,UAAA;AAAA,MAAAC,2BAAAA,IAAC,OAAA,EAAI,WAAU,QAAO,UAAA,oBAAgB;AAAA,MACtCA,2BAAAA,IAAC,OAAA,EAAI,WAAU,yBAAwB,UAAA,oCAAA,CAAiC;AAAA,IAAA,EAAA,CAC1E,EAAA,CACF;AAAA,EAEJ;AAEA,SACED,2BAAAA,KAAC,OAAA,EAAI,WAAU,aACZ,UAAA;AAAA,IAAA,MAAM,IAAI,CAAC,MAAM,UAAU;;AAC1B,YAAM,mBAAkB,WAAM,QAAQ,CAAC,MAAf,mBAAkB;AAC1C,YAAM,sBACJ,KAAK,gBAAgBE,MAAAA,mBAAmB,kBACxC,oBAAoBA,MAAAA,mBAAmB;AACzC,YAAM,gBACJ,KAAK,gBAAgBA,MAAAA,mBAAmB,YACvC,oBAAoBA,MAAAA,mBAAmB,mBACtC,oBAAoBA,MAAAA,mBAAmB;AAE3C,6CACGC,gBAAA,EACE,UAAA;AAAA,QAAA,uBACCF,2BAAAA,IAAC,OAAA,EAAI,WAAU,gFAA+E,UAAA,gCAE9F;AAAA,QAED,iBAAiBA,2BAAAA,IAAC,OAAA,EAAI,WAAU,qCAAA,CAAqC;AAAA,uCACrE,OAAA,EAAI,KAAK,UAAU,gBAAgB,cAAc,QAChD,UAAAA,2BAAAA;AAAAA,UAACG,SAAAA;AAAAA,UAAA;AAAA,YACC;AAAA,YACA,YAAY,UAAU;AAAA,YACtB,cAAc,MAAM,aAAa,KAAK;AAAA,YACtC,SAAS,MAAM,SAAS,IAAI;AAAA,YAC5B,WAAW,CAAC,CAAC,KAAK;AAAA,UAAA;AAAA,QAAA,EACpB,CACF;AAAA,MAAA,EAAA,GAfa,KAAK,EAgBpB;AAAA,IAEJ,CAAC;AAAA,IAGA,aAAa,MAAM,SAAS,KAC3BH,2BAAAA,IAAC,OAAA,EAAI,WAAU,yBACb,UAAAA,2BAAAA,IAAC,QAAA,EAAK,WAAU,yBAAwB,6BAAe,GACzD;AAAA,IAID,WAAW,CAAC,aAAa,cACxBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAU;AAAA,QACX,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GAEJ;AAEJ;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useEffect, Fragment } from "react";
|
|
3
|
+
import { MentionMenuSection } from "../data/types.js";
|
|
4
|
+
import { MenuItemRow } from "./menu-item.js";
|
|
5
|
+
import { MenuSkeleton } from "./menu-skeleton.js";
|
|
6
|
+
function MenuList({
|
|
7
|
+
items,
|
|
8
|
+
selectedIndex,
|
|
9
|
+
isLoading,
|
|
10
|
+
hasMore,
|
|
11
|
+
onSelect,
|
|
12
|
+
onMouseEnter,
|
|
13
|
+
onLoadMore
|
|
14
|
+
}) {
|
|
15
|
+
const selectedRef = useRef(null);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
var _a;
|
|
18
|
+
(_a = selectedRef.current) == null ? void 0 : _a.scrollIntoView({ block: "nearest" });
|
|
19
|
+
}, [selectedIndex]);
|
|
20
|
+
if (isLoading && items.length === 0) return /* @__PURE__ */ jsx(MenuSkeleton, {});
|
|
21
|
+
if (items.length === 0) {
|
|
22
|
+
return /* @__PURE__ */ jsx("div", { className: "px-1 py-1", children: /* @__PURE__ */ jsxs("div", { className: "px-2 py-9 text-center text-sm text-gray-500", children: [
|
|
23
|
+
/* @__PURE__ */ jsx("div", { className: "mb-1", children: "No results found" }),
|
|
24
|
+
/* @__PURE__ */ jsx("div", { className: "text-xs text-gray-400", children: "Try a different search or go back" })
|
|
25
|
+
] }) });
|
|
26
|
+
}
|
|
27
|
+
return /* @__PURE__ */ jsxs("div", { className: "px-1 py-1", children: [
|
|
28
|
+
items.map((item, index) => {
|
|
29
|
+
var _a;
|
|
30
|
+
const previousSection = (_a = items[index - 1]) == null ? void 0 : _a.menuSection;
|
|
31
|
+
const startsOtherWebpages = item.menuSection === MentionMenuSection.OTHER_WEBPAGES && previousSection !== MentionMenuSection.OTHER_WEBPAGES;
|
|
32
|
+
const startsLibrary = item.menuSection === MentionMenuSection.LIBRARY && (previousSection === MentionMenuSection.CURRENT_WEBPAGE || previousSection === MentionMenuSection.OTHER_WEBPAGES);
|
|
33
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
34
|
+
startsOtherWebpages && /* @__PURE__ */ jsx("div", { className: "px-2 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-gray-400", children: "Other webpages in this group" }),
|
|
35
|
+
startsLibrary && /* @__PURE__ */ jsx("div", { className: "mx-2 my-1 border-t border-gray-100" }),
|
|
36
|
+
/* @__PURE__ */ jsx("div", { ref: index === selectedIndex ? selectedRef : void 0, children: /* @__PURE__ */ jsx(
|
|
37
|
+
MenuItemRow,
|
|
38
|
+
{
|
|
39
|
+
item,
|
|
40
|
+
isSelected: index === selectedIndex,
|
|
41
|
+
onMouseEnter: () => onMouseEnter(index),
|
|
42
|
+
onClick: () => onSelect(item),
|
|
43
|
+
showArrow: !!item.navigatesToScope
|
|
44
|
+
}
|
|
45
|
+
) })
|
|
46
|
+
] }, item.id);
|
|
47
|
+
}),
|
|
48
|
+
isLoading && items.length > 0 && /* @__PURE__ */ jsx("div", { className: "px-2 py-2 text-center", children: /* @__PURE__ */ jsx("span", { className: "text-xs text-gray-400", children: "Loading more..." }) }),
|
|
49
|
+
hasMore && !isLoading && onLoadMore && /* @__PURE__ */ jsx(
|
|
50
|
+
"button",
|
|
51
|
+
{
|
|
52
|
+
type: "button",
|
|
53
|
+
onClick: onLoadMore,
|
|
54
|
+
className: "w-full px-2 py-1.5 text-xs text-gray-500 hover:text-gray-700 hover:bg-gray-50 rounded transition-colors text-center",
|
|
55
|
+
children: "··· Load more"
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
] });
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
MenuList
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=menu-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-list.js","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-list.tsx"],"sourcesContent":["/**\n * Scrollable list of menu items with loading and empty states.\n */\n\nimport { Fragment, useEffect, useRef } from \"react\";\nimport { MentionMenuSection, type MenuItem } from \"../data/types\";\nimport { MenuItemRow } from \"./menu-item\";\nimport { MenuSkeleton } from \"./menu-skeleton\";\n\nexport function MenuList({\n items,\n selectedIndex,\n isLoading,\n hasMore,\n onSelect,\n onMouseEnter,\n onLoadMore,\n}: {\n items: MenuItem[];\n selectedIndex: number;\n isLoading?: boolean;\n hasMore?: boolean;\n onSelect: (item: MenuItem) => void;\n onMouseEnter: (index: number) => void;\n onLoadMore?: () => void;\n}) {\n const selectedRef = useRef<HTMLDivElement>(null);\n\n // Auto-scroll selected item into view\n useEffect(() => {\n selectedRef.current?.scrollIntoView({ block: \"nearest\" });\n }, [selectedIndex]);\n\n if (isLoading && items.length === 0) return <MenuSkeleton />;\n\n if (items.length === 0) {\n return (\n <div className=\"px-1 py-1\">\n <div className=\"px-2 py-9 text-center text-sm text-gray-500\">\n <div className=\"mb-1\">No results found</div>\n <div className=\"text-xs text-gray-400\">Try a different search or go back</div>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"px-1 py-1\">\n {items.map((item, index) => {\n const previousSection = items[index - 1]?.menuSection;\n const startsOtherWebpages =\n item.menuSection === MentionMenuSection.OTHER_WEBPAGES &&\n previousSection !== MentionMenuSection.OTHER_WEBPAGES;\n const startsLibrary =\n item.menuSection === MentionMenuSection.LIBRARY &&\n (previousSection === MentionMenuSection.CURRENT_WEBPAGE ||\n previousSection === MentionMenuSection.OTHER_WEBPAGES);\n\n return (\n <Fragment key={item.id}>\n {startsOtherWebpages && (\n <div className=\"px-2 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-gray-400\">\n Other webpages in this group\n </div>\n )}\n {startsLibrary && <div className=\"mx-2 my-1 border-t border-gray-100\" />}\n <div ref={index === selectedIndex ? selectedRef : undefined}>\n <MenuItemRow\n item={item}\n isSelected={index === selectedIndex}\n onMouseEnter={() => onMouseEnter(index)}\n onClick={() => onSelect(item)}\n showArrow={!!item.navigatesToScope}\n />\n </div>\n </Fragment>\n );\n })}\n\n {/* Loading more indicator */}\n {isLoading && items.length > 0 && (\n <div className=\"px-2 py-2 text-center\">\n <span className=\"text-xs text-gray-400\">Loading more...</span>\n </div>\n )}\n\n {/* Load more sentinel */}\n {hasMore && !isLoading && onLoadMore && (\n <button\n type=\"button\"\n onClick={onLoadMore}\n className=\"w-full px-2 py-1.5 text-xs text-gray-500 hover:text-gray-700 hover:bg-gray-50 rounded transition-colors text-center\"\n >\n ··· Load more\n </button>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;AASO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAQG;AACD,QAAM,cAAc,OAAuB,IAAI;AAG/C,YAAU,MAAM;;AACd,sBAAY,YAAZ,mBAAqB,eAAe,EAAE,OAAO;EAC/C,GAAG,CAAC,aAAa,CAAC;AAElB,MAAI,aAAa,MAAM,WAAW,EAAG,4BAAQ,cAAA,EAAa;AAE1D,MAAI,MAAM,WAAW,GAAG;AACtB,+BACG,OAAA,EAAI,WAAU,aACb,UAAA,qBAAC,OAAA,EAAI,WAAU,+CACb,UAAA;AAAA,MAAA,oBAAC,OAAA,EAAI,WAAU,QAAO,UAAA,oBAAgB;AAAA,MACtC,oBAAC,OAAA,EAAI,WAAU,yBAAwB,UAAA,oCAAA,CAAiC;AAAA,IAAA,EAAA,CAC1E,EAAA,CACF;AAAA,EAEJ;AAEA,SACE,qBAAC,OAAA,EAAI,WAAU,aACZ,UAAA;AAAA,IAAA,MAAM,IAAI,CAAC,MAAM,UAAU;;AAC1B,YAAM,mBAAkB,WAAM,QAAQ,CAAC,MAAf,mBAAkB;AAC1C,YAAM,sBACJ,KAAK,gBAAgB,mBAAmB,kBACxC,oBAAoB,mBAAmB;AACzC,YAAM,gBACJ,KAAK,gBAAgB,mBAAmB,YACvC,oBAAoB,mBAAmB,mBACtC,oBAAoB,mBAAmB;AAE3C,kCACG,UAAA,EACE,UAAA;AAAA,QAAA,uBACC,oBAAC,OAAA,EAAI,WAAU,gFAA+E,UAAA,gCAE9F;AAAA,QAED,iBAAiB,oBAAC,OAAA,EAAI,WAAU,qCAAA,CAAqC;AAAA,4BACrE,OAAA,EAAI,KAAK,UAAU,gBAAgB,cAAc,QAChD,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA,YAAY,UAAU;AAAA,YACtB,cAAc,MAAM,aAAa,KAAK;AAAA,YACtC,SAAS,MAAM,SAAS,IAAI;AAAA,YAC5B,WAAW,CAAC,CAAC,KAAK;AAAA,UAAA;AAAA,QAAA,EACpB,CACF;AAAA,MAAA,EAAA,GAfa,KAAK,EAgBpB;AAAA,IAEJ,CAAC;AAAA,IAGA,aAAa,MAAM,SAAS,KAC3B,oBAAC,OAAA,EAAI,WAAU,yBACb,UAAA,oBAAC,QAAA,EAAK,WAAU,yBAAwB,6BAAe,GACzD;AAAA,IAID,WAAW,CAAC,aAAa,cACxB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAU;AAAA,QACX,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
function MenuSkeleton() {
|
|
5
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-1 py-1", children: [1, 2, 3, 4].map((i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 px-2 py-1.5 rounded animate-pulse", children: [
|
|
6
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-4 h-4 bg-gray-200 rounded flex-shrink-0" }),
|
|
7
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3.5 bg-gray-200 rounded flex-1", style: { maxWidth: `${50 + i * 10}%` } })
|
|
8
|
+
] }, i)) });
|
|
9
|
+
}
|
|
10
|
+
exports.MenuSkeleton = MenuSkeleton;
|
|
11
|
+
//# sourceMappingURL=menu-skeleton.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-skeleton.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-skeleton.tsx"],"sourcesContent":["/**\n * Loading skeleton for the mention menu.\n */\n\nexport function MenuSkeleton() {\n return (\n <div className=\"px-1 py-1\">\n {[1, 2, 3, 4].map((i) => (\n <div key={i} className=\"flex items-center gap-2 px-2 py-1.5 rounded animate-pulse\">\n <div className=\"w-4 h-4 bg-gray-200 rounded flex-shrink-0\" />\n <div className=\"h-3.5 bg-gray-200 rounded flex-1\" style={{ maxWidth: `${50 + i * 10}%` }} />\n </div>\n ))}\n </div>\n );\n}\n"],"names":["jsxs","jsx"],"mappings":";;;AAIO,SAAS,eAAe;AAC7B,wCACG,OAAA,EAAI,WAAU,aACZ,UAAA,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MACjBA,2BAAAA,KAAC,OAAA,EAAY,WAAU,6DACrB,UAAA;AAAA,IAAAC,2BAAAA,IAAC,OAAA,EAAI,WAAU,4CAAA,CAA4C;AAAA,IAC3DA,2BAAAA,IAAC,OAAA,EAAI,WAAU,oCAAmC,OAAO,EAAE,UAAU,GAAG,KAAK,IAAI,EAAE,IAAA,EAAI,CAAG;AAAA,EAAA,KAFlF,CAGV,CACD,GACH;AAEJ;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
function MenuSkeleton() {
|
|
3
|
+
return /* @__PURE__ */ jsx("div", { className: "px-1 py-1", children: [1, 2, 3, 4].map((i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-2 py-1.5 rounded animate-pulse", children: [
|
|
4
|
+
/* @__PURE__ */ jsx("div", { className: "w-4 h-4 bg-gray-200 rounded flex-shrink-0" }),
|
|
5
|
+
/* @__PURE__ */ jsx("div", { className: "h-3.5 bg-gray-200 rounded flex-1", style: { maxWidth: `${50 + i * 10}%` } })
|
|
6
|
+
] }, i)) });
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
MenuSkeleton
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=menu-skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-skeleton.js","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-skeleton.tsx"],"sourcesContent":["/**\n * Loading skeleton for the mention menu.\n */\n\nexport function MenuSkeleton() {\n return (\n <div className=\"px-1 py-1\">\n {[1, 2, 3, 4].map((i) => (\n <div key={i} className=\"flex items-center gap-2 px-2 py-1.5 rounded animate-pulse\">\n <div className=\"w-4 h-4 bg-gray-200 rounded flex-shrink-0\" />\n <div className=\"h-3.5 bg-gray-200 rounded flex-1\" style={{ maxWidth: `${50 + i * 10}%` }} />\n </div>\n ))}\n </div>\n );\n}\n"],"names":[],"mappings":";AAIO,SAAS,eAAe;AAC7B,6BACG,OAAA,EAAI,WAAU,aACZ,UAAA,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MACjB,qBAAC,OAAA,EAAY,WAAU,6DACrB,UAAA;AAAA,IAAA,oBAAC,OAAA,EAAI,WAAU,4CAAA,CAA4C;AAAA,IAC3D,oBAAC,OAAA,EAAI,WAAU,oCAAmC,OAAO,EAAE,UAAU,GAAG,KAAK,IAAI,EAAE,IAAA,EAAI,CAAG;AAAA,EAAA,KAFlF,CAGV,CACD,GACH;AAEJ;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const menuBreadcrumbs = require("./menu-breadcrumbs.cjs");
|
|
5
|
+
function MenuSummary({
|
|
6
|
+
scopePath,
|
|
7
|
+
onNavigate,
|
|
8
|
+
onBackClick,
|
|
9
|
+
isFetching
|
|
10
|
+
}) {
|
|
11
|
+
if (scopePath.length <= 1 && !isFetching) return null;
|
|
12
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-gray-200 px-2 py-2 bg-gray-50", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
13
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
|
|
14
|
+
scopePath.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(menuBreadcrumbs.MenuBreadcrumbs, { scopePath, onNavigate }),
|
|
15
|
+
isFetching && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0 inline-block w-3 h-3 border border-gray-400 border-t-transparent rounded-full animate-spin" })
|
|
16
|
+
] }),
|
|
17
|
+
onBackClick && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
18
|
+
"button",
|
|
19
|
+
{
|
|
20
|
+
type: "button",
|
|
21
|
+
onClick: onBackClick,
|
|
22
|
+
className: "text-xs text-gray-600 hover:text-gray-800 px-2 py-1 rounded hover:bg-gray-200 transition-colors flex items-center gap-1 flex-shrink-0",
|
|
23
|
+
title: "Go back (or press ←)",
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "←" }),
|
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Back" })
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
)
|
|
30
|
+
] }) });
|
|
31
|
+
}
|
|
32
|
+
exports.MenuSummary = MenuSummary;
|
|
33
|
+
//# sourceMappingURL=menu-summary.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-summary.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-summary.tsx"],"sourcesContent":["/**\n * Summary bar at the bottom of the mention menu.\n * Shows breadcrumbs + back button + optional loading spinner.\n */\n\nimport { MenuBreadcrumbs } from \"./menu-breadcrumbs\";\n\nexport function MenuSummary({\n scopePath,\n onNavigate,\n onBackClick,\n isFetching,\n}: {\n scopePath: { id: string; name: string }[];\n onNavigate: (scopeId: string) => void;\n onBackClick?: () => void;\n isFetching?: boolean;\n}) {\n // Don't show summary at root scope (unless fetching)\n if (scopePath.length <= 1 && !isFetching) return null;\n\n return (\n <div className=\"border-t border-gray-200 px-2 py-2 bg-gray-50\">\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"flex items-center gap-2 flex-1 min-w-0\">\n {scopePath.length > 1 && (\n <MenuBreadcrumbs scopePath={scopePath} onNavigate={onNavigate} />\n )}\n {isFetching && (\n <span className=\"flex-shrink-0 inline-block w-3 h-3 border border-gray-400 border-t-transparent rounded-full animate-spin\" />\n )}\n </div>\n {onBackClick && (\n <button\n type=\"button\"\n onClick={onBackClick}\n className=\"text-xs text-gray-600 hover:text-gray-800 px-2 py-1 rounded hover:bg-gray-200 transition-colors flex items-center gap-1 flex-shrink-0\"\n title=\"Go back (or press ←)\"\n >\n <span>←</span>\n <span>Back</span>\n </button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["jsxs","jsx","MenuBreadcrumbs"],"mappings":";;;;AAOO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AAED,MAAI,UAAU,UAAU,KAAK,CAAC,WAAY,QAAO;AAEjD,wCACG,OAAA,EAAI,WAAU,iDACb,UAAAA,2BAAAA,KAAC,OAAA,EAAI,WAAU,2CACb,UAAA;AAAA,IAAAA,2BAAAA,KAAC,OAAA,EAAI,WAAU,0CACZ,UAAA;AAAA,MAAA,UAAU,SAAS,KAClBC,2BAAAA,IAACC,gBAAAA,iBAAA,EAAgB,WAAsB,YAAwB;AAAA,MAEhE,cACCD,2BAAAA,IAAC,QAAA,EAAK,WAAU,2GAAA,CAA2G;AAAA,IAAA,GAE/H;AAAA,IACC,eACCD,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAU;AAAA,QACV,OAAM;AAAA,QAEN,UAAA;AAAA,UAAAC,2BAAAA,IAAC,UAAK,UAAA,IAAA,CAAC;AAAA,UACPA,2BAAAA,IAAC,UAAK,UAAA,OAAA,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,EAAA,CAEJ,EAAA,CACF;AAEJ;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { MenuBreadcrumbs } from "./menu-breadcrumbs.js";
|
|
3
|
+
function MenuSummary({
|
|
4
|
+
scopePath,
|
|
5
|
+
onNavigate,
|
|
6
|
+
onBackClick,
|
|
7
|
+
isFetching
|
|
8
|
+
}) {
|
|
9
|
+
if (scopePath.length <= 1 && !isFetching) return null;
|
|
10
|
+
return /* @__PURE__ */ jsx("div", { className: "border-t border-gray-200 px-2 py-2 bg-gray-50", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
11
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
|
|
12
|
+
scopePath.length > 1 && /* @__PURE__ */ jsx(MenuBreadcrumbs, { scopePath, onNavigate }),
|
|
13
|
+
isFetching && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0 inline-block w-3 h-3 border border-gray-400 border-t-transparent rounded-full animate-spin" })
|
|
14
|
+
] }),
|
|
15
|
+
onBackClick && /* @__PURE__ */ jsxs(
|
|
16
|
+
"button",
|
|
17
|
+
{
|
|
18
|
+
type: "button",
|
|
19
|
+
onClick: onBackClick,
|
|
20
|
+
className: "text-xs text-gray-600 hover:text-gray-800 px-2 py-1 rounded hover:bg-gray-200 transition-colors flex items-center gap-1 flex-shrink-0",
|
|
21
|
+
title: "Go back (or press ←)",
|
|
22
|
+
children: [
|
|
23
|
+
/* @__PURE__ */ jsx("span", { children: "←" }),
|
|
24
|
+
/* @__PURE__ */ jsx("span", { children: "Back" })
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
)
|
|
28
|
+
] }) });
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
MenuSummary
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=menu-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-summary.js","sources":["../../../../../src/chat-ui/mentions/suggestions/components/menu-summary.tsx"],"sourcesContent":["/**\n * Summary bar at the bottom of the mention menu.\n * Shows breadcrumbs + back button + optional loading spinner.\n */\n\nimport { MenuBreadcrumbs } from \"./menu-breadcrumbs\";\n\nexport function MenuSummary({\n scopePath,\n onNavigate,\n onBackClick,\n isFetching,\n}: {\n scopePath: { id: string; name: string }[];\n onNavigate: (scopeId: string) => void;\n onBackClick?: () => void;\n isFetching?: boolean;\n}) {\n // Don't show summary at root scope (unless fetching)\n if (scopePath.length <= 1 && !isFetching) return null;\n\n return (\n <div className=\"border-t border-gray-200 px-2 py-2 bg-gray-50\">\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"flex items-center gap-2 flex-1 min-w-0\">\n {scopePath.length > 1 && (\n <MenuBreadcrumbs scopePath={scopePath} onNavigate={onNavigate} />\n )}\n {isFetching && (\n <span className=\"flex-shrink-0 inline-block w-3 h-3 border border-gray-400 border-t-transparent rounded-full animate-spin\" />\n )}\n </div>\n {onBackClick && (\n <button\n type=\"button\"\n onClick={onBackClick}\n className=\"text-xs text-gray-600 hover:text-gray-800 px-2 py-1 rounded hover:bg-gray-200 transition-colors flex items-center gap-1 flex-shrink-0\"\n title=\"Go back (or press ←)\"\n >\n <span>←</span>\n <span>Back</span>\n </button>\n )}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":";;AAOO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AAED,MAAI,UAAU,UAAU,KAAK,CAAC,WAAY,QAAO;AAEjD,6BACG,OAAA,EAAI,WAAU,iDACb,UAAA,qBAAC,OAAA,EAAI,WAAU,2CACb,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,0CACZ,UAAA;AAAA,MAAA,UAAU,SAAS,KAClB,oBAAC,iBAAA,EAAgB,WAAsB,YAAwB;AAAA,MAEhE,cACC,oBAAC,QAAA,EAAK,WAAU,2GAAA,CAA2G;AAAA,IAAA,GAE/H;AAAA,IACC,eACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAU;AAAA,QACV,OAAM;AAAA,QAEN,UAAA;AAAA,UAAA,oBAAC,UAAK,UAAA,IAAA,CAAC;AAAA,UACP,oBAAC,UAAK,UAAA,OAAA,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,EAAA,CAEJ,EAAA,CACF;AAEJ;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
function useKeyboardNavigation(ref, opts) {
|
|
5
|
+
const { items, selectedIndex, setSelectedIndex, onSelect, onBack, onClose } = opts;
|
|
6
|
+
react.useImperativeHandle(
|
|
7
|
+
ref,
|
|
8
|
+
() => ({
|
|
9
|
+
onKeyDown: (event) => {
|
|
10
|
+
if (items.length === 0 && event.key !== "Escape") return false;
|
|
11
|
+
switch (event.key) {
|
|
12
|
+
case "ArrowDown": {
|
|
13
|
+
const next = (selectedIndex + 1) % items.length;
|
|
14
|
+
setSelectedIndex(next);
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
case "ArrowUp": {
|
|
18
|
+
const prev = (selectedIndex - 1 + items.length) % items.length;
|
|
19
|
+
setSelectedIndex(prev);
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
case "Enter": {
|
|
23
|
+
const item = items[selectedIndex];
|
|
24
|
+
if (item) onSelect(item);
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
case "ArrowLeft": {
|
|
28
|
+
if (onBack) {
|
|
29
|
+
onBack();
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
case "Backspace": {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
case "ArrowRight": {
|
|
38
|
+
const item = items[selectedIndex];
|
|
39
|
+
if (item == null ? void 0 : item.navigatesToScope) {
|
|
40
|
+
onSelect(item);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
case "Escape": {
|
|
46
|
+
onClose();
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
default:
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}),
|
|
54
|
+
[items, selectedIndex, setSelectedIndex, onSelect, onBack, onClose]
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
exports.useKeyboardNavigation = useKeyboardNavigation;
|
|
58
|
+
//# sourceMappingURL=use-keyboard-navigation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-keyboard-navigation.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/components/use-keyboard-navigation.ts"],"sourcesContent":["/**\n * Keyboard navigation for the mention menu.\n *\n * Exposes an imperative handle so MentionSuggestionList can forward keystrokes\n * from the editor into the menu.\n */\n\nimport type { ForwardedRef } from \"react\";\nimport { useImperativeHandle } from \"react\";\nimport type { MenuItem } from \"../data/types\";\n\nexport interface KeyboardNavigationHandle {\n onKeyDown: (event: KeyboardEvent) => boolean;\n}\n\nexport function useKeyboardNavigation(\n ref: ForwardedRef<KeyboardNavigationHandle>,\n opts: {\n items: MenuItem[];\n selectedIndex: number;\n setSelectedIndex: (index: number) => void;\n onSelect: (item: MenuItem) => void;\n onBack?: () => void;\n onClose: () => void;\n },\n) {\n const { items, selectedIndex, setSelectedIndex, onSelect, onBack, onClose } = opts;\n\n useImperativeHandle(\n ref,\n () => ({\n onKeyDown: (event: KeyboardEvent): boolean => {\n if (items.length === 0 && event.key !== \"Escape\") return false;\n\n switch (event.key) {\n case \"ArrowDown\": {\n const next = (selectedIndex + 1) % items.length;\n setSelectedIndex(next);\n return true;\n }\n case \"ArrowUp\": {\n const prev = (selectedIndex - 1 + items.length) % items.length;\n setSelectedIndex(prev);\n return true;\n }\n case \"Enter\": {\n const item = items[selectedIndex];\n if (item) onSelect(item);\n return true;\n }\n case \"ArrowLeft\": {\n if (onBack) {\n onBack();\n return true;\n }\n return false;\n }\n case \"Backspace\": {\n // Never capture Backspace — let Tiptap handle it naturally.\n // The suggestion plugin closes the popup when you backspace past @.\n return false;\n }\n case \"ArrowRight\": {\n const item = items[selectedIndex];\n if (item?.navigatesToScope) {\n onSelect(item);\n return true;\n }\n return false;\n }\n case \"Escape\": {\n onClose();\n return true;\n }\n default:\n return false;\n }\n },\n }),\n [items, selectedIndex, setSelectedIndex, onSelect, onBack, onClose],\n );\n}\n"],"names":["useImperativeHandle"],"mappings":";;;AAeO,SAAS,sBACd,KACA,MAQA;AACA,QAAM,EAAE,OAAO,eAAe,kBAAkB,UAAU,QAAQ,YAAY;AAE9EA,QAAAA;AAAAA,IACE;AAAA,IACA,OAAO;AAAA,MACL,WAAW,CAAC,UAAkC;AAC5C,YAAI,MAAM,WAAW,KAAK,MAAM,QAAQ,SAAU,QAAO;AAEzD,gBAAQ,MAAM,KAAA;AAAA,UACZ,KAAK,aAAa;AAChB,kBAAM,QAAQ,gBAAgB,KAAK,MAAM;AACzC,6BAAiB,IAAI;AACrB,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,WAAW;AACd,kBAAM,QAAQ,gBAAgB,IAAI,MAAM,UAAU,MAAM;AACxD,6BAAiB,IAAI;AACrB,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,SAAS;AACZ,kBAAM,OAAO,MAAM,aAAa;AAChC,gBAAI,eAAe,IAAI;AACvB,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,aAAa;AAChB,gBAAI,QAAQ;AACV,qBAAA;AACA,qBAAO;AAAA,YACT;AACA,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,aAAa;AAGhB,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,cAAc;AACjB,kBAAM,OAAO,MAAM,aAAa;AAChC,gBAAI,6BAAM,kBAAkB;AAC1B,uBAAS,IAAI;AACb,qBAAO;AAAA,YACT;AACA,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,UAAU;AACb,oBAAA;AACA,mBAAO;AAAA,UACT;AAAA,UACA;AACE,mBAAO;AAAA,QAAA;AAAA,MAEb;AAAA,IAAA;AAAA,IAEF,CAAC,OAAO,eAAe,kBAAkB,UAAU,QAAQ,OAAO;AAAA,EAAA;AAEtE;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useImperativeHandle } from "react";
|
|
2
|
+
function useKeyboardNavigation(ref, opts) {
|
|
3
|
+
const { items, selectedIndex, setSelectedIndex, onSelect, onBack, onClose } = opts;
|
|
4
|
+
useImperativeHandle(
|
|
5
|
+
ref,
|
|
6
|
+
() => ({
|
|
7
|
+
onKeyDown: (event) => {
|
|
8
|
+
if (items.length === 0 && event.key !== "Escape") return false;
|
|
9
|
+
switch (event.key) {
|
|
10
|
+
case "ArrowDown": {
|
|
11
|
+
const next = (selectedIndex + 1) % items.length;
|
|
12
|
+
setSelectedIndex(next);
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
case "ArrowUp": {
|
|
16
|
+
const prev = (selectedIndex - 1 + items.length) % items.length;
|
|
17
|
+
setSelectedIndex(prev);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
case "Enter": {
|
|
21
|
+
const item = items[selectedIndex];
|
|
22
|
+
if (item) onSelect(item);
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
case "ArrowLeft": {
|
|
26
|
+
if (onBack) {
|
|
27
|
+
onBack();
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
case "Backspace": {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
case "ArrowRight": {
|
|
36
|
+
const item = items[selectedIndex];
|
|
37
|
+
if (item == null ? void 0 : item.navigatesToScope) {
|
|
38
|
+
onSelect(item);
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
case "Escape": {
|
|
44
|
+
onClose();
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
default:
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}),
|
|
52
|
+
[items, selectedIndex, setSelectedIndex, onSelect, onBack, onClose]
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
useKeyboardNavigation
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=use-keyboard-navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-keyboard-navigation.js","sources":["../../../../../src/chat-ui/mentions/suggestions/components/use-keyboard-navigation.ts"],"sourcesContent":["/**\n * Keyboard navigation for the mention menu.\n *\n * Exposes an imperative handle so MentionSuggestionList can forward keystrokes\n * from the editor into the menu.\n */\n\nimport type { ForwardedRef } from \"react\";\nimport { useImperativeHandle } from \"react\";\nimport type { MenuItem } from \"../data/types\";\n\nexport interface KeyboardNavigationHandle {\n onKeyDown: (event: KeyboardEvent) => boolean;\n}\n\nexport function useKeyboardNavigation(\n ref: ForwardedRef<KeyboardNavigationHandle>,\n opts: {\n items: MenuItem[];\n selectedIndex: number;\n setSelectedIndex: (index: number) => void;\n onSelect: (item: MenuItem) => void;\n onBack?: () => void;\n onClose: () => void;\n },\n) {\n const { items, selectedIndex, setSelectedIndex, onSelect, onBack, onClose } = opts;\n\n useImperativeHandle(\n ref,\n () => ({\n onKeyDown: (event: KeyboardEvent): boolean => {\n if (items.length === 0 && event.key !== \"Escape\") return false;\n\n switch (event.key) {\n case \"ArrowDown\": {\n const next = (selectedIndex + 1) % items.length;\n setSelectedIndex(next);\n return true;\n }\n case \"ArrowUp\": {\n const prev = (selectedIndex - 1 + items.length) % items.length;\n setSelectedIndex(prev);\n return true;\n }\n case \"Enter\": {\n const item = items[selectedIndex];\n if (item) onSelect(item);\n return true;\n }\n case \"ArrowLeft\": {\n if (onBack) {\n onBack();\n return true;\n }\n return false;\n }\n case \"Backspace\": {\n // Never capture Backspace — let Tiptap handle it naturally.\n // The suggestion plugin closes the popup when you backspace past @.\n return false;\n }\n case \"ArrowRight\": {\n const item = items[selectedIndex];\n if (item?.navigatesToScope) {\n onSelect(item);\n return true;\n }\n return false;\n }\n case \"Escape\": {\n onClose();\n return true;\n }\n default:\n return false;\n }\n },\n }),\n [items, selectedIndex, setSelectedIndex, onSelect, onBack, onClose],\n );\n}\n"],"names":[],"mappings":";AAeO,SAAS,sBACd,KACA,MAQA;AACA,QAAM,EAAE,OAAO,eAAe,kBAAkB,UAAU,QAAQ,YAAY;AAE9E;AAAA,IACE;AAAA,IACA,OAAO;AAAA,MACL,WAAW,CAAC,UAAkC;AAC5C,YAAI,MAAM,WAAW,KAAK,MAAM,QAAQ,SAAU,QAAO;AAEzD,gBAAQ,MAAM,KAAA;AAAA,UACZ,KAAK,aAAa;AAChB,kBAAM,QAAQ,gBAAgB,KAAK,MAAM;AACzC,6BAAiB,IAAI;AACrB,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,WAAW;AACd,kBAAM,QAAQ,gBAAgB,IAAI,MAAM,UAAU,MAAM;AACxD,6BAAiB,IAAI;AACrB,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,SAAS;AACZ,kBAAM,OAAO,MAAM,aAAa;AAChC,gBAAI,eAAe,IAAI;AACvB,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,aAAa;AAChB,gBAAI,QAAQ;AACV,qBAAA;AACA,qBAAO;AAAA,YACT;AACA,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,aAAa;AAGhB,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,cAAc;AACjB,kBAAM,OAAO,MAAM,aAAa;AAChC,gBAAI,6BAAM,kBAAkB;AAC1B,uBAAS,IAAI;AACb,qBAAO;AAAA,YACT;AACA,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,UAAU;AACb,oBAAA;AACA,mBAAO;AAAA,UACT;AAAA,UACA;AACE,mBAAO;AAAA,QAAA;AAAA,MAEb;AAAA,IAAA;AAAA,IAEF,CAAC,OAAO,eAAe,kBAAkB,UAAU,QAAQ,OAAO;AAAA,EAAA;AAEtE;"}
|