@envive-ai/react-toolkit-v3 0.3.21 → 0.3.23
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/Carousel/Carousel.cjs +1 -1
- package/dist/Carousel/Carousel.d.cts +2 -2
- package/dist/Carousel/Carousel.d.ts +2 -2
- package/dist/Carousel/Carousel.js +1 -1
- package/dist/Carousel/components/Container.cjs +2 -2
- package/dist/Carousel/components/Container.js +2 -2
- package/dist/ChatFooter/ChatFooter.cjs +7 -3
- package/dist/ChatFooter/ChatFooter.d.cts +7 -3
- package/dist/ChatFooter/ChatFooter.d.ts +5 -1
- package/dist/ChatFooter/ChatFooter.js +7 -3
- package/dist/ChatFooter/components/Layout.cjs +2 -2
- package/dist/ChatFooter/components/Layout.js +2 -2
- package/dist/ChatFooter/components/index.d.cts +10 -6
- package/dist/ChatFooter/components/index.d.ts +7 -3
- 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 +4 -4
- package/dist/ChatHeader/components/Handle.js +4 -4
- package/dist/ChatHeader/components/Toggle.cjs +3 -3
- package/dist/ChatHeader/components/Toggle.js +3 -3
- package/dist/ChatHeader/hooks/useGetHandleProperties.cjs +8 -6
- package/dist/ChatHeader/hooks/useGetHandleProperties.js +8 -6
- package/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +1 -1
- package/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +1 -1
- package/dist/ChatPreview/ChatPreview.cjs +7 -4
- package/dist/ChatPreview/ChatPreview.d.cts +2 -2
- package/dist/ChatPreview/ChatPreview.js +7 -4
- 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 +7 -4
- package/dist/ChatPreviewComparison/ChatPreviewComparison.d.cts +2 -2
- package/dist/ChatPreviewComparison/ChatPreviewComparison.d.ts +2 -2
- package/dist/ChatPreviewComparison/ChatPreviewComparison.js +7 -4
- package/dist/ChatPreviewComparison/components/Headline.cjs +2 -2
- package/dist/ChatPreviewComparison/components/Headline.js +2 -2
- package/dist/ChatPreviewComparison/components/Layout.cjs +4 -4
- package/dist/ChatPreviewComparison/components/Layout.js +4 -4
- package/dist/ChatPreviewComparison/components/Message.cjs +2 -2
- package/dist/ChatPreviewComparison/components/Message.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 +4 -3
- 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/Disclaimer/components/Container.cjs +2 -2
- package/dist/Disclaimer/components/Container.js +2 -2
- package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.cts +2 -2
- package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.ts +2 -2
- package/dist/DocumentRetrievalCard/components/Layout.cjs +2 -2
- package/dist/DocumentRetrievalCard/components/Layout.js +2 -2
- package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.cjs +1 -1
- package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.js +1 -1
- package/dist/FloatingButton/FloatingButton.d.cts +2 -2
- package/dist/FloatingButton/FloatingButton.d.ts +2 -2
- package/dist/FloatingChat/FloatingChat.cjs +27 -4
- package/dist/FloatingChat/FloatingChat.d.cts +2 -2
- package/dist/FloatingChat/FloatingChat.d.ts +2 -2
- package/dist/FloatingChat/FloatingChat.js +28 -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 +3 -3
- package/dist/FloatingChat/components/Layout.js +3 -3
- 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/hooks/useChatSuggestions.cjs +3 -5
- package/dist/FloatingChat/hooks/useChatSuggestions.js +4 -6
- package/dist/FullPageSalesAgent/FullPageSalesAgent.cjs +25 -3
- package/dist/FullPageSalesAgent/FullPageSalesAgent.d.cts +5 -3
- package/dist/FullPageSalesAgent/FullPageSalesAgent.d.ts +5 -3
- package/dist/FullPageSalesAgent/FullPageSalesAgent.js +26 -4
- package/dist/Image/Image.d.cts +2 -2
- package/dist/Image/Image.d.ts +2 -2
- 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/MarkdownProcessor/MarkdownProcessor.d.cts +2 -2
- package/dist/MarkdownProcessor/MarkdownProcessor.d.ts +2 -2
- package/dist/Message/components/LinkButton.cjs +1 -1
- package/dist/Message/components/LinkButton.js +1 -1
- package/dist/OrderLookupCard/OrderLookupCard.cjs +1 -1
- package/dist/OrderLookupCard/OrderLookupCard.js +1 -1
- package/dist/ProductCard/ProductCard.cjs +7 -3
- package/dist/ProductCard/ProductCard.d.cts +6 -3
- package/dist/ProductCard/ProductCard.d.ts +6 -3
- package/dist/ProductCard/ProductCard.js +7 -3
- 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.d.cts +2 -2
- package/dist/PromptButton/PromptButton.d.ts +2 -2
- 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/PromptButtonsCarousel.cjs +1 -1
- package/dist/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.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 +3 -3
- package/dist/PromptCarousel/PromptCarousel.d.cts +2 -2
- package/dist/PromptCarousel/PromptCarousel.d.ts +2 -2
- package/dist/PromptCarousel/PromptCarousel.js +3 -3
- package/dist/ReviewCard/ReviewCard.d.cts +2 -2
- package/dist/ReviewCard/ReviewCard.d.ts +2 -2
- package/dist/ReviewCard/components/Container.cjs +2 -2
- package/dist/ReviewCard/components/Container.js +2 -2
- package/dist/ReviewCard/components/Rating.cjs +0 -1
- package/dist/ReviewCard/components/Rating.js +0 -1
- package/dist/ReviewCard/components/ReadMoreButton.cjs +1 -1
- package/dist/ReviewCard/components/ReadMoreButton.js +1 -1
- package/dist/ReviewCard/components/index.d.cts +4 -4
- package/dist/ReviewCard/components/index.d.ts +6 -6
- package/dist/SalesAgentProductCard/SalesAgentProductCard.d.cts +2 -2
- package/dist/SalesAgentProductCard/SalesAgentProductCard.d.ts +2 -2
- package/dist/SalesAgentProductCard/components/Container.cjs +2 -2
- package/dist/SalesAgentProductCard/components/Container.js +2 -2
- package/dist/SalesAgentProductCard/components/index.d.cts +6 -6
- package/dist/SalesAgentProductCard/components/index.d.ts +8 -8
- package/dist/SocialProof/SocialProof.cjs +7 -4
- package/dist/SocialProof/SocialProof.d.cts +2 -2
- package/dist/SocialProof/SocialProof.js +7 -4
- package/dist/SocialProof/components/Headline.cjs +3 -3
- package/dist/SocialProof/components/Headline.js +3 -3
- package/dist/SocialProof/components/LayoutFourHorizontal.cjs +1 -1
- package/dist/SocialProof/components/LayoutFourHorizontal.js +1 -1
- package/dist/SocialProof/components/Subheadline.cjs +1 -1
- package/dist/SocialProof/components/Subheadline.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/SparkleAnimation/SparkleAnimation.d.ts +2 -2
- package/dist/Stack/Stack.d.cts +2 -2
- package/dist/Stack/Stack.d.ts +2 -2
- package/dist/TextField/TextField.cjs +34 -2
- package/dist/TextField/TextField.d.cts +5 -1
- package/dist/TextField/TextField.d.ts +5 -1
- package/dist/TextField/TextField.js +34 -2
- package/dist/TextField/components/Layout.cjs +10 -7
- package/dist/TextField/components/Layout.js +10 -7
- 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 +59 -0
- package/dist/TextField/hooks/useVoiceInput.js +57 -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/TitledPromptCarousel/TitledPromptCarousel.cjs +1 -1
- package/dist/TitledPromptCarousel/TitledPromptCarousel.d.cts +2 -2
- package/dist/TitledPromptCarousel/TitledPromptCarousel.d.ts +2 -2
- package/dist/TitledPromptCarousel/TitledPromptCarousel.js +1 -1
- package/dist/Tokens/index.cjs +1 -1
- package/dist/Tokens/index.js +1 -1
- package/dist/TypingAnimation/TypingAnimation.cjs +8 -4
- package/dist/TypingAnimation/TypingAnimation.d.cts +2 -2
- package/dist/TypingAnimation/TypingAnimation.js +8 -4
- package/dist/TypingAnimation/hooks/useGetTypographyVariant.cjs +1 -1
- package/dist/TypingAnimation/hooks/useGetTypographyVariant.js +1 -1
- 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 +2 -2
- package/dist/WelcomeMessage/components/Container.js +2 -2
- package/dist/WidgetTextField/WidgetTextField.cjs +40 -8
- package/dist/WidgetTextField/WidgetTextField.d.cts +7 -3
- package/dist/WidgetTextField/WidgetTextField.d.ts +7 -3
- package/dist/WidgetTextField/WidgetTextField.js +34 -3
- package/dist/WidgetTextField/components/Container.cjs +33 -27
- package/dist/WidgetTextField/components/Container.js +33 -27
- package/dist/WidgetTextField/components/Icon.cjs +1 -1
- package/dist/WidgetTextField/components/Icon.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.d.cts +2 -2
- package/dist/WidgetWrapper/WidgetWrapper.d.ts +2 -2
- 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/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/styles.css +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 +9 -5
- 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/FloatingChat/FloatingChat.tsx +38 -7
- package/src/components/FloatingChat/hooks/useChatSuggestions.ts +8 -12
- package/src/components/FullPageSalesAgent/FullPageSalesAgent.tsx +32 -1
- 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/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 +77 -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
|
@@ -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",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetWrapperProps } from "./types/types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime18 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_runtime18.JSX.Element;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { WidgetWrapper };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetWrapperProps } from "./types/types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime2 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_runtime2.JSX.Element;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { WidgetWrapper };
|
|
@@ -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_runtime20 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_runtime20.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 };
|