@stack-spot/ai-chat-widget 0.11.0 → 1.0.0-dev.1768324407795
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/CHANGELOG.md +972 -0
- package/README.md +1 -0
- package/dist/StackspotAIWidget.d.ts +48 -7
- package/dist/StackspotAIWidget.d.ts.map +1 -1
- package/dist/StackspotAIWidget.js +22 -23
- package/dist/StackspotAIWidget.js.map +1 -1
- package/dist/app-metadata.json +175 -0
- package/dist/assets/placeholder.png +0 -0
- package/dist/chat-interceptors/CustomInputs.d.ts +4 -1
- package/dist/chat-interceptors/CustomInputs.d.ts.map +1 -1
- package/dist/chat-interceptors/CustomInputs.js +10 -1
- package/dist/chat-interceptors/CustomInputs.js.map +1 -1
- package/dist/chat-interceptors/quick-command-questions.d.ts +10 -0
- package/dist/chat-interceptors/quick-command-questions.d.ts.map +1 -1
- package/dist/chat-interceptors/quick-command-questions.js +12 -2
- package/dist/chat-interceptors/quick-command-questions.js.map +1 -1
- package/dist/chat-interceptors/quick-commands.d.ts +11 -0
- package/dist/chat-interceptors/quick-commands.d.ts.map +1 -1
- package/dist/chat-interceptors/quick-commands.js +241 -48
- package/dist/chat-interceptors/quick-commands.js.map +1 -1
- package/dist/chat-interceptors/send-message.d.ts +26 -1
- package/dist/chat-interceptors/send-message.d.ts.map +1 -1
- package/dist/chat-interceptors/send-message.js +227 -26
- package/dist/chat-interceptors/send-message.js.map +1 -1
- package/dist/components/AdaptiveTextArea.d.ts +15 -3
- package/dist/components/AdaptiveTextArea.d.ts.map +1 -1
- package/dist/components/AdaptiveTextArea.js +22 -10
- package/dist/components/AdaptiveTextArea.js.map +1 -1
- package/dist/components/AgentCard/AgentCardCreate.d.ts +4 -0
- package/dist/components/AgentCard/AgentCardCreate.d.ts.map +1 -0
- package/dist/components/AgentCard/AgentCardCreate.js +33 -0
- package/dist/components/AgentCard/AgentCardCreate.js.map +1 -0
- package/dist/components/AgentCard/dictionary.d.ts +23 -0
- package/dist/components/AgentCard/dictionary.d.ts.map +1 -0
- package/dist/components/AgentCard/dictionary.js +23 -0
- package/dist/components/AgentCard/dictionary.js.map +1 -0
- package/dist/components/AgentCard/index.d.ts +5 -0
- package/dist/components/AgentCard/index.d.ts.map +1 -0
- package/dist/components/AgentCard/index.js +55 -0
- package/dist/components/AgentCard/index.js.map +1 -0
- package/dist/components/AnimatedOpacity.d.ts +8 -0
- package/dist/components/AnimatedOpacity.d.ts.map +1 -0
- package/dist/components/AnimatedOpacity.js +46 -0
- package/dist/components/AnimatedOpacity.js.map +1 -0
- package/dist/components/AutoFocus.d.ts +23 -0
- package/dist/components/AutoFocus.d.ts.map +1 -0
- package/dist/components/AutoFocus.js +23 -0
- package/dist/components/AutoFocus.js.map +1 -0
- package/dist/components/ButtonFavorite.d.ts +40 -0
- package/dist/components/ButtonFavorite.d.ts.map +1 -0
- package/dist/components/ButtonFavorite.js +25 -0
- package/dist/components/ButtonFavorite.js.map +1 -0
- package/dist/components/Code.d.ts +2 -1
- package/dist/components/Code.d.ts.map +1 -1
- package/dist/components/Code.js +52 -24
- package/dist/components/Code.js.map +1 -1
- package/dist/components/ComponentNavigator.d.ts +38 -0
- package/dist/components/ComponentNavigator.d.ts.map +1 -0
- package/dist/components/ComponentNavigator.js +31 -0
- package/dist/components/ComponentNavigator.js.map +1 -0
- package/dist/components/Fading.d.ts +32 -0
- package/dist/components/Fading.d.ts.map +1 -0
- package/dist/components/Fading.js +33 -0
- package/dist/components/Fading.js.map +1 -0
- package/dist/components/FadingOverflow.d.ts +25 -0
- package/dist/components/FadingOverflow.d.ts.map +1 -1
- package/dist/components/FadingOverflow.js +16 -8
- package/dist/components/FadingOverflow.js.map +1 -1
- package/dist/components/FileDescription.d.ts +10 -0
- package/dist/components/FileDescription.d.ts.map +1 -0
- package/dist/components/FileDescription.js +84 -0
- package/dist/components/FileDescription.js.map +1 -0
- package/dist/components/HistoryList.d.ts +15 -0
- package/dist/components/HistoryList.d.ts.map +1 -1
- package/dist/components/HistoryList.js +6 -2
- package/dist/components/HistoryList.js.map +1 -1
- package/dist/components/ListResource.d.ts +29 -0
- package/dist/components/ListResource.d.ts.map +1 -0
- package/dist/components/ListResource.js +17 -0
- package/dist/components/ListResource.js.map +1 -0
- package/dist/components/Markdown.d.ts.map +1 -1
- package/dist/components/Markdown.js +2 -2
- package/dist/components/Markdown.js.map +1 -1
- package/dist/components/Modal.d.ts +9 -0
- package/dist/components/Modal.d.ts.map +1 -0
- package/dist/components/Modal.js +56 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/QuickStartButton.d.ts +2 -4
- package/dist/components/QuickStartButton.d.ts.map +1 -1
- package/dist/components/QuickStartButton.js +7 -39
- package/dist/components/QuickStartButton.js.map +1 -1
- package/dist/components/RightPanelContentList.d.ts +10 -0
- package/dist/components/RightPanelContentList.d.ts.map +1 -0
- package/dist/components/RightPanelContentList.js +7 -0
- package/dist/components/RightPanelContentList.js.map +1 -0
- package/dist/components/RightPanelForm.d.ts +3 -0
- package/dist/components/RightPanelForm.d.ts.map +1 -1
- package/dist/components/RightPanelForm.js +57 -17
- package/dist/components/RightPanelForm.js.map +1 -1
- package/dist/components/RightPanelTabs.d.ts +4 -4
- package/dist/components/RightPanelTabs.d.ts.map +1 -1
- package/dist/components/RightPanelTabs.js +7 -16
- package/dist/components/RightPanelTabs.js.map +1 -1
- package/dist/components/Selector/index.d.ts +54 -0
- package/dist/components/Selector/index.d.ts.map +1 -0
- package/dist/components/Selector/index.js +143 -0
- package/dist/components/Selector/index.js.map +1 -0
- package/dist/components/Selector/styled.d.ts +4 -0
- package/dist/components/Selector/styled.d.ts.map +1 -0
- package/dist/components/Selector/styled.js +157 -0
- package/dist/components/Selector/styled.js.map +1 -0
- package/dist/components/StackedBadge.d.ts +14 -0
- package/dist/components/StackedBadge.d.ts.map +1 -0
- package/dist/components/StackedBadge.js +56 -0
- package/dist/components/StackedBadge.js.map +1 -0
- package/dist/components/TabManager.d.ts +6 -0
- package/dist/components/TabManager.d.ts.map +1 -1
- package/dist/components/TabManager.js +16 -28
- package/dist/components/TabManager.js.map +1 -1
- package/dist/components/ToolBadge.d.ts +9 -0
- package/dist/components/ToolBadge.d.ts.map +1 -0
- package/dist/components/ToolBadge.js +34 -0
- package/dist/components/ToolBadge.js.map +1 -0
- package/dist/components/WorkspaceTabNavigator.d.ts +17 -0
- package/dist/components/WorkspaceTabNavigator.d.ts.map +1 -0
- package/dist/components/WorkspaceTabNavigator.js +93 -0
- package/dist/components/WorkspaceTabNavigator.js.map +1 -0
- package/dist/components/form/DescribedCheckboxGroup.d.ts +30 -2
- package/dist/components/form/DescribedCheckboxGroup.d.ts.map +1 -1
- package/dist/components/form/DescribedCheckboxGroup.js +75 -21
- package/dist/components/form/DescribedCheckboxGroup.js.map +1 -1
- package/dist/components/form/DescribedRadioGroup.d.ts +31 -2
- package/dist/components/form/DescribedRadioGroup.d.ts.map +1 -1
- package/dist/components/form/DescribedRadioGroup.js +65 -16
- package/dist/components/form/DescribedRadioGroup.js.map +1 -1
- package/dist/components/form/dictionary.d.ts +19 -0
- package/dist/components/form/dictionary.d.ts.map +1 -0
- package/dist/components/form/dictionary.js +19 -0
- package/dist/components/form/dictionary.js.map +1 -0
- package/dist/components/form/styled.d.ts.map +1 -1
- package/dist/components/form/styled.js +1 -2
- package/dist/components/form/styled.js.map +1 -1
- package/dist/components/form/types.d.ts +42 -0
- package/dist/components/form/types.d.ts.map +1 -1
- package/dist/context/AIWidgetProvider.d.ts +19 -0
- package/dist/context/AIWidgetProvider.d.ts.map +1 -1
- package/dist/context/AIWidgetProvider.js +19 -0
- package/dist/context/AIWidgetProvider.js.map +1 -1
- package/dist/context/hooks.d.ts +61 -4
- package/dist/context/hooks.d.ts.map +1 -1
- package/dist/context/hooks.js +83 -13
- package/dist/context/hooks.js.map +1 -1
- package/dist/features.d.ts +72 -10
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +23 -8
- package/dist/features.js.map +1 -1
- package/dist/hooks/midnight-update-view.d.ts +5 -0
- package/dist/hooks/midnight-update-view.d.ts.map +1 -0
- package/dist/hooks/midnight-update-view.js +30 -0
- package/dist/hooks/midnight-update-view.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/layout.css +95 -28
- package/dist/regex.d.ts +3 -0
- package/dist/regex.d.ts.map +1 -0
- package/dist/regex.js +3 -0
- package/dist/regex.js.map +1 -0
- package/dist/right-panel/DefaultPanel.d.ts +3 -0
- package/dist/right-panel/DefaultPanel.d.ts.map +1 -1
- package/dist/right-panel/DefaultPanel.js +5 -4
- package/dist/right-panel/DefaultPanel.js.map +1 -1
- package/dist/right-panel/RightPanel.d.ts +3 -0
- package/dist/right-panel/RightPanel.d.ts.map +1 -1
- package/dist/right-panel/RightPanel.js +3 -0
- package/dist/right-panel/RightPanel.js.map +1 -1
- package/dist/right-panel/RightPanelProvider.d.ts +15 -0
- package/dist/right-panel/RightPanelProvider.d.ts.map +1 -1
- package/dist/right-panel/RightPanelProvider.js.map +1 -1
- package/dist/right-panel/constants.d.ts +2 -0
- package/dist/right-panel/constants.d.ts.map +1 -0
- package/dist/right-panel/constants.js +2 -0
- package/dist/right-panel/constants.js.map +1 -0
- package/dist/right-panel/hooks.d.ts +6 -0
- package/dist/right-panel/hooks.d.ts.map +1 -1
- package/dist/right-panel/hooks.js +8 -1
- package/dist/right-panel/hooks.js.map +1 -1
- package/dist/state/ChatEntry.d.ts +182 -8
- package/dist/state/ChatEntry.d.ts.map +1 -1
- package/dist/state/ChatEntry.js +26 -3
- package/dist/state/ChatEntry.js.map +1 -1
- package/dist/state/ChatState.d.ts +116 -14
- package/dist/state/ChatState.d.ts.map +1 -1
- package/dist/state/ChatState.js +49 -8
- package/dist/state/ChatState.js.map +1 -1
- package/dist/state/ChatTabsController.d.ts +50 -1
- package/dist/state/ChatTabsController.d.ts.map +1 -1
- package/dist/state/ChatTabsController.js +77 -8
- package/dist/state/ChatTabsController.js.map +1 -1
- package/dist/state/ObservableState.d.ts +14 -0
- package/dist/state/ObservableState.d.ts.map +1 -1
- package/dist/state/ObservableState.js +14 -0
- package/dist/state/ObservableState.js.map +1 -1
- package/dist/state/WidgetState.d.ts +62 -2
- package/dist/state/WidgetState.d.ts.map +1 -1
- package/dist/state/WidgetState.js +49 -2
- package/dist/state/WidgetState.js.map +1 -1
- package/dist/state/constants.d.ts +5 -0
- package/dist/state/constants.d.ts.map +1 -0
- package/dist/state/constants.js +10 -0
- package/dist/state/constants.js.map +1 -0
- package/dist/state/types.d.ts +10 -1
- package/dist/state/types.d.ts.map +1 -1
- package/dist/types.d.ts +20 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/chat.d.ts +11 -4
- package/dist/utils/chat.d.ts.map +1 -1
- package/dist/utils/chat.js +13 -11
- package/dist/utils/chat.js.map +1 -1
- package/dist/utils/check-is-trial.d.ts +2 -0
- package/dist/utils/check-is-trial.d.ts.map +1 -0
- package/dist/utils/check-is-trial.js +6 -0
- package/dist/utils/check-is-trial.js.map +1 -0
- package/dist/utils/copy-to-clipboard.d.ts +6 -0
- package/dist/utils/copy-to-clipboard.d.ts.map +1 -0
- package/dist/utils/copy-to-clipboard.js +30 -0
- package/dist/utils/copy-to-clipboard.js.map +1 -0
- package/dist/utils/date.d.ts +26 -2
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +28 -3
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/download.d.ts +5 -0
- package/dist/utils/download.d.ts.map +1 -1
- package/dist/utils/download.js +5 -0
- package/dist/utils/download.js.map +1 -1
- package/dist/utils/error.d.ts +2 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +54 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/knowledge-source.d.ts +12 -2
- package/dist/utils/knowledge-source.d.ts.map +1 -1
- package/dist/utils/knowledge-source.js +16 -0
- package/dist/utils/knowledge-source.js.map +1 -1
- package/dist/utils/planning-tool.d.ts +17 -0
- package/dist/utils/planning-tool.d.ts.map +1 -0
- package/dist/utils/planning-tool.js +32 -0
- package/dist/utils/planning-tool.js.map +1 -0
- package/dist/utils/programming-languages.d.ts.map +1 -1
- package/dist/utils/programming-languages.js +10 -0
- package/dist/utils/programming-languages.js.map +1 -1
- package/dist/utils/string.d.ts +5 -0
- package/dist/utils/string.d.ts.map +1 -1
- package/dist/utils/string.js +5 -1
- package/dist/utils/string.js.map +1 -1
- package/dist/utils/tools.d.ts +23 -0
- package/dist/utils/tools.d.ts.map +1 -0
- package/dist/utils/tools.js +23 -0
- package/dist/utils/tools.js.map +1 -0
- package/dist/utils/update-tool-step.d.ts +3 -0
- package/dist/utils/update-tool-step.d.ts.map +1 -0
- package/dist/utils/update-tool-step.js +23 -0
- package/dist/utils/update-tool-step.js.map +1 -0
- package/dist/utils/upload/FileUpload.d.ts +21 -0
- package/dist/utils/upload/FileUpload.d.ts.map +1 -0
- package/dist/utils/upload/FileUpload.js +54 -0
- package/dist/utils/upload/FileUpload.js.map +1 -0
- package/dist/utils/upload/UploadManager.d.ts +42 -0
- package/dist/utils/upload/UploadManager.d.ts.map +1 -0
- package/dist/utils/upload/UploadManager.js +138 -0
- package/dist/utils/upload/UploadManager.js.map +1 -0
- package/dist/utils/upload/context.d.ts +15 -0
- package/dist/utils/upload/context.d.ts.map +1 -0
- package/dist/utils/upload/context.js +37 -0
- package/dist/utils/upload/context.js.map +1 -0
- package/dist/utils/upload/errors.d.ts +17 -0
- package/dist/utils/upload/errors.d.ts.map +1 -0
- package/dist/utils/upload/errors.js +27 -0
- package/dist/utils/upload/errors.js.map +1 -0
- package/dist/utils/upload/types.d.ts +7 -0
- package/dist/utils/upload/types.d.ts.map +1 -0
- package/dist/{components/Tooltip → utils/upload}/types.js.map +1 -1
- package/dist/utils/upload/use-paste-upload.d.ts +8 -0
- package/dist/utils/upload/use-paste-upload.d.ts.map +1 -0
- package/dist/utils/upload/use-paste-upload.js +19 -0
- package/dist/utils/upload/use-paste-upload.js.map +1 -0
- package/dist/utils/upload/utils.d.ts +4 -0
- package/dist/utils/upload/utils.d.ts.map +1 -0
- package/dist/utils/upload/utils.js +10 -0
- package/dist/utils/upload/utils.js.map +1 -0
- package/dist/utils/url.d.ts +2 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.js +8 -0
- package/dist/utils/url.js.map +1 -0
- package/dist/views/Agents/AgentDescription.d.ts +4 -0
- package/dist/views/Agents/AgentDescription.d.ts.map +1 -0
- package/dist/views/Agents/AgentDescription.js +38 -0
- package/dist/views/Agents/AgentDescription.js.map +1 -0
- package/dist/views/Agents/AgentsPanel.d.ts +5 -0
- package/dist/views/Agents/AgentsPanel.d.ts.map +1 -0
- package/dist/views/Agents/AgentsPanel.js +45 -0
- package/dist/views/Agents/AgentsPanel.js.map +1 -0
- package/dist/views/Agents/AgentsTab.d.ts +11 -0
- package/dist/views/Agents/AgentsTab.d.ts.map +1 -0
- package/dist/views/Agents/AgentsTab.js +82 -0
- package/dist/views/Agents/AgentsTab.js.map +1 -0
- package/dist/views/Agents/dictionary.d.ts +2 -0
- package/dist/views/Agents/dictionary.d.ts.map +1 -0
- package/dist/views/Agents/dictionary.js +43 -0
- package/dist/views/Agents/dictionary.js.map +1 -0
- package/dist/views/Agents/index.d.ts +5 -0
- package/dist/views/Agents/index.d.ts.map +1 -0
- package/dist/views/Agents/index.js +21 -0
- package/dist/views/Agents/index.js.map +1 -0
- package/dist/views/Agents/styled.d.ts +3 -0
- package/dist/views/Agents/styled.d.ts.map +1 -0
- package/dist/views/Agents/styled.js +68 -0
- package/dist/views/Agents/styled.js.map +1 -0
- package/dist/views/Agents/useAgentFavorites.d.ts +8 -0
- package/dist/views/Agents/useAgentFavorites.d.ts.map +1 -0
- package/dist/views/Agents/useAgentFavorites.js +59 -0
- package/dist/views/Agents/useAgentFavorites.js.map +1 -0
- package/dist/views/Chat/AgentInfo.d.ts +5 -1
- package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
- package/dist/views/Chat/AgentInfo.js +6 -5
- package/dist/views/Chat/AgentInfo.js.map +1 -1
- package/dist/views/Chat/ButtonExecutionDetail.d.ts +5 -0
- package/dist/views/Chat/ButtonExecutionDetail.d.ts.map +1 -0
- package/dist/views/Chat/ButtonExecutionDetail.js +34 -0
- package/dist/views/Chat/ButtonExecutionDetail.js.map +1 -0
- package/dist/views/Chat/ChatMessage.d.ts +56 -4
- package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessage.js +160 -24
- package/dist/views/Chat/ChatMessage.js.map +1 -1
- package/dist/views/Chat/ChatMessages.d.ts +6 -2
- package/dist/views/Chat/ChatMessages.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessages.js +5 -2
- package/dist/views/Chat/ChatMessages.js.map +1 -1
- package/dist/views/Chat/StepsList.d.ts +14 -0
- package/dist/views/Chat/StepsList.d.ts.map +1 -0
- package/dist/views/Chat/StepsList.js +192 -0
- package/dist/views/Chat/StepsList.js.map +1 -0
- package/dist/views/Chat/chat-scroll.d.ts +1 -1
- package/dist/views/Chat/chat-scroll.js +1 -1
- package/dist/views/Chat/events.d.ts +22 -0
- package/dist/views/Chat/events.d.ts.map +1 -0
- package/dist/views/Chat/events.js +67 -0
- package/dist/views/Chat/events.js.map +1 -0
- package/dist/views/Chat/index.d.ts +9 -2
- package/dist/views/Chat/index.d.ts.map +1 -1
- package/dist/views/Chat/index.js +5 -2
- package/dist/views/Chat/index.js.map +1 -1
- package/dist/views/Chat/styled.d.ts +3 -1
- package/dist/views/Chat/styled.d.ts.map +1 -1
- package/dist/views/Chat/styled.js +152 -31
- package/dist/views/Chat/styled.js.map +1 -1
- package/dist/views/ChatHistory/ChatHistoryPanel.d.ts +4 -4
- package/dist/views/ChatHistory/ChatHistoryPanel.d.ts.map +1 -1
- package/dist/views/ChatHistory/ChatHistoryPanel.js +6 -2
- package/dist/views/ChatHistory/ChatHistoryPanel.js.map +1 -1
- package/dist/views/ChatHistory/HistoryItem.d.ts +4 -3
- package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -1
- package/dist/views/ChatHistory/HistoryItem.js +16 -37
- package/dist/views/ChatHistory/HistoryItem.js.map +1 -1
- package/dist/views/ChatHistory/dictionary.d.ts +1 -1
- package/dist/views/ChatHistory/index.d.ts +4 -4
- package/dist/views/ChatHistory/index.d.ts.map +1 -1
- package/dist/views/ChatHistory/index.js +6 -3
- package/dist/views/ChatHistory/index.js.map +1 -1
- package/dist/views/ChatHistory/styled.d.ts.map +1 -1
- package/dist/views/ChatHistory/styled.js +3 -5
- package/dist/views/ChatHistory/styled.js.map +1 -1
- package/dist/views/ChatHistory/utils.d.ts +17 -2
- package/dist/views/ChatHistory/utils.d.ts.map +1 -1
- package/dist/views/ChatHistory/utils.js +140 -9
- package/dist/views/ChatHistory/utils.js.map +1 -1
- package/dist/views/ChatTabSelection.d.ts +6 -4
- package/dist/views/ChatTabSelection.d.ts.map +1 -1
- package/dist/views/ChatTabSelection.js +40 -15
- package/dist/views/ChatTabSelection.js.map +1 -1
- package/dist/views/Editor.d.ts +3 -0
- package/dist/views/Editor.d.ts.map +1 -1
- package/dist/views/Editor.js +23 -16
- package/dist/views/Editor.js.map +1 -1
- package/dist/views/Home/BuiltInAgent.d.ts +6 -0
- package/dist/views/Home/BuiltInAgent.d.ts.map +1 -0
- package/dist/views/Home/BuiltInAgent.js +37 -0
- package/dist/views/Home/BuiltInAgent.js.map +1 -0
- package/dist/views/Home/CustomAgent.d.ts +5 -0
- package/dist/views/Home/CustomAgent.d.ts.map +1 -0
- package/dist/views/Home/CustomAgent.js +23 -0
- package/dist/views/Home/CustomAgent.js.map +1 -0
- package/dist/views/Home/index.d.ts +8 -0
- package/dist/views/Home/index.d.ts.map +1 -0
- package/dist/views/Home/index.js +34 -0
- package/dist/views/Home/index.js.map +1 -0
- package/dist/views/Home/styled.d.ts +2 -0
- package/dist/views/Home/styled.d.ts.map +1 -0
- package/dist/views/Home/styled.js +74 -0
- package/dist/views/Home/styled.js.map +1 -0
- package/dist/views/Home/types.d.ts +16 -0
- package/dist/views/Home/types.d.ts.map +1 -0
- package/dist/views/Home/types.js +2 -0
- package/dist/views/Home/types.js.map +1 -0
- package/dist/views/KSDocument.d.ts +3 -0
- package/dist/views/KSDocument.d.ts.map +1 -1
- package/dist/views/KSDocument.js +7 -4
- package/dist/views/KSDocument.js.map +1 -1
- package/dist/views/KnowledgeSources.d.ts +12 -0
- package/dist/views/KnowledgeSources.d.ts.map +1 -1
- package/dist/views/KnowledgeSources.js +123 -33
- package/dist/views/KnowledgeSources.js.map +1 -1
- package/dist/views/MessageInput/AgentSelector.d.ts +5 -0
- package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -0
- package/dist/views/MessageInput/AgentSelector.js +66 -0
- package/dist/views/MessageInput/AgentSelector.js.map +1 -0
- package/dist/views/MessageInput/ButtonAgent.d.ts +2 -0
- package/dist/views/MessageInput/ButtonAgent.d.ts.map +1 -0
- package/dist/views/MessageInput/ButtonAgent.js +35 -0
- package/dist/views/MessageInput/ButtonAgent.js.map +1 -0
- package/dist/views/MessageInput/ButtonBar.d.ts +13 -0
- package/dist/views/MessageInput/ButtonBar.d.ts.map +1 -0
- package/dist/views/MessageInput/ButtonBar.js +15 -0
- package/dist/views/MessageInput/ButtonBar.js.map +1 -0
- package/dist/views/MessageInput/ContextBar.d.ts +9 -0
- package/dist/views/MessageInput/ContextBar.d.ts.map +1 -0
- package/dist/views/MessageInput/ContextBar.js +51 -0
- package/dist/views/MessageInput/ContextBar.js.map +1 -0
- package/dist/views/MessageInput/ModelSwitcher/index.d.ts +2 -0
- package/dist/views/MessageInput/ModelSwitcher/index.d.ts.map +1 -0
- package/dist/views/MessageInput/ModelSwitcher/index.js +25 -0
- package/dist/views/MessageInput/ModelSwitcher/index.js.map +1 -0
- package/dist/views/MessageInput/ModelSwitcher/utils.d.ts +30 -0
- package/dist/views/MessageInput/ModelSwitcher/utils.d.ts.map +1 -0
- package/dist/views/MessageInput/ModelSwitcher/utils.js +91 -0
- package/dist/views/MessageInput/ModelSwitcher/utils.js.map +1 -0
- package/dist/views/MessageInput/QuickCommandSelector.d.ts +5 -0
- package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -0
- package/dist/views/MessageInput/QuickCommandSelector.js +104 -0
- package/dist/views/MessageInput/QuickCommandSelector.js.map +1 -0
- package/dist/views/MessageInput/SelectContent.d.ts +2 -0
- package/dist/views/MessageInput/SelectContent.d.ts.map +1 -0
- package/dist/views/MessageInput/SelectContent.js +84 -0
- package/dist/views/MessageInput/SelectContent.js.map +1 -0
- package/dist/views/MessageInput/UploadBar.d.ts +2 -0
- package/dist/views/MessageInput/UploadBar.d.ts.map +1 -0
- package/dist/views/MessageInput/UploadBar.js +74 -0
- package/dist/views/MessageInput/UploadBar.js.map +1 -0
- package/dist/views/MessageInput/UploadDragNDrop.d.ts +14 -0
- package/dist/views/MessageInput/UploadDragNDrop.d.ts.map +1 -0
- package/dist/views/MessageInput/UploadDragNDrop.js +51 -0
- package/dist/views/MessageInput/UploadDragNDrop.js.map +1 -0
- package/dist/views/MessageInput/chat-entry-history.d.ts +11 -0
- package/dist/views/MessageInput/chat-entry-history.d.ts.map +1 -0
- package/dist/views/MessageInput/chat-entry-history.js +78 -0
- package/dist/views/MessageInput/chat-entry-history.js.map +1 -0
- package/dist/views/MessageInput/dictionary.d.ts +1 -1
- package/dist/views/MessageInput/dictionary.d.ts.map +1 -1
- package/dist/views/MessageInput/dictionary.js +52 -10
- package/dist/views/MessageInput/dictionary.js.map +1 -1
- package/dist/views/MessageInput/index.d.ts +9 -6
- package/dist/views/MessageInput/index.d.ts.map +1 -1
- package/dist/views/MessageInput/index.js +112 -20
- package/dist/views/MessageInput/index.js.map +1 -1
- package/dist/views/MessageInput/styled.d.ts +13 -1
- package/dist/views/MessageInput/styled.d.ts.map +1 -1
- package/dist/views/MessageInput/styled.js +223 -85
- package/dist/views/MessageInput/styled.js.map +1 -1
- package/dist/views/MinimizedHeader.d.ts +4 -0
- package/dist/views/MinimizedHeader.d.ts.map +1 -1
- package/dist/views/MinimizedHeader.js +9 -7
- package/dist/views/MinimizedHeader.js.map +1 -1
- package/dist/views/Resources.d.ts +2 -0
- package/dist/views/Resources.d.ts.map +1 -0
- package/dist/views/Resources.js +69 -0
- package/dist/views/Resources.js.map +1 -0
- package/dist/views/Stacks.d.ts +12 -0
- package/dist/views/Stacks.d.ts.map +1 -1
- package/dist/views/Stacks.js +117 -21
- package/dist/views/Stacks.js.map +1 -1
- package/dist/views/Steps/FlowChart/HandleGroup.d.ts +10 -0
- package/dist/views/Steps/FlowChart/HandleGroup.d.ts.map +1 -0
- package/dist/views/Steps/FlowChart/HandleGroup.js +4 -0
- package/dist/views/Steps/FlowChart/HandleGroup.js.map +1 -0
- package/dist/views/Steps/FlowChart/NodeDynamic.d.ts +15 -0
- package/dist/views/Steps/FlowChart/NodeDynamic.d.ts.map +1 -0
- package/dist/views/Steps/FlowChart/NodeDynamic.js +41 -0
- package/dist/views/Steps/FlowChart/NodeDynamic.js.map +1 -0
- package/dist/views/Steps/FlowChart/NodeStep.d.ts +10 -0
- package/dist/views/Steps/FlowChart/NodeStep.d.ts.map +1 -0
- package/dist/views/Steps/FlowChart/NodeStep.js +13 -0
- package/dist/views/Steps/FlowChart/NodeStep.js.map +1 -0
- package/dist/views/Steps/FlowChart/hooks.d.ts +7 -0
- package/dist/views/Steps/FlowChart/hooks.d.ts.map +1 -0
- package/dist/views/Steps/FlowChart/hooks.js +31 -0
- package/dist/views/Steps/FlowChart/hooks.js.map +1 -0
- package/dist/views/Steps/FlowChart/index.d.ts +12 -0
- package/dist/views/Steps/FlowChart/index.d.ts.map +1 -0
- package/dist/views/Steps/FlowChart/index.js +78 -0
- package/dist/views/Steps/FlowChart/index.js.map +1 -0
- package/dist/views/Steps/FlowChart/layout.d.ts +8 -0
- package/dist/views/Steps/FlowChart/layout.d.ts.map +1 -0
- package/dist/views/Steps/FlowChart/layout.js +59 -0
- package/dist/views/Steps/FlowChart/layout.js.map +1 -0
- package/dist/views/Steps/FlowChart/styled.d.ts +14 -0
- package/dist/views/Steps/FlowChart/styled.d.ts.map +1 -0
- package/dist/views/Steps/FlowChart/styled.js +156 -0
- package/dist/views/Steps/FlowChart/styled.js.map +1 -0
- package/dist/views/Steps/FlowChart/types.d.ts +25 -0
- package/dist/views/Steps/FlowChart/types.d.ts.map +1 -0
- package/dist/views/Steps/FlowChart/types.js +2 -0
- package/dist/views/Steps/FlowChart/types.js.map +1 -0
- package/dist/views/Steps/StepModal.d.ts +10 -0
- package/dist/views/Steps/StepModal.d.ts.map +1 -0
- package/dist/views/Steps/StepModal.js +139 -0
- package/dist/views/Steps/StepModal.js.map +1 -0
- package/dist/views/Steps/StepsPanel.d.ts +6 -0
- package/dist/views/Steps/StepsPanel.d.ts.map +1 -0
- package/dist/views/Steps/StepsPanel.js +18 -0
- package/dist/views/Steps/StepsPanel.js.map +1 -0
- package/dist/views/Steps/dictionary.d.ts +43 -0
- package/dist/views/Steps/dictionary.d.ts.map +1 -0
- package/dist/views/Steps/dictionary.js +45 -0
- package/dist/views/Steps/dictionary.js.map +1 -0
- package/dist/views/Steps/index.d.ts +5 -0
- package/dist/views/Steps/index.d.ts.map +1 -0
- package/dist/views/Steps/index.js +30 -0
- package/dist/views/Steps/index.js.map +1 -0
- package/dist/views/Steps/utils.d.ts +7 -0
- package/dist/views/Steps/utils.d.ts.map +1 -0
- package/dist/views/Steps/utils.js +32 -0
- package/dist/views/Steps/utils.js.map +1 -0
- package/dist/views/Tools.d.ts +2 -0
- package/dist/views/Tools.d.ts.map +1 -0
- package/dist/views/Tools.js +53 -0
- package/dist/views/Tools.js.map +1 -0
- package/dist/views/Workspaces/WorkspacesTab.d.ts +20 -0
- package/dist/views/Workspaces/WorkspacesTab.d.ts.map +1 -0
- package/dist/views/Workspaces/WorkspacesTab.js +61 -0
- package/dist/views/Workspaces/WorkspacesTab.js.map +1 -0
- package/dist/views/Workspaces/index.d.ts +5 -0
- package/dist/views/Workspaces/index.d.ts.map +1 -0
- package/dist/views/Workspaces/index.js +69 -0
- package/dist/views/Workspaces/index.js.map +1 -0
- package/package.dev.json +3 -0
- package/package.json +21 -13
- package/package.stg.json +4 -0
- package/src/StackspotAIWidget.tsx +96 -37
- package/src/app-metadata.json +175 -0
- package/src/assets/placeholder.png +0 -0
- package/src/chat-interceptors/CustomInputs.ts +14 -1
- package/src/chat-interceptors/quick-command-questions.ts +12 -2
- package/src/chat-interceptors/quick-commands.ts +286 -52
- package/src/chat-interceptors/send-message.ts +253 -25
- package/src/components/AdaptiveTextArea.tsx +36 -11
- package/src/components/AgentCard/AgentCardCreate.tsx +42 -0
- package/src/components/AgentCard/dictionary.ts +25 -0
- package/src/components/AgentCard/index.tsx +82 -0
- package/src/components/AnimatedOpacity.tsx +55 -0
- package/src/components/AutoFocus.tsx +42 -0
- package/src/components/ButtonFavorite.tsx +78 -0
- package/src/components/Code.tsx +94 -59
- package/src/components/ComponentNavigator.tsx +99 -0
- package/src/components/Fading.tsx +66 -0
- package/src/components/FadingOverflow.tsx +39 -12
- package/src/components/FileDescription.tsx +118 -0
- package/src/components/HistoryList.tsx +19 -2
- package/src/components/ListResource.tsx +60 -0
- package/src/components/Markdown.tsx +2 -1
- package/src/components/Modal.tsx +85 -0
- package/src/components/QuickStartButton.tsx +15 -47
- package/src/components/RightPanelContentList.tsx +15 -0
- package/src/components/RightPanelForm.tsx +64 -22
- package/src/components/RightPanelTabs.tsx +7 -32
- package/src/components/Selector/index.tsx +312 -0
- package/src/components/Selector/styled.ts +158 -0
- package/src/components/StackedBadge.tsx +77 -0
- package/src/components/TabManager.tsx +36 -36
- package/src/components/ToolBadge.tsx +67 -0
- package/src/components/WorkspaceTabNavigator.tsx +172 -0
- package/src/components/form/DescribedCheckboxGroup.tsx +135 -33
- package/src/components/form/DescribedRadioGroup.tsx +136 -32
- package/src/components/form/dictionary.ts +18 -0
- package/src/components/form/styled.ts +1 -2
- package/src/components/form/types.ts +45 -1
- package/src/context/AIWidgetProvider.tsx +19 -0
- package/src/context/hooks.ts +86 -16
- package/src/features.ts +90 -16
- package/src/hooks/midnight-update-view.ts +36 -0
- package/src/images.d.ts +5 -0
- package/src/index.ts +16 -0
- package/src/layout.css +95 -28
- package/src/regex.ts +2 -0
- package/src/right-panel/DefaultPanel.tsx +7 -7
- package/src/right-panel/RightPanel.tsx +3 -0
- package/src/right-panel/RightPanelProvider.tsx +15 -0
- package/src/right-panel/constants.ts +1 -0
- package/src/right-panel/hooks.tsx +8 -1
- package/src/state/ChatEntry.ts +189 -9
- package/src/state/ChatState.ts +131 -14
- package/src/state/ChatTabsController.ts +78 -8
- package/src/state/ObservableState.ts +14 -0
- package/src/state/WidgetState.ts +86 -3
- package/src/state/constants.ts +13 -0
- package/src/state/types.ts +12 -1
- package/src/types.ts +21 -4
- package/src/utils/chat.ts +15 -14
- package/src/utils/check-is-trial.ts +6 -0
- package/src/utils/copy-to-clipboard.ts +29 -0
- package/src/utils/date.ts +28 -4
- package/src/utils/download.ts +5 -0
- package/src/utils/error.ts +56 -0
- package/src/utils/knowledge-source.ts +18 -2
- package/src/utils/planning-tool.ts +41 -0
- package/src/utils/programming-languages.ts +10 -0
- package/src/utils/string.ts +5 -1
- package/src/utils/tools.ts +32 -0
- package/src/utils/update-tool-step.tsx +27 -0
- package/src/utils/upload/FileUpload.ts +63 -0
- package/src/utils/upload/UploadManager.ts +156 -0
- package/src/utils/upload/context.tsx +44 -0
- package/src/utils/upload/errors.ts +34 -0
- package/src/utils/upload/types.ts +7 -0
- package/src/utils/upload/use-paste-upload.tsx +30 -0
- package/src/utils/upload/utils.ts +12 -0
- package/src/utils/url.ts +8 -0
- package/src/views/Agents/AgentDescription.tsx +107 -0
- package/src/views/Agents/AgentsPanel.tsx +57 -0
- package/src/views/Agents/AgentsTab.tsx +126 -0
- package/src/views/Agents/dictionary.ts +45 -0
- package/src/views/Agents/index.tsx +26 -0
- package/src/views/Agents/styled.ts +69 -0
- package/src/views/Agents/useAgentFavorites.ts +63 -0
- package/src/views/Chat/AgentInfo.tsx +13 -8
- package/src/views/Chat/ButtonExecutionDetail.tsx +46 -0
- package/src/views/Chat/ChatMessage.tsx +465 -79
- package/src/views/Chat/ChatMessages.tsx +15 -4
- package/src/views/Chat/StepsList.tsx +394 -0
- package/src/views/Chat/chat-scroll.ts +1 -1
- package/src/views/Chat/events.ts +71 -0
- package/src/views/Chat/index.tsx +17 -3
- package/src/views/Chat/styled.ts +158 -32
- package/src/views/ChatHistory/ChatHistoryPanel.tsx +8 -5
- package/src/views/ChatHistory/HistoryItem.tsx +23 -44
- package/src/views/ChatHistory/index.tsx +6 -4
- package/src/views/ChatHistory/styled.ts +3 -5
- package/src/views/ChatHistory/utils.ts +144 -11
- package/src/views/ChatTabSelection.tsx +47 -20
- package/src/views/Editor.tsx +28 -18
- package/src/views/Home/BuiltInAgent.tsx +67 -0
- package/src/views/Home/CustomAgent.tsx +36 -0
- package/src/views/Home/index.tsx +48 -0
- package/src/views/Home/styled.ts +74 -0
- package/src/views/Home/types.ts +16 -0
- package/src/views/KSDocument.tsx +11 -8
- package/src/views/KnowledgeSources.tsx +169 -62
- package/src/views/MessageInput/AgentSelector.tsx +92 -0
- package/src/views/MessageInput/ButtonAgent.tsx +73 -0
- package/src/views/MessageInput/ButtonBar.tsx +57 -0
- package/src/views/MessageInput/ContextBar.tsx +117 -0
- package/src/views/MessageInput/ModelSwitcher/index.tsx +69 -0
- package/src/views/MessageInput/ModelSwitcher/utils.tsx +143 -0
- package/src/views/MessageInput/QuickCommandSelector.tsx +137 -0
- package/src/views/MessageInput/SelectContent.tsx +99 -0
- package/src/views/MessageInput/UploadBar.tsx +107 -0
- package/src/views/MessageInput/UploadDragNDrop.tsx +79 -0
- package/src/views/MessageInput/chat-entry-history.ts +97 -0
- package/src/views/MessageInput/dictionary.ts +52 -10
- package/src/views/MessageInput/index.tsx +154 -51
- package/src/views/MessageInput/styled.ts +226 -85
- package/src/views/MinimizedHeader.tsx +11 -10
- package/src/views/Resources.tsx +108 -0
- package/src/views/Stacks.tsx +152 -39
- package/src/views/Steps/FlowChart/HandleGroup.tsx +14 -0
- package/src/views/Steps/FlowChart/NodeDynamic.tsx +97 -0
- package/src/views/Steps/FlowChart/NodeStep.tsx +49 -0
- package/src/views/Steps/FlowChart/hooks.ts +41 -0
- package/src/views/Steps/FlowChart/index.tsx +111 -0
- package/src/views/Steps/FlowChart/layout.ts +73 -0
- package/src/views/Steps/FlowChart/styled.ts +157 -0
- package/src/views/Steps/FlowChart/types.ts +28 -0
- package/src/views/Steps/StepModal.tsx +233 -0
- package/src/views/Steps/StepsPanel.tsx +31 -0
- package/src/views/Steps/dictionary.ts +48 -0
- package/src/views/Steps/index.tsx +36 -0
- package/src/views/Steps/utils.tsx +34 -0
- package/src/views/Tools.tsx +77 -0
- package/src/views/Workspaces/WorkspacesTab.tsx +116 -0
- package/src/views/Workspaces/index.tsx +78 -0
- package/tsconfig.json +8 -3
- package/dist/components/Accordion.d.ts +0 -10
- package/dist/components/Accordion.d.ts.map +0 -1
- package/dist/components/Accordion.js +0 -46
- package/dist/components/Accordion.js.map +0 -1
- package/dist/components/FallbackBoundary/ErrorBoundary.d.ts +0 -30
- package/dist/components/FallbackBoundary/ErrorBoundary.d.ts.map +0 -1
- package/dist/components/FallbackBoundary/ErrorBoundary.js +0 -38
- package/dist/components/FallbackBoundary/ErrorBoundary.js.map +0 -1
- package/dist/components/FallbackBoundary/Loading.d.ts +0 -2
- package/dist/components/FallbackBoundary/Loading.d.ts.map +0 -1
- package/dist/components/FallbackBoundary/Loading.js +0 -12
- package/dist/components/FallbackBoundary/Loading.js.map +0 -1
- package/dist/components/FallbackBoundary/index.d.ts +0 -6
- package/dist/components/FallbackBoundary/index.d.ts.map +0 -1
- package/dist/components/FallbackBoundary/index.js +0 -9
- package/dist/components/FallbackBoundary/index.js.map +0 -1
- package/dist/components/IconInput.d.ts +0 -7
- package/dist/components/IconInput.d.ts.map +0 -1
- package/dist/components/IconInput.js +0 -58
- package/dist/components/IconInput.js.map +0 -1
- package/dist/components/OverlayMenu.d.ts +0 -10
- package/dist/components/OverlayMenu.d.ts.map +0 -1
- package/dist/components/OverlayMenu.js +0 -58
- package/dist/components/OverlayMenu.js.map +0 -1
- package/dist/components/ProgressBar.d.ts +0 -11
- package/dist/components/ProgressBar.d.ts.map +0 -1
- package/dist/components/ProgressBar.js +0 -126
- package/dist/components/ProgressBar.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.d.ts +0 -12
- package/dist/components/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/components/Tooltip/Tooltip.js +0 -17
- package/dist/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/components/Tooltip/TooltipAPI.d.ts +0 -13
- package/dist/components/Tooltip/TooltipAPI.d.ts.map +0 -1
- package/dist/components/Tooltip/TooltipAPI.js +0 -90
- package/dist/components/Tooltip/TooltipAPI.js.map +0 -1
- package/dist/components/Tooltip/context.d.ts +0 -5
- package/dist/components/Tooltip/context.d.ts.map +0 -1
- package/dist/components/Tooltip/context.js +0 -18
- package/dist/components/Tooltip/context.js.map +0 -1
- package/dist/components/Tooltip/index.d.ts +0 -3
- package/dist/components/Tooltip/index.d.ts.map +0 -1
- package/dist/components/Tooltip/index.js +0 -3
- package/dist/components/Tooltip/index.js.map +0 -1
- package/dist/components/Tooltip/style.d.ts +0 -4
- package/dist/components/Tooltip/style.d.ts.map +0 -1
- package/dist/components/Tooltip/style.js +0 -22
- package/dist/components/Tooltip/style.js.map +0 -1
- package/dist/components/Tooltip/types.d.ts +0 -14
- package/dist/components/Tooltip/types.d.ts.map +0 -1
- package/dist/views/Agents.d.ts +0 -2
- package/dist/views/Agents.d.ts.map +0 -1
- package/dist/views/Agents.js +0 -143
- package/dist/views/Agents.js.map +0 -1
- package/dist/views/Home.d.ts +0 -6
- package/dist/views/Home.d.ts.map +0 -1
- package/dist/views/Home.js +0 -68
- package/dist/views/Home.js.map +0 -1
- package/dist/views/MessageInput/ButtonGroup.d.ts +0 -12
- package/dist/views/MessageInput/ButtonGroup.d.ts.map +0 -1
- package/dist/views/MessageInput/ButtonGroup.js +0 -24
- package/dist/views/MessageInput/ButtonGroup.js.map +0 -1
- package/dist/views/MessageInput/InfoBar.d.ts +0 -2
- package/dist/views/MessageInput/InfoBar.d.ts.map +0 -1
- package/dist/views/MessageInput/InfoBar.js +0 -35
- package/dist/views/MessageInput/InfoBar.js.map +0 -1
- package/dist/views/Workspaces.d.ts +0 -2
- package/dist/views/Workspaces.d.ts.map +0 -1
- package/dist/views/Workspaces.js +0 -62
- package/dist/views/Workspaces.js.map +0 -1
- package/src/components/Accordion.tsx +0 -64
- package/src/components/FallbackBoundary/ErrorBoundary.tsx +0 -48
- package/src/components/FallbackBoundary/Loading.tsx +0 -14
- package/src/components/FallbackBoundary/index.tsx +0 -15
- package/src/components/IconInput.tsx +0 -70
- package/src/components/OverlayMenu.tsx +0 -77
- package/src/components/ProgressBar.tsx +0 -153
- package/src/components/Tooltip/Tooltip.tsx +0 -36
- package/src/components/Tooltip/TooltipAPI.ts +0 -84
- package/src/components/Tooltip/context.tsx +0 -24
- package/src/components/Tooltip/index.ts +0 -2
- package/src/components/Tooltip/style.tsx +0 -24
- package/src/components/Tooltip/types.ts +0 -15
- package/src/views/Agents.tsx +0 -200
- package/src/views/Home.tsx +0 -109
- package/src/views/MessageInput/ButtonGroup.tsx +0 -91
- package/src/views/MessageInput/InfoBar.tsx +0 -82
- package/src/views/Workspaces.tsx +0 -92
- /package/dist/{components/Tooltip → utils/upload}/types.js +0 -0
|
@@ -1,21 +1,65 @@
|
|
|
1
1
|
import { WithStyle } from '@stack-spot/portal-theme'
|
|
2
2
|
|
|
3
3
|
interface RadioCheckProps<T> extends WithStyle {
|
|
4
|
+
/**
|
|
5
|
+
* The options available.
|
|
6
|
+
*/
|
|
4
7
|
options: T[],
|
|
8
|
+
/**
|
|
9
|
+
* A function that renders an option as a label. This can either return a string or a React Element.
|
|
10
|
+
*/
|
|
5
11
|
renderLabel: (option: T) => React.ReactNode,
|
|
12
|
+
/**
|
|
13
|
+
* A function that renders an option as a description. This can either return a string or a React Element.
|
|
14
|
+
*/
|
|
6
15
|
renderDescription: (option: T) => React.ReactNode,
|
|
16
|
+
/**
|
|
17
|
+
* A function that renders a element before the content
|
|
18
|
+
*/
|
|
19
|
+
renderBeforeElement?: (option: T) => React.ReactNode,
|
|
20
|
+
/**
|
|
21
|
+
* A function that renders a element after the content
|
|
22
|
+
*/
|
|
23
|
+
renderAfterElement?: (option: T) => React.ReactNode,
|
|
24
|
+
/**
|
|
25
|
+
* A function that gives a custom className to the rendered option.
|
|
26
|
+
*/
|
|
7
27
|
optionClassName?: (option: T) => string | undefined,
|
|
28
|
+
/**
|
|
29
|
+
* A function that gives a custom style to the rendered option.
|
|
30
|
+
*/
|
|
8
31
|
optionStyle?: (option: T) => React.CSSProperties | undefined,
|
|
32
|
+
/**
|
|
33
|
+
* A function that generates a unique id for the option.
|
|
34
|
+
*/
|
|
9
35
|
keygen: (option: T) => React.Key,
|
|
10
|
-
|
|
36
|
+
/**
|
|
37
|
+
* An object containing favorite items and related operations.
|
|
38
|
+
*/
|
|
11
39
|
}
|
|
12
40
|
|
|
13
41
|
export interface RadioProps<T> extends RadioCheckProps<T> {
|
|
42
|
+
/**
|
|
43
|
+
* The current value of the radio group. This is one of the options.
|
|
44
|
+
*
|
|
45
|
+
* Comparisons use the same-value-zero algorithm (`===`).
|
|
46
|
+
*/
|
|
14
47
|
value: T | undefined,
|
|
48
|
+
/**
|
|
49
|
+
* A function to call whenever the value changes.
|
|
50
|
+
*/
|
|
15
51
|
onChange: (option: T) => void,
|
|
16
52
|
}
|
|
17
53
|
|
|
18
54
|
export interface CheckProps<T> extends RadioCheckProps<T> {
|
|
55
|
+
/**
|
|
56
|
+
* The current value of the checkbox group. This is sub-array of the array of options.
|
|
57
|
+
*
|
|
58
|
+
* Comparisons use the same-value-zero algorithm (`===`).
|
|
59
|
+
*/
|
|
19
60
|
value: T[],
|
|
61
|
+
/**
|
|
62
|
+
* A function to call whenever the value changes.
|
|
63
|
+
*/
|
|
20
64
|
onChange: (option: T[]) => void,
|
|
21
65
|
}
|
|
@@ -3,4 +3,23 @@ import { WidgetState } from '../state/WidgetState'
|
|
|
3
3
|
|
|
4
4
|
export const AIWidgetContext = createContext<WidgetState | undefined>(undefined)
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Creates a new context for the AI Chat Widget.
|
|
8
|
+
*
|
|
9
|
+
* This is not required, but makes it much easier to control the chat and is the only way to have multiple instances of the chat model in
|
|
10
|
+
* the same application.
|
|
11
|
+
*
|
|
12
|
+
* To control the chat widget in any component descendant from the `AIWidgetProvider`, you can call the hook `useWidget()`.
|
|
13
|
+
*
|
|
14
|
+
* Example:
|
|
15
|
+
* ```
|
|
16
|
+
* const widget = useMemo(() => new WidgetState(), [])
|
|
17
|
+
*
|
|
18
|
+
* return (
|
|
19
|
+
* <AIWidgetProvider value={widget}>
|
|
20
|
+
* {children}
|
|
21
|
+
* </AIWidgetProvider>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
6
25
|
export const AIWidgetProvider = AIWidgetContext.Provider
|
package/src/context/hooks.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { last } from 'lodash'
|
|
2
2
|
import { useContext, useEffect, useState } from 'react'
|
|
3
3
|
import { ChatEntry } from '../state/ChatEntry'
|
|
4
|
-
import { ChatProperties, ChatState
|
|
4
|
+
import { ChatProperties, ChatState } from '../state/ChatState'
|
|
5
5
|
import { ObservableState } from '../state/ObservableState'
|
|
6
6
|
import { WidgetProperties, WidgetState } from '../state/WidgetState'
|
|
7
|
-
import { createNewChat } from '../utils/chat'
|
|
8
7
|
import { AIWidgetContext } from './AIWidgetProvider'
|
|
9
8
|
|
|
10
9
|
let globalWidgetState: WidgetState | undefined
|
|
11
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Returns the closest instance of a WidgetState (React Context). If no context is available, uses a global instance of the chat widget.
|
|
13
|
+
*/
|
|
12
14
|
export function useWidget(): WidgetState {
|
|
13
15
|
const fromContext = useContext(AIWidgetContext)
|
|
14
16
|
if (fromContext) return fromContext
|
|
@@ -16,7 +18,10 @@ export function useWidget(): WidgetState {
|
|
|
16
18
|
return globalWidgetState
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Watches an ObservableState.
|
|
23
|
+
*/
|
|
24
|
+
export function useObservableState<T, K extends keyof T>(state: ObservableState<T>, key: K): T[K] {
|
|
20
25
|
const [value, setValue] = useState(state.get(key))
|
|
21
26
|
useEffect(() => {
|
|
22
27
|
setValue(state.get(key))
|
|
@@ -25,43 +30,80 @@ function useObservableState<T, K extends keyof T>(state: ObservableState<T>, key
|
|
|
25
30
|
return value
|
|
26
31
|
}
|
|
27
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Watches one of the widget states.
|
|
35
|
+
* @param key the key watch changes for.
|
|
36
|
+
* @returns the value of the state referred by the key.
|
|
37
|
+
*/
|
|
28
38
|
export function useWidgetState<K extends keyof WidgetProperties>(key: K): WidgetProperties[K] {
|
|
29
39
|
const widget = useWidget()
|
|
30
40
|
return useObservableState(widget, key)
|
|
31
41
|
}
|
|
32
42
|
|
|
33
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Watches the tabs of a ChatState. The value is updated whenever a tab is added, removed or selected.
|
|
45
|
+
*/
|
|
46
|
+
export function useChatTabs(): { chats: ChatState[], active: ChatState } {
|
|
34
47
|
const widget = useWidget()
|
|
35
|
-
const [tabs, setTabs] = useState<{ chats: ChatState[], active:
|
|
36
|
-
chats: widget.chatTabs.getAll(),
|
|
37
|
-
active: widget.chatTabs.
|
|
48
|
+
const [tabs, setTabs] = useState<{ chats: ChatState[], active: ChatState }>({
|
|
49
|
+
chats: widget.chatTabs.getAll(),
|
|
50
|
+
active: widget.chatTabs.getActiveChat(),
|
|
38
51
|
})
|
|
39
52
|
useEffect(() => widget.chatTabs.onChange((chats, active) => setTabs({ chats, active })), [])
|
|
40
53
|
return tabs
|
|
41
54
|
}
|
|
42
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Gets a chat according to its identifier (conversation id).
|
|
58
|
+
*
|
|
59
|
+
* An error is thrown if the id doesn't correspond to any chat currently opened.
|
|
60
|
+
*
|
|
61
|
+
* @returns the chat state.
|
|
62
|
+
*/
|
|
43
63
|
export function useChat(chatId: string): ChatState {
|
|
44
64
|
const widget = useWidget()
|
|
45
65
|
const chat = widget.chatTabs.get(chatId)
|
|
46
|
-
if (!chat) throw new Error(`No chat with id ${chatId} was found. Maybe there are no chats opened
|
|
66
|
+
if (!chat) throw new Error(`No chat with id ${chatId} was found. Maybe there are no chats opened.`)
|
|
47
67
|
return chat
|
|
48
68
|
}
|
|
49
69
|
|
|
70
|
+
/**
|
|
71
|
+
* Watches the current chat (selected in the chat tabs.)
|
|
72
|
+
*
|
|
73
|
+
* The value changes whenever a new chat is selected.
|
|
74
|
+
*
|
|
75
|
+
* @returns the currently active chat.
|
|
76
|
+
*/
|
|
50
77
|
export function useCurrentChat(): ChatState {
|
|
51
|
-
|
|
52
|
-
return useChat(active)
|
|
78
|
+
return useChatTabs().active
|
|
53
79
|
}
|
|
54
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Watches one of the chat states.
|
|
83
|
+
* @param chatId the id of chat to watch.
|
|
84
|
+
* @param key the key of the state to watch.
|
|
85
|
+
* @returns the value of the state referred by the key.
|
|
86
|
+
*/
|
|
55
87
|
export function useChatState<K extends keyof ChatProperties>(chatId: string, key: K): ChatProperties[K] {
|
|
56
88
|
const chat = useChat(chatId)
|
|
57
89
|
return useObservableState(chat, key)
|
|
58
90
|
}
|
|
59
91
|
|
|
92
|
+
/**
|
|
93
|
+
* Watches one of the current chat states. This is the same as calling `useChatState` with the id of the current chat.
|
|
94
|
+
* @param key the key of the state to watch.
|
|
95
|
+
* @returns the value of the state referred by the key.
|
|
96
|
+
*/
|
|
60
97
|
export function useCurrentChatState<K extends keyof ChatProperties>(key: K): ChatProperties[K] {
|
|
61
98
|
const chat = useCurrentChat()
|
|
62
99
|
return useObservableState(chat, key)
|
|
63
100
|
}
|
|
64
101
|
|
|
102
|
+
/**
|
|
103
|
+
* Watches a chat state for changes in the list of messages (chat entries).
|
|
104
|
+
* @param chatId the id of the chat to watch.
|
|
105
|
+
* @returns the list of messages in the chat.
|
|
106
|
+
*/
|
|
65
107
|
export function useChatMessages(chatId: string): ChatEntry[] {
|
|
66
108
|
const chat = useChat(chatId)
|
|
67
109
|
const [entries, setEntries] = useState(chat.getMessages())
|
|
@@ -72,19 +114,47 @@ export function useChatMessages(chatId: string): ChatEntry[] {
|
|
|
72
114
|
return entries
|
|
73
115
|
}
|
|
74
116
|
|
|
117
|
+
/**
|
|
118
|
+
* Watches the chat state currently active for changes in the list of messages (chat entries). This is the same as calling `useChatMessages`
|
|
119
|
+
* with the id of the current chat.
|
|
120
|
+
* @returns the list of messages in the chat.
|
|
121
|
+
*/
|
|
75
122
|
export function useCurrentChatMessages(): ChatEntry[] {
|
|
76
123
|
const { active } = useChatTabs()
|
|
77
|
-
return useChatMessages(active)
|
|
124
|
+
return useChatMessages(active.id)
|
|
78
125
|
}
|
|
79
126
|
|
|
127
|
+
/**
|
|
128
|
+
* Watches a chat message (chat entry) for changes in its composition. This allows messages to be streamed: each part of the stream will
|
|
129
|
+
* change the current value of the entry.
|
|
130
|
+
* @param entry the message to watch.
|
|
131
|
+
* @returns the current value of the message.
|
|
132
|
+
*/
|
|
80
133
|
export function useChatEntry(entry: ChatEntry) {
|
|
81
134
|
const [content, setContent] = useState(entry.getValue())
|
|
82
135
|
useEffect(() => entry.onChange(setContent), [])
|
|
83
136
|
return content
|
|
84
137
|
}
|
|
85
138
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
139
|
+
/*
|
|
140
|
+
* An efficient hook that returns true when the current chat entry is the last entry and false when it's not.
|
|
141
|
+
*
|
|
142
|
+
* For efficiency purposes, this hook assumes that:
|
|
143
|
+
* - Any change to the list of messages makes it grow.
|
|
144
|
+
* - Once a message is no longer the last, it will never be the last entry again.
|
|
145
|
+
*
|
|
146
|
+
* @param id: the id of the entry.
|
|
147
|
+
**/
|
|
148
|
+
export function useIsLastEntryInCurrentChat(id: number) {
|
|
149
|
+
const chat = useCurrentChat()
|
|
150
|
+
const [isLast, setLast] = useState(last(chat.getMessages())?.id === id)
|
|
151
|
+
useEffect(() => {
|
|
152
|
+
if (!isLast) return
|
|
153
|
+
const removeListener = chat.onChangeMessages(() => {
|
|
154
|
+
setLast(false)
|
|
155
|
+
removeListener()
|
|
156
|
+
})
|
|
157
|
+
return removeListener
|
|
158
|
+
}, [chat])
|
|
159
|
+
return isLast
|
|
90
160
|
}
|
package/src/features.ts
CHANGED
|
@@ -1,21 +1,95 @@
|
|
|
1
|
-
export interface
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
export interface ChatFeatures {
|
|
2
|
+
/**
|
|
3
|
+
* Enables stack selection.
|
|
4
|
+
*/
|
|
5
|
+
stack: boolean,
|
|
6
|
+
/**
|
|
7
|
+
* Enables workspace selection.
|
|
8
|
+
*/
|
|
9
|
+
workspace: boolean,
|
|
10
|
+
/**
|
|
11
|
+
* Enables knowledge source selection.
|
|
12
|
+
*/
|
|
13
|
+
knowledgeSource: boolean,
|
|
14
|
+
/**
|
|
15
|
+
* Enables agent selection.
|
|
16
|
+
*/
|
|
17
|
+
agent: boolean,
|
|
18
|
+
/**
|
|
19
|
+
* Enables quick commands.
|
|
20
|
+
*/
|
|
21
|
+
quickCommands: boolean,
|
|
22
|
+
/**
|
|
23
|
+
* Enables the editor.
|
|
24
|
+
*/
|
|
25
|
+
editor: boolean,
|
|
26
|
+
/**
|
|
27
|
+
* Enables chat message. Default: true
|
|
28
|
+
*/
|
|
29
|
+
messageInput: boolean,
|
|
30
|
+
/**
|
|
31
|
+
* Enables file uploads.
|
|
32
|
+
*/
|
|
33
|
+
upload: boolean,
|
|
34
|
+
/**
|
|
35
|
+
* Enables the listing of sources when writing a chat response.
|
|
36
|
+
*/
|
|
37
|
+
showSourcesInResponse: boolean,
|
|
38
|
+
/**
|
|
39
|
+
* Enables streaming in chat responses.
|
|
40
|
+
*/
|
|
41
|
+
streaming: boolean,
|
|
42
|
+
/**
|
|
43
|
+
* Enables LLM select.
|
|
44
|
+
*/
|
|
45
|
+
showLLMSelect: boolean,
|
|
8
46
|
}
|
|
9
47
|
|
|
10
|
-
export
|
|
11
|
-
|
|
48
|
+
export type Scope = 'favorite' | 'builtin' | 'personal' | 'shared' | 'workspace' | 'account'
|
|
49
|
+
|
|
50
|
+
export interface GlobalFeatures {
|
|
51
|
+
/**
|
|
52
|
+
* Enables the chat history.
|
|
53
|
+
*/
|
|
54
|
+
chatHistory: boolean,
|
|
55
|
+
/**
|
|
56
|
+
* When selecting a resource, they're separated by scope (account, personal, workspace, etc.).
|
|
57
|
+
*
|
|
58
|
+
* If this is set, only the scopes in this list will be enabled.
|
|
59
|
+
*/
|
|
60
|
+
scopes?: Scope[],
|
|
61
|
+
/**
|
|
62
|
+
* When set, only items(knowledge sources, agents, stacks ai, quick commands) from that workspace will be shown to the user.
|
|
63
|
+
*/
|
|
64
|
+
workspaceId?: string,
|
|
65
|
+
/**
|
|
66
|
+
* when set to false it does not show tab by scope, it shows a single list.
|
|
67
|
+
*/
|
|
68
|
+
groupResourcesByScope?: boolean,
|
|
12
69
|
}
|
|
13
70
|
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
71
|
+
export type AIWidgetFeatures = ChatFeatures & GlobalFeatures
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Receives a partial feature object and returns a full feature object, setting to true any missing property.
|
|
75
|
+
* @param features the partial features object.
|
|
76
|
+
* @returns a full features object.
|
|
77
|
+
*/
|
|
78
|
+
export function getFeaturesWithDefaults(features?: Partial<AIWidgetFeatures>): AIWidgetFeatures {
|
|
79
|
+
return {
|
|
80
|
+
agent: true,
|
|
81
|
+
editor: true,
|
|
82
|
+
knowledgeSource: true,
|
|
83
|
+
quickCommands: true,
|
|
84
|
+
stack: true,
|
|
85
|
+
workspace: true,
|
|
86
|
+
chatHistory: true,
|
|
87
|
+
messageInput: true,
|
|
88
|
+
upload: true,
|
|
89
|
+
streaming: true,
|
|
90
|
+
showLLMSelect: true,
|
|
91
|
+
showSourcesInResponse: true,
|
|
92
|
+
groupResourcesByScope: true,
|
|
93
|
+
...features,
|
|
94
|
+
}
|
|
21
95
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useManualRender } from '@stack-spot/portal-components'
|
|
2
|
+
import { useEffect } from 'react'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Returns the number of milliseconds remaining until the next midnight.
|
|
6
|
+
*/
|
|
7
|
+
function getTimeUntilMidnight() {
|
|
8
|
+
const now = new Date()
|
|
9
|
+
const midnight = new Date(now)
|
|
10
|
+
midnight.setHours(24, 0, 0, 0)
|
|
11
|
+
return midnight.getTime() - now.getTime()
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Hook that triggers a component re-render at midnight every day.
|
|
16
|
+
*/
|
|
17
|
+
export function useMidnightUpdateView() {
|
|
18
|
+
const { repaint } = useManualRender()
|
|
19
|
+
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
let timer: ReturnType<typeof setTimeout> | undefined
|
|
22
|
+
|
|
23
|
+
const scheduleUpdate = () => {
|
|
24
|
+
const timeUntilMidnight = getTimeUntilMidnight()
|
|
25
|
+
|
|
26
|
+
timer = setTimeout(() => {
|
|
27
|
+
repaint()
|
|
28
|
+
scheduleUpdate()
|
|
29
|
+
}, timeUntilMidnight)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
scheduleUpdate()
|
|
33
|
+
|
|
34
|
+
return () => { timer && clearTimeout(timer) }
|
|
35
|
+
}, [])
|
|
36
|
+
}
|
package/src/images.d.ts
ADDED
package/src/index.ts
CHANGED
|
@@ -1,8 +1,24 @@
|
|
|
1
|
+
/* Attention: in order for the package "page" to work without linking the lib, we must export types separately, using the "type" keyword */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export { createEntryValueFromChatResponse, helperSendMessage } from './chat-interceptors/send-message'
|
|
5
|
+
export { QuickStartButton } from './components/QuickStartButton'
|
|
1
6
|
export { AIWidgetProvider } from './context/AIWidgetProvider'
|
|
2
7
|
export * from './context/hooks'
|
|
8
|
+
export { getFeaturesWithDefaults } from './features'
|
|
9
|
+
export type { AIWidgetFeatures, ChatFeatures } from './features'
|
|
3
10
|
export { StackspotAIWidget } from './StackspotAIWidget'
|
|
4
11
|
export { ChatEntry } from './state/ChatEntry'
|
|
12
|
+
export type { ChatAction, TextChatEntry } from './state/ChatEntry'
|
|
5
13
|
export { ChatState } from './state/ChatState'
|
|
14
|
+
export type { MessageInterceptor } from './state/ChatState'
|
|
6
15
|
export { ChatTabsController } from './state/ChatTabsController'
|
|
16
|
+
export { acceptedFileTypes } from './state/constants'
|
|
7
17
|
export { ObservableState } from './state/ObservableState'
|
|
18
|
+
export type { Labeled, LabeledAgent, LabeledWithImage } from './state/types'
|
|
8
19
|
export { WidgetState } from './state/WidgetState'
|
|
20
|
+
export type { ButtonAction } from './types'
|
|
21
|
+
export { defaultLanguage, languages } from './utils/programming-languages'
|
|
22
|
+
export type { CustomRenderResult } from './views/Chat/ChatMessage'
|
|
23
|
+
export { loadChat } from './views/ChatHistory/utils'
|
|
24
|
+
|
package/src/layout.css
CHANGED
|
@@ -1,29 +1,3 @@
|
|
|
1
|
-
@font-face {
|
|
2
|
-
font-family: "San Francisco";
|
|
3
|
-
font-weight: 400;
|
|
4
|
-
src: url("https://applesocial.s3.amazonaws.com/assets/styles/fonts/sanfrancisco/sanfranciscodisplay-regular-webfont.woff");
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/* Scroll bars */
|
|
8
|
-
|
|
9
|
-
::-webkit-scrollbar-track {
|
|
10
|
-
background-color: transparent;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
::-webkit-scrollbar {
|
|
14
|
-
width: 0.25rem;
|
|
15
|
-
height: 0.5rem;
|
|
16
|
-
background-color: transparent;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
::-webkit-scrollbar-thumb {
|
|
20
|
-
background-color: var(--light-600);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
::-webkit-scrollbar-corner {
|
|
24
|
-
background-color: transparent;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
1
|
/* Classes */
|
|
28
2
|
|
|
29
3
|
.ai-chat-widget {
|
|
@@ -31,7 +5,7 @@
|
|
|
31
5
|
background-color: var(--light-400);
|
|
32
6
|
border-radius: 4px;
|
|
33
7
|
position: relative;
|
|
34
|
-
overflow:
|
|
8
|
+
overflow: clip;
|
|
35
9
|
width: 100%;
|
|
36
10
|
height: 100%;
|
|
37
11
|
|
|
@@ -53,7 +27,6 @@
|
|
|
53
27
|
.home-page {
|
|
54
28
|
.title {
|
|
55
29
|
margin-top: 40px;
|
|
56
|
-
font-size: 18px;
|
|
57
30
|
}
|
|
58
31
|
.subtitle {
|
|
59
32
|
font-size: 14px;
|
|
@@ -73,6 +46,11 @@
|
|
|
73
46
|
display: none;
|
|
74
47
|
}
|
|
75
48
|
}
|
|
49
|
+
.quick-command-selector {
|
|
50
|
+
width: auto;
|
|
51
|
+
left: 10px;
|
|
52
|
+
right: 10px;
|
|
53
|
+
}
|
|
76
54
|
}
|
|
77
55
|
}
|
|
78
56
|
|
|
@@ -90,20 +68,40 @@
|
|
|
90
68
|
}
|
|
91
69
|
|
|
92
70
|
.chat-container {
|
|
71
|
+
position: relative;
|
|
93
72
|
padding: 20px;
|
|
94
73
|
max-width: 1200px;
|
|
95
74
|
width: calc(100% - 40px);
|
|
96
75
|
display: flex;
|
|
97
76
|
flex-direction: column;
|
|
98
77
|
flex: 1;
|
|
78
|
+
.agent-list .agent-card {
|
|
79
|
+
flex-direction: row;
|
|
80
|
+
align-items: center;
|
|
81
|
+
gap: 8px;
|
|
82
|
+
border-radius: 4px;
|
|
83
|
+
padding: 10px 8px;
|
|
84
|
+
img {
|
|
85
|
+
width: 32px;
|
|
86
|
+
height: 32px;
|
|
87
|
+
border-radius: 4px;
|
|
88
|
+
}
|
|
89
|
+
h6 {
|
|
90
|
+
font-weight: 400;
|
|
91
|
+
font-size: 13px;
|
|
92
|
+
line-height: 14px;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
99
95
|
}
|
|
100
96
|
|
|
101
97
|
.chat-content {
|
|
98
|
+
padding-bottom: 16px;
|
|
102
99
|
display: flex;
|
|
103
100
|
flex-direction: column;
|
|
104
101
|
flex: 1;
|
|
105
102
|
flex-basis: 0;
|
|
106
103
|
overflow: auto;
|
|
104
|
+
padding-right: 12px;
|
|
107
105
|
}
|
|
108
106
|
|
|
109
107
|
.chat-right-panel {
|
|
@@ -119,7 +117,76 @@
|
|
|
119
117
|
display: flex;
|
|
120
118
|
flex-direction: column;
|
|
121
119
|
|
|
120
|
+
code {
|
|
121
|
+
overflow: auto;
|
|
122
|
+
}
|
|
123
|
+
|
|
122
124
|
&.visible {
|
|
123
125
|
left: 50%;
|
|
124
126
|
}
|
|
125
127
|
}
|
|
128
|
+
|
|
129
|
+
.chat-modal {
|
|
130
|
+
position: absolute;
|
|
131
|
+
top: 90px;
|
|
132
|
+
bottom: 20px;
|
|
133
|
+
right: 20px;
|
|
134
|
+
width: 20%;
|
|
135
|
+
min-width: 400px;
|
|
136
|
+
border-radius: 6px;
|
|
137
|
+
background-color: var(--light-400);
|
|
138
|
+
border: 1px solid var(--light-600);
|
|
139
|
+
overflow: auto;
|
|
140
|
+
|
|
141
|
+
> header {
|
|
142
|
+
padding: 14px;
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: center;
|
|
145
|
+
justify-content: space-between;
|
|
146
|
+
gap: 6px;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* fixes placeholder description */
|
|
151
|
+
.no-data-placeholder {
|
|
152
|
+
> div > p {
|
|
153
|
+
text-align: center;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.input-phone .react-international-phone-country-selector-button {
|
|
158
|
+
background-color: var(--light-300);
|
|
159
|
+
border: 1px solid var(--primary-500);
|
|
160
|
+
border-right: none;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.input-phone.react-international-phone-input-container .react-international-phone-input {
|
|
164
|
+
background-color: var(--light-300);
|
|
165
|
+
border: 1px solid var(--primary-500);
|
|
166
|
+
border-left: none;
|
|
167
|
+
color: var(--light-contrastText);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.upload-drag-drop {
|
|
171
|
+
display: flex;
|
|
172
|
+
background-color: #00000090;
|
|
173
|
+
background-color: color-mix(in srgb, var(--light-300) 80%, transparent);
|
|
174
|
+
position: absolute;
|
|
175
|
+
width: 99%;
|
|
176
|
+
height: 99%;
|
|
177
|
+
top: 0;
|
|
178
|
+
left: 0;
|
|
179
|
+
flex-direction: column;
|
|
180
|
+
justify-content: center;
|
|
181
|
+
align-items: center;
|
|
182
|
+
border: 1px dashed var(--secondary-500);
|
|
183
|
+
z-index: 9999;
|
|
184
|
+
pointer-events: auto;
|
|
185
|
+
color: var(--light-contrastText)
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.menu-citric-hr {
|
|
189
|
+
hr {
|
|
190
|
+
margin: 0;
|
|
191
|
+
}
|
|
192
|
+
}
|
package/src/regex.ts
ADDED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { Text } from '@citric
|
|
2
|
-
import { Times } from '@citric/icons'
|
|
3
|
-
import { IconButton } from '@citric/ui'
|
|
1
|
+
import { IconButton, Text } from '@stack-spot/citric-react'
|
|
4
2
|
import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
|
|
5
3
|
import { styled } from 'styled-components'
|
|
6
4
|
import { WithChildren } from '../types'
|
|
@@ -40,18 +38,20 @@ const PanelBox = styled.div`
|
|
|
40
38
|
}
|
|
41
39
|
`
|
|
42
40
|
|
|
41
|
+
/**
|
|
42
|
+
* Default layout for a right panel.
|
|
43
|
+
*/
|
|
43
44
|
export const DefaultPanel = ({ description, onClose, title, children }: Props) => {
|
|
44
45
|
const t = useTranslate(dictionary)
|
|
46
|
+
|
|
45
47
|
return (
|
|
46
48
|
<PanelBox>
|
|
47
49
|
<header>
|
|
48
50
|
<div className="title">
|
|
49
51
|
{typeof title === 'string' ? <Text appearance="h5">{title}</Text> : title}
|
|
50
|
-
{typeof description === 'string' ? <Text
|
|
52
|
+
{typeof description === 'string' ? <Text color="light.700">{description}</Text> : description}
|
|
51
53
|
</div>
|
|
52
|
-
<IconButton title={t.close} aria-label={t.close} onClick={onClose}
|
|
53
|
-
<Times />
|
|
54
|
-
</IconButton>
|
|
54
|
+
<IconButton icon="Times" title={t.close} aria-label={t.close} onClick={onClose} />
|
|
55
55
|
</header>
|
|
56
56
|
<article>{children}</article>
|
|
57
57
|
</PanelBox>
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { createContext, useMemo, useRef, useState } from 'react'
|
|
2
2
|
|
|
3
3
|
interface ContextValue {
|
|
4
|
+
/**
|
|
5
|
+
* The current content of the right panel.
|
|
6
|
+
*/
|
|
4
7
|
content?: React.ReactNode,
|
|
8
|
+
/**
|
|
9
|
+
* Sets the current content of the right panel.
|
|
10
|
+
*/
|
|
5
11
|
setContent?: (content: React.ReactNode) => void,
|
|
12
|
+
/**
|
|
13
|
+
* A reference to the right panel HTML Element.
|
|
14
|
+
*/
|
|
6
15
|
panel?: React.RefObject<HTMLDivElement>,
|
|
16
|
+
/**
|
|
17
|
+
* A reference to the chat window at the left of the right panel.
|
|
18
|
+
*/
|
|
7
19
|
chatWindow?: React.RefObject<HTMLDivElement>,
|
|
20
|
+
/**
|
|
21
|
+
* A function to run when the right panel is closed for the next time.
|
|
22
|
+
*/
|
|
8
23
|
onCloseNext: React.MutableRefObject<(() => void) | undefined>,
|
|
9
24
|
}
|
|
10
25
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const panelAnimationTime = 300
|