@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
|
@@ -5,38 +5,44 @@ const require_Container = require('../../Container/Container.cjs');
|
|
|
5
5
|
require('../../Container/index.cjs');
|
|
6
6
|
const require_useGetContainerProperties = require('../hooks/useGetContainerProperties.cjs');
|
|
7
7
|
const require_useHandleKeyboard = require('../hooks/useHandleKeyboard.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/WidgetTextField/components/Container.tsx
|
|
13
|
-
const Container$1 = ({ id, testId, style, className, theme, ariaLabel, icon, text, disabled, onClick }) => {
|
|
14
|
-
const { baseClassName, themeContainerClassName } = require_useGetContainerProperties.useGetContainerProperties({
|
|
13
|
+
const Container$1 = ({ id, testId, style, className, theme, minimalFrame, ariaLabel, icon, text, voiceInputButton, disabled, onClick }) => {
|
|
14
|
+
const { baseClassName, themeContainerClassName, containerWrapperClassName } = require_useGetContainerProperties.useGetContainerProperties({
|
|
15
|
+
theme,
|
|
16
|
+
minimalFrame
|
|
17
|
+
});
|
|
15
18
|
const { handleKeyDown } = require_useHandleKeyboard.useHandleKeyboard({ onClick });
|
|
16
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
17
|
-
|
|
18
|
-
testId,
|
|
19
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
20
|
+
className: containerWrapperClassName,
|
|
19
21
|
style,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Container.Container, {
|
|
23
|
+
id,
|
|
24
|
+
testId,
|
|
25
|
+
className: (0, classnames.default)(className, baseClassName, themeContainerClassName, disabled && "envive-tw-pointer-events-none envive-tw-opacity-50"),
|
|
26
|
+
"aria-label": ariaLabel,
|
|
27
|
+
fluid: true,
|
|
28
|
+
onClick,
|
|
29
|
+
onKeyDown: handleKeyDown,
|
|
30
|
+
role: "button",
|
|
31
|
+
tabIndex: onClick ? 0 : void 0,
|
|
32
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.Stack, {
|
|
33
|
+
direction: "row",
|
|
34
|
+
align: "center",
|
|
35
|
+
justify: "between",
|
|
36
|
+
gap: "2",
|
|
37
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
38
|
+
className: "envive-tw-min-w-0 envive-tw-flex-1 envive-tw-overflow-hidden",
|
|
39
|
+
children: text
|
|
40
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41
|
+
className: "envive-tw-flex-shrink-0",
|
|
42
|
+
children: icon
|
|
43
|
+
})]
|
|
44
|
+
})
|
|
45
|
+
}), voiceInputButton]
|
|
40
46
|
});
|
|
41
47
|
};
|
|
42
48
|
|
|
@@ -4,37 +4,43 @@ import { Container } from "../../Container/Container.js";
|
|
|
4
4
|
import "../../Container/index.js";
|
|
5
5
|
import { useGetContainerProperties } from "../hooks/useGetContainerProperties.js";
|
|
6
6
|
import { useHandleKeyboard } from "../hooks/useHandleKeyboard.js";
|
|
7
|
-
import classNames from "classnames";
|
|
8
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import classNames from "classnames";
|
|
9
9
|
|
|
10
10
|
//#region src/components/WidgetTextField/components/Container.tsx
|
|
11
|
-
const Container$1 = ({ id, testId, style, className, theme, ariaLabel, icon, text, disabled, onClick }) => {
|
|
12
|
-
const { baseClassName, themeContainerClassName } = useGetContainerProperties({
|
|
11
|
+
const Container$1 = ({ id, testId, style, className, theme, minimalFrame, ariaLabel, icon, text, voiceInputButton, disabled, onClick }) => {
|
|
12
|
+
const { baseClassName, themeContainerClassName, containerWrapperClassName } = useGetContainerProperties({
|
|
13
|
+
theme,
|
|
14
|
+
minimalFrame
|
|
15
|
+
});
|
|
13
16
|
const { handleKeyDown } = useHandleKeyboard({ onClick });
|
|
14
|
-
return /* @__PURE__ */
|
|
15
|
-
|
|
16
|
-
testId,
|
|
17
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
18
|
+
className: containerWrapperClassName,
|
|
17
19
|
style,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
20
|
+
children: [/* @__PURE__ */ jsx(Container, {
|
|
21
|
+
id,
|
|
22
|
+
testId,
|
|
23
|
+
className: classNames(className, baseClassName, themeContainerClassName, disabled && "envive-tw-pointer-events-none envive-tw-opacity-50"),
|
|
24
|
+
"aria-label": ariaLabel,
|
|
25
|
+
fluid: true,
|
|
26
|
+
onClick,
|
|
27
|
+
onKeyDown: handleKeyDown,
|
|
28
|
+
role: "button",
|
|
29
|
+
tabIndex: onClick ? 0 : void 0,
|
|
30
|
+
children: /* @__PURE__ */ jsxs(Stack, {
|
|
31
|
+
direction: "row",
|
|
32
|
+
align: "center",
|
|
33
|
+
justify: "between",
|
|
34
|
+
gap: "2",
|
|
35
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
36
|
+
className: "envive-tw-min-w-0 envive-tw-flex-1 envive-tw-overflow-hidden",
|
|
37
|
+
children: text
|
|
38
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
39
|
+
className: "envive-tw-flex-shrink-0",
|
|
40
|
+
children: icon
|
|
41
|
+
})]
|
|
42
|
+
})
|
|
43
|
+
}), voiceInputButton]
|
|
38
44
|
});
|
|
39
45
|
};
|
|
40
46
|
|
|
@@ -2,9 +2,9 @@ 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
4
|
let react = require("react");
|
|
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/WidgetTextField/components/Skeleton.tsx
|
|
10
10
|
const Skeleton = ({ theme = require_theme.Theme.GLOBAL_CUSTOM }) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
|
|
2
2
|
import { resolveTheme } from "../../utils/resolveTheme.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
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/WidgetTextField/components/Skeleton.tsx
|
|
8
8
|
const Skeleton = ({ theme = Theme.GLOBAL_CUSTOM }) => {
|
|
@@ -3,16 +3,18 @@ const require_theme = require('../../packages/components-v3/tokens/theme/theme.c
|
|
|
3
3
|
let react = require("react");
|
|
4
4
|
|
|
5
5
|
//#region src/components/WidgetTextField/hooks/useGetContainerProperties.ts
|
|
6
|
-
const useGetContainerProperties = ({ theme }) => {
|
|
6
|
+
const useGetContainerProperties = ({ theme, minimalFrame = "full" }) => {
|
|
7
7
|
return {
|
|
8
8
|
baseClassName: "envive-tw-cursor-text envive-tw-border-solid envive-tw-px-4 envive-tw-py-2",
|
|
9
9
|
themeContainerClassName: (0, react.useMemo)(() => {
|
|
10
|
+
const minimalBorderClass = minimalFrame === "bottom-only" ? "envive-tw-border-b-[1px] envive-tw-border-text-light" : "envive-tw-border-[1px] envive-tw-border-border-light";
|
|
10
11
|
return {
|
|
11
12
|
[require_theme.Theme.STANDARD]: "envive-tw-border-[1px] envive-tw-border-border-light envive-tw-rounded-global-custom",
|
|
12
13
|
[require_theme.Theme.MODERN]: "envive-tw-border-[1px] envive-tw-border-border-light envive-tw-rounded-4",
|
|
13
|
-
[require_theme.Theme.MINIMAL]:
|
|
14
|
+
[require_theme.Theme.MINIMAL]: minimalBorderClass
|
|
14
15
|
}[theme] ?? "";
|
|
15
|
-
}, [theme])
|
|
16
|
+
}, [theme, minimalFrame]),
|
|
17
|
+
containerWrapperClassName: "envive-tw-gap-4 envive-tw-flex envive-tw-w-full envive-tw-flex-row"
|
|
16
18
|
};
|
|
17
19
|
};
|
|
18
20
|
|
|
@@ -2,16 +2,18 @@ import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
|
|
|
2
2
|
import { useMemo } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/components/WidgetTextField/hooks/useGetContainerProperties.ts
|
|
5
|
-
const useGetContainerProperties = ({ theme }) => {
|
|
5
|
+
const useGetContainerProperties = ({ theme, minimalFrame = "full" }) => {
|
|
6
6
|
return {
|
|
7
7
|
baseClassName: "envive-tw-cursor-text envive-tw-border-solid envive-tw-px-4 envive-tw-py-2",
|
|
8
8
|
themeContainerClassName: useMemo(() => {
|
|
9
|
+
const minimalBorderClass = minimalFrame === "bottom-only" ? "envive-tw-border-b-[1px] envive-tw-border-text-light" : "envive-tw-border-[1px] envive-tw-border-border-light";
|
|
9
10
|
return {
|
|
10
11
|
[Theme.STANDARD]: "envive-tw-border-[1px] envive-tw-border-border-light envive-tw-rounded-global-custom",
|
|
11
12
|
[Theme.MODERN]: "envive-tw-border-[1px] envive-tw-border-border-light envive-tw-rounded-4",
|
|
12
|
-
[Theme.MINIMAL]:
|
|
13
|
+
[Theme.MINIMAL]: minimalBorderClass
|
|
13
14
|
}[theme] ?? "";
|
|
14
|
-
}, [theme])
|
|
15
|
+
}, [theme, minimalFrame]),
|
|
16
|
+
containerWrapperClassName: "envive-tw-gap-4 envive-tw-flex envive-tw-w-full envive-tw-flex-row"
|
|
15
17
|
};
|
|
16
18
|
};
|
|
17
19
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_theme = require('../../packages/components-v3/tokens/theme/theme.cjs');
|
|
3
|
+
let react = require("react");
|
|
4
|
+
|
|
5
|
+
//#region src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts
|
|
6
|
+
const useGetMicWidgetButtonProperties = ({ theme, isListening = false }) => {
|
|
7
|
+
return { micWidgetButtonClasses: (0, react.useMemo)(() => {
|
|
8
|
+
const micWidgetButtonClassesMap = {
|
|
9
|
+
[require_theme.Theme.STANDARD]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-global-custom",
|
|
10
|
+
[require_theme.Theme.MODERN]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-4",
|
|
11
|
+
[require_theme.Theme.MINIMAL]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light",
|
|
12
|
+
[require_theme.Theme.GLOBAL_CUSTOM]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-global-custom"
|
|
13
|
+
};
|
|
14
|
+
const baseClasses = micWidgetButtonClassesMap[theme] ?? micWidgetButtonClassesMap[require_theme.Theme.STANDARD];
|
|
15
|
+
return isListening ? `${baseClasses} envive-tw-bg-[--envive-colors-text-accent]` : `${baseClasses} envive-tw-bg-background-light`;
|
|
16
|
+
}, [theme, isListening]) };
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.useGetMicWidgetButtonProperties = useGetMicWidgetButtonProperties;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts
|
|
5
|
+
const useGetMicWidgetButtonProperties = ({ theme, isListening = false }) => {
|
|
6
|
+
return { micWidgetButtonClasses: useMemo(() => {
|
|
7
|
+
const micWidgetButtonClassesMap = {
|
|
8
|
+
[Theme.STANDARD]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-global-custom",
|
|
9
|
+
[Theme.MODERN]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-4",
|
|
10
|
+
[Theme.MINIMAL]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light",
|
|
11
|
+
[Theme.GLOBAL_CUSTOM]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-global-custom"
|
|
12
|
+
};
|
|
13
|
+
const baseClasses = micWidgetButtonClassesMap[theme] ?? micWidgetButtonClassesMap[Theme.STANDARD];
|
|
14
|
+
return isListening ? `${baseClasses} envive-tw-bg-[--envive-colors-text-accent]` : `${baseClasses} envive-tw-bg-background-light`;
|
|
15
|
+
}, [theme, isListening]) };
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { useGetMicWidgetButtonProperties };
|
|
@@ -32,6 +32,12 @@ type WidgetTextFieldProps = {
|
|
|
32
32
|
* @default Theme.GLOBAL_CUSTOM
|
|
33
33
|
*/
|
|
34
34
|
theme?: Theme;
|
|
35
|
+
/**
|
|
36
|
+
* When the resolved theme is MINIMAL, controls border treatment.
|
|
37
|
+
* `full` matches overlays (full frame). `bottom-only` matches embedded contexts like product cards.
|
|
38
|
+
* @default 'full'
|
|
39
|
+
*/
|
|
40
|
+
minimalFrame?: 'full' | 'bottom-only';
|
|
35
41
|
/** Placeholder text displayed in the text field. */
|
|
36
42
|
placeholder?: string;
|
|
37
43
|
/** Accessible label for screen readers. If not provided, the placeholder will be used. */
|
|
@@ -49,6 +55,21 @@ type WidgetTextFieldProps = {
|
|
|
49
55
|
isLoading?: boolean;
|
|
50
56
|
/** Callback function invoked when the text field is clicked or activated via keyboard. */
|
|
51
57
|
onClick?: () => void;
|
|
58
|
+
/** Enable voice input button */
|
|
59
|
+
enableVoiceInput?: boolean;
|
|
60
|
+
/** Voice input button class name */
|
|
61
|
+
voiceInputClassName?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Callback function invoked when voice transcription starts (user begins recording).
|
|
64
|
+
* Use this to track when the user starts using voice input.
|
|
65
|
+
*/
|
|
66
|
+
onTranscriptionStarted?: () => void;
|
|
67
|
+
/**
|
|
68
|
+
* Callback function invoked when voice transcription completes (user stops recording).
|
|
69
|
+
* @param transcript - The transcribed text from the voice input.
|
|
70
|
+
* Use this to track the completed voice transcription and the resulting text.
|
|
71
|
+
*/
|
|
72
|
+
onTranscriptionCompleted?: (transcript: string) => void;
|
|
52
73
|
};
|
|
53
74
|
declare enum IconVariant {
|
|
54
75
|
DEFAULT = "default",
|
|
@@ -32,6 +32,12 @@ type WidgetTextFieldProps = {
|
|
|
32
32
|
* @default Theme.GLOBAL_CUSTOM
|
|
33
33
|
*/
|
|
34
34
|
theme?: Theme;
|
|
35
|
+
/**
|
|
36
|
+
* When the resolved theme is MINIMAL, controls border treatment.
|
|
37
|
+
* `full` matches overlays (full frame). `bottom-only` matches embedded contexts like product cards.
|
|
38
|
+
* @default 'full'
|
|
39
|
+
*/
|
|
40
|
+
minimalFrame?: 'full' | 'bottom-only';
|
|
35
41
|
/** Placeholder text displayed in the text field. */
|
|
36
42
|
placeholder?: string;
|
|
37
43
|
/** Accessible label for screen readers. If not provided, the placeholder will be used. */
|
|
@@ -49,6 +55,21 @@ type WidgetTextFieldProps = {
|
|
|
49
55
|
isLoading?: boolean;
|
|
50
56
|
/** Callback function invoked when the text field is clicked or activated via keyboard. */
|
|
51
57
|
onClick?: () => void;
|
|
58
|
+
/** Enable voice input button */
|
|
59
|
+
enableVoiceInput?: boolean;
|
|
60
|
+
/** Voice input button class name */
|
|
61
|
+
voiceInputClassName?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Callback function invoked when voice transcription starts (user begins recording).
|
|
64
|
+
* Use this to track when the user starts using voice input.
|
|
65
|
+
*/
|
|
66
|
+
onTranscriptionStarted?: () => void;
|
|
67
|
+
/**
|
|
68
|
+
* Callback function invoked when voice transcription completes (user stops recording).
|
|
69
|
+
* @param transcript - The transcribed text from the voice input.
|
|
70
|
+
* Use this to track the completed voice transcription and the resulting text.
|
|
71
|
+
*/
|
|
72
|
+
onTranscriptionCompleted?: (transcript: string) => void;
|
|
52
73
|
};
|
|
53
74
|
declare enum IconVariant {
|
|
54
75
|
DEFAULT = "default",
|
|
@@ -2,9 +2,9 @@ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
|
2
2
|
const require_Container = require('../Container/Container.cjs');
|
|
3
3
|
require('../Container/index.cjs');
|
|
4
4
|
const require_useGetWrapperProperties = require('./hooks/useGetWrapperProperties.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/WidgetWrapper/WidgetWrapper.tsx
|
|
10
10
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetWrapperProps } from "./types/types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/WidgetWrapper/WidgetWrapper.d.ts
|
|
5
5
|
|
|
@@ -16,6 +16,6 @@ declare const WidgetWrapper: ({
|
|
|
16
16
|
className,
|
|
17
17
|
style,
|
|
18
18
|
...containerProps
|
|
19
|
-
}: WidgetWrapperProps) =>
|
|
19
|
+
}: WidgetWrapperProps) => react_jsx_runtime0.JSX.Element;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { WidgetWrapper };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Container } from "../Container/Container.js";
|
|
2
2
|
import "../Container/index.js";
|
|
3
3
|
import { useGetWrapperProperties } from "./hooks/useGetWrapperProperties.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/WidgetWrapper/WidgetWrapper.tsx
|
|
8
8
|
/**
|
|
@@ -8,7 +8,7 @@ const useGetWrapperProperties = (variant) => {
|
|
|
8
8
|
switch (variant) {
|
|
9
9
|
case require_types.WidgetWrapperVariant.CARD_WITH_BORDER: return "envive-tw-rounded-global-custom envive-tw-bg-background-light envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-md:p-6 envive-tw-p-3";
|
|
10
10
|
case require_types.WidgetWrapperVariant.CARD_NO_BORDER: return "envive-tw-rounded-global-custom envive-tw-bg-background-light envive-tw-md:p-6 envive-tw-p-3";
|
|
11
|
-
case require_types.WidgetWrapperVariant.INLINE_WITH_BORDER: return "envive-tw-border-t envive-tw-border-b envive-tw-border-solid envive-tw-border-border-light envive-tw-
|
|
11
|
+
case require_types.WidgetWrapperVariant.INLINE_WITH_BORDER: return "envive-tw-border-t envive-tw-border-b envive-tw-border-solid envive-tw-border-border-light envive-tw-py-6";
|
|
12
12
|
case require_types.WidgetWrapperVariant.INLINE_NO_BORDER: return;
|
|
13
13
|
default: return;
|
|
14
14
|
}
|
|
@@ -7,7 +7,7 @@ const useGetWrapperProperties = (variant) => {
|
|
|
7
7
|
switch (variant) {
|
|
8
8
|
case WidgetWrapperVariant.CARD_WITH_BORDER: return "envive-tw-rounded-global-custom envive-tw-bg-background-light envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-md:p-6 envive-tw-p-3";
|
|
9
9
|
case WidgetWrapperVariant.CARD_NO_BORDER: return "envive-tw-rounded-global-custom envive-tw-bg-background-light envive-tw-md:p-6 envive-tw-p-3";
|
|
10
|
-
case WidgetWrapperVariant.INLINE_WITH_BORDER: return "envive-tw-border-t envive-tw-border-b envive-tw-border-solid envive-tw-border-border-light envive-tw-
|
|
10
|
+
case WidgetWrapperVariant.INLINE_WITH_BORDER: return "envive-tw-border-t envive-tw-border-b envive-tw-border-solid envive-tw-border-border-light envive-tw-py-6";
|
|
11
11
|
case WidgetWrapperVariant.INLINE_NO_BORDER: return;
|
|
12
12
|
default: return;
|
|
13
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetWrapperWithTitleProps } from "./types/types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime36 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts
|
|
5
5
|
declare const WidgetWrapperWithTitle: ({
|
|
@@ -14,6 +14,6 @@ declare const WidgetWrapperWithTitle: ({
|
|
|
14
14
|
hexCardColor,
|
|
15
15
|
hideLogo,
|
|
16
16
|
fullIsLoading
|
|
17
|
-
}: WidgetWrapperWithTitleProps) =>
|
|
17
|
+
}: WidgetWrapperWithTitleProps) => react_jsx_runtime36.JSX.Element;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { WidgetWrapperWithTitle };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetWrapperWithTitleProps } from "./types/types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime7 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts
|
|
5
5
|
declare const WidgetWrapperWithTitle: ({
|
|
@@ -14,6 +14,6 @@ declare const WidgetWrapperWithTitle: ({
|
|
|
14
14
|
hexCardColor,
|
|
15
15
|
hideLogo,
|
|
16
16
|
fullIsLoading
|
|
17
|
-
}: WidgetWrapperWithTitleProps) =>
|
|
17
|
+
}: WidgetWrapperWithTitleProps) => react_jsx_runtime7.JSX.Element;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { WidgetWrapperWithTitle };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
4
|
+
const require_internals = require('./vanilla/internals.cjs');
|
|
4
5
|
const require_vanilla = require('./vanilla.cjs');
|
|
5
6
|
let react = require("react");
|
|
6
7
|
react = require_rolldown_runtime.__toESM(react);
|
|
@@ -11,6 +12,7 @@ function useStore(options) {
|
|
|
11
12
|
const store = (0, react.useContext)(StoreContext);
|
|
12
13
|
return (options == null ? void 0 : options.store) || store || require_vanilla.getDefaultStore();
|
|
13
14
|
}
|
|
15
|
+
const isPromiseLike = (x) => typeof (x == null ? void 0 : x.then) === "function";
|
|
14
16
|
const attachPromiseStatus = (promise) => {
|
|
15
17
|
if (!promise.status) {
|
|
16
18
|
promise.status = "pending";
|
|
@@ -32,6 +34,87 @@ const use = react.default.use || ((promise) => {
|
|
|
32
34
|
throw promise;
|
|
33
35
|
}
|
|
34
36
|
});
|
|
37
|
+
const continuablePromiseMap = /* @__PURE__ */ new WeakMap();
|
|
38
|
+
const createContinuablePromise = (promise, getValue) => {
|
|
39
|
+
let continuablePromise = continuablePromiseMap.get(promise);
|
|
40
|
+
if (!continuablePromise) {
|
|
41
|
+
continuablePromise = new Promise((resolve, reject) => {
|
|
42
|
+
let curr = promise;
|
|
43
|
+
const onFulfilled = (me) => (v) => {
|
|
44
|
+
if (curr === me) resolve(v);
|
|
45
|
+
};
|
|
46
|
+
const onRejected = (me) => (e) => {
|
|
47
|
+
if (curr === me) reject(e);
|
|
48
|
+
};
|
|
49
|
+
const onAbort = () => {
|
|
50
|
+
try {
|
|
51
|
+
const nextValue = getValue();
|
|
52
|
+
if (isPromiseLike(nextValue)) {
|
|
53
|
+
continuablePromiseMap.set(nextValue, continuablePromise);
|
|
54
|
+
curr = nextValue;
|
|
55
|
+
nextValue.then(onFulfilled(nextValue), onRejected(nextValue));
|
|
56
|
+
require_internals.registerAbortHandler(nextValue, onAbort);
|
|
57
|
+
} else resolve(nextValue);
|
|
58
|
+
} catch (e) {
|
|
59
|
+
reject(e);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
promise.then(onFulfilled(promise), onRejected(promise));
|
|
63
|
+
require_internals.registerAbortHandler(promise, onAbort);
|
|
64
|
+
});
|
|
65
|
+
continuablePromiseMap.set(promise, continuablePromise);
|
|
66
|
+
}
|
|
67
|
+
return continuablePromise;
|
|
68
|
+
};
|
|
69
|
+
function useAtomValue(atom, options) {
|
|
70
|
+
const { delay, unstable_promiseStatus: promiseStatus = !react.default.use } = options || {};
|
|
71
|
+
const store = useStore(options);
|
|
72
|
+
const [[valueFromReducer, storeFromReducer, atomFromReducer], rerender] = (0, react.useReducer)((prev) => {
|
|
73
|
+
const nextValue = store.get(atom);
|
|
74
|
+
if (Object.is(prev[0], nextValue) && prev[1] === store && prev[2] === atom) return prev;
|
|
75
|
+
return [
|
|
76
|
+
nextValue,
|
|
77
|
+
store,
|
|
78
|
+
atom
|
|
79
|
+
];
|
|
80
|
+
}, void 0, () => [
|
|
81
|
+
store.get(atom),
|
|
82
|
+
store,
|
|
83
|
+
atom
|
|
84
|
+
]);
|
|
85
|
+
let value = valueFromReducer;
|
|
86
|
+
if (storeFromReducer !== store || atomFromReducer !== atom) {
|
|
87
|
+
rerender();
|
|
88
|
+
value = store.get(atom);
|
|
89
|
+
}
|
|
90
|
+
(0, react.useEffect)(() => {
|
|
91
|
+
const unsub = store.sub(atom, () => {
|
|
92
|
+
if (promiseStatus) try {
|
|
93
|
+
const value2 = store.get(atom);
|
|
94
|
+
if (isPromiseLike(value2)) attachPromiseStatus(createContinuablePromise(value2, () => store.get(atom)));
|
|
95
|
+
} catch (e) {}
|
|
96
|
+
if (typeof delay === "number") {
|
|
97
|
+
setTimeout(rerender, delay);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
rerender();
|
|
101
|
+
});
|
|
102
|
+
rerender();
|
|
103
|
+
return unsub;
|
|
104
|
+
}, [
|
|
105
|
+
store,
|
|
106
|
+
atom,
|
|
107
|
+
delay,
|
|
108
|
+
promiseStatus
|
|
109
|
+
]);
|
|
110
|
+
(0, react.useDebugValue)(value);
|
|
111
|
+
if (isPromiseLike(value)) {
|
|
112
|
+
const promise = createContinuablePromise(value, () => store.get(atom));
|
|
113
|
+
if (promiseStatus) attachPromiseStatus(promise);
|
|
114
|
+
return use(promise);
|
|
115
|
+
}
|
|
116
|
+
return value;
|
|
117
|
+
}
|
|
35
118
|
function useSetAtom(atom, options) {
|
|
36
119
|
const store = useStore(options);
|
|
37
120
|
return (0, react.useCallback)((...args) => {
|
|
@@ -39,6 +122,10 @@ function useSetAtom(atom, options) {
|
|
|
39
122
|
return store.set(atom, ...args);
|
|
40
123
|
}, [store, atom]);
|
|
41
124
|
}
|
|
125
|
+
function useAtom(atom, options) {
|
|
126
|
+
return [useAtomValue(atom, options), useSetAtom(atom, options)];
|
|
127
|
+
}
|
|
42
128
|
|
|
43
129
|
//#endregion
|
|
130
|
+
exports.useAtom = useAtom;
|
|
44
131
|
exports.useSetAtom = useSetAtom;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { registerAbortHandler } from "./vanilla/internals.js";
|
|
3
4
|
import { getDefaultStore } from "./vanilla.js";
|
|
4
|
-
import React, { createContext, createElement, useCallback, useContext, useEffect, useRef } from "react";
|
|
5
|
+
import React, { createContext, createElement, useCallback, useContext, useDebugValue, useEffect, useReducer, useRef } from "react";
|
|
5
6
|
|
|
6
7
|
//#region ../../node_modules/jotai/esm/react.mjs
|
|
7
8
|
const StoreContext = createContext(void 0);
|
|
@@ -9,6 +10,7 @@ function useStore(options) {
|
|
|
9
10
|
const store = useContext(StoreContext);
|
|
10
11
|
return (options == null ? void 0 : options.store) || store || getDefaultStore();
|
|
11
12
|
}
|
|
13
|
+
const isPromiseLike = (x) => typeof (x == null ? void 0 : x.then) === "function";
|
|
12
14
|
const attachPromiseStatus = (promise) => {
|
|
13
15
|
if (!promise.status) {
|
|
14
16
|
promise.status = "pending";
|
|
@@ -30,6 +32,87 @@ const use = React.use || ((promise) => {
|
|
|
30
32
|
throw promise;
|
|
31
33
|
}
|
|
32
34
|
});
|
|
35
|
+
const continuablePromiseMap = /* @__PURE__ */ new WeakMap();
|
|
36
|
+
const createContinuablePromise = (promise, getValue) => {
|
|
37
|
+
let continuablePromise = continuablePromiseMap.get(promise);
|
|
38
|
+
if (!continuablePromise) {
|
|
39
|
+
continuablePromise = new Promise((resolve, reject) => {
|
|
40
|
+
let curr = promise;
|
|
41
|
+
const onFulfilled = (me) => (v) => {
|
|
42
|
+
if (curr === me) resolve(v);
|
|
43
|
+
};
|
|
44
|
+
const onRejected = (me) => (e) => {
|
|
45
|
+
if (curr === me) reject(e);
|
|
46
|
+
};
|
|
47
|
+
const onAbort = () => {
|
|
48
|
+
try {
|
|
49
|
+
const nextValue = getValue();
|
|
50
|
+
if (isPromiseLike(nextValue)) {
|
|
51
|
+
continuablePromiseMap.set(nextValue, continuablePromise);
|
|
52
|
+
curr = nextValue;
|
|
53
|
+
nextValue.then(onFulfilled(nextValue), onRejected(nextValue));
|
|
54
|
+
registerAbortHandler(nextValue, onAbort);
|
|
55
|
+
} else resolve(nextValue);
|
|
56
|
+
} catch (e) {
|
|
57
|
+
reject(e);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
promise.then(onFulfilled(promise), onRejected(promise));
|
|
61
|
+
registerAbortHandler(promise, onAbort);
|
|
62
|
+
});
|
|
63
|
+
continuablePromiseMap.set(promise, continuablePromise);
|
|
64
|
+
}
|
|
65
|
+
return continuablePromise;
|
|
66
|
+
};
|
|
67
|
+
function useAtomValue(atom, options) {
|
|
68
|
+
const { delay, unstable_promiseStatus: promiseStatus = !React.use } = options || {};
|
|
69
|
+
const store = useStore(options);
|
|
70
|
+
const [[valueFromReducer, storeFromReducer, atomFromReducer], rerender] = useReducer((prev) => {
|
|
71
|
+
const nextValue = store.get(atom);
|
|
72
|
+
if (Object.is(prev[0], nextValue) && prev[1] === store && prev[2] === atom) return prev;
|
|
73
|
+
return [
|
|
74
|
+
nextValue,
|
|
75
|
+
store,
|
|
76
|
+
atom
|
|
77
|
+
];
|
|
78
|
+
}, void 0, () => [
|
|
79
|
+
store.get(atom),
|
|
80
|
+
store,
|
|
81
|
+
atom
|
|
82
|
+
]);
|
|
83
|
+
let value = valueFromReducer;
|
|
84
|
+
if (storeFromReducer !== store || atomFromReducer !== atom) {
|
|
85
|
+
rerender();
|
|
86
|
+
value = store.get(atom);
|
|
87
|
+
}
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
const unsub = store.sub(atom, () => {
|
|
90
|
+
if (promiseStatus) try {
|
|
91
|
+
const value2 = store.get(atom);
|
|
92
|
+
if (isPromiseLike(value2)) attachPromiseStatus(createContinuablePromise(value2, () => store.get(atom)));
|
|
93
|
+
} catch (e) {}
|
|
94
|
+
if (typeof delay === "number") {
|
|
95
|
+
setTimeout(rerender, delay);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
rerender();
|
|
99
|
+
});
|
|
100
|
+
rerender();
|
|
101
|
+
return unsub;
|
|
102
|
+
}, [
|
|
103
|
+
store,
|
|
104
|
+
atom,
|
|
105
|
+
delay,
|
|
106
|
+
promiseStatus
|
|
107
|
+
]);
|
|
108
|
+
useDebugValue(value);
|
|
109
|
+
if (isPromiseLike(value)) {
|
|
110
|
+
const promise = createContinuablePromise(value, () => store.get(atom));
|
|
111
|
+
if (promiseStatus) attachPromiseStatus(promise);
|
|
112
|
+
return use(promise);
|
|
113
|
+
}
|
|
114
|
+
return value;
|
|
115
|
+
}
|
|
33
116
|
function useSetAtom(atom, options) {
|
|
34
117
|
const store = useStore(options);
|
|
35
118
|
return useCallback((...args) => {
|
|
@@ -37,6 +120,9 @@ function useSetAtom(atom, options) {
|
|
|
37
120
|
return store.set(atom, ...args);
|
|
38
121
|
}, [store, atom]);
|
|
39
122
|
}
|
|
123
|
+
function useAtom(atom, options) {
|
|
124
|
+
return [useAtomValue(atom, options), useSetAtom(atom, options)];
|
|
125
|
+
}
|
|
40
126
|
|
|
41
127
|
//#endregion
|
|
42
|
-
export { useSetAtom };
|
|
128
|
+
export { useAtom, useSetAtom };
|