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

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 (350) hide show
  1. package/dist/CXIntegration/implementations/useHelpScoutUnifiedCXButton.cjs +65 -0
  2. package/dist/CXIntegration/implementations/useHelpScoutUnifiedCXButton.js +64 -0
  3. package/dist/CXIntegration/implementations/useTalkdeskUnifiedCXButton.cjs +64 -0
  4. package/dist/CXIntegration/implementations/useTalkdeskUnifiedCXButton.js +63 -0
  5. package/dist/CXIntegration/types.cjs +2 -0
  6. package/dist/CXIntegration/types.js +2 -0
  7. package/dist/CXIntegration/utils/functions.cjs +4 -0
  8. package/dist/CXIntegration/utils/functions.js +4 -0
  9. package/dist/debug/chatEmbed.cjs +1 -1
  10. package/dist/debug/chatEmbed.js +1 -1
  11. package/dist/debug/reportIssue.cjs +1 -1
  12. package/dist/debug/reportIssue.js +1 -1
  13. package/dist/hocs/withBaseWidget/types.d.cts +3 -3
  14. package/dist/hocs/withBaseWidget/types.d.ts +5 -3
  15. package/dist/hocs/withBaseWidget/withBaseWidget.d.cts +2 -2
  16. package/dist/hocs/withBaseWidget/withBaseWidget.d.ts +2 -2
  17. package/dist/hooks/dist/application/models/api/widgetText.d.cts +8 -0
  18. package/dist/hooks/dist/contexts/hardcopyContext/hardcopyContext.d.cts +12 -0
  19. package/dist/hooks/dist/contexts/types.d.cts +38 -0
  20. package/dist/hooks/dist/contexts/typesV3.d.cts +230 -0
  21. package/dist/hooks/dist/services/amplitudeService/eventNames.d.cts +43 -0
  22. package/dist/hooks/dist/types/customerService.d.cts +21 -0
  23. package/dist/node_modules/@spiffy-ai/commerce-api-client/dist/models/WidgetType.cjs +1 -0
  24. package/dist/packages/hooks/dist/application/models/api/orgConfigResults.d.ts +1 -0
  25. package/dist/packages/hooks/dist/application/models/api/widgetText.d.ts +8 -0
  26. package/dist/packages/hooks/dist/application/models/frontendConfig.d.ts +1 -0
  27. package/dist/packages/hooks/dist/contexts/amplitudeContext/amplitudeContext.d.ts +2 -0
  28. package/dist/packages/hooks/dist/contexts/amplitudeContext/index.d.ts +2 -0
  29. package/dist/packages/hooks/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +2 -0
  30. package/dist/packages/hooks/dist/contexts/hardcopyContext/hardcopyContext.d.ts +14 -0
  31. package/dist/packages/hooks/dist/contexts/hardcopyContext/index.d.ts +1 -0
  32. package/dist/packages/hooks/dist/contexts/types.d.ts +42 -0
  33. package/dist/packages/hooks/dist/contexts/typesV3.d.ts +230 -0
  34. package/dist/packages/hooks/dist/services/amplitudeService/amplitudeService.d.ts +1 -0
  35. package/dist/packages/hooks/dist/services/amplitudeService/eventNames.d.ts +43 -0
  36. package/dist/packages/hooks/dist/types/customerService.d.ts +21 -0
  37. package/dist/packages/icons/dist/IconCloseVariant.cjs +5 -6
  38. package/dist/packages/icons/dist/IconCloseVariant.js +4 -6
  39. package/dist/packages/widgets/dist/SearchResults/SearchResults.d.ts +3 -2
  40. package/dist/packages/widgets/dist/SearchResults/SearchResultsWidget.d.ts +2 -2
  41. package/dist/packages/widgets/dist/SearchZeroState/index.d.ts +2 -1
  42. package/dist/packages/widgets/dist/SearchZeroState/types.d.ts +2 -2
  43. package/dist/packages/widgets/dist/SuggestionBar/SuggestionBar.d.ts +1 -1
  44. package/dist/packages/widgets/dist/SuggestionButtonContainer/index.d.ts +2 -0
  45. package/dist/packages/widgets/dist/SuggestionButtonContainer/types.d.ts +3 -2
  46. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/api/response.d.ts +14 -0
  47. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/api/search.d.ts +15 -0
  48. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCase.d.ts +73 -0
  49. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts +61 -0
  50. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/internal.d.ts +25 -0
  51. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/splitWords.d.ts +35 -0
  52. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/trim.d.ts +32 -0
  53. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/utilityTypes/unknownArray.d.ts +32 -0
  54. package/dist/packages/widgets/dist/packages/hooks/dist/application/models/variantInfo/variantInfo.d.ts +1 -0
  55. package/dist/packages/widgets/dist/packages/hooks/dist/atoms/search/searchAPI.d.ts +15 -0
  56. package/dist/packages/widgets/dist/packages/hooks/dist/contexts/hardcopyContext/hardcopyContext.d.ts +1 -0
  57. package/dist/packages/widgets/dist/packages/hooks/dist/contexts/types.d.ts +63 -0
  58. package/dist/packages/widgets/dist/packages/hooks/dist/hooks/Search/useSearch.d.ts +60 -0
  59. package/dist/packages/widgets/dist/packages/hooks/dist/hooks/utils.d.ts +13 -0
  60. package/dist/packages/widgets/dist/packages/hooks/dist/types/OrgInfo.d.ts +1 -0
  61. package/dist/packages/widgets/dist/packages/hooks/dist/types/index.d.ts +1 -0
  62. package/dist/packages/widgets/dist/packages/hooks/dist/types/search-filter-types.d.ts +28 -0
  63. package/dist/packages/widgets/dist/packages/hooks/dist/types/test-types.d.ts +10 -0
  64. package/dist/src/CXIntegration/hooks/useUnifiedCXButton.d.ts +10 -0
  65. package/dist/src/CXIntegration/hooks/useUnifiedCXButton.js +29 -0
  66. package/dist/src/CXIntegration/implementations/useDefaultUnifiedCXButton.d.ts +2 -0
  67. package/dist/src/CXIntegration/implementations/useDefaultUnifiedCXButton.js +6 -0
  68. package/dist/src/CXIntegration/implementations/useEightByEightUnifiedCXButton.d.ts +5 -0
  69. package/dist/src/CXIntegration/implementations/useEightByEightUnifiedCXButton.js +63 -0
  70. package/dist/src/CXIntegration/implementations/useGladlyUnifiedCXButton.d.ts +5 -0
  71. package/dist/src/CXIntegration/implementations/useGladlyUnifiedCXButton.js +23 -0
  72. package/dist/src/CXIntegration/implementations/useGorgiasUnifiedCXButton.d.ts +5 -0
  73. package/dist/src/CXIntegration/implementations/useGorgiasUnifiedCXButton.js +54 -0
  74. package/dist/src/CXIntegration/implementations/useGrooveUnifiedCXButton.d.ts +18 -0
  75. package/dist/src/CXIntegration/implementations/useGrooveUnifiedCXButton.js +48 -0
  76. package/dist/src/CXIntegration/implementations/useHelpScoutUnifiedCXButton.d.ts +5 -0
  77. package/dist/src/CXIntegration/implementations/useHelpScoutUnifiedCXButton.js +84 -0
  78. package/dist/src/CXIntegration/implementations/useKustomerUnifiedCXButton.d.ts +5 -0
  79. package/dist/src/CXIntegration/implementations/useKustomerUnifiedCXButton.js +86 -0
  80. package/dist/src/CXIntegration/implementations/useReDoUnifiedCXButton.d.ts +5 -0
  81. package/dist/src/CXIntegration/implementations/useReDoUnifiedCXButton.js +59 -0
  82. package/dist/src/CXIntegration/implementations/useRichpanelUnifiedCXButton.d.ts +5 -0
  83. package/dist/src/CXIntegration/implementations/useRichpanelUnifiedCXButton.js +62 -0
  84. package/dist/src/CXIntegration/implementations/useShopifyChatUnifiedCXButton.d.ts +5 -0
  85. package/dist/src/CXIntegration/implementations/useShopifyChatUnifiedCXButton.js +49 -0
  86. package/dist/src/CXIntegration/implementations/useTalkdeskUnifiedCXButton.d.ts +5 -0
  87. package/dist/src/CXIntegration/implementations/useTalkdeskUnifiedCXButton.js +77 -0
  88. package/dist/src/CXIntegration/implementations/useTidioUnifiedCXButton.d.ts +13 -0
  89. package/dist/src/CXIntegration/implementations/useTidioUnifiedCXButton.js +20 -0
  90. package/dist/src/CXIntegration/implementations/useZendeskUnifiedCXButton.d.ts +5 -0
  91. package/dist/src/CXIntegration/implementations/useZendeskUnifiedCXButton.js +55 -0
  92. package/dist/src/CXIntegration/implementations/useZowieUnifiedCXButton.d.ts +13 -0
  93. package/dist/src/CXIntegration/implementations/useZowieUnifiedCXButton.js +20 -0
  94. package/dist/src/CXIntegration/types.d.ts +26 -0
  95. package/dist/src/CXIntegration/types.js +17 -0
  96. package/dist/src/CXIntegration/utils/functions.d.ts +2 -0
  97. package/dist/src/CXIntegration/utils/functions.js +57 -0
  98. package/dist/src/debug/GenericSelect.d.ts +11 -0
  99. package/dist/src/debug/GenericSelect.js +151 -0
  100. package/dist/src/debug/MessageContent.d.ts +4 -0
  101. package/dist/src/debug/MessageContent.js +87 -0
  102. package/dist/src/debug/chatEmbed.d.ts +2 -0
  103. package/dist/src/debug/chatEmbed.js +58 -0
  104. package/dist/src/debug/debugBar.d.ts +1 -0
  105. package/dist/src/debug/debugBar.js +9 -0
  106. package/dist/src/debug/reportIssue.d.ts +1 -0
  107. package/dist/src/debug/reportIssue.js +322 -0
  108. package/dist/src/hocs/withBaseWidget/__tests__/withBaseWidget.test.d.ts +1 -0
  109. package/dist/src/hocs/withBaseWidget/__tests__/withBaseWidget.test.js +452 -0
  110. package/dist/src/hocs/withBaseWidget/index.d.ts +2 -0
  111. package/dist/src/hocs/withBaseWidget/index.js +1 -0
  112. package/dist/src/hocs/withBaseWidget/types.d.ts +33 -0
  113. package/dist/src/hocs/withBaseWidget/types.js +0 -0
  114. package/dist/src/hocs/withBaseWidget/withBaseWidget.d.ts +5 -0
  115. package/dist/src/hocs/withBaseWidget/withBaseWidget.js +80 -0
  116. package/dist/src/stories/FloatingChatWidget.stories.d.ts +25 -0
  117. package/dist/src/stories/FloatingChatWidget.stories.js +44 -0
  118. package/dist/src/stories/FullPageSalesAgentWidget.stories.d.ts +31 -0
  119. package/dist/src/stories/FullPageSalesAgentWidget.stories.js +51 -0
  120. package/dist/src/stories/ProductCardWidget.stories.d.ts +31 -0
  121. package/dist/src/stories/ProductCardWidget.stories.js +44 -0
  122. package/dist/src/stories/PromptButtonCarouselWithImageWidget.stories.d.ts +31 -0
  123. package/dist/src/stories/PromptButtonCarouselWithImageWidget.stories.js +40 -0
  124. package/dist/src/stories/PromptCarouselWidget.stories.d.ts +31 -0
  125. package/dist/src/stories/PromptCarouselWidget.stories.js +40 -0
  126. package/dist/src/stories/SalesAgentTest/SalesAgentTest.d.ts +1 -0
  127. package/dist/src/stories/SalesAgentTest/SalesAgentTest.js +40 -0
  128. package/dist/src/stories/SalesAgentTest/SalesAgentTest.stories.d.ts +12 -0
  129. package/dist/src/stories/SalesAgentTest/SalesAgentTest.stories.js +12 -0
  130. package/dist/src/stories/SalesAgentTest/index.d.ts +0 -0
  131. package/dist/src/stories/SalesAgentTest/index.js +0 -0
  132. package/dist/src/stories/SearchResults.stories.d.ts +6 -0
  133. package/dist/src/stories/SearchResults.stories.js +23 -0
  134. package/dist/src/stories/SearchZeroState.stories.d.ts +38 -0
  135. package/dist/src/stories/SearchZeroState.stories.js +42 -0
  136. package/dist/src/stories/SocialProofFlowWidget.stories.d.ts +35 -0
  137. package/dist/src/stories/SocialProofFlowWidget.stories.js +60 -0
  138. package/dist/src/stories/SuggestionBar.stories.d.ts +7 -0
  139. package/dist/src/stories/SuggestionBar.stories.js +36 -0
  140. package/dist/src/stories/TitledPromptCarouselWidget.stories.d.ts +32 -0
  141. package/dist/src/stories/TitledPromptCarouselWidget.stories.js +55 -0
  142. package/dist/src/stories/TypingAnimationFlowWidget.stories.d.ts +34 -0
  143. package/dist/src/stories/TypingAnimationFlowWidget.stories.js +51 -0
  144. package/dist/src/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.ts +12 -0
  145. package/dist/src/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.js +112 -0
  146. package/dist/src/widgets/ChatPreviewComparisonWidget/index.d.ts +3 -0
  147. package/dist/src/widgets/ChatPreviewComparisonWidget/index.js +2 -0
  148. package/dist/src/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.ts +9 -0
  149. package/dist/src/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.js +34 -0
  150. package/dist/src/widgets/ChatPreviewLoadingWidget/index.d.ts +3 -0
  151. package/dist/src/widgets/ChatPreviewLoadingWidget/index.js +2 -0
  152. package/dist/src/widgets/ChatPreviewWidget/ChatPreviewWidget.d.ts +12 -0
  153. package/dist/src/widgets/ChatPreviewWidget/ChatPreviewWidget.js +111 -0
  154. package/dist/src/widgets/ChatPreviewWidget/__tests__/ChatPreviewWidget.test.d.ts +1 -0
  155. package/dist/src/widgets/ChatPreviewWidget/__tests__/ChatPreviewWidget.test.js +97 -0
  156. package/dist/src/widgets/ChatPreviewWidget/index.d.ts +3 -0
  157. package/dist/src/widgets/ChatPreviewWidget/index.js +2 -0
  158. package/dist/src/widgets/FloatingChatWidget/FloatingChatOverlay.d.ts +14 -0
  159. package/dist/src/widgets/FloatingChatWidget/FloatingChatOverlay.js +44 -0
  160. package/dist/src/widgets/FloatingChatWidget/FloatingChatWidget.d.ts +8 -0
  161. package/dist/src/widgets/FloatingChatWidget/FloatingChatWidget.js +134 -0
  162. package/dist/src/widgets/FloatingChatWidget/__tests__/FloatingChatWidget.test.d.ts +1 -0
  163. package/dist/src/widgets/FloatingChatWidget/__tests__/FloatingChatWidget.test.js +100 -0
  164. package/dist/src/widgets/FloatingChatWidget/constants.d.ts +1 -0
  165. package/dist/src/widgets/FloatingChatWidget/constants.js +1 -0
  166. package/dist/src/widgets/FloatingChatWidget/hooks/useAutoPopup.d.ts +4 -0
  167. package/dist/src/widgets/FloatingChatWidget/hooks/useAutoPopup.js +51 -0
  168. package/dist/src/widgets/FloatingChatWidget/hooks/useFloatingButtonVisibility.d.ts +11 -0
  169. package/dist/src/widgets/FloatingChatWidget/hooks/useFloatingButtonVisibility.js +21 -0
  170. package/dist/src/widgets/FloatingChatWidget/index.d.ts +4 -0
  171. package/dist/src/widgets/FloatingChatWidget/index.js +3 -0
  172. package/dist/src/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.ts +12 -0
  173. package/dist/src/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.js +14 -0
  174. package/dist/src/widgets/FullPageSalesAgentWidget/index.d.ts +1 -0
  175. package/dist/src/widgets/FullPageSalesAgentWidget/index.js +1 -0
  176. package/dist/src/widgets/ProductCardWidget/ProductCardWidget.d.ts +7 -0
  177. package/dist/src/widgets/ProductCardWidget/ProductCardWidget.js +94 -0
  178. package/dist/src/widgets/ProductCardWidget/__tests__/ProductCardWidget.test.d.ts +1 -0
  179. package/dist/src/widgets/ProductCardWidget/__tests__/ProductCardWidget.test.js +106 -0
  180. package/dist/src/widgets/ProductCardWidget/index.d.ts +2 -0
  181. package/dist/src/widgets/ProductCardWidget/index.js +1 -0
  182. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts +12 -0
  183. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.js +88 -0
  184. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/__tests__/PromptButtonCarouselWithImageWidget.test.d.ts +1 -0
  185. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/__tests__/PromptButtonCarouselWithImageWidget.test.js +132 -0
  186. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/index.d.ts +2 -0
  187. package/dist/src/widgets/PromptButtonCarouselWithImageWidget/index.js +2 -0
  188. package/dist/src/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts +7 -0
  189. package/dist/src/widgets/PromptCarouselWidget/PromptCarouselWidget.js +74 -0
  190. package/dist/src/widgets/PromptCarouselWidget/__tests__/PromptCarouselWidget.test.d.ts +1 -0
  191. package/dist/src/widgets/PromptCarouselWidget/__tests__/PromptCarouselWidget.test.js +106 -0
  192. package/dist/src/widgets/PromptCarouselWidget/index.d.ts +2 -0
  193. package/dist/src/widgets/PromptCarouselWidget/index.js +1 -0
  194. package/dist/src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts +7 -0
  195. package/dist/src/widgets/SocialProofFlowWidget/SocialProofFlowWidget.js +25 -0
  196. package/dist/src/widgets/SocialProofFlowWidget/index.d.ts +3 -0
  197. package/dist/src/widgets/SocialProofFlowWidget/index.js +2 -0
  198. package/dist/src/widgets/SocialProofWidget/SocialProofWidget.d.ts +12 -0
  199. package/dist/src/widgets/SocialProofWidget/SocialProofWidget.js +203 -0
  200. package/dist/src/widgets/SocialProofWidget/__tests__/SocialProofWidget.test.d.ts +1 -0
  201. package/dist/src/widgets/SocialProofWidget/__tests__/SocialProofWidget.test.js +135 -0
  202. package/dist/src/widgets/SocialProofWidget/index.d.ts +2 -0
  203. package/dist/src/widgets/SocialProofWidget/index.js +1 -0
  204. package/dist/src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.ts +7 -0
  205. package/dist/src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.js +75 -0
  206. package/dist/src/widgets/TitledPromptCarouselWidget/__tests__/TitledPromptCarouselWidget.test.d.ts +1 -0
  207. package/dist/src/widgets/TitledPromptCarouselWidget/__tests__/TitledPromptCarouselWidget.test.js +106 -0
  208. package/dist/src/widgets/TitledPromptCarouselWidget/index.d.ts +2 -0
  209. package/dist/src/widgets/TitledPromptCarouselWidget/index.js +1 -0
  210. package/dist/src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts +7 -0
  211. package/dist/src/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.js +25 -0
  212. package/dist/src/widgets/TypingAnimationFlowWidget/index.d.ts +3 -0
  213. package/dist/src/widgets/TypingAnimationFlowWidget/index.js +2 -0
  214. package/dist/src/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts +12 -0
  215. package/dist/src/widgets/TypingAnimationWidget/TypingAnimationWidget.js +126 -0
  216. package/dist/src/widgets/TypingAnimationWidget/__tests__/TypingAnimationWidget.test.d.ts +1 -0
  217. package/dist/src/widgets/TypingAnimationWidget/__tests__/TypingAnimationWidget.test.js +118 -0
  218. package/dist/src/widgets/TypingAnimationWidget/index.d.ts +2 -0
  219. package/dist/src/widgets/TypingAnimationWidget/index.js +1 -0
  220. package/dist/src/widgets/__tests__/testUtils.d.ts +60 -0
  221. package/dist/src/widgets/__tests__/testUtils.js +46 -0
  222. package/dist/src/widgets/__tests__/trackEventCanary.test.d.ts +1 -0
  223. package/dist/src/widgets/__tests__/trackEventCanary.test.js +37 -0
  224. package/dist/src/widgets/hooks/useGetWidgetStatus.d.ts +7 -0
  225. package/dist/src/widgets/hooks/useGetWidgetStatus.js +17 -0
  226. package/dist/src/widgets/utils/functions.d.ts +16 -0
  227. package/dist/src/widgets/utils/functions.js +87 -0
  228. package/dist/src/widgets-v2/SearchResults/index.d.ts +2 -0
  229. package/dist/src/widgets-v2/SearchResults/index.js +2 -0
  230. package/dist/src/widgets-v2/SearchZeroState/index.d.ts +2 -0
  231. package/dist/src/widgets-v2/SearchZeroState/index.js +2 -0
  232. package/dist/src/widgets-v2/SuggestionBar/index.d.ts +2 -0
  233. package/dist/src/widgets-v2/SuggestionBar/index.js +2 -0
  234. package/dist/src/widgets-v2/SuggestionButtonContainer/index.d.ts +2 -0
  235. package/dist/src/widgets-v2/SuggestionButtonContainer/index.js +2 -0
  236. package/dist/tsdown.config.d.ts +2 -0
  237. package/dist/tsdown.config.js +12 -0
  238. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.cjs +36 -5
  239. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.cts +3 -3
  240. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.d.ts +3 -3
  241. package/dist/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.js +36 -5
  242. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.cts +3 -3
  243. package/dist/widgets/ChatPreviewLoadingWidget/ChatPreviewLoadingWidget.d.ts +3 -3
  244. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.cjs +34 -4
  245. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.cts +3 -3
  246. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.d.ts +3 -3
  247. package/dist/widgets/ChatPreviewWidget/ChatPreviewWidget.js +35 -5
  248. package/dist/widgets/FloatingChatWidget/FloatingChatOverlay.cjs +0 -2
  249. package/dist/widgets/FloatingChatWidget/FloatingChatOverlay.js +0 -2
  250. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.cjs +31 -7
  251. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.cts +2 -2
  252. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.d.ts +2 -2
  253. package/dist/widgets/FloatingChatWidget/FloatingChatWidget.js +32 -8
  254. package/dist/widgets/FullPageSalesAgentWidget/FullPageSalesAgentWidget.d.ts +2 -2
  255. package/dist/widgets/ProductCardWidget/ProductCardWidget.cjs +44 -6
  256. package/dist/widgets/ProductCardWidget/ProductCardWidget.d.cts +2 -2
  257. package/dist/widgets/ProductCardWidget/ProductCardWidget.d.ts +2 -2
  258. package/dist/widgets/ProductCardWidget/ProductCardWidget.js +45 -7
  259. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.cjs +33 -4
  260. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.cts +3 -3
  261. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.d.ts +3 -3
  262. package/dist/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.js +35 -6
  263. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.cjs +17 -12
  264. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.cts +2 -2
  265. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.d.ts +2 -2
  266. package/dist/widgets/PromptCarouselWidget/PromptCarouselWidget.js +18 -13
  267. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.cts +2 -2
  268. package/dist/widgets/SocialProofFlowWidget/SocialProofFlowWidget.d.ts +2 -2
  269. package/dist/widgets/SocialProofWidget/SocialProofWidget.cjs +63 -6
  270. package/dist/widgets/SocialProofWidget/SocialProofWidget.d.cts +3 -3
  271. package/dist/widgets/SocialProofWidget/SocialProofWidget.d.ts +3 -3
  272. package/dist/widgets/SocialProofWidget/SocialProofWidget.js +65 -8
  273. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.cjs +21 -1
  274. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.d.cts +2 -2
  275. package/dist/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.js +23 -3
  276. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.cts +2 -2
  277. package/dist/widgets/TypingAnimationFlowWidget/TypingAnimationFlowWidget.d.ts +2 -2
  278. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.cjs +47 -6
  279. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.cts +3 -3
  280. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.d.ts +3 -3
  281. package/dist/widgets/TypingAnimationWidget/TypingAnimationWidget.js +49 -8
  282. package/dist/widgets/dist/SearchResults/SearchResults.d.cts +3 -2
  283. package/dist/widgets/dist/SearchResults/SearchResultsWidget.d.cts +2 -2
  284. package/dist/widgets/dist/SearchZeroState/types.d.cts +2 -2
  285. package/dist/widgets/dist/SuggestionBar/SuggestionBar.d.cts +1 -1
  286. package/dist/widgets/dist/SuggestionButtonContainer/types.d.cts +3 -2
  287. package/dist/widgets/dist/packages/hooks/dist/application/models/api/response.d.cts +14 -0
  288. package/dist/widgets/dist/packages/hooks/dist/application/models/api/search.d.cts +15 -0
  289. package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCase.d.cts +73 -0
  290. package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.cts +61 -0
  291. package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/internal.d.cts +25 -0
  292. package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/splitWords.d.cts +35 -0
  293. package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/trim.d.cts +32 -0
  294. package/dist/widgets/dist/packages/hooks/dist/application/models/utilityTypes/unknownArray.d.cts +32 -0
  295. package/dist/widgets/dist/packages/hooks/dist/atoms/search/searchAPI.d.cts +14 -0
  296. package/dist/widgets/dist/packages/hooks/dist/contexts/types.d.cts +61 -0
  297. package/dist/widgets/dist/packages/hooks/dist/hooks/Search/useSearch.d.cts +60 -0
  298. package/dist/widgets/dist/packages/hooks/dist/hooks/utils.d.cts +12 -0
  299. package/dist/widgets/dist/packages/hooks/dist/types/search-filter-types.d.cts +28 -0
  300. package/dist/widgets/dist/packages/hooks/dist/types/test-types.d.cts +10 -0
  301. package/dist/widgets/hooks/useGetWidgetStatus.cjs +1 -1
  302. package/dist/widgets/hooks/useGetWidgetStatus.js +1 -1
  303. package/dist/widgets/utils/functions.cjs +9 -14
  304. package/dist/widgets/utils/functions.js +9 -14
  305. package/dist/widgets-v2/SearchZeroState/index.d.cts +2 -1
  306. package/dist/widgets-v2/SearchZeroState/index.d.ts +2 -1
  307. package/dist/widgets-v2/SuggestionButtonContainer/index.d.ts +1 -0
  308. package/package.json +4 -4
  309. package/src/CXIntegration/implementations/useHelpScoutUnifiedCXButton.ts +108 -0
  310. package/src/CXIntegration/implementations/useTalkdeskUnifiedCXButton.ts +94 -0
  311. package/src/CXIntegration/types.ts +2 -0
  312. package/src/CXIntegration/utils/functions.ts +8 -0
  313. package/src/hocs/withBaseWidget/__tests__/withBaseWidget.test.tsx +83 -305
  314. package/src/hocs/withBaseWidget/types.ts +6 -6
  315. package/src/hocs/withBaseWidget/withBaseWidget.tsx +46 -61
  316. package/src/widgets/ChatPreviewComparisonWidget/ChatPreviewComparisonWidget.tsx +59 -8
  317. package/src/widgets/ChatPreviewWidget/ChatPreviewWidget.tsx +54 -18
  318. package/src/widgets/ChatPreviewWidget/__tests__/ChatPreviewWidget.test.tsx +120 -0
  319. package/src/widgets/FloatingChatWidget/FloatingChatOverlay.tsx +48 -19
  320. package/src/widgets/FloatingChatWidget/FloatingChatWidget.tsx +100 -52
  321. package/src/widgets/FloatingChatWidget/__tests__/FloatingChatWidget.test.tsx +125 -0
  322. package/src/widgets/ProductCardWidget/ProductCardWidget.tsx +52 -19
  323. package/src/widgets/ProductCardWidget/__tests__/ProductCardWidget.test.tsx +148 -0
  324. package/src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.tsx +50 -20
  325. package/src/widgets/PromptButtonCarouselWithImageWidget/__tests__/PromptButtonCarouselWithImageWidget.test.tsx +190 -0
  326. package/src/widgets/PromptCarouselWidget/PromptCarouselWidget.tsx +33 -33
  327. package/src/widgets/PromptCarouselWidget/__tests__/PromptCarouselWidget.test.tsx +163 -0
  328. package/src/widgets/SocialProofWidget/SocialProofWidget.tsx +88 -18
  329. package/src/widgets/SocialProofWidget/__tests__/SocialProofWidget.test.tsx +195 -0
  330. package/src/widgets/TitledPromptCarouselWidget/TitledPromptCarouselWidget.tsx +34 -18
  331. package/src/widgets/TitledPromptCarouselWidget/__tests__/TitledPromptCarouselWidget.test.tsx +161 -0
  332. package/src/widgets/TypingAnimationWidget/TypingAnimationWidget.tsx +63 -22
  333. package/src/widgets/TypingAnimationWidget/__tests__/TypingAnimationWidget.test.tsx +174 -0
  334. package/src/widgets/__tests__/testUtils.tsx +63 -0
  335. package/src/widgets/__tests__/trackEventCanary.test.ts +45 -0
  336. package/src/widgets/utils/functions.ts +16 -0
  337. package/dist/packages/icons/dist/_virtual/rolldown_runtime.cjs +0 -27
  338. package/dist/packages/icons/dist/_virtual/rolldown_runtime.js +0 -25
  339. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +0 -696
  340. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -696
  341. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs +0 -43
  342. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -43
  343. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.cjs +0 -1528
  344. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.js +0 -1528
  345. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.cjs +0 -329
  346. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.js +0 -329
  347. package/dist/packages/icons/dist/node_modules/react/index.cjs +0 -13
  348. package/dist/packages/icons/dist/node_modules/react/index.js +0 -13
  349. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.cjs +0 -13
  350. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.js +0 -13
@@ -1,21 +1,23 @@
1
1
  import { withBaseWidget } from "../../hocs/withBaseWidget/withBaseWidget.js";
2
2
  import "../../hocs/withBaseWidget/index.js";
3
3
  import { DebugBar } from "../../debug/debugBar.js";
4
- import { FloatingChatOverlay } from "./FloatingChatOverlay.js";
5
- import useGetWidgetStatus_default from "../hooks/useGetWidgetStatus.js";
6
4
  import { CustomerServiceType } from "../../CXIntegration/types.js";
7
5
  import { FLOATING_BUTTON_ID } from "./constants.js";
8
6
  import { useUnifiedCXButton } from "../../CXIntegration/hooks/useUnifiedCXButton.js";
7
+ import useGetWidgetStatus_default from "../hooks/useGetWidgetStatus.js";
8
+ import { FloatingChatOverlay } from "./FloatingChatOverlay.js";
9
9
  import { useFloatingButtonVisibility } from "./hooks/useFloatingButtonVisibility.js";
10
10
  import { useAutoPopup } from "./hooks/useAutoPopup.js";
11
11
  import { Suspense, lazy, useEffect, useMemo, useRef, useState } from "react";
12
- import { SpiffyMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
12
+ import { EnviveMetricsEventName, SpiffyMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
13
13
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
- import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
15
14
  import { useSalesAgent } from "@envive-ai/react-hooks/contexts/salesAgentContext";
15
+ import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
16
16
  import { useChatToggle } from "@envive-ai/react-hooks/hooks/ChatToggle";
17
- import { Theme } from "@envive-ai/react-toolkit-v3/Tokens";
18
17
  import { ChatElementDisplayLocationV3 } from "@envive-ai/react-hooks/application/models";
18
+ import { useWidgetInteraction } from "@envive-ai/react-hooks/hooks/WidgetInteraction";
19
+ import { WidgetInteractionComponent, WidgetInteractionType } from "@envive-ai/react-hooks/hooks/WidgetInteraction/types";
20
+ import { Theme } from "@envive-ai/react-toolkit-v3/Tokens";
19
21
  import { FloatingButton } from "@envive-ai/react-toolkit-v3/FloatingButton";
20
22
 
21
23
  //#region src/widgets/FloatingChatWidget/FloatingChatWidget.tsx
@@ -42,15 +44,26 @@ const CXButtonProvider = ({ provider, enabled, suppressMerchantButton, onSwitchT
42
44
  const FloatingChatWidgetHandler = (props) => {
43
45
  const { previewButtonOnly, previewChatAlwaysOpen } = props;
44
46
  const salesAgentData = useSalesAgent();
47
+ const { trackWidgetInteraction } = useWidgetInteraction();
45
48
  const { userHasInteractedValue } = useGetWidgetStatus_default();
46
49
  const { uiConfig, isUiConfigLoading, hardcopyContent } = props;
47
50
  const { customerServiceIntegration, floatingButton, floatingChat } = uiConfig ?? {};
48
51
  const cxProvider = customerServiceIntegration?.provider ?? CustomerServiceType.unsupported;
49
- const { isOpen, openChat, closeChat } = useChatToggle();
52
+ const { isOpen, openChat, closeChat, onHover } = useChatToggle();
50
53
  const [isCXOpen, setIsCXOpen] = useState(false);
51
54
  useEffect(() => {
52
55
  if (isOpen) setIsCXOpen(false);
53
56
  }, [isOpen]);
57
+ const handleClose = (type) => {
58
+ trackWidgetInteraction({
59
+ eventName: EnviveMetricsEventName.WidgetInteraction,
60
+ trigger: {
61
+ widget: WidgetInteractionComponent.FLOATING_CHAT,
62
+ widget_interaction: WidgetInteractionType.WIDGET_COLLAPSED,
63
+ widget_interaction_data: { widget_collapsed: type }
64
+ }
65
+ });
66
+ };
54
67
  const { shouldShowFloatingButton } = useFloatingButtonVisibility({
55
68
  floatingButtonShowConfig: floatingButton?.showOption,
56
69
  isChatOpen: isOpen,
@@ -85,7 +98,10 @@ const FloatingChatWidgetHandler = (props) => {
85
98
  onCXClose: () => setIsCXOpen(false),
86
99
  children: ({ isSwitchEnabled, toggle }) => /* @__PURE__ */ jsxs(Fragment, { children: [(previewChatAlwaysOpen || effectiveIsOpen) && !previewButtonOnly && /* @__PURE__ */ jsx(FloatingChatOverlay, {
87
100
  isOpened: effectiveIsOpen,
88
- onClose: previewChatAlwaysOpen ? () => {} : () => closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_OVERLAY),
101
+ onClose: previewChatAlwaysOpen ? () => {} : () => {
102
+ closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_OVERLAY);
103
+ handleClose({ collapse_source: "body_click" });
104
+ },
89
105
  previewMode: !!previewChatAlwaysOpen,
90
106
  children: /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(FloatingChat, {
91
107
  theme,
@@ -97,7 +113,14 @@ const FloatingChatWidgetHandler = (props) => {
97
113
  isFloatingChatOpen: effectiveIsOpen,
98
114
  onToggleCXButton: toggle,
99
115
  debugBar: /* @__PURE__ */ jsx(DebugBar, {}),
100
- onClose: previewChatAlwaysOpen ? () => {} : () => closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_CLOSE_BUTTON)
116
+ onSwipeClose: previewChatAlwaysOpen ? () => {} : () => {
117
+ closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_CLOSE_BUTTON);
118
+ handleClose({ collapse_source: "swipe" });
119
+ },
120
+ onClose: previewChatAlwaysOpen ? () => {} : () => {
121
+ closeChat(ChatElementDisplayLocationV3.FLOATING_CHAT_CLOSE_BUTTON);
122
+ handleClose({ collapse_source: "close_button" });
123
+ }
101
124
  }) })
102
125
  }), buttonShouldRender && /* @__PURE__ */ jsx(FloatingButton, {
103
126
  id: FLOATING_BUTTON_ID,
@@ -105,6 +128,7 @@ const FloatingChatWidgetHandler = (props) => {
105
128
  mode: floatingButton?.mode,
106
129
  backgroundColor: floatingButton?.backgroundColor,
107
130
  onClick: previewButtonOnly ? () => {} : () => openChat(ChatElementDisplayLocationV3.FLOATING_BUTTON),
131
+ onMouseOver: onHover,
108
132
  customIcon: floatingButton?.iconSVGSrc,
109
133
  show: floatingButton?.showOption,
110
134
  location: floatingButton?.position,
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime12 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime6 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_runtime12.JSX.Element;
11
+ }: FullPageSalesAgentBaseWidgetProps): react_jsx_runtime6.JSX.Element;
12
12
  displayName: string;
13
13
  };
14
14
  //#endregion
@@ -1,16 +1,20 @@
1
1
  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
+ const require_functions = require('../utils/functions.cjs');
4
5
  let react = require("react");
5
6
  let __envive_ai_react_hooks_contexts_amplitudeContext = require("@envive-ai/react-hooks/contexts/amplitudeContext");
6
7
  let react_jsx_runtime = require("react/jsx-runtime");
7
- let __envive_ai_react_hooks_contexts_typesV3 = require("@envive-ai/react-hooks/contexts/typesV3");
8
8
  let __envive_ai_react_hooks_contexts_salesAgentContext = require("@envive-ai/react-hooks/contexts/salesAgentContext");
9
+ let __envive_ai_react_hooks_contexts_typesV3 = require("@envive-ai/react-hooks/contexts/typesV3");
9
10
  let __envive_ai_react_hooks_hooks_ChatToggle = require("@envive-ai/react-hooks/hooks/ChatToggle");
10
- let __envive_ai_react_toolkit_v3_Tokens = require("@envive-ai/react-toolkit-v3/Tokens");
11
11
  let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
12
- let __envive_ai_react_toolkit_v3_PromptButton_types = require("@envive-ai/react-toolkit-v3/PromptButton/types");
12
+ let __envive_ai_react_hooks_hooks_WidgetInteraction = require("@envive-ai/react-hooks/hooks/WidgetInteraction");
13
+ let __envive_ai_react_hooks_hooks_WidgetInteraction_types = require("@envive-ai/react-hooks/hooks/WidgetInteraction/types");
14
+ let __envive_ai_react_toolkit_v3_PromptCarousel = require("@envive-ai/react-toolkit-v3/PromptCarousel");
15
+ let __envive_ai_react_toolkit_v3_Tokens = require("@envive-ai/react-toolkit-v3/Tokens");
13
16
  let __envive_ai_react_toolkit_v3_ProductCard = require("@envive-ai/react-toolkit-v3/ProductCard");
17
+ let __envive_ai_react_toolkit_v3_PromptButton_types = require("@envive-ai/react-toolkit-v3/PromptButton/types");
14
18
 
15
19
  //#region src/widgets/ProductCardWidget/ProductCardWidget.tsx
16
20
  const mockPrompts = [
@@ -40,6 +44,11 @@ const ProductCardWidgetHandler = (props) => {
40
44
  const fallbackColor = productCardWidgetConfig?.fallbackColor;
41
45
  const imageSrc = productCardWidgetConfig?.imageSrc || "";
42
46
  const { trackEvent } = (0, __envive_ai_react_hooks_contexts_amplitudeContext.useAmplitude)();
47
+ const { trackWidgetInteraction } = (0, __envive_ai_react_hooks_hooks_WidgetInteraction.useWidgetInteraction)();
48
+ const { onClick: onSuggestionClick, onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = (0, __envive_ai_react_toolkit_v3_PromptCarousel.usePromptCarouselAnalytics)(__envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.IMAGE_PROMPT_CARD, (text) => {
49
+ const rawValues = hardcopyContent?.rawValues;
50
+ return require_functions.getStringIdForText(rawValues, text);
51
+ });
43
52
  const { widgetConfigId } = props;
44
53
  (0, react.useEffect)(() => {
45
54
  trackEvent({
@@ -50,16 +59,39 @@ const ProductCardWidgetHandler = (props) => {
50
59
  }
51
60
  });
52
61
  }, [trackEvent, widgetConfigId]);
53
- const handleSelect = (0, react.useCallback)((prompt) => {
62
+ const handleSelect = (0, react.useCallback)((text) => {
63
+ const rawValues = hardcopyContent?.rawValues;
64
+ const stringId = require_functions.getStringIdForText(rawValues, text);
65
+ trackEvent({
66
+ eventName: __envive_ai_react_hooks_contexts_amplitudeContext.EnviveMetricsEventName.WidgetTextClicked,
67
+ eventProps: {
68
+ response_id: hardcopyContent?.responseId,
69
+ string_id: stringId,
70
+ text
71
+ }
72
+ });
54
73
  onTypedMessageSubmitted({
55
- query: prompt,
74
+ query: text,
56
75
  userTyped: false,
57
76
  displayLocation: __envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.PRODUCT_CARD_PROMPT_BUTTON
58
77
  });
59
78
  openChat(__envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.PRODUCT_CARD_PROMPT_BUTTON);
60
- }, [onTypedMessageSubmitted, openChat]);
79
+ onSuggestionClick(text);
80
+ }, [
81
+ hardcopyContent,
82
+ onTypedMessageSubmitted,
83
+ openChat,
84
+ trackEvent
85
+ ]);
61
86
  const handleInputClick = (0, react.useCallback)(() => {
62
87
  openChat(__envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.PRODUCT_CARD_TEXT_FIELD);
88
+ trackWidgetInteraction({
89
+ eventName: __envive_ai_react_hooks_contexts_amplitudeContext.EnviveMetricsEventName.WidgetInteraction,
90
+ trigger: {
91
+ widget: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.IMAGE_PROMPT_CARD,
92
+ widget_interaction: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionType.QUERY_INPUT_CLICKED
93
+ }
94
+ });
63
95
  }, [openChat]);
64
96
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__envive_ai_react_toolkit_v3_ProductCard.ProductCard, {
65
97
  theme: __envive_ai_react_toolkit_v3_Tokens.Theme.GLOBAL_CUSTOM,
@@ -75,6 +107,12 @@ const ProductCardWidgetHandler = (props) => {
75
107
  textTypingDuration: 800,
76
108
  textTransition: 2e3,
77
109
  onSelect: handleSelect,
110
+ onDrag,
111
+ onHover,
112
+ onMouseDown,
113
+ onMouseUp,
114
+ onTouchStart,
115
+ onTouchEnd,
78
116
  onInputClick: handleInputClick
79
117
  });
80
118
  };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime14 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime8 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_runtime14.JSX.Element;
10
+ }: ProductCardWidgetProps): react_jsx_runtime8.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime9 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime15 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_runtime9.JSX.Element;
10
+ }: ProductCardWidgetProps): react_jsx_runtime15.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,15 +1,19 @@
1
1
  import { withBaseWidget } from "../../hocs/withBaseWidget/withBaseWidget.js";
2
2
  import "../../hocs/withBaseWidget/index.js";
3
+ import { getStringIdForText } from "../utils/functions.js";
3
4
  import { useCallback, useEffect } from "react";
4
- import { SpiffyMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
5
+ import { EnviveMetricsEventName, SpiffyMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
5
6
  import { jsx } from "react/jsx-runtime";
6
- import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
7
7
  import { useSalesAgent } from "@envive-ai/react-hooks/contexts/salesAgentContext";
8
+ import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
8
9
  import { useChatToggle } from "@envive-ai/react-hooks/hooks/ChatToggle";
9
- import { Theme } from "@envive-ai/react-toolkit-v3/Tokens";
10
10
  import { ChatElementDisplayLocationV3 } from "@envive-ai/react-hooks/application/models";
11
- import { PromptButtonVariant } from "@envive-ai/react-toolkit-v3/PromptButton/types";
11
+ import { useWidgetInteraction } from "@envive-ai/react-hooks/hooks/WidgetInteraction";
12
+ import { WidgetInteractionComponent, WidgetInteractionType } from "@envive-ai/react-hooks/hooks/WidgetInteraction/types";
13
+ import { usePromptCarouselAnalytics } from "@envive-ai/react-toolkit-v3/PromptCarousel";
14
+ import { Theme } from "@envive-ai/react-toolkit-v3/Tokens";
12
15
  import { ProductCard } from "@envive-ai/react-toolkit-v3/ProductCard";
16
+ import { PromptButtonVariant } from "@envive-ai/react-toolkit-v3/PromptButton/types";
13
17
 
14
18
  //#region src/widgets/ProductCardWidget/ProductCardWidget.tsx
15
19
  const mockPrompts = [
@@ -39,6 +43,11 @@ const ProductCardWidgetHandler = (props) => {
39
43
  const fallbackColor = productCardWidgetConfig?.fallbackColor;
40
44
  const imageSrc = productCardWidgetConfig?.imageSrc || "";
41
45
  const { trackEvent } = useAmplitude();
46
+ const { trackWidgetInteraction } = useWidgetInteraction();
47
+ const { onClick: onSuggestionClick, onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = usePromptCarouselAnalytics(WidgetInteractionComponent.IMAGE_PROMPT_CARD, (text) => {
48
+ const rawValues = hardcopyContent?.rawValues;
49
+ return getStringIdForText(rawValues, text);
50
+ });
42
51
  const { widgetConfigId } = props;
43
52
  useEffect(() => {
44
53
  trackEvent({
@@ -49,16 +58,39 @@ const ProductCardWidgetHandler = (props) => {
49
58
  }
50
59
  });
51
60
  }, [trackEvent, widgetConfigId]);
52
- const handleSelect = useCallback((prompt) => {
61
+ const handleSelect = useCallback((text) => {
62
+ const rawValues = hardcopyContent?.rawValues;
63
+ const stringId = getStringIdForText(rawValues, text);
64
+ trackEvent({
65
+ eventName: EnviveMetricsEventName.WidgetTextClicked,
66
+ eventProps: {
67
+ response_id: hardcopyContent?.responseId,
68
+ string_id: stringId,
69
+ text
70
+ }
71
+ });
53
72
  onTypedMessageSubmitted({
54
- query: prompt,
73
+ query: text,
55
74
  userTyped: false,
56
75
  displayLocation: ChatElementDisplayLocationV3.PRODUCT_CARD_PROMPT_BUTTON
57
76
  });
58
77
  openChat(ChatElementDisplayLocationV3.PRODUCT_CARD_PROMPT_BUTTON);
59
- }, [onTypedMessageSubmitted, openChat]);
78
+ onSuggestionClick(text);
79
+ }, [
80
+ hardcopyContent,
81
+ onTypedMessageSubmitted,
82
+ openChat,
83
+ trackEvent
84
+ ]);
60
85
  const handleInputClick = useCallback(() => {
61
86
  openChat(ChatElementDisplayLocationV3.PRODUCT_CARD_TEXT_FIELD);
87
+ trackWidgetInteraction({
88
+ eventName: EnviveMetricsEventName.WidgetInteraction,
89
+ trigger: {
90
+ widget: WidgetInteractionComponent.IMAGE_PROMPT_CARD,
91
+ widget_interaction: WidgetInteractionType.QUERY_INPUT_CLICKED
92
+ }
93
+ });
62
94
  }, [openChat]);
63
95
  return /* @__PURE__ */ jsx(ProductCard, {
64
96
  theme: Theme.GLOBAL_CUSTOM,
@@ -74,6 +106,12 @@ const ProductCardWidgetHandler = (props) => {
74
106
  textTypingDuration: 800,
75
107
  textTransition: 2e3,
76
108
  onSelect: handleSelect,
109
+ onDrag,
110
+ onHover,
111
+ onMouseDown,
112
+ onMouseUp,
113
+ onTouchStart,
114
+ onTouchEnd,
77
115
  onInputClick: handleInputClick
78
116
  });
79
117
  };
@@ -4,20 +4,25 @@ const require_functions = require('../utils/functions.cjs');
4
4
  let react = require("react");
5
5
  let __envive_ai_react_hooks_contexts_amplitudeContext = require("@envive-ai/react-hooks/contexts/amplitudeContext");
6
6
  let react_jsx_runtime = require("react/jsx-runtime");
7
- let __envive_ai_react_hooks_contexts_typesV3 = require("@envive-ai/react-hooks/contexts/typesV3");
8
- let jotai = require("jotai");
7
+ let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
9
8
  let __envive_ai_react_hooks_contexts_salesAgentContext = require("@envive-ai/react-hooks/contexts/salesAgentContext");
9
+ let __envive_ai_react_hooks_contexts_typesV3 = require("@envive-ai/react-hooks/contexts/typesV3");
10
10
  let __envive_ai_react_hooks_hooks_ChatToggle = require("@envive-ai/react-hooks/hooks/ChatToggle");
11
- let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
12
- let __envive_ai_react_toolkit_v3_Tokens = require("@envive-ai/react-toolkit-v3/Tokens");
11
+ let jotai = require("jotai");
13
12
  let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
14
13
  let __envive_ai_react_hooks_atoms_app = require("@envive-ai/react-hooks/atoms/app");
14
+ let __envive_ai_react_hooks_hooks_WidgetInteraction = require("@envive-ai/react-hooks/hooks/WidgetInteraction");
15
+ let __envive_ai_react_hooks_hooks_WidgetInteraction_types = require("@envive-ai/react-hooks/hooks/WidgetInteraction/types");
16
+ let __envive_ai_react_toolkit_v3_PromptCarousel = require("@envive-ai/react-toolkit-v3/PromptCarousel");
17
+ let __envive_ai_react_toolkit_v3_Tokens = require("@envive-ai/react-toolkit-v3/Tokens");
15
18
  let __envive_ai_react_toolkit_v3_PromptButtonCarouselWithImage = require("@envive-ai/react-toolkit-v3/PromptButtonCarouselWithImage");
16
19
 
17
20
  //#region src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.tsx
18
21
  const PromptButtonCarouselWithImageWidgetHandler = (props) => {
19
22
  const { onTypedMessageSubmitted } = (0, __envive_ai_react_hooks_contexts_salesAgentContext.useSalesAgent)();
20
23
  const { openChat } = (0, __envive_ai_react_hooks_hooks_ChatToggle.useChatToggle)();
24
+ const { trackWidgetInteraction } = (0, __envive_ai_react_hooks_hooks_WidgetInteraction.useWidgetInteraction)();
25
+ const { onClick: onSuggestionClick, onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = (0, __envive_ai_react_toolkit_v3_PromptCarousel.usePromptCarouselAnalytics)(__envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.SINGLE_IMAGE_PROMPT, (text) => text);
21
26
  const { hardcopyContent, widgetConfig, isLoading, widgetConfigId } = props;
22
27
  const promptButtonCarouselWithImageWidgetConfig = widgetConfig;
23
28
  const id = widgetConfig?.contentId;
@@ -37,15 +42,33 @@ const PromptButtonCarouselWithImageWidgetHandler = (props) => {
37
42
  });
38
43
  }, [trackEvent, widgetConfigId]);
39
44
  const handlePromptButtonClick = (0, react.useCallback)((text) => {
45
+ const rawValues = hardcopyContent?.rawValues;
46
+ const stringId = require_functions.getStringIdForText(rawValues, text);
47
+ trackEvent({
48
+ eventName: __envive_ai_react_hooks_contexts_amplitudeContext.EnviveMetricsEventName.WidgetTextClicked,
49
+ eventProps: {
50
+ response_id: hardcopyContent?.responseId,
51
+ string_id: stringId,
52
+ text
53
+ }
54
+ });
40
55
  onTypedMessageSubmitted({
41
56
  query: text,
42
57
  userTyped: false,
43
58
  displayLocation: __envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.PROMPT_BUTTON_CAROUSEL_WITH_IMAGE_PROMPT_BUTTON
44
59
  });
45
60
  openChat(__envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.PROMPT_BUTTON_CAROUSEL_WITH_IMAGE_PROMPT_BUTTON);
61
+ onSuggestionClick(text);
46
62
  }, [onTypedMessageSubmitted, openChat]);
47
63
  const handleTextFieldClick = (0, react.useCallback)(() => {
48
64
  openChat(__envive_ai_react_hooks_application_models.ChatElementDisplayLocationV3.PROMPT_BUTTON_CAROUSEL_WITH_IMAGE_TEXT_FIELD);
65
+ trackWidgetInteraction({
66
+ eventName: __envive_ai_react_hooks_contexts_amplitudeContext.EnviveMetricsEventName.WidgetInteraction,
67
+ trigger: {
68
+ widget: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.SINGLE_IMAGE_PROMPT,
69
+ widget_interaction: __envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionType.QUERY_INPUT_CLICKED
70
+ }
71
+ });
49
72
  }, [openChat]);
50
73
  const variantInfo = (0, jotai.useAtomValue)(__envive_ai_react_hooks_atoms_app.variantInfoAtom);
51
74
  const productId = variantInfo.variant === __envive_ai_react_hooks_application_models.VariantTypeEnum.Pdp ? variantInfo.productId : void 0;
@@ -67,6 +90,12 @@ const PromptButtonCarouselWithImageWidgetHandler = (props) => {
67
90
  textFieldPlaceholder: hardCopyContent?.textFieldPlaceholder,
68
91
  hideTextField: promptButtonCarouselWithImageWidgetConfig?.hideTextField,
69
92
  handlePromptButtonClick,
93
+ handlePromptButtonDrag: onDrag,
94
+ handlePromptButtonHover: onHover,
95
+ handlePromptButtonMouseDown: onMouseDown,
96
+ handlePromptButtonMouseUp: onMouseUp,
97
+ handlePromptButtonTouchStart: onTouchStart,
98
+ handlePromptButtonTouchEnd: onTouchEnd,
70
99
  handleTextFieldClick
71
100
  });
72
101
  };
@@ -1,9 +1,9 @@
1
1
  import { BaseWidgetProps } from "../../hocs/withBaseWidget/types.cjs";
2
- import * as react_jsx_runtime4 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime13 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_runtime4.JSX.Element;
6
+ (props: BaseWidgetProps): react_jsx_runtime13.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_runtime4.JSX.Element;
15
+ }: PromptButtonCarouselWithImageWidgetProps): react_jsx_runtime13.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_runtime2 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 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_runtime2.JSX.Element;
6
+ (props: BaseWidgetProps): react_jsx_runtime0.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_runtime2.JSX.Element;
15
+ }: PromptButtonCarouselWithImageWidgetProps): react_jsx_runtime0.JSX.Element;
16
16
  displayName: string;
17
17
  };
18
18
  //#endregion
@@ -1,22 +1,27 @@
1
1
  import { withBaseWidget } from "../../hocs/withBaseWidget/withBaseWidget.js";
2
- import { getRecentProductImageUrls } from "../utils/functions.js";
2
+ import { getRecentProductImageUrls, getStringIdForText } from "../utils/functions.js";
3
3
  import { useCallback, useEffect, useMemo } from "react";
4
- import { SpiffyMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
4
+ import { EnviveMetricsEventName, SpiffyMetricsEventName, useAmplitude } from "@envive-ai/react-hooks/contexts/amplitudeContext";
5
5
  import { jsx } from "react/jsx-runtime";
6
- import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
7
- import { useAtomValue } from "jotai";
6
+ import { lastAssistantMessageAtom } from "@envive-ai/react-hooks/atoms/chat";
8
7
  import { useSalesAgent } from "@envive-ai/react-hooks/contexts/salesAgentContext";
8
+ import { WidgetTypeV3 } from "@envive-ai/react-hooks/contexts/typesV3";
9
9
  import { useChatToggle } from "@envive-ai/react-hooks/hooks/ChatToggle";
10
- import { lastAssistantMessageAtom } from "@envive-ai/react-hooks/atoms/chat";
11
- import { Theme } from "@envive-ai/react-toolkit-v3/Tokens";
10
+ import { useAtomValue } from "jotai";
12
11
  import { ChatElementDisplayLocationV3, VariantTypeEnum } from "@envive-ai/react-hooks/application/models";
13
12
  import { variantInfoAtom } from "@envive-ai/react-hooks/atoms/app";
13
+ import { useWidgetInteraction } from "@envive-ai/react-hooks/hooks/WidgetInteraction";
14
+ import { WidgetInteractionComponent, WidgetInteractionType } from "@envive-ai/react-hooks/hooks/WidgetInteraction/types";
15
+ import { usePromptCarouselAnalytics } from "@envive-ai/react-toolkit-v3/PromptCarousel";
16
+ import { Theme } from "@envive-ai/react-toolkit-v3/Tokens";
14
17
  import { PromptButtonCarouselWithImage } from "@envive-ai/react-toolkit-v3/PromptButtonCarouselWithImage";
15
18
 
16
19
  //#region src/widgets/PromptButtonCarouselWithImageWidget/PromptButtonCarouselWithImageWidget.tsx
17
20
  const PromptButtonCarouselWithImageWidgetHandler = (props) => {
18
21
  const { onTypedMessageSubmitted } = useSalesAgent();
19
22
  const { openChat } = useChatToggle();
23
+ const { trackWidgetInteraction } = useWidgetInteraction();
24
+ const { onClick: onSuggestionClick, onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = usePromptCarouselAnalytics(WidgetInteractionComponent.SINGLE_IMAGE_PROMPT, (text) => text);
20
25
  const { hardcopyContent, widgetConfig, isLoading, widgetConfigId } = props;
21
26
  const promptButtonCarouselWithImageWidgetConfig = widgetConfig;
22
27
  const id = widgetConfig?.contentId;
@@ -36,15 +41,33 @@ const PromptButtonCarouselWithImageWidgetHandler = (props) => {
36
41
  });
37
42
  }, [trackEvent, widgetConfigId]);
38
43
  const handlePromptButtonClick = useCallback((text) => {
44
+ const rawValues = hardcopyContent?.rawValues;
45
+ const stringId = getStringIdForText(rawValues, text);
46
+ trackEvent({
47
+ eventName: EnviveMetricsEventName.WidgetTextClicked,
48
+ eventProps: {
49
+ response_id: hardcopyContent?.responseId,
50
+ string_id: stringId,
51
+ text
52
+ }
53
+ });
39
54
  onTypedMessageSubmitted({
40
55
  query: text,
41
56
  userTyped: false,
42
57
  displayLocation: ChatElementDisplayLocationV3.PROMPT_BUTTON_CAROUSEL_WITH_IMAGE_PROMPT_BUTTON
43
58
  });
44
59
  openChat(ChatElementDisplayLocationV3.PROMPT_BUTTON_CAROUSEL_WITH_IMAGE_PROMPT_BUTTON);
60
+ onSuggestionClick(text);
45
61
  }, [onTypedMessageSubmitted, openChat]);
46
62
  const handleTextFieldClick = useCallback(() => {
47
63
  openChat(ChatElementDisplayLocationV3.PROMPT_BUTTON_CAROUSEL_WITH_IMAGE_TEXT_FIELD);
64
+ trackWidgetInteraction({
65
+ eventName: EnviveMetricsEventName.WidgetInteraction,
66
+ trigger: {
67
+ widget: WidgetInteractionComponent.SINGLE_IMAGE_PROMPT,
68
+ widget_interaction: WidgetInteractionType.QUERY_INPUT_CLICKED
69
+ }
70
+ });
48
71
  }, [openChat]);
49
72
  const variantInfo = useAtomValue(variantInfoAtom);
50
73
  const productId = variantInfo.variant === VariantTypeEnum.Pdp ? variantInfo.productId : void 0;
@@ -66,6 +89,12 @@ const PromptButtonCarouselWithImageWidgetHandler = (props) => {
66
89
  textFieldPlaceholder: hardCopyContent?.textFieldPlaceholder,
67
90
  hideTextField: promptButtonCarouselWithImageWidgetConfig?.hideTextField,
68
91
  handlePromptButtonClick,
92
+ handlePromptButtonDrag: onDrag,
93
+ handlePromptButtonHover: onHover,
94
+ handlePromptButtonMouseDown: onMouseDown,
95
+ handlePromptButtonMouseUp: onMouseUp,
96
+ handlePromptButtonTouchStart: onTouchStart,
97
+ handlePromptButtonTouchEnd: onTouchEnd,
69
98
  handleTextFieldClick
70
99
  });
71
100
  };
@@ -1,26 +1,20 @@
1
1
  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
+ const require_functions = require('../utils/functions.cjs');
4
5
  let react = require("react");
5
6
  let __envive_ai_react_hooks_contexts_amplitudeContext = require("@envive-ai/react-hooks/contexts/amplitudeContext");
6
7
  let react_jsx_runtime = require("react/jsx-runtime");
7
- let __envive_ai_react_hooks_contexts_typesV3 = require("@envive-ai/react-hooks/contexts/typesV3");
8
8
  let __envive_ai_react_hooks_contexts_salesAgentContext = require("@envive-ai/react-hooks/contexts/salesAgentContext");
9
+ let __envive_ai_react_hooks_contexts_typesV3 = require("@envive-ai/react-hooks/contexts/typesV3");
9
10
  let __envive_ai_react_hooks_hooks_ChatToggle = require("@envive-ai/react-hooks/hooks/ChatToggle");
10
- let __envive_ai_react_toolkit_v3_Tokens = require("@envive-ai/react-toolkit-v3/Tokens");
11
11
  let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
12
- let __envive_ai_react_toolkit_v3_PromptCarousel_types_types = require("@envive-ai/react-toolkit-v3/PromptCarousel/types/types");
12
+ let __envive_ai_react_hooks_hooks_WidgetInteraction_types = require("@envive-ai/react-hooks/hooks/WidgetInteraction/types");
13
13
  let __envive_ai_react_toolkit_v3_PromptCarousel = require("@envive-ai/react-toolkit-v3/PromptCarousel");
14
+ let __envive_ai_react_toolkit_v3_Tokens = require("@envive-ai/react-toolkit-v3/Tokens");
15
+ let __envive_ai_react_toolkit_v3_PromptCarousel_types_types = require("@envive-ai/react-toolkit-v3/PromptCarousel/types/types");
14
16
 
15
17
  //#region src/widgets/PromptCarouselWidget/PromptCarouselWidget.tsx
16
- /** Finds the string_id (id) from raw widget text values for the given display text */
17
- function getStringIdForText(rawValues, text) {
18
- if (!rawValues) return void 0;
19
- for (const raw of Object.values(rawValues)) {
20
- const found = (Array.isArray(raw) ? raw : [raw]).find((s) => s.value === text);
21
- if (found) return found.id;
22
- }
23
- }
24
18
  const mockButtonTexts = [
25
19
  "Loading button 1",
26
20
  "Loading button 2",
@@ -32,6 +26,10 @@ const PromptCarouselWidgetHandler = (props) => {
32
26
  const { onTypedMessageSubmitted } = (0, __envive_ai_react_hooks_contexts_salesAgentContext.useSalesAgent)();
33
27
  const { openChat } = (0, __envive_ai_react_hooks_hooks_ChatToggle.useChatToggle)();
34
28
  const { hardcopyContent, widgetConfig, isLoading, widgetConfigId } = props;
29
+ const { onClick: onSuggestionClick, onDrag, onHover, onMouseDown, onMouseUp, onTouchStart, onTouchEnd } = (0, __envive_ai_react_toolkit_v3_PromptCarousel.usePromptCarouselAnalytics)(__envive_ai_react_hooks_hooks_WidgetInteraction_types.WidgetInteractionComponent.SUGGESTION_BAR, (text) => {
30
+ const rawValues = hardcopyContent?.rawValues;
31
+ return require_functions.getStringIdForText(rawValues, text);
32
+ });
35
33
  const promptButtonTexts = hardcopyContent?.values?.promptButtonTexts || [];
36
34
  const buttonTexts = isLoading ? mockButtonTexts : promptButtonTexts;
37
35
  const promptCarouselWidgetConfig = widgetConfig;
@@ -52,7 +50,8 @@ const PromptCarouselWidgetHandler = (props) => {
52
50
  }, [trackEvent, widgetConfigId]);
53
51
  const handleButtonClick = (0, react.useCallback)((text) => {
54
52
  const rawValues = hardcopyContent?.rawValues;
55
- const stringId = getStringIdForText(rawValues, text);
53
+ const stringId = require_functions.getStringIdForText(rawValues, text);
54
+ onSuggestionClick(stringId);
56
55
  trackEvent({
57
56
  eventName: __envive_ai_react_hooks_contexts_amplitudeContext.EnviveMetricsEventName.WidgetTextClicked,
58
57
  eventProps: {
@@ -83,6 +82,12 @@ const PromptCarouselWidgetHandler = (props) => {
83
82
  promptCarouselRows,
84
83
  animationSpeed,
85
84
  handleButtonClick,
85
+ handleButtonHover: onHover,
86
+ handleButtonDrag: onDrag,
87
+ handleButtonMouseUp: onMouseUp,
88
+ handleButtonMouseDown: onMouseDown,
89
+ handleButtonTouchStart: onTouchStart,
90
+ handleButtonTouchEnd: onTouchEnd,
86
91
  promptButtonTexts: buttonTexts
87
92
  });
88
93
  };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 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_runtime6.JSX.Element;
10
+ }: PromptCarouselWidgetProps): react_jsx_runtime2.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime15 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime18 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_runtime15.JSX.Element;
10
+ }: PromptCarouselWidgetProps): react_jsx_runtime18.JSX.Element;
11
11
  displayName: string;
12
12
  };
13
13
  //#endregion