@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypingAnimationProps } from "./types/index.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime1 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/TypingAnimation/TypingAnimation.d.ts
|
|
5
5
|
declare const TypingAnimation: ({
|
|
@@ -7,6 +7,6 @@ declare const TypingAnimation: ({
|
|
|
7
7
|
widgetContentProps,
|
|
8
8
|
widgetStyleProps,
|
|
9
9
|
widgetEventProps
|
|
10
|
-
}: TypingAnimationProps) =>
|
|
10
|
+
}: TypingAnimationProps) => react_jsx_runtime1.JSX.Element;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { TypingAnimation };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { AnimatedText } from "../AnimatedText/AnimatedText.js";
|
|
2
2
|
import "../AnimatedText/index.js";
|
|
3
3
|
import { Theme } from "../packages/components-v3/tokens/theme/theme.js";
|
|
4
|
-
import "../Tokens/index.js";
|
|
5
4
|
import { Stack } from "../Stack/Stack.js";
|
|
6
5
|
import "../Stack/index.js";
|
|
7
6
|
import { TypographyColor } from "../Typography/types/index.js";
|
|
8
7
|
import { Typography } from "../Typography/Typography.js";
|
|
9
8
|
import "../Typography/index.js";
|
|
9
|
+
import "../Tokens/index.js";
|
|
10
10
|
import { PromptButtonVariant } from "../PromptButton/types/index.js";
|
|
11
11
|
import { PromptCarouselRows } from "../PromptCarousel/types/types.js";
|
|
12
12
|
import { PromptCarousel } from "../PromptCarousel/PromptCarousel.js";
|
|
@@ -25,9 +25,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
25
25
|
//#region src/components/TypingAnimation/TypingAnimation.tsx
|
|
26
26
|
const TypingAnimation = ({ baseProps, widgetContentProps, widgetStyleProps, widgetEventProps }) => {
|
|
27
27
|
const { id, testId, className, style } = baseProps || {};
|
|
28
|
-
const { titleLabel, headlineText, animatedTextSequence, promptButtonTexts, hintText, textFieldAriaLabel, logoSrc, hideLogo } = widgetContentProps || {};
|
|
28
|
+
const { titleLabel, headlineText, animatedTextSequence, promptButtonTexts, hintText, textFieldAriaLabel, logoSrc, hideLogo, voiceInputEnabled } = widgetContentProps || {};
|
|
29
29
|
const { widgetVariant = WidgetWrapperVariant.CARD_WITH_BORDER, cardColor, promptButtonType = PromptButtonVariant.LIGHT, promptCarouselRows = PromptCarouselRows.ALWAYS_ONE, showTextField = true, theme = Theme.GLOBAL_CUSTOM, isLoading = false } = widgetStyleProps || {};
|
|
30
|
-
const { handleButtonClick, handleButtonDrag, handleButtonHover, handleButtonMouseDown, handleButtonMouseUp, handleButtonTouchStart, handleButtonTouchEnd, handleTextFieldClick } = widgetEventProps || {};
|
|
30
|
+
const { handleButtonClick, handleButtonDrag, handleButtonHover, handleButtonMouseDown, handleButtonMouseUp, handleButtonTouchStart, handleButtonTouchEnd, handleTextFieldClick, onTranscriptionStarted, onTranscriptionCompleted } = widgetEventProps || {};
|
|
31
31
|
const typographyVariant = useGetTypographyVariant(theme);
|
|
32
32
|
const { measuringRef, minHeight } = useAnimatedTextMinHeight(animatedTextSequence ?? []);
|
|
33
33
|
const biggestAnimatedText = useMemo(() => {
|
|
@@ -130,7 +130,11 @@ const TypingAnimation = ({ baseProps, widgetContentProps, widgetStyleProps, widg
|
|
|
130
130
|
ariaLabel: textFieldAriaLabel,
|
|
131
131
|
theme,
|
|
132
132
|
isLoading,
|
|
133
|
-
className: "envive-tw-mt-2 envive-tw-overflow-hidden envive-tw-text-ellipsis envive-tw-whitespace-nowrap"
|
|
133
|
+
className: "envive-tw-mt-2 envive-tw-overflow-hidden envive-tw-text-ellipsis envive-tw-whitespace-nowrap",
|
|
134
|
+
voiceInputClassName: "envive-tw-mt-2",
|
|
135
|
+
enableVoiceInput: voiceInputEnabled,
|
|
136
|
+
onTranscriptionStarted,
|
|
137
|
+
onTranscriptionCompleted
|
|
134
138
|
})
|
|
135
139
|
]
|
|
136
140
|
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_theme = require('../../packages/components-v3/tokens/theme/theme.cjs');
|
|
2
|
-
require('../../Tokens/index.cjs');
|
|
3
2
|
const require_index = require('../../Typography/types/index.cjs');
|
|
4
3
|
require('../../Typography/index.cjs');
|
|
4
|
+
require('../../Tokens/index.cjs');
|
|
5
5
|
|
|
6
6
|
//#region src/components/TypingAnimation/hooks/useGetTypographyVariant.tsx
|
|
7
7
|
const useGetTypographyVariant = (theme) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
|
|
2
|
-
import "../../Tokens/index.js";
|
|
3
2
|
import { TypographyVariant } from "../../Typography/types/index.js";
|
|
4
3
|
import "../../Typography/index.js";
|
|
4
|
+
import "../../Tokens/index.js";
|
|
5
5
|
|
|
6
6
|
//#region src/components/TypingAnimation/hooks/useGetTypographyVariant.tsx
|
|
7
7
|
const useGetTypographyVariant = (theme) => {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TypingAnimationProps } from "./types/index.cjs";
|
|
1
|
+
import { TypingAnimationProps, WidgetEventProps } from "./types/index.cjs";
|
|
2
2
|
import { TypingAnimation } from "./TypingAnimation.cjs";
|
|
3
|
-
export { TypingAnimation, type TypingAnimationProps };
|
|
3
|
+
export { TypingAnimation, type TypingAnimationProps, type WidgetEventProps };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TypingAnimationProps } from "./types/index.js";
|
|
1
|
+
import { TypingAnimationProps, WidgetEventProps } from "./types/index.js";
|
|
2
2
|
import { TypingAnimation } from "./TypingAnimation.js";
|
|
3
|
-
export { TypingAnimation, type TypingAnimationProps };
|
|
3
|
+
export { TypingAnimation, type TypingAnimationProps, type WidgetEventProps };
|
|
@@ -64,6 +64,10 @@ type WidgetContentProps = {
|
|
|
64
64
|
* When `true`, hides the logo in the title even if logoSrc is provided.
|
|
65
65
|
*/
|
|
66
66
|
hideLogo?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Whether to enable voice input.
|
|
69
|
+
*/
|
|
70
|
+
voiceInputEnabled?: boolean;
|
|
67
71
|
};
|
|
68
72
|
/**
|
|
69
73
|
* Props to control the visual appearance, layout, and behavior of the widget.
|
|
@@ -147,6 +151,14 @@ type WidgetEventProps = {
|
|
|
147
151
|
* Callback function invoked when the TextField is clicked.
|
|
148
152
|
*/
|
|
149
153
|
handleTextFieldClick?: () => void;
|
|
154
|
+
/**
|
|
155
|
+
* Callback function invoked when voice transcription starts.
|
|
156
|
+
*/
|
|
157
|
+
onTranscriptionStarted?: () => void;
|
|
158
|
+
/**
|
|
159
|
+
* Callback function invoked when voice transcription completes.
|
|
160
|
+
*/
|
|
161
|
+
onTranscriptionCompleted?: (transcript: string) => void;
|
|
150
162
|
};
|
|
151
163
|
/**
|
|
152
164
|
* Props for the TypingAnimation component.
|
|
@@ -170,4 +182,4 @@ type TypingAnimationProps = {
|
|
|
170
182
|
widgetEventProps?: WidgetEventProps;
|
|
171
183
|
};
|
|
172
184
|
//#endregion
|
|
173
|
-
export { TypingAnimationProps };
|
|
185
|
+
export { TypingAnimationProps, WidgetEventProps };
|
|
@@ -64,6 +64,10 @@ type WidgetContentProps = {
|
|
|
64
64
|
* When `true`, hides the logo in the title even if logoSrc is provided.
|
|
65
65
|
*/
|
|
66
66
|
hideLogo?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Whether to enable voice input.
|
|
69
|
+
*/
|
|
70
|
+
voiceInputEnabled?: boolean;
|
|
67
71
|
};
|
|
68
72
|
/**
|
|
69
73
|
* Props to control the visual appearance, layout, and behavior of the widget.
|
|
@@ -147,6 +151,14 @@ type WidgetEventProps = {
|
|
|
147
151
|
* Callback function invoked when the TextField is clicked.
|
|
148
152
|
*/
|
|
149
153
|
handleTextFieldClick?: () => void;
|
|
154
|
+
/**
|
|
155
|
+
* Callback function invoked when voice transcription starts.
|
|
156
|
+
*/
|
|
157
|
+
onTranscriptionStarted?: () => void;
|
|
158
|
+
/**
|
|
159
|
+
* Callback function invoked when voice transcription completes.
|
|
160
|
+
*/
|
|
161
|
+
onTranscriptionCompleted?: (transcript: string) => void;
|
|
150
162
|
};
|
|
151
163
|
/**
|
|
152
164
|
* Props for the TypingAnimation component.
|
|
@@ -170,4 +182,4 @@ type TypingAnimationProps = {
|
|
|
170
182
|
widgetEventProps?: WidgetEventProps;
|
|
171
183
|
};
|
|
172
184
|
//#endregion
|
|
173
|
-
export { TypingAnimationProps };
|
|
185
|
+
export { TypingAnimationProps, WidgetEventProps };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypographyProps } from "./types/index.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react8 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/components/Typography/Typography.d.ts
|
|
5
5
|
/**
|
|
@@ -18,13 +18,13 @@ declare const Typography: ({
|
|
|
18
18
|
noWrap,
|
|
19
19
|
as,
|
|
20
20
|
"aria-label": ariaLabel
|
|
21
|
-
}: TypographyProps) =>
|
|
21
|
+
}: TypographyProps) => react8.DetailedReactHTMLElement<{
|
|
22
22
|
'aria-label': string;
|
|
23
23
|
'aria-level'?: number;
|
|
24
|
-
role?:
|
|
24
|
+
role?: react8.AriaRole;
|
|
25
25
|
title?: string;
|
|
26
26
|
className: string;
|
|
27
|
-
style:
|
|
27
|
+
style: react8.CSSProperties;
|
|
28
28
|
id: string;
|
|
29
29
|
'data-testid': string;
|
|
30
30
|
}, HTMLElement>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypographyProps } from "./types/index.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react1 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/components/Typography/Typography.d.ts
|
|
5
5
|
/**
|
|
@@ -18,13 +18,13 @@ declare const Typography: ({
|
|
|
18
18
|
noWrap,
|
|
19
19
|
as,
|
|
20
20
|
"aria-label": ariaLabel
|
|
21
|
-
}: TypographyProps) =>
|
|
21
|
+
}: TypographyProps) => react1.DetailedReactHTMLElement<{
|
|
22
22
|
'aria-label': string;
|
|
23
23
|
'aria-level'?: number;
|
|
24
|
-
role?:
|
|
24
|
+
role?: react1.AriaRole;
|
|
25
25
|
title?: string;
|
|
26
26
|
className: string;
|
|
27
|
-
style:
|
|
27
|
+
style: react1.CSSProperties;
|
|
28
28
|
id: string;
|
|
29
29
|
'data-testid': string;
|
|
30
30
|
}, HTMLElement>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_Container = require('../../Container/Container.cjs');
|
|
3
|
-
require('../../Container/index.cjs');
|
|
4
2
|
const require_Stack = require('../../Stack/Stack.cjs');
|
|
5
3
|
require('../../Stack/index.cjs');
|
|
4
|
+
const require_Container = require('../../Container/Container.cjs');
|
|
5
|
+
require('../../Container/index.cjs');
|
|
6
6
|
const require_useGetContainerProperties = require('../hooks/useGetContainerProperties.cjs');
|
|
7
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
8
|
let classnames = require("classnames");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Container } from "../../Container/Container.js";
|
|
2
|
-
import "../../Container/index.js";
|
|
3
1
|
import { Stack } from "../../Stack/Stack.js";
|
|
4
2
|
import "../../Stack/index.js";
|
|
3
|
+
import { Container } from "../../Container/Container.js";
|
|
4
|
+
import "../../Container/index.js";
|
|
5
5
|
import { useGetContainerProperties } from "../hooks/useGetContainerProperties.js";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import classNames from "classnames";
|
|
@@ -1,33 +1,65 @@
|
|
|
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
|
-
const require_resolveTheme = require('../utils/resolveTheme.cjs');
|
|
4
3
|
const require_index = require('../Typography/types/index.cjs');
|
|
4
|
+
const require_resolveTheme = require('../utils/resolveTheme.cjs');
|
|
5
|
+
const require_index$1 = require('../TextField/components/index.cjs');
|
|
6
|
+
const require_useGetSkeletonProperties = require('../TextField/hooks/useGetSkeletonProperties.cjs');
|
|
7
|
+
const require_react = require('../node_modules/jotai/esm/react.cjs');
|
|
8
|
+
const require_useVoiceInput = require('../TextField/hooks/useVoiceInput.cjs');
|
|
5
9
|
const require_types = require('./types/types.cjs');
|
|
6
|
-
const require_index$
|
|
10
|
+
const require_index$2 = require('./components/index.cjs');
|
|
11
|
+
const require_useGetMicWidgetButtonProperties = require('./hooks/useGetMicWidgetButtonProperties.cjs');
|
|
7
12
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
|
+
let classnames = require("classnames");
|
|
14
|
+
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
15
|
+
let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
|
|
8
16
|
|
|
9
17
|
//#region src/components/WidgetTextField/WidgetTextField.tsx
|
|
10
|
-
const WidgetTextField = ({ id, testId, style, className, theme = require_theme.Theme.GLOBAL_CUSTOM, iconVariant = require_types.IconVariant.DEFAULT, textColor = require_index.TypographyColor.TEXT_SECONDARY, placeholder, ariaLabel, disabled, isLoading, onClick }) => {
|
|
18
|
+
const WidgetTextField = ({ id, testId, style, className, voiceInputClassName, theme = require_theme.Theme.GLOBAL_CUSTOM, minimalFrame = "full", iconVariant = require_types.IconVariant.DEFAULT, textColor = require_index.TypographyColor.TEXT_SECONDARY, placeholder, ariaLabel, disabled, isLoading, onClick, enableVoiceInput = false, onTranscriptionStarted }) => {
|
|
11
19
|
const resolvedTheme = require_resolveTheme.resolveTheme(theme);
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
const setListeningToSpeech = require_react.useSetAtom(__envive_ai_react_hooks_atoms_chat.listeningToSpeechAtom);
|
|
21
|
+
const { skeletonClass } = require_useGetSkeletonProperties.useGetSkeletonProperties(isLoading);
|
|
22
|
+
const { browserSupportsSpeechRecognition } = require_useVoiceInput.useVoiceInput({});
|
|
23
|
+
const { micWidgetButtonClasses } = require_useGetMicWidgetButtonProperties.useGetMicWidgetButtonProperties({
|
|
24
|
+
theme: resolvedTheme,
|
|
25
|
+
isListening: false
|
|
26
|
+
});
|
|
27
|
+
const voiceInputButtonClassName = (0, classnames.default)(micWidgetButtonClasses, skeletonClass, voiceInputClassName);
|
|
28
|
+
if (isLoading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.WidgetTextFieldComponents.Skeleton, { theme: resolvedTheme });
|
|
29
|
+
const handleToggleListening = () => {
|
|
30
|
+
setListeningToSpeech(true);
|
|
31
|
+
onTranscriptionStarted?.();
|
|
32
|
+
onClick();
|
|
33
|
+
};
|
|
34
|
+
const voiceInputButton = enableVoiceInput && browserSupportsSpeechRecognition ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.TextFieldComponents.VoiceInputButton, {
|
|
35
|
+
theme: resolvedTheme,
|
|
36
|
+
isListening: false,
|
|
37
|
+
onToggleListening: disabled ? void 0 : handleToggleListening,
|
|
38
|
+
ariaLabel,
|
|
39
|
+
isLoading,
|
|
40
|
+
disabled,
|
|
41
|
+
className: voiceInputButtonClassName
|
|
42
|
+
}) : null;
|
|
43
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.WidgetTextFieldComponents.Container, {
|
|
14
44
|
onClick: disabled ? void 0 : onClick,
|
|
15
45
|
id,
|
|
16
46
|
testId,
|
|
17
47
|
style,
|
|
18
48
|
className,
|
|
19
49
|
theme: resolvedTheme,
|
|
50
|
+
minimalFrame,
|
|
20
51
|
disabled,
|
|
21
52
|
ariaLabel,
|
|
22
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$
|
|
53
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.WidgetTextFieldComponents.Icon, {
|
|
23
54
|
textColor,
|
|
24
55
|
variant: iconVariant,
|
|
25
56
|
theme: resolvedTheme
|
|
26
57
|
}),
|
|
27
|
-
text: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$
|
|
58
|
+
text: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.WidgetTextFieldComponents.FakeTextInput, {
|
|
28
59
|
placeholder,
|
|
29
60
|
textColor
|
|
30
|
-
})
|
|
61
|
+
}),
|
|
62
|
+
voiceInputButton
|
|
31
63
|
});
|
|
32
64
|
};
|
|
33
65
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetTextFieldProps } from "./types/types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime19 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/WidgetTextField/WidgetTextField.d.ts
|
|
5
5
|
declare const WidgetTextField: ({
|
|
@@ -7,14 +7,18 @@ declare const WidgetTextField: ({
|
|
|
7
7
|
testId,
|
|
8
8
|
style,
|
|
9
9
|
className,
|
|
10
|
+
voiceInputClassName,
|
|
10
11
|
theme,
|
|
12
|
+
minimalFrame,
|
|
11
13
|
iconVariant,
|
|
12
14
|
textColor,
|
|
13
15
|
placeholder,
|
|
14
16
|
ariaLabel,
|
|
15
17
|
disabled,
|
|
16
18
|
isLoading,
|
|
17
|
-
onClick
|
|
18
|
-
|
|
19
|
+
onClick,
|
|
20
|
+
enableVoiceInput,
|
|
21
|
+
onTranscriptionStarted
|
|
22
|
+
}: WidgetTextFieldProps) => react_jsx_runtime19.JSX.Element;
|
|
19
23
|
//#endregion
|
|
20
24
|
export { WidgetTextField };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetTextFieldProps } from "./types/types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime1 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/WidgetTextField/WidgetTextField.d.ts
|
|
5
5
|
declare const WidgetTextField: ({
|
|
@@ -7,14 +7,18 @@ declare const WidgetTextField: ({
|
|
|
7
7
|
testId,
|
|
8
8
|
style,
|
|
9
9
|
className,
|
|
10
|
+
voiceInputClassName,
|
|
10
11
|
theme,
|
|
12
|
+
minimalFrame,
|
|
11
13
|
iconVariant,
|
|
12
14
|
textColor,
|
|
13
15
|
placeholder,
|
|
14
16
|
ariaLabel,
|
|
15
17
|
disabled,
|
|
16
18
|
isLoading,
|
|
17
|
-
onClick
|
|
18
|
-
|
|
19
|
+
onClick,
|
|
20
|
+
enableVoiceInput,
|
|
21
|
+
onTranscriptionStarted
|
|
22
|
+
}: WidgetTextFieldProps) => react_jsx_runtime1.JSX.Element;
|
|
19
23
|
//#endregion
|
|
20
24
|
export { WidgetTextField };
|
|
@@ -1,14 +1,43 @@
|
|
|
1
1
|
import { Theme } from "../packages/components-v3/tokens/theme/theme.js";
|
|
2
|
-
import { resolveTheme } from "../utils/resolveTheme.js";
|
|
3
2
|
import { TypographyColor } from "../Typography/types/index.js";
|
|
3
|
+
import { resolveTheme } from "../utils/resolveTheme.js";
|
|
4
|
+
import { TextFieldComponents } from "../TextField/components/index.js";
|
|
5
|
+
import { useGetSkeletonProperties } from "../TextField/hooks/useGetSkeletonProperties.js";
|
|
6
|
+
import { useSetAtom } from "../node_modules/jotai/esm/react.js";
|
|
7
|
+
import { useVoiceInput } from "../TextField/hooks/useVoiceInput.js";
|
|
4
8
|
import { IconVariant } from "./types/types.js";
|
|
5
9
|
import { WidgetTextFieldComponents } from "./components/index.js";
|
|
10
|
+
import { useGetMicWidgetButtonProperties } from "./hooks/useGetMicWidgetButtonProperties.js";
|
|
6
11
|
import { jsx } from "react/jsx-runtime";
|
|
12
|
+
import classNames from "classnames";
|
|
13
|
+
import { listeningToSpeechAtom } from "@envive-ai/react-hooks/atoms/chat";
|
|
7
14
|
|
|
8
15
|
//#region src/components/WidgetTextField/WidgetTextField.tsx
|
|
9
|
-
const WidgetTextField = ({ id, testId, style, className, theme = Theme.GLOBAL_CUSTOM, iconVariant = IconVariant.DEFAULT, textColor = TypographyColor.TEXT_SECONDARY, placeholder, ariaLabel, disabled, isLoading, onClick }) => {
|
|
16
|
+
const WidgetTextField = ({ id, testId, style, className, voiceInputClassName, theme = Theme.GLOBAL_CUSTOM, minimalFrame = "full", iconVariant = IconVariant.DEFAULT, textColor = TypographyColor.TEXT_SECONDARY, placeholder, ariaLabel, disabled, isLoading, onClick, enableVoiceInput = false, onTranscriptionStarted }) => {
|
|
10
17
|
const resolvedTheme = resolveTheme(theme);
|
|
18
|
+
const setListeningToSpeech = useSetAtom(listeningToSpeechAtom);
|
|
19
|
+
const { skeletonClass } = useGetSkeletonProperties(isLoading);
|
|
20
|
+
const { browserSupportsSpeechRecognition } = useVoiceInput({});
|
|
21
|
+
const { micWidgetButtonClasses } = useGetMicWidgetButtonProperties({
|
|
22
|
+
theme: resolvedTheme,
|
|
23
|
+
isListening: false
|
|
24
|
+
});
|
|
25
|
+
const voiceInputButtonClassName = classNames(micWidgetButtonClasses, skeletonClass, voiceInputClassName);
|
|
11
26
|
if (isLoading) return /* @__PURE__ */ jsx(WidgetTextFieldComponents.Skeleton, { theme: resolvedTheme });
|
|
27
|
+
const handleToggleListening = () => {
|
|
28
|
+
setListeningToSpeech(true);
|
|
29
|
+
onTranscriptionStarted?.();
|
|
30
|
+
onClick();
|
|
31
|
+
};
|
|
32
|
+
const voiceInputButton = enableVoiceInput && browserSupportsSpeechRecognition ? /* @__PURE__ */ jsx(TextFieldComponents.VoiceInputButton, {
|
|
33
|
+
theme: resolvedTheme,
|
|
34
|
+
isListening: false,
|
|
35
|
+
onToggleListening: disabled ? void 0 : handleToggleListening,
|
|
36
|
+
ariaLabel,
|
|
37
|
+
isLoading,
|
|
38
|
+
disabled,
|
|
39
|
+
className: voiceInputButtonClassName
|
|
40
|
+
}) : null;
|
|
12
41
|
return /* @__PURE__ */ jsx(WidgetTextFieldComponents.Container, {
|
|
13
42
|
onClick: disabled ? void 0 : onClick,
|
|
14
43
|
id,
|
|
@@ -16,6 +45,7 @@ const WidgetTextField = ({ id, testId, style, className, theme = Theme.GLOBAL_CU
|
|
|
16
45
|
style,
|
|
17
46
|
className,
|
|
18
47
|
theme: resolvedTheme,
|
|
48
|
+
minimalFrame,
|
|
19
49
|
disabled,
|
|
20
50
|
ariaLabel,
|
|
21
51
|
icon: /* @__PURE__ */ jsx(WidgetTextFieldComponents.Icon, {
|
|
@@ -26,7 +56,8 @@ const WidgetTextField = ({ id, testId, style, className, theme = Theme.GLOBAL_CU
|
|
|
26
56
|
text: /* @__PURE__ */ jsx(WidgetTextFieldComponents.FakeTextInput, {
|
|
27
57
|
placeholder,
|
|
28
58
|
textColor
|
|
29
|
-
})
|
|
59
|
+
}),
|
|
60
|
+
voiceInputButton
|
|
30
61
|
});
|
|
31
62
|
};
|
|
32
63
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_Container = require('../../Container/Container.cjs');
|
|
3
|
-
require('../../Container/index.cjs');
|
|
4
2
|
const require_Stack = require('../../Stack/Stack.cjs');
|
|
5
3
|
require('../../Stack/index.cjs');
|
|
4
|
+
const require_Container = require('../../Container/Container.cjs');
|
|
5
|
+
require('../../Container/index.cjs');
|
|
6
6
|
const require_useGetContainerProperties = require('../hooks/useGetContainerProperties.cjs');
|
|
7
7
|
const require_useHandleKeyboard = require('../hooks/useHandleKeyboard.cjs');
|
|
8
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -10,33 +10,39 @@ let classnames = require("classnames");
|
|
|
10
10
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
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
|
|
|
@@ -1,40 +1,46 @@
|
|
|
1
|
-
import { Container } from "../../Container/Container.js";
|
|
2
|
-
import "../../Container/index.js";
|
|
3
1
|
import { Stack } from "../../Stack/Stack.js";
|
|
4
2
|
import "../../Stack/index.js";
|
|
3
|
+
import { Container } from "../../Container/Container.js";
|
|
4
|
+
import "../../Container/index.js";
|
|
5
5
|
import { useGetContainerProperties } from "../hooks/useGetContainerProperties.js";
|
|
6
6
|
import { useHandleKeyboard } from "../hooks/useHandleKeyboard.js";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
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
|
|
|
@@ -1,7 +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
|
-
const require_CustomIcon = require('../../utils/CustomIcon.cjs');
|
|
4
3
|
const require_index = require('../../Typography/types/index.cjs');
|
|
4
|
+
const require_CustomIcon = require('../../utils/CustomIcon.cjs');
|
|
5
5
|
const require_types = require('../types/types.cjs');
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
let __envive_ai_react_icons_SendStandard = require("@envive-ai/react-icons/SendStandard");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
|
|
2
|
-
import { CustomIcon } from "../../utils/CustomIcon.js";
|
|
3
2
|
import { TypographyColor } from "../../Typography/types/index.js";
|
|
3
|
+
import { CustomIcon } from "../../utils/CustomIcon.js";
|
|
4
4
|
import { IconVariant } from "../types/types.js";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import SendStandard from "@envive-ai/react-icons/SendStandard";
|
|
@@ -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
|
|