@envive-ai/react-widgets-v3 0.3.15-alpha.1 → 0.3.15-alpha.2

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 (246) hide show
  1. package/dist/hocs/withBaseWidget/types.d.cts +5 -6
  2. package/dist/hocs/withBaseWidget/types.d.ts +5 -7
  3. package/dist/hocs/withBaseWidget/withBaseWidget.cjs +37 -43
  4. package/dist/hocs/withBaseWidget/withBaseWidget.d.cts +2 -2
  5. package/dist/hocs/withBaseWidget/withBaseWidget.d.ts +2 -2
  6. package/dist/hocs/withBaseWidget/withBaseWidget.js +39 -45
  7. package/dist/packages/hooks/dist/application/models/api/orgConfigResults.d.ts +2 -1
  8. package/dist/packages/hooks/dist/application/models/api/userEvent.d.ts +1 -0
  9. package/dist/packages/hooks/dist/contexts/hardcopyContext/hardcopyContext.d.ts +1 -0
  10. package/dist/packages/hooks/dist/contexts/types.d.ts +3 -1
  11. package/dist/packages/hooks/dist/contexts/typesV3.d.ts +1 -1
  12. package/dist/packages/hooks/dist/types/custservice-types.d.ts +1 -0
  13. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/variantInfo/pageVisitInfo.d.ts +1 -0
  14. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/variantInfo/variantInfo.d.ts +2 -1
  15. package/dist/packages/widgets/dist/packages/hooks/dist/contexts/types.d.ts +1 -0
  16. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.cjs +3 -3
  17. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.cts +3 -3
  18. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.ts +3 -3
  19. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.js +3 -3
  20. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.cts +3 -3
  21. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.ts +3 -3
  22. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.cjs +2 -11
  23. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.cts +3 -3
  24. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.ts +3 -3
  25. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.js +4 -13
  26. package/dist/widgets/FloatingChatWidget/FloatingChatOverlay.cjs +44 -21
  27. package/dist/widgets/FloatingChatWidget/FloatingChatOverlay.js +44 -21
  28. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.cjs +34 -34
  29. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.cts +3 -1
  30. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.ts +5 -3
  31. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.js +35 -35
  32. package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.cts +2 -2
  33. package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.ts +2 -2
  34. package/dist/widgets/ProductCardWidget/ProductCardWidget.cjs +1 -11
  35. package/dist/widgets/ProductCardWidget/ProductCardWidget.d.cts +2 -2
  36. package/dist/widgets/ProductCardWidget/ProductCardWidget.d.ts +2 -2
  37. package/dist/widgets/ProductCardWidget/ProductCardWidget.js +3 -13
  38. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.cjs +2 -11
  39. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.cts +3 -3
  40. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts +3 -3
  41. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.js +4 -13
  42. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.cjs +1 -10
  43. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.cts +2 -2
  44. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts +2 -2
  45. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.js +3 -12
  46. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.cjs +1 -1
  47. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.cts +2 -2
  48. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts +2 -2
  49. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.js +1 -1
  50. package/dist/widgets/SocialProofWidget/SocialProofWidget.cjs +2 -11
  51. package/dist/widgets/SocialProofWidget/SocialProofWidget.d.cts +3 -3
  52. package/dist/widgets/SocialProofWidget/SocialProofWidget.d.ts +3 -3
  53. package/dist/widgets/SocialProofWidget/SocialProofWidget.js +4 -13
  54. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.cjs +0 -9
  55. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.cts +2 -2
  56. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts +2 -2
  57. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.js +2 -11
  58. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.cjs +1 -1
  59. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.cts +2 -2
  60. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts +2 -2
  61. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.js +1 -1
  62. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.cjs +1 -10
  63. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.cts +3 -3
  64. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts +3 -3
  65. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.js +3 -12
  66. package/package.json +1 -1
  67. package/dist/hooks/dist/services/amplitudeService/eventNames.d.cts +0 -43
  68. package/dist/packages/hooks/dist/contexts/amplitudeContext/amplitudeContext.d.ts +0 -2
  69. package/dist/packages/hooks/dist/contexts/amplitudeContext/index.d.ts +0 -2
  70. package/dist/packages/hooks/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +0 -2
  71. package/dist/packages/hooks/dist/services/amplitudeService/amplitudeService.d.ts +0 -1
  72. package/dist/packages/hooks/dist/services/amplitudeService/eventNames.d.ts +0 -43
  73. package/dist/src/CXIntegration/hooks/useUnifiedCXButton.d.ts +0 -10
  74. package/dist/src/CXIntegration/hooks/useUnifiedCXButton.js +0 -29
  75. package/dist/src/CXIntegration/implementations/useDefaultUnifiedCXButton.d.ts +0 -2
  76. package/dist/src/CXIntegration/implementations/useDefaultUnifiedCXButton.js +0 -6
  77. package/dist/src/CXIntegration/implementations/useEightByEightUnifiedCXButton.d.ts +0 -5
  78. package/dist/src/CXIntegration/implementations/useEightByEightUnifiedCXButton.js +0 -63
  79. package/dist/src/CXIntegration/implementations/useGladlyUnifiedCXButton.d.ts +0 -5
  80. package/dist/src/CXIntegration/implementations/useGladlyUnifiedCXButton.js +0 -23
  81. package/dist/src/CXIntegration/implementations/useGorgiasUnifiedCXButton.d.ts +0 -5
  82. package/dist/src/CXIntegration/implementations/useGorgiasUnifiedCXButton.js +0 -54
  83. package/dist/src/CXIntegration/implementations/useGrooveUnifiedCXButton.d.ts +0 -18
  84. package/dist/src/CXIntegration/implementations/useGrooveUnifiedCXButton.js +0 -48
  85. package/dist/src/CXIntegration/implementations/useHelpScoutUnifiedCXButton.d.ts +0 -5
  86. package/dist/src/CXIntegration/implementations/useHelpScoutUnifiedCXButton.js +0 -84
  87. package/dist/src/CXIntegration/implementations/useKustomerUnifiedCXButton.d.ts +0 -5
  88. package/dist/src/CXIntegration/implementations/useKustomerUnifiedCXButton.js +0 -86
  89. package/dist/src/CXIntegration/implementations/useReDoUnifiedCXButton.d.ts +0 -5
  90. package/dist/src/CXIntegration/implementations/useReDoUnifiedCXButton.js +0 -59
  91. package/dist/src/CXIntegration/implementations/useRichpanelUnifiedCXButton.d.ts +0 -5
  92. package/dist/src/CXIntegration/implementations/useRichpanelUnifiedCXButton.js +0 -62
  93. package/dist/src/CXIntegration/implementations/useShopifyChatUnifiedCXButton.d.ts +0 -5
  94. package/dist/src/CXIntegration/implementations/useShopifyChatUnifiedCXButton.js +0 -49
  95. package/dist/src/CXIntegration/implementations/useTalkdeskUnifiedCXButton.d.ts +0 -5
  96. package/dist/src/CXIntegration/implementations/useTalkdeskUnifiedCXButton.js +0 -77
  97. package/dist/src/CXIntegration/implementations/useTidioUnifiedCXButton.d.ts +0 -13
  98. package/dist/src/CXIntegration/implementations/useTidioUnifiedCXButton.js +0 -20
  99. package/dist/src/CXIntegration/implementations/useZendeskUnifiedCXButton.d.ts +0 -5
  100. package/dist/src/CXIntegration/implementations/useZendeskUnifiedCXButton.js +0 -55
  101. package/dist/src/CXIntegration/implementations/useZowieUnifiedCXButton.d.ts +0 -13
  102. package/dist/src/CXIntegration/implementations/useZowieUnifiedCXButton.js +0 -20
  103. package/dist/src/CXIntegration/types.d.ts +0 -26
  104. package/dist/src/CXIntegration/types.js +0 -17
  105. package/dist/src/CXIntegration/utils/functions.d.ts +0 -2
  106. package/dist/src/CXIntegration/utils/functions.js +0 -57
  107. package/dist/src/debug/GenericSelect.d.ts +0 -11
  108. package/dist/src/debug/GenericSelect.js +0 -151
  109. package/dist/src/debug/MessageContent.d.ts +0 -4
  110. package/dist/src/debug/MessageContent.js +0 -87
  111. package/dist/src/debug/chatEmbed.d.ts +0 -2
  112. package/dist/src/debug/chatEmbed.js +0 -58
  113. package/dist/src/debug/debugBar.d.ts +0 -1
  114. package/dist/src/debug/debugBar.js +0 -9
  115. package/dist/src/debug/reportIssue.d.ts +0 -1
  116. package/dist/src/debug/reportIssue.js +0 -322
  117. package/dist/src/hocs/withBaseWidget/__tests__/withBaseWidget.test.d.ts +0 -1
  118. package/dist/src/hocs/withBaseWidget/__tests__/withBaseWidget.test.js +0 -452
  119. package/dist/src/hocs/withBaseWidget/index.d.ts +0 -2
  120. package/dist/src/hocs/withBaseWidget/index.js +0 -1
  121. package/dist/src/hocs/withBaseWidget/types.d.ts +0 -33
  122. package/dist/src/hocs/withBaseWidget/types.js +0 -0
  123. package/dist/src/hocs/withBaseWidget/withBaseWidget.d.ts +0 -5
  124. package/dist/src/hocs/withBaseWidget/withBaseWidget.js +0 -80
  125. package/dist/src/stories/FloatingChatWidget.stories.d.ts +0 -25
  126. package/dist/src/stories/FloatingChatWidget.stories.js +0 -44
  127. package/dist/src/stories/FullPageSalesAgentWidget.stories.d.ts +0 -31
  128. package/dist/src/stories/FullPageSalesAgentWidget.stories.js +0 -51
  129. package/dist/src/stories/ProductCardWidget.stories.d.ts +0 -31
  130. package/dist/src/stories/ProductCardWidget.stories.js +0 -44
  131. package/dist/src/stories/PromptButtonCarouselWithImageWidget.stories.d.ts +0 -31
  132. package/dist/src/stories/PromptButtonCarouselWithImageWidget.stories.js +0 -40
  133. package/dist/src/stories/PromptCarouselWidget.stories.d.ts +0 -31
  134. package/dist/src/stories/PromptCarouselWidget.stories.js +0 -40
  135. package/dist/src/stories/SalesAgentTest/SalesAgentTest.d.ts +0 -1
  136. package/dist/src/stories/SalesAgentTest/SalesAgentTest.js +0 -40
  137. package/dist/src/stories/SalesAgentTest/SalesAgentTest.stories.d.ts +0 -12
  138. package/dist/src/stories/SalesAgentTest/SalesAgentTest.stories.js +0 -12
  139. package/dist/src/stories/SalesAgentTest/index.d.ts +0 -0
  140. package/dist/src/stories/SalesAgentTest/index.js +0 -0
  141. package/dist/src/stories/SearchResults.stories.d.ts +0 -6
  142. package/dist/src/stories/SearchResults.stories.js +0 -23
  143. package/dist/src/stories/SearchZeroState.stories.d.ts +0 -38
  144. package/dist/src/stories/SearchZeroState.stories.js +0 -42
  145. package/dist/src/stories/SocialProofFlowWidget.stories.d.ts +0 -35
  146. package/dist/src/stories/SocialProofFlowWidget.stories.js +0 -60
  147. package/dist/src/stories/SuggestionBar.stories.d.ts +0 -7
  148. package/dist/src/stories/SuggestionBar.stories.js +0 -36
  149. package/dist/src/stories/TitledPromptCarouselWidget.stories.d.ts +0 -32
  150. package/dist/src/stories/TitledPromptCarouselWidget.stories.js +0 -55
  151. package/dist/src/stories/TypingAnimationFlowWidget.stories.d.ts +0 -34
  152. package/dist/src/stories/TypingAnimationFlowWidget.stories.js +0 -51
  153. package/dist/src/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.ts +0 -12
  154. package/dist/src/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.js +0 -112
  155. package/dist/src/widgets/ChatPreviewComparisonWidget/index.d.ts +0 -3
  156. package/dist/src/widgets/ChatPreviewComparisonWidget/index.js +0 -2
  157. package/dist/src/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.ts +0 -9
  158. package/dist/src/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.js +0 -34
  159. package/dist/src/widgets/ChatPreviewLoadingWidget/index.d.ts +0 -3
  160. package/dist/src/widgets/ChatPreviewLoadingWidget/index.js +0 -2
  161. package/dist/src/widgets/ChatPreviewWidget/ChatPreviewWidget.d.ts +0 -12
  162. package/dist/src/widgets/ChatPreviewWidget/ChatPreviewWidget.js +0 -111
  163. package/dist/src/widgets/ChatPreviewWidget/__tests__/ChatPreviewWidget.test.d.ts +0 -1
  164. package/dist/src/widgets/ChatPreviewWidget/__tests__/ChatPreviewWidget.test.js +0 -97
  165. package/dist/src/widgets/ChatPreviewWidget/index.d.ts +0 -3
  166. package/dist/src/widgets/ChatPreviewWidget/index.js +0 -2
  167. package/dist/src/widgets/FloatingChatWidget/FloatingChatOverlay.d.ts +0 -14
  168. package/dist/src/widgets/FloatingChatWidget/FloatingChatOverlay.js +0 -44
  169. package/dist/src/widgets/FloatingChatWidget/FloatingChatWidget.d.ts +0 -8
  170. package/dist/src/widgets/FloatingChatWidget/FloatingChatWidget.js +0 -134
  171. package/dist/src/widgets/FloatingChatWidget/__tests__/FloatingChatWidget.test.d.ts +0 -1
  172. package/dist/src/widgets/FloatingChatWidget/__tests__/FloatingChatWidget.test.js +0 -100
  173. package/dist/src/widgets/FloatingChatWidget/constants.d.ts +0 -1
  174. package/dist/src/widgets/FloatingChatWidget/constants.js +0 -1
  175. package/dist/src/widgets/FloatingChatWidget/hooks/useAutoPopup.d.ts +0 -4
  176. package/dist/src/widgets/FloatingChatWidget/hooks/useAutoPopup.js +0 -51
  177. package/dist/src/widgets/FloatingChatWidget/hooks/useFloatingButtonVisibility.d.ts +0 -11
  178. package/dist/src/widgets/FloatingChatWidget/hooks/useFloatingButtonVisibility.js +0 -21
  179. package/dist/src/widgets/FloatingChatWidget/index.d.ts +0 -4
  180. package/dist/src/widgets/FloatingChatWidget/index.js +0 -3
  181. package/dist/src/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.ts +0 -12
  182. package/dist/src/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.js +0 -14
  183. package/dist/src/widgets/FullPageSalesAgentWidget/index.d.ts +0 -1
  184. package/dist/src/widgets/FullPageSalesAgentWidget/index.js +0 -1
  185. package/dist/src/widgets/ProductCardWidget/ProductCardWidget.d.ts +0 -7
  186. package/dist/src/widgets/ProductCardWidget/ProductCardWidget.js +0 -94
  187. package/dist/src/widgets/ProductCardWidget/__tests__/ProductCardWidget.test.d.ts +0 -1
  188. package/dist/src/widgets/ProductCardWidget/__tests__/ProductCardWidget.test.js +0 -106
  189. package/dist/src/widgets/ProductCardWidget/index.d.ts +0 -2
  190. package/dist/src/widgets/ProductCardWidget/index.js +0 -1
  191. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts +0 -12
  192. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.js +0 -88
  193. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/__tests__/PromptButtonCarouselWithImageWidget.test.d.ts +0 -1
  194. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/__tests__/PromptButtonCarouselWithImageWidget.test.js +0 -132
  195. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/index.d.ts +0 -2
  196. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/index.js +0 -2
  197. package/dist/src/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts +0 -7
  198. package/dist/src/widgets/PromptCarouselWidget/PromptCarouselWidget.js +0 -74
  199. package/dist/src/widgets/PromptCarouselWidget/__tests__/PromptCarouselWidget.test.d.ts +0 -1
  200. package/dist/src/widgets/PromptCarouselWidget/__tests__/PromptCarouselWidget.test.js +0 -106
  201. package/dist/src/widgets/PromptCarouselWidget/index.d.ts +0 -2
  202. package/dist/src/widgets/PromptCarouselWidget/index.js +0 -1
  203. package/dist/src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts +0 -7
  204. package/dist/src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.js +0 -25
  205. package/dist/src/widgets/SocialProofFlowWidget/index.d.ts +0 -3
  206. package/dist/src/widgets/SocialProofFlowWidget/index.js +0 -2
  207. package/dist/src/widgets/SocialProofWidget/SocialProofWidget.d.ts +0 -12
  208. package/dist/src/widgets/SocialProofWidget/SocialProofWidget.js +0 -203
  209. package/dist/src/widgets/SocialProofWidget/__tests__/SocialProofWidget.test.d.ts +0 -1
  210. package/dist/src/widgets/SocialProofWidget/__tests__/SocialProofWidget.test.js +0 -135
  211. package/dist/src/widgets/SocialProofWidget/index.d.ts +0 -2
  212. package/dist/src/widgets/SocialProofWidget/index.js +0 -1
  213. package/dist/src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts +0 -7
  214. package/dist/src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.js +0 -75
  215. package/dist/src/widgets/TitledPromptCarouselWidget/__tests__/TitledPromptCarouselWidget.test.d.ts +0 -1
  216. package/dist/src/widgets/TitledPromptCarouselWidget/__tests__/TitledPromptCarouselWidget.test.js +0 -106
  217. package/dist/src/widgets/TitledPromptCarouselWidget/index.d.ts +0 -2
  218. package/dist/src/widgets/TitledPromptCarouselWidget/index.js +0 -1
  219. package/dist/src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts +0 -7
  220. package/dist/src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.js +0 -25
  221. package/dist/src/widgets/TypingAnimationFlowWidget/index.d.ts +0 -3
  222. package/dist/src/widgets/TypingAnimationFlowWidget/index.js +0 -2
  223. package/dist/src/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts +0 -12
  224. package/dist/src/widgets/TypingAnimationWidget/TypingAnimationWidget.js +0 -126
  225. package/dist/src/widgets/TypingAnimationWidget/__tests__/TypingAnimationWidget.test.d.ts +0 -1
  226. package/dist/src/widgets/TypingAnimationWidget/__tests__/TypingAnimationWidget.test.js +0 -118
  227. package/dist/src/widgets/TypingAnimationWidget/index.d.ts +0 -2
  228. package/dist/src/widgets/TypingAnimationWidget/index.js +0 -1
  229. package/dist/src/widgets/__tests__/testUtils.d.ts +0 -60
  230. package/dist/src/widgets/__tests__/testUtils.js +0 -46
  231. package/dist/src/widgets/__tests__/trackEventCanary.test.d.ts +0 -1
  232. package/dist/src/widgets/__tests__/trackEventCanary.test.js +0 -37
  233. package/dist/src/widgets/hooks/useGetWidgetStatus.d.ts +0 -7
  234. package/dist/src/widgets/hooks/useGetWidgetStatus.js +0 -17
  235. package/dist/src/widgets/utils/functions.d.ts +0 -16
  236. package/dist/src/widgets/utils/functions.js +0 -87
  237. package/dist/src/widgets-v2/SearchResults/index.d.ts +0 -2
  238. package/dist/src/widgets-v2/SearchResults/index.js +0 -2
  239. package/dist/src/widgets-v2/SearchZeroState/index.d.ts +0 -2
  240. package/dist/src/widgets-v2/SearchZeroState/index.js +0 -2
  241. package/dist/src/widgets-v2/SuggestionBar/index.d.ts +0 -2
  242. package/dist/src/widgets-v2/SuggestionBar/index.js +0 -2
  243. package/dist/src/widgets-v2/SuggestionButtonContainer/index.d.ts +0 -2
  244. package/dist/src/widgets-v2/SuggestionButtonContainer/index.js +0 -2
  245. package/dist/tsdown.config.d.ts +0 -2
  246. package/dist/tsdown.config.js +0 -12
@@ -1,44 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { AnimatePresence, motion } from 'framer-motion';
3
- import classNames from 'classnames';
4
- import { useCheckIsMobile } from '@envive-ai/react-toolkit-v3/utils/useCheckIsMobile';
5
- const ANIMATION_DURATION = 0.3;
6
- const useOverlayAnimations = ({ previewMode, isMobile, }) => {
7
- if (previewMode) {
8
- return {
9
- overlayExitAnimation: { opacity: 0, x: 0 },
10
- overlayAnimation: { opacity: 1, x: 0 },
11
- };
12
- }
13
- if (isMobile) {
14
- return {
15
- overlayExitAnimation: { opacity: 0 },
16
- overlayAnimation: { opacity: 1 },
17
- };
18
- }
19
- return {
20
- overlayExitAnimation: { opacity: 0, x: 512 },
21
- overlayAnimation: { opacity: 1, x: 0 },
22
- };
23
- };
24
- export const FloatingChatOverlay = ({ children, isOpened, onClose, className, dataTestId, previewMode = false, isResultsModalOpen = false, }) => {
25
- const { isMobile } = useCheckIsMobile();
26
- const { overlayExitAnimation, overlayAnimation } = useOverlayAnimations({
27
- previewMode,
28
- isMobile,
29
- });
30
- const overlayClasses = classNames(previewMode ? 'envive-tw-absolute' : 'envive-tw-fixed', 'envive-tw-top-0', 'envive-tw-left-0', previewMode ? 'envive-tw-h-full' : 'envive-tw-h-screen', 'envive-tw-w-full', 'envive-tw-z-[2147483647]', className);
31
- const backdropClasses = classNames('envive-tw-absolute', 'envive-tw-top-0', 'envive-tw-left-0', 'envive-tw-h-full', 'envive-tw-w-full', isMobile ? 'envive-tw-bg-black' : '', 'envive-tw-opacity-50', 'envive-tw-pointer-events-none', 'envive-tw-z-0');
32
- const overlayContentClasses = classNames('envive-tw-relative', 'envive-tw-flex', 'envive-tw-justify-end', 'envive-tw-items-stretch', 'envive-tw-h-full', 'envive-tw-w-full', 'envive-tw-pointer-events-auto', 'envive-tw-cursor-pointer', 'envive-tw-z-10');
33
- const chatWrapper = (_jsx(AnimatePresence, { children: isOpened && (_jsxs(motion.div, { className: overlayClasses, style: { top: '0px' }, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: ANIMATION_DURATION }, "data-testid": dataTestId, children: [!previewMode && (_jsx(motion.div, { className: backdropClasses, initial: { opacity: 0 }, animate: { opacity: 0.5 }, exit: { opacity: 0 }, transition: { duration: ANIMATION_DURATION }, "aria-label": "Close chat" })), _jsx("div", { className: overlayContentClasses, style: { top: '0px' }, onClick: onClose, onKeyDown: e => {
34
- if (e.key === 'Escape') {
35
- onClose();
36
- }
37
- }, role: "button", tabIndex: 0, "aria-label": "Close floating chat", children: _jsx(motion.div, { initial: overlayExitAnimation, animate: overlayAnimation, exit: overlayExitAnimation, transition: { duration: ANIMATION_DURATION }, style: {
38
- height: previewMode ? '100%' : '100dvh',
39
- cursor: 'default',
40
- margin: isResultsModalOpen ? '0 auto' : '0',
41
- }, className: "envive-tw-shadow-md", onClick: e => e.stopPropagation(), children: children }) })] }, "floating-chat-overlay")) }));
42
- return chatWrapper;
43
- };
44
- FloatingChatOverlay.displayName = 'FloatingChatOverlay';
@@ -1,8 +0,0 @@
1
- export interface FloatingChatWidgetProps {
2
- previewButtonOnly?: boolean;
3
- previewChatAlwaysOpen?: boolean;
4
- }
5
- export declare const FloatingChatWidget: {
6
- ({ previewButtonOnly, previewChatAlwaysOpen, }?: FloatingChatWidgetProps): import("react/jsx-runtime").JSX.Element;
7
- displayName: string;
8
- };
@@ -1,134 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChatElementDisplayLocationV3 } from '@envive-ai/react-hooks/application/models';
3
- import { EnviveMetricsEventName, SpiffyMetricsEventName, useAmplitude, } from '@envive-ai/react-hooks/contexts/amplitudeContext';
4
- import { useSalesAgent } from '@envive-ai/react-hooks/contexts/salesAgentContext';
5
- import { WidgetTypeV3, } from '@envive-ai/react-hooks/contexts/typesV3';
6
- import { useChatToggle } from '@envive-ai/react-hooks/hooks/ChatToggle';
7
- import { useWidgetInteraction } from '@envive-ai/react-hooks/hooks/WidgetInteraction';
8
- import { WidgetInteractionComponent, WidgetInteractionType, } from '@envive-ai/react-hooks/hooks/WidgetInteraction/types';
9
- import { FloatingButton, } from '@envive-ai/react-toolkit-v3/FloatingButton';
10
- import { Theme } from '@envive-ai/react-toolkit-v3/Tokens';
11
- import { Suspense, lazy, useEffect, useMemo, useRef, useState } from 'react';
12
- import { DebugBar } from 'src/debug/debugBar';
13
- import { useUnifiedCXButton } from '../../CXIntegration/hooks/useUnifiedCXButton';
14
- import { CustomerServiceType } from '../../CXIntegration/types';
15
- import { withBaseWidget } from '../../hocs/withBaseWidget';
16
- import useGetWidgetStatus from '../hooks/useGetWidgetStatus';
17
- import { FLOATING_BUTTON_ID } from './constants';
18
- import { FloatingChatOverlay } from './FloatingChatOverlay';
19
- import { useFloatingButtonVisibility } from './hooks/useFloatingButtonVisibility';
20
- import { useAutoPopup } from './hooks/useAutoPopup';
21
- const FloatingChat = lazy(async () => ({
22
- default: (await import('@envive-ai/react-toolkit-v3/FloatingChat')).FloatingChat,
23
- }));
24
- /**
25
- * Wrapper component that isolates the useUnifiedCXButton hook call.
26
- * Provider implementations use different React hooks internally, so the
27
- * provider value must be stable across renders. Use a `key` prop based on
28
- * provider to force a clean remount when the provider changes.
29
- */
30
- const CXButtonProvider = ({ provider, enabled, suppressMerchantButton, onSwitchToAgent, onCXClose, children, }) => {
31
- const unifiedCXButton = useUnifiedCXButton({
32
- provider,
33
- enabled,
34
- suppressMerchantButton,
35
- onSwitchToAgent,
36
- onCXClose,
37
- });
38
- const { isSwitchEnabled, toggle } = unifiedCXButton ?? {};
39
- return _jsx(_Fragment, { children: children({ isSwitchEnabled, toggle }) });
40
- };
41
- const FloatingChatWidgetHandler = (props) => {
42
- const { previewButtonOnly, previewChatAlwaysOpen } = props;
43
- const salesAgentData = useSalesAgent();
44
- const { trackWidgetInteraction } = useWidgetInteraction();
45
- const { userHasInteractedValue } = useGetWidgetStatus();
46
- // TODO: Get hardcopy
47
- const { uiConfig, isUiConfigLoading, hardcopyContent } = props;
48
- const { customerServiceIntegration, floatingButton, floatingChat } = uiConfig ?? {};
49
- const cxProvider = customerServiceIntegration?.provider ??
50
- CustomerServiceType.unsupported;
51
- // TODO: Get hardcopy content
52
- const { isOpen, openChat, closeChat, onHover } = useChatToggle();
53
- const [isCXOpen, setIsCXOpen] = useState(false);
54
- const [isResultsModalOpen, setIsResultsModalOpen] = useState(false);
55
- // Reset CX open state when the envive widget is reopened
56
- useEffect(() => {
57
- if (isOpen)
58
- setIsCXOpen(false);
59
- }, [isOpen]);
60
- const handleClose = (type) => {
61
- trackWidgetInteraction({
62
- eventName: EnviveMetricsEventName.WidgetInteraction,
63
- trigger: {
64
- widget: WidgetInteractionComponent.FLOATING_CHAT,
65
- widget_interaction: WidgetInteractionType.WIDGET_COLLAPSED,
66
- widget_interaction_data: {
67
- widget_collapsed: type,
68
- },
69
- },
70
- });
71
- };
72
- const { shouldShowFloatingButton } = useFloatingButtonVisibility({
73
- floatingButtonShowConfig: floatingButton?.showOption,
74
- isChatOpen: isOpen,
75
- userHasInteracted: userHasInteractedValue,
76
- });
77
- // Override isOpen for preview modes
78
- const effectiveIsOpen = previewChatAlwaysOpen ? true : isOpen;
79
- const effectiveShouldRenderFloatingButton = !effectiveIsOpen && shouldShowFloatingButton;
80
- const buttonShouldRender = previewButtonOnly
81
- ? true
82
- : effectiveShouldRenderFloatingButton && !isCXOpen;
83
- const theme = useMemo(() => {
84
- if (isUiConfigLoading || !uiConfig) {
85
- return Theme.STANDARD;
86
- }
87
- return uiConfig?.lookAndFeel?.theme ?? Theme.GLOBAL_CUSTOM;
88
- }, [isUiConfigLoading, uiConfig]);
89
- useAutoPopup({ autoPopupConfig: floatingChat?.autoPopupConfig });
90
- const { trackEvent } = useAmplitude();
91
- const hasTrackedEvent = useRef(false);
92
- // When we add support for initially hidden floating buttons, we will need to update this to handle that case
93
- useEffect(() => {
94
- if (buttonShouldRender && !hasTrackedEvent.current) {
95
- trackEvent({
96
- eventName: SpiffyMetricsEventName.ChatComponentVisible,
97
- eventProps: {
98
- widget_config_id: 'floating-button',
99
- widget_type: WidgetTypeV3.FloatingButtonV3,
100
- },
101
- });
102
- hasTrackedEvent.current = true;
103
- }
104
- }, [trackEvent, buttonShouldRender]);
105
- return (_jsx(CXButtonProvider, { provider: cxProvider, enabled: customerServiceIntegration?.enabled ?? false, suppressMerchantButton: customerServiceIntegration?.suppressMerchantButton ?? false, onSwitchToAgent: () => setIsCXOpen(true), onCXClose: () => setIsCXOpen(false), children: ({ isSwitchEnabled, toggle }) => (_jsxs(_Fragment, { children: [!previewButtonOnly && (_jsx(FloatingChatOverlay, { isOpened: effectiveIsOpen, isResultsModalOpen: isResultsModalOpen, onClose: previewChatAlwaysOpen
106
- ? () => { }
107
- : () => {
108
- closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_OVERLAY);
109
- handleClose({
110
- collapse_source: 'body_click',
111
- });
112
- }, previewMode: !!previewChatAlwaysOpen, children: _jsx(Suspense, { children: _jsx(FloatingChat, { setIsResultsModalOpen: setIsResultsModalOpen, theme: theme, salesAgentData: salesAgentData, hardcopyContent: hardcopyContent, floatingChatConfig: uiConfig?.floatingChat ?? {}, lookAndFeelConfig: uiConfig?.lookAndFeel ?? {}, isCXButtonSwitchEnabled: !!isSwitchEnabled?.(), isFloatingChatOpen: effectiveIsOpen, onToggleCXButton: toggle, debugBar: _jsx(DebugBar, {}), onSwipeClose: previewChatAlwaysOpen
113
- ? () => { }
114
- : () => {
115
- closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_CLOSE_BUTTON);
116
- handleClose({
117
- collapse_source: 'swipe',
118
- });
119
- }, onClose: previewChatAlwaysOpen
120
- ? () => { }
121
- : () => {
122
- closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_CLOSE_BUTTON);
123
- handleClose({
124
- collapse_source: 'close_button',
125
- });
126
- } }) }) })), buttonShouldRender && (_jsx(FloatingButton, { id: FLOATING_BUTTON_ID, variant: floatingButton?.style, mode: floatingButton?.mode, backgroundColor: floatingButton?.backgroundColor, onClick: previewButtonOnly
127
- ? () => { }
128
- : () => openChat(ChatElementDisplayLocationV3.FLOATING_BUTTON), onMouseOver: onHover, customIcon: floatingButton?.iconSVGSrc, show: floatingButton?.showOption, location: floatingButton?.position, hasInteractionHappened: userHasInteractedValue, ariaLabel: "Open chat", previewMode: !!previewButtonOnly }))] })) }, cxProvider));
129
- };
130
- const FloatingChatWidgetWithBaseWidget = withBaseWidget(FloatingChatWidgetHandler);
131
- export const FloatingChatWidget = ({ previewButtonOnly, previewChatAlwaysOpen, } = {}) => {
132
- return (_jsx(FloatingChatWidgetWithBaseWidget, { widgetType: WidgetTypeV3.FloatingChatV3, widgetConfigId: "fake-widget-config-id", previewButtonOnly: previewButtonOnly, previewChatAlwaysOpen: previewChatAlwaysOpen }));
133
- };
134
- FloatingChatWidget.displayName = 'FloatingChatWidget';
@@ -1,100 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, waitFor } from '@testing-library/react';
3
- import { SpiffyMetricsEventName } from '@envive-ai/react-hooks/contexts/amplitudeContext';
4
- import { WidgetTypeV3 } from '@envive-ai/react-hooks/contexts/typesV3';
5
- import { UserEventCategory } from '@spiffy-ai/commerce-api-client';
6
- import { FloatingChatWidget } from '../FloatingChatWidget';
7
- const mockTrackEvent = vi.fn();
8
- const mockGetHardcopy = vi.fn();
9
- vi.mock('@envive-ai/react-toolkit-v3/FloatingButton', () => ({
10
- FloatingButton: () => _jsx("div", { "data-testid": "floating-button", children: "Floating Button" }),
11
- }));
12
- vi.mock('@envive-ai/react-hooks/contexts/amplitudeContext', () => ({
13
- useAmplitude: () => ({
14
- trackEvent: mockTrackEvent,
15
- isReady: true,
16
- }),
17
- SpiffyMetricsEventName: {
18
- ChatComponentVisible: 'Chat Component Visible',
19
- SearchComponentVisible: 'Search Component Visible',
20
- },
21
- }));
22
- vi.mock('@envive-ai/react-hooks/contexts/hardcopyContext', () => ({
23
- useHardcopy: () => ({
24
- getHardcopy: mockGetHardcopy,
25
- }),
26
- }));
27
- vi.mock('@envive-ai/react-hooks/contexts/pageContext', () => ({
28
- usePage: () => ({
29
- userEvent: {
30
- id: 'test-user-event-id',
31
- category: UserEventCategory.PageVisit,
32
- created_at: '2025-01-01T00:00:00Z',
33
- event_id: 'test-event-id',
34
- },
35
- }),
36
- }));
37
- vi.mock('@envive-ai/react-hooks/contexts/widgetConfigContext', () => ({
38
- useWidgetConfig: () => ({
39
- getWidgetConfig: vi.fn().mockResolvedValue({}),
40
- }),
41
- }));
42
- vi.mock('@envive-ai/react-hooks/contexts/uiConfigContext', () => ({
43
- useUiConfig: () => ({
44
- getUiConfig: vi.fn().mockResolvedValue({
45
- floatingButton: { showOption: 'always', position: 'bottom-right' },
46
- floatingChat: {},
47
- lookAndFeel: {},
48
- }),
49
- }),
50
- }));
51
- vi.mock('@envive-ai/react-hooks/contexts/salesAgentContext', () => ({
52
- useSalesAgent: () => ({}),
53
- }));
54
- vi.mock('@envive-ai/react-hooks/hooks/ChatToggle', () => ({
55
- useChatToggle: () => ({
56
- isOpen: false,
57
- openChat: vi.fn(),
58
- closeChat: vi.fn(),
59
- }),
60
- }));
61
- vi.mock('../hooks/useFloatingButtonVisibility', () => ({
62
- useFloatingButtonVisibility: () => ({
63
- shouldShowFloatingButton: true,
64
- }),
65
- }));
66
- vi.mock('../hooks/useAutoPopup', () => ({
67
- useAutoPopup: () => { },
68
- }));
69
- vi.mock('../../hooks/useGetWidgetStatus', () => ({
70
- default: () => ({
71
- userHasInteractedValue: false,
72
- }),
73
- }));
74
- vi.mock('src/debug/debugBar', () => ({
75
- DebugBar: () => null,
76
- }));
77
- vi.mock('../../CXIntegration/hooks/useUnifiedCXButton', () => ({
78
- useUnifiedCXButton: () => ({
79
- isSwitchEnabled: () => false,
80
- toggle: vi.fn(),
81
- }),
82
- }));
83
- describe('FloatingChatWidget analytics', () => {
84
- beforeEach(() => {
85
- vi.clearAllMocks();
86
- mockGetHardcopy.mockResolvedValue({ language: 'en', values: {} });
87
- });
88
- it('should track ChatComponentVisible when floating button is shown', async () => {
89
- render(_jsx(FloatingChatWidget, { previewButtonOnly: true }));
90
- await waitFor(() => {
91
- expect(mockTrackEvent).toHaveBeenCalledWith({
92
- eventName: SpiffyMetricsEventName.ChatComponentVisible,
93
- eventProps: {
94
- widget_config_id: 'floating-button',
95
- widget_type: WidgetTypeV3.FloatingButtonV3,
96
- },
97
- });
98
- }, { timeout: 3000 });
99
- }, 5000);
100
- });
@@ -1 +0,0 @@
1
- export declare const FLOATING_BUTTON_ID = "envive-ai-floating-button";
@@ -1 +0,0 @@
1
- export const FLOATING_BUTTON_ID = 'envive-ai-floating-button';
@@ -1,4 +0,0 @@
1
- import { AutoPopupConfig } from '@envive-ai/react-hooks/contexts/typesV3';
2
- export declare const useAutoPopup: ({ autoPopupConfig }: {
3
- autoPopupConfig?: AutoPopupConfig;
4
- }) => void;
@@ -1,51 +0,0 @@
1
- import { useCallback, useEffect, useMemo, useRef } from 'react';
2
- import { useFeatureFlagService } from '@envive-ai/react-hooks/contexts/featureFlagServiceContext';
3
- import { useChatToggle } from '@envive-ai/react-hooks/hooks/ChatToggle';
4
- import { ChatElementDisplayLocationV3, FeatureGates, } from '@envive-ai/react-hooks/application/models';
5
- export const useAutoPopup = ({ autoPopupConfig }) => {
6
- const { isOpen, openChat } = useChatToggle();
7
- const { featureFlagService } = useFeatureFlagService();
8
- const hasBeenOpenedRef = useRef(false);
9
- const autoPopupTimerRef = useRef(null);
10
- const isReferrerBasedPromptEnabled = useMemo(() => featureFlagService.isFeatureGateEnabled(FeatureGates.IsReferrerBasedPromptEnabled), [featureFlagService]);
11
- useEffect(() => {
12
- if (!hasBeenOpenedRef.current && isOpen) {
13
- hasBeenOpenedRef.current = true;
14
- }
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) {
25
- clearTimeout(autoPopupTimerRef.current);
26
- }
27
- };
28
- if (!autoPopupConfig || hasBeenOpenedRef.current) {
29
- return cleanup;
30
- }
31
- for (const trigger of autoPopupConfig.triggers) {
32
- if (trigger.trigger.type === 'referrer') {
33
- if (!isReferrerBasedPromptEnabled) {
34
- break;
35
- }
36
- const utmSource = new URLSearchParams(window.location.search).get('utm_source');
37
- if (trigger.trigger.referrers.includes(utmSource)) {
38
- autoPopupTimerRef.current = setTimeout(() => {
39
- openChatSafely(ChatElementDisplayLocationV3.REFERRER_BASED_PROMPT);
40
- }, trigger.delay);
41
- }
42
- }
43
- if (trigger.trigger.type === 'automatic') {
44
- autoPopupTimerRef.current = setTimeout(() => {
45
- openChatSafely(ChatElementDisplayLocationV3.AUTOMATIC_PROMPT);
46
- }, trigger.delay);
47
- }
48
- }
49
- return cleanup;
50
- }, [autoPopupConfig, isOpen, isReferrerBasedPromptEnabled, openChatSafely]);
51
- };
@@ -1,11 +0,0 @@
1
- import { FloatingButtonShow } from '@envive-ai/react-toolkit-v3/FloatingButton';
2
- export interface UseFloatingButtonVisibilityProps {
3
- floatingButtonShowConfig?: FloatingButtonShow;
4
- isChatOpen: boolean;
5
- userHasInteracted: boolean;
6
- }
7
- export interface UseFloatingButtonVisibilityReturn {
8
- shouldShowFloatingButton: boolean;
9
- isSalesAgentEnabled: boolean;
10
- }
11
- export declare const useFloatingButtonVisibility: ({ floatingButtonShowConfig, isChatOpen, userHasInteracted, }: UseFloatingButtonVisibilityProps) => UseFloatingButtonVisibilityReturn;
@@ -1,21 +0,0 @@
1
- import { FeatureGates } from '@envive-ai/react-hooks/application/models';
2
- import { variantInfoAtom } from '@envive-ai/react-hooks/atoms/app';
3
- import { featureFlagServiceAtom } from '@envive-ai/react-hooks/atoms/org';
4
- import { FloatingButtonShow } from '@envive-ai/react-toolkit-v3/FloatingButton';
5
- import { useAtom, useAtomValue } from 'jotai';
6
- import { useMemo } from 'react';
7
- export const useFloatingButtonVisibility = ({ floatingButtonShowConfig = FloatingButtonShow.ALWAYS, isChatOpen, userHasInteracted, }) => {
8
- const featureFlagService = useAtomValue(featureFlagServiceAtom);
9
- const [variantInfo] = useAtom(variantInfoAtom);
10
- const internalfloatingButtonShowConfig = variantInfo.floatingButtonOverride ?? floatingButtonShowConfig;
11
- const isSalesAgentEnabled = useMemo(() => featureFlagService?.featureFlagService?.isFeatureGateEnabled(FeatureGates.IsSalesAgentEnabled), [featureFlagService]);
12
- const shouldShowFloatingButton = (isSalesAgentEnabled || isSalesAgentEnabled === undefined) &&
13
- !isChatOpen &&
14
- (internalfloatingButtonShowConfig === FloatingButtonShow.ALWAYS ||
15
- (internalfloatingButtonShowConfig === FloatingButtonShow.POST_INTERACTION &&
16
- userHasInteracted));
17
- return {
18
- shouldShowFloatingButton,
19
- isSalesAgentEnabled,
20
- };
21
- };
@@ -1,4 +0,0 @@
1
- import { FloatingChatWidget } from './FloatingChatWidget';
2
- export { FloatingChatWidget };
3
- export type { FloatingChatWidgetProps } from './FloatingChatWidget';
4
- export { FLOATING_BUTTON_ID } from './constants';
@@ -1,3 +0,0 @@
1
- import { FloatingChatWidget } from './FloatingChatWidget';
2
- export { FloatingChatWidget };
3
- export { FLOATING_BUTTON_ID } from './constants';
@@ -1,12 +0,0 @@
1
- import { BaseWidgetProps } from 'src/hocs/withBaseWidget';
2
- export declare const FullPageSalesAgentBaseWidget: {
3
- (props: BaseWidgetProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- export interface FullPageSalesAgentBaseWidgetProps {
7
- widgetConfigId: string;
8
- }
9
- export declare const FullPageSalesAgentWidget: {
10
- ({ widgetConfigId }: FullPageSalesAgentBaseWidgetProps): import("react/jsx-runtime").JSX.Element;
11
- displayName: string;
12
- };
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { WidgetTypeV3, } from '@envive-ai/react-hooks/contexts/typesV3';
3
- import { FullPageSalesAgent } from '@envive-ai/react-toolkit-v3/FullPageSalesAgent';
4
- import { Theme } from '@envive-ai/react-toolkit-v3/Tokens';
5
- import { withBaseWidget } from 'src/hocs/withBaseWidget';
6
- const FullPageSalesAgentHandler = ({ uiConfig, hardcopyContent, widgetConfig, }) => {
7
- const { headerContainer, autoHeight } = widgetConfig || {};
8
- return (_jsx(FullPageSalesAgent, { theme: Theme.STANDARD, floatingChatConfig: uiConfig?.floatingChat ?? {}, lookAndFeelConfig: uiConfig?.lookAndFeel ?? {}, hardcopyContent: hardcopyContent, headerContainer: headerContainer, autoHeight: autoHeight }));
9
- };
10
- export const FullPageSalesAgentBaseWidget = withBaseWidget(FullPageSalesAgentHandler);
11
- export const FullPageSalesAgentWidget = ({ widgetConfigId }) => {
12
- return (_jsx(FullPageSalesAgentBaseWidget, { widgetConfigId: widgetConfigId, widgetType: WidgetTypeV3.FullPageSalesAgentV3 }));
13
- };
14
- FullPageSalesAgentWidget.displayName = 'FullPageSalesAgentWidget';
@@ -1 +0,0 @@
1
- export { FullPageSalesAgentWidget } from './FullPageSalesAgentWidget';
@@ -1 +0,0 @@
1
- export { FullPageSalesAgentWidget } from './FullPageSalesAgentWidget';
@@ -1,7 +0,0 @@
1
- export interface ProductCardWidgetProps {
2
- widgetConfigId: string;
3
- }
4
- export declare const ProductCardWidget: {
5
- ({ widgetConfigId }: ProductCardWidgetProps): import("react/jsx-runtime").JSX.Element;
6
- displayName: string;
7
- };
@@ -1,94 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ChatElementDisplayLocationV3 } from '@envive-ai/react-hooks/application/models';
3
- import { EnviveMetricsEventName, SpiffyMetricsEventName, useAmplitude, } from '@envive-ai/react-hooks/contexts/amplitudeContext';
4
- import { useSalesAgent } from '@envive-ai/react-hooks/contexts/salesAgentContext';
5
- import { WidgetTypeV3 } from '@envive-ai/react-hooks/contexts/typesV3';
6
- import { useChatToggle } from '@envive-ai/react-hooks/hooks/ChatToggle';
7
- import { useWidgetInteraction } from '@envive-ai/react-hooks/hooks/WidgetInteraction';
8
- import { WidgetInteractionComponent, WidgetInteractionType, } from '@envive-ai/react-hooks/hooks/WidgetInteraction/types';
9
- import { ProductCard } from '@envive-ai/react-toolkit-v3/ProductCard';
10
- import { PromptButtonVariant } from '@envive-ai/react-toolkit-v3/PromptButton/types';
11
- import { usePromptCarouselAnalytics } from '@envive-ai/react-toolkit-v3/PromptCarousel';
12
- import { Theme } from '@envive-ai/react-toolkit-v3/Tokens';
13
- import { useCallback, useEffect } from 'react';
14
- import { withBaseWidget } from '../../hocs/withBaseWidget';
15
- import { getStringIdForText } from '../utils/functions';
16
- const mockPrompts = [
17
- 'Loading prompt 1',
18
- 'Loading prompt 2',
19
- 'Loading prompt 3',
20
- 'Loading prompt 4',
21
- 'Loading prompt 5',
22
- ];
23
- const mockHeadline = 'Loading...';
24
- const mockAnimatedText = ['Loading...'];
25
- const ProductCardWidgetHandler = (props) => {
26
- const { onTypedMessageSubmitted } = useSalesAgent();
27
- const { openChat } = useChatToggle();
28
- const { hardcopyContent, widgetConfig, isLoading } = props;
29
- const hardCopyHeadline = hardcopyContent?.values?.headline;
30
- const headline = isLoading ? mockHeadline : hardCopyHeadline || '';
31
- const hardCopyAnimatedText = hardcopyContent?.values?.animatedText || [];
32
- const animatedText = isLoading ? mockAnimatedText : hardCopyAnimatedText;
33
- const hardCopyPrompts = hardcopyContent?.values?.prompts || [];
34
- const prompts = isLoading ? mockPrompts : hardCopyPrompts;
35
- const hardCopyPlaceholder = hardcopyContent?.values?.placeholder;
36
- const placeholder = hardCopyPlaceholder;
37
- const productCardWidgetConfig = widgetConfig;
38
- const carouselId = productCardWidgetConfig?.contentId || '';
39
- const promptButtonType = productCardWidgetConfig?.promptButtonType || PromptButtonVariant.LIGHT;
40
- const italicizeHeadline = productCardWidgetConfig?.italicizeHeadline;
41
- const fallbackColor = productCardWidgetConfig?.fallbackColor;
42
- const imageSrc = productCardWidgetConfig?.imageSrc || '';
43
- const { trackEvent } = useAmplitude();
44
- const { trackWidgetInteraction } = useWidgetInteraction();
45
- const { onClick: onSuggestionClick, onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd, } = usePromptCarouselAnalytics(WidgetInteractionComponent.IMAGE_PROMPT_CARD, text => {
46
- const rawValues = hardcopyContent?.rawValues;
47
- return getStringIdForText(rawValues, text);
48
- });
49
- const { widgetConfigId } = props;
50
- useEffect(() => {
51
- trackEvent({
52
- eventName: SpiffyMetricsEventName.ChatComponentVisible,
53
- eventProps: {
54
- widget_config_id: widgetConfigId,
55
- widget_type: WidgetTypeV3.ProductCardV3,
56
- },
57
- });
58
- }, [trackEvent, widgetConfigId]);
59
- const handleSelect = useCallback((text) => {
60
- const rawValues = hardcopyContent?.rawValues;
61
- const stringId = getStringIdForText(rawValues, text);
62
- trackEvent({
63
- eventName: EnviveMetricsEventName.WidgetTextClicked,
64
- eventProps: {
65
- response_id: hardcopyContent?.responseId,
66
- string_id: stringId,
67
- text,
68
- },
69
- });
70
- onTypedMessageSubmitted({
71
- query: text,
72
- userTyped: false,
73
- displayLocation: ChatElementDisplayLocationV3.PRODUCT_CARD_PROMPT_BUTTON,
74
- });
75
- openChat(ChatElementDisplayLocationV3.PRODUCT_CARD_PROMPT_BUTTON);
76
- onSuggestionClick(text);
77
- }, [hardcopyContent, onTypedMessageSubmitted, openChat, trackEvent]);
78
- const handleInputClick = useCallback(() => {
79
- openChat(ChatElementDisplayLocationV3.PRODUCT_CARD_TEXT_FIELD);
80
- trackWidgetInteraction({
81
- eventName: EnviveMetricsEventName.WidgetInteraction,
82
- trigger: {
83
- widget: WidgetInteractionComponent.IMAGE_PROMPT_CARD,
84
- widget_interaction: WidgetInteractionType.QUERY_INPUT_CLICKED,
85
- },
86
- });
87
- }, [openChat]);
88
- return (_jsx(ProductCard, { theme: Theme.GLOBAL_CUSTOM, imageSrc: imageSrc, fallbackColor: fallbackColor, headline: headline, italicizeHeadline: italicizeHeadline, animatedText: animatedText, prompts: prompts, promptButtonType: promptButtonType, carouselId: carouselId, placeholder: placeholder, textTypingDuration: 800, textTransition: 2000, onSelect: handleSelect, onDrag: onDrag, onHover: onHover, onMouseDown: onMouseDown, onMouseUp: onMouseUp, onTouchStart: onTouchStart, onTouchEnd: onTouchEnd, onInputClick: handleInputClick }));
89
- };
90
- const ProductCardWidgetWithBaseWidget = withBaseWidget(ProductCardWidgetHandler);
91
- export const ProductCardWidget = ({ widgetConfigId }) => {
92
- return (_jsx(ProductCardWidgetWithBaseWidget, { widgetConfigId: widgetConfigId, widgetType: WidgetTypeV3.ProductCardV3 }));
93
- };
94
- ProductCardWidget.displayName = 'ProductCardWidget';