@envive-ai/react-hooks 0.3.3 → 0.3.5

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 (610) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +2 -0
  2. package/dist/_virtual/rolldown_runtime.js +29 -0
  3. package/dist/application/commerce-api.cjs +12 -4
  4. package/dist/application/commerce-api.js +12 -4
  5. package/dist/application/models/api/userEvent.d.cts +4 -2
  6. package/dist/application/models/api/userEvent.d.ts +4 -2
  7. package/dist/application/models/chatElementDisplayLocationV3.cjs +24 -0
  8. package/dist/application/models/chatElementDisplayLocationV3.d.cts +21 -0
  9. package/dist/application/models/chatElementDisplayLocationV3.d.ts +21 -0
  10. package/dist/application/models/chatElementDisplayLocationV3.js +23 -0
  11. package/dist/application/models/colorsConfigV3.cjs +26 -0
  12. package/dist/application/models/colorsConfigV3.d.cts +22 -0
  13. package/dist/application/models/colorsConfigV3.d.ts +22 -0
  14. package/dist/application/models/colorsConfigV3.js +24 -0
  15. package/dist/application/models/featureGates.cjs +6 -1
  16. package/dist/application/models/featureGates.d.cts +6 -1
  17. package/dist/application/models/featureGates.d.ts +6 -1
  18. package/dist/application/models/featureGates.js +6 -1
  19. package/dist/application/models/frontendConfig.d.cts +4 -2
  20. package/dist/application/models/frontendConfig.d.ts +4 -2
  21. package/dist/application/models/frontendConfigV3.d.cts +14 -0
  22. package/dist/application/models/frontendConfigV3.d.ts +14 -0
  23. package/dist/application/models/guards/api/isApiFormResponse.cjs +1 -1
  24. package/dist/application/models/guards/api/isApiFormResponse.js +1 -1
  25. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.cjs +1 -1
  26. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +1 -1
  27. package/dist/application/models/guards/api/isApiOrderResponseAttributes.cjs +1 -1
  28. package/dist/application/models/guards/api/isApiOrderResponseAttributes.js +1 -1
  29. package/dist/application/models/guards/api/isApiPDPEventAttributes.cjs +2 -2
  30. package/dist/application/models/guards/api/isApiPDPEventAttributes.js +2 -2
  31. package/dist/application/models/guards/api/isApiProductResponseAttributes.cjs +1 -1
  32. package/dist/application/models/guards/api/isApiProductResponseAttributes.js +1 -1
  33. package/dist/application/models/guards/api/isApiResponse.cjs +1 -1
  34. package/dist/application/models/guards/api/isApiResponse.js +1 -1
  35. package/dist/application/models/index.cjs +3 -0
  36. package/dist/application/models/index.d.cts +4 -3
  37. package/dist/application/models/index.d.ts +4 -3
  38. package/dist/application/models/index.js +3 -2
  39. package/dist/application/models/utils/snakeToCamelTransformer.cjs +2 -1
  40. package/dist/application/models/utils/snakeToCamelTransformer.d.cts +7 -2
  41. package/dist/application/models/utils/snakeToCamelTransformer.d.ts +7 -2
  42. package/dist/application/models/utils/snakeToCamelTransformer.js +2 -2
  43. package/dist/application/utils/analyticsUtils.cjs +6 -5
  44. package/dist/application/utils/analyticsUtils.d.cts +1 -1
  45. package/dist/application/utils/analyticsUtils.d.ts +1 -1
  46. package/dist/application/utils/analyticsUtils.js +4 -3
  47. package/dist/application/utils/elementObserver.cjs +1 -1
  48. package/dist/application/utils/elementObserver.js +1 -1
  49. package/dist/application/utils/index.d.cts +1 -1
  50. package/dist/application/utils/index.d.ts +1 -1
  51. package/dist/application/utils/widgetTextFromApiWidgetTextResponse.cjs +14 -0
  52. package/dist/application/utils/widgetTextFromApiWidgetTextResponse.js +13 -0
  53. package/dist/application/utils/widgetTextRequestToApiRequest.cjs +30 -0
  54. package/dist/application/utils/widgetTextRequestToApiRequest.js +29 -0
  55. package/dist/atoms/amplitude/amplitudeTrackEventAtom.cjs +1 -1
  56. package/dist/atoms/amplitude/amplitudeTrackEventAtom.js +1 -1
  57. package/dist/atoms/app/index.cjs +6 -3
  58. package/dist/atoms/app/index.d.cts +3 -3
  59. package/dist/atoms/app/index.d.ts +3 -3
  60. package/dist/atoms/app/index.js +4 -5
  61. package/dist/atoms/app/variant.cjs +6 -1
  62. package/dist/atoms/app/variant.d.cts +21 -6
  63. package/dist/atoms/app/variant.d.ts +21 -6
  64. package/dist/atoms/app/variant.js +4 -2
  65. package/dist/atoms/chat/chatState.cjs +9 -4
  66. package/dist/atoms/chat/chatState.d.cts +25 -18
  67. package/dist/atoms/chat/chatState.d.ts +25 -18
  68. package/dist/atoms/chat/chatState.js +6 -3
  69. package/dist/atoms/chat/form.cjs +4 -4
  70. package/dist/atoms/chat/form.d.cts +2 -2
  71. package/dist/atoms/chat/form.d.ts +2 -2
  72. package/dist/atoms/chat/index.cjs +32 -30
  73. package/dist/atoms/chat/index.d.cts +5 -5
  74. package/dist/atoms/chat/index.d.ts +4 -4
  75. package/dist/atoms/chat/index.js +2 -2
  76. package/dist/atoms/chat/lastMessage.cjs +4 -4
  77. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  78. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  79. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  80. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  81. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  82. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  83. package/dist/atoms/chat/replies.cjs +9 -8
  84. package/dist/atoms/chat/replies.d.cts +3 -3
  85. package/dist/atoms/chat/replies.d.ts +3 -3
  86. package/dist/atoms/chat/replies.js +3 -2
  87. package/dist/atoms/chat/suggestions.cjs +6 -6
  88. package/dist/atoms/chat/suggestions.d.cts +2 -2
  89. package/dist/atoms/chat/suggestions.d.ts +2 -2
  90. package/dist/atoms/envive/enviveConfig.cjs +5 -12
  91. package/dist/atoms/envive/enviveConfig.js +5 -12
  92. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  93. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  94. package/dist/atoms/org/customerService.d.cts +6 -6
  95. package/dist/atoms/org/customerService.d.ts +6 -6
  96. package/dist/atoms/org/graphqlConfig.cjs +1 -3
  97. package/dist/atoms/org/graphqlConfig.d.cts +6 -9
  98. package/dist/atoms/org/graphqlConfig.d.ts +6 -9
  99. package/dist/atoms/org/graphqlConfig.js +2 -3
  100. package/dist/atoms/org/index.cjs +2 -3
  101. package/dist/atoms/org/index.d.cts +2 -2
  102. package/dist/atoms/org/index.d.ts +2 -2
  103. package/dist/atoms/org/index.js +2 -2
  104. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  105. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  106. package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
  107. package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
  108. package/dist/atoms/search/chatSearch.cjs +7 -7
  109. package/dist/atoms/search/chatSearch.d.cts +20 -18
  110. package/dist/atoms/search/chatSearch.d.ts +20 -18
  111. package/dist/atoms/search/productRetrievalAPI.cjs +1 -7
  112. package/dist/atoms/search/productRetrievalAPI.js +1 -7
  113. package/dist/atoms/search/productRetrievalAdapter.cjs +4 -4
  114. package/dist/atoms/search/productRetrievalAdapter.js +4 -4
  115. package/dist/atoms/search/searchAPI.cjs +1 -1
  116. package/dist/atoms/search/searchAPI.d.cts +15 -14
  117. package/dist/atoms/search/searchAPI.d.ts +15 -14
  118. package/dist/atoms/search/searchAPI.js +1 -1
  119. package/dist/atoms/search/types.d.cts +1 -1
  120. package/dist/atoms/search/types.d.ts +1 -1
  121. package/dist/atoms/search/utils.d.ts +1 -1
  122. package/dist/atoms/widget/chatPreviewLoading.cjs +23 -0
  123. package/dist/atoms/widget/chatPreviewLoading.d.cts +26 -0
  124. package/dist/atoms/widget/chatPreviewLoading.d.ts +26 -0
  125. package/dist/atoms/widget/chatPreviewLoading.js +22 -0
  126. package/dist/atoms/widget/index.cjs +3 -0
  127. package/dist/atoms/widget/index.d.cts +2 -0
  128. package/dist/atoms/widget/index.d.ts +2 -0
  129. package/dist/atoms/widget/index.js +3 -0
  130. package/dist/contexts/amplitudeContext/amplitudeContext.cjs +40 -227
  131. package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +4 -39
  132. package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +4 -39
  133. package/dist/contexts/amplitudeContext/amplitudeContext.js +44 -230
  134. package/dist/contexts/amplitudeContext/index.cjs +2 -1
  135. package/dist/contexts/amplitudeContext/index.d.cts +2 -1
  136. package/dist/contexts/amplitudeContext/index.d.ts +2 -1
  137. package/dist/contexts/amplitudeContext/index.js +2 -1
  138. package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +3 -2
  139. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +2 -1
  140. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +2 -1
  141. package/dist/contexts/enviveConfigContext/enviveConfigContext.js +3 -2
  142. package/dist/contexts/enviveContext/enviveContext.cjs +70 -16
  143. package/dist/contexts/enviveContext/enviveContext.d.cts +10 -1
  144. package/dist/contexts/enviveContext/enviveContext.d.ts +10 -1
  145. package/dist/contexts/enviveContext/enviveContext.js +72 -18
  146. package/dist/contexts/enviveContext/types.d.ts +1 -1
  147. package/dist/contexts/enviveCssContext/enviveCssContext.cjs +96 -24
  148. package/dist/contexts/enviveCssContext/enviveCssContext.js +96 -24
  149. package/dist/contexts/featureFlagContext/featureFlagContext.cjs +1 -1
  150. package/dist/contexts/featureFlagContext/featureFlagContext.js +1 -1
  151. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +6 -8
  152. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +2 -2
  153. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +2 -2
  154. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +6 -8
  155. package/dist/contexts/graphqlContext/graphqlContext.cjs +151 -8
  156. package/dist/contexts/graphqlContext/graphqlContext.d.cts +17 -5
  157. package/dist/contexts/graphqlContext/graphqlContext.d.ts +17 -5
  158. package/dist/contexts/graphqlContext/graphqlContext.js +151 -8
  159. package/dist/contexts/graphqlContext/index.d.cts +2 -2
  160. package/dist/contexts/graphqlContext/index.d.ts +2 -2
  161. package/dist/contexts/graphqlContext/mockV3Config.cjs +250 -0
  162. package/dist/contexts/graphqlContext/mockV3Config.js +249 -0
  163. package/dist/contexts/hardcopyContext/hardcopyContext.cjs +144 -24
  164. package/dist/contexts/hardcopyContext/hardcopyContext.d.cts +4 -3
  165. package/dist/contexts/hardcopyContext/hardcopyContext.d.ts +4 -3
  166. package/dist/contexts/hardcopyContext/hardcopyContext.js +145 -25
  167. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +7 -8
  168. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +8 -9
  169. package/dist/contexts/pageContext/index.cjs +1 -0
  170. package/dist/contexts/pageContext/index.d.cts +2 -2
  171. package/dist/contexts/pageContext/index.d.ts +2 -2
  172. package/dist/contexts/pageContext/index.js +2 -2
  173. package/dist/contexts/pageContext/mapping.cjs +95 -1
  174. package/dist/contexts/pageContext/mapping.d.cts +6 -3
  175. package/dist/contexts/pageContext/mapping.d.ts +6 -3
  176. package/dist/contexts/pageContext/mapping.js +94 -2
  177. package/dist/contexts/pageContext/pageContext.cjs +59 -11
  178. package/dist/contexts/pageContext/pageContext.d.cts +6 -2
  179. package/dist/contexts/pageContext/pageContext.d.ts +6 -2
  180. package/dist/contexts/pageContext/pageContext.js +61 -13
  181. package/dist/contexts/pageContext/types.d.cts +6 -2
  182. package/dist/contexts/pageContext/types.d.ts +6 -2
  183. package/dist/contexts/salesAgentContext/chatAPI.cjs +9 -3
  184. package/dist/contexts/salesAgentContext/chatAPI.d.cts +4 -1
  185. package/dist/contexts/salesAgentContext/chatAPI.d.ts +4 -1
  186. package/dist/contexts/salesAgentContext/chatAPI.js +9 -3
  187. package/dist/contexts/salesAgentContext/index.d.cts +2 -2
  188. package/dist/contexts/salesAgentContext/index.d.ts +2 -2
  189. package/dist/contexts/salesAgentContext/salesAgentContext.cjs +68 -26
  190. package/dist/contexts/salesAgentContext/salesAgentContext.d.cts +2 -2
  191. package/dist/contexts/salesAgentContext/salesAgentContext.d.ts +2 -2
  192. package/dist/contexts/salesAgentContext/salesAgentContext.js +67 -25
  193. package/dist/contexts/salesAgentContext/salesAgentService.cjs +49 -10
  194. package/dist/contexts/salesAgentContext/salesAgentService.js +47 -8
  195. package/dist/contexts/salesAgentContext/statusCodeError.cjs +14 -0
  196. package/dist/contexts/salesAgentContext/statusCodeError.js +13 -0
  197. package/dist/contexts/searchContext/searchContext.cjs +1 -1
  198. package/dist/contexts/searchContext/searchContext.js +1 -1
  199. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  200. package/dist/contexts/types.cjs +2 -13
  201. package/dist/contexts/types.d.cts +12 -16
  202. package/dist/contexts/types.d.ts +12 -16
  203. package/dist/contexts/types.js +3 -13
  204. package/dist/contexts/typesV3.cjs +128 -0
  205. package/dist/contexts/typesV3.d.cts +273 -0
  206. package/dist/contexts/typesV3.d.ts +273 -0
  207. package/dist/contexts/typesV3.js +116 -0
  208. package/dist/contexts/uiConfigContext/index.cjs +4 -0
  209. package/dist/contexts/uiConfigContext/index.d.cts +2 -0
  210. package/dist/contexts/uiConfigContext/index.d.ts +2 -0
  211. package/dist/contexts/uiConfigContext/index.js +3 -0
  212. package/dist/contexts/uiConfigContext/uiConfigContext.cjs +44 -0
  213. package/dist/contexts/uiConfigContext/uiConfigContext.d.cts +15 -0
  214. package/dist/contexts/uiConfigContext/uiConfigContext.d.ts +15 -0
  215. package/dist/contexts/uiConfigContext/uiConfigContext.js +42 -0
  216. package/dist/contexts/userIdentityContext/userIdentityContext.cjs +1 -1
  217. package/dist/contexts/userIdentityContext/userIdentityContext.js +1 -1
  218. package/dist/contexts/widgetConfigContext/index.cjs +4 -0
  219. package/dist/contexts/widgetConfigContext/index.d.cts +2 -0
  220. package/dist/contexts/widgetConfigContext/index.d.ts +2 -0
  221. package/dist/contexts/widgetConfigContext/index.js +3 -0
  222. package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +67 -0
  223. package/dist/contexts/widgetConfigContext/widgetConfigContext.d.cts +19 -0
  224. package/dist/contexts/widgetConfigContext/widgetConfigContext.d.ts +19 -0
  225. package/dist/contexts/widgetConfigContext/widgetConfigContext.js +65 -0
  226. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.cts +1 -1
  227. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.ts +1 -1
  228. package/dist/hooks/AppDetails/useAppDetails.cjs +2 -4
  229. package/dist/hooks/AppDetails/useAppDetails.js +3 -5
  230. package/dist/hooks/ChatToggle/useChatToggle.cjs +6 -5
  231. package/dist/hooks/ChatToggle/useChatToggle.d.cts +5 -5
  232. package/dist/hooks/ChatToggle/useChatToggle.d.ts +5 -5
  233. package/dist/hooks/ChatToggle/useChatToggle.js +3 -2
  234. package/dist/hooks/ElementObserver/useElementObserver.cjs +10 -10
  235. package/dist/hooks/ElementObserver/useElementObserver.js +10 -10
  236. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +3 -3
  237. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
  238. package/dist/hooks/GraphQLConfig/index.cjs +1 -1
  239. package/dist/hooks/GraphQLConfig/index.d.cts +2 -2
  240. package/dist/hooks/GraphQLConfig/index.d.ts +2 -2
  241. package/dist/hooks/GraphQLConfig/index.js +2 -2
  242. package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +27 -24
  243. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.cts +5 -4
  244. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.ts +5 -4
  245. package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +27 -24
  246. package/dist/hooks/Search/useSearch.cjs +11 -10
  247. package/dist/hooks/Search/useSearch.js +7 -6
  248. package/dist/hooks/Search/useSearchInput.cjs +4 -4
  249. package/dist/hooks/Search/useSearchInput.js +1 -1
  250. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +5 -4
  251. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +1 -1
  252. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +1 -1
  253. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +3 -2
  254. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.cjs +3 -2
  255. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +3 -2
  256. package/dist/hooks/utils.d.cts +1 -1
  257. package/dist/merchants/domInsertion.cjs +1 -1
  258. package/dist/merchants/domInsertion.d.cts +1 -1
  259. package/dist/merchants/domInsertion.d.ts +1 -1
  260. package/dist/merchants/domInsertion.js +1 -1
  261. package/dist/node_modules/classnames/index.cjs +52 -0
  262. package/dist/node_modules/classnames/index.js +49 -0
  263. package/dist/packages/components-v3/dist/ChatHeader/ChatHeader.cjs +2 -0
  264. package/dist/packages/components-v3/dist/ChatHeader/ChatHeader.js +4 -0
  265. package/dist/packages/components-v3/dist/ChatHeader/components/CloseButton.cjs +16 -0
  266. package/dist/packages/components-v3/dist/ChatHeader/components/CloseButton.js +17 -0
  267. package/dist/packages/components-v3/dist/ChatHeader/components/Handle.cjs +6 -0
  268. package/dist/packages/components-v3/dist/ChatHeader/components/Handle.js +8 -0
  269. package/dist/packages/components-v3/dist/ChatHeader/components/Layout.cjs +4 -0
  270. package/dist/packages/components-v3/dist/ChatHeader/components/Layout.js +6 -0
  271. package/dist/packages/components-v3/dist/ChatHeader/components/Logo.cjs +3 -0
  272. package/dist/packages/components-v3/dist/ChatHeader/components/Logo.js +5 -0
  273. package/dist/packages/components-v3/dist/ChatHeader/components/Toggle.cjs +7 -0
  274. package/dist/packages/components-v3/dist/ChatHeader/components/Toggle.js +9 -0
  275. package/dist/packages/components-v3/dist/ChatHeader/components/ToggleItem.cjs +6 -0
  276. package/dist/packages/components-v3/dist/ChatHeader/components/ToggleItem.js +8 -0
  277. package/dist/packages/components-v3/dist/ChatHeader/components/index.cjs +6 -0
  278. package/dist/packages/components-v3/dist/ChatHeader/components/index.js +8 -0
  279. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.cjs +22 -0
  280. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.js +23 -0
  281. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetHandleProperties.cjs +58 -0
  282. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetHandleProperties.js +59 -0
  283. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +8 -0
  284. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetLayoutProperties.js +9 -0
  285. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +1 -0
  286. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +3 -0
  287. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleProperties.cjs +12 -0
  288. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleProperties.js +13 -0
  289. package/dist/packages/components-v3/dist/ChatHeader/index.cjs +2 -0
  290. package/dist/packages/components-v3/dist/ChatHeader/index.js +4 -0
  291. package/dist/packages/components-v3/dist/ChatHeader/types/index.cjs +11 -0
  292. package/dist/packages/components-v3/dist/ChatHeader/types/index.js +10 -0
  293. package/dist/packages/components-v3/dist/Container/Container.cjs +11 -0
  294. package/dist/packages/components-v3/dist/Container/Container.js +12 -0
  295. package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.cjs +1 -0
  296. package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.js +3 -0
  297. package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.cjs +1 -0
  298. package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.js +3 -0
  299. package/dist/packages/components-v3/dist/Container/index.cjs +1 -0
  300. package/dist/packages/components-v3/dist/Container/index.js +3 -0
  301. package/dist/packages/components-v3/dist/Image/Image.cjs +16 -0
  302. package/dist/packages/components-v3/dist/Image/Image.js +17 -0
  303. package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.cjs +1 -0
  304. package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.js +3 -0
  305. package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.cjs +1 -0
  306. package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.js +3 -0
  307. package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.cjs +1 -0
  308. package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.js +3 -0
  309. package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.cjs +1 -0
  310. package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.js +3 -0
  311. package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.cjs +1 -0
  312. package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.js +3 -0
  313. package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.cjs +1 -0
  314. package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.js +3 -0
  315. package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.cjs +1 -0
  316. package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.js +3 -0
  317. package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.cjs +2 -0
  318. package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.js +4 -0
  319. package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.cjs +2 -0
  320. package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.js +4 -0
  321. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.cjs +15 -0
  322. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.js +16 -0
  323. package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.cjs +4 -0
  324. package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.js +4 -0
  325. package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.cjs +1 -0
  326. package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.js +3 -0
  327. package/dist/packages/components-v3/dist/ImageGallery/components/index.cjs +4 -0
  328. package/dist/packages/components-v3/dist/ImageGallery/components/index.js +6 -0
  329. package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.cjs +1 -0
  330. package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.js +3 -0
  331. package/dist/packages/components-v3/dist/ImageGallery/index.cjs +2 -0
  332. package/dist/packages/components-v3/dist/ImageGallery/index.js +4 -0
  333. package/dist/packages/components-v3/dist/ImageGallery/types/types.cjs +13 -0
  334. package/dist/packages/components-v3/dist/ImageGallery/types/types.js +12 -0
  335. package/dist/packages/components-v3/dist/PromptButton/PromptButton.cjs +12 -0
  336. package/dist/packages/components-v3/dist/PromptButton/PromptButton.js +13 -0
  337. package/dist/packages/components-v3/dist/PromptButton/components/Icon.cjs +1 -0
  338. package/dist/packages/components-v3/dist/PromptButton/components/Icon.js +3 -0
  339. package/dist/packages/components-v3/dist/PromptButton/components/Label.cjs +3 -0
  340. package/dist/packages/components-v3/dist/PromptButton/components/Label.js +5 -0
  341. package/dist/packages/components-v3/dist/PromptButton/components/Layout.cjs +12 -0
  342. package/dist/packages/components-v3/dist/PromptButton/components/Layout.js +13 -0
  343. package/dist/packages/components-v3/dist/PromptButton/components/Loading.cjs +9 -0
  344. package/dist/packages/components-v3/dist/PromptButton/components/Loading.js +10 -0
  345. package/dist/packages/components-v3/dist/PromptButton/components/index.cjs +4 -0
  346. package/dist/packages/components-v3/dist/PromptButton/components/index.js +6 -0
  347. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.cjs +1 -0
  348. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.js +3 -0
  349. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.cjs +8 -0
  350. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.js +9 -0
  351. package/dist/packages/components-v3/dist/PromptButton/index.cjs +2 -0
  352. package/dist/packages/components-v3/dist/PromptButton/index.js +4 -0
  353. package/dist/packages/components-v3/dist/PromptButton/types/index.cjs +13 -0
  354. package/dist/packages/components-v3/dist/PromptButton/types/index.js +12 -0
  355. package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.cjs +12 -0
  356. package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.js +14 -0
  357. package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.cjs +9 -0
  358. package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.js +10 -0
  359. package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.cjs +11 -0
  360. package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.js +12 -0
  361. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.cjs +4 -0
  362. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.js +6 -0
  363. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.cjs +4 -0
  364. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.js +6 -0
  365. package/dist/packages/components-v3/dist/PromptCarousel/components/index.cjs +3 -0
  366. package/dist/packages/components-v3/dist/PromptCarousel/components/index.js +5 -0
  367. package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.cjs +5 -0
  368. package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.js +7 -0
  369. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.cjs +1 -0
  370. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.js +3 -0
  371. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.cjs +3 -0
  372. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.js +5 -0
  373. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.cjs +1 -0
  374. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.js +3 -0
  375. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.cjs +1 -0
  376. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.js +3 -0
  377. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.cjs +1 -0
  378. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.js +3 -0
  379. package/dist/packages/components-v3/dist/PromptCarousel/index.cjs +2 -0
  380. package/dist/packages/components-v3/dist/PromptCarousel/index.js +4 -0
  381. package/dist/packages/components-v3/dist/PromptCarousel/types/types.cjs +19 -0
  382. package/dist/packages/components-v3/dist/PromptCarousel/types/types.js +17 -0
  383. package/dist/packages/components-v3/dist/Stack/Stack.cjs +36 -0
  384. package/dist/packages/components-v3/dist/Stack/Stack.js +36 -0
  385. package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.cjs +27 -0
  386. package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.js +26 -0
  387. package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.cjs +20 -0
  388. package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.js +19 -0
  389. package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.cjs +19 -0
  390. package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.js +18 -0
  391. package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.cjs +16 -0
  392. package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.js +15 -0
  393. package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.cjs +21 -0
  394. package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.js +20 -0
  395. package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.cjs +38 -0
  396. package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.js +38 -0
  397. package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.cjs +13 -0
  398. package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.js +12 -0
  399. package/dist/packages/components-v3/dist/Stack/index.cjs +1 -0
  400. package/dist/packages/components-v3/dist/Stack/index.js +3 -0
  401. package/dist/packages/components-v3/dist/Stack/utils/constants.cjs +42 -0
  402. package/dist/packages/components-v3/dist/Stack/utils/constants.js +41 -0
  403. package/dist/packages/components-v3/dist/Tokens/index.cjs +11 -0
  404. package/dist/packages/components-v3/dist/Tokens/index.js +13 -0
  405. package/dist/packages/components-v3/dist/Typography/Typography.cjs +15 -0
  406. package/dist/packages/components-v3/dist/Typography/Typography.js +16 -0
  407. package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.cjs +1 -0
  408. package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.js +3 -0
  409. package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.cjs +1 -0
  410. package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.js +3 -0
  411. package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.cjs +1 -0
  412. package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.js +3 -0
  413. package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.cjs +1 -0
  414. package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.js +3 -0
  415. package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.cjs +1 -0
  416. package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.js +3 -0
  417. package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.cjs +1 -0
  418. package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.js +3 -0
  419. package/dist/packages/components-v3/dist/Typography/index.cjs +1 -0
  420. package/dist/packages/components-v3/dist/Typography/index.js +3 -0
  421. package/dist/packages/components-v3/dist/WelcomeMessage/WelcomeMessage.cjs +2 -0
  422. package/dist/packages/components-v3/dist/WelcomeMessage/WelcomeMessage.js +4 -0
  423. package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.cjs +14 -0
  424. package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.js +15 -0
  425. package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.cjs +3 -0
  426. package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.js +5 -0
  427. package/dist/packages/components-v3/dist/WelcomeMessage/components/Text.cjs +3 -0
  428. package/dist/packages/components-v3/dist/WelcomeMessage/components/Text.js +5 -0
  429. package/dist/packages/components-v3/dist/WelcomeMessage/components/Title.cjs +3 -0
  430. package/dist/packages/components-v3/dist/WelcomeMessage/components/Title.js +5 -0
  431. package/dist/packages/components-v3/dist/WelcomeMessage/components/index.cjs +4 -0
  432. package/dist/packages/components-v3/dist/WelcomeMessage/components/index.js +6 -0
  433. package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetContainerProperties.cjs +1 -0
  434. package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetContainerProperties.js +3 -0
  435. package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetSparkleIconProperties.cjs +1 -0
  436. package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetSparkleIconProperties.js +3 -0
  437. package/dist/packages/components-v3/dist/WelcomeMessage/index.cjs +2 -0
  438. package/dist/packages/components-v3/dist/WelcomeMessage/index.js +4 -0
  439. package/dist/packages/components-v3/dist/WelcomeMessage/types/types.cjs +14 -0
  440. package/dist/packages/components-v3/dist/WelcomeMessage/types/types.js +14 -0
  441. package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.cjs +12 -0
  442. package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.js +13 -0
  443. package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -0
  444. package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +3 -0
  445. package/dist/packages/components-v3/dist/WidgetWrapper/index.cjs +2 -0
  446. package/dist/packages/components-v3/dist/WidgetWrapper/index.js +4 -0
  447. package/dist/packages/components-v3/dist/WidgetWrapper/types/types.cjs +13 -0
  448. package/dist/packages/components-v3/dist/WidgetWrapper/types/types.js +12 -0
  449. package/dist/packages/components-v3/dist/src/models/colorsConfig.cjs +26 -0
  450. package/dist/packages/components-v3/dist/src/models/colorsConfig.js +25 -0
  451. package/dist/packages/components-v3/dist/tokens/aspectRatio/aspectRatio.cjs +16 -0
  452. package/dist/packages/components-v3/dist/tokens/aspectRatio/aspectRatio.js +17 -0
  453. package/dist/packages/components-v3/dist/tokens/breakpoints/breakpoints.cjs +25 -0
  454. package/dist/packages/components-v3/dist/tokens/breakpoints/breakpoints.js +23 -0
  455. package/dist/packages/components-v3/dist/tokens/colors/colors.cjs +51 -0
  456. package/dist/packages/components-v3/dist/tokens/colors/colors.js +51 -0
  457. package/dist/packages/components-v3/dist/tokens/radius/radius.cjs +64 -0
  458. package/dist/packages/components-v3/dist/tokens/radius/radius.js +65 -0
  459. package/dist/packages/components-v3/dist/tokens/theme/theme.cjs +13 -0
  460. package/dist/packages/components-v3/dist/tokens/theme/theme.js +12 -0
  461. package/dist/packages/components-v3/dist/tokens/typography/fontFamily.cjs +25 -0
  462. package/dist/packages/components-v3/dist/tokens/typography/fontFamily.js +25 -0
  463. package/dist/packages/components-v3/dist/tokens/typography/fontSize.cjs +37 -0
  464. package/dist/packages/components-v3/dist/tokens/typography/fontSize.js +38 -0
  465. package/dist/packages/components-v3/dist/tokens/typography/fontWeight.cjs +17 -0
  466. package/dist/packages/components-v3/dist/tokens/typography/fontWeight.js +18 -0
  467. package/dist/packages/components-v3/dist/tokens/typography/letterSpacing.cjs +15 -0
  468. package/dist/packages/components-v3/dist/tokens/typography/letterSpacing.js +16 -0
  469. package/dist/packages/components-v3/dist/tokens/typography/lineHeight.cjs +31 -0
  470. package/dist/packages/components-v3/dist/tokens/typography/lineHeight.js +32 -0
  471. package/dist/packages/components-v3/dist/tokens/typography/typography.cjs +5 -0
  472. package/dist/packages/components-v3/dist/tokens/typography/typography.js +7 -0
  473. package/dist/packages/components-v3/dist/tokens/utils.cjs +7 -0
  474. package/dist/packages/components-v3/dist/tokens/utils.js +6 -0
  475. package/dist/packages/components-v3/dist/utils/useCheckIsMobile.cjs +1 -0
  476. package/dist/packages/components-v3/dist/utils/useCheckIsMobile.js +3 -0
  477. package/dist/packages/components-v3/dist/utils/useResponsiveValue.cjs +57 -0
  478. package/dist/packages/components-v3/dist/utils/useResponsiveValue.js +56 -0
  479. package/dist/packages/icons/dist/FourPointStar.cjs +8 -0
  480. package/dist/packages/icons/dist/FourPointStar.js +9 -0
  481. package/dist/packages/icons/dist/IconCloseRounded.cjs +22 -0
  482. package/dist/packages/icons/dist/IconCloseRounded.js +22 -0
  483. package/dist/packages/icons/dist/IconCloseSharp.cjs +31 -0
  484. package/dist/packages/icons/dist/IconCloseSharp.js +31 -0
  485. package/dist/packages/icons/dist/IconCloseTransparent.cjs +24 -0
  486. package/dist/packages/icons/dist/IconCloseTransparent.js +24 -0
  487. package/dist/packages/icons/dist/Sparkles.cjs +8 -0
  488. package/dist/packages/icons/dist/Sparkles.js +9 -0
  489. package/dist/packages/icons/dist/_virtual/rolldown_runtime.cjs +28 -0
  490. package/dist/packages/icons/dist/_virtual/rolldown_runtime.js +26 -0
  491. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +697 -0
  492. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js +697 -0
  493. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs +44 -0
  494. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +44 -0
  495. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.cjs +1529 -0
  496. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.js +1529 -0
  497. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.cjs +330 -0
  498. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.js +330 -0
  499. package/dist/packages/icons/dist/node_modules/react/index.cjs +14 -0
  500. package/dist/packages/icons/dist/node_modules/react/index.js +14 -0
  501. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.cjs +14 -0
  502. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.js +14 -0
  503. package/dist/services/amplitudeService/amplitudeService.cjs +204 -0
  504. package/dist/services/amplitudeService/amplitudeService.d.cts +75 -0
  505. package/dist/services/amplitudeService/amplitudeService.d.ts +75 -0
  506. package/dist/services/amplitudeService/amplitudeService.js +202 -0
  507. package/dist/services/amplitudeService/index.cjs +4 -0
  508. package/dist/services/amplitudeService/index.d.cts +2 -0
  509. package/dist/services/amplitudeService/index.d.ts +2 -0
  510. package/dist/services/amplitudeService/index.js +3 -0
  511. package/dist/services/enviveConfigService/enviveConfigService.cjs +36 -0
  512. package/dist/services/enviveConfigService/enviveConfigService.d.cts +43 -0
  513. package/dist/services/enviveConfigService/enviveConfigService.d.ts +43 -0
  514. package/dist/services/enviveConfigService/enviveConfigService.js +36 -0
  515. package/dist/services/enviveConfigService/index.cjs +3 -0
  516. package/dist/services/enviveConfigService/index.d.cts +2 -0
  517. package/dist/services/enviveConfigService/index.d.ts +2 -0
  518. package/dist/services/enviveConfigService/index.js +3 -0
  519. package/dist/types/customerService.cjs +20 -0
  520. package/dist/types/customerService.js +19 -0
  521. package/dist/types/enviveConfig.d.cts +29 -0
  522. package/dist/types/enviveConfig.d.ts +29 -0
  523. package/dist/types/index.d.cts +2 -1
  524. package/dist/types/index.d.ts +2 -1
  525. package/package.json +36 -8
  526. package/src/application/commerce-api.ts +14 -1
  527. package/src/application/models/api/userEvent.ts +3 -1
  528. package/src/application/models/api/widgetText.ts +9 -0
  529. package/src/application/models/api/widgetTextRequest.ts +10 -0
  530. package/src/application/models/chatElementDisplayLocationV3.ts +18 -0
  531. package/src/application/models/colorsConfigV3.ts +26 -0
  532. package/src/application/models/featureGates.ts +6 -0
  533. package/src/application/models/frontendConfig.ts +5 -0
  534. package/src/application/models/frontendConfigV3.ts +10 -0
  535. package/src/application/models/guards/api/isApiPDPEventAttributes.ts +5 -1
  536. package/src/application/models/index.ts +1 -0
  537. package/src/application/models/utils/snakeToCamelTransformer.ts +1 -1
  538. package/src/application/utils/elementObserver.ts +2 -2
  539. package/src/application/utils/widgetTextFromApiWidgetTextResponse.ts +30 -0
  540. package/src/application/utils/widgetTextRequestToApiRequest.ts +45 -0
  541. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -8
  542. package/src/atoms/app/index.ts +9 -3
  543. package/src/atoms/app/variant.ts +8 -2
  544. package/src/atoms/chat/chatState.ts +10 -2
  545. package/src/atoms/envive/enviveConfig.ts +5 -11
  546. package/src/atoms/org/graphqlConfig.ts +0 -1
  547. package/src/atoms/search/productRetrievalAPI.ts +0 -8
  548. package/src/atoms/search/productRetrievalAdapter.ts +6 -10
  549. package/src/atoms/widget/chatPreviewLoading.ts +36 -0
  550. package/src/atoms/widget/index.ts +1 -0
  551. package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +196 -187
  552. package/src/contexts/amplitudeContext/amplitudeContext.tsx +56 -334
  553. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +3 -0
  554. package/src/contexts/enviveContext/enviveContext.tsx +103 -27
  555. package/src/contexts/enviveCssContext/enviveCssContext.tsx +121 -22
  556. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +12 -11
  557. package/src/contexts/graphqlContext/graphqlContext.tsx +250 -13
  558. package/src/contexts/graphqlContext/mockV3Config.ts +250 -0
  559. package/src/contexts/hardcopyContext/hardcopyContext.tsx +159 -21
  560. package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +6 -6
  561. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +5 -13
  562. package/src/contexts/pageContext/__tests__/pageContext.test.tsx +141 -75
  563. package/src/contexts/pageContext/mapping.ts +188 -2
  564. package/src/contexts/pageContext/pageContext.tsx +68 -14
  565. package/src/contexts/pageContext/types.ts +5 -2
  566. package/src/contexts/salesAgentContext/chatAPI.ts +10 -0
  567. package/src/contexts/salesAgentContext/salesAgentContext.tsx +104 -45
  568. package/src/contexts/salesAgentContext/salesAgentService.ts +91 -4
  569. package/src/contexts/salesAgentContext/statusCodeError.ts +10 -0
  570. package/src/contexts/searchContext/__tests__/searchContext.test.tsx +8 -2
  571. package/src/contexts/types.ts +15 -19
  572. package/src/contexts/typesV3.ts +348 -0
  573. package/src/contexts/uiConfigContext/__tests__/uiConfigContext.test.tsx +329 -0
  574. package/src/contexts/uiConfigContext/index.ts +1 -0
  575. package/src/contexts/uiConfigContext/uiConfigContext.tsx +44 -0
  576. package/src/contexts/widgetConfigContext/__tests__/widgetConfigContext.test.tsx +512 -0
  577. package/src/contexts/widgetConfigContext/index.ts +1 -0
  578. package/src/contexts/widgetConfigContext/widgetConfigContext.tsx +84 -0
  579. package/src/hooks/AppDetails/useAppDetails.ts +2 -2
  580. package/src/hooks/ChatToggle/useChatToggle.ts +4 -4
  581. package/src/hooks/ElementObserver/useElementObserver.ts +9 -9
  582. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +22 -21
  583. package/src/hooks/Search/__tests__/useSearch.test.tsx +15 -6
  584. package/src/hooks/Search/useSearch.tsx +6 -5
  585. package/src/merchants/domInsertion.ts +0 -16
  586. package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +558 -0
  587. package/src/services/amplitudeService/amplitudeService.ts +324 -0
  588. package/src/services/amplitudeService/index.ts +1 -0
  589. package/src/services/enviveConfigService/enviveConfigService.ts +72 -0
  590. package/src/services/enviveConfigService/index.ts +1 -0
  591. package/src/types/enviveConfig.ts +27 -0
  592. package/src/types/index.ts +1 -0
  593. package/dist/hooks/ChatToggleAnalytics/index.cjs +0 -3
  594. package/dist/hooks/ChatToggleAnalytics/index.d.cts +0 -2
  595. package/dist/hooks/ChatToggleAnalytics/index.d.ts +0 -2
  596. package/dist/hooks/ChatToggleAnalytics/index.js +0 -3
  597. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.cjs +0 -19
  598. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.cts +0 -9
  599. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.ts +0 -9
  600. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.js +0 -18
  601. package/src/application/utils/cdnUtils.ts +0 -8
  602. package/src/config/divIds.ts +0 -31
  603. package/src/config/locators/components/chat/entrypoints.ts +0 -13
  604. package/src/config/locators/components/chat/preview.ts +0 -12
  605. package/src/config/locators/components/report-issue.ts +0 -21
  606. package/src/config/socialProofClasses.ts +0 -12
  607. package/src/events/registerAnalyticsListeners.ts +0 -44
  608. package/src/hooks/ChatToggleAnalytics/index.ts +0 -1
  609. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +0 -15
  610. package/src/types/FilterAttribute.ts +0 -32
@@ -1,68 +1,23 @@
1
- import React, { createContext, useCallback, useContext, useEffect, useMemo } from 'react';
1
+ import React, { createContext, useContext, useEffect, useMemo, useState } from 'react';
2
2
  import { useAtomValue } from 'jotai';
3
- import { createInstance } from '@amplitude/analytics-browser';
4
- import { FeatureGates } from 'src/application/models/featureGates';
5
- import { OrgShortName } from 'src/application/models';
6
- import { EventsDispatcher, SpiffyEvent } from 'src/events';
7
3
  import {
8
4
  amplitudeApiKeyAtom,
9
5
  contextSourceAtom,
10
6
  dataResidencyAtom,
11
7
  envAtom,
12
- identifyingPrefixAtom,
13
8
  } from 'src/atoms/envive/enviveConfig';
14
- import { LocalStorageKeys, useLocalStorage } from 'src/contexts/localStorageContext';
9
+ import { useLocalStorage } from 'src/contexts/localStorageContext';
15
10
  import { orgAnalyticsGoogleAnalyticsConfigAtom } from 'src/atoms/org/orgAnalyticsConfig';
16
11
  import { userIdAtom } from 'src/atoms/app';
17
- import Logger from 'src/application/logging/logger';
18
- import type {
19
- BrowserClient,
20
- EnrichmentPlugin,
21
- Event,
22
- ServerZoneType,
23
- } from '@amplitude/analytics-types';
24
12
  import { useEnviveConfig } from 'src/contexts/enviveConfigContext/enviveConfigContext';
25
13
  import { useFeatureFlagService } from 'src/contexts/featureFlagServiceContext/featureFlagServiceContext';
14
+ import {
15
+ AmplitudeService,
16
+ SpiffyMetricsEventName,
17
+ TrackEventParams,
18
+ } from 'src/services/amplitudeService/amplitudeService';
26
19
 
27
- export enum SpiffyMetricsEventName {
28
- BundleLoaded = 'Bundle Loaded',
29
- ChatLiveAgentBtnClick = 'Chat Live Agent Btn Click',
30
- ChatFloatingButtonVisible = 'Chat Floating Button Visible',
31
- ChatComponentVisible = 'Chat Component Visible',
32
- ChatComponentExpanded = 'Chat Component Expanded',
33
- ChatComponentCollapsed = 'Chat Component Collapsed',
34
- ChatUserMessageInput = 'Chat User Message Input',
35
- ChatSuggestionClicked = 'Chat Suggestion Clicked',
36
- ChatAssistantResponse = 'Chat Assistant Response',
37
- ProductCardClicked = 'Product Card Clicked',
38
- ProductReviewCardClicked = 'Product Review Card Clicked',
39
- AddToCartClicked = 'Add to Cart Clicked',
40
- PromptCardClicked = 'Prompt Card Clicked',
41
- SupportedEvent = 'Supported Event',
42
- SearchBackToResponseClicked = 'Search Back to Response Clicked',
43
- PerformanceMetrics = 'Performance Metrics',
44
- SearchBarClicked = 'Search Bar Clicked',
45
- OrderLookupStarted = 'Order Lookup Started',
46
- OrderLookupFormSubmitted = 'Order Lookup Form Submitted',
47
- SearchComponentVisible = 'Search Component Visible',
48
- SearchZeroStateSuggestionClicked = 'Search Zero State Suggestion Clicked', // This is the scrolling list of suggestion buttons in global search
49
- SearchInputStarted = 'Search Input Started',
50
- SearchQuerySubmitted = 'Search Query Submitted',
51
- // SearchAutocompleteViewed = 'Search Autocomplete Viewed', // TODO: add this when autocomplete is added
52
- // SearchAutocompleteClicked = 'Search Autocomplete Clicked', // TODO: add this when autocomplete is added
53
- SearchResultsViewed = 'Search Results Viewed',
54
- SearchTimeToFirstClick = 'Search Time to First Click',
55
- SearchZeroResultsRate = 'Search Zero Results Rate',
56
- SearchFilterClicked = 'Search Filter Clicked',
57
- SearchSortClicked = 'Search Sort Clicked',
58
- }
59
-
60
- interface TrackEventParams {
61
- eventName: SpiffyMetricsEventName;
62
- eventProps?: Record<string, unknown>;
63
- eventGroups?: Record<string, unknown>;
64
- alsoSendToGoogleAnalytics?: boolean;
65
- }
20
+ export { SpiffyMetricsEventName };
66
21
 
67
22
  interface AmplitudeContextType {
68
23
  trackEvent: (params: TrackEventParams) => Promise<void>;
@@ -72,17 +27,18 @@ interface AmplitudeContextType {
72
27
 
73
28
  const AmplitudeContext = createContext<AmplitudeContextType | null>(null);
74
29
 
75
- export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
30
+ export const AmplitudeProvider: React.FC<{
31
+ externalAmplitudeService?: AmplitudeService;
32
+ children: React.ReactNode;
33
+ }> = ({ externalAmplitudeService, children }) => {
76
34
  const userId = useAtomValue(userIdAtom);
77
35
  const amplitudeApiKey = useAtomValue(amplitudeApiKeyAtom);
78
36
  const dataResidency = useAtomValue(dataResidencyAtom);
79
37
  const orgGaConfig = useAtomValue(orgAnalyticsGoogleAnalyticsConfigAtom);
80
38
  const env = useAtomValue(envAtom);
81
39
  const contextSource = useAtomValue(contextSourceAtom);
82
- const identifyingPrefix = useAtomValue(identifyingPrefixAtom);
83
40
  const { getItem } = useLocalStorage();
84
41
  const {
85
- publicKey,
86
42
  featureOverrides,
87
43
  variantUrlOverride,
88
44
  variantInfoOverride,
@@ -93,303 +49,69 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
93
49
 
94
50
  const { featureFlagService } = useFeatureFlagService();
95
51
 
96
- const [amplitudeClient, setAmplitudeClient] = React.useState<BrowserClient | undefined>(
97
- undefined,
98
- );
99
- const [internalEventTrackingEnrichment, setInternalEventTrackingEnrichment] = React.useState<
100
- EnrichmentPlugin | undefined
101
- >(undefined);
102
- const [supplementalDefaultProps, setSupplementalDefaultProps] = React.useState<
103
- Record<string, unknown>
104
- >({});
105
-
106
- const isReady = Boolean(userId && featureFlagService && amplitudeApiKey);
107
-
108
- const getDefaultTrackingProps = useCallback((): Record<string, unknown> => {
109
- const gatesProps = featureGates
110
- ? featureGates.reduce<Record<string, boolean>>((acc, curr) => {
111
- if (curr.name && curr.value != null) {
112
- return { ...acc, [`feature_gate.${curr.name}`]: curr.value };
113
- }
114
- return acc;
115
- }, {})
116
- : {};
117
- const experimentProps = {}; // No direct equivalent for experiments in EnviveConfig yet
118
-
119
- const orgLevelAmplitudeTrackingProps = {
120
- ...gatesProps,
121
- ...experimentProps,
122
- };
123
-
124
- return {
125
- ...orgLevelAmplitudeTrackingProps,
126
- ...supplementalDefaultProps,
127
- // TODO: org_id is not directly available in EnviveConfig. Need to find a new source or derive it.
128
- // org_id: orgConfig?.org?.org?.id,
129
- app_id: 'commerce-chat-react-component',
130
- chat_id: getItem(LocalStorageKeys.ChatId),
131
- env: env || 'unknown',
132
- app_source: contextSource,
133
- 'org.short_name': orgShortName,
134
- 'user.id': userId,
135
- 'cdp.user_id': null,
136
- 'cdp.provider': null,
137
- 'event.source': 'web-browser',
138
- 'event.type': 'user-activity',
139
- 'event.id': null,
140
- 'event.channel': 'web',
141
- 'event.timestamp': null,
142
- };
143
- }, [featureGates, supplementalDefaultProps, env, contextSource, orgShortName, userId]);
144
-
145
- const eventPropsToPrefixedEventProps = useCallback(
146
- (
147
- eventName: SpiffyMetricsEventName,
148
- eventProps: Record<string, unknown>,
149
- ): Record<string, unknown> => {
150
- const prefix = eventName.toLowerCase().replace(/\s+/g, '_');
151
- return Object.entries(eventProps).reduce(
152
- (acc, [key, value]) => {
153
- acc[`${prefix}.${key}`] = value;
154
- return acc;
155
- },
156
- {} as Record<string, unknown>,
157
- );
158
- },
159
- [],
160
- );
161
-
162
- const amplitudeSessionReplayInit = useCallback((): boolean => {
163
- const isEnabled = Boolean(
164
- orgShortName === OrgShortName.UniqueVintage &&
165
- featureFlagService?.isClientSessionEnabled() &&
166
- featureFlagService?.isFeatureGateEnabled(FeatureGates.IsNewFeatureEnabled),
167
- );
168
- const sampleRate = 1;
169
-
170
- try {
171
- Logger.logDebug(
172
- `[spiffy-ai] amplitude session-replay initializing isEnabled=${isEnabled} sampleRate=${sampleRate}`,
173
- );
174
-
175
- if (!isEnabled) {
176
- return isEnabled;
177
- }
52
+ const [service, setService] = useState<AmplitudeService | null>(null);
178
53
 
179
- // amplitudeInstance.add(sessionReplayPlugin({ sampleRate }));
54
+ const isReady = Boolean(userId && service && service.isReady);
180
55
 
181
- return isEnabled;
182
- } catch (e) {
183
- Logger.logError('[spiffy-ai] Error initializing amplitude session-replay', e);
184
- return false;
56
+ // Create service instance when dependencies are ready
57
+ useEffect(() => {
58
+ if (externalAmplitudeService !== undefined) {
59
+ setService(externalAmplitudeService);
60
+ return;
185
61
  }
186
- }, [orgShortName, featureFlagService]);
187
-
188
- const getEventTrackingEnrichment = useCallback((): EnrichmentPlugin => {
189
- if (internalEventTrackingEnrichment !== undefined) {
190
- return internalEventTrackingEnrichment;
62
+ if (userId && amplitudeApiKey && dataResidency && featureFlagService) {
63
+ const amplitudeService = new AmplitudeService({
64
+ userId,
65
+ amplitudeApiKey,
66
+ dataResidency,
67
+ env: env || '',
68
+ contextSource: contextSource || '',
69
+ orgShortName: orgShortName || '',
70
+ featureFlagService,
71
+ orgGaConfig,
72
+ show,
73
+ getLocalStorageItem: getItem,
74
+ });
75
+ setService(amplitudeService);
76
+ } else {
77
+ setService(null);
191
78
  }
192
-
193
- const enrichment: EnrichmentPlugin = {
194
- name: 'page-view-tracking-enrichment',
195
- type: 'enrichment',
196
- setup: async () => undefined,
197
- execute: async (event: Event): Promise<Event> => {
198
- let enrichedEvent: Event;
199
-
200
- const eventsToEnrich = [
201
- '[Amplitude] Page Viewed',
202
- `[Spiffy] ${SpiffyMetricsEventName.BundleLoaded}`,
203
- ];
204
-
205
- if (eventsToEnrich.includes(event.event_type)) {
206
- const globalProperties: Record<string, string> = {};
207
-
208
- if (publicKey) {
209
- globalProperties['globalProperties.publicKey'] = publicKey;
210
- }
211
- if (featureOverrides) {
212
- Object.entries(featureOverrides).forEach(([key, value]) => {
213
- globalProperties[`globalProperties.featureOverrides.${key}`] = String(value);
214
- });
215
- }
216
- if (variantUrlOverride) {
217
- globalProperties['globalProperties.variantUrlOverride'] = variantUrlOverride;
218
- }
219
- if (variantInfoOverride) {
220
- globalProperties['globalProperties.variantInfoOverride'] =
221
- JSON.stringify(variantInfoOverride);
222
- }
223
- if (show != null) {
224
- globalProperties['globalProperties.show'] = String(show);
225
- }
226
-
227
- const enabledFeatures = featureFlagService!.getFeatureFlags();
228
- const enabledFeaturesProperties = Object.entries(enabledFeatures).reduce<
229
- Record<string, string>
230
- >(
231
- (acc, [key, value]) => ({
232
- ...acc,
233
- [`enabledFeatures.${key}`]: `${value}`,
234
- }),
235
- {},
236
- );
237
-
238
- const timingProperties = {
239
- 'timing.enriched_at_ms': window.performance?.now(),
240
- };
241
-
242
- enrichedEvent = {
243
- ...event,
244
- event_properties: {
245
- ...event.event_properties,
246
- ...getDefaultTrackingProps(),
247
- ...globalProperties,
248
- ...enabledFeaturesProperties,
249
- ...timingProperties,
250
- },
251
- };
252
- } else {
253
- enrichedEvent = event;
254
- }
255
-
256
- EventsDispatcher.dispatch(SpiffyEvent.AMPLITUDE_EVENT, enrichedEvent);
257
-
258
- return enrichedEvent;
259
- },
260
- };
261
- setInternalEventTrackingEnrichment(enrichment);
262
- return enrichment;
263
79
  }, [
264
- internalEventTrackingEnrichment,
265
- getDefaultTrackingProps,
80
+ userId,
81
+ amplitudeApiKey,
82
+ dataResidency,
83
+ env,
84
+ contextSource,
85
+ orgShortName,
266
86
  featureFlagService,
267
- publicKey,
87
+ orgGaConfig,
268
88
  featureOverrides,
269
89
  variantUrlOverride,
270
90
  variantInfoOverride,
271
91
  show,
92
+ featureGates,
93
+ getItem,
94
+ externalAmplitudeService,
272
95
  ]);
273
96
 
274
- useEffect(() => {
275
- if (isReady && !amplitudeClient) {
276
- const currentAmplitudeInstance: BrowserClient = createInstance();
277
- const isSessionsEnabled = amplitudeSessionReplayInit();
278
- currentAmplitudeInstance.add(getEventTrackingEnrichment());
279
- currentAmplitudeInstance.init(amplitudeApiKey!, userId!, {
280
- serverZone: dataResidency as ServerZoneType,
281
- trackingOptions: {
282
- ipAddress: true,
283
- },
284
- autocapture: {
285
- attribution: true,
286
- pageViews: {
287
- trackHistoryChanges: 'pathOnly',
288
- },
289
- sessions: isSessionsEnabled,
290
- formInteractions: false,
291
- fileDownloads: false,
292
- },
293
- });
294
- setAmplitudeClient(currentAmplitudeInstance);
295
- }
296
- }, [
297
- isReady,
298
- amplitudeClient,
299
- amplitudeApiKey,
300
- userId,
301
- dataResidency,
302
- amplitudeSessionReplayInit,
303
- getEventTrackingEnrichment,
304
- ]);
305
-
306
- const trackEvent = useCallback(
307
- async ({
308
- eventName,
309
- eventProps,
310
- eventGroups,
311
- alsoSendToGoogleAnalytics = false,
312
- }: TrackEventParams): Promise<void> => {
313
- Logger.logDebug('Submitting event', eventName);
314
- try {
315
- const decoratedEventName = `[Spiffy] ${eventName}`;
316
-
317
- if (!amplitudeClient) {
318
- Logger.logWarn('amplitude client undefined', undefined, {
319
- event_name: decoratedEventName,
320
- });
321
- return;
322
- }
323
-
324
- const eventData = JSON.stringify({
325
- eventName,
326
- eventProps,
327
- created_at: new Date().toISOString(),
328
- });
329
- const encoder = new TextEncoder();
330
- const data = encoder.encode(eventData);
331
- // calculate a hash of the event properties to use as the insert_id so that duplicate events
332
- // are automatically dropped by Amplitude
333
- const hashBuffer = await crypto.subtle.digest('SHA-256', data);
334
- const hashArray = Array.from(new Uint8Array(hashBuffer));
335
- const currentInsertId = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
336
-
337
- Logger.logDebug(`amplitude tracking ${decoratedEventName}`, null, {
338
- event_name: decoratedEventName,
339
- props: eventProps,
340
- });
341
-
342
- amplitudeClient.track(
343
- decoratedEventName,
344
- {
345
- ...getDefaultTrackingProps(),
346
- ...eventProps,
347
- ...(eventProps ? eventPropsToPrefixedEventProps(eventName, eventProps) : {}),
348
- },
349
- {
350
- ...eventGroups,
351
- insert_id: currentInsertId,
352
- },
353
- );
354
-
355
- if (alsoSendToGoogleAnalytics && orgGaConfig) {
356
- // TODO: Add in windowDataLayerService or context alternative and hook it up here
357
- Logger.logDebug('[spiffy-ai] GA tracking', decoratedEventName);
358
- if (window.dataLayer) {
359
- (window.dataLayer as any[]).push({
360
- event: decoratedEventName,
361
- eventProps,
362
- });
363
- }
364
- }
365
- } catch (err) {
366
- Logger.logError('[spiffy-ai] Error tracking event', err, {
367
- eventName,
368
- eventProps,
369
- });
370
- }
371
- },
372
- [amplitudeClient, getDefaultTrackingProps, eventPropsToPrefixedEventProps, orgGaConfig],
373
- );
374
-
375
97
  const value = useMemo(
376
98
  () => ({
377
- trackEvent,
99
+ trackEvent: async (params: TrackEventParams): Promise<void> => {
100
+ if (service) {
101
+ await service.trackEvent(params);
102
+ }
103
+ },
378
104
  isReady,
379
- setSupplementalDefaultProps: (props: Record<string, unknown>) =>
380
- setSupplementalDefaultProps(props),
105
+ setSupplementalDefaultProps: (props: Record<string, unknown>) => {
106
+ if (service) {
107
+ service.setSupplementalDefaultProps(props);
108
+ }
109
+ },
381
110
  }),
382
- [trackEvent, isReady, setSupplementalDefaultProps],
111
+ [service, isReady],
383
112
  );
384
113
 
385
114
  if (!isReady) {
386
- console.log(
387
- 'AmplitudeProvider is not ready',
388
- isReady,
389
- userId,
390
- featureFlagService,
391
- amplitudeApiKey,
392
- );
393
115
  return null;
394
116
  }
395
117
 
@@ -17,6 +17,7 @@ interface EnviveConfigProviderProps {
17
17
  cdnUrl?: string;
18
18
  contextSource?: string;
19
19
  orgLevelApiKey?: string;
20
+ orgId?: string;
20
21
  orgShortName?: string;
21
22
  identifyingPrefix: string;
22
23
  featureOverrides?: Record<string, boolean>;
@@ -38,6 +39,7 @@ export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
38
39
  contextSource,
39
40
  orgLevelApiKey,
40
41
  orgShortName,
42
+ orgId,
41
43
  identifyingPrefix,
42
44
  featureOverrides,
43
45
  variantUrlOverride,
@@ -58,6 +60,7 @@ export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
58
60
  contextSource,
59
61
  orgLevelApiKey,
60
62
  orgShortName,
63
+ orgId,
61
64
  identifyingPrefix,
62
65
  featureOverrides,
63
66
  variantUrlOverride,
@@ -1,10 +1,13 @@
1
- import { ReactNode, createContext } from 'react';
1
+ import { ReactNode, createContext, useEffect, useMemo, useState } from 'react';
2
2
 
3
3
  import { OrgConfigFeatureGate } from 'src/application/models/api/orgConfigResults';
4
+ import { EnviveConfigService, EnviveServiceConfig } from 'src/services/enviveConfigService';
5
+ import { AmplitudeService } from 'src/services/amplitudeService/amplitudeService';
6
+ import Logger from 'src/application/logging/logger';
4
7
  import { AmplitudeProvider } from '../amplitudeContext';
5
8
  import { EnviveConfigProvider } from '../enviveConfigContext';
6
9
  import { EnviveCssProvider } from '../enviveCssContext';
7
- import { FeatureFlagServiceProvider } from '../featureFlagServiceContext';
10
+ import { FeatureFlagService, FeatureFlagServiceProvider } from '../featureFlagServiceContext';
8
11
  import { GraphQLProvider } from '../graphqlContext';
9
12
  import { LocalStorageProvider } from '../localStorageContext';
10
13
  import { NewOrgConfigProvider } from '../newOrgConfigContext';
@@ -13,6 +16,10 @@ import { EnviveAgent } from './types';
13
16
  import { SearchProvider } from '../searchContext';
14
17
  import { SalesAgentProvider } from '../salesAgentContext/salesAgentContext';
15
18
  import { SystemSettingsContextProvider } from '../systemSettingsContext';
19
+ import { HardcopyProvider } from '../hardcopyContext';
20
+ import { WidgetConfigProvider } from '../widgetConfigContext';
21
+ import { PageProvider } from '../pageContext';
22
+ import { UiConfigProvider } from '../uiConfigContext';
16
23
 
17
24
  const EnviveContext = createContext<null>(null);
18
25
 
@@ -38,6 +45,12 @@ interface EnviveProviderProps extends AgentWrapperProps {
38
45
  show?: boolean;
39
46
  publicKey?: string;
40
47
  featureGates?: OrgConfigFeatureGate[]; // New prop for feature gates
48
+ featureFlagService?: FeatureFlagService;
49
+ enviveConfigService?: EnviveConfigService;
50
+ amplitudeService?: AmplitudeService;
51
+ mockV3ConfigToDeprecatedConfig?: boolean;
52
+ requestV3Config?: boolean;
53
+ previewMode?: boolean;
41
54
  }
42
55
 
43
56
  const SearchAgentWrapper: React.FC<AgentWrapperProps> = ({ children, enabledAgents }) => {
@@ -60,30 +73,93 @@ const SalesAgentWrapper: React.FC<AgentWrapperProps> = ({ children, enabledAgent
60
73
 
61
74
  export const EnviveProvider: React.FC<EnviveProviderProps> = ({
62
75
  children,
76
+ previewMode = false,
63
77
  enabledAgents,
78
+ enviveConfigService: inputEnviveConfigService,
79
+ featureFlagService: inputFeatureFlagService,
80
+ amplitudeService: inputAmplitudeService,
81
+ mockV3ConfigToDeprecatedConfig = false,
82
+ requestV3Config = false,
64
83
  ...config
65
- }) => (
66
- <EnviveContext.Provider value={null}>
67
- <EnviveConfigProvider {...config}>
68
- <GraphQLProvider>
69
- <NewOrgConfigProvider>
70
- <LocalStorageProvider>
71
- <FeatureFlagServiceProvider featureGates={[]}>
72
- <UserIdentityProvider>
73
- <AmplitudeProvider>
74
- <EnviveCssProvider>
75
- <SearchAgentWrapper enabledAgents={enabledAgents}>
76
- <SalesAgentWrapper enabledAgents={enabledAgents}>
77
- {children}
78
- </SalesAgentWrapper>
79
- </SearchAgentWrapper>
80
- </EnviveCssProvider>
81
- </AmplitudeProvider>
82
- </UserIdentityProvider>
83
- </FeatureFlagServiceProvider>
84
- </LocalStorageProvider>
85
- </NewOrgConfigProvider>
86
- </GraphQLProvider>
87
- </EnviveConfigProvider>
88
- </EnviveContext.Provider>
89
- );
84
+ }) => {
85
+ const userId = 'spiffy-user-id-0b64d781-e1c2-4b6d-9cf5-32b4f7c1e3f2'; // TODO: How should this be derived?
86
+ const namespace = 'spiffy-react-components'; // TODO: Should this be different from the current namespace?
87
+ const source = 'app'; // TODO: Make this dependent upon the "spiffy_on" query param
88
+ const [enviveServiceConfig, setEnviveServiceConfig] = useState<EnviveServiceConfig | null>(null);
89
+
90
+ useEffect(() => {
91
+ // Really not happy with this approach, but I'm seeing 429 errors in the tests
92
+ // because of the rate limiting on the API.
93
+ const enviveConfigService =
94
+ inputEnviveConfigService ??
95
+ new EnviveConfigService({
96
+ baseUrl: config?.baseUrl || '',
97
+ apiKey: config?.orgLevelApiKey || '',
98
+ userId: userId || '',
99
+ namespace: namespace || '',
100
+ source: source || '',
101
+ });
102
+ enviveConfigService.getEnviveConfig().then(newConfig => {
103
+ setEnviveServiceConfig(newConfig);
104
+ return newConfig;
105
+ });
106
+ }, [config, userId, namespace, source, inputEnviveConfigService]);
107
+
108
+ const enviveConfig = useMemo(
109
+ () => ({
110
+ ...config,
111
+ featureGates: enviveServiceConfig?.gates || [],
112
+ orgShortName: enviveServiceConfig?.org?.org?.short_name || '',
113
+ orgId: enviveServiceConfig?.org?.org?.id || '',
114
+ }),
115
+ [config, enviveServiceConfig],
116
+ );
117
+ Logger.logDebug('enviveContext: enviveServiceConfig', enviveServiceConfig, config);
118
+ Logger.logDebug('enviveContext: enviveConfig', enviveConfig);
119
+
120
+ const featureFlagService = useMemo(
121
+ () => inputFeatureFlagService ?? new FeatureFlagService(enviveConfig.featureGates),
122
+ [enviveConfig.featureGates, inputFeatureFlagService],
123
+ );
124
+
125
+ if (enviveServiceConfig === null || enviveConfig === null) {
126
+ return null;
127
+ }
128
+
129
+ return (
130
+ <EnviveContext.Provider value={null}>
131
+ <EnviveConfigProvider {...enviveConfig}>
132
+ <GraphQLProvider
133
+ mockV3ConfigToDeprecatedConfig={mockV3ConfigToDeprecatedConfig}
134
+ requestV3Config={requestV3Config}
135
+ >
136
+ <NewOrgConfigProvider>
137
+ <LocalStorageProvider>
138
+ <FeatureFlagServiceProvider featureFlagService={featureFlagService}>
139
+ <UserIdentityProvider>
140
+ <AmplitudeProvider externalAmplitudeService={inputAmplitudeService}>
141
+ <PageProvider previewMode={previewMode}>
142
+ <UiConfigProvider>
143
+ <WidgetConfigProvider>
144
+ <HardcopyProvider>
145
+ <EnviveCssProvider>
146
+ <SearchAgentWrapper enabledAgents={enabledAgents}>
147
+ <SalesAgentWrapper enabledAgents={enabledAgents}>
148
+ {children}
149
+ </SalesAgentWrapper>
150
+ </SearchAgentWrapper>
151
+ </EnviveCssProvider>
152
+ </HardcopyProvider>
153
+ </WidgetConfigProvider>
154
+ </UiConfigProvider>
155
+ </PageProvider>
156
+ </AmplitudeProvider>
157
+ </UserIdentityProvider>
158
+ </FeatureFlagServiceProvider>
159
+ </LocalStorageProvider>
160
+ </NewOrgConfigProvider>
161
+ </GraphQLProvider>
162
+ </EnviveConfigProvider>
163
+ </EnviveContext.Provider>
164
+ );
165
+ };