@stack-spot/ai-chat-widget 1.0.0 → 1.1.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/CHANGELOG.md +9 -0
- package/dist/StackspotAIWidget.d.ts +20 -0
- package/dist/StackspotAIWidget.d.ts.map +1 -1
- package/dist/StackspotAIWidget.js +7 -3
- package/dist/StackspotAIWidget.js.map +1 -1
- 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 +42 -3
- package/dist/chat-interceptors/quick-commands.js.map +1 -1
- package/dist/chat-interceptors/send-message.d.ts +10 -0
- package/dist/chat-interceptors/send-message.d.ts.map +1 -1
- package/dist/chat-interceptors/send-message.js +18 -0
- package/dist/chat-interceptors/send-message.js.map +1 -1
- package/dist/components/Accordion.d.ts +10 -0
- package/dist/components/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion.js +3 -0
- package/dist/components/Accordion.js.map +1 -1
- package/dist/components/AdaptiveTextArea.d.ts +12 -0
- package/dist/components/AdaptiveTextArea.d.ts.map +1 -1
- package/dist/components/AdaptiveTextArea.js +3 -0
- package/dist/components/AdaptiveTextArea.js.map +1 -1
- package/dist/components/AutoFocus.d.ts +17 -0
- package/dist/components/AutoFocus.d.ts.map +1 -1
- package/dist/components/AutoFocus.js +6 -5
- package/dist/components/AutoFocus.js.map +1 -1
- package/dist/components/Fading.d.ts +19 -2
- package/dist/components/Fading.d.ts.map +1 -1
- package/dist/components/Fading.js +6 -4
- package/dist/components/Fading.js.map +1 -1
- package/dist/components/FadingOverflow.d.ts +25 -0
- package/dist/components/FadingOverflow.d.ts.map +1 -1
- package/dist/components/FadingOverflow.js +11 -2
- package/dist/components/FadingOverflow.js.map +1 -1
- package/dist/components/FallbackBoundary/index.d.ts +6 -0
- package/dist/components/FallbackBoundary/index.d.ts.map +1 -1
- package/dist/components/FallbackBoundary/index.js.map +1 -1
- package/dist/components/HistoryList.d.ts +15 -0
- package/dist/components/HistoryList.d.ts.map +1 -1
- package/dist/components/HistoryList.js +3 -1
- package/dist/components/HistoryList.js.map +1 -1
- package/dist/components/IconInput.d.ts +3 -0
- package/dist/components/IconInput.d.ts.map +1 -1
- package/dist/components/IconInput.js +3 -0
- package/dist/components/IconInput.js.map +1 -1
- package/dist/components/OverlayMenu.d.ts +11 -0
- package/dist/components/OverlayMenu.d.ts.map +1 -1
- package/dist/components/OverlayMenu.js +5 -1
- package/dist/components/OverlayMenu.js.map +1 -1
- package/dist/components/ProgressBar.d.ts +22 -0
- package/dist/components/ProgressBar.d.ts.map +1 -1
- package/dist/components/ProgressBar.js +5 -0
- package/dist/components/ProgressBar.js.map +1 -1
- package/dist/components/QuickStartButton.d.ts.map +1 -1
- package/dist/components/QuickStartButton.js +3 -0
- package/dist/components/QuickStartButton.js.map +1 -1
- package/dist/components/RightPanelForm.d.ts +3 -0
- package/dist/components/RightPanelForm.d.ts.map +1 -1
- package/dist/components/RightPanelForm.js +3 -0
- package/dist/components/RightPanelForm.js.map +1 -1
- package/dist/components/RightPanelTabs.d.ts +3 -0
- package/dist/components/RightPanelTabs.d.ts.map +1 -1
- package/dist/components/RightPanelTabs.js +3 -0
- package/dist/components/RightPanelTabs.js.map +1 -1
- package/dist/components/TabManager.d.ts +6 -0
- package/dist/components/TabManager.d.ts.map +1 -1
- package/dist/components/TabManager.js +8 -0
- package/dist/components/TabManager.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +23 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +4 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/TooltipAPI.d.ts +16 -0
- package/dist/components/Tooltip/TooltipAPI.d.ts.map +1 -1
- package/dist/components/Tooltip/TooltipAPI.js +17 -0
- package/dist/components/Tooltip/TooltipAPI.js.map +1 -1
- package/dist/components/Tooltip/types.d.ts +13 -0
- package/dist/components/Tooltip/types.d.ts.map +1 -1
- package/dist/components/form/DescribedCheckboxGroup.d.ts +4 -0
- package/dist/components/form/DescribedCheckboxGroup.d.ts.map +1 -1
- package/dist/components/form/DescribedCheckboxGroup.js +4 -0
- package/dist/components/form/DescribedCheckboxGroup.js.map +1 -1
- package/dist/components/form/DescribedRadioGroup.d.ts +4 -0
- package/dist/components/form/DescribedRadioGroup.d.ts.map +1 -1
- package/dist/components/form/DescribedRadioGroup.js +4 -0
- package/dist/components/form/DescribedRadioGroup.js.map +1 -1
- package/dist/components/form/types.d.ts +34 -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 +56 -0
- package/dist/context/hooks.d.ts.map +1 -1
- package/dist/context/hooks.js +56 -1
- package/dist/context/hooks.js.map +1 -1
- package/dist/features.d.ts +28 -0
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +1 -0
- package/dist/features.js.map +1 -1
- 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 +4 -3
- 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/hooks.d.ts +6 -0
- package/dist/right-panel/hooks.d.ts.map +1 -1
- package/dist/right-panel/hooks.js +6 -0
- package/dist/right-panel/hooks.js.map +1 -1
- package/dist/state/ChatEntry.d.ts +58 -2
- package/dist/state/ChatEntry.d.ts.map +1 -1
- package/dist/state/ChatEntry.js +20 -1
- package/dist/state/ChatEntry.js.map +1 -1
- package/dist/state/ChatState.d.ts +73 -8
- package/dist/state/ChatState.d.ts.map +1 -1
- package/dist/state/ChatState.js +24 -7
- package/dist/state/ChatState.js.map +1 -1
- package/dist/state/ChatTabsController.d.ts +31 -0
- package/dist/state/ChatTabsController.d.ts.map +1 -1
- package/dist/state/ChatTabsController.js +31 -0
- 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 +5 -0
- package/dist/state/WidgetState.d.ts.map +1 -1
- package/dist/state/WidgetState.js +5 -0
- package/dist/state/WidgetState.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/chat.d.ts +13 -0
- package/dist/utils/chat.d.ts.map +1 -1
- package/dist/utils/chat.js +14 -0
- package/dist/utils/chat.js.map +1 -1
- package/dist/utils/date.d.ts +25 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +25 -0
- 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/knowledge-source.d.ts +10 -0
- 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/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/views/Agents.js +3 -0
- package/dist/views/Agents.js.map +1 -1
- package/dist/views/Chat/AgentInfo.d.ts +3 -0
- package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
- package/dist/views/Chat/AgentInfo.js +3 -0
- package/dist/views/Chat/AgentInfo.js.map +1 -1
- package/dist/views/Chat/ChatMessage.d.ts +17 -2
- package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessage.js +6 -32
- package/dist/views/Chat/ChatMessage.js.map +1 -1
- package/dist/views/Chat/ChatMessages.d.ts +3 -0
- package/dist/views/Chat/ChatMessages.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessages.js +3 -0
- package/dist/views/Chat/ChatMessages.js.map +1 -1
- 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 +66 -0
- package/dist/views/Chat/events.js.map +1 -0
- package/dist/views/Chat/index.d.ts +6 -0
- package/dist/views/Chat/index.d.ts.map +1 -1
- package/dist/views/Chat/index.js +3 -0
- package/dist/views/Chat/index.js.map +1 -1
- package/dist/views/ChatHistory/ChatHistoryPanel.d.ts +3 -0
- package/dist/views/ChatHistory/ChatHistoryPanel.d.ts.map +1 -1
- package/dist/views/ChatHistory/ChatHistoryPanel.js +3 -0
- package/dist/views/ChatHistory/ChatHistoryPanel.js.map +1 -1
- package/dist/views/ChatHistory/HistoryItem.d.ts +3 -0
- package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -1
- package/dist/views/ChatHistory/HistoryItem.js +3 -0
- package/dist/views/ChatHistory/HistoryItem.js.map +1 -1
- package/dist/views/ChatHistory/index.d.ts +10 -2
- package/dist/views/ChatHistory/index.d.ts.map +1 -1
- package/dist/views/ChatHistory/index.js +3 -0
- package/dist/views/ChatHistory/index.js.map +1 -1
- package/dist/views/ChatHistory/utils.d.ts +14 -0
- package/dist/views/ChatHistory/utils.d.ts.map +1 -1
- package/dist/views/ChatHistory/utils.js +14 -0
- package/dist/views/ChatHistory/utils.js.map +1 -1
- package/dist/views/ChatTabSelection.d.ts +3 -0
- package/dist/views/ChatTabSelection.d.ts.map +1 -1
- package/dist/views/ChatTabSelection.js +3 -0
- 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 +4 -0
- package/dist/views/Editor.js.map +1 -1
- package/dist/views/Home.d.ts +8 -0
- package/dist/views/Home.d.ts.map +1 -1
- package/dist/views/Home.js +5 -0
- package/dist/views/Home.js.map +1 -1
- package/dist/views/KSDocument.d.ts +3 -0
- package/dist/views/KSDocument.d.ts.map +1 -1
- package/dist/views/KSDocument.js +3 -0
- package/dist/views/KSDocument.js.map +1 -1
- package/dist/views/KnowledgeSources.js +3 -0
- package/dist/views/KnowledgeSources.js.map +1 -1
- package/dist/views/MessageInput/ButtonGroup.d.ts +22 -0
- package/dist/views/MessageInput/ButtonGroup.d.ts.map +1 -1
- package/dist/views/MessageInput/ButtonGroup.js +4 -0
- package/dist/views/MessageInput/ButtonGroup.js.map +1 -1
- package/dist/views/MessageInput/InfoBar.d.ts +7 -0
- package/dist/views/MessageInput/InfoBar.d.ts.map +1 -1
- package/dist/views/MessageInput/InfoBar.js +7 -0
- package/dist/views/MessageInput/InfoBar.js.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.d.ts +7 -0
- package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.js +4 -0
- package/dist/views/MessageInput/QuickCommandSelector.js.map +1 -1
- package/dist/views/MessageInput/index.d.ts +8 -0
- package/dist/views/MessageInput/index.d.ts.map +1 -1
- package/dist/views/MessageInput/index.js +5 -0
- package/dist/views/MessageInput/index.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 +4 -0
- package/dist/views/MinimizedHeader.js.map +1 -1
- package/dist/views/Stacks.d.ts +3 -0
- package/dist/views/Stacks.d.ts.map +1 -1
- package/dist/views/Stacks.js +3 -0
- package/dist/views/Stacks.js.map +1 -1
- package/dist/views/Workspaces.d.ts +3 -0
- package/dist/views/Workspaces.d.ts.map +1 -1
- package/dist/views/Workspaces.js +3 -0
- package/dist/views/Workspaces.js.map +1 -1
- package/package.json +6 -6
- package/src/StackspotAIWidget.tsx +23 -2
- 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 +42 -3
- package/src/chat-interceptors/send-message.ts +18 -0
- package/src/components/Accordion.tsx +10 -0
- package/src/components/AdaptiveTextArea.tsx +12 -0
- package/src/components/AutoFocus.tsx +19 -5
- package/src/components/Fading.tsx +25 -5
- package/src/components/FadingOverflow.tsx +31 -3
- package/src/components/FallbackBoundary/index.tsx +6 -0
- package/src/components/HistoryList.tsx +15 -1
- package/src/components/IconInput.tsx +3 -0
- package/src/components/OverlayMenu.tsx +17 -1
- package/src/components/ProgressBar.tsx +23 -0
- package/src/components/QuickStartButton.tsx +3 -0
- package/src/components/RightPanelForm.tsx +3 -0
- package/src/components/RightPanelTabs.tsx +3 -0
- package/src/components/TabManager.tsx +8 -0
- package/src/components/Tooltip/Tooltip.tsx +23 -0
- package/src/components/Tooltip/TooltipAPI.ts +17 -0
- package/src/components/Tooltip/types.ts +13 -0
- package/src/components/form/DescribedCheckboxGroup.tsx +4 -0
- package/src/components/form/DescribedRadioGroup.tsx +4 -0
- package/src/components/form/types.ts +34 -0
- package/src/context/AIWidgetProvider.tsx +19 -0
- package/src/context/hooks.ts +56 -1
- package/src/features.ts +29 -0
- package/src/right-panel/DefaultPanel.tsx +12 -13
- package/src/right-panel/RightPanel.tsx +3 -0
- package/src/right-panel/RightPanelProvider.tsx +15 -0
- package/src/right-panel/hooks.tsx +6 -0
- package/src/state/ChatEntry.ts +60 -2
- package/src/state/ChatState.ts +74 -9
- package/src/state/ChatTabsController.ts +31 -0
- package/src/state/ObservableState.ts +14 -0
- package/src/state/WidgetState.ts +5 -0
- package/src/types.ts +10 -0
- package/src/utils/chat.ts +14 -0
- package/src/utils/date.ts +25 -1
- package/src/utils/download.ts +5 -0
- package/src/utils/knowledge-source.ts +16 -0
- package/src/utils/string.ts +5 -1
- package/src/views/Agents.tsx +3 -0
- package/src/views/Chat/AgentInfo.tsx +3 -0
- package/src/views/Chat/ChatMessage.tsx +21 -32
- package/src/views/Chat/ChatMessages.tsx +3 -0
- package/src/views/Chat/chat-scroll.ts +1 -1
- package/src/views/Chat/events.ts +69 -0
- package/src/views/Chat/index.tsx +6 -0
- package/src/views/ChatHistory/ChatHistoryPanel.tsx +3 -0
- package/src/views/ChatHistory/HistoryItem.tsx +3 -0
- package/src/views/ChatHistory/index.tsx +11 -1
- package/src/views/ChatHistory/utils.ts +14 -0
- package/src/views/ChatTabSelection.tsx +3 -0
- package/src/views/Editor.tsx +4 -0
- package/src/views/Home.tsx +8 -0
- package/src/views/KSDocument.tsx +3 -0
- package/src/views/KnowledgeSources.tsx +3 -0
- package/src/views/MessageInput/ButtonGroup.tsx +22 -0
- package/src/views/MessageInput/InfoBar.tsx +7 -0
- package/src/views/MessageInput/QuickCommandSelector.tsx +7 -0
- package/src/views/MessageInput/index.tsx +8 -0
- package/src/views/MinimizedHeader.tsx +4 -0
- package/src/views/Stacks.tsx +3 -0
- package/src/views/Workspaces.tsx +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabManager.js","sourceRoot":"","sources":["../../src/components/TabManager.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabManager.js","sourceRoot":"","sources":["../../src/components/TabManager.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,36 @@ import { WithStyle } from '@stack-spot/portal-theme';
|
|
|
2
2
|
import { WithChildren } from '../../types.js';
|
|
3
3
|
import { TooltipPosition } from './types.js';
|
|
4
4
|
interface Props extends WithChildren, WithStyle {
|
|
5
|
+
/**
|
|
6
|
+
* The content of the tooltip. Can be either a string or a Rect Element.
|
|
7
|
+
*/
|
|
5
8
|
content: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Where to position the tooltip relative to the element that triggered it.
|
|
11
|
+
*/
|
|
6
12
|
position?: TooltipPosition;
|
|
13
|
+
/**
|
|
14
|
+
* A tooltip can be triggered either by hovering an element or by clicking it.
|
|
15
|
+
* @default 'hover'
|
|
16
|
+
*/
|
|
7
17
|
triggeredBy?: 'click' | 'hover';
|
|
18
|
+
/**
|
|
19
|
+
* If true, no style is applied to the tooltip, letting you customize it however you want to.
|
|
20
|
+
*/
|
|
8
21
|
custom?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Function to run whenever the tooltip is shown.
|
|
24
|
+
*/
|
|
9
25
|
onShow?: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Function to run whenever the tooltip is hidden.
|
|
28
|
+
*/
|
|
10
29
|
onHide?: () => void;
|
|
11
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Shows a tooltip for its children. This tooltip element is always reused and placed at a root level in order to not be cut out by
|
|
33
|
+
* hidden overflows in the children and its ascendants.
|
|
34
|
+
*/
|
|
12
35
|
export declare const Tooltip: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLDivElement>>;
|
|
13
36
|
export {};
|
|
14
37
|
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,KAAM,SAAQ,YAAY,EAAE,SAAS;IAC7C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,OAAO,kGAoClB,CAAA"}
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,KAAM,SAAQ,YAAY,EAAE,SAAS;IAC7C;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,kGAoClB,CAAA"}
|
|
@@ -4,6 +4,10 @@ import { Text } from '@citric/core';
|
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
5
|
import { useTooltip } from './context.js';
|
|
6
6
|
import { DefaultTooltip } from './style.js';
|
|
7
|
+
/**
|
|
8
|
+
* Shows a tooltip for its children. This tooltip element is always reused and placed at a root level in order to not be cut out by
|
|
9
|
+
* hidden overflows in the children and its ascendants.
|
|
10
|
+
*/
|
|
7
11
|
export const Tooltip = forwardRef(({ content, custom, position, triggeredBy = 'hover', onHide, onShow, children, className, style }, ref) => {
|
|
8
12
|
const api = useTooltip();
|
|
9
13
|
async function show(e, hideOnClickOutside) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AA+BxC;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAwB,CACvD,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAChG,GAAG,EACH,EAAE;IACF,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IAExB,KAAK,UAAU,IAAI,CAAC,CAAgB,EAAE,kBAA4B;QAChE,MAAM,GAAG,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,cAAc,cAAC,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,YAAE,OAAO,GAAQ,GAAiB;YAC3G,MAAM,EAAE,CAAC,CAAC,MAAqB;YAC/B,QAAQ;YACR,kBAAkB;SACnB,CAAC,CAAA;QACF,MAAM,EAAE,EAAE,CAAA;IACZ,CAAC;IAED,SAAS,IAAI;QACX,GAAG,CAAC,IAAI,EAAE,CAAA;QACV,MAAM,EAAE,EAAE,CAAA;IACZ,CAAC;IAED,OAAO,CACL,iBACM,CAAC,WAAW,KAAK,OAAO;YAC1B,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;YAC5C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAC1F,EACD,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACjD,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACpD,GAAG,EAAE,GAAG,YAEP,QAAQ,GACL,CACP,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { ShowOptions } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Allows interaction with the tooltip element.
|
|
4
|
+
*
|
|
5
|
+
* This places the tooltip element at the correct place, shows it, hides it and manages its contents.
|
|
6
|
+
*
|
|
7
|
+
* This also takes into account the screen edges, making adjustments to the tooltip position if it would overflow the screen.
|
|
8
|
+
*/
|
|
2
9
|
export declare class TooltipAPI {
|
|
10
|
+
/**
|
|
11
|
+
* A reference to the tooltip element in the HTML tree.
|
|
12
|
+
*/
|
|
3
13
|
tooltipRef: React.RefObject<HTMLDivElement>;
|
|
4
14
|
private setContent;
|
|
5
15
|
private hideTimeoutId;
|
|
@@ -7,7 +17,13 @@ export declare class TooltipAPI {
|
|
|
7
17
|
private relativeTo;
|
|
8
18
|
constructor(tooltipRef: React.RefObject<HTMLDivElement>, setContent: React.Dispatch<React.SetStateAction<React.ReactNode>>);
|
|
9
19
|
private computeRelativeTo;
|
|
20
|
+
/**
|
|
21
|
+
* Shows the tooltip with `content`. Its position is based on `position` and the position of the element referred by `anchor`.
|
|
22
|
+
*/
|
|
10
23
|
show({ content, anchor, position, hideOnClickOutside }: ShowOptions): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Hides the tooltip. After the animation, the content is removed.
|
|
26
|
+
*/
|
|
11
27
|
hide(): void;
|
|
12
28
|
}
|
|
13
29
|
//# sourceMappingURL=TooltipAPI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipAPI.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"TooltipAPI.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AASrC;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB;;OAEG;IACH,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAC3C,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,UAAU,CAAyB;gBAE/B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAK1H,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACG,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAmB,EAAE,kBAAkB,EAAE,EAAE,WAAW;IA+CpF;;OAEG;IACH,IAAI,IAAI,IAAI;CAMb"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { delay } from '@stack-spot/portal-components';
|
|
2
2
|
import { animationTimeMS } from './style.js';
|
|
3
|
+
// the maximum amount of pixels a tooltip can get close to the screen edges.
|
|
3
4
|
const MARGIN_TO_CORNERS_PX = 10;
|
|
4
5
|
function isRelative(element) {
|
|
5
6
|
return ['relative', 'absolute', 'fixed'].includes(element.computedStyleMap().get('position')?.toString() ?? '');
|
|
6
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Allows interaction with the tooltip element.
|
|
10
|
+
*
|
|
11
|
+
* This places the tooltip element at the correct place, shows it, hides it and manages its contents.
|
|
12
|
+
*
|
|
13
|
+
* This also takes into account the screen edges, making adjustments to the tooltip position if it would overflow the screen.
|
|
14
|
+
*/
|
|
7
15
|
export class TooltipAPI {
|
|
16
|
+
/**
|
|
17
|
+
* A reference to the tooltip element in the HTML tree.
|
|
18
|
+
*/
|
|
8
19
|
tooltipRef;
|
|
9
20
|
setContent;
|
|
10
21
|
hideTimeoutId;
|
|
@@ -22,6 +33,9 @@ export class TooltipAPI {
|
|
|
22
33
|
this.relativeTo = this.relativeTo.parentElement;
|
|
23
34
|
}
|
|
24
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Shows the tooltip with `content`. Its position is based on `position` and the position of the element referred by `anchor`.
|
|
38
|
+
*/
|
|
25
39
|
async show({ content, anchor, position = 'bottom', hideOnClickOutside }) {
|
|
26
40
|
window.clearTimeout(this.hideTimeoutId);
|
|
27
41
|
this.hideTimeoutId = undefined;
|
|
@@ -78,6 +92,9 @@ export class TooltipAPI {
|
|
|
78
92
|
document.addEventListener('click', this.clickListener);
|
|
79
93
|
}
|
|
80
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Hides the tooltip. After the animation, the content is removed.
|
|
97
|
+
*/
|
|
81
98
|
hide() {
|
|
82
99
|
if (!this.tooltipRef.current)
|
|
83
100
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipAPI.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TooltipAPI.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,22 @@ export interface BoxPosition {
|
|
|
6
6
|
y2: number;
|
|
7
7
|
}
|
|
8
8
|
export interface ShowOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The content of the tooltip. Can be either a string or a React Element.
|
|
11
|
+
*/
|
|
9
12
|
content: React.ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* The anchor to the tooltip. This is part of what defines the position where the tooltip will appear.
|
|
15
|
+
*/
|
|
10
16
|
anchor: HTMLElement;
|
|
17
|
+
/**
|
|
18
|
+
* The position relative to the element referred by `anchor`.
|
|
19
|
+
* @default bottom
|
|
20
|
+
*/
|
|
11
21
|
position?: TooltipPosition;
|
|
22
|
+
/**
|
|
23
|
+
* Whether or not to hide the tooltip when a click is detected outside of it.
|
|
24
|
+
*/
|
|
12
25
|
hideOnClickOutside?: boolean;
|
|
13
26
|
}
|
|
14
27
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEjE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEjE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { CheckProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Renders a checkbox group where each option has a label and a description.
|
|
4
|
+
* The description in placed under the label and checkbox as an accordion.
|
|
5
|
+
*/
|
|
2
6
|
export declare function DescribedCheckboxGroup<T>({ keygen, onChange, options, renderDescription, renderLabel, optionClassName, optionStyle, value, className, style }: CheckProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
3
7
|
//# sourceMappingURL=DescribedCheckboxGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DescribedCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/form/DescribedCheckboxGroup.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,2CA8BpI"}
|
|
1
|
+
{"version":3,"file":"DescribedCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/form/DescribedCheckboxGroup.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,2CA8BpI"}
|
|
@@ -4,6 +4,10 @@ import { listToClass } from '@stack-spot/portal-theme';
|
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
import { Accordion } from '../Accordion.js';
|
|
6
6
|
import { RadioCheckBox } from './styled.js';
|
|
7
|
+
/**
|
|
8
|
+
* Renders a checkbox group where each option has a label and a description.
|
|
9
|
+
* The description in placed under the label and checkbox as an accordion.
|
|
10
|
+
*/
|
|
7
11
|
export function DescribedCheckboxGroup({ keygen, onChange, options, renderDescription, renderLabel, optionClassName, optionStyle, value, className, style }) {
|
|
8
12
|
const items = useMemo(() => options.map((option) => {
|
|
9
13
|
const label = renderLabel(option);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DescribedCheckboxGroup.js","sourceRoot":"","sources":["../../../src/components/form/DescribedCheckboxGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,UAAU,sBAAsB,CACpC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAiB;IAEnI,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,CACb,4BACE,KAAC,QAAQ,IACP,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACd,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;4BAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;;4BACxE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAA;oBACtD,CAAC,GACD,EACD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,KAAK,GAAQ,CAAC,CAAC,CAAC,KAAK,IACnD,CACT,CAAA;QACD,OAAO,CACL,aAAyB,SAAS,EAAE,WAAW,CAAC,CAAC,kBAAkB,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,YAC5H,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,YACtB,OAAO,WAAW,KAAK,QAAQ;oBAC9B,CAAC,CAAC,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,WAAW,YAAE,WAAW,GAAQ;oBAC5E,CAAC,CAAC,WAAkB,GAEZ,IANL,MAAM,CAAC,MAAM,CAAC,CAOlB,CACN,CAAA;IACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAErB,OAAO,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,YAAG,KAAK,GAAiB,CAAA;AACnF,CAAC"}
|
|
1
|
+
{"version":3,"file":"DescribedCheckboxGroup.js","sourceRoot":"","sources":["../../../src/components/form/DescribedCheckboxGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAiB;IAEnI,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,CACb,4BACE,KAAC,QAAQ,IACP,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACd,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;4BAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;;4BACxE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAA;oBACtD,CAAC,GACD,EACD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,KAAK,GAAQ,CAAC,CAAC,CAAC,KAAK,IACnD,CACT,CAAA;QACD,OAAO,CACL,aAAyB,SAAS,EAAE,WAAW,CAAC,CAAC,kBAAkB,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,YAC5H,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,YACtB,OAAO,WAAW,KAAK,QAAQ;oBAC9B,CAAC,CAAC,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,WAAW,YAAE,WAAW,GAAQ;oBAC5E,CAAC,CAAC,WAAkB,GAEZ,IANL,MAAM,CAAC,MAAM,CAAC,CAOlB,CACN,CAAA;IACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAErB,OAAO,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,YAAG,KAAK,GAAiB,CAAA;AACnF,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { RadioProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Renders a radio button group where each option has a label and a description.
|
|
4
|
+
* The description in placed under the label and radio button as an accordion.
|
|
5
|
+
*/
|
|
2
6
|
export declare function DescribedRadioGroup<T>({ keygen, onChange, options, renderDescription, renderLabel, optionClassName, optionStyle, value, className, style }: RadioProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
3
7
|
//# sourceMappingURL=DescribedRadioGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DescribedRadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/form/DescribedRadioGroup.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,2CAwBpI"}
|
|
1
|
+
{"version":3,"file":"DescribedRadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/form/DescribedRadioGroup.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,2CAwBpI"}
|
|
@@ -4,6 +4,10 @@ import { listToClass } from '@stack-spot/portal-theme';
|
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
import { Accordion } from '../Accordion.js';
|
|
6
6
|
import { RadioCheckBox } from './styled.js';
|
|
7
|
+
/**
|
|
8
|
+
* Renders a radio button group where each option has a label and a description.
|
|
9
|
+
* The description in placed under the label and radio button as an accordion.
|
|
10
|
+
*/
|
|
7
11
|
export function DescribedRadioGroup({ keygen, onChange, options, renderDescription, renderLabel, optionClassName, optionStyle, value, className, style }) {
|
|
8
12
|
const items = useMemo(() => options.map((option) => {
|
|
9
13
|
const label = renderLabel(option);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DescribedRadioGroup.js","sourceRoot":"","sources":["../../../src/components/form/DescribedRadioGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,UAAU,mBAAmB,CACjC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAiB;IAEnI,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,CACb,4BACE,KAAC,KAAK,IAAC,OAAO,EAAE,MAAM,KAAK,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAI,EACrE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,KAAK,GAAQ,CAAC,CAAC,CAAC,KAAK,IACnD,CACT,CAAA;QACD,OAAO,CACL,aAAyB,SAAS,EAAE,WAAW,CAAC,CAAC,kBAAkB,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,YAC5H,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,YACtB,OAAO,WAAW,KAAK,QAAQ;oBAC9B,CAAC,CAAC,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,WAAW,YAAE,WAAW,GAAQ;oBAC5E,CAAC,CAAC,WAAkB,GAEZ,IANL,MAAM,CAAC,MAAM,CAAC,CAOlB,CACN,CAAA;IACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAErB,OAAO,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,YAAG,KAAK,GAAiB,CAAA;AACnF,CAAC"}
|
|
1
|
+
{"version":3,"file":"DescribedRadioGroup.js","sourceRoot":"","sources":["../../../src/components/form/DescribedRadioGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAiB;IAEnI,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,CACb,4BACE,KAAC,KAAK,IAAC,OAAO,EAAE,MAAM,KAAK,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAI,EACrE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,KAAK,GAAQ,CAAC,CAAC,CAAC,KAAK,IACnD,CACT,CAAA;QACD,OAAO,CACL,aAAyB,SAAS,EAAE,WAAW,CAAC,CAAC,kBAAkB,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,YAC5H,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,YACtB,OAAO,WAAW,KAAK,QAAQ;oBAC9B,CAAC,CAAC,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,WAAW,YAAE,WAAW,GAAQ;oBAC5E,CAAC,CAAC,WAAkB,GAEZ,IANL,MAAM,CAAC,MAAM,CAAC,CAOlB,CACN,CAAA;IACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAErB,OAAO,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,YAAG,KAAK,GAAiB,CAAA;AACnF,CAAC"}
|
|
@@ -1,18 +1,52 @@
|
|
|
1
1
|
import { WithStyle } from '@stack-spot/portal-theme';
|
|
2
2
|
interface RadioCheckProps<T> extends WithStyle {
|
|
3
|
+
/**
|
|
4
|
+
* The options available.
|
|
5
|
+
*/
|
|
3
6
|
options: T[];
|
|
7
|
+
/**
|
|
8
|
+
* A function that renders an option as a label. This can either return a string or a React Element.
|
|
9
|
+
*/
|
|
4
10
|
renderLabel: (option: T) => React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* A function that renders an option as a description. This can either return a string or a React Element.
|
|
13
|
+
*/
|
|
5
14
|
renderDescription: (option: T) => React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* A function that gives a custom className to the rendered option.
|
|
17
|
+
*/
|
|
6
18
|
optionClassName?: (option: T) => string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* A function that gives a custom style to the rendered option.
|
|
21
|
+
*/
|
|
7
22
|
optionStyle?: (option: T) => React.CSSProperties | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* A function that generates a unique id for the option.
|
|
25
|
+
*/
|
|
8
26
|
keygen: (option: T) => React.Key;
|
|
9
27
|
}
|
|
10
28
|
export interface RadioProps<T> extends RadioCheckProps<T> {
|
|
29
|
+
/**
|
|
30
|
+
* The current value of the radio group. This is one of the options.
|
|
31
|
+
*
|
|
32
|
+
* Comparisons use the same-value-zero algorithm (`===`).
|
|
33
|
+
*/
|
|
11
34
|
value: T | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* A function to call whenever the value changes.
|
|
37
|
+
*/
|
|
12
38
|
onChange: (option: T) => void;
|
|
13
39
|
}
|
|
14
40
|
export interface CheckProps<T> extends RadioCheckProps<T> {
|
|
41
|
+
/**
|
|
42
|
+
* The current value of the checkbox group. This is sub-array of the array of options.
|
|
43
|
+
*
|
|
44
|
+
* Comparisons use the same-value-zero algorithm (`===`).
|
|
45
|
+
*/
|
|
15
46
|
value: T[];
|
|
47
|
+
/**
|
|
48
|
+
* A function to call whenever the value changes.
|
|
49
|
+
*/
|
|
16
50
|
onChange: (option: T[]) => void;
|
|
17
51
|
}
|
|
18
52
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,UAAU,eAAe,CAAC,CAAC,CAAE,SAAQ,SAAS;IAC5C,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5C,iBAAiB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACpD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IAC7D,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;CAElC;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACvD,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACvD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACjC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,UAAU,eAAe,CAAC,CAAC,CAAE,SAAQ,SAAS;IAC5C;;OAEG;IACH,OAAO,EAAE,CAAC,EAAE,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5C;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAClD;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACpD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IAC7D;;OAEG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;CAElC;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACvD;;;;OAIG;IACH,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACvD;;;;OAIG;IACH,KAAK,EAAE,CAAC,EAAE,CAAC;IACX;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACjC"}
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { WidgetState } from '../state/WidgetState.js';
|
|
2
2
|
export declare const AIWidgetContext: import("react").Context<WidgetState | undefined>;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new context for the AI Chat Widget.
|
|
5
|
+
*
|
|
6
|
+
* 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
|
|
7
|
+
* the same application.
|
|
8
|
+
*
|
|
9
|
+
* To control the chat widget in any component descendant from the `AIWidgetProvider`, you can call the hook `useWidget()`.
|
|
10
|
+
*
|
|
11
|
+
* Example:
|
|
12
|
+
* ```
|
|
13
|
+
* const widget = useMemo(() => new WidgetState(), [])
|
|
14
|
+
*
|
|
15
|
+
* return (
|
|
16
|
+
* <AIWidgetProvider value={widget}>
|
|
17
|
+
* {children}
|
|
18
|
+
* </AIWidgetProvider>
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
3
22
|
export declare const AIWidgetProvider: import("react").Provider<WidgetState | undefined>;
|
|
4
23
|
//# sourceMappingURL=AIWidgetProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIWidgetProvider.d.ts","sourceRoot":"","sources":["../../src/context/AIWidgetProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,eAAO,MAAM,eAAe,kDAAoD,CAAA;AAEhF,eAAO,MAAM,gBAAgB,mDAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"AIWidgetProvider.d.ts","sourceRoot":"","sources":["../../src/context/AIWidgetProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,eAAO,MAAM,eAAe,kDAAoD,CAAA;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,mDAA2B,CAAA"}
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { createContext } from 'react';
|
|
2
2
|
export const AIWidgetContext = createContext(undefined);
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new context for the AI Chat Widget.
|
|
5
|
+
*
|
|
6
|
+
* 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
|
|
7
|
+
* the same application.
|
|
8
|
+
*
|
|
9
|
+
* To control the chat widget in any component descendant from the `AIWidgetProvider`, you can call the hook `useWidget()`.
|
|
10
|
+
*
|
|
11
|
+
* Example:
|
|
12
|
+
* ```
|
|
13
|
+
* const widget = useMemo(() => new WidgetState(), [])
|
|
14
|
+
*
|
|
15
|
+
* return (
|
|
16
|
+
* <AIWidgetProvider value={widget}>
|
|
17
|
+
* {children}
|
|
18
|
+
* </AIWidgetProvider>
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
3
22
|
export const AIWidgetProvider = AIWidgetContext.Provider;
|
|
4
23
|
//# sourceMappingURL=AIWidgetProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIWidgetProvider.js","sourceRoot":"","sources":["../../src/context/AIWidgetProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGrC,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAA0B,SAAS,CAAC,CAAA;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"AIWidgetProvider.js","sourceRoot":"","sources":["../../src/context/AIWidgetProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGrC,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAA0B,SAAS,CAAC,CAAA;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAA"}
|
package/dist/context/hooks.d.ts
CHANGED
|
@@ -1,18 +1,74 @@
|
|
|
1
1
|
import { ChatEntry } from '../state/ChatEntry.js';
|
|
2
2
|
import { ChatProperties, ChatState, MessageInterceptor } from '../state/ChatState.js';
|
|
3
3
|
import { WidgetProperties, WidgetState } from '../state/WidgetState.js';
|
|
4
|
+
/**
|
|
5
|
+
* Returns the closest instance of a WidgetState (React Context). If no context is available, uses a global instance of the chat widget.
|
|
6
|
+
*/
|
|
4
7
|
export declare function useWidget(): WidgetState;
|
|
8
|
+
/**
|
|
9
|
+
* Watches one of the widget states.
|
|
10
|
+
* @param key the key watch changes for.
|
|
11
|
+
* @returns the value of the state referred by the key.
|
|
12
|
+
*/
|
|
5
13
|
export declare function useWidgetState<K extends keyof WidgetProperties>(key: K): WidgetProperties[K];
|
|
14
|
+
/**
|
|
15
|
+
* Watches the tabs of a ChatState. The value is updated whenever a tab is added, removed or selected.
|
|
16
|
+
*/
|
|
6
17
|
export declare function useChatTabs(): {
|
|
7
18
|
chats: ChatState[];
|
|
8
19
|
active: string;
|
|
9
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* Gets a chat according to its identifier (conversation id).
|
|
23
|
+
*
|
|
24
|
+
* An error is thrown if the id doesn't correspond to any chat currently opened.
|
|
25
|
+
*
|
|
26
|
+
* @returns the chat state.
|
|
27
|
+
*/
|
|
10
28
|
export declare function useChat(chatId: string): ChatState;
|
|
29
|
+
/**
|
|
30
|
+
* Watches the current chat (selected in the chat tabs.)
|
|
31
|
+
*
|
|
32
|
+
* The value changes whenever a new chat is selected.
|
|
33
|
+
*
|
|
34
|
+
* @returns the currently active chat.
|
|
35
|
+
*/
|
|
11
36
|
export declare function useCurrentChat(): ChatState;
|
|
37
|
+
/**
|
|
38
|
+
* Watches one of the chat states.
|
|
39
|
+
* @param chatId the id of chat to watch.
|
|
40
|
+
* @param key the key of the state to watch.
|
|
41
|
+
* @returns the value of the state referred by the key.
|
|
42
|
+
*/
|
|
12
43
|
export declare function useChatState<K extends keyof ChatProperties>(chatId: string, key: K): ChatProperties[K];
|
|
44
|
+
/**
|
|
45
|
+
* Watches one of the current chat states. This is the same as calling `useChatState` with the id of the current chat.
|
|
46
|
+
* @param key the key of the state to watch.
|
|
47
|
+
* @returns the value of the state referred by the key.
|
|
48
|
+
*/
|
|
13
49
|
export declare function useCurrentChatState<K extends keyof ChatProperties>(key: K): ChatProperties[K];
|
|
50
|
+
/**
|
|
51
|
+
* Watches a chat state for changes in the list of messages (chat entries).
|
|
52
|
+
* @param chatId the id of the chat to watch.
|
|
53
|
+
* @returns the list of messages in the chat.
|
|
54
|
+
*/
|
|
14
55
|
export declare function useChatMessages(chatId: string): ChatEntry[];
|
|
56
|
+
/**
|
|
57
|
+
* Watches the chat state currently active for changes in the list of messages (chat entries). This is the same as calling `useChatMessages`
|
|
58
|
+
* with the id of the current chat.
|
|
59
|
+
* @returns the list of messages in the chat.
|
|
60
|
+
*/
|
|
15
61
|
export declare function useCurrentChatMessages(): ChatEntry[];
|
|
62
|
+
/**
|
|
63
|
+
* Watches a chat message (chat entry) for changes in its composition. This allows messages to be streamed: each part of the stream will
|
|
64
|
+
* change the current value of the entry.
|
|
65
|
+
* @param entry the message to watch.
|
|
66
|
+
* @returns the current value of the message.
|
|
67
|
+
*/
|
|
16
68
|
export declare function useChatEntry(entry: ChatEntry): import("../state/ChatEntry.js").TextChatEntry;
|
|
69
|
+
/**
|
|
70
|
+
* This will create a new chat if none exists.
|
|
71
|
+
* @param interceptors the interceptors to add to the new chat.
|
|
72
|
+
*/
|
|
17
73
|
export declare function useFirstChat(interceptors: MessageInterceptor[]): void;
|
|
18
74
|
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/context/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/context/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAMpE;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,CAKvC;AAWD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAG5F;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQpE;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAKjD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,SAAS,CAG1C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAGtG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAG7F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAQ3D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,SAAS,EAAE,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,8CAI5C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAI9D"}
|
package/dist/context/hooks.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
/* eslint-disable react-hooks/rules-of-hooks */
|
|
2
1
|
import { useContext, useEffect, useState } from 'react';
|
|
3
2
|
import { WidgetState } from '../state/WidgetState.js';
|
|
4
3
|
import { createNewChat } from '../utils/chat.js';
|
|
5
4
|
import { AIWidgetContext } from './AIWidgetProvider.js';
|
|
6
5
|
let globalWidgetState;
|
|
6
|
+
/**
|
|
7
|
+
* Returns the closest instance of a WidgetState (React Context). If no context is available, uses a global instance of the chat widget.
|
|
8
|
+
*/
|
|
7
9
|
export function useWidget() {
|
|
8
10
|
const fromContext = useContext(AIWidgetContext);
|
|
9
11
|
if (fromContext)
|
|
@@ -19,10 +21,18 @@ function useObservableState(state, key) {
|
|
|
19
21
|
}, [state]);
|
|
20
22
|
return value;
|
|
21
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Watches one of the widget states.
|
|
26
|
+
* @param key the key watch changes for.
|
|
27
|
+
* @returns the value of the state referred by the key.
|
|
28
|
+
*/
|
|
22
29
|
export function useWidgetState(key) {
|
|
23
30
|
const widget = useWidget();
|
|
24
31
|
return useObservableState(widget, key);
|
|
25
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Watches the tabs of a ChatState. The value is updated whenever a tab is added, removed or selected.
|
|
35
|
+
*/
|
|
26
36
|
export function useChatTabs() {
|
|
27
37
|
const widget = useWidget();
|
|
28
38
|
const [tabs, setTabs] = useState({
|
|
@@ -32,6 +42,13 @@ export function useChatTabs() {
|
|
|
32
42
|
useEffect(() => widget.chatTabs.onChange((chats, active) => setTabs({ chats, active })), []);
|
|
33
43
|
return tabs;
|
|
34
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Gets a chat according to its identifier (conversation id).
|
|
47
|
+
*
|
|
48
|
+
* An error is thrown if the id doesn't correspond to any chat currently opened.
|
|
49
|
+
*
|
|
50
|
+
* @returns the chat state.
|
|
51
|
+
*/
|
|
35
52
|
export function useChat(chatId) {
|
|
36
53
|
const widget = useWidget();
|
|
37
54
|
const chat = widget.chatTabs.get(chatId);
|
|
@@ -39,18 +56,41 @@ export function useChat(chatId) {
|
|
|
39
56
|
throw new Error(`No chat with id ${chatId} was found. Maybe there are no chats opened, try to call useFirstChat first.`);
|
|
40
57
|
return chat;
|
|
41
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Watches the current chat (selected in the chat tabs.)
|
|
61
|
+
*
|
|
62
|
+
* The value changes whenever a new chat is selected.
|
|
63
|
+
*
|
|
64
|
+
* @returns the currently active chat.
|
|
65
|
+
*/
|
|
42
66
|
export function useCurrentChat() {
|
|
43
67
|
const { active } = useChatTabs();
|
|
44
68
|
return useChat(active);
|
|
45
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Watches one of the chat states.
|
|
72
|
+
* @param chatId the id of chat to watch.
|
|
73
|
+
* @param key the key of the state to watch.
|
|
74
|
+
* @returns the value of the state referred by the key.
|
|
75
|
+
*/
|
|
46
76
|
export function useChatState(chatId, key) {
|
|
47
77
|
const chat = useChat(chatId);
|
|
48
78
|
return useObservableState(chat, key);
|
|
49
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Watches one of the current chat states. This is the same as calling `useChatState` with the id of the current chat.
|
|
82
|
+
* @param key the key of the state to watch.
|
|
83
|
+
* @returns the value of the state referred by the key.
|
|
84
|
+
*/
|
|
50
85
|
export function useCurrentChatState(key) {
|
|
51
86
|
const chat = useCurrentChat();
|
|
52
87
|
return useObservableState(chat, key);
|
|
53
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Watches a chat state for changes in the list of messages (chat entries).
|
|
91
|
+
* @param chatId the id of the chat to watch.
|
|
92
|
+
* @returns the list of messages in the chat.
|
|
93
|
+
*/
|
|
54
94
|
export function useChatMessages(chatId) {
|
|
55
95
|
const chat = useChat(chatId);
|
|
56
96
|
const [entries, setEntries] = useState(chat.getMessages());
|
|
@@ -60,15 +100,30 @@ export function useChatMessages(chatId) {
|
|
|
60
100
|
}, [chat]);
|
|
61
101
|
return entries;
|
|
62
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Watches the chat state currently active for changes in the list of messages (chat entries). This is the same as calling `useChatMessages`
|
|
105
|
+
* with the id of the current chat.
|
|
106
|
+
* @returns the list of messages in the chat.
|
|
107
|
+
*/
|
|
63
108
|
export function useCurrentChatMessages() {
|
|
64
109
|
const { active } = useChatTabs();
|
|
65
110
|
return useChatMessages(active);
|
|
66
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Watches a chat message (chat entry) for changes in its composition. This allows messages to be streamed: each part of the stream will
|
|
114
|
+
* change the current value of the entry.
|
|
115
|
+
* @param entry the message to watch.
|
|
116
|
+
* @returns the current value of the message.
|
|
117
|
+
*/
|
|
67
118
|
export function useChatEntry(entry) {
|
|
68
119
|
const [content, setContent] = useState(entry.getValue());
|
|
69
120
|
useEffect(() => entry.onChange(setContent), []);
|
|
70
121
|
return content;
|
|
71
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* This will create a new chat if none exists.
|
|
125
|
+
* @param interceptors the interceptors to add to the new chat.
|
|
126
|
+
*/
|
|
72
127
|
export function useFirstChat(interceptors) {
|
|
73
128
|
const widget = useWidget();
|
|
74
129
|
const tabs = widget.chatTabs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/context/hooks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/context/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAIvD,OAAO,EAAoB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,IAAI,iBAA0C,CAAA;AAE9C;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC/C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAA;IACnC,iBAAiB,KAAK,IAAI,WAAW,EAAE,CAAA;IACvC,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAuB,KAAyB,EAAE,GAAM;IACjF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACxB,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACtC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACX,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAmC,GAAM;IACrE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAyC;QACvE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC/B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE;KAC1C,CAAC,CAAA;IACF,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC5F,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACxC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,8EAA8E,CAAC,CAAA;IACnI,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IAChC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAiC,MAAc,EAAE,GAAM;IACjF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,OAAO,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAiC,GAAM;IACxE,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,OAAO,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAC1C,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACV,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IAChC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxD,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/C,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,YAAkC;IAC7D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;IAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM;QAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAChE,CAAC"}
|