@envive-ai/react-widgets-v3 0.3.11 → 0.3.13

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.
Files changed (94) hide show
  1. package/dist/CXIntegration/hooks/useUnifiedCXButton.cjs +2 -1
  2. package/dist/CXIntegration/hooks/useUnifiedCXButton.js +2 -1
  3. package/dist/CXIntegration/implementations/useEightByEightUnifiedCXButton.cjs +54 -0
  4. package/dist/CXIntegration/implementations/useEightByEightUnifiedCXButton.js +53 -0
  5. package/dist/CXIntegration/implementations/useGladlyUnifiedCXButton.cjs +6 -0
  6. package/dist/CXIntegration/implementations/useGladlyUnifiedCXButton.js +6 -0
  7. package/dist/CXIntegration/implementations/useGorgiasUnifiedCXButton.cjs +7 -6
  8. package/dist/CXIntegration/implementations/useGorgiasUnifiedCXButton.js +7 -6
  9. package/dist/CXIntegration/implementations/useGrooveUnifiedCXButton.cjs +10 -11
  10. package/dist/CXIntegration/implementations/useGrooveUnifiedCXButton.js +10 -11
  11. package/dist/CXIntegration/implementations/useKustomerUnifiedCXButton.cjs +10 -7
  12. package/dist/CXIntegration/implementations/useKustomerUnifiedCXButton.js +10 -7
  13. package/dist/CXIntegration/implementations/useReDoUnifiedCXButton.cjs +2 -2
  14. package/dist/CXIntegration/implementations/useReDoUnifiedCXButton.js +2 -2
  15. package/dist/CXIntegration/implementations/useRichpanelUnifiedCXButton.cjs +9 -7
  16. package/dist/CXIntegration/implementations/useRichpanelUnifiedCXButton.js +9 -7
  17. package/dist/CXIntegration/implementations/useShopifyChatUnifiedCXButton.cjs +13 -16
  18. package/dist/CXIntegration/implementations/useShopifyChatUnifiedCXButton.js +13 -16
  19. package/dist/CXIntegration/implementations/useTidioUnifiedCXButton.cjs +6 -0
  20. package/dist/CXIntegration/implementations/useTidioUnifiedCXButton.js +6 -0
  21. package/dist/CXIntegration/implementations/useZendeskUnifiedCXButton.cjs +9 -7
  22. package/dist/CXIntegration/implementations/useZendeskUnifiedCXButton.js +9 -7
  23. package/dist/CXIntegration/implementations/useZowieUnifiedCXButton.cjs +6 -0
  24. package/dist/CXIntegration/implementations/useZowieUnifiedCXButton.js +6 -0
  25. package/dist/CXIntegration/types.cjs +1 -0
  26. package/dist/CXIntegration/types.js +1 -0
  27. package/dist/CXIntegration/utils/functions.cjs +2 -0
  28. package/dist/CXIntegration/utils/functions.js +2 -0
  29. package/dist/debug/debugBar.cjs +0 -1
  30. package/dist/debug/debugBar.js +0 -1
  31. package/dist/hocs/withBaseWidget/withBaseWidget.d.cts +2 -2
  32. package/dist/hocs/withBaseWidget/withBaseWidget.d.ts +2 -2
  33. package/dist/node_modules/@spiffy-ai/commerce-api-client/dist/models/UrlResolvingRequest.cjs +4 -0
  34. package/dist/node_modules/@spiffy-ai/commerce-api-client/dist/models/WidgetTextRequest.cjs +2 -0
  35. package/dist/packages/widgets/dist/SearchResults/SearchResultsWidget.d.ts +2 -2
  36. package/dist/packages/widgets/dist/SearchZeroState/SearchZeroStateWidget.d.ts +2 -2
  37. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.cts +3 -3
  38. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.ts +3 -3
  39. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.cts +3 -3
  40. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.ts +3 -3
  41. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.cts +3 -3
  42. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.cjs +64 -36
  43. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.cts +2 -2
  44. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.ts +2 -2
  45. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.js +65 -37
  46. package/dist/widgets/FloatingChatWidget/hooks/useAutoPopup.cjs +50 -0
  47. package/dist/widgets/FloatingChatWidget/hooks/useAutoPopup.js +49 -0
  48. package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.cts +2 -2
  49. package/dist/widgets/ProductCardWidget/ProductCardWidget.d.cts +2 -2
  50. package/dist/widgets/ProductCardWidget/ProductCardWidget.d.ts +2 -2
  51. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts +3 -3
  52. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.cjs +1 -1
  53. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.cts +2 -2
  54. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts +2 -2
  55. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.js +1 -1
  56. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.cjs +8 -8
  57. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.cts +2 -2
  58. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts +2 -2
  59. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.js +8 -8
  60. package/dist/widgets/SocialProofWidget/SocialProofWidget.d.cts +3 -3
  61. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.cjs +1 -1
  62. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.cts +2 -2
  63. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts +2 -2
  64. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.js +1 -1
  65. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.cjs +8 -8
  66. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.cts +2 -2
  67. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts +2 -2
  68. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.js +8 -8
  69. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.cts +3 -3
  70. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts +3 -3
  71. package/dist/widgets/dist/SearchResults/SearchResultsWidget.d.cts +2 -2
  72. package/dist/widgets/dist/SearchZeroState/SearchZeroStateWidget.d.cts +2 -2
  73. package/package.json +1 -1
  74. package/src/CXIntegration/hooks/useUnifiedCXButton.ts +4 -1
  75. package/src/CXIntegration/implementations/useEightByEightUnifiedCXButton.ts +91 -0
  76. package/src/CXIntegration/implementations/useGladlyUnifiedCXButton.ts +5 -0
  77. package/src/CXIntegration/implementations/useGorgiasUnifiedCXButton.ts +11 -8
  78. package/src/CXIntegration/implementations/useGrooveUnifiedCXButton.ts +12 -15
  79. package/src/CXIntegration/implementations/useKustomerUnifiedCXButton.ts +11 -11
  80. package/src/CXIntegration/implementations/useReDoUnifiedCXButton.ts +2 -4
  81. package/src/CXIntegration/implementations/useRichpanelUnifiedCXButton.ts +9 -10
  82. package/src/CXIntegration/implementations/useShopifyChatUnifiedCXButton.ts +18 -28
  83. package/src/CXIntegration/implementations/useTidioUnifiedCXButton.ts +5 -0
  84. package/src/CXIntegration/implementations/useZendeskUnifiedCXButton.ts +15 -8
  85. package/src/CXIntegration/implementations/useZowieUnifiedCXButton.ts +5 -0
  86. package/src/CXIntegration/types.ts +2 -0
  87. package/src/CXIntegration/utils/functions.ts +4 -0
  88. package/src/debug/debugBar.tsx +0 -1
  89. package/src/widgets/FloatingChatWidget/FloatingChatWidget.tsx +109 -66
  90. package/src/widgets/FloatingChatWidget/hooks/useAutoPopup.ts +65 -0
  91. package/src/widgets/PromptCarouselWidget/PromptCarouselWidget.tsx +1 -1
  92. package/src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.tsx +12 -12
  93. package/src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.tsx +1 -1
  94. package/src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.tsx +12 -12
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime2 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime13 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/FloatingChatWidget/FloatingChatWidget.d.ts
4
4
  interface FloatingChatWidgetProps {
@@ -9,7 +9,7 @@ declare const FloatingChatWidget: {
9
9
  ({
10
10
  previewButtonOnly,
11
11
  previewChatAlwaysOpen
12
- }?: FloatingChatWidgetProps): react_jsx_runtime2.JSX.Element;
12
+ }?: FloatingChatWidgetProps): react_jsx_runtime13.JSX.Element;
13
13
  displayName: string;
14
14
  };
15
15
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime14 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/FloatingChatWidget/FloatingChatWidget.d.ts
4
4
  interface FloatingChatWidgetProps {
@@ -9,7 +9,7 @@ declare const FloatingChatWidget: {
9
9
  ({
10
10
  previewButtonOnly,
11
11
  previewChatAlwaysOpen
12
- }?: FloatingChatWidgetProps): react_jsx_runtime6.JSX.Element;
12
+ }?: FloatingChatWidgetProps): react_jsx_runtime14.JSX.Element;
13
13
  displayName: string;
14
14
  };
15
15
  //#endregion
@@ -7,7 +7,8 @@ import { CustomerServiceType } from "../../CXIntegration/types.js";
7
7
  import { FLOATING_BUTTON_ID } from "./constants.js";
8
8
  import { useUnifiedCXButton } from "../../CXIntegration/hooks/useUnifiedCXButton.js";
9
9
  import { useFloatingButtonVisibility } from "./hooks/useFloatingButtonVisibility.js";
10
- import { Suspense, lazy, useEffect, useMemo, useRef } from "react";
10
+ import { useAutoPopup } from "./hooks/useAutoPopup.js";
11
+ import { Suspense, lazy, useEffect, useMemo, useRef, useState } from "react";
11
12
  import { SpiffyMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
12
13
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
14
  import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
@@ -19,29 +20,49 @@ import { FloatingButton } from "@envive-ai/react-toolkit-v3/FloatingButton";
19
20
 
20
21
  //#region src/widgets/FloatingChatWidget/FloatingChatWidget.tsx
21
22
  const FloatingChat = lazy(async () => ({ default: (await import("@envive-ai/react-toolkit-v3/FloatingChat")).FloatingChat }));
23
+ /**
24
+ * Wrapper component that isolates the useUnifiedCXButton hook call.
25
+ * Provider implementations use different React hooks internally, so the
26
+ * provider value must be stable across renders. Use a `key` prop based on
27
+ * provider to force a clean remount when the provider changes.
28
+ */
29
+ const CXButtonProvider = ({ provider, enabled, suppressMerchantButton, onSwitchToAgent, onCXClose, children }) => {
30
+ const { isSwitchEnabled, toggle } = useUnifiedCXButton({
31
+ provider,
32
+ enabled,
33
+ suppressMerchantButton,
34
+ onSwitchToAgent,
35
+ onCXClose
36
+ }) ?? {};
37
+ return /* @__PURE__ */ jsx(Fragment, { children: children({
38
+ isSwitchEnabled,
39
+ toggle
40
+ }) });
41
+ };
22
42
  const FloatingChatWidgetHandler = (props) => {
23
43
  const { previewButtonOnly, previewChatAlwaysOpen } = props;
24
44
  const salesAgentData = useSalesAgent();
25
45
  const { userHasInteractedValue } = useGetWidgetStatus_default();
26
46
  const { uiConfig, isUiConfigLoading, hardcopyContent } = props;
27
- const { isSwitchEnabled, toggle } = useUnifiedCXButton({
28
- provider: CustomerServiceType.unsupported,
29
- enabled: false,
30
- suppressMerchantButton: false
31
- }) ?? {};
32
- const { floatingButton } = uiConfig ?? {};
47
+ const { customerServiceIntegration, floatingButton, floatingChat } = uiConfig ?? {};
48
+ const cxProvider = customerServiceIntegration?.provider ?? CustomerServiceType.unsupported;
33
49
  const { isOpen, openChat, closeChat } = useChatToggle();
50
+ const [isCXOpen, setIsCXOpen] = useState(false);
51
+ useEffect(() => {
52
+ if (isOpen) setIsCXOpen(false);
53
+ }, [isOpen]);
34
54
  const { shouldShowFloatingButton } = useFloatingButtonVisibility({
35
55
  floatingButtonShowConfig: floatingButton?.showOption,
36
56
  isChatOpen: isOpen,
37
57
  userHasInteracted: userHasInteractedValue
38
58
  });
39
59
  const effectiveIsOpen = previewChatAlwaysOpen ? true : isOpen;
40
- const buttonShouldRender = previewButtonOnly ? true : !effectiveIsOpen && shouldShowFloatingButton;
60
+ const buttonShouldRender = previewButtonOnly ? true : !effectiveIsOpen && shouldShowFloatingButton && !isCXOpen;
41
61
  const theme = useMemo(() => {
42
62
  if (isUiConfigLoading || !uiConfig) return Theme.STANDARD;
43
63
  return uiConfig?.lookAndFeel?.theme ?? Theme.GLOBAL_CUSTOM;
44
64
  }, [isUiConfigLoading, uiConfig]);
65
+ useAutoPopup({ autoPopupConfig: floatingChat?.autoPopupConfig });
45
66
  const { trackEvent } = useAmplitude();
46
67
  const hasTrackedEvent = useRef(false);
47
68
  useEffect(() => {
@@ -56,35 +77,42 @@ const FloatingChatWidgetHandler = (props) => {
56
77
  hasTrackedEvent.current = true;
57
78
  }
58
79
  }, [trackEvent, buttonShouldRender]);
59
- return /* @__PURE__ */ jsxs(Fragment, { children: [(previewChatAlwaysOpen || effectiveIsOpen) && !previewButtonOnly && /* @__PURE__ */ jsx(FloatingChatOverlay, {
60
- isOpened: effectiveIsOpen,
61
- onClose: previewChatAlwaysOpen ? () => {} : () => closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_OVERLAY),
62
- previewMode: !!previewChatAlwaysOpen,
63
- children: /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(FloatingChat, {
64
- theme,
65
- salesAgentData,
66
- hardcopyContent,
67
- floatingChatConfig: uiConfig?.floatingChat ?? {},
68
- lookAndFeelConfig: uiConfig?.lookAndFeel ?? {},
69
- isCXButtonSwitchEnabled: !!isSwitchEnabled?.(),
70
- isFloatingChatOpen: effectiveIsOpen,
71
- onToggleCXButton: toggle,
72
- debugBar: /* @__PURE__ */ jsx(DebugBar, {}),
73
- onClose: previewChatAlwaysOpen ? () => {} : () => closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_CLOSE_BUTTON)
74
- }) })
75
- }), buttonShouldRender && /* @__PURE__ */ jsx(FloatingButton, {
76
- id: FLOATING_BUTTON_ID,
77
- variant: floatingButton?.style,
78
- mode: floatingButton?.mode,
79
- backgroundColor: floatingButton?.backgroundColor,
80
- onClick: previewButtonOnly ? () => {} : () => openChat(ChatElementDisplayLocationV3.FLOATING_BUTTON),
81
- customIcon: floatingButton?.iconSVGSrc,
82
- show: floatingButton?.showOption,
83
- location: floatingButton?.position,
84
- hasInteractionHappened: userHasInteractedValue,
85
- ariaLabel: "Open chat",
86
- previewMode: !!previewButtonOnly
87
- })] });
80
+ return /* @__PURE__ */ jsx(CXButtonProvider, {
81
+ provider: cxProvider,
82
+ enabled: customerServiceIntegration?.enabled ?? false,
83
+ suppressMerchantButton: customerServiceIntegration?.suppressMerchantButton ?? false,
84
+ onSwitchToAgent: () => setIsCXOpen(true),
85
+ onCXClose: () => setIsCXOpen(false),
86
+ children: ({ isSwitchEnabled, toggle }) => /* @__PURE__ */ jsxs(Fragment, { children: [(previewChatAlwaysOpen || effectiveIsOpen) && !previewButtonOnly && /* @__PURE__ */ jsx(FloatingChatOverlay, {
87
+ isOpened: effectiveIsOpen,
88
+ onClose: previewChatAlwaysOpen ? () => {} : () => closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_OVERLAY),
89
+ previewMode: !!previewChatAlwaysOpen,
90
+ children: /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(FloatingChat, {
91
+ theme,
92
+ salesAgentData,
93
+ hardcopyContent,
94
+ floatingChatConfig: uiConfig?.floatingChat ?? {},
95
+ lookAndFeelConfig: uiConfig?.lookAndFeel ?? {},
96
+ isCXButtonSwitchEnabled: !!isSwitchEnabled?.(),
97
+ isFloatingChatOpen: effectiveIsOpen,
98
+ onToggleCXButton: toggle,
99
+ debugBar: /* @__PURE__ */ jsx(DebugBar, {}),
100
+ onClose: previewChatAlwaysOpen ? () => {} : () => closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_CLOSE_BUTTON)
101
+ }) })
102
+ }), buttonShouldRender && /* @__PURE__ */ jsx(FloatingButton, {
103
+ id: FLOATING_BUTTON_ID,
104
+ variant: floatingButton?.style,
105
+ mode: floatingButton?.mode,
106
+ backgroundColor: floatingButton?.backgroundColor,
107
+ onClick: previewButtonOnly ? () => {} : () => openChat(ChatElementDisplayLocationV3.FLOATING_BUTTON),
108
+ customIcon: floatingButton?.iconSVGSrc,
109
+ show: floatingButton?.showOption,
110
+ location: floatingButton?.position,
111
+ hasInteractionHappened: userHasInteractedValue,
112
+ ariaLabel: "Open chat",
113
+ previewMode: !!previewButtonOnly
114
+ })] })
115
+ }, cxProvider);
88
116
  };
89
117
  const FloatingChatWidgetWithBaseWidget = withBaseWidget(FloatingChatWidgetHandler);
90
118
  const FloatingChatWidget = ({ previewButtonOnly, previewChatAlwaysOpen } = {}) => {
@@ -0,0 +1,50 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ let react = require("react");
3
+ let __envive_ai_react_hooks_hooks_ChatToggle = require("@envive-ai/react-hooks/hooks/ChatToggle");
4
+ let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
5
+ let __envive_ai_react_hooks_contexts_featureFlagServiceContext = require("@envive-ai/react-hooks/contexts/featureFlagServiceContext");
6
+
7
+ //#region src/widgets/FloatingChatWidget/hooks/useAutoPopup.ts
8
+ const useAutoPopup = ({ autoPopupConfig }) => {
9
+ const { isOpen, openChat } = (0, __envive_ai_react_hooks_hooks_ChatToggle.useChatToggle)();
10
+ const { featureFlagService } = (0, __envive_ai_react_hooks_contexts_featureFlagServiceContext.useFeatureFlagService)();
11
+ const hasBeenOpenedRef = (0, react.useRef)(false);
12
+ const autoPopupTimerRef = (0, react.useRef)(null);
13
+ const isReferrerBasedPromptEnabled = (0, react.useMemo)(() => featureFlagService.isFeatureGateEnabled(__envive_ai_react_hooks_application_models.FeatureGates.IsReferrerBasedPromptEnabled), [featureFlagService]);
14
+ (0, react.useEffect)(() => {
15
+ if (!hasBeenOpenedRef.current && isOpen) hasBeenOpenedRef.current = true;
16
+ }, [isOpen]);
17
+ const openChatSafely = (0, react.useCallback)((triggerLocation) => {
18
+ if (!hasBeenOpenedRef.current) {
19
+ hasBeenOpenedRef.current = true;
20
+ openChat(triggerLocation);
21
+ }
22
+ }, [openChat]);
23
+ (0, react.useEffect)(() => {
24
+ const cleanup = () => {
25
+ if (autoPopupTimerRef.current) clearTimeout(autoPopupTimerRef.current);
26
+ };
27
+ if (!autoPopupConfig || hasBeenOpenedRef.current) return cleanup;
28
+ for (const trigger of autoPopupConfig.triggers) {
29
+ if (trigger.trigger.type === "referrer") {
30
+ if (!isReferrerBasedPromptEnabled) break;
31
+ const utmSource = new URLSearchParams(window.location.search).get("utm_source");
32
+ if (trigger.trigger.referrers.includes(utmSource)) autoPopupTimerRef.current = setTimeout(() => {
33
+ openChatSafely(__envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.REFERRER_BASED_PROMPT);
34
+ }, trigger.delay);
35
+ }
36
+ if (trigger.trigger.type === "automatic") autoPopupTimerRef.current = setTimeout(() => {
37
+ openChatSafely(__envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.AUTOMATIC_PROMPT);
38
+ }, trigger.delay);
39
+ }
40
+ return cleanup;
41
+ }, [
42
+ autoPopupConfig,
43
+ isOpen,
44
+ isReferrerBasedPromptEnabled,
45
+ openChatSafely
46
+ ]);
47
+ };
48
+
49
+ //#endregion
50
+ exports.useAutoPopup = useAutoPopup;
@@ -0,0 +1,49 @@
1
+ import { useCallback, useEffect, useMemo, useRef } from "react";
2
+ import { useChatToggle } from "@envive-ai/react-hooks/hooks/ChatToggle";
3
+ import { ChatElementDisplayLocationV3, FeatureGates } from "@envive-ai/react-hooks/application/models";
4
+ import { useFeatureFlagService } from "@envive-ai/react-hooks/contexts/featureFlagServiceContext";
5
+
6
+ //#region src/widgets/FloatingChatWidget/hooks/useAutoPopup.ts
7
+ const useAutoPopup = ({ autoPopupConfig }) => {
8
+ const { isOpen, openChat } = useChatToggle();
9
+ const { featureFlagService } = useFeatureFlagService();
10
+ const hasBeenOpenedRef = useRef(false);
11
+ const autoPopupTimerRef = useRef(null);
12
+ const isReferrerBasedPromptEnabled = useMemo(() => featureFlagService.isFeatureGateEnabled(FeatureGates.IsReferrerBasedPromptEnabled), [featureFlagService]);
13
+ useEffect(() => {
14
+ if (!hasBeenOpenedRef.current && isOpen) hasBeenOpenedRef.current = true;
15
+ }, [isOpen]);
16
+ const openChatSafely = useCallback((triggerLocation) => {
17
+ if (!hasBeenOpenedRef.current) {
18
+ hasBeenOpenedRef.current = true;
19
+ openChat(triggerLocation);
20
+ }
21
+ }, [openChat]);
22
+ useEffect(() => {
23
+ const cleanup = () => {
24
+ if (autoPopupTimerRef.current) clearTimeout(autoPopupTimerRef.current);
25
+ };
26
+ if (!autoPopupConfig || hasBeenOpenedRef.current) return cleanup;
27
+ for (const trigger of autoPopupConfig.triggers) {
28
+ if (trigger.trigger.type === "referrer") {
29
+ if (!isReferrerBasedPromptEnabled) break;
30
+ const utmSource = new URLSearchParams(window.location.search).get("utm_source");
31
+ if (trigger.trigger.referrers.includes(utmSource)) autoPopupTimerRef.current = setTimeout(() => {
32
+ openChatSafely(ChatElementDisplayLocationV3.REFERRER_BASED_PROMPT);
33
+ }, trigger.delay);
34
+ }
35
+ if (trigger.trigger.type === "automatic") autoPopupTimerRef.current = setTimeout(() => {
36
+ openChatSafely(ChatElementDisplayLocationV3.AUTOMATIC_PROMPT);
37
+ }, trigger.delay);
38
+ }
39
+ return cleanup;
40
+ }, [
41
+ autoPopupConfig,
42
+ isOpen,
43
+ isReferrerBasedPromptEnabled,
44
+ openChatSafely
45
+ ]);
46
+ };
47
+
48
+ //#endregion
49
+ export { useAutoPopup };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime7 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime11 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.ts
4
4
 
@@ -8,7 +8,7 @@ interface FullPageSalesAgentBaseWidgetProps {
8
8
  declare const FullPageSalesAgentWidget: {
9
9
  ({
10
10
  widgetConfigId
11
- }: FullPageSalesAgentBaseWidgetProps): react_jsx_runtime7.JSX.Element;
11
+ }: FullPageSalesAgentBaseWidgetProps): react_jsx_runtime11.JSX.Element;
12
12
  displayName: string;
13
13
  };
14
14
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime16 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime14 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/ProductCardWidget/ProductCardWidget.d.ts
4
4
  interface ProductCardWidgetProps {
@@ -7,7 +7,7 @@ interface ProductCardWidgetProps {
7
7
  declare const ProductCardWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: ProductCardWidgetProps): react_jsx_runtime16.JSX.Element;
10
+ }: ProductCardWidgetProps): react_jsx_runtime14.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime11 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime9 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/ProductCardWidget/ProductCardWidget.d.ts
4
4
  interface ProductCardWidgetProps {
@@ -7,7 +7,7 @@ interface ProductCardWidgetProps {
7
7
  declare const ProductCardWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: ProductCardWidgetProps): react_jsx_runtime11.JSX.Element;
10
+ }: ProductCardWidgetProps): react_jsx_runtime9.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,9 +1,9 @@
1
1
  import { BaseWidgetProps } from "../../hocs/withBaseWidget/types.js";
2
- import * as react_jsx_runtime14 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts
5
5
  declare const PromptButtonCarouselWithImageWidgetWithBaseWidget: {
6
- (props: BaseWidgetProps): react_jsx_runtime14.JSX.Element;
6
+ (props: BaseWidgetProps): react_jsx_runtime2.JSX.Element;
7
7
  displayName: string;
8
8
  };
9
9
  interface PromptButtonCarouselWithImageWidgetProps {
@@ -12,7 +12,7 @@ interface PromptButtonCarouselWithImageWidgetProps {
12
12
  declare const PromptButtonCarouselWithImageWidget: {
13
13
  ({
14
14
  widgetConfigId
15
- }: PromptButtonCarouselWithImageWidgetProps): react_jsx_runtime14.JSX.Element;
15
+ }: PromptButtonCarouselWithImageWidgetProps): react_jsx_runtime2.JSX.Element;
16
16
  displayName: string;
17
17
  };
18
18
  //#endregion
@@ -39,7 +39,7 @@ const PromptCarouselWidgetHandler = (props) => {
39
39
  const boldFirstButton = promptCarouselWidgetConfig?.boldFirstButton;
40
40
  const promptButtonType = promptCarouselWidgetConfig?.promptButtonType;
41
41
  const promptCarouselRows = promptCarouselWidgetConfig?.promptCarouselRows;
42
- const animationSpeed = isLoading ? __envive_ai_react_toolkit_v3_PromptCarousel_types_types.AnimationSpeed.FAST : promptCarouselWidgetConfig?.animationSpeed;
42
+ const animationSpeed = isLoading ? __envive_ai_react_toolkit_v3_PromptCarousel_types_types.AnimationSpeed.NONE : promptCarouselWidgetConfig?.animationSpeed;
43
43
  const { trackEvent } = (0, __envive_ai_react_hooks_contexts_amplitudeContext.useAmplitude)();
44
44
  (0, react.useEffect)(() => {
45
45
  trackEvent({
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime3 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime6 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts
4
4
  interface PromptCarouselWidgetProps {
@@ -7,7 +7,7 @@ interface PromptCarouselWidgetProps {
7
7
  declare const PromptCarouselWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: PromptCarouselWidgetProps): react_jsx_runtime3.JSX.Element;
10
+ }: PromptCarouselWidgetProps): react_jsx_runtime6.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime10 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime15 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts
4
4
  interface PromptCarouselWidgetProps {
@@ -7,7 +7,7 @@ interface PromptCarouselWidgetProps {
7
7
  declare const PromptCarouselWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: PromptCarouselWidgetProps): react_jsx_runtime10.JSX.Element;
10
+ }: PromptCarouselWidgetProps): react_jsx_runtime15.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -38,7 +38,7 @@ const PromptCarouselWidgetHandler = (props) => {
38
38
  const boldFirstButton = promptCarouselWidgetConfig?.boldFirstButton;
39
39
  const promptButtonType = promptCarouselWidgetConfig?.promptButtonType;
40
40
  const promptCarouselRows = promptCarouselWidgetConfig?.promptCarouselRows;
41
- const animationSpeed = isLoading ? AnimationSpeed.FAST : promptCarouselWidgetConfig?.animationSpeed;
41
+ const animationSpeed = isLoading ? AnimationSpeed.NONE : promptCarouselWidgetConfig?.animationSpeed;
42
42
  const { trackEvent } = useAmplitude();
43
43
  useEffect(() => {
44
44
  trackEvent({
@@ -11,21 +11,21 @@ let __envive_ai_react_toolkit_v3_ChatPreviewLoading = require("@envive-ai/react-
11
11
  //#region src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.tsx
12
12
  const SocialProofFlowWidget = ({ widgetConfigId }) => {
13
13
  const { userHasInteractedValue, userHasNotInteractedValue, isLoadingValue, isProductComparisonValue } = require_useGetWidgetStatus.default();
14
- if (userHasInteractedValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewWidget.ChatPreviewWidgetWithBaseWidget, {
14
+ if (userHasInteractedValue && isLoadingValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewLoadingWidget.ChatPreviewLoadingWidgetWithBaseWidget, {
15
15
  widgetConfigId,
16
- widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewV3
16
+ widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewLoadingV3
17
17
  });
18
- if (userHasNotInteractedValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SocialProofWidget.SocialProofWidgetWithBaseWidget, {
18
+ if (userHasInteractedValue && isProductComparisonValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewComparisonWidget.ChatPreviewComparisonWidgetWithBaseWidget, {
19
19
  widgetConfigId,
20
- widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.SocialProofV3
20
+ widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewComparisonV3
21
21
  });
22
- if (isLoadingValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewLoadingWidget.ChatPreviewLoadingWidgetWithBaseWidget, {
22
+ if (userHasInteractedValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewWidget.ChatPreviewWidgetWithBaseWidget, {
23
23
  widgetConfigId,
24
- widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewLoadingV3
24
+ widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewV3
25
25
  });
26
- if (isProductComparisonValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewComparisonWidget.ChatPreviewComparisonWidgetWithBaseWidget, {
26
+ if (userHasNotInteractedValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SocialProofWidget.SocialProofWidgetWithBaseWidget, {
27
27
  widgetConfigId,
28
- widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewComparisonV3
28
+ widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.SocialProofV3
29
29
  });
30
30
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__envive_ai_react_toolkit_v3_ChatPreviewLoading.ChatPreviewLoading, { fullIsLoading: true });
31
31
  };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime9 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts
4
4
  interface SocialProofFlowWidgetProps {
@@ -7,7 +7,7 @@ interface SocialProofFlowWidgetProps {
7
7
  declare const SocialProofFlowWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: SocialProofFlowWidgetProps): react_jsx_runtime9.JSX.Element;
10
+ }: SocialProofFlowWidgetProps): react_jsx_runtime3.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime7 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime6 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts
4
4
  interface SocialProofFlowWidgetProps {
@@ -7,7 +7,7 @@ interface SocialProofFlowWidgetProps {
7
7
  declare const SocialProofFlowWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: SocialProofFlowWidgetProps): react_jsx_runtime7.JSX.Element;
10
+ }: SocialProofFlowWidgetProps): react_jsx_runtime6.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -10,21 +10,21 @@ import { ChatPreviewLoading } from "@envive-ai/react-toolkit-v3/ChatPreviewLoadi
10
10
  //#region src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.tsx
11
11
  const SocialProofFlowWidget = ({ widgetConfigId }) => {
12
12
  const { userHasInteractedValue, userHasNotInteractedValue, isLoadingValue, isProductComparisonValue } = useGetWidgetStatus_default();
13
- if (userHasInteractedValue) return /* @__PURE__ */ jsx(ChatPreviewWidgetWithBaseWidget, {
13
+ if (userHasInteractedValue && isLoadingValue) return /* @__PURE__ */ jsx(ChatPreviewLoadingWidgetWithBaseWidget, {
14
14
  widgetConfigId,
15
- widgetType: WidgetTypeV3.ChatPreviewV3
15
+ widgetType: WidgetTypeV3.ChatPreviewLoadingV3
16
16
  });
17
- if (userHasNotInteractedValue) return /* @__PURE__ */ jsx(SocialProofWidgetWithBaseWidget, {
17
+ if (userHasInteractedValue && isProductComparisonValue) return /* @__PURE__ */ jsx(ChatPreviewComparisonWidgetWithBaseWidget, {
18
18
  widgetConfigId,
19
- widgetType: WidgetTypeV3.SocialProofV3
19
+ widgetType: WidgetTypeV3.ChatPreviewComparisonV3
20
20
  });
21
- if (isLoadingValue) return /* @__PURE__ */ jsx(ChatPreviewLoadingWidgetWithBaseWidget, {
21
+ if (userHasInteractedValue) return /* @__PURE__ */ jsx(ChatPreviewWidgetWithBaseWidget, {
22
22
  widgetConfigId,
23
- widgetType: WidgetTypeV3.ChatPreviewLoadingV3
23
+ widgetType: WidgetTypeV3.ChatPreviewV3
24
24
  });
25
- if (isProductComparisonValue) return /* @__PURE__ */ jsx(ChatPreviewComparisonWidgetWithBaseWidget, {
25
+ if (userHasNotInteractedValue) return /* @__PURE__ */ jsx(SocialProofWidgetWithBaseWidget, {
26
26
  widgetConfigId,
27
- widgetType: WidgetTypeV3.ChatPreviewComparisonV3
27
+ widgetType: WidgetTypeV3.SocialProofV3
28
28
  });
29
29
  return /* @__PURE__ */ jsx(ChatPreviewLoading, { fullIsLoading: true });
30
30
  };
@@ -1,9 +1,9 @@
1
1
  import { BaseWidgetProps } from "../../hocs/withBaseWidget/types.cjs";
2
- import * as react_jsx_runtime18 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/widgets/SocialProofWidget/SocialProofWidget.d.ts
5
5
  declare const SocialProofWidgetWithBaseWidget: {
6
- (props: BaseWidgetProps): react_jsx_runtime18.JSX.Element;
6
+ (props: BaseWidgetProps): react_jsx_runtime0.JSX.Element;
7
7
  displayName: string;
8
8
  };
9
9
  interface SocialProofWidgetProps {
@@ -12,7 +12,7 @@ interface SocialProofWidgetProps {
12
12
  declare const SocialProofWidget: {
13
13
  ({
14
14
  widgetConfigId
15
- }: SocialProofWidgetProps): react_jsx_runtime18.JSX.Element;
15
+ }: SocialProofWidgetProps): react_jsx_runtime0.JSX.Element;
16
16
  displayName: string;
17
17
  };
18
18
  //#endregion
@@ -35,7 +35,7 @@ const TitledPromptCarouselWidgetHandler = (props) => {
35
35
  const boldFirstButton = titledPromptCarouselWidgetConfig?.boldFirstButton;
36
36
  const promptButtonType = titledPromptCarouselWidgetConfig?.promptButtonType;
37
37
  const promptCarouselRows = titledPromptCarouselWidgetConfig?.promptCarouselRows;
38
- const animationSpeed = isLoading ? __envive_ai_react_toolkit_v3_PromptCarousel.AnimationSpeed.FAST : titledPromptCarouselWidgetConfig?.animationSpeed;
38
+ const animationSpeed = isLoading ? __envive_ai_react_toolkit_v3_PromptCarousel.AnimationSpeed.NONE : titledPromptCarouselWidgetConfig?.animationSpeed;
39
39
  const { trackEvent } = (0, __envive_ai_react_hooks_contexts_amplitudeContext.useAmplitude)();
40
40
  (0, react.useEffect)(() => {
41
41
  trackEvent({
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime17 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts
4
4
  interface TitledPromptCarouselWidgetProps {
@@ -7,7 +7,7 @@ interface TitledPromptCarouselWidgetProps {
7
7
  declare const TitledPromptCarouselWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: TitledPromptCarouselWidgetProps): react_jsx_runtime17.JSX.Element;
10
+ }: TitledPromptCarouselWidgetProps): react_jsx_runtime2.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime5 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts
4
4
  interface TitledPromptCarouselWidgetProps {
@@ -7,7 +7,7 @@ interface TitledPromptCarouselWidgetProps {
7
7
  declare const TitledPromptCarouselWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: TitledPromptCarouselWidgetProps): react_jsx_runtime5.JSX.Element;
10
+ }: TitledPromptCarouselWidgetProps): react_jsx_runtime1.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -34,7 +34,7 @@ const TitledPromptCarouselWidgetHandler = (props) => {
34
34
  const boldFirstButton = titledPromptCarouselWidgetConfig?.boldFirstButton;
35
35
  const promptButtonType = titledPromptCarouselWidgetConfig?.promptButtonType;
36
36
  const promptCarouselRows = titledPromptCarouselWidgetConfig?.promptCarouselRows;
37
- const animationSpeed = isLoading ? AnimationSpeed.FAST : titledPromptCarouselWidgetConfig?.animationSpeed;
37
+ const animationSpeed = isLoading ? AnimationSpeed.NONE : titledPromptCarouselWidgetConfig?.animationSpeed;
38
38
  const { trackEvent } = useAmplitude();
39
39
  useEffect(() => {
40
40
  trackEvent({
@@ -11,21 +11,21 @@ let __envive_ai_react_toolkit_v3_ChatPreviewLoading = require("@envive-ai/react-
11
11
  //#region src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.tsx
12
12
  const TypingAnimationFlowWidget = ({ widgetConfigId }) => {
13
13
  const { userHasInteractedValue, userHasNotInteractedValue, isLoadingValue, isProductComparisonValue } = require_useGetWidgetStatus.default();
14
- if (userHasInteractedValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewWidget.ChatPreviewWidgetWithBaseWidget, {
14
+ if (userHasInteractedValue && isLoadingValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewLoadingWidget.ChatPreviewLoadingWidgetWithBaseWidget, {
15
15
  widgetConfigId,
16
- widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewV3
16
+ widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewLoadingV3
17
17
  });
18
- if (userHasNotInteractedValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TypingAnimationWidget.TypingAnimationWithBaseWidget, {
18
+ if (userHasInteractedValue && isProductComparisonValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewComparisonWidget.ChatPreviewComparisonWidgetWithBaseWidget, {
19
19
  widgetConfigId,
20
- widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.TypingAnimationV3
20
+ widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewComparisonV3
21
21
  });
22
- if (isLoadingValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewLoadingWidget.ChatPreviewLoadingWidgetWithBaseWidget, {
22
+ if (userHasInteractedValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewWidget.ChatPreviewWidgetWithBaseWidget, {
23
23
  widgetConfigId,
24
- widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewLoadingV3
24
+ widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewV3
25
25
  });
26
- if (isProductComparisonValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatPreviewComparisonWidget.ChatPreviewComparisonWidgetWithBaseWidget, {
26
+ if (userHasNotInteractedValue) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TypingAnimationWidget.TypingAnimationWithBaseWidget, {
27
27
  widgetConfigId,
28
- widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.ChatPreviewComparisonV3
28
+ widgetType: __envive_ai_react_hooks_contexts_typesV3.WidgetTypeV3.TypingAnimationV3
29
29
  });
30
30
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__envive_ai_react_toolkit_v3_ChatPreviewLoading.ChatPreviewLoading, { fullIsLoading: true });
31
31
  };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts
4
4
  interface TypingAnimationFlowWidgetProps {
@@ -7,7 +7,7 @@ interface TypingAnimationFlowWidgetProps {
7
7
  declare const TypingAnimationFlowWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: TypingAnimationFlowWidgetProps): react_jsx_runtime6.JSX.Element;
10
+ }: TypingAnimationFlowWidgetProps): react_jsx_runtime1.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime4 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime10 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts
4
4
  interface TypingAnimationFlowWidgetProps {
@@ -7,7 +7,7 @@ interface TypingAnimationFlowWidgetProps {
7
7
  declare const TypingAnimationFlowWidget: {
8
8
  ({
9
9
  widgetConfigId
10
- }: TypingAnimationFlowWidgetProps): react_jsx_runtime4.JSX.Element;
10
+ }: TypingAnimationFlowWidgetProps): react_jsx_runtime10.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion