@envive-ai/react-toolkit-v3 0.3.22 → 0.3.24
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/dist/AnimatedText/AnimatedText.d.cts +3 -3
- package/dist/AnimatedText/AnimatedText.d.ts +3 -3
- package/dist/CSSVariablesEditor/CssVariablesEditorComponent.d.cts +2 -2
- package/dist/CSSVariablesEditor/CssVariablesEditorComponent.d.ts +2 -2
- package/dist/CSSVariablesEditor/hooks/useGetCssVariablesOptions.cjs +1 -1
- package/dist/CSSVariablesEditor/hooks/useGetCssVariablesOptions.js +1 -1
- package/dist/CSSVariablesEditor/hooks/useGetCurrentMerchantColors.cjs +1 -1
- package/dist/CSSVariablesEditor/hooks/useGetCurrentMerchantColors.js +1 -1
- package/dist/CSSVariablesEditor/hooks/useGetDefaultCssVariables.cjs +4 -4
- package/dist/CSSVariablesEditor/hooks/useGetDefaultCssVariables.js +4 -4
- package/dist/CSSVariablesEditor/hooks/useHandleUpdateCssVars.cjs +3 -3
- package/dist/CSSVariablesEditor/hooks/useHandleUpdateCssVars.js +3 -3
- package/dist/Carousel/Carousel.d.cts +2 -2
- package/dist/Carousel/components/Badge.cjs +1 -1
- package/dist/Carousel/components/Badge.js +1 -1
- package/dist/Carousel/components/Container.cjs +1 -1
- package/dist/Carousel/components/Container.js +1 -1
- package/dist/ChatFooter/ChatFooter.cjs +7 -3
- package/dist/ChatFooter/ChatFooter.d.cts +7 -3
- package/dist/ChatFooter/ChatFooter.d.ts +7 -3
- package/dist/ChatFooter/ChatFooter.js +7 -3
- package/dist/ChatFooter/components/Layout.cjs +1 -1
- package/dist/ChatFooter/components/Layout.js +1 -1
- package/dist/ChatFooter/components/index.d.cts +10 -6
- package/dist/ChatFooter/components/index.d.ts +10 -6
- package/dist/ChatFooter/types/types.d.cts +16 -0
- package/dist/ChatFooter/types/types.d.ts +16 -0
- package/dist/ChatHeader/ChatHeader.cjs +2 -1
- package/dist/ChatHeader/ChatHeader.d.cts +2 -2
- package/dist/ChatHeader/ChatHeader.d.ts +2 -2
- package/dist/ChatHeader/ChatHeader.js +2 -1
- package/dist/ChatHeader/components/Handle.cjs +2 -2
- package/dist/ChatHeader/components/Handle.js +2 -2
- package/dist/ChatHeader/hooks/useGetHandleProperties.cjs +4 -2
- package/dist/ChatHeader/hooks/useGetHandleProperties.js +4 -2
- package/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +1 -1
- package/dist/ChatHeader/hooks/useGetLayoutProperties.js +1 -1
- package/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +1 -1
- package/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +1 -1
- package/dist/ChatPreview/ChatPreview.cjs +6 -3
- package/dist/ChatPreview/ChatPreview.d.cts +2 -2
- package/dist/ChatPreview/ChatPreview.d.ts +2 -2
- package/dist/ChatPreview/ChatPreview.js +6 -3
- package/dist/ChatPreview/index.d.cts +2 -2
- package/dist/ChatPreview/index.d.ts +2 -2
- package/dist/ChatPreview/types/types.d.cts +13 -1
- package/dist/ChatPreview/types/types.d.ts +13 -1
- package/dist/ChatPreviewComparison/ChatPreviewComparison.cjs +6 -3
- package/dist/ChatPreviewComparison/ChatPreviewComparison.d.cts +2 -2
- package/dist/ChatPreviewComparison/ChatPreviewComparison.d.ts +2 -2
- package/dist/ChatPreviewComparison/ChatPreviewComparison.js +6 -3
- package/dist/ChatPreviewComparison/components/Layout.cjs +2 -2
- package/dist/ChatPreviewComparison/components/Layout.js +2 -2
- package/dist/ChatPreviewComparison/index.d.cts +2 -2
- package/dist/ChatPreviewComparison/index.d.ts +2 -2
- package/dist/ChatPreviewComparison/types/types.d.cts +13 -1
- package/dist/ChatPreviewComparison/types/types.d.ts +13 -1
- package/dist/ChatPreviewLoading/ChatPreviewLoading.cjs +7 -2
- package/dist/ChatPreviewLoading/ChatPreviewLoading.d.cts +4 -3
- package/dist/ChatPreviewLoading/ChatPreviewLoading.d.ts +2 -1
- package/dist/ChatPreviewLoading/ChatPreviewLoading.js +7 -2
- package/dist/ChatPreviewLoading/types/types.d.cts +4 -0
- package/dist/ChatPreviewLoading/types/types.d.ts +4 -0
- package/dist/Container/Container.d.cts +172 -172
- package/dist/Container/Container.d.ts +172 -172
- package/dist/DesignTokens/DesignTokensComponent.d.cts +2 -2
- package/dist/DesignTokens/DesignTokensComponent.d.ts +2 -2
- package/dist/DesignTokens/components/FontFamily.cjs +1 -1
- package/dist/DesignTokens/components/FontFamily.js +1 -1
- package/dist/DesignTokens/components/FontSize.cjs +1 -1
- package/dist/DesignTokens/components/FontSize.js +1 -1
- package/dist/DesignTokens/components/FontWeight.cjs +1 -1
- package/dist/DesignTokens/components/FontWeight.js +1 -1
- package/dist/DesignTokens/components/LetterSpacing.cjs +1 -1
- package/dist/DesignTokens/components/LetterSpacing.js +1 -1
- package/dist/DesignTokens/components/LineHeight.cjs +1 -1
- package/dist/DesignTokens/components/LineHeight.js +1 -1
- package/dist/DesignTokens/components/Typography.cjs +1 -1
- package/dist/DesignTokens/components/Typography.js +1 -1
- package/dist/Disclaimer/components/Container.cjs +2 -2
- package/dist/Disclaimer/components/Container.js +2 -2
- package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.ts +2 -2
- package/dist/DocumentRetrievalCard/components/Image.cjs +1 -1
- package/dist/DocumentRetrievalCard/components/Image.js +1 -1
- package/dist/DocumentRetrievalCard/components/Layout.cjs +1 -1
- package/dist/DocumentRetrievalCard/components/Layout.js +1 -1
- package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.cjs +1 -1
- package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.js +1 -1
- package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Label.cjs +1 -1
- package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Label.js +1 -1
- package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Layout.cjs +1 -1
- package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Layout.js +1 -1
- package/dist/FloatingButton/FloatingButton.d.cts +2 -2
- package/dist/FloatingButton/components/Button.cjs +1 -1
- package/dist/FloatingButton/components/Button.js +1 -1
- package/dist/FloatingButton/components/Container.cjs +1 -1
- package/dist/FloatingButton/components/Container.js +1 -1
- package/dist/FloatingButton/components/Wrapper.cjs +1 -1
- package/dist/FloatingButton/components/Wrapper.js +1 -1
- package/dist/FloatingChat/FloatingChat.cjs +32 -4
- package/dist/FloatingChat/FloatingChat.d.cts +2 -2
- package/dist/FloatingChat/FloatingChat.d.ts +2 -2
- package/dist/FloatingChat/FloatingChat.js +33 -5
- package/dist/FloatingChat/components/AgentMessage.cjs +2 -2
- package/dist/FloatingChat/components/AgentMessage.js +2 -2
- package/dist/FloatingChat/components/ChatMessages.cjs +1 -1
- package/dist/FloatingChat/components/ChatMessages.js +1 -1
- package/dist/FloatingChat/components/Layout.cjs +1 -1
- package/dist/FloatingChat/components/Layout.js +1 -1
- package/dist/FloatingChat/components/ProductResultsModal.cjs +1 -1
- package/dist/FloatingChat/components/ProductResultsModal.js +1 -1
- package/dist/FloatingChat/components/ResultsGridView.cjs +1 -1
- package/dist/FloatingChat/components/ResultsGridView.js +1 -1
- package/dist/FloatingChat/components/SalesAgentBadgeContent.cjs +1 -1
- package/dist/FloatingChat/components/SalesAgentBadgeContent.js +1 -1
- package/dist/FloatingChat/components/SlideChatContent.cjs +1 -1
- package/dist/FloatingChat/components/SlideChatContent.js +1 -1
- package/dist/FloatingChat/hooks/useChatSuggestions.cjs +3 -5
- package/dist/FloatingChat/hooks/useChatSuggestions.js +4 -6
- package/dist/Form/Form.cjs +1 -1
- package/dist/Form/Form.js +1 -1
- package/dist/Form/components/Layout.cjs +1 -1
- package/dist/Form/components/Layout.js +1 -1
- package/dist/Form/components/SubmitButtonItem.cjs +1 -1
- package/dist/Form/components/SubmitButtonItem.js +1 -1
- package/dist/Form/components/TextFieldItem.cjs +1 -1
- package/dist/Form/components/TextFieldItem.js +1 -1
- package/dist/FullPageSalesAgent/FullPageSalesAgent.cjs +29 -2
- package/dist/FullPageSalesAgent/FullPageSalesAgent.d.cts +5 -3
- package/dist/FullPageSalesAgent/FullPageSalesAgent.d.ts +5 -3
- package/dist/FullPageSalesAgent/FullPageSalesAgent.js +30 -3
- package/dist/FullPageSalesAgent/components/Layout.cjs +1 -1
- package/dist/FullPageSalesAgent/components/Layout.js +1 -1
- package/dist/Image/Image.cjs +1 -1
- package/dist/Image/Image.d.cts +2 -2
- package/dist/Image/Image.d.ts +2 -2
- package/dist/Image/Image.js +1 -1
- package/dist/ImageGallery/ImageGallery.d.cts +2 -2
- package/dist/ImageGallery/ImageGallery.d.ts +2 -2
- package/dist/ImageGallery/components/Layout.cjs +1 -1
- package/dist/ImageGallery/components/Layout.js +1 -1
- package/dist/ImageGallery/utils/functions.cjs +1 -1
- package/dist/ImageGallery/utils/functions.js +1 -1
- package/dist/MarkdownProcessor/MarkdownProcessor.d.cts +2 -2
- package/dist/Message/components/Layout.cjs +1 -1
- package/dist/Message/components/Layout.js +1 -1
- package/dist/OrderLookupCard/OrderLookupCard.cjs +1 -1
- package/dist/OrderLookupCard/OrderLookupCard.js +1 -1
- package/dist/OrderLookupCard/components/Layout.cjs +1 -1
- package/dist/OrderLookupCard/components/Layout.js +1 -1
- package/dist/OrderLookupCard/components/MoreProductsOverlay.cjs +1 -1
- package/dist/OrderLookupCard/components/MoreProductsOverlay.js +1 -1
- package/dist/OrderLookupCard/components/ProductImageGridItem.cjs +1 -1
- package/dist/OrderLookupCard/components/ProductImageGridItem.js +1 -1
- package/dist/OrderLookupCard/components/ProductImageItem.cjs +1 -1
- package/dist/OrderLookupCard/components/ProductImageItem.js +1 -1
- package/dist/OrderLookupCard/components/ProductImagesGrid.cjs +1 -1
- package/dist/OrderLookupCard/components/ProductImagesGrid.js +1 -1
- package/dist/OrderLookupCard/components/StatusLabel.cjs +1 -1
- package/dist/OrderLookupCard/components/StatusLabel.js +1 -1
- package/dist/OrderLookupCard/components/TrackOrderLink.cjs +1 -1
- package/dist/OrderLookupCard/components/TrackOrderLink.js +1 -1
- package/dist/ProductCard/ProductCard.cjs +6 -2
- package/dist/ProductCard/ProductCard.d.cts +6 -3
- package/dist/ProductCard/ProductCard.d.ts +6 -3
- package/dist/ProductCard/ProductCard.js +6 -2
- package/dist/ProductCard/index.d.cts +2 -2
- package/dist/ProductCard/index.d.ts +2 -2
- package/dist/ProductCard/types/index.d.cts +7 -1
- package/dist/ProductCard/types/index.d.ts +7 -1
- package/dist/PromptButton/PromptButton.cjs +1 -1
- package/dist/PromptButton/PromptButton.d.cts +2 -2
- package/dist/PromptButton/PromptButton.js +1 -1
- package/dist/PromptButton/components/Layout.cjs +1 -1
- package/dist/PromptButton/components/Layout.js +1 -1
- package/dist/PromptButton/components/Loading.cjs +1 -1
- package/dist/PromptButton/components/Loading.js +1 -1
- package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.cjs +5 -2
- package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.cts +6 -3
- package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.ts +6 -3
- package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.js +5 -2
- package/dist/PromptButtonCarouselWithImage/components/Layout.cjs +1 -1
- package/dist/PromptButtonCarouselWithImage/components/Layout.js +1 -1
- package/dist/PromptButtonCarouselWithImage/components/Skeleton.cjs +1 -1
- package/dist/PromptButtonCarouselWithImage/components/Skeleton.js +1 -1
- package/dist/PromptButtonCarouselWithImage/types/types.d.cts +12 -0
- package/dist/PromptButtonCarouselWithImage/types/types.d.ts +12 -0
- package/dist/PromptCarousel/PromptCarousel.cjs +1 -1
- package/dist/PromptCarousel/PromptCarousel.d.cts +2 -2
- package/dist/PromptCarousel/PromptCarousel.d.ts +2 -2
- package/dist/PromptCarousel/PromptCarousel.js +1 -1
- package/dist/PromptCarousel/hooks/useCarouselButtons.cjs +3 -2
- package/dist/PromptCarousel/hooks/useCarouselButtons.js +3 -2
- package/dist/ReviewCard/ReviewCard.d.cts +2 -2
- package/dist/ReviewCard/ReviewCard.d.ts +2 -2
- package/dist/ReviewCard/components/Container.cjs +1 -1
- package/dist/ReviewCard/components/Container.js +1 -1
- package/dist/ReviewCard/components/Rating.cjs +1 -2
- package/dist/ReviewCard/components/Rating.js +1 -2
- package/dist/ReviewCard/components/ReadMoreButton.cjs +1 -1
- package/dist/ReviewCard/components/ReadMoreButton.js +1 -1
- package/dist/ReviewCard/components/index.d.cts +6 -6
- package/dist/ReviewCard/components/index.d.ts +6 -6
- package/dist/SalesAgentProductCard/SalesAgentProductCard.d.cts +2 -2
- package/dist/SalesAgentProductCard/components/Container.cjs +1 -1
- package/dist/SalesAgentProductCard/components/Container.js +1 -1
- package/dist/SalesAgentProductCard/components/ProductImage.cjs +1 -1
- package/dist/SalesAgentProductCard/components/ProductImage.js +1 -1
- package/dist/SalesAgentProductCard/components/ProductName.cjs +1 -1
- package/dist/SalesAgentProductCard/components/ProductName.js +1 -1
- package/dist/SalesAgentProductCard/components/index.d.cts +8 -8
- package/dist/SocialProof/SocialProof.cjs +6 -3
- package/dist/SocialProof/SocialProof.d.cts +2 -2
- package/dist/SocialProof/SocialProof.d.ts +2 -2
- package/dist/SocialProof/SocialProof.js +6 -3
- package/dist/SocialProof/components/Headline.cjs +1 -1
- package/dist/SocialProof/components/Headline.js +1 -1
- package/dist/SocialProof/components/LayoutFourHorizontal.cjs +1 -1
- package/dist/SocialProof/components/LayoutFourHorizontal.js +1 -1
- package/dist/SocialProof/components/Textfield.cjs +5 -2
- package/dist/SocialProof/components/Textfield.js +5 -2
- package/dist/SocialProof/index.d.cts +2 -2
- package/dist/SocialProof/index.d.ts +2 -2
- package/dist/SocialProof/types/types.d.cts +13 -1
- package/dist/SocialProof/types/types.d.ts +13 -1
- package/dist/SparkleAnimation/SparkleAnimation.d.cts +2 -2
- package/dist/Stack/Stack.d.cts +2 -2
- package/dist/Stack/Stack.d.ts +2 -2
- package/dist/TextField/TextField.cjs +35 -3
- package/dist/TextField/TextField.d.cts +5 -1
- package/dist/TextField/TextField.d.ts +5 -1
- package/dist/TextField/TextField.js +35 -3
- package/dist/TextField/components/Input.cjs +1 -1
- package/dist/TextField/components/Input.js +1 -1
- package/dist/TextField/components/Layout.cjs +11 -8
- package/dist/TextField/components/Layout.js +11 -8
- package/dist/TextField/components/SendIcon.cjs +1 -1
- package/dist/TextField/components/SendIcon.js +1 -1
- package/dist/TextField/components/VoiceInputButton.cjs +45 -0
- package/dist/TextField/components/VoiceInputButton.js +39 -0
- package/dist/TextField/components/index.cjs +3 -1
- package/dist/TextField/components/index.js +3 -1
- package/dist/TextField/hooks/useGetMicButtonContainerProperties.cjs +20 -0
- package/dist/TextField/hooks/useGetMicButtonContainerProperties.js +19 -0
- package/dist/TextField/hooks/useGetSkeletonProperties.cjs +1 -1
- package/dist/TextField/hooks/useGetSkeletonProperties.js +1 -1
- package/dist/TextField/hooks/useVoiceInput.cjs +52 -0
- package/dist/TextField/hooks/useVoiceInput.js +50 -0
- package/dist/TextField/types/index.d.cts +11 -0
- package/dist/TextField/types/index.d.ts +11 -0
- package/dist/TextField/utils/getLayoutStateProperties.cjs +9 -1
- package/dist/TextField/utils/getLayoutStateProperties.js +8 -1
- package/dist/Title/Title.cjs +1 -1
- package/dist/Title/Title.js +1 -1
- package/dist/Title/components/Layout.cjs +1 -1
- package/dist/Title/components/Layout.js +1 -1
- package/dist/TitledPromptCarousel/TitledPromptCarousel.cjs +1 -1
- package/dist/TitledPromptCarousel/TitledPromptCarousel.d.cts +2 -2
- package/dist/TitledPromptCarousel/TitledPromptCarousel.js +1 -1
- package/dist/Tokens/index.cjs +6 -6
- package/dist/Tokens/index.js +6 -6
- package/dist/TypingAnimation/TypingAnimation.cjs +7 -3
- package/dist/TypingAnimation/TypingAnimation.d.cts +2 -2
- package/dist/TypingAnimation/TypingAnimation.d.ts +2 -2
- package/dist/TypingAnimation/TypingAnimation.js +7 -3
- package/dist/TypingAnimation/index.d.cts +2 -2
- package/dist/TypingAnimation/index.d.ts +2 -2
- package/dist/TypingAnimation/types/index.d.cts +13 -1
- package/dist/TypingAnimation/types/index.d.ts +13 -1
- package/dist/Typography/Typography.d.cts +4 -4
- package/dist/Typography/Typography.d.ts +4 -4
- package/dist/WelcomeMessage/components/Container.cjs +1 -1
- package/dist/WelcomeMessage/components/Container.js +1 -1
- package/dist/WidgetTextField/WidgetTextField.cjs +39 -7
- package/dist/WidgetTextField/WidgetTextField.d.cts +7 -3
- package/dist/WidgetTextField/WidgetTextField.d.ts +7 -3
- package/dist/WidgetTextField/WidgetTextField.js +33 -2
- package/dist/WidgetTextField/components/Container.cjs +32 -26
- package/dist/WidgetTextField/components/Container.js +32 -26
- package/dist/WidgetTextField/components/Skeleton.cjs +1 -1
- package/dist/WidgetTextField/components/Skeleton.js +1 -1
- package/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +5 -3
- package/dist/WidgetTextField/hooks/useGetContainerProperties.js +5 -3
- package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.cjs +20 -0
- package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.js +19 -0
- package/dist/WidgetTextField/types/types.d.cts +21 -0
- package/dist/WidgetTextField/types/types.d.ts +21 -0
- package/dist/WidgetWrapper/WidgetWrapper.cjs +1 -1
- package/dist/WidgetWrapper/WidgetWrapper.d.cts +2 -2
- package/dist/WidgetWrapper/WidgetWrapper.js +1 -1
- package/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -1
- package/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +1 -1
- package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.cts +2 -2
- package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts +2 -2
- package/dist/node_modules/jotai/esm/react.cjs +87 -0
- package/dist/node_modules/jotai/esm/react.js +88 -2
- package/dist/node_modules/jotai/esm/vanilla/internals.cjs +2 -1
- package/dist/node_modules/jotai/esm/vanilla/internals.js +1 -1
- package/dist/packages/components-v3/tokens/typography/typography.cjs +1 -1
- package/dist/packages/components-v3/tokens/typography/typography.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/resolveTheme.cjs +1 -1
- package/dist/utils/resolveTheme.js +1 -1
- package/package.json +2 -1
- package/src/components/ChatFooter/ChatFooter.tsx +8 -0
- package/src/components/ChatFooter/__tests__/ChatFooter.test.tsx +43 -0
- package/src/components/ChatFooter/components/TextField.tsx +12 -0
- package/src/components/ChatFooter/types/types.ts +17 -0
- package/src/components/ChatHeader/ChatHeader.tsx +1 -0
- package/src/components/ChatHeader/components/Handle.tsx +7 -2
- package/src/components/ChatHeader/hooks/useGetHandleProperties.ts +5 -1
- package/src/components/ChatHeader/hooks/useGetToggleOptionProperties.ts +1 -1
- package/src/components/ChatHeader/types/index.ts +1 -0
- package/src/components/ChatPreview/ChatPreview.tsx +13 -2
- package/src/components/ChatPreview/__tests__/ChatPreview.test.tsx +44 -0
- package/src/components/ChatPreview/index.ts +1 -1
- package/src/components/ChatPreview/types/types.ts +13 -0
- package/src/components/ChatPreviewComparison/ChatPreviewComparison.tsx +6 -0
- package/src/components/ChatPreviewComparison/__tests__/ChatPreviewComparison.test.tsx +44 -0
- package/src/components/ChatPreviewComparison/index.ts +1 -1
- package/src/components/ChatPreviewComparison/types/types.ts +13 -0
- package/src/components/ChatPreviewLoading/ChatPreviewLoading.tsx +5 -3
- package/src/components/ChatPreviewLoading/__tests__/ChatPreviewLoading.test.tsx +40 -0
- package/src/components/ChatPreviewLoading/types/types.ts +5 -0
- package/src/components/Disclaimer/components/Container.tsx +1 -1
- package/src/components/FloatingChat/FloatingChat.tsx +43 -7
- package/src/components/FloatingChat/components/SlideChatContent.tsx +1 -1
- package/src/components/FloatingChat/hooks/useChatSuggestions.ts +8 -12
- package/src/components/FullPageSalesAgent/FullPageSalesAgent.tsx +43 -7
- package/src/components/ProductCard/ProductCard.tsx +7 -0
- package/src/components/ProductCard/__tests__/ProductCard.test.tsx +33 -0
- package/src/components/ProductCard/index.ts +1 -1
- package/src/components/ProductCard/types/index.ts +6 -0
- package/src/components/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.tsx +6 -0
- package/src/components/PromptButtonCarouselWithImage/__tests__/PromptButtonCarouselWithImage.test.tsx +34 -0
- package/src/components/PromptButtonCarouselWithImage/types/types.ts +12 -0
- package/src/components/PromptCarousel/__tests__/PromptCarousel.test.tsx +19 -0
- package/src/components/PromptCarousel/hooks/useCarouselButtons.ts +4 -2
- package/src/components/ReviewCard/components/Rating.tsx +0 -1
- package/src/components/SocialProof/SocialProof.tsx +6 -0
- package/src/components/SocialProof/__tests__/SocialProof.test.tsx +58 -0
- package/src/components/SocialProof/components/Textfield.tsx +9 -0
- package/src/components/SocialProof/index.ts +1 -1
- package/src/components/SocialProof/types/types.ts +13 -0
- package/src/components/TextField/TextField.tsx +49 -0
- package/src/components/TextField/__tests__/TextField.test.tsx +3 -3
- package/src/components/TextField/__tests__/VoiceInputButton.test.tsx +175 -0
- package/src/components/TextField/components/Layout.tsx +24 -17
- package/src/components/TextField/components/VoiceInputButton.tsx +69 -0
- package/src/components/TextField/components/index.ts +2 -0
- package/src/components/TextField/hooks/useGetMicButtonContainerProperties.ts +38 -0
- package/src/components/TextField/hooks/useGetSkeletonProperties.ts +1 -1
- package/src/components/TextField/hooks/useVoiceInput.ts +75 -0
- package/src/components/TextField/types/index.ts +11 -0
- package/src/components/TextField/utils/getLayoutStateProperties.ts +8 -0
- package/src/components/TypingAnimation/TypingAnimation.tsx +7 -0
- package/src/components/TypingAnimation/__tests__/TypingAnimation.test.tsx +47 -0
- package/src/components/TypingAnimation/index.ts +1 -1
- package/src/components/TypingAnimation/types/index.ts +14 -1
- package/src/components/WidgetTextField/WidgetTextField.tsx +47 -0
- package/src/components/WidgetTextField/__tests__/WidgetTextField.test.tsx +119 -4
- package/src/components/WidgetTextField/components/Container.tsx +40 -27
- package/src/components/WidgetTextField/hooks/useGetContainerProperties.ts +16 -4
- package/src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts +38 -0
- package/src/components/WidgetTextField/types/types.ts +21 -0
- package/src/components/WidgetWrapper/hooks/useGetWrapperProperties.ts +1 -1
|
@@ -6,8 +6,8 @@ import { useGetThemeProperties } from "../hooks/useGetThemeProperties.js";
|
|
|
6
6
|
import { useGetStackLayoutProperties } from "../hooks/useGetStackLayoutProperties.js";
|
|
7
7
|
import { useGetCardWidthProperties } from "../hooks/useGetCardWidthProperties.js";
|
|
8
8
|
import { useGetPaddingProperties } from "../hooks/useGetPaddingProperties.js";
|
|
9
|
-
import classNames from "classnames";
|
|
10
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import classNames from "classnames";
|
|
11
11
|
|
|
12
12
|
//#region src/components/DocumentRetrievalCard/components/Layout.tsx
|
|
13
13
|
const Layout = ({ content, image, viewArticleButton, id, testId, className, style, theme, ariaLabel }) => {
|
|
@@ -2,9 +2,9 @@ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.
|
|
|
2
2
|
const require_Stack = require('../../../../Stack/Stack.cjs');
|
|
3
3
|
require('../../../../Stack/index.cjs');
|
|
4
4
|
const require_CustomIcon = require('../../../../utils/CustomIcon.cjs');
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
6
|
let classnames = require("classnames");
|
|
6
7
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
7
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
8
|
let __envive_ai_react_icons_Document = require("@envive-ai/react-icons/Document");
|
|
9
9
|
__envive_ai_react_icons_Document = require_rolldown_runtime.__toESM(__envive_ai_react_icons_Document);
|
|
10
10
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Stack } from "../../../../Stack/Stack.js";
|
|
2
2
|
import "../../../../Stack/index.js";
|
|
3
3
|
import { CustomIcon } from "../../../../utils/CustomIcon.js";
|
|
4
|
-
import classNames from "classnames";
|
|
5
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import classNames from "classnames";
|
|
6
6
|
import Document from "@envive-ai/react-icons/Document";
|
|
7
7
|
|
|
8
8
|
//#region src/components/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.tsx
|
|
@@ -5,9 +5,9 @@ const require_index = require('../../../../Typography/types/index.cjs');
|
|
|
5
5
|
const require_Typography = require('../../../../Typography/Typography.cjs');
|
|
6
6
|
require('../../../../Typography/index.cjs');
|
|
7
7
|
const require_useGetLabelUnderlineProperties = require('../../../hooks/useGetLabelUnderlineProperties.cjs');
|
|
8
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
9
|
let classnames = require("classnames");
|
|
9
10
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
10
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
11
|
|
|
12
12
|
//#region src/components/DocumentRetrievalCard/components/ViewArticleButton/components/Label.tsx
|
|
13
13
|
const Label = ({ viewArticleLabel, typographyVariant, shouldUnderline = false, textCaseClassName }) => {
|
|
@@ -4,8 +4,8 @@ import { TypographyColor } from "../../../../Typography/types/index.js";
|
|
|
4
4
|
import { Typography } from "../../../../Typography/Typography.js";
|
|
5
5
|
import "../../../../Typography/index.js";
|
|
6
6
|
import { useGetLabelUnderlineProperties } from "../../../hooks/useGetLabelUnderlineProperties.js";
|
|
7
|
-
import classNames from "classnames";
|
|
8
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import classNames from "classnames";
|
|
9
9
|
|
|
10
10
|
//#region src/components/DocumentRetrievalCard/components/ViewArticleButton/components/Label.tsx
|
|
11
11
|
const Label = ({ viewArticleLabel, typographyVariant, shouldUnderline = false, textCaseClassName }) => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
|
|
2
2
|
const require_Stack = require('../../../../Stack/Stack.cjs');
|
|
3
3
|
require('../../../../Stack/index.cjs');
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
5
|
let classnames = require("classnames");
|
|
5
6
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
6
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
|
|
8
8
|
//#region src/components/DocumentRetrievalCard/components/ViewArticleButton/components/Layout.tsx
|
|
9
9
|
const Layout = ({ icon, label, onClick, className, ariaLabel }) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Stack } from "../../../../Stack/Stack.js";
|
|
2
2
|
import "../../../../Stack/index.js";
|
|
3
|
-
import classNames from "classnames";
|
|
4
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import classNames from "classnames";
|
|
5
5
|
|
|
6
6
|
//#region src/components/DocumentRetrievalCard/components/ViewArticleButton/components/Layout.tsx
|
|
7
7
|
const Layout = ({ icon, label, onClick, className, ariaLabel }) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FloatingButtonProps } from "./types/types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime18 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/FloatingButton/FloatingButton.d.ts
|
|
5
5
|
declare const FloatingButton: ({
|
|
@@ -18,6 +18,6 @@ declare const FloatingButton: ({
|
|
|
18
18
|
onMouseOver,
|
|
19
19
|
ariaLabel,
|
|
20
20
|
previewMode
|
|
21
|
-
}: FloatingButtonProps) =>
|
|
21
|
+
}: FloatingButtonProps) => react_jsx_runtime18.JSX.Element;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { FloatingButton };
|
|
@@ -2,9 +2,9 @@ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
|
2
2
|
const require_types = require('../types/types.cjs');
|
|
3
3
|
const require_useGetButtonHoverProperties = require('../hooks/useGetButtonHoverProperties.cjs');
|
|
4
4
|
const require_useGetButtonProperties = require('../hooks/useGetButtonProperties.cjs');
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
6
|
let classnames = require("classnames");
|
|
6
7
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
7
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
8
|
|
|
9
9
|
//#region src/components/FloatingButton/components/Button.tsx
|
|
10
10
|
const Button = ({ variant = require_types.FloatingButtonVariant.ATTACHED, mode = require_types.FloatingButtonMode.LIGHT, backgroundColor, onClick, onMouseOver, onFocus, children, className = "", ariaLabel }) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FloatingButtonMode, FloatingButtonVariant } from "../types/types.js";
|
|
2
2
|
import { useGetButtonHoverProperties } from "../hooks/useGetButtonHoverProperties.js";
|
|
3
3
|
import { useGetButtonProperties } from "../hooks/useGetButtonProperties.js";
|
|
4
|
-
import classNames from "classnames";
|
|
5
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import classNames from "classnames";
|
|
6
6
|
|
|
7
7
|
//#region src/components/FloatingButton/components/Button.tsx
|
|
8
8
|
const Button = ({ variant = FloatingButtonVariant.ATTACHED, mode = FloatingButtonMode.LIGHT, backgroundColor, onClick, onMouseOver, onFocus, children, className = "", ariaLabel }) => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
2
|
const require_types = require('../types/types.cjs');
|
|
3
3
|
const require_useGetContainerProperties = require('../hooks/useGetContainerProperties.cjs');
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
5
|
let classnames = require("classnames");
|
|
5
6
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
6
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
|
|
8
8
|
//#region src/components/FloatingButton/components/Container.tsx
|
|
9
9
|
const Container = ({ location = require_types.FloatingButtonLocation.BOTTOM_RIGHT, show = require_types.FloatingButtonShow.ALWAYS, variant = require_types.FloatingButtonVariant.ATTACHED, hasInteractionHappened = false, children, id, testId, className = "", style, previewMode = false }) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FloatingButtonLocation, FloatingButtonShow, FloatingButtonVariant } from "../types/types.js";
|
|
2
2
|
import { useGetContainerProperties } from "../hooks/useGetContainerProperties.js";
|
|
3
|
-
import classNames from "classnames";
|
|
4
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import classNames from "classnames";
|
|
5
5
|
|
|
6
6
|
//#region src/components/FloatingButton/components/Container.tsx
|
|
7
7
|
const Container = ({ location = FloatingButtonLocation.BOTTOM_RIGHT, show = FloatingButtonShow.ALWAYS, variant = FloatingButtonVariant.ATTACHED, hasInteractionHappened = false, children, id, testId, className = "", style, previewMode = false }) => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
2
|
const require_types = require('../types/types.cjs');
|
|
3
3
|
const require_useGetWrapperProperties = require('../hooks/useGetWrapperProperties.cjs');
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
5
|
let classnames = require("classnames");
|
|
5
6
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
6
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
|
|
8
8
|
//#region src/components/FloatingButton/components/Wrapper.tsx
|
|
9
9
|
const Wrapper = ({ location = require_types.FloatingButtonLocation.BOTTOM_RIGHT, children, className = "" }) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FloatingButtonLocation } from "../types/types.js";
|
|
2
2
|
import { useGetWrapperProperties } from "../hooks/useGetWrapperProperties.js";
|
|
3
|
-
import classNames from "classnames";
|
|
4
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import classNames from "classnames";
|
|
5
5
|
|
|
6
6
|
//#region src/components/FloatingButton/components/Wrapper.tsx
|
|
7
7
|
const Wrapper = ({ location = FloatingButtonLocation.BOTTOM_RIGHT, children, className = "" }) => {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
2
|
const require_theme = require('../packages/components-v3/tokens/theme/theme.cjs');
|
|
3
3
|
const require_resolveTheme = require('../utils/resolveTheme.cjs');
|
|
4
|
+
const require_react = require('../node_modules/jotai/esm/react.cjs');
|
|
4
5
|
const require_usePromptCarouselAnalytics = require('../PromptCarousel/hooks/usePromptCarouselAnalytics.cjs');
|
|
5
6
|
const require_PromptButton_types_index = require('../PromptButton/types/index.cjs');
|
|
6
7
|
require('../PromptButton/index.cjs');
|
|
@@ -19,13 +20,14 @@ const require_useChatSuggestions = require('./hooks/useChatSuggestions.cjs');
|
|
|
19
20
|
const require_useProductResultsView = require('./hooks/useProductResultsView.cjs');
|
|
20
21
|
const require_useScrollToBottom = require('./hooks/useScrollToBottom.cjs');
|
|
21
22
|
const require_useSnapSetup = require('./hooks/useSnapSetup.cjs');
|
|
22
|
-
const require_useFilteredChatMessages = require('./hooks/useFilteredChatMessages.cjs');
|
|
23
|
-
const require_useSnapCalculator = require('./hooks/useSnapCalculator.cjs');
|
|
24
23
|
const require_trackProductCardInteraction = require('./utils/trackProductCardInteraction.cjs');
|
|
24
|
+
const require_useSnapCalculator = require('./hooks/useSnapCalculator.cjs');
|
|
25
25
|
const require_ModalSheet = require('./components/ModalSheet.cjs');
|
|
26
26
|
const require_index$1 = require('./components/index.cjs');
|
|
27
|
+
const require_useFilteredChatMessages = require('./hooks/useFilteredChatMessages.cjs');
|
|
27
28
|
let react = require("react");
|
|
28
29
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
30
|
+
let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
|
|
29
31
|
let __envive_ai_react_hooks_contexts_amplitudeContext = require("@envive-ai/react-hooks/contexts/amplitudeContext");
|
|
30
32
|
let __envive_ai_react_hooks_hooks_WidgetInteraction = require("@envive-ai/react-hooks/hooks/WidgetInteraction");
|
|
31
33
|
let __envive_ai_react_hooks_hooks_WidgetInteraction_types = require("@envive-ai/react-hooks/hooks/WidgetInteraction/types");
|
|
@@ -37,6 +39,7 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
|
|
|
37
39
|
const finalTheme = require_resolveTheme.resolveTheme(theme);
|
|
38
40
|
const { trackWidgetInteraction } = (0, __envive_ai_react_hooks_hooks_WidgetInteraction.useWidgetInteraction)();
|
|
39
41
|
const { onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = require_usePromptCarouselAnalytics.usePromptCarouselAnalytics(__envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT, (text) => text);
|
|
42
|
+
const setListeningToSpeech = require_react.useSetAtom(__envive_ai_react_hooks_atoms_chat.listeningToSpeechAtom);
|
|
40
43
|
const [query, setQuery] = (0, react.useState)("");
|
|
41
44
|
const chatMessagesRef = (0, react.useRef)(null);
|
|
42
45
|
const { headerBackgroundColor, headerMode, welcomeMessageIconColor, showVerifiedBuyer, userQueryInputEnabled = true, showEnviveLogo, ignoreFirstModelResponse, neverShowSingleProductCards } = floatingChatConfig;
|
|
@@ -48,7 +51,7 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
|
|
|
48
51
|
if (textString && typeof textString === "string") return textString;
|
|
49
52
|
}
|
|
50
53
|
}, [disclaimerText]);
|
|
51
|
-
const { agentName, chatHeaderLogoDarkSrc, chatHeaderLogoLightSrc } = lookAndFeelConfig;
|
|
54
|
+
const { agentName, chatHeaderLogoDarkSrc, chatHeaderLogoLightSrc, voiceInputEnabled } = lookAndFeelConfig;
|
|
52
55
|
const { messages, isResponseStreaming, isPendingResponse, suggestions, onSuggestionClicked, onTypedMessageSubmitted, onFormResponseSubmitted } = salesAgentData;
|
|
53
56
|
const { answerSuggestions, generalSuggestions, showAnswerSuggestions, setAnswerSuggestions, setGeneralSuggestions } = require_useChatSuggestions.useChatSuggestions({
|
|
54
57
|
suggestions,
|
|
@@ -122,6 +125,25 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
|
|
|
122
125
|
const handleProductCardClick = (product) => {
|
|
123
126
|
require_trackProductCardInteraction.trackProductCardClicked(trackWidgetInteraction, __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT, product);
|
|
124
127
|
};
|
|
128
|
+
const handleTranscriptionStarted = (0, react.useCallback)(() => {
|
|
129
|
+
trackWidgetInteraction({
|
|
130
|
+
eventName: __envive_ai_react_hooks_contexts_amplitudeContext.EnviveMetricsEventName.WidgetInteraction,
|
|
131
|
+
trigger: {
|
|
132
|
+
widget: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT,
|
|
133
|
+
widget_interaction: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionType.VOICE_TRANSCRIPTION_STARTED
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}, [trackWidgetInteraction]);
|
|
137
|
+
const handleTranscriptionCompleted = (0, react.useCallback)((transcript) => {
|
|
138
|
+
trackWidgetInteraction({
|
|
139
|
+
eventName: __envive_ai_react_hooks_contexts_amplitudeContext.EnviveMetricsEventName.WidgetInteraction,
|
|
140
|
+
trigger: {
|
|
141
|
+
widget: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT,
|
|
142
|
+
widget_interaction: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionType.VOICE_TRANSCRIPTION_COMPLETED,
|
|
143
|
+
widget_interaction_data: { transcription: transcript }
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}, [trackWidgetInteraction]);
|
|
125
147
|
const header = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatHeader.ChatHeader, {
|
|
126
148
|
logoDark: chatHeaderLogoDarkSrc,
|
|
127
149
|
logoLight: chatHeaderLogoLightSrc,
|
|
@@ -175,6 +197,7 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
|
|
|
175
197
|
theme: finalTheme,
|
|
176
198
|
isScrolled: isMobile ? isFloatingLayout : false,
|
|
177
199
|
onChange: setQuery,
|
|
200
|
+
inputClassName: "placeholder:envive-tw-text-text-secondary",
|
|
178
201
|
onSubmit: () => {
|
|
179
202
|
onTypedMessageSubmitted({
|
|
180
203
|
query,
|
|
@@ -190,6 +213,7 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
|
|
|
190
213
|
handleButtonClick: (buttonText) => {
|
|
191
214
|
const suggestion = suggestions.find((s) => s.content === buttonText && !s.isAnswer);
|
|
192
215
|
if (suggestion) onSuggestionClicked(suggestion, __envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.FLOATING_CHAT_PROMPT_BUTTON);
|
|
216
|
+
setListeningToSpeech("abort");
|
|
193
217
|
setAnswerSuggestions([]);
|
|
194
218
|
setGeneralSuggestions([]);
|
|
195
219
|
handleBackToChat();
|
|
@@ -199,7 +223,10 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
|
|
|
199
223
|
isLoadingPromptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0,
|
|
200
224
|
hideEnviveWatermark: !showEnviveLogo,
|
|
201
225
|
onFocus: handleInputQueryFocus,
|
|
202
|
-
parentWidget: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT
|
|
226
|
+
parentWidget: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT,
|
|
227
|
+
voiceInputEnabled,
|
|
228
|
+
onTranscriptionStarted: handleTranscriptionStarted,
|
|
229
|
+
onTranscriptionCompleted: handleTranscriptionCompleted
|
|
203
230
|
});
|
|
204
231
|
const welcomeMessage = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_WelcomeMessage.WelcomeMessage, {
|
|
205
232
|
sparkleIconColor: welcomeMessageIconColor,
|
|
@@ -242,6 +269,7 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
|
|
|
242
269
|
handleButtonClick: (buttonText) => {
|
|
243
270
|
const suggestion = suggestions.find((s) => s.content === buttonText && s.isAnswer);
|
|
244
271
|
if (suggestion) onSuggestionClicked(suggestion, __envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.FLOATING_CHAT_PROMPT_BUTTON);
|
|
272
|
+
setListeningToSpeech("abort");
|
|
245
273
|
setAnswerSuggestions([]);
|
|
246
274
|
setGeneralSuggestions([]);
|
|
247
275
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FloatingChatProps } from "./types/types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime33 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/FloatingChat/FloatingChat.d.ts
|
|
5
5
|
declare const FloatingChat: ({
|
|
@@ -19,6 +19,6 @@ declare const FloatingChat: ({
|
|
|
19
19
|
onSwipeClose,
|
|
20
20
|
onToggleCXButton,
|
|
21
21
|
setIsResultsModalOpen
|
|
22
|
-
}: FloatingChatProps) =>
|
|
22
|
+
}: FloatingChatProps) => react_jsx_runtime33.JSX.Element;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { FloatingChat };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FloatingChatProps } from "./types/types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime23 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/FloatingChat/FloatingChat.d.ts
|
|
5
5
|
declare const FloatingChat: ({
|
|
@@ -19,6 +19,6 @@ declare const FloatingChat: ({
|
|
|
19
19
|
onSwipeClose,
|
|
20
20
|
onToggleCXButton,
|
|
21
21
|
setIsResultsModalOpen
|
|
22
|
-
}: FloatingChatProps) =>
|
|
22
|
+
}: FloatingChatProps) => react_jsx_runtime23.JSX.Element;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { FloatingChat };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Theme } from "../packages/components-v3/tokens/theme/theme.js";
|
|
2
2
|
import { resolveTheme } from "../utils/resolveTheme.js";
|
|
3
|
+
import { useSetAtom } from "../node_modules/jotai/esm/react.js";
|
|
3
4
|
import { usePromptCarouselAnalytics } from "../PromptCarousel/hooks/usePromptCarouselAnalytics.js";
|
|
4
5
|
import { PromptButtonVariant } from "../PromptButton/types/index.js";
|
|
5
6
|
import "../PromptButton/index.js";
|
|
@@ -18,13 +19,14 @@ import { useChatSuggestions } from "./hooks/useChatSuggestions.js";
|
|
|
18
19
|
import { useProductResultsView } from "./hooks/useProductResultsView.js";
|
|
19
20
|
import { useScrollToBottom } from "./hooks/useScrollToBottom.js";
|
|
20
21
|
import { useSnapSetup } from "./hooks/useSnapSetup.js";
|
|
21
|
-
import { useFilteredChatMessages } from "./hooks/useFilteredChatMessages.js";
|
|
22
|
-
import { Unit } from "./hooks/useSnapCalculator.js";
|
|
23
22
|
import { trackProductCardClicked } from "./utils/trackProductCardInteraction.js";
|
|
23
|
+
import { Unit } from "./hooks/useSnapCalculator.js";
|
|
24
24
|
import { ModalSheet } from "./components/ModalSheet.js";
|
|
25
25
|
import { FloatingChatComponents } from "./components/index.js";
|
|
26
|
-
import {
|
|
26
|
+
import { useFilteredChatMessages } from "./hooks/useFilteredChatMessages.js";
|
|
27
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
27
28
|
import { jsx } from "react/jsx-runtime";
|
|
29
|
+
import { listeningToSpeechAtom } from "@envive-ai/react-hooks/atoms/chat";
|
|
28
30
|
import { EnviveMetricsEventName } from "@envive-ai/react-hooks/contexts/amplitudeContext";
|
|
29
31
|
import { useWidgetInteraction } from "@envive-ai/react-hooks/hooks/WidgetInteraction";
|
|
30
32
|
import { WidgetInteractionComponent, WidgetInteractionType } from "@envive-ai/react-hooks/hooks/WidgetInteraction/types";
|
|
@@ -36,6 +38,7 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
|
|
|
36
38
|
const finalTheme = resolveTheme(theme);
|
|
37
39
|
const { trackWidgetInteraction } = useWidgetInteraction();
|
|
38
40
|
const { onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = usePromptCarouselAnalytics(WidgetInteractionComponent.FLOATING_CHAT, (text) => text);
|
|
41
|
+
const setListeningToSpeech = useSetAtom(listeningToSpeechAtom);
|
|
39
42
|
const [query, setQuery] = useState("");
|
|
40
43
|
const chatMessagesRef = useRef(null);
|
|
41
44
|
const { headerBackgroundColor, headerMode, welcomeMessageIconColor, showVerifiedBuyer, userQueryInputEnabled = true, showEnviveLogo, ignoreFirstModelResponse, neverShowSingleProductCards } = floatingChatConfig;
|
|
@@ -47,7 +50,7 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
|
|
|
47
50
|
if (textString && typeof textString === "string") return textString;
|
|
48
51
|
}
|
|
49
52
|
}, [disclaimerText]);
|
|
50
|
-
const { agentName, chatHeaderLogoDarkSrc, chatHeaderLogoLightSrc } = lookAndFeelConfig;
|
|
53
|
+
const { agentName, chatHeaderLogoDarkSrc, chatHeaderLogoLightSrc, voiceInputEnabled } = lookAndFeelConfig;
|
|
51
54
|
const { messages, isResponseStreaming, isPendingResponse, suggestions, onSuggestionClicked, onTypedMessageSubmitted, onFormResponseSubmitted } = salesAgentData;
|
|
52
55
|
const { answerSuggestions, generalSuggestions, showAnswerSuggestions, setAnswerSuggestions, setGeneralSuggestions } = useChatSuggestions({
|
|
53
56
|
suggestions,
|
|
@@ -121,6 +124,25 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
|
|
|
121
124
|
const handleProductCardClick = (product) => {
|
|
122
125
|
trackProductCardClicked(trackWidgetInteraction, WidgetInteractionComponent.FLOATING_CHAT, product);
|
|
123
126
|
};
|
|
127
|
+
const handleTranscriptionStarted = useCallback(() => {
|
|
128
|
+
trackWidgetInteraction({
|
|
129
|
+
eventName: EnviveMetricsEventName.WidgetInteraction,
|
|
130
|
+
trigger: {
|
|
131
|
+
widget: WidgetInteractionComponent.FLOATING_CHAT,
|
|
132
|
+
widget_interaction: WidgetInteractionType.VOICE_TRANSCRIPTION_STARTED
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}, [trackWidgetInteraction]);
|
|
136
|
+
const handleTranscriptionCompleted = useCallback((transcript) => {
|
|
137
|
+
trackWidgetInteraction({
|
|
138
|
+
eventName: EnviveMetricsEventName.WidgetInteraction,
|
|
139
|
+
trigger: {
|
|
140
|
+
widget: WidgetInteractionComponent.FLOATING_CHAT,
|
|
141
|
+
widget_interaction: WidgetInteractionType.VOICE_TRANSCRIPTION_COMPLETED,
|
|
142
|
+
widget_interaction_data: { transcription: transcript }
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}, [trackWidgetInteraction]);
|
|
124
146
|
const header = /* @__PURE__ */ jsx(ChatHeader, {
|
|
125
147
|
logoDark: chatHeaderLogoDarkSrc,
|
|
126
148
|
logoLight: chatHeaderLogoLightSrc,
|
|
@@ -174,6 +196,7 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
|
|
|
174
196
|
theme: finalTheme,
|
|
175
197
|
isScrolled: isMobile ? isFloatingLayout : false,
|
|
176
198
|
onChange: setQuery,
|
|
199
|
+
inputClassName: "placeholder:envive-tw-text-text-secondary",
|
|
177
200
|
onSubmit: () => {
|
|
178
201
|
onTypedMessageSubmitted({
|
|
179
202
|
query,
|
|
@@ -189,6 +212,7 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
|
|
|
189
212
|
handleButtonClick: (buttonText) => {
|
|
190
213
|
const suggestion = suggestions.find((s) => s.content === buttonText && !s.isAnswer);
|
|
191
214
|
if (suggestion) onSuggestionClicked(suggestion, ChatElementDisplayLocationV3.FLOATING_CHAT_PROMPT_BUTTON);
|
|
215
|
+
setListeningToSpeech("abort");
|
|
192
216
|
setAnswerSuggestions([]);
|
|
193
217
|
setGeneralSuggestions([]);
|
|
194
218
|
handleBackToChat();
|
|
@@ -198,7 +222,10 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
|
|
|
198
222
|
isLoadingPromptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0,
|
|
199
223
|
hideEnviveWatermark: !showEnviveLogo,
|
|
200
224
|
onFocus: handleInputQueryFocus,
|
|
201
|
-
parentWidget: WidgetInteractionComponent.FLOATING_CHAT
|
|
225
|
+
parentWidget: WidgetInteractionComponent.FLOATING_CHAT,
|
|
226
|
+
voiceInputEnabled,
|
|
227
|
+
onTranscriptionStarted: handleTranscriptionStarted,
|
|
228
|
+
onTranscriptionCompleted: handleTranscriptionCompleted
|
|
202
229
|
});
|
|
203
230
|
const welcomeMessage = /* @__PURE__ */ jsx(WelcomeMessage, {
|
|
204
231
|
sparkleIconColor: welcomeMessageIconColor,
|
|
@@ -241,6 +268,7 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
|
|
|
241
268
|
handleButtonClick: (buttonText) => {
|
|
242
269
|
const suggestion = suggestions.find((s) => s.content === buttonText && s.isAnswer);
|
|
243
270
|
if (suggestion) onSuggestionClicked(suggestion, ChatElementDisplayLocationV3.FLOATING_CHAT_PROMPT_BUTTON);
|
|
271
|
+
setListeningToSpeech("abort");
|
|
244
272
|
setAnswerSuggestions([]);
|
|
245
273
|
setGeneralSuggestions([]);
|
|
246
274
|
},
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
2
|
const require_theme = require('../../packages/components-v3/tokens/theme/theme.cjs');
|
|
3
3
|
const require_resolveTheme = require('../../utils/resolveTheme.cjs');
|
|
4
|
+
const require_react = require('../../node_modules/jotai/esm/react.cjs');
|
|
4
5
|
const require_functions = require('../utils/functions.cjs');
|
|
5
6
|
const require_index = require('../../Message/types/index.cjs');
|
|
6
7
|
const require_Message = require('../../Message/Message.cjs');
|
|
7
8
|
require('../../Message/index.cjs');
|
|
8
|
-
const require_react = require('../../node_modules/jotai/esm/react.cjs');
|
|
9
9
|
const require_Form = require('../../Form/Form.cjs');
|
|
10
10
|
require('../../Form/index.cjs');
|
|
11
11
|
const require_trackProductCardInteraction = require('../utils/trackProductCardInteraction.cjs');
|
|
@@ -14,11 +14,11 @@ const require_OrderLookupCardCarousel = require('./OrderLookupCardCarousel.cjs')
|
|
|
14
14
|
const require_ReviewCardsCarousel = require('./ReviewCardsCarousel.cjs');
|
|
15
15
|
const require_SalesAgentProductCardsCarousel = require('./SalesAgentProductCardsCarousel.cjs');
|
|
16
16
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
17
|
+
let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
|
|
17
18
|
let __envive_ai_react_hooks_contexts_amplitudeContext = require("@envive-ai/react-hooks/contexts/amplitudeContext");
|
|
18
19
|
let __envive_ai_react_hooks_hooks_WidgetInteraction = require("@envive-ai/react-hooks/hooks/WidgetInteraction");
|
|
19
20
|
let __envive_ai_react_hooks_hooks_WidgetInteraction_types = require("@envive-ai/react-hooks/hooks/WidgetInteraction/types");
|
|
20
21
|
let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
|
|
21
|
-
let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
|
|
22
22
|
|
|
23
23
|
//#region src/components/FloatingChat/components/AgentMessage.tsx
|
|
24
24
|
const AgentMessage = ({ theme = require_theme.Theme.GLOBAL_CUSTOM, agentName, type, messages, hideAgentName = false, isResponseStreaming = false, isPendingResponse = false, neverShowSingleProductCards = false, showVerifiedBuyer = false, onFormResponseSubmitted, parentWidget, onExploreAllResults }) => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
|
|
2
2
|
import { resolveTheme } from "../../utils/resolveTheme.js";
|
|
3
|
+
import { useSetAtom } from "../../node_modules/jotai/esm/react.js";
|
|
3
4
|
import { getCleanDocuments, getCleanOrders, getCleanProducts, getCleanReviews } from "../utils/functions.js";
|
|
4
5
|
import { MessageVariant } from "../../Message/types/index.js";
|
|
5
6
|
import { Message } from "../../Message/Message.js";
|
|
6
7
|
import "../../Message/index.js";
|
|
7
|
-
import { useSetAtom } from "../../node_modules/jotai/esm/react.js";
|
|
8
8
|
import { Form } from "../../Form/Form.js";
|
|
9
9
|
import "../../Form/index.js";
|
|
10
10
|
import { trackProductCardClicked } from "../utils/trackProductCardInteraction.js";
|
|
@@ -13,11 +13,11 @@ import { OrderLookupCardCarousel } from "./OrderLookupCardCarousel.js";
|
|
|
13
13
|
import { ReviewCardsCarousel } from "./ReviewCardsCarousel.js";
|
|
14
14
|
import { SalesAgentProductCardsCarousel } from "./SalesAgentProductCardsCarousel.js";
|
|
15
15
|
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
import { handleFormSubmittedAtom } from "@envive-ai/react-hooks/atoms/chat";
|
|
16
17
|
import { EnviveMetricsEventName } from "@envive-ai/react-hooks/contexts/amplitudeContext";
|
|
17
18
|
import { useWidgetInteraction } from "@envive-ai/react-hooks/hooks/WidgetInteraction";
|
|
18
19
|
import { WidgetInteractionType } from "@envive-ai/react-hooks/hooks/WidgetInteraction/types";
|
|
19
20
|
import { MessageType } from "@envive-ai/react-hooks/application/models";
|
|
20
|
-
import { handleFormSubmittedAtom } from "@envive-ai/react-hooks/atoms/chat";
|
|
21
21
|
|
|
22
22
|
//#region src/components/FloatingChat/components/AgentMessage.tsx
|
|
23
23
|
const AgentMessage = ({ theme = Theme.GLOBAL_CUSTOM, agentName, type, messages, hideAgentName = false, isResponseStreaming = false, isPendingResponse = false, neverShowSingleProductCards = false, showVerifiedBuyer = false, onFormResponseSubmitted, parentWidget, onExploreAllResults }) => {
|
|
@@ -14,9 +14,9 @@ const require_UserMessage = require('./UserMessage.cjs');
|
|
|
14
14
|
const require_AgentMessage = require('./AgentMessage.cjs');
|
|
15
15
|
const require_MessageDivider = require('./MessageDivider.cjs');
|
|
16
16
|
let react = require("react");
|
|
17
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
17
18
|
let classnames = require("classnames");
|
|
18
19
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
19
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
20
20
|
let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
|
|
21
21
|
|
|
22
22
|
//#region src/components/FloatingChat/components/ChatMessages.tsx
|
|
@@ -13,8 +13,8 @@ import { UserMessage } from "./UserMessage.js";
|
|
|
13
13
|
import { AgentMessage } from "./AgentMessage.js";
|
|
14
14
|
import { MessageDivider } from "./MessageDivider.js";
|
|
15
15
|
import { forwardRef } from "react";
|
|
16
|
-
import classNames from "classnames";
|
|
17
16
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
+
import classNames from "classnames";
|
|
18
18
|
import { MessageRole, MessageType } from "@envive-ai/react-hooks/application/models";
|
|
19
19
|
|
|
20
20
|
//#region src/components/FloatingChat/components/ChatMessages.tsx
|
|
@@ -6,9 +6,9 @@ const require_Container = require('../../Container/Container.cjs');
|
|
|
6
6
|
require('../../Container/index.cjs');
|
|
7
7
|
const require_resolveTheme = require('../../utils/resolveTheme.cjs');
|
|
8
8
|
let react = require("react");
|
|
9
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
10
|
let classnames = require("classnames");
|
|
10
11
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
11
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
12
12
|
|
|
13
13
|
//#region src/components/FloatingChat/components/Layout.tsx
|
|
14
14
|
const Layout = ({ id, className, style, testId, theme = require_theme.Theme.GLOBAL_CUSTOM, header, footer, welcomeMessage, chatMessages, answerSuggestions, scrollToBottomButton, disclaimer, isFloatingFooterLayout = false, debugBar, scrollContainerRef }) => {
|
|
@@ -5,8 +5,8 @@ import { Container } from "../../Container/Container.js";
|
|
|
5
5
|
import "../../Container/index.js";
|
|
6
6
|
import { resolveTheme } from "../../utils/resolveTheme.js";
|
|
7
7
|
import { isValidElement } from "react";
|
|
8
|
-
import classNames from "classnames";
|
|
9
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import classNames from "classnames";
|
|
10
10
|
|
|
11
11
|
//#region src/components/FloatingChat/components/Layout.tsx
|
|
12
12
|
const Layout = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTOM, header, footer, welcomeMessage, chatMessages, answerSuggestions, scrollToBottomButton, disclaimer, isFloatingFooterLayout = false, debugBar, scrollContainerRef }) => {
|
|
@@ -3,9 +3,9 @@ const require_index = require('../../ChatHeader/types/index.cjs');
|
|
|
3
3
|
const require_ChatHeader = require('../../ChatHeader/ChatHeader.cjs');
|
|
4
4
|
require('../../ChatHeader/index.cjs');
|
|
5
5
|
const require_ResultsGridView = require('./ResultsGridView.cjs');
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
7
|
let classnames = require("classnames");
|
|
7
8
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
8
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
9
|
|
|
10
10
|
//#region src/components/FloatingChat/components/ProductResultsModal.tsx
|
|
11
11
|
const overlayWrapperClasses = (0, classnames.default)("envive-tw-min-h-0 envive-tw-flex envive-tw-h-full envive-tw-w-full", "envive-tw-items-center envive-tw-justify-center envive-tw-p-4");
|
|
@@ -2,8 +2,8 @@ import { ChatHeaderOptions, ChatHeaderVariant } from "../../ChatHeader/types/ind
|
|
|
2
2
|
import { ChatHeader } from "../../ChatHeader/ChatHeader.js";
|
|
3
3
|
import "../../ChatHeader/index.js";
|
|
4
4
|
import { ResultsGridView } from "./ResultsGridView.js";
|
|
5
|
-
import classNames from "classnames";
|
|
6
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import classNames from "classnames";
|
|
7
7
|
|
|
8
8
|
//#region src/components/FloatingChat/components/ProductResultsModal.tsx
|
|
9
9
|
const overlayWrapperClasses = classNames("envive-tw-min-h-0 envive-tw-flex envive-tw-h-full envive-tw-w-full", "envive-tw-items-center envive-tw-justify-center envive-tw-p-4");
|
|
@@ -7,9 +7,9 @@ require('../../Typography/index.cjs');
|
|
|
7
7
|
const require_resolveTheme = require('../../utils/resolveTheme.cjs');
|
|
8
8
|
const require_types = require('../../SalesAgentProductCard/types/types.cjs');
|
|
9
9
|
const require_SalesAgentProductCard = require('../../SalesAgentProductCard/SalesAgentProductCard.cjs');
|
|
10
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
11
|
let classnames = require("classnames");
|
|
11
12
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
12
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
13
|
|
|
14
14
|
//#region src/components/FloatingChat/components/ResultsGridView.tsx
|
|
15
15
|
const NUM_COLUMNS_MOBILE = 2;
|
|
@@ -6,8 +6,8 @@ import "../../Typography/index.js";
|
|
|
6
6
|
import { resolveTheme } from "../../utils/resolveTheme.js";
|
|
7
7
|
import { SalesAgentProductCardVariant } from "../../SalesAgentProductCard/types/types.js";
|
|
8
8
|
import { SalesAgentProductCard } from "../../SalesAgentProductCard/SalesAgentProductCard.js";
|
|
9
|
-
import classNames from "classnames";
|
|
10
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import classNames from "classnames";
|
|
11
11
|
|
|
12
12
|
//#region src/components/FloatingChat/components/ResultsGridView.tsx
|
|
13
13
|
const NUM_COLUMNS_MOBILE = 2;
|
|
@@ -7,9 +7,9 @@ require('../../Typography/index.cjs');
|
|
|
7
7
|
const require_functions = require('../utils/functions.cjs');
|
|
8
8
|
let react = require("react");
|
|
9
9
|
react = require_rolldown_runtime.__toESM(react);
|
|
10
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
11
|
let classnames = require("classnames");
|
|
11
12
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
12
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
13
|
|
|
14
14
|
//#region src/components/FloatingChat/components/SalesAgentBadgeContent.tsx
|
|
15
15
|
const SalesAgentBadgeContent = ({ totalProducts, displayLimit = require_functions.MOST_RELEVANT_DISPLAY_LIMIT, onExploreAllResults }) => {
|
|
@@ -5,8 +5,8 @@ import { Typography } from "../../Typography/Typography.js";
|
|
|
5
5
|
import "../../Typography/index.js";
|
|
6
6
|
import { MOST_RELEVANT_DISPLAY_LIMIT } from "../utils/functions.js";
|
|
7
7
|
import React from "react";
|
|
8
|
-
import classNames from "classnames";
|
|
9
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import classNames from "classnames";
|
|
10
10
|
|
|
11
11
|
//#region src/components/FloatingChat/components/SalesAgentBadgeContent.tsx
|
|
12
12
|
const SalesAgentBadgeContent = ({ totalProducts, displayLimit = MOST_RELEVANT_DISPLAY_LIMIT, onExploreAllResults }) => {
|
|
@@ -19,7 +19,7 @@ const SlideChatContent = ({ isResultsView, isResultsViewRef, resultsViewData, on
|
|
|
19
19
|
gridCols: resultsGridColumns
|
|
20
20
|
});
|
|
21
21
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
22
|
-
className: "envive-tw-relative envive-tw-
|
|
22
|
+
className: "envive-tw-relative envive-tw-w-full envive-tw-overflow-hidden",
|
|
23
23
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.AnimatePresence, {
|
|
24
24
|
initial: false,
|
|
25
25
|
mode: "wait",
|
|
@@ -18,7 +18,7 @@ const SlideChatContent = ({ isResultsView, isResultsViewRef, resultsViewData, on
|
|
|
18
18
|
gridCols: resultsGridColumns
|
|
19
19
|
});
|
|
20
20
|
return /* @__PURE__ */ jsx("div", {
|
|
21
|
-
className: "envive-tw-relative envive-tw-
|
|
21
|
+
className: "envive-tw-relative envive-tw-w-full envive-tw-overflow-hidden",
|
|
22
22
|
children: /* @__PURE__ */ jsx(AnimatePresence, {
|
|
23
23
|
initial: false,
|
|
24
24
|
mode: "wait",
|
|
@@ -6,11 +6,9 @@ const useChatSuggestions = ({ suggestions, isPendingResponse, isResponseStreamin
|
|
|
6
6
|
const [answerSuggestions, setAnswerSuggestions] = (0, react.useState)([]);
|
|
7
7
|
const [generalSuggestions, setGeneralSuggestions] = (0, react.useState)([]);
|
|
8
8
|
const showAnswerSuggestions = answerSuggestions.length > 0 && !isPendingResponse && !isResponseStreaming;
|
|
9
|
-
(0, react.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
setGeneralSuggestions(suggestions.filter((suggestion) => !suggestion.isAnswer).map((suggestion) => suggestion.content));
|
|
13
|
-
}
|
|
9
|
+
(0, react.useLayoutEffect)(() => {
|
|
10
|
+
setAnswerSuggestions(suggestions.filter((suggestion) => suggestion.isAnswer).map((suggestion) => suggestion.content));
|
|
11
|
+
setGeneralSuggestions(suggestions.filter((suggestion) => !suggestion.isAnswer).map((suggestion) => suggestion.content));
|
|
14
12
|
}, [suggestions]);
|
|
15
13
|
return {
|
|
16
14
|
answerSuggestions,
|