@envive-ai/react-widgets-v3 0.3.37 → 0.3.39

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 (80) hide show
  1. package/dist/CXIntegration/hooks/useUnifiedCXButton.cjs +1 -1
  2. package/dist/CXIntegration/hooks/useUnifiedCXButton.js +1 -1
  3. package/dist/CXIntegration/implementations/useTalkdeskUnifiedCXButton.cjs +12 -6
  4. package/dist/CXIntegration/implementations/useTalkdeskUnifiedCXButton.js +12 -6
  5. package/dist/debug/MessageContent.cjs +1 -1
  6. package/dist/debug/MessageContent.js +1 -1
  7. package/dist/debug/chatEmbed.cjs +3 -3
  8. package/dist/debug/chatEmbed.js +2 -2
  9. package/dist/debug/reportIssue.cjs +2 -2
  10. package/dist/debug/reportIssue.js +2 -2
  11. package/dist/hocs/withBaseWidget/types.d.ts +1 -1
  12. package/dist/hocs/withBaseWidget/withBaseWidget.cjs +1 -1
  13. package/dist/hocs/withBaseWidget/withBaseWidget.d.cts +2 -2
  14. package/dist/hocs/withBaseWidget/withBaseWidget.d.ts +2 -2
  15. package/dist/hocs/withBaseWidget/withBaseWidget.js +1 -1
  16. package/dist/packages/widgets/dist/SearchResults/SearchResults.d.ts +2 -2
  17. package/dist/packages/widgets/dist/SuggestionBar/SuggestionBar.d.ts +2 -2
  18. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.cjs +3 -3
  19. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.cts +3 -3
  20. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.ts +3 -3
  21. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.js +3 -3
  22. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.cjs +1 -1
  23. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.cts +3 -3
  24. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.ts +3 -3
  25. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.js +1 -1
  26. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.cjs +3 -3
  27. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.cts +3 -3
  28. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.ts +3 -3
  29. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.js +3 -3
  30. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.cjs +4 -4
  31. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.cts +2 -2
  32. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.ts +2 -2
  33. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.js +4 -4
  34. package/dist/widgets/FloatingChatWidget/hooks/useAutoPopup.cjs +1 -1
  35. package/dist/widgets/FloatingChatWidget/hooks/useAutoPopup.js +1 -1
  36. package/dist/widgets/FloatingChatWidget/hooks/useFloatingButtonVisibility.cjs +1 -1
  37. package/dist/widgets/FloatingChatWidget/hooks/useFloatingButtonVisibility.js +1 -1
  38. package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.cjs +1 -1
  39. package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.cts +2 -2
  40. package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.ts +2 -2
  41. package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.js +1 -1
  42. package/dist/widgets/ProductCardWidget/ProductCardWidget.cjs +3 -3
  43. package/dist/widgets/ProductCardWidget/ProductCardWidget.d.cts +2 -2
  44. package/dist/widgets/ProductCardWidget/ProductCardWidget.d.ts +2 -2
  45. package/dist/widgets/ProductCardWidget/ProductCardWidget.js +3 -3
  46. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.cjs +3 -3
  47. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.cts +3 -3
  48. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts +3 -3
  49. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.js +3 -3
  50. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.cjs +5 -5
  51. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.cts +2 -2
  52. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts +2 -2
  53. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.js +5 -5
  54. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.cjs +2 -2
  55. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.cts +2 -2
  56. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts +2 -2
  57. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.js +2 -2
  58. package/dist/widgets/SocialProofWidget/SocialProofWidget.cjs +3 -3
  59. package/dist/widgets/SocialProofWidget/SocialProofWidget.d.cts +3 -3
  60. package/dist/widgets/SocialProofWidget/SocialProofWidget.d.ts +3 -3
  61. package/dist/widgets/SocialProofWidget/SocialProofWidget.js +3 -3
  62. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.cjs +3 -3
  63. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.cts +2 -2
  64. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts +2 -2
  65. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.js +3 -3
  66. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.cjs +2 -2
  67. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.cts +2 -2
  68. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts +2 -2
  69. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.js +2 -2
  70. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.cjs +3 -3
  71. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.cts +3 -3
  72. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts +3 -3
  73. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.js +3 -3
  74. package/dist/widgets/dist/SearchResults/SearchResults.d.cts +2 -2
  75. package/dist/widgets/dist/SuggestionBar/SuggestionBar.d.cts +2 -2
  76. package/dist/widgets/hooks/useGetWidgetStatus.cjs +1 -1
  77. package/dist/widgets/hooks/useGetWidgetStatus.js +1 -1
  78. package/package.json +1 -1
  79. package/src/CXIntegration/implementations/useTalkdeskUnifiedCXButton.ts +12 -5
  80. package/src/widgets/PromptCarouselWidget/PromptCarouselWidget.tsx +7 -1
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 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_runtime1.JSX.Element;
10
+ }: TypingAnimationFlowWidgetProps): react_jsx_runtime0.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime9 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_runtime9.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,10 +1,10 @@
1
1
  import { ChatPreviewLoadingWidgetWithBaseWidget } from "../ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.js";
2
2
  import { ChatPreviewComparisonWidgetWithBaseWidget } from "../ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.js";
3
- import { ChatPreviewWidgetWithBaseWidget } from "../ChatPreviewWidget/ChatPreviewWidget.js";
4
3
  import useGetWidgetStatus_default from "../hooks/useGetWidgetStatus.js";
4
+ import { ChatPreviewWidgetWithBaseWidget } from "../ChatPreviewWidget/ChatPreviewWidget.js";
5
5
  import { TypingAnimationWithBaseWidget } from "../TypingAnimationWidget/TypingAnimationWidget.js";
6
- import { jsx } from "react/jsx-runtime";
7
6
  import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
7
+ import { jsx } from "react/jsx-runtime";
8
8
  import { ChatPreviewLoading } from "@envive-ai/react-toolkit-v3/ChatPreviewLoading";
9
9
 
10
10
  //#region src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.tsx
@@ -2,17 +2,17 @@ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_withBaseWidget = require('../../hocs/withBaseWidget/withBaseWidget.cjs');
3
3
  require('../../hocs/withBaseWidget/index.cjs');
4
4
  const require_functions = require('../utils/functions.cjs');
5
- let react = require("react");
6
- let __envive_ai_react_hooks_contexts_amplitudeContext = require("@envive-ai/react-hooks/contexts/amplitudeContext");
7
- let react_jsx_runtime = require("react/jsx-runtime");
8
5
  let __envive_ai_react_hooks_contexts_salesAgentContext = require("@envive-ai/react-hooks/contexts/salesAgentContext");
9
6
  let __envive_ai_react_hooks_contexts_typesV3 = require("@envive-ai/react-hooks/contexts/typesV3");
10
7
  let __envive_ai_react_hooks_hooks_ChatToggle = require("@envive-ai/react-hooks/hooks/ChatToggle");
11
8
  let __envive_ai_react_hooks_contexts_featureFlagServiceContext = require("@envive-ai/react-hooks/contexts/featureFlagServiceContext");
12
9
  let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
10
+ let __envive_ai_react_hooks_contexts_amplitudeContext = require("@envive-ai/react-hooks/contexts/amplitudeContext");
13
11
  let __envive_ai_react_hooks_hooks_WidgetInteraction = require("@envive-ai/react-hooks/hooks/WidgetInteraction");
14
12
  let __envive_ai_react_hooks_hooks_WidgetInteraction_types = require("@envive-ai/react-hooks/hooks/WidgetInteraction/types");
15
13
  let __envive_ai_react_toolkit_v3_PromptCarousel = require("@envive-ai/react-toolkit-v3/PromptCarousel");
14
+ let react = require("react");
15
+ let react_jsx_runtime = require("react/jsx-runtime");
16
16
  let __envive_ai_react_toolkit_v3_PromptButton_types = require("@envive-ai/react-toolkit-v3/PromptButton/types");
17
17
  let __envive_ai_react_toolkit_v3_TypingAnimation = require("@envive-ai/react-toolkit-v3/TypingAnimation");
18
18
  let __envive_ai_react_toolkit_v3_WidgetWrapper = require("@envive-ai/react-toolkit-v3/WidgetWrapper");
@@ -1,9 +1,9 @@
1
1
  import { BaseWidgetProps } from "../../hocs/withBaseWidget/types.cjs";
2
- import * as react_jsx_runtime2 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime12 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts
5
5
  declare const TypingAnimationWithBaseWidget: {
6
- (props: BaseWidgetProps): react_jsx_runtime2.JSX.Element;
6
+ (props: BaseWidgetProps): react_jsx_runtime12.JSX.Element;
7
7
  displayName: string;
8
8
  };
9
9
  interface TypingAnimationWidgetProps {
@@ -12,7 +12,7 @@ interface TypingAnimationWidgetProps {
12
12
  declare const TypingAnimationWidget: {
13
13
  ({
14
14
  widgetConfigId
15
- }: TypingAnimationWidgetProps): react_jsx_runtime2.JSX.Element;
15
+ }: TypingAnimationWidgetProps): react_jsx_runtime12.JSX.Element;
16
16
  displayName: string;
17
17
  };
18
18
  //#endregion
@@ -1,9 +1,9 @@
1
1
  import { BaseWidgetProps } from "../../hocs/withBaseWidget/types.js";
2
- import * as react_jsx_runtime4 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts
5
5
  declare const TypingAnimationWithBaseWidget: {
6
- (props: BaseWidgetProps): react_jsx_runtime4.JSX.Element;
6
+ (props: BaseWidgetProps): react_jsx_runtime2.JSX.Element;
7
7
  displayName: string;
8
8
  };
9
9
  interface TypingAnimationWidgetProps {
@@ -12,7 +12,7 @@ interface TypingAnimationWidgetProps {
12
12
  declare const TypingAnimationWidget: {
13
13
  ({
14
14
  widgetConfigId
15
- }: TypingAnimationWidgetProps): react_jsx_runtime4.JSX.Element;
15
+ }: TypingAnimationWidgetProps): react_jsx_runtime2.JSX.Element;
16
16
  displayName: string;
17
17
  };
18
18
  //#endregion
@@ -1,17 +1,17 @@
1
1
  import { withBaseWidget } from "../../hocs/withBaseWidget/withBaseWidget.js";
2
2
  import "../../hocs/withBaseWidget/index.js";
3
3
  import { getStringIdForText } from "../utils/functions.js";
4
- import { useCallback } from "react";
5
- import { EnviveMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
6
- import { jsx } from "react/jsx-runtime";
7
4
  import { useSalesAgent } from "@envive-ai/react-hooks/contexts/salesAgentContext";
8
5
  import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
9
6
  import { useChatToggle } from "@envive-ai/react-hooks/hooks/ChatToggle";
10
7
  import { useFeatureFlagService } from "@envive-ai/react-hooks/contexts/featureFlagServiceContext";
11
8
  import { ChatElementDisplayLocationV3, FeatureGates } from "@envive-ai/react-hooks/application/models";
9
+ import { EnviveMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
12
10
  import { useWidgetInteraction } from "@envive-ai/react-hooks/hooks/WidgetInteraction";
13
11
  import { WidgetInteractionComponent, WidgetInteractionType } from "@envive-ai/react-hooks/hooks/WidgetInteraction/types";
14
12
  import { PromptCarouselRows, usePromptCarouselAnalytics } from "@envive-ai/react-toolkit-v3/PromptCarousel";
13
+ import { useCallback } from "react";
14
+ import { jsx } from "react/jsx-runtime";
15
15
  import { PromptButtonVariant } from "@envive-ai/react-toolkit-v3/PromptButton/types";
16
16
  import { TypingAnimation } from "@envive-ai/react-toolkit-v3/TypingAnimation";
17
17
  import { WidgetWrapperVariant } from "@envive-ai/react-toolkit-v3/WidgetWrapper";
@@ -1,5 +1,5 @@
1
1
  import { SearchResultsEntryPointWidgetConfig } from "./types.cjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
3
3
  import { SearchResultsHocProps } from "@envive-ai/react-hooks/hooks/Search";
4
4
 
5
5
  //#region ../widgets/dist/SearchResults/SearchResults.d.ts
@@ -7,7 +7,7 @@ import { SearchResultsHocProps } from "@envive-ai/react-hooks/hooks/Search";
7
7
  interface SearchResultsProps extends SearchResultsHocProps {
8
8
  widgetConfig: SearchResultsEntryPointWidgetConfig;
9
9
  }
10
- declare const SearchResults: (props: Omit<SearchResultsProps, string | number | symbol>) => react_jsx_runtime0.JSX.Element;
10
+ declare const SearchResults: (props: Omit<SearchResultsProps, string | number | symbol>) => react_jsx_runtime1.JSX.Element;
11
11
  //#endregion
12
12
 
13
13
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { SuggestionBarLocationForMetrics } from "./types.cjs";
2
- import * as react_jsx_runtime2 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { SuggestionButtonVariant } from "@envive-ai/react-hooks/contexts/types";
4
4
  import { Message } from "postcss";
5
5
 
@@ -30,7 +30,7 @@ declare function SuggestionBar({
30
30
  buttonBorderRadius,
31
31
  handleReply,
32
32
  dataTestId
33
- }: Readonly<SuggestionBarProps>): react_jsx_runtime2.JSX.Element;
33
+ }: Readonly<SuggestionBarProps>): react_jsx_runtime0.JSX.Element;
34
34
  //#endregion
35
35
  //#endregion
36
36
  export { SuggestionBar };
@@ -1,8 +1,8 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_functions = require('../utils/functions.cjs');
3
- let react = require("react");
4
3
  let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
5
4
  let jotai = require("jotai");
5
+ let react = require("react");
6
6
  let __envive_ai_react_hooks_atoms_chat_chatState = require("@envive-ai/react-hooks/atoms/chat/chatState");
7
7
 
8
8
  //#region src/widgets/hooks/useGetWidgetStatus.tsx
@@ -1,7 +1,7 @@
1
1
  import { isLoading, isProductComparison, userHasInteracted, userHasNotInteracted } from "../utils/functions.js";
2
- import { useMemo } from "react";
3
2
  import { chatAtom, lastAssistantMessageAtom } from "@envive-ai/react-hooks/atoms/chat";
4
3
  import { useAtomValue } from "jotai";
4
+ import { useMemo } from "react";
5
5
  import { responseStreamingAtom } from "@envive-ai/react-hooks/atoms/chat/chatState";
6
6
 
7
7
  //#region src/widgets/hooks/useGetWidgetStatus.tsx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envive-ai/react-widgets-v3",
3
- "version": "0.3.37",
3
+ "version": "0.3.39",
4
4
  "description": "React widget library v3 for Envive services.",
5
5
  "keywords": [
6
6
  "react",
@@ -7,6 +7,7 @@ interface UseTalkdeskUnifiedCXButtonProps extends CustomerServiceImplProps {}
7
7
 
8
8
  export const useTalkdeskUnifiedCXButton = ({
9
9
  onSwitchToAgent,
10
+ onCXClose,
10
11
  suppressMerchantButton,
11
12
  }: UseTalkdeskUnifiedCXButtonProps): UnifiedCXButton => {
12
13
  const talkdeskButton = useElementObserver(SelectorFactory.id('talkdesk-chat-widget-trigger'));
@@ -62,25 +63,31 @@ export const useTalkdeskUnifiedCXButton = ({
62
63
 
63
64
  // Track widget visibility changes
64
65
  talkdeskWidget.onChange(el => {
65
- if (el && suppressMerchantButton) {
66
+ if (el) {
66
67
  const ariaHidden = el.getAttribute('aria-hidden');
67
68
 
68
69
  // Widget is open (aria-hidden="false")
69
70
  if (ariaHidden === 'false') {
70
- talkdeskButton.show();
71
- enviveFloatingButton.hide();
71
+ if (suppressMerchantButton) {
72
+ talkdeskButton.show();
73
+ enviveFloatingButton.hide();
74
+ }
72
75
  }
73
76
 
74
77
  // Widget is closed (aria-hidden="true")
75
78
  if (ariaHidden === 'true') {
76
- talkdeskButton.hide();
77
- enviveFloatingButton.show();
79
+ onCXClose?.();
80
+ if (suppressMerchantButton) {
81
+ talkdeskButton.hide();
82
+ enviveFloatingButton.show();
83
+ }
78
84
  }
79
85
  }
80
86
  });
81
87
 
82
88
  // Cleanup when container is removed
83
89
  talkdeskContainer.onRemove(() => {
90
+ onCXClose?.();
84
91
  if (suppressMerchantButton) {
85
92
  talkdeskButton.hide();
86
93
  enviveFloatingButton.show();
@@ -49,7 +49,13 @@ const PromptCarouselWidgetHandler = (props: BaseWidgetProps) => {
49
49
  return getStringIdForText(rawValues, text);
50
50
  });
51
51
 
52
- const promptButtonTexts = (hardcopyContent?.values?.promptButtonTexts as string[]) || [];
52
+ // The hardcopy handler automatically transforms single array values into scalar form
53
+ // This will ensure that we always have an array of values for the widget to render
54
+ const rawPromptButtonTexts = hardcopyContent?.values?.promptButtonTexts || [];
55
+ const promptButtonTexts = Array.isArray(rawPromptButtonTexts)
56
+ ? rawPromptButtonTexts
57
+ : [rawPromptButtonTexts];
58
+
53
59
  const buttonTexts = isLoading ? mockButtonTexts : promptButtonTexts;
54
60
 
55
61
  const promptCarouselWidgetConfig = widgetConfig as PromptCarouselWidgetV3Config;