@envive-ai/react-hooks 0.3.3 → 0.3.4

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 (462) 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 +11 -3
  4. package/dist/application/commerce-api.js +11 -3
  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 +18 -0
  8. package/dist/application/models/chatElementDisplayLocationV3.d.cts +15 -0
  9. package/dist/application/models/chatElementDisplayLocationV3.d.ts +15 -0
  10. package/dist/application/models/chatElementDisplayLocationV3.js +17 -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 +2 -1
  16. package/dist/application/models/featureGates.d.cts +2 -1
  17. package/dist/application/models/featureGates.d.ts +2 -1
  18. package/dist/application/models/featureGates.js +2 -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/index.cjs +3 -0
  24. package/dist/application/models/index.d.cts +4 -3
  25. package/dist/application/models/index.d.ts +4 -3
  26. package/dist/application/models/index.js +3 -2
  27. package/dist/application/models/utils/snakeToCamelTransformer.cjs +2 -1
  28. package/dist/application/models/utils/snakeToCamelTransformer.d.cts +7 -2
  29. package/dist/application/models/utils/snakeToCamelTransformer.d.ts +7 -2
  30. package/dist/application/models/utils/snakeToCamelTransformer.js +2 -2
  31. package/dist/application/utils/analyticsUtils.cjs +5 -4
  32. package/dist/application/utils/analyticsUtils.d.cts +1 -1
  33. package/dist/application/utils/analyticsUtils.d.ts +1 -1
  34. package/dist/application/utils/analyticsUtils.js +3 -2
  35. package/dist/application/utils/elementObserver.cjs +1 -1
  36. package/dist/application/utils/elementObserver.js +1 -1
  37. package/dist/application/utils/index.d.cts +1 -1
  38. package/dist/application/utils/index.d.ts +1 -1
  39. package/dist/application/utils/widgetTextFromApiWidgetTextResponse.cjs +14 -0
  40. package/dist/application/utils/widgetTextFromApiWidgetTextResponse.js +13 -0
  41. package/dist/application/utils/widgetTextRequestToApiRequest.cjs +30 -0
  42. package/dist/application/utils/widgetTextRequestToApiRequest.js +29 -0
  43. package/dist/atoms/amplitude/amplitudeTrackEventAtom.cjs +1 -1
  44. package/dist/atoms/amplitude/amplitudeTrackEventAtom.js +1 -1
  45. package/dist/atoms/app/index.cjs +4 -3
  46. package/dist/atoms/app/index.d.cts +3 -3
  47. package/dist/atoms/app/index.d.ts +9 -9
  48. package/dist/atoms/app/index.js +4 -5
  49. package/dist/atoms/app/variant.cjs +5 -1
  50. package/dist/atoms/app/variant.d.cts +11 -4
  51. package/dist/atoms/app/variant.d.ts +11 -4
  52. package/dist/atoms/app/variant.js +4 -2
  53. package/dist/atoms/chat/chatState.cjs +9 -4
  54. package/dist/atoms/chat/chatState.d.cts +25 -18
  55. package/dist/atoms/chat/chatState.d.ts +25 -18
  56. package/dist/atoms/chat/chatState.js +6 -3
  57. package/dist/atoms/chat/form.cjs +4 -4
  58. package/dist/atoms/chat/form.d.cts +2 -2
  59. package/dist/atoms/chat/form.d.ts +2 -2
  60. package/dist/atoms/chat/index.cjs +32 -30
  61. package/dist/atoms/chat/index.d.cts +4 -4
  62. package/dist/atoms/chat/index.d.ts +5 -5
  63. package/dist/atoms/chat/index.js +2 -2
  64. package/dist/atoms/chat/lastMessage.cjs +4 -4
  65. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  66. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  67. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  68. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  69. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  70. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  71. package/dist/atoms/chat/replies.cjs +9 -8
  72. package/dist/atoms/chat/replies.d.cts +3 -3
  73. package/dist/atoms/chat/replies.d.ts +3 -3
  74. package/dist/atoms/chat/replies.js +3 -2
  75. package/dist/atoms/chat/suggestions.cjs +6 -6
  76. package/dist/atoms/chat/suggestions.d.cts +2 -2
  77. package/dist/atoms/chat/suggestions.d.ts +2 -2
  78. package/dist/atoms/envive/enviveConfig.cjs +5 -2
  79. package/dist/atoms/envive/enviveConfig.js +5 -2
  80. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  81. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  82. package/dist/atoms/org/customerService.d.cts +6 -6
  83. package/dist/atoms/org/customerService.d.ts +6 -6
  84. package/dist/atoms/org/graphqlConfig.cjs +1 -3
  85. package/dist/atoms/org/graphqlConfig.d.cts +6 -9
  86. package/dist/atoms/org/graphqlConfig.d.ts +6 -9
  87. package/dist/atoms/org/graphqlConfig.js +2 -3
  88. package/dist/atoms/org/index.cjs +2 -3
  89. package/dist/atoms/org/index.d.cts +2 -2
  90. package/dist/atoms/org/index.d.ts +2 -2
  91. package/dist/atoms/org/index.js +2 -2
  92. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  93. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  94. package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
  95. package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
  96. package/dist/atoms/search/chatSearch.cjs +7 -7
  97. package/dist/atoms/search/chatSearch.d.cts +20 -18
  98. package/dist/atoms/search/chatSearch.d.ts +20 -18
  99. package/dist/atoms/search/searchAPI.cjs +1 -1
  100. package/dist/atoms/search/searchAPI.d.cts +15 -14
  101. package/dist/atoms/search/searchAPI.d.ts +15 -14
  102. package/dist/atoms/search/searchAPI.js +1 -1
  103. package/dist/atoms/search/utils.d.cts +1 -1
  104. package/dist/atoms/widget/chatPreviewLoading.cjs +23 -0
  105. package/dist/atoms/widget/chatPreviewLoading.d.cts +26 -0
  106. package/dist/atoms/widget/chatPreviewLoading.d.ts +26 -0
  107. package/dist/atoms/widget/chatPreviewLoading.js +22 -0
  108. package/dist/atoms/widget/index.cjs +3 -0
  109. package/dist/atoms/widget/index.d.cts +2 -0
  110. package/dist/atoms/widget/index.d.ts +2 -0
  111. package/dist/atoms/widget/index.js +3 -0
  112. package/dist/contexts/amplitudeContext/amplitudeContext.cjs +40 -227
  113. package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +4 -39
  114. package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +4 -39
  115. package/dist/contexts/amplitudeContext/amplitudeContext.js +44 -230
  116. package/dist/contexts/amplitudeContext/index.cjs +2 -1
  117. package/dist/contexts/amplitudeContext/index.d.cts +2 -1
  118. package/dist/contexts/amplitudeContext/index.d.ts +2 -1
  119. package/dist/contexts/amplitudeContext/index.js +2 -1
  120. package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +3 -2
  121. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +2 -1
  122. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +2 -1
  123. package/dist/contexts/enviveConfigContext/enviveConfigContext.js +3 -2
  124. package/dist/contexts/enviveContext/enviveContext.cjs +67 -16
  125. package/dist/contexts/enviveContext/enviveContext.d.cts +9 -1
  126. package/dist/contexts/enviveContext/enviveContext.d.ts +9 -1
  127. package/dist/contexts/enviveContext/enviveContext.js +69 -18
  128. package/dist/contexts/enviveCssContext/enviveCssContext.cjs +96 -24
  129. package/dist/contexts/enviveCssContext/enviveCssContext.js +96 -24
  130. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +5 -7
  131. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +2 -2
  132. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +2 -2
  133. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +5 -7
  134. package/dist/contexts/graphqlContext/graphqlContext.cjs +69 -7
  135. package/dist/contexts/graphqlContext/graphqlContext.d.cts +17 -5
  136. package/dist/contexts/graphqlContext/graphqlContext.d.ts +17 -5
  137. package/dist/contexts/graphqlContext/graphqlContext.js +69 -7
  138. package/dist/contexts/graphqlContext/index.d.cts +2 -2
  139. package/dist/contexts/graphqlContext/index.d.ts +2 -2
  140. package/dist/contexts/graphqlContext/mockV3Config.cjs +208 -0
  141. package/dist/contexts/graphqlContext/mockV3Config.js +207 -0
  142. package/dist/contexts/hardcopyContext/hardcopyContext.cjs +119 -12
  143. package/dist/contexts/hardcopyContext/hardcopyContext.d.cts +3 -2
  144. package/dist/contexts/hardcopyContext/hardcopyContext.d.ts +3 -2
  145. package/dist/contexts/hardcopyContext/hardcopyContext.js +120 -13
  146. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +7 -8
  147. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +8 -9
  148. package/dist/contexts/pageContext/mapping.cjs +5 -1
  149. package/dist/contexts/pageContext/mapping.d.cts +1 -1
  150. package/dist/contexts/pageContext/mapping.d.ts +1 -1
  151. package/dist/contexts/pageContext/mapping.js +5 -1
  152. package/dist/contexts/pageContext/pageContext.cjs +29 -9
  153. package/dist/contexts/pageContext/pageContext.d.cts +5 -2
  154. package/dist/contexts/pageContext/pageContext.d.ts +5 -2
  155. package/dist/contexts/pageContext/pageContext.js +30 -10
  156. package/dist/contexts/pageContext/types.d.cts +5 -1
  157. package/dist/contexts/pageContext/types.d.ts +5 -1
  158. package/dist/contexts/salesAgentContext/chatAPI.cjs +6 -3
  159. package/dist/contexts/salesAgentContext/chatAPI.js +6 -3
  160. package/dist/contexts/salesAgentContext/salesAgentContext.cjs +65 -25
  161. package/dist/contexts/salesAgentContext/salesAgentContext.js +64 -24
  162. package/dist/contexts/salesAgentContext/salesAgentService.cjs +43 -7
  163. package/dist/contexts/salesAgentContext/salesAgentService.js +42 -6
  164. package/dist/contexts/salesAgentContext/statusCodeError.cjs +14 -0
  165. package/dist/contexts/salesAgentContext/statusCodeError.js +13 -0
  166. package/dist/contexts/searchContext/searchContext.cjs +1 -1
  167. package/dist/contexts/searchContext/searchContext.js +1 -1
  168. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  169. package/dist/contexts/types.cjs +2 -13
  170. package/dist/contexts/types.d.cts +12 -16
  171. package/dist/contexts/types.d.ts +12 -16
  172. package/dist/contexts/types.js +3 -13
  173. package/dist/contexts/typesV3.cjs +125 -0
  174. package/dist/contexts/typesV3.d.cts +246 -0
  175. package/dist/contexts/typesV3.d.ts +246 -0
  176. package/dist/contexts/typesV3.js +113 -0
  177. package/dist/contexts/uiConfigContext/index.cjs +4 -0
  178. package/dist/contexts/uiConfigContext/index.d.cts +2 -0
  179. package/dist/contexts/uiConfigContext/index.d.ts +2 -0
  180. package/dist/contexts/uiConfigContext/index.js +3 -0
  181. package/dist/contexts/uiConfigContext/uiConfigContext.cjs +44 -0
  182. package/dist/contexts/uiConfigContext/uiConfigContext.d.cts +15 -0
  183. package/dist/contexts/uiConfigContext/uiConfigContext.d.ts +15 -0
  184. package/dist/contexts/uiConfigContext/uiConfigContext.js +42 -0
  185. package/dist/contexts/userIdentityContext/userIdentityContext.cjs +1 -1
  186. package/dist/contexts/userIdentityContext/userIdentityContext.js +1 -1
  187. package/dist/contexts/widgetConfigContext/index.cjs +4 -0
  188. package/dist/contexts/widgetConfigContext/index.d.cts +2 -0
  189. package/dist/contexts/widgetConfigContext/index.d.ts +2 -0
  190. package/dist/contexts/widgetConfigContext/index.js +3 -0
  191. package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +67 -0
  192. package/dist/contexts/widgetConfigContext/widgetConfigContext.d.cts +19 -0
  193. package/dist/contexts/widgetConfigContext/widgetConfigContext.d.ts +19 -0
  194. package/dist/contexts/widgetConfigContext/widgetConfigContext.js +65 -0
  195. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.cts +1 -1
  196. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.ts +1 -1
  197. package/dist/hooks/AppDetails/useAppDetails.cjs +2 -4
  198. package/dist/hooks/AppDetails/useAppDetails.js +3 -5
  199. package/dist/hooks/ChatToggle/useChatToggle.cjs +6 -5
  200. package/dist/hooks/ChatToggle/useChatToggle.js +3 -2
  201. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.cjs +3 -3
  202. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
  203. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +3 -3
  204. package/dist/hooks/GraphQLConfig/index.cjs +1 -1
  205. package/dist/hooks/GraphQLConfig/index.d.cts +2 -2
  206. package/dist/hooks/GraphQLConfig/index.d.ts +2 -2
  207. package/dist/hooks/GraphQLConfig/index.js +2 -2
  208. package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +27 -24
  209. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.cts +5 -4
  210. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.ts +5 -4
  211. package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +27 -24
  212. package/dist/hooks/Search/useSearch.cjs +10 -9
  213. package/dist/hooks/Search/useSearch.js +6 -5
  214. package/dist/hooks/Search/useSearchInput.cjs +4 -4
  215. package/dist/hooks/Search/useSearchInput.js +1 -1
  216. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +5 -4
  217. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +1 -1
  218. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +1 -1
  219. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +3 -2
  220. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.cjs +3 -2
  221. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +3 -2
  222. package/dist/hooks/utils.d.cts +1 -1
  223. package/dist/node_modules/classnames/index.cjs +52 -0
  224. package/dist/node_modules/classnames/index.js +49 -0
  225. package/dist/packages/components-v3/dist/Container/Container.cjs +11 -0
  226. package/dist/packages/components-v3/dist/Container/Container.js +12 -0
  227. package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.cjs +1 -0
  228. package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.js +3 -0
  229. package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.cjs +1 -0
  230. package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.js +3 -0
  231. package/dist/packages/components-v3/dist/Container/index.cjs +1 -0
  232. package/dist/packages/components-v3/dist/Container/index.js +3 -0
  233. package/dist/packages/components-v3/dist/Image/Image.cjs +16 -0
  234. package/dist/packages/components-v3/dist/Image/Image.js +17 -0
  235. package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.cjs +1 -0
  236. package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.js +3 -0
  237. package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.cjs +1 -0
  238. package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.js +3 -0
  239. package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.cjs +1 -0
  240. package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.js +3 -0
  241. package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.cjs +1 -0
  242. package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.js +3 -0
  243. package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.cjs +1 -0
  244. package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.js +3 -0
  245. package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.cjs +1 -0
  246. package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.js +3 -0
  247. package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.cjs +1 -0
  248. package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.js +3 -0
  249. package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.cjs +2 -0
  250. package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.js +4 -0
  251. package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.cjs +2 -0
  252. package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.js +4 -0
  253. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.cjs +15 -0
  254. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.js +16 -0
  255. package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.cjs +4 -0
  256. package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.js +4 -0
  257. package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.cjs +1 -0
  258. package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.js +3 -0
  259. package/dist/packages/components-v3/dist/ImageGallery/components/index.cjs +4 -0
  260. package/dist/packages/components-v3/dist/ImageGallery/components/index.js +6 -0
  261. package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.cjs +1 -0
  262. package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.js +3 -0
  263. package/dist/packages/components-v3/dist/ImageGallery/index.cjs +2 -0
  264. package/dist/packages/components-v3/dist/ImageGallery/index.js +4 -0
  265. package/dist/packages/components-v3/dist/ImageGallery/types/types.cjs +13 -0
  266. package/dist/packages/components-v3/dist/ImageGallery/types/types.js +12 -0
  267. package/dist/packages/components-v3/dist/PromptButton/PromptButton.cjs +12 -0
  268. package/dist/packages/components-v3/dist/PromptButton/PromptButton.js +13 -0
  269. package/dist/packages/components-v3/dist/PromptButton/components/Icon.cjs +1 -0
  270. package/dist/packages/components-v3/dist/PromptButton/components/Icon.js +3 -0
  271. package/dist/packages/components-v3/dist/PromptButton/components/Label.cjs +3 -0
  272. package/dist/packages/components-v3/dist/PromptButton/components/Label.js +5 -0
  273. package/dist/packages/components-v3/dist/PromptButton/components/Layout.cjs +12 -0
  274. package/dist/packages/components-v3/dist/PromptButton/components/Layout.js +13 -0
  275. package/dist/packages/components-v3/dist/PromptButton/components/Loading.cjs +9 -0
  276. package/dist/packages/components-v3/dist/PromptButton/components/Loading.js +10 -0
  277. package/dist/packages/components-v3/dist/PromptButton/components/index.cjs +4 -0
  278. package/dist/packages/components-v3/dist/PromptButton/components/index.js +6 -0
  279. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.cjs +1 -0
  280. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.js +3 -0
  281. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.cjs +8 -0
  282. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.js +9 -0
  283. package/dist/packages/components-v3/dist/PromptButton/index.cjs +2 -0
  284. package/dist/packages/components-v3/dist/PromptButton/index.js +4 -0
  285. package/dist/packages/components-v3/dist/PromptButton/types/index.cjs +13 -0
  286. package/dist/packages/components-v3/dist/PromptButton/types/index.js +12 -0
  287. package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.cjs +12 -0
  288. package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.js +14 -0
  289. package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.cjs +9 -0
  290. package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.js +10 -0
  291. package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.cjs +11 -0
  292. package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.js +12 -0
  293. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.cjs +4 -0
  294. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.js +6 -0
  295. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.cjs +4 -0
  296. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.js +6 -0
  297. package/dist/packages/components-v3/dist/PromptCarousel/components/index.cjs +3 -0
  298. package/dist/packages/components-v3/dist/PromptCarousel/components/index.js +5 -0
  299. package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.cjs +5 -0
  300. package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.js +7 -0
  301. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.cjs +1 -0
  302. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.js +3 -0
  303. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.cjs +3 -0
  304. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.js +5 -0
  305. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.cjs +1 -0
  306. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.js +3 -0
  307. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.cjs +1 -0
  308. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.js +3 -0
  309. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.cjs +1 -0
  310. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.js +3 -0
  311. package/dist/packages/components-v3/dist/PromptCarousel/index.cjs +2 -0
  312. package/dist/packages/components-v3/dist/PromptCarousel/index.js +4 -0
  313. package/dist/packages/components-v3/dist/PromptCarousel/types/types.cjs +19 -0
  314. package/dist/packages/components-v3/dist/PromptCarousel/types/types.js +17 -0
  315. package/dist/packages/components-v3/dist/Stack/Stack.cjs +36 -0
  316. package/dist/packages/components-v3/dist/Stack/Stack.js +36 -0
  317. package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.cjs +27 -0
  318. package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.js +26 -0
  319. package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.cjs +20 -0
  320. package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.js +19 -0
  321. package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.cjs +19 -0
  322. package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.js +18 -0
  323. package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.cjs +16 -0
  324. package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.js +15 -0
  325. package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.cjs +21 -0
  326. package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.js +20 -0
  327. package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.cjs +38 -0
  328. package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.js +38 -0
  329. package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.cjs +13 -0
  330. package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.js +12 -0
  331. package/dist/packages/components-v3/dist/Stack/index.cjs +1 -0
  332. package/dist/packages/components-v3/dist/Stack/index.js +3 -0
  333. package/dist/packages/components-v3/dist/Stack/utils/constants.cjs +42 -0
  334. package/dist/packages/components-v3/dist/Stack/utils/constants.js +41 -0
  335. package/dist/packages/components-v3/dist/Typography/Typography.cjs +15 -0
  336. package/dist/packages/components-v3/dist/Typography/Typography.js +16 -0
  337. package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.cjs +1 -0
  338. package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.js +3 -0
  339. package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.cjs +1 -0
  340. package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.js +3 -0
  341. package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.cjs +1 -0
  342. package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.js +3 -0
  343. package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.cjs +1 -0
  344. package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.js +3 -0
  345. package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.cjs +1 -0
  346. package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.js +3 -0
  347. package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.cjs +1 -0
  348. package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.js +3 -0
  349. package/dist/packages/components-v3/dist/Typography/index.cjs +1 -0
  350. package/dist/packages/components-v3/dist/Typography/index.js +3 -0
  351. package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.cjs +12 -0
  352. package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.js +13 -0
  353. package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -0
  354. package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +3 -0
  355. package/dist/packages/components-v3/dist/WidgetWrapper/index.cjs +2 -0
  356. package/dist/packages/components-v3/dist/WidgetWrapper/index.js +4 -0
  357. package/dist/packages/components-v3/dist/WidgetWrapper/types/types.cjs +13 -0
  358. package/dist/packages/components-v3/dist/WidgetWrapper/types/types.js +12 -0
  359. package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.cjs +25 -0
  360. package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.js +23 -0
  361. package/dist/packages/components-v3/dist/utils/useCheckIsMobile.cjs +1 -0
  362. package/dist/packages/components-v3/dist/utils/useCheckIsMobile.js +3 -0
  363. package/dist/packages/components-v3/dist/utils/useResponsiveValue.cjs +57 -0
  364. package/dist/packages/components-v3/dist/utils/useResponsiveValue.js +56 -0
  365. package/dist/packages/icons/dist/FourPointStar.cjs +8 -0
  366. package/dist/packages/icons/dist/FourPointStar.js +9 -0
  367. package/dist/packages/icons/dist/_virtual/rolldown_runtime.cjs +28 -0
  368. package/dist/packages/icons/dist/_virtual/rolldown_runtime.js +26 -0
  369. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +697 -0
  370. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js +697 -0
  371. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs +44 -0
  372. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +44 -0
  373. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.cjs +1529 -0
  374. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.js +1529 -0
  375. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.cjs +330 -0
  376. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.js +330 -0
  377. package/dist/packages/icons/dist/node_modules/react/index.cjs +14 -0
  378. package/dist/packages/icons/dist/node_modules/react/index.js +14 -0
  379. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.cjs +14 -0
  380. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.js +14 -0
  381. package/dist/services/amplitudeService/amplitudeService.cjs +204 -0
  382. package/dist/services/amplitudeService/amplitudeService.d.cts +75 -0
  383. package/dist/services/amplitudeService/amplitudeService.d.ts +75 -0
  384. package/dist/services/amplitudeService/amplitudeService.js +202 -0
  385. package/dist/services/amplitudeService/index.cjs +4 -0
  386. package/dist/services/amplitudeService/index.d.cts +2 -0
  387. package/dist/services/amplitudeService/index.d.ts +2 -0
  388. package/dist/services/amplitudeService/index.js +3 -0
  389. package/dist/services/enviveConfigService/enviveConfigService.cjs +36 -0
  390. package/dist/services/enviveConfigService/enviveConfigService.d.cts +43 -0
  391. package/dist/services/enviveConfigService/enviveConfigService.d.ts +43 -0
  392. package/dist/services/enviveConfigService/enviveConfigService.js +36 -0
  393. package/dist/services/enviveConfigService/index.cjs +3 -0
  394. package/dist/services/enviveConfigService/index.d.cts +2 -0
  395. package/dist/services/enviveConfigService/index.d.ts +2 -0
  396. package/dist/services/enviveConfigService/index.js +3 -0
  397. package/dist/types/enviveConfig.d.cts +29 -0
  398. package/dist/types/enviveConfig.d.ts +29 -0
  399. package/dist/types/index.d.cts +2 -1
  400. package/dist/types/index.d.ts +2 -1
  401. package/package.json +36 -4
  402. package/src/application/commerce-api.ts +14 -1
  403. package/src/application/models/api/userEvent.ts +3 -1
  404. package/src/application/models/api/widgetText.ts +9 -0
  405. package/src/application/models/api/widgetTextRequest.ts +10 -0
  406. package/src/application/models/chatElementDisplayLocationV3.ts +12 -0
  407. package/src/application/models/colorsConfigV3.ts +26 -0
  408. package/src/application/models/featureGates.ts +1 -0
  409. package/src/application/models/frontendConfig.ts +5 -0
  410. package/src/application/models/frontendConfigV3.ts +10 -0
  411. package/src/application/models/index.ts +1 -0
  412. package/src/application/models/utils/snakeToCamelTransformer.ts +1 -1
  413. package/src/application/utils/elementObserver.ts +2 -2
  414. package/src/application/utils/widgetTextFromApiWidgetTextResponse.ts +30 -0
  415. package/src/application/utils/widgetTextRequestToApiRequest.ts +45 -0
  416. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -8
  417. package/src/atoms/app/index.ts +3 -3
  418. package/src/atoms/app/variant.ts +5 -0
  419. package/src/atoms/chat/chatState.ts +10 -2
  420. package/src/atoms/envive/enviveConfig.ts +5 -0
  421. package/src/atoms/org/graphqlConfig.ts +0 -1
  422. package/src/atoms/widget/chatPreviewLoading.ts +36 -0
  423. package/src/atoms/widget/index.ts +1 -0
  424. package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +197 -187
  425. package/src/contexts/amplitudeContext/amplitudeContext.tsx +56 -334
  426. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +3 -0
  427. package/src/contexts/enviveContext/enviveContext.tsx +101 -27
  428. package/src/contexts/enviveCssContext/enviveCssContext.tsx +121 -22
  429. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +12 -11
  430. package/src/contexts/graphqlContext/graphqlContext.tsx +131 -13
  431. package/src/contexts/graphqlContext/mockV3Config.ts +209 -0
  432. package/src/contexts/hardcopyContext/hardcopyContext.tsx +136 -14
  433. package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +6 -6
  434. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +5 -13
  435. package/src/contexts/pageContext/__tests__/pageContext.test.tsx +24 -8
  436. package/src/contexts/pageContext/mapping.ts +4 -0
  437. package/src/contexts/pageContext/pageContext.tsx +41 -12
  438. package/src/contexts/pageContext/types.ts +4 -0
  439. package/src/contexts/salesAgentContext/chatAPI.ts +1 -0
  440. package/src/contexts/salesAgentContext/salesAgentContext.tsx +94 -42
  441. package/src/contexts/salesAgentContext/salesAgentService.ts +78 -3
  442. package/src/contexts/salesAgentContext/statusCodeError.ts +10 -0
  443. package/src/contexts/searchContext/__tests__/searchContext.test.tsx +8 -2
  444. package/src/contexts/types.ts +15 -19
  445. package/src/contexts/typesV3.ts +316 -0
  446. package/src/contexts/uiConfigContext/__tests__/uiConfigContext.test.tsx +321 -0
  447. package/src/contexts/uiConfigContext/index.ts +1 -0
  448. package/src/contexts/uiConfigContext/uiConfigContext.tsx +44 -0
  449. package/src/contexts/widgetConfigContext/__tests__/widgetConfigContext.test.tsx +512 -0
  450. package/src/contexts/widgetConfigContext/index.ts +1 -0
  451. package/src/contexts/widgetConfigContext/widgetConfigContext.tsx +84 -0
  452. package/src/hooks/AppDetails/useAppDetails.ts +2 -2
  453. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +22 -21
  454. package/src/hooks/Search/__tests__/useSearch.test.tsx +15 -6
  455. package/src/hooks/Search/useSearch.tsx +6 -5
  456. package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +558 -0
  457. package/src/services/amplitudeService/amplitudeService.ts +324 -0
  458. package/src/services/amplitudeService/index.ts +1 -0
  459. package/src/services/enviveConfigService/enviveConfigService.ts +72 -0
  460. package/src/services/enviveConfigService/index.ts +1 -0
  461. package/src/types/enviveConfig.ts +27 -0
  462. package/src/types/index.ts +1 -0
@@ -0,0 +1,2 @@
1
+ import { ChatPreviewLoadingData, chatPreviewLoadingDataAtom } from "./chatPreviewLoading.js";
2
+ export { ChatPreviewLoadingData, chatPreviewLoadingDataAtom };
@@ -0,0 +1,3 @@
1
+ import { chatPreviewLoadingDataAtom } from "./chatPreviewLoading.js";
2
+
3
+ export { chatPreviewLoadingDataAtom };
@@ -1,10 +1,4 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
- const require_event_types = require('../../events/event-types.cjs');
3
- const require_events_index = require('../../events/index.cjs');
4
- const require_logger = require('../../application/logging/logger.cjs');
5
- const require_featureGates = require('../../application/models/featureGates.cjs');
6
- const require_orgsEnum = require('../../application/models/orgsEnum.cjs');
7
- require('../../application/models/index.cjs');
8
2
  const require_localStorageContext = require('../localStorageContext/localStorageContext.cjs');
9
3
  require('../localStorageContext/index.cjs');
10
4
  const require_enviveConfig = require('../../atoms/envive/enviveConfig.cjs');
@@ -12,251 +6,71 @@ const require_orgAnalyticsConfig = require('../../atoms/org/orgAnalyticsConfig.c
12
6
  const require_atoms_app_index = require('../../atoms/app/index.cjs');
13
7
  const require_enviveConfigContext = require('../enviveConfigContext/enviveConfigContext.cjs');
14
8
  const require_featureFlagServiceContext = require('../featureFlagServiceContext/featureFlagServiceContext.cjs');
9
+ const require_amplitudeService = require('../../services/amplitudeService/amplitudeService.cjs');
15
10
  let react = require("react");
16
11
  react = require_rolldown_runtime.__toESM(react);
17
12
  let jotai = require("jotai");
18
- let __amplitude_analytics_browser = require("@amplitude/analytics-browser");
19
13
  let react_jsx_runtime = require("react/jsx-runtime");
20
14
 
21
15
  //#region src/contexts/amplitudeContext/amplitudeContext.tsx
22
- let SpiffyMetricsEventName = /* @__PURE__ */ function(SpiffyMetricsEventName$1) {
23
- SpiffyMetricsEventName$1["BundleLoaded"] = "Bundle Loaded";
24
- SpiffyMetricsEventName$1["ChatLiveAgentBtnClick"] = "Chat Live Agent Btn Click";
25
- SpiffyMetricsEventName$1["ChatFloatingButtonVisible"] = "Chat Floating Button Visible";
26
- SpiffyMetricsEventName$1["ChatComponentVisible"] = "Chat Component Visible";
27
- SpiffyMetricsEventName$1["ChatComponentExpanded"] = "Chat Component Expanded";
28
- SpiffyMetricsEventName$1["ChatComponentCollapsed"] = "Chat Component Collapsed";
29
- SpiffyMetricsEventName$1["ChatUserMessageInput"] = "Chat User Message Input";
30
- SpiffyMetricsEventName$1["ChatSuggestionClicked"] = "Chat Suggestion Clicked";
31
- SpiffyMetricsEventName$1["ChatAssistantResponse"] = "Chat Assistant Response";
32
- SpiffyMetricsEventName$1["ProductCardClicked"] = "Product Card Clicked";
33
- SpiffyMetricsEventName$1["ProductReviewCardClicked"] = "Product Review Card Clicked";
34
- SpiffyMetricsEventName$1["AddToCartClicked"] = "Add to Cart Clicked";
35
- SpiffyMetricsEventName$1["PromptCardClicked"] = "Prompt Card Clicked";
36
- SpiffyMetricsEventName$1["SupportedEvent"] = "Supported Event";
37
- SpiffyMetricsEventName$1["SearchBackToResponseClicked"] = "Search Back to Response Clicked";
38
- SpiffyMetricsEventName$1["PerformanceMetrics"] = "Performance Metrics";
39
- SpiffyMetricsEventName$1["SearchBarClicked"] = "Search Bar Clicked";
40
- SpiffyMetricsEventName$1["OrderLookupStarted"] = "Order Lookup Started";
41
- SpiffyMetricsEventName$1["OrderLookupFormSubmitted"] = "Order Lookup Form Submitted";
42
- SpiffyMetricsEventName$1["SearchComponentVisible"] = "Search Component Visible";
43
- SpiffyMetricsEventName$1["SearchZeroStateSuggestionClicked"] = "Search Zero State Suggestion Clicked";
44
- SpiffyMetricsEventName$1["SearchInputStarted"] = "Search Input Started";
45
- SpiffyMetricsEventName$1["SearchQuerySubmitted"] = "Search Query Submitted";
46
- SpiffyMetricsEventName$1["SearchResultsViewed"] = "Search Results Viewed";
47
- SpiffyMetricsEventName$1["SearchTimeToFirstClick"] = "Search Time to First Click";
48
- SpiffyMetricsEventName$1["SearchZeroResultsRate"] = "Search Zero Results Rate";
49
- SpiffyMetricsEventName$1["SearchFilterClicked"] = "Search Filter Clicked";
50
- SpiffyMetricsEventName$1["SearchSortClicked"] = "Search Sort Clicked";
51
- return SpiffyMetricsEventName$1;
52
- }({});
53
16
  const AmplitudeContext = (0, react.createContext)(null);
54
- const AmplitudeProvider = ({ children }) => {
17
+ const AmplitudeProvider = ({ externalAmplitudeService, children }) => {
55
18
  const userId = (0, jotai.useAtomValue)(require_atoms_app_index.userIdAtom);
56
19
  const amplitudeApiKey = (0, jotai.useAtomValue)(require_enviveConfig.amplitudeApiKeyAtom);
57
20
  const dataResidency = (0, jotai.useAtomValue)(require_enviveConfig.dataResidencyAtom);
58
21
  const orgGaConfig = (0, jotai.useAtomValue)(require_orgAnalyticsConfig.orgAnalyticsGoogleAnalyticsConfigAtom);
59
22
  const env = (0, jotai.useAtomValue)(require_enviveConfig.envAtom);
60
23
  const contextSource = (0, jotai.useAtomValue)(require_enviveConfig.contextSourceAtom);
61
- (0, jotai.useAtomValue)(require_enviveConfig.identifyingPrefixAtom);
62
24
  const { getItem } = require_localStorageContext.useLocalStorage();
63
- const { publicKey, featureOverrides, variantUrlOverride, variantInfoOverride, show, orgShortName, featureGates } = require_enviveConfigContext.useEnviveConfig();
25
+ const { featureOverrides, variantUrlOverride, variantInfoOverride, show, orgShortName, featureGates } = require_enviveConfigContext.useEnviveConfig();
64
26
  const { featureFlagService } = require_featureFlagServiceContext.useFeatureFlagService();
65
- const [amplitudeClient, setAmplitudeClient] = react.default.useState(void 0);
66
- const [internalEventTrackingEnrichment, setInternalEventTrackingEnrichment] = react.default.useState(void 0);
67
- const [supplementalDefaultProps, setSupplementalDefaultProps] = react.default.useState({});
68
- const isReady = Boolean(userId && featureFlagService && amplitudeApiKey);
69
- const getDefaultTrackingProps = (0, react.useCallback)(() => {
70
- const gatesProps = featureGates ? featureGates.reduce((acc, curr) => {
71
- if (curr.name && curr.value != null) return {
72
- ...acc,
73
- [`feature_gate.${curr.name}`]: curr.value
74
- };
75
- return acc;
76
- }, {}) : {};
77
- const experimentProps = {};
78
- return {
79
- ...gatesProps,
80
- ...experimentProps,
81
- ...supplementalDefaultProps,
82
- app_id: "commerce-chat-react-component",
83
- chat_id: getItem(require_localStorageContext.LocalStorageKeys.ChatId),
84
- env: env || "unknown",
85
- app_source: contextSource,
86
- "org.short_name": orgShortName,
87
- "user.id": userId,
88
- "cdp.user_id": null,
89
- "cdp.provider": null,
90
- "event.source": "web-browser",
91
- "event.type": "user-activity",
92
- "event.id": null,
93
- "event.channel": "web",
94
- "event.timestamp": null
95
- };
27
+ const [service, setService] = (0, react.useState)(null);
28
+ const isReady = Boolean(userId && service && service.isReady);
29
+ (0, react.useEffect)(() => {
30
+ if (externalAmplitudeService !== void 0) {
31
+ setService(externalAmplitudeService);
32
+ return;
33
+ }
34
+ if (userId && amplitudeApiKey && dataResidency && featureFlagService) setService(new require_amplitudeService.AmplitudeService({
35
+ userId,
36
+ amplitudeApiKey,
37
+ dataResidency,
38
+ env: env || "",
39
+ contextSource: contextSource || "",
40
+ orgShortName: orgShortName || "",
41
+ featureFlagService,
42
+ orgGaConfig,
43
+ show,
44
+ getLocalStorageItem: getItem
45
+ }));
46
+ else setService(null);
96
47
  }, [
97
- featureGates,
98
- supplementalDefaultProps,
48
+ userId,
49
+ amplitudeApiKey,
50
+ dataResidency,
99
51
  env,
100
52
  contextSource,
101
53
  orgShortName,
102
- userId
103
- ]);
104
- const eventPropsToPrefixedEventProps = (0, react.useCallback)((eventName, eventProps) => {
105
- const prefix = eventName.toLowerCase().replace(/\s+/g, "_");
106
- return Object.entries(eventProps).reduce((acc, [key, value$1]) => {
107
- acc[`${prefix}.${key}`] = value$1;
108
- return acc;
109
- }, {});
110
- }, []);
111
- const amplitudeSessionReplayInit = (0, react.useCallback)(() => {
112
- const isEnabled = Boolean(orgShortName === require_orgsEnum.OrgShortName.UniqueVintage && featureFlagService?.isClientSessionEnabled() && featureFlagService?.isFeatureGateEnabled(require_featureGates.FeatureGates.IsNewFeatureEnabled));
113
- const sampleRate = 1;
114
- try {
115
- require_logger.default.logDebug(`[spiffy-ai] amplitude session-replay initializing isEnabled=${isEnabled} sampleRate=${sampleRate}`);
116
- if (!isEnabled) return isEnabled;
117
- return isEnabled;
118
- } catch (e) {
119
- require_logger.default.logError("[spiffy-ai] Error initializing amplitude session-replay", e);
120
- return false;
121
- }
122
- }, [orgShortName, featureFlagService]);
123
- const getEventTrackingEnrichment = (0, react.useCallback)(() => {
124
- if (internalEventTrackingEnrichment !== void 0) return internalEventTrackingEnrichment;
125
- const enrichment = {
126
- name: "page-view-tracking-enrichment",
127
- type: "enrichment",
128
- setup: async () => void 0,
129
- execute: async (event) => {
130
- let enrichedEvent;
131
- if (["[Amplitude] Page Viewed", `[Spiffy] ${SpiffyMetricsEventName.BundleLoaded}`].includes(event.event_type)) {
132
- const globalProperties = {};
133
- if (publicKey) globalProperties["globalProperties.publicKey"] = publicKey;
134
- if (featureOverrides) Object.entries(featureOverrides).forEach(([key, value$1]) => {
135
- globalProperties[`globalProperties.featureOverrides.${key}`] = String(value$1);
136
- });
137
- if (variantUrlOverride) globalProperties["globalProperties.variantUrlOverride"] = variantUrlOverride;
138
- if (variantInfoOverride) globalProperties["globalProperties.variantInfoOverride"] = JSON.stringify(variantInfoOverride);
139
- if (show != null) globalProperties["globalProperties.show"] = String(show);
140
- const enabledFeatures = featureFlagService.getFeatureFlags();
141
- const enabledFeaturesProperties = Object.entries(enabledFeatures).reduce((acc, [key, value$1]) => ({
142
- ...acc,
143
- [`enabledFeatures.${key}`]: `${value$1}`
144
- }), {});
145
- const timingProperties = { "timing.enriched_at_ms": window.performance?.now() };
146
- enrichedEvent = {
147
- ...event,
148
- event_properties: {
149
- ...event.event_properties,
150
- ...getDefaultTrackingProps(),
151
- ...globalProperties,
152
- ...enabledFeaturesProperties,
153
- ...timingProperties
154
- }
155
- };
156
- } else enrichedEvent = event;
157
- require_events_index.EventsDispatcher.dispatch(require_event_types.SpiffyEvent.AMPLITUDE_EVENT, enrichedEvent);
158
- return enrichedEvent;
159
- }
160
- };
161
- setInternalEventTrackingEnrichment(enrichment);
162
- return enrichment;
163
- }, [
164
- internalEventTrackingEnrichment,
165
- getDefaultTrackingProps,
166
54
  featureFlagService,
167
- publicKey,
55
+ orgGaConfig,
168
56
  featureOverrides,
169
57
  variantUrlOverride,
170
58
  variantInfoOverride,
171
- show
172
- ]);
173
- (0, react.useEffect)(() => {
174
- if (isReady && !amplitudeClient) {
175
- const currentAmplitudeInstance = (0, __amplitude_analytics_browser.createInstance)();
176
- const isSessionsEnabled = amplitudeSessionReplayInit();
177
- currentAmplitudeInstance.add(getEventTrackingEnrichment());
178
- currentAmplitudeInstance.init(amplitudeApiKey, userId, {
179
- serverZone: dataResidency,
180
- trackingOptions: { ipAddress: true },
181
- autocapture: {
182
- attribution: true,
183
- pageViews: { trackHistoryChanges: "pathOnly" },
184
- sessions: isSessionsEnabled,
185
- formInteractions: false,
186
- fileDownloads: false
187
- }
188
- });
189
- setAmplitudeClient(currentAmplitudeInstance);
190
- }
191
- }, [
192
- isReady,
193
- amplitudeClient,
194
- amplitudeApiKey,
195
- userId,
196
- dataResidency,
197
- amplitudeSessionReplayInit,
198
- getEventTrackingEnrichment
199
- ]);
200
- const trackEvent = (0, react.useCallback)(async ({ eventName, eventProps, eventGroups, alsoSendToGoogleAnalytics = false }) => {
201
- require_logger.default.logDebug("Submitting event", eventName);
202
- try {
203
- const decoratedEventName = `[Spiffy] ${eventName}`;
204
- if (!amplitudeClient) {
205
- require_logger.default.logWarn("amplitude client undefined", void 0, { event_name: decoratedEventName });
206
- return;
207
- }
208
- const eventData = JSON.stringify({
209
- eventName,
210
- eventProps,
211
- created_at: (/* @__PURE__ */ new Date()).toISOString()
212
- });
213
- const data = new TextEncoder().encode(eventData);
214
- const hashBuffer = await crypto.subtle.digest("SHA-256", data);
215
- const currentInsertId = Array.from(new Uint8Array(hashBuffer)).map((b) => b.toString(16).padStart(2, "0")).join("");
216
- require_logger.default.logDebug(`amplitude tracking ${decoratedEventName}`, null, {
217
- event_name: decoratedEventName,
218
- props: eventProps
219
- });
220
- amplitudeClient.track(decoratedEventName, {
221
- ...getDefaultTrackingProps(),
222
- ...eventProps,
223
- ...eventProps ? eventPropsToPrefixedEventProps(eventName, eventProps) : {}
224
- }, {
225
- ...eventGroups,
226
- insert_id: currentInsertId
227
- });
228
- if (alsoSendToGoogleAnalytics && orgGaConfig) {
229
- require_logger.default.logDebug("[spiffy-ai] GA tracking", decoratedEventName);
230
- if (window.dataLayer) window.dataLayer.push({
231
- event: decoratedEventName,
232
- eventProps
233
- });
234
- }
235
- } catch (err) {
236
- require_logger.default.logError("[spiffy-ai] Error tracking event", err, {
237
- eventName,
238
- eventProps
239
- });
240
- }
241
- }, [
242
- amplitudeClient,
243
- getDefaultTrackingProps,
244
- eventPropsToPrefixedEventProps,
245
- orgGaConfig
59
+ show,
60
+ featureGates,
61
+ getItem,
62
+ externalAmplitudeService
246
63
  ]);
247
64
  const value = (0, react.useMemo)(() => ({
248
- trackEvent,
65
+ trackEvent: async (params) => {
66
+ if (service) await service.trackEvent(params);
67
+ },
249
68
  isReady,
250
- setSupplementalDefaultProps: (props) => setSupplementalDefaultProps(props)
251
- }), [
252
- trackEvent,
253
- isReady,
254
- setSupplementalDefaultProps
255
- ]);
256
- if (!isReady) {
257
- console.log("AmplitudeProvider is not ready", isReady, userId, featureFlagService, amplitudeApiKey);
258
- return null;
259
- }
69
+ setSupplementalDefaultProps: (props) => {
70
+ if (service) service.setSupplementalDefaultProps(props);
71
+ }
72
+ }), [service, isReady]);
73
+ if (!isReady) return null;
260
74
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AmplitudeContext.Provider, {
261
75
  value,
262
76
  children
@@ -270,6 +84,5 @@ const useAmplitude = () => {
270
84
 
271
85
  //#endregion
272
86
  exports.AmplitudeProvider = AmplitudeProvider;
273
- exports.SpiffyMetricsEventName = SpiffyMetricsEventName;
274
87
  exports.useAmplitude = useAmplitude;
275
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC5janMiLCJuYW1lcyI6WyJBbXBsaXR1ZGVQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+IiwidXNlcklkQXRvbSIsImFtcGxpdHVkZUFwaUtleUF0b20iLCJkYXRhUmVzaWRlbmN5QXRvbSIsIm9yZ0FuYWx5dGljc0dvb2dsZUFuYWx5dGljc0NvbmZpZ0F0b20iLCJlbnZBdG9tIiwiY29udGV4dFNvdXJjZUF0b20iLCJpZGVudGlmeWluZ1ByZWZpeEF0b20iLCJ1c2VMb2NhbFN0b3JhZ2UiLCJ1c2VFbnZpdmVDb25maWciLCJ1c2VGZWF0dXJlRmxhZ1NlcnZpY2UiLCJSZWFjdCIsIkxvY2FsU3RvcmFnZUtleXMiLCJ2YWx1ZSIsIk9yZ1Nob3J0TmFtZSIsIkZlYXR1cmVHYXRlcyIsImVucmljaG1lbnQ6IEVucmljaG1lbnRQbHVnaW4iLCJlbnJpY2hlZEV2ZW50OiBFdmVudCIsImdsb2JhbFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4iLCJTcGlmZnlFdmVudCIsImN1cnJlbnRBbXBsaXR1ZGVJbnN0YW5jZTogQnJvd3NlckNsaWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgY3JlYXRlSW5zdGFuY2UgfSBmcm9tICdAYW1wbGl0dWRlL2FuYWx5dGljcy1icm93c2VyJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IE9yZ1Nob3J0TmFtZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRXZlbnRzRGlzcGF0Y2hlciwgU3BpZmZ5RXZlbnQgfSBmcm9tICdzcmMvZXZlbnRzJztcbmltcG9ydCB7XG4gIGFtcGxpdHVkZUFwaUtleUF0b20sXG4gIGNvbnRleHRTb3VyY2VBdG9tLFxuICBkYXRhUmVzaWRlbmN5QXRvbSxcbiAgZW52QXRvbSxcbiAgaWRlbnRpZnlpbmdQcmVmaXhBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VLZXlzLCB1c2VMb2NhbFN0b3JhZ2UgfSBmcm9tICdzcmMvY29udGV4dHMvbG9jYWxTdG9yYWdlQ29udGV4dCc7XG5pbXBvcnQgeyBvcmdBbmFseXRpY3NHb29nbGVBbmFseXRpY3NDb25maWdBdG9tIH0gZnJvbSAnc3JjL2F0b21zL29yZy9vcmdBbmFseXRpY3NDb25maWcnO1xuaW1wb3J0IHsgdXNlcklkQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHR5cGUge1xuICBCcm93c2VyQ2xpZW50LFxuICBFbnJpY2htZW50UGx1Z2luLFxuICBFdmVudCxcbiAgU2VydmVyWm9uZVR5cGUsXG59IGZyb20gJ0BhbXBsaXR1ZGUvYW5hbHl0aWNzLXR5cGVzJztcbmltcG9ydCB7IHVzZUVudml2ZUNvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy9lbnZpdmVDb25maWdDb250ZXh0L2Vudml2ZUNvbmZpZ0NvbnRleHQnO1xuaW1wb3J0IHsgdXNlRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dCc7XG5cbmV4cG9ydCBlbnVtIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUge1xuICBCdW5kbGVMb2FkZWQgPSAnQnVuZGxlIExvYWRlZCcsXG4gIENoYXRMaXZlQWdlbnRCdG5DbGljayA9ICdDaGF0IExpdmUgQWdlbnQgQnRuIENsaWNrJyxcbiAgQ2hhdEZsb2F0aW5nQnV0dG9uVmlzaWJsZSA9ICdDaGF0IEZsb2F0aW5nIEJ1dHRvbiBWaXNpYmxlJyxcbiAgQ2hhdENvbXBvbmVudFZpc2libGUgPSAnQ2hhdCBDb21wb25lbnQgVmlzaWJsZScsXG4gIENoYXRDb21wb25lbnRFeHBhbmRlZCA9ICdDaGF0IENvbXBvbmVudCBFeHBhbmRlZCcsXG4gIENoYXRDb21wb25lbnRDb2xsYXBzZWQgPSAnQ2hhdCBDb21wb25lbnQgQ29sbGFwc2VkJyxcbiAgQ2hhdFVzZXJNZXNzYWdlSW5wdXQgPSAnQ2hhdCBVc2VyIE1lc3NhZ2UgSW5wdXQnLFxuICBDaGF0U3VnZ2VzdGlvbkNsaWNrZWQgPSAnQ2hhdCBTdWdnZXN0aW9uIENsaWNrZWQnLFxuICBDaGF0QXNzaXN0YW50UmVzcG9uc2UgPSAnQ2hhdCBBc3Npc3RhbnQgUmVzcG9uc2UnLFxuICBQcm9kdWN0Q2FyZENsaWNrZWQgPSAnUHJvZHVjdCBDYXJkIENsaWNrZWQnLFxuICBQcm9kdWN0UmV2aWV3Q2FyZENsaWNrZWQgPSAnUHJvZHVjdCBSZXZpZXcgQ2FyZCBDbGlja2VkJyxcbiAgQWRkVG9DYXJ0Q2xpY2tlZCA9ICdBZGQgdG8gQ2FydCBDbGlja2VkJyxcbiAgUHJvbXB0Q2FyZENsaWNrZWQgPSAnUHJvbXB0IENhcmQgQ2xpY2tlZCcsXG4gIFN1cHBvcnRlZEV2ZW50ID0gJ1N1cHBvcnRlZCBFdmVudCcsXG4gIFNlYXJjaEJhY2tUb1Jlc3BvbnNlQ2xpY2tlZCA9ICdTZWFyY2ggQmFjayB0byBSZXNwb25zZSBDbGlja2VkJyxcbiAgUGVyZm9ybWFuY2VNZXRyaWNzID0gJ1BlcmZvcm1hbmNlIE1ldHJpY3MnLFxuICBTZWFyY2hCYXJDbGlja2VkID0gJ1NlYXJjaCBCYXIgQ2xpY2tlZCcsXG4gIE9yZGVyTG9va3VwU3RhcnRlZCA9ICdPcmRlciBMb29rdXAgU3RhcnRlZCcsXG4gIE9yZGVyTG9va3VwRm9ybVN1Ym1pdHRlZCA9ICdPcmRlciBMb29rdXAgRm9ybSBTdWJtaXR0ZWQnLFxuICBTZWFyY2hDb21wb25lbnRWaXNpYmxlID0gJ1NlYXJjaCBDb21wb25lbnQgVmlzaWJsZScsXG4gIFNlYXJjaFplcm9TdGF0ZVN1Z2dlc3Rpb25DbGlja2VkID0gJ1NlYXJjaCBaZXJvIFN0YXRlIFN1Z2dlc3Rpb24gQ2xpY2tlZCcsIC8vIFRoaXMgaXMgdGhlIHNjcm9sbGluZyBsaXN0IG9mIHN1Z2dlc3Rpb24gYnV0dG9ucyBpbiBnbG9iYWwgc2VhcmNoXG4gIFNlYXJjaElucHV0U3RhcnRlZCA9ICdTZWFyY2ggSW5wdXQgU3RhcnRlZCcsXG4gIFNlYXJjaFF1ZXJ5U3VibWl0dGVkID0gJ1NlYXJjaCBRdWVyeSBTdWJtaXR0ZWQnLFxuICAvLyBTZWFyY2hBdXRvY29tcGxldGVWaWV3ZWQgPSAnU2VhcmNoIEF1dG9jb21wbGV0ZSBWaWV3ZWQnLCAvLyBUT0RPOiBhZGQgdGhpcyB3aGVuIGF1dG9jb21wbGV0ZSBpcyBhZGRlZFxuICAvLyBTZWFyY2hBdXRvY29tcGxldGVDbGlja2VkID0gJ1NlYXJjaCBBdXRvY29tcGxldGUgQ2xpY2tlZCcsIC8vIFRPRE86IGFkZCB0aGlzIHdoZW4gYXV0b2NvbXBsZXRlIGlzIGFkZGVkXG4gIFNlYXJjaFJlc3VsdHNWaWV3ZWQgPSAnU2VhcmNoIFJlc3VsdHMgVmlld2VkJyxcbiAgU2VhcmNoVGltZVRvRmlyc3RDbGljayA9ICdTZWFyY2ggVGltZSB0byBGaXJzdCBDbGljaycsXG4gIFNlYXJjaFplcm9SZXN1bHRzUmF0ZSA9ICdTZWFyY2ggWmVybyBSZXN1bHRzIFJhdGUnLFxuICBTZWFyY2hGaWx0ZXJDbGlja2VkID0gJ1NlYXJjaCBGaWx0ZXIgQ2xpY2tlZCcsXG4gIFNlYXJjaFNvcnRDbGlja2VkID0gJ1NlYXJjaCBTb3J0IENsaWNrZWQnLFxufVxuXG5pbnRlcmZhY2UgVHJhY2tFdmVudFBhcmFtcyB7XG4gIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZTtcbiAgZXZlbnRQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBldmVudEdyb3Vwcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBhbHNvU2VuZFRvR29vZ2xlQW5hbHl0aWNzPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEFtcGxpdHVkZUNvbnRleHRUeXBlIHtcbiAgdHJhY2tFdmVudDogKHBhcmFtczogVHJhY2tFdmVudFBhcmFtcykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgaXNSZWFkeTogYm9vbGVhbjtcbiAgc2V0U3VwcGxlbWVudGFsRGVmYXVsdFByb3BzOiAocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB2b2lkO1xufVxuXG5jb25zdCBBbXBsaXR1ZGVDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxBbXBsaXR1ZGVDb250ZXh0VHlwZSB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgY29uc3QgQW1wbGl0dWRlUHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgdXNlcklkID0gdXNlQXRvbVZhbHVlKHVzZXJJZEF0b20pO1xuICBjb25zdCBhbXBsaXR1ZGVBcGlLZXkgPSB1c2VBdG9tVmFsdWUoYW1wbGl0dWRlQXBpS2V5QXRvbSk7XG4gIGNvbnN0IGRhdGFSZXNpZGVuY3kgPSB1c2VBdG9tVmFsdWUoZGF0YVJlc2lkZW5jeUF0b20pO1xuICBjb25zdCBvcmdHYUNvbmZpZyA9IHVzZUF0b21WYWx1ZShvcmdBbmFseXRpY3NHb29nbGVBbmFseXRpY3NDb25maWdBdG9tKTtcbiAgY29uc3QgZW52ID0gdXNlQXRvbVZhbHVlKGVudkF0b20pO1xuICBjb25zdCBjb250ZXh0U291cmNlID0gdXNlQXRvbVZhbHVlKGNvbnRleHRTb3VyY2VBdG9tKTtcbiAgY29uc3QgaWRlbnRpZnlpbmdQcmVmaXggPSB1c2VBdG9tVmFsdWUoaWRlbnRpZnlpbmdQcmVmaXhBdG9tKTtcbiAgY29uc3QgeyBnZXRJdGVtIH0gPSB1c2VMb2NhbFN0b3JhZ2UoKTtcbiAgY29uc3Qge1xuICAgIHB1YmxpY0tleSxcbiAgICBmZWF0dXJlT3ZlcnJpZGVzLFxuICAgIHZhcmlhbnRVcmxPdmVycmlkZSxcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlLFxuICAgIHNob3csXG4gICAgb3JnU2hvcnROYW1lLFxuICAgIGZlYXR1cmVHYXRlcyxcbiAgfSA9IHVzZUVudml2ZUNvbmZpZygpO1xuXG4gIGNvbnN0IHsgZmVhdHVyZUZsYWdTZXJ2aWNlIH0gPSB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UoKTtcblxuICBjb25zdCBbYW1wbGl0dWRlQ2xpZW50LCBzZXRBbXBsaXR1ZGVDbGllbnRdID0gUmVhY3QudXNlU3RhdGU8QnJvd3NlckNsaWVudCB8IHVuZGVmaW5lZD4oXG4gICAgdW5kZWZpbmVkLFxuICApO1xuICBjb25zdCBbaW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudCwgc2V0SW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudF0gPSBSZWFjdC51c2VTdGF0ZTxcbiAgICBFbnJpY2htZW50UGx1Z2luIHwgdW5kZWZpbmVkXG4gID4odW5kZWZpbmVkKTtcbiAgY29uc3QgW3N1cHBsZW1lbnRhbERlZmF1bHRQcm9wcywgc2V0U3VwcGxlbWVudGFsRGVmYXVsdFByb3BzXSA9IFJlYWN0LnVzZVN0YXRlPFxuICAgIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gID4oe30pO1xuXG4gIGNvbnN0IGlzUmVhZHkgPSBCb29sZWFuKHVzZXJJZCAmJiBmZWF0dXJlRmxhZ1NlcnZpY2UgJiYgYW1wbGl0dWRlQXBpS2V5KTtcblxuICBjb25zdCBnZXREZWZhdWx0VHJhY2tpbmdQcm9wcyA9IHVzZUNhbGxiYWNrKCgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gICAgY29uc3QgZ2F0ZXNQcm9wcyA9IGZlYXR1cmVHYXRlc1xuICAgICAgPyBmZWF0dXJlR2F0ZXMucmVkdWNlPFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PigoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgICAgaWYgKGN1cnIubmFtZSAmJiBjdXJyLnZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmFjYywgW2BmZWF0dXJlX2dhdGUuJHtjdXJyLm5hbWV9YF06IGN1cnIudmFsdWUgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pXG4gICAgICA6IHt9O1xuICAgIGNvbnN0IGV4cGVyaW1lbnRQcm9wcyA9IHt9OyAvLyBObyBkaXJlY3QgZXF1aXZhbGVudCBmb3IgZXhwZXJpbWVudHMgaW4gRW52aXZlQ29uZmlnIHlldFxuXG4gICAgY29uc3Qgb3JnTGV2ZWxBbXBsaXR1ZGVUcmFja2luZ1Byb3BzID0ge1xuICAgICAgLi4uZ2F0ZXNQcm9wcyxcbiAgICAgIC4uLmV4cGVyaW1lbnRQcm9wcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm9yZ0xldmVsQW1wbGl0dWRlVHJhY2tpbmdQcm9wcyxcbiAgICAgIC4uLnN1cHBsZW1lbnRhbERlZmF1bHRQcm9wcyxcbiAgICAgIC8vIFRPRE86IG9yZ19pZCBpcyBub3QgZGlyZWN0bHkgYXZhaWxhYmxlIGluIEVudml2ZUNvbmZpZy4gTmVlZCB0byBmaW5kIGEgbmV3IHNvdXJjZSBvciBkZXJpdmUgaXQuXG4gICAgICAvLyBvcmdfaWQ6IG9yZ0NvbmZpZz8ub3JnPy5vcmc/LmlkLFxuICAgICAgYXBwX2lkOiAnY29tbWVyY2UtY2hhdC1yZWFjdC1jb21wb25lbnQnLFxuICAgICAgY2hhdF9pZDogZ2V0SXRlbShMb2NhbFN0b3JhZ2VLZXlzLkNoYXRJZCksXG4gICAgICBlbnY6IGVudiB8fCAndW5rbm93bicsXG4gICAgICBhcHBfc291cmNlOiBjb250ZXh0U291cmNlLFxuICAgICAgJ29yZy5zaG9ydF9uYW1lJzogb3JnU2hvcnROYW1lLFxuICAgICAgJ3VzZXIuaWQnOiB1c2VySWQsXG4gICAgICAnY2RwLnVzZXJfaWQnOiBudWxsLFxuICAgICAgJ2NkcC5wcm92aWRlcic6IG51bGwsXG4gICAgICAnZXZlbnQuc291cmNlJzogJ3dlYi1icm93c2VyJyxcbiAgICAgICdldmVudC50eXBlJzogJ3VzZXItYWN0aXZpdHknLFxuICAgICAgJ2V2ZW50LmlkJzogbnVsbCxcbiAgICAgICdldmVudC5jaGFubmVsJzogJ3dlYicsXG4gICAgICAnZXZlbnQudGltZXN0YW1wJzogbnVsbCxcbiAgICB9O1xuICB9LCBbZmVhdHVyZUdhdGVzLCBzdXBwbGVtZW50YWxEZWZhdWx0UHJvcHMsIGVudiwgY29udGV4dFNvdXJjZSwgb3JnU2hvcnROYW1lLCB1c2VySWRdKTtcblxuICBjb25zdCBldmVudFByb3BzVG9QcmVmaXhlZEV2ZW50UHJvcHMgPSB1c2VDYWxsYmFjayhcbiAgICAoXG4gICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG4gICAgICBldmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICApOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gICAgICBjb25zdCBwcmVmaXggPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICdfJyk7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoZXZlbnRQcm9wcykucmVkdWNlKFxuICAgICAgICAoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICBhY2NbYCR7cHJlZml4fS4ke2tleX1gXSA9IHZhbHVlO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sXG4gICAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgKTtcbiAgICB9LFxuICAgIFtdLFxuICApO1xuXG4gIGNvbnN0IGFtcGxpdHVkZVNlc3Npb25SZXBsYXlJbml0ID0gdXNlQ2FsbGJhY2soKCk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IEJvb2xlYW4oXG4gICAgICBvcmdTaG9ydE5hbWUgPT09IE9yZ1Nob3J0TmFtZS5VbmlxdWVWaW50YWdlICYmXG4gICAgICBmZWF0dXJlRmxhZ1NlcnZpY2U/LmlzQ2xpZW50U2Vzc2lvbkVuYWJsZWQoKSAmJlxuICAgICAgZmVhdHVyZUZsYWdTZXJ2aWNlPy5pc0ZlYXR1cmVHYXRlRW5hYmxlZChGZWF0dXJlR2F0ZXMuSXNOZXdGZWF0dXJlRW5hYmxlZCksXG4gICAgKTtcbiAgICBjb25zdCBzYW1wbGVSYXRlID0gMTtcblxuICAgIHRyeSB7XG4gICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgIGBbc3BpZmZ5LWFpXSBhbXBsaXR1ZGUgc2Vzc2lvbi1yZXBsYXkgaW5pdGlhbGl6aW5nIGlzRW5hYmxlZD0ke2lzRW5hYmxlZH0gc2FtcGxlUmF0ZT0ke3NhbXBsZVJhdGV9YCxcbiAgICAgICk7XG5cbiAgICAgIGlmICghaXNFbmFibGVkKSB7XG4gICAgICAgIHJldHVybiBpc0VuYWJsZWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIGFtcGxpdHVkZUluc3RhbmNlLmFkZChzZXNzaW9uUmVwbGF5UGx1Z2luKHsgc2FtcGxlUmF0ZSB9KSk7XG5cbiAgICAgIHJldHVybiBpc0VuYWJsZWQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgTG9nZ2VyLmxvZ0Vycm9yKCdbc3BpZmZ5LWFpXSBFcnJvciBpbml0aWFsaXppbmcgYW1wbGl0dWRlIHNlc3Npb24tcmVwbGF5JywgZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9LCBbb3JnU2hvcnROYW1lLCBmZWF0dXJlRmxhZ1NlcnZpY2VdKTtcblxuICBjb25zdCBnZXRFdmVudFRyYWNraW5nRW5yaWNobWVudCA9IHVzZUNhbGxiYWNrKCgpOiBFbnJpY2htZW50UGx1Z2luID0+IHtcbiAgICBpZiAoaW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gaW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudDtcbiAgICB9XG5cbiAgICBjb25zdCBlbnJpY2htZW50OiBFbnJpY2htZW50UGx1Z2luID0ge1xuICAgICAgbmFtZTogJ3BhZ2Utdmlldy10cmFja2luZy1lbnJpY2htZW50JyxcbiAgICAgIHR5cGU6ICdlbnJpY2htZW50JyxcbiAgICAgIHNldHVwOiBhc3luYyAoKSA9PiB1bmRlZmluZWQsXG4gICAgICBleGVjdXRlOiBhc3luYyAoZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTxFdmVudD4gPT4ge1xuICAgICAgICBsZXQgZW5yaWNoZWRFdmVudDogRXZlbnQ7XG5cbiAgICAgICAgY29uc3QgZXZlbnRzVG9FbnJpY2ggPSBbXG4gICAgICAgICAgJ1tBbXBsaXR1ZGVdIFBhZ2UgVmlld2VkJyxcbiAgICAgICAgICBgW1NwaWZmeV0gJHtTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkJ1bmRsZUxvYWRlZH1gLFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmIChldmVudHNUb0VucmljaC5pbmNsdWRlcyhldmVudC5ldmVudF90eXBlKSkge1xuICAgICAgICAgIGNvbnN0IGdsb2JhbFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgICAgICAgIGlmIChwdWJsaWNLZXkpIHtcbiAgICAgICAgICAgIGdsb2JhbFByb3BlcnRpZXNbJ2dsb2JhbFByb3BlcnRpZXMucHVibGljS2V5J10gPSBwdWJsaWNLZXk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChmZWF0dXJlT3ZlcnJpZGVzKSB7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhmZWF0dXJlT3ZlcnJpZGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgZ2xvYmFsUHJvcGVydGllc1tgZ2xvYmFsUHJvcGVydGllcy5mZWF0dXJlT3ZlcnJpZGVzLiR7a2V5fWBdID0gU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFyaWFudFVybE92ZXJyaWRlKSB7XG4gICAgICAgICAgICBnbG9iYWxQcm9wZXJ0aWVzWydnbG9iYWxQcm9wZXJ0aWVzLnZhcmlhbnRVcmxPdmVycmlkZSddID0gdmFyaWFudFVybE92ZXJyaWRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFyaWFudEluZm9PdmVycmlkZSkge1xuICAgICAgICAgICAgZ2xvYmFsUHJvcGVydGllc1snZ2xvYmFsUHJvcGVydGllcy52YXJpYW50SW5mb092ZXJyaWRlJ10gPVxuICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh2YXJpYW50SW5mb092ZXJyaWRlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNob3cgIT0gbnVsbCkge1xuICAgICAgICAgICAgZ2xvYmFsUHJvcGVydGllc1snZ2xvYmFsUHJvcGVydGllcy5zaG93J10gPSBTdHJpbmcoc2hvdyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZW5hYmxlZEZlYXR1cmVzID0gZmVhdHVyZUZsYWdTZXJ2aWNlIS5nZXRGZWF0dXJlRmxhZ3MoKTtcbiAgICAgICAgICBjb25zdCBlbmFibGVkRmVhdHVyZXNQcm9wZXJ0aWVzID0gT2JqZWN0LmVudHJpZXMoZW5hYmxlZEZlYXR1cmVzKS5yZWR1Y2U8XG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgICAgICAgPihcbiAgICAgICAgICAgIChhY2MsIFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgICBbYGVuYWJsZWRGZWF0dXJlcy4ke2tleX1gXTogYCR7dmFsdWV9YCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IHRpbWluZ1Byb3BlcnRpZXMgPSB7XG4gICAgICAgICAgICAndGltaW5nLmVucmljaGVkX2F0X21zJzogd2luZG93LnBlcmZvcm1hbmNlPy5ub3coKSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgZW5yaWNoZWRFdmVudCA9IHtcbiAgICAgICAgICAgIC4uLmV2ZW50LFxuICAgICAgICAgICAgZXZlbnRfcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAuLi5ldmVudC5ldmVudF9wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAuLi5nZXREZWZhdWx0VHJhY2tpbmdQcm9wcygpLFxuICAgICAgICAgICAgICAuLi5nbG9iYWxQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAuLi5lbmFibGVkRmVhdHVyZXNQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAuLi50aW1pbmdQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVucmljaGVkRXZlbnQgPSBldmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEV2ZW50c0Rpc3BhdGNoZXIuZGlzcGF0Y2goU3BpZmZ5RXZlbnQuQU1QTElUVURFX0VWRU5ULCBlbnJpY2hlZEV2ZW50KTtcblxuICAgICAgICByZXR1cm4gZW5yaWNoZWRFdmVudDtcbiAgICAgIH0sXG4gICAgfTtcbiAgICBzZXRJbnRlcm5hbEV2ZW50VHJhY2tpbmdFbnJpY2htZW50KGVucmljaG1lbnQpO1xuICAgIHJldHVybiBlbnJpY2htZW50O1xuICB9LCBbXG4gICAgaW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudCxcbiAgICBnZXREZWZhdWx0VHJhY2tpbmdQcm9wcyxcbiAgICBmZWF0dXJlRmxhZ1NlcnZpY2UsXG4gICAgcHVibGljS2V5LFxuICAgIGZlYXR1cmVPdmVycmlkZXMsXG4gICAgdmFyaWFudFVybE92ZXJyaWRlLFxuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGUsXG4gICAgc2hvdyxcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNSZWFkeSAmJiAhYW1wbGl0dWRlQ2xpZW50KSB7XG4gICAgICBjb25zdCBjdXJyZW50QW1wbGl0dWRlSW5zdGFuY2U6IEJyb3dzZXJDbGllbnQgPSBjcmVhdGVJbnN0YW5jZSgpO1xuICAgICAgY29uc3QgaXNTZXNzaW9uc0VuYWJsZWQgPSBhbXBsaXR1ZGVTZXNzaW9uUmVwbGF5SW5pdCgpO1xuICAgICAgY3VycmVudEFtcGxpdHVkZUluc3RhbmNlLmFkZChnZXRFdmVudFRyYWNraW5nRW5yaWNobWVudCgpKTtcbiAgICAgIGN1cnJlbnRBbXBsaXR1ZGVJbnN0YW5jZS5pbml0KGFtcGxpdHVkZUFwaUtleSEsIHVzZXJJZCEsIHtcbiAgICAgICAgc2VydmVyWm9uZTogZGF0YVJlc2lkZW5jeSBhcyBTZXJ2ZXJab25lVHlwZSxcbiAgICAgICAgdHJhY2tpbmdPcHRpb25zOiB7XG4gICAgICAgICAgaXBBZGRyZXNzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBhdXRvY2FwdHVyZToge1xuICAgICAgICAgIGF0dHJpYnV0aW9uOiB0cnVlLFxuICAgICAgICAgIHBhZ2VWaWV3czoge1xuICAgICAgICAgICAgdHJhY2tIaXN0b3J5Q2hhbmdlczogJ3BhdGhPbmx5JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNlc3Npb25zOiBpc1Nlc3Npb25zRW5hYmxlZCxcbiAgICAgICAgICBmb3JtSW50ZXJhY3Rpb25zOiBmYWxzZSxcbiAgICAgICAgICBmaWxlRG93bmxvYWRzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgc2V0QW1wbGl0dWRlQ2xpZW50KGN1cnJlbnRBbXBsaXR1ZGVJbnN0YW5jZSk7XG4gICAgfVxuICB9LCBbXG4gICAgaXNSZWFkeSxcbiAgICBhbXBsaXR1ZGVDbGllbnQsXG4gICAgYW1wbGl0dWRlQXBpS2V5LFxuICAgIHVzZXJJZCxcbiAgICBkYXRhUmVzaWRlbmN5LFxuICAgIGFtcGxpdHVkZVNlc3Npb25SZXBsYXlJbml0LFxuICAgIGdldEV2ZW50VHJhY2tpbmdFbnJpY2htZW50LFxuICBdKTtcblxuICBjb25zdCB0cmFja0V2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHtcbiAgICAgIGV2ZW50TmFtZSxcbiAgICAgIGV2ZW50UHJvcHMsXG4gICAgICBldmVudEdyb3VwcyxcbiAgICAgIGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3MgPSBmYWxzZSxcbiAgICB9OiBUcmFja0V2ZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBMb2dnZXIubG9nRGVidWcoJ1N1Ym1pdHRpbmcgZXZlbnQnLCBldmVudE5hbWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGVjb3JhdGVkRXZlbnROYW1lID0gYFtTcGlmZnldICR7ZXZlbnROYW1lfWA7XG5cbiAgICAgICAgaWYgKCFhbXBsaXR1ZGVDbGllbnQpIHtcbiAgICAgICAgICBMb2dnZXIubG9nV2FybignYW1wbGl0dWRlIGNsaWVudCB1bmRlZmluZWQnLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgIGV2ZW50X25hbWU6IGRlY29yYXRlZEV2ZW50TmFtZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBldmVudERhdGEgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZXZlbnROYW1lLFxuICAgICAgICAgIGV2ZW50UHJvcHMsXG4gICAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICAgICAgICBjb25zdCBkYXRhID0gZW5jb2Rlci5lbmNvZGUoZXZlbnREYXRhKTtcbiAgICAgICAgLy8gY2FsY3VsYXRlIGEgaGFzaCBvZiB0aGUgZXZlbnQgcHJvcGVydGllcyB0byB1c2UgYXMgdGhlIGluc2VydF9pZCBzbyB0aGF0IGR1cGxpY2F0ZSBldmVudHNcbiAgICAgICAgLy8gYXJlIGF1dG9tYXRpY2FsbHkgZHJvcHBlZCBieSBBbXBsaXR1ZGVcbiAgICAgICAgY29uc3QgaGFzaEJ1ZmZlciA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCdTSEEtMjU2JywgZGF0YSk7XG4gICAgICAgIGNvbnN0IGhhc2hBcnJheSA9IEFycmF5LmZyb20obmV3IFVpbnQ4QXJyYXkoaGFzaEJ1ZmZlcikpO1xuICAgICAgICBjb25zdCBjdXJyZW50SW5zZXJ0SWQgPSBoYXNoQXJyYXkubWFwKGIgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSkuam9pbignJyk7XG5cbiAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKGBhbXBsaXR1ZGUgdHJhY2tpbmcgJHtkZWNvcmF0ZWRFdmVudE5hbWV9YCwgbnVsbCwge1xuICAgICAgICAgIGV2ZW50X25hbWU6IGRlY29yYXRlZEV2ZW50TmFtZSxcbiAgICAgICAgICBwcm9wczogZXZlbnRQcm9wcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYW1wbGl0dWRlQ2xpZW50LnRyYWNrKFxuICAgICAgICAgIGRlY29yYXRlZEV2ZW50TmFtZSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5nZXREZWZhdWx0VHJhY2tpbmdQcm9wcygpLFxuICAgICAgICAgICAgLi4uZXZlbnRQcm9wcyxcbiAgICAgICAgICAgIC4uLihldmVudFByb3BzID8gZXZlbnRQcm9wc1RvUHJlZml4ZWRFdmVudFByb3BzKGV2ZW50TmFtZSwgZXZlbnRQcm9wcykgOiB7fSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5ldmVudEdyb3VwcyxcbiAgICAgICAgICAgIGluc2VydF9pZDogY3VycmVudEluc2VydElkLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3MgJiYgb3JnR2FDb25maWcpIHtcbiAgICAgICAgICAvLyBUT0RPOiBBZGQgaW4gd2luZG93RGF0YUxheWVyU2VydmljZSBvciBjb250ZXh0IGFsdGVybmF0aXZlIGFuZCBob29rIGl0IHVwIGhlcmVcbiAgICAgICAgICBMb2dnZXIubG9nRGVidWcoJ1tzcGlmZnktYWldIEdBIHRyYWNraW5nJywgZGVjb3JhdGVkRXZlbnROYW1lKTtcbiAgICAgICAgICBpZiAod2luZG93LmRhdGFMYXllcikge1xuICAgICAgICAgICAgKHdpbmRvdy5kYXRhTGF5ZXIgYXMgYW55W10pLnB1c2goe1xuICAgICAgICAgICAgICBldmVudDogZGVjb3JhdGVkRXZlbnROYW1lLFxuICAgICAgICAgICAgICBldmVudFByb3BzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0Vycm9yKCdbc3BpZmZ5LWFpXSBFcnJvciB0cmFja2luZyBldmVudCcsIGVyciwge1xuICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICBldmVudFByb3BzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFthbXBsaXR1ZGVDbGllbnQsIGdldERlZmF1bHRUcmFja2luZ1Byb3BzLCBldmVudFByb3BzVG9QcmVmaXhlZEV2ZW50UHJvcHMsIG9yZ0dhQ29uZmlnXSxcbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHRyYWNrRXZlbnQsXG4gICAgICBpc1JlYWR5LFxuICAgICAgc2V0U3VwcGxlbWVudGFsRGVmYXVsdFByb3BzOiAocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PlxuICAgICAgICBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHMocHJvcHMpLFxuICAgIH0pLFxuICAgIFt0cmFja0V2ZW50LCBpc1JlYWR5LCBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHNdLFxuICApO1xuXG4gIGlmICghaXNSZWFkeSkge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgJ0FtcGxpdHVkZVByb3ZpZGVyIGlzIG5vdCByZWFkeScsXG4gICAgICBpc1JlYWR5LFxuICAgICAgdXNlcklkLFxuICAgICAgZmVhdHVyZUZsYWdTZXJ2aWNlLFxuICAgICAgYW1wbGl0dWRlQXBpS2V5LFxuICAgICk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gPEFtcGxpdHVkZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9BbXBsaXR1ZGVDb250ZXh0LlByb3ZpZGVyPjtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VBbXBsaXR1ZGUgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEFtcGxpdHVkZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUFtcGxpdHVkZSBtdXN0IGJlIHVzZWQgd2l0aGluIEFtcGxpdHVkZVByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwQkEsSUFBWSw0RUFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFnQkYsTUFBTSw0Q0FBOEQsS0FBSztBQUV6RSxNQUFhQSxxQkFBOEQsRUFBRSxlQUFlO0NBQzFGLE1BQU0saUNBQXNCQyxtQ0FBVztDQUN2QyxNQUFNLDBDQUErQkMseUNBQW9CO0NBQ3pELE1BQU0sd0NBQTZCQyx1Q0FBa0I7Q0FDckQsTUFBTSxzQ0FBMkJDLGlFQUFzQztDQUN2RSxNQUFNLDhCQUFtQkMsNkJBQVE7Q0FDakMsTUFBTSx3Q0FBNkJDLHVDQUFrQjtBQUMzQix5QkFBYUMsMkNBQXNCO0NBQzdELE1BQU0sRUFBRSxZQUFZQyw2Q0FBaUI7Q0FDckMs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
88
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC5janMiLCJuYW1lcyI6WyJBbXBsaXR1ZGVQcm92aWRlcjogUmVhY3QuRkM8e1xuICBleHRlcm5hbEFtcGxpdHVkZVNlcnZpY2U/OiBBbXBsaXR1ZGVTZXJ2aWNlO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufT4iLCJ1c2VySWRBdG9tIiwiYW1wbGl0dWRlQXBpS2V5QXRvbSIsImRhdGFSZXNpZGVuY3lBdG9tIiwib3JnQW5hbHl0aWNzR29vZ2xlQW5hbHl0aWNzQ29uZmlnQXRvbSIsImVudkF0b20iLCJjb250ZXh0U291cmNlQXRvbSIsInVzZUxvY2FsU3RvcmFnZSIsInVzZUVudml2ZUNvbmZpZyIsInVzZUZlYXR1cmVGbGFnU2VydmljZSIsIkFtcGxpdHVkZVNlcnZpY2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUF0b21WYWx1ZSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7XG4gIGFtcGxpdHVkZUFwaUtleUF0b20sXG4gIGNvbnRleHRTb3VyY2VBdG9tLFxuICBkYXRhUmVzaWRlbmN5QXRvbSxcbiAgZW52QXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWcnO1xuaW1wb3J0IHsgdXNlTG9jYWxTdG9yYWdlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2xvY2FsU3RvcmFnZUNvbnRleHQnO1xuaW1wb3J0IHsgb3JnQW5hbHl0aWNzR29vZ2xlQW5hbHl0aWNzQ29uZmlnQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9vcmcvb3JnQW5hbHl0aWNzQ29uZmlnJztcbmltcG9ydCB7IHVzZXJJZEF0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IHVzZUVudml2ZUNvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy9lbnZpdmVDb25maWdDb250ZXh0L2Vudml2ZUNvbmZpZ0NvbnRleHQnO1xuaW1wb3J0IHsgdXNlRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dCc7XG5pbXBvcnQge1xuICBBbXBsaXR1ZGVTZXJ2aWNlLFxuICBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLFxuICBUcmFja0V2ZW50UGFyYW1zLFxufSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcblxuZXhwb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9O1xuXG5pbnRlcmZhY2UgQW1wbGl0dWRlQ29udGV4dFR5cGUge1xuICB0cmFja0V2ZW50OiAocGFyYW1zOiBUcmFja0V2ZW50UGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBpc1JlYWR5OiBib29sZWFuO1xuICBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHM6IChwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHZvaWQ7XG59XG5cbmNvbnN0IEFtcGxpdHVkZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PEFtcGxpdHVkZUNvbnRleHRUeXBlIHwgbnVsbD4obnVsbCk7XG5cbmV4cG9ydCBjb25zdCBBbXBsaXR1ZGVQcm92aWRlcjogUmVhY3QuRkM8e1xuICBleHRlcm5hbEFtcGxpdHVkZVNlcnZpY2U/OiBBbXBsaXR1ZGVTZXJ2aWNlO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufT4gPSAoeyBleHRlcm5hbEFtcGxpdHVkZVNlcnZpY2UsIGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgdXNlcklkID0gdXNlQXRvbVZhbHVlKHVzZXJJZEF0b20pO1xuICBjb25zdCBhbXBsaXR1ZGVBcGlLZXkgPSB1c2VBdG9tVmFsdWUoYW1wbGl0dWRlQXBpS2V5QXRvbSk7XG4gIGNvbnN0IGRhdGFSZXNpZGVuY3kgPSB1c2VBdG9tVmFsdWUoZGF0YVJlc2lkZW5jeUF0b20pO1xuICBjb25zdCBvcmdHYUNvbmZpZyA9IHVzZUF0b21WYWx1ZShvcmdBbmFseXRpY3NHb29nbGVBbmFseXRpY3NDb25maWdBdG9tKTtcbiAgY29uc3QgZW52ID0gdXNlQXRvbVZhbHVlKGVudkF0b20pO1xuICBjb25zdCBjb250ZXh0U291cmNlID0gdXNlQXRvbVZhbHVlKGNvbnRleHRTb3VyY2VBdG9tKTtcbiAgY29uc3QgeyBnZXRJdGVtIH0gPSB1c2VMb2NhbFN0b3JhZ2UoKTtcbiAgY29uc3Qge1xuICAgIGZlYXR1cmVPdmVycmlkZXMsXG4gICAgdmFyaWFudFVybE92ZXJyaWRlLFxuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGUsXG4gICAgc2hvdyxcbiAgICBvcmdTaG9ydE5hbWUsXG4gICAgZmVhdHVyZUdhdGVzLFxuICB9ID0gdXNlRW52aXZlQ29uZmlnKCk7XG5cbiAgY29uc3QgeyBmZWF0dXJlRmxhZ1NlcnZpY2UgfSA9IHVzZUZlYXR1cmVGbGFnU2VydmljZSgpO1xuXG4gIGNvbnN0IFtzZXJ2aWNlLCBzZXRTZXJ2aWNlXSA9IHVzZVN0YXRlPEFtcGxpdHVkZVNlcnZpY2UgfCBudWxsPihudWxsKTtcblxuICBjb25zdCBpc1JlYWR5ID0gQm9vbGVhbih1c2VySWQgJiYgc2VydmljZSAmJiBzZXJ2aWNlLmlzUmVhZHkpO1xuXG4gIC8vIENyZWF0ZSBzZXJ2aWNlIGluc3RhbmNlIHdoZW4gZGVwZW5kZW5jaWVzIGFyZSByZWFkeVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChleHRlcm5hbEFtcGxpdHVkZVNlcnZpY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2V0U2VydmljZShleHRlcm5hbEFtcGxpdHVkZVNlcnZpY2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodXNlcklkICYmIGFtcGxpdHVkZUFwaUtleSAmJiBkYXRhUmVzaWRlbmN5ICYmIGZlYXR1cmVGbGFnU2VydmljZSkge1xuICAgICAgY29uc3QgYW1wbGl0dWRlU2VydmljZSA9IG5ldyBBbXBsaXR1ZGVTZXJ2aWNlKHtcbiAgICAgICAgdXNlcklkLFxuICAgICAgICBhbXBsaXR1ZGVBcGlLZXksXG4gICAgICAgIGRhdGFSZXNpZGVuY3ksXG4gICAgICAgIGVudjogZW52IHx8ICcnLFxuICAgICAgICBjb250ZXh0U291cmNlOiBjb250ZXh0U291cmNlIHx8ICcnLFxuICAgICAgICBvcmdTaG9ydE5hbWU6IG9yZ1Nob3J0TmFtZSB8fCAnJyxcbiAgICAgICAgZmVhdHVyZUZsYWdTZXJ2aWNlLFxuICAgICAgICBvcmdHYUNvbmZpZyxcbiAgICAgICAgc2hvdyxcbiAgICAgICAgZ2V0TG9jYWxTdG9yYWdlSXRlbTogZ2V0SXRlbSxcbiAgICAgIH0pO1xuICAgICAgc2V0U2VydmljZShhbXBsaXR1ZGVTZXJ2aWNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2VydmljZShudWxsKTtcbiAgICB9XG4gIH0sIFtcbiAgICB1c2VySWQsXG4gICAgYW1wbGl0dWRlQXBpS2V5LFxuICAgIGRhdGFSZXNpZGVuY3ksXG4gICAgZW52LFxuICAgIGNvbnRleHRTb3VyY2UsXG4gICAgb3JnU2hvcnROYW1lLFxuICAgIGZlYXR1cmVGbGFnU2VydmljZSxcbiAgICBvcmdHYUNvbmZpZyxcbiAgICBmZWF0dXJlT3ZlcnJpZGVzLFxuICAgIHZhcmlhbnRVcmxPdmVycmlkZSxcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlLFxuICAgIHNob3csXG4gICAgZmVhdHVyZUdhdGVzLFxuICAgIGdldEl0ZW0sXG4gICAgZXh0ZXJuYWxBbXBsaXR1ZGVTZXJ2aWNlLFxuICBdKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHRyYWNrRXZlbnQ6IGFzeW5jIChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgaWYgKHNlcnZpY2UpIHtcbiAgICAgICAgICBhd2FpdCBzZXJ2aWNlLnRyYWNrRXZlbnQocGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGlzUmVhZHksXG4gICAgICBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHM6IChwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHtcbiAgICAgICAgaWYgKHNlcnZpY2UpIHtcbiAgICAgICAgICBzZXJ2aWNlLnNldFN1cHBsZW1lbnRhbERlZmF1bHRQcm9wcyhwcm9wcyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSksXG4gICAgW3NlcnZpY2UsIGlzUmVhZHldLFxuICApO1xuXG4gIGlmICghaXNSZWFkeSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIDxBbXBsaXR1ZGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvQW1wbGl0dWRlQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlQW1wbGl0dWRlID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChBbXBsaXR1ZGVDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VBbXBsaXR1ZGUgbXVzdCBiZSB1c2VkIHdpdGhpbiBBbXBsaXR1ZGVQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBMkJBLE1BQU0sNENBQThELEtBQUs7QUFFekUsTUFBYUEscUJBR1AsRUFBRSwwQkFBMEIsZUFBZTtDQUMvQyxNQUFNLGlDQUFzQkMsbUNBQVc7Q0FDdkMsTUFBTSwwQ0FBK0JDLHlDQUFvQjtDQUN6RCxNQUFNLHdDQUE2QkMsdUNBQWtCO0NBQ3JELE1BQU0sc0NBQTJCQyxpRUFBc0M7Q0FDdkUsTUFBTSw4QkFBbUJDLDZCQUFRO0NBQ2pDLE1BQU0sd0NBQTZCQyx1Q0FBa0I7Q0FDckQsTUFBTSxFQUFFLFlBQVlDLDZDQUFpQjtDQUNyQyxNQUFNLEVBQ0osa0JBQ0Esb0JBQ0EscUJBQ0EsTUFDQSxjQUNBLGlCQUNFQyw2Q0FBaUI7Q0FFckIsTUFBTSxFQUFFLHVCQUF1QkMseURBQXVCO0NBRXRELE1BQU0sQ0FBQyxTQUFTLGtDQUFnRCxLQUFLO0NBRXJFLE1BQU0sVUFBVSxRQUFRLFVBQVUsV0FBVyxRQUFRLFFBQVE7QUFHN0QsNEJBQWdCO0FBQ2QsTUFBSSw2QkFBNkIsUUFBVztBQUMxQyxjQUFXLHlCQUF5QjtBQUNwQzs7QUFFRixNQUFJLFVBQVUsbUJBQW1CLGlCQUFpQixtQkFhaEQsWUFaeUIsSUFBSUMsMENBQWlCO0dBQzVDO0dBQ0E7R0FDQTtHQUNBLEtBQUssT0FBTztHQUNaLGVBQWUsaUJBQWlCO0dBQ2hDLGNBQWMsZ0JBQWdCO0dBQzlCO0dBQ0E7R0FDQTtHQUNBLHFCQUFxQjtHQUN0QixDQUFDLENBQzBCO01BRTVCLFlBQVcsS0FBSztJQUVqQjtFQUNEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELENBQUM7Q0FFRixNQUFNLGtDQUNHO0VBQ0wsWUFBWSxPQUFPLFdBQTRDO0FBQzdELE9BQUksUUFDRixPQUFNLFFBQVEsV0FBVyxPQUFPOztFQUdwQztFQUNBLDhCQUE4QixVQUFtQztBQUMvRCxPQUFJLFFBQ0YsU0FBUSw0QkFBNEIsTUFBTTs7RUFHL0MsR0FDRCxDQUFDLFNBQVMsUUFBUSxDQUNuQjtBQUVELEtBQUksQ0FBQyxRQUNILFFBQU87QUFHVCxRQUFPLDJDQUFDLGlCQUFpQjtFQUFnQjtFQUFRO0dBQXFDOztBQUd4RixNQUFhLHFCQUFxQjtDQUNoQyxNQUFNLGdDQUFxQixpQkFBaUI7QUFDNUMsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0scURBQXFEO0FBRXZFLFFBQU8ifQ==
@@ -1,52 +1,17 @@
1
+ import { AmplitudeService, SpiffyMetricsEventName, TrackEventParams } from "../../services/amplitudeService/amplitudeService.cjs";
1
2
  import React from "react";
2
3
 
3
4
  //#region src/contexts/amplitudeContext/amplitudeContext.d.ts
4
- declare enum SpiffyMetricsEventName {
5
- BundleLoaded = "Bundle Loaded",
6
- ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
7
- ChatFloatingButtonVisible = "Chat Floating Button Visible",
8
- ChatComponentVisible = "Chat Component Visible",
9
- ChatComponentExpanded = "Chat Component Expanded",
10
- ChatComponentCollapsed = "Chat Component Collapsed",
11
- ChatUserMessageInput = "Chat User Message Input",
12
- ChatSuggestionClicked = "Chat Suggestion Clicked",
13
- ChatAssistantResponse = "Chat Assistant Response",
14
- ProductCardClicked = "Product Card Clicked",
15
- ProductReviewCardClicked = "Product Review Card Clicked",
16
- AddToCartClicked = "Add to Cart Clicked",
17
- PromptCardClicked = "Prompt Card Clicked",
18
- SupportedEvent = "Supported Event",
19
- SearchBackToResponseClicked = "Search Back to Response Clicked",
20
- PerformanceMetrics = "Performance Metrics",
21
- SearchBarClicked = "Search Bar Clicked",
22
- OrderLookupStarted = "Order Lookup Started",
23
- OrderLookupFormSubmitted = "Order Lookup Form Submitted",
24
- SearchComponentVisible = "Search Component Visible",
25
- SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked",
26
- // This is the scrolling list of suggestion buttons in global search
27
- SearchInputStarted = "Search Input Started",
28
- SearchQuerySubmitted = "Search Query Submitted",
29
- SearchResultsViewed = "Search Results Viewed",
30
- SearchTimeToFirstClick = "Search Time to First Click",
31
- SearchZeroResultsRate = "Search Zero Results Rate",
32
- SearchFilterClicked = "Search Filter Clicked",
33
- SearchSortClicked = "Search Sort Clicked",
34
- }
35
- interface TrackEventParams {
36
- eventName: SpiffyMetricsEventName;
37
- eventProps?: Record<string, unknown>;
38
- eventGroups?: Record<string, unknown>;
39
- alsoSendToGoogleAnalytics?: boolean;
40
- }
41
5
  interface AmplitudeContextType {
42
6
  trackEvent: (params: TrackEventParams) => Promise<void>;
43
7
  isReady: boolean;
44
8
  setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
45
9
  }
46
10
  declare const AmplitudeProvider: React.FC<{
11
+ externalAmplitudeService?: AmplitudeService;
47
12
  children: React.ReactNode;
48
13
  }>;
49
14
  declare const useAmplitude: () => AmplitudeContextType;
50
15
  //#endregion
51
- export { AmplitudeProvider, SpiffyMetricsEventName, useAmplitude };
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB7XG4gICAgQnVuZGxlTG9hZGVkID0gXCJCdW5kbGUgTG9hZGVkXCIsXG4gICAgQ2hhdExpdmVBZ2VudEJ0bkNsaWNrID0gXCJDaGF0IExpdmUgQWdlbnQgQnRuIENsaWNrXCIsXG4gICAgQ2hhdEZsb2F0aW5nQnV0dG9uVmlzaWJsZSA9IFwiQ2hhdCBGbG9hdGluZyBCdXR0b24gVmlzaWJsZVwiLFxuICAgIENoYXRDb21wb25lbnRWaXNpYmxlID0gXCJDaGF0IENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudEV4cGFuZGVkID0gXCJDaGF0IENvbXBvbmVudCBFeHBhbmRlZFwiLFxuICAgIENoYXRDb21wb25lbnRDb2xsYXBzZWQgPSBcIkNoYXQgQ29tcG9uZW50IENvbGxhcHNlZFwiLFxuICAgIENoYXRVc2VyTWVzc2FnZUlucHV0ID0gXCJDaGF0IFVzZXIgTWVzc2FnZSBJbnB1dFwiLFxuICAgIENoYXRTdWdnZXN0aW9uQ2xpY2tlZCA9IFwiQ2hhdCBTdWdnZXN0aW9uIENsaWNrZWRcIixcbiAgICBDaGF0QXNzaXN0YW50UmVzcG9uc2UgPSBcIkNoYXQgQXNzaXN0YW50IFJlc3BvbnNlXCIsXG4gICAgUHJvZHVjdENhcmRDbGlja2VkID0gXCJQcm9kdWN0IENhcmQgQ2xpY2tlZFwiLFxuICAgIFByb2R1Y3RSZXZpZXdDYXJkQ2xpY2tlZCA9IFwiUHJvZHVjdCBSZXZpZXcgQ2FyZCBDbGlja2VkXCIsXG4gICAgQWRkVG9DYXJ0Q2xpY2tlZCA9IFwiQWRkIHRvIENhcnQgQ2xpY2tlZFwiLFxuICAgIFByb21wdENhcmRDbGlja2VkID0gXCJQcm9tcHQgQ2FyZCBDbGlja2VkXCIsXG4gICAgU3VwcG9ydGVkRXZlbnQgPSBcIlN1cHBvcnRlZCBFdmVudFwiLFxuICAgIFNlYXJjaEJhY2tUb1Jlc3BvbnNlQ2xpY2tlZCA9IFwiU2VhcmNoIEJhY2sgdG8gUmVzcG9uc2UgQ2xpY2tlZFwiLFxuICAgIFBlcmZvcm1hbmNlTWV0cmljcyA9IFwiUGVyZm9ybWFuY2UgTWV0cmljc1wiLFxuICAgIFNlYXJjaEJhckNsaWNrZWQgPSBcIlNlYXJjaCBCYXIgQ2xpY2tlZFwiLFxuICAgIE9yZGVyTG9va3VwU3RhcnRlZCA9IFwiT3JkZXIgTG9va3VwIFN0YXJ0ZWRcIixcbiAgICBPcmRlckxvb2t1cEZvcm1TdWJtaXR0ZWQgPSBcIk9yZGVyIExvb2t1cCBGb3JtIFN1Ym1pdHRlZFwiLFxuICAgIFNlYXJjaENvbXBvbmVudFZpc2libGUgPSBcIlNlYXJjaCBDb21wb25lbnQgVmlzaWJsZVwiLFxuICAgIFNlYXJjaFplcm9TdGF0ZVN1Z2dlc3Rpb25DbGlja2VkID0gXCJTZWFyY2ggWmVybyBTdGF0ZSBTdWdnZXN0aW9uIENsaWNrZWRcIiwvLyBUaGlzIGlzIHRoZSBzY3JvbGxpbmcgbGlzdCBvZiBzdWdnZXN0aW9uIGJ1dHRvbnMgaW4gZ2xvYmFsIHNlYXJjaFxuICAgIFNlYXJjaElucHV0U3RhcnRlZCA9IFwiU2VhcmNoIElucHV0IFN0YXJ0ZWRcIixcbiAgICBTZWFyY2hRdWVyeVN1Ym1pdHRlZCA9IFwiU2VhcmNoIFF1ZXJ5IFN1Ym1pdHRlZFwiLFxuICAgIFNlYXJjaFJlc3VsdHNWaWV3ZWQgPSBcIlNlYXJjaCBSZXN1bHRzIFZpZXdlZFwiLFxuICAgIFNlYXJjaFRpbWVUb0ZpcnN0Q2xpY2sgPSBcIlNlYXJjaCBUaW1lIHRvIEZpcnN0IENsaWNrXCIsXG4gICAgU2VhcmNoWmVyb1Jlc3VsdHNSYXRlID0gXCJTZWFyY2ggWmVybyBSZXN1bHRzIFJhdGVcIixcbiAgICBTZWFyY2hGaWx0ZXJDbGlja2VkID0gXCJTZWFyY2ggRmlsdGVyIENsaWNrZWRcIixcbiAgICBTZWFyY2hTb3J0Q2xpY2tlZCA9IFwiU2VhcmNoIFNvcnQgQ2xpY2tlZFwiXG59XG5pbnRlcmZhY2UgVHJhY2tFdmVudFBhcmFtcyB7XG4gICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lO1xuICAgIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBldmVudEdyb3Vwcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3M/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIEFtcGxpdHVkZUNvbnRleHRUeXBlIHtcbiAgICB0cmFja0V2ZW50OiAocGFyYW1zOiBUcmFja0V2ZW50UGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGlzUmVhZHk6IGJvb2xlYW47XG4gICAgc2V0U3VwcGxlbWVudGFsRGVmYXVsdFByb3BzOiAocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgQW1wbGl0dWRlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VBbXBsaXR1ZGU6ICgpID0+IEFtcGxpdHVkZUNvbnRleHRUeXBlO1xuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFXLHlCQUF5QixDQUFDLElBQUk7QUFDekMsSUFBSSxtQkFBbUI7Q0FBQztPQUFVO09BQUE7T0FBQTtDQUFBO0FBQ2xDLElBQUksdUJBQXVCO0NBQUM7T0FBVztPQUFnQjtPQUFBO0NBQUE7QUFDdkQsSUFBVyxvQkFBb0I7Q0FBQztPQUFXLE1BQU07T0FBYSxNQUFBO0NBQUE7QUFDOUQsSUFBVyxlQUFlLENBQUMsV0FBVyxxQkFBYSJ9
16
+ export { AmplitudeProvider, useAmplitude };
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEFtcGxpdHVkZVNlcnZpY2UsIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsIFRyYWNrRXZlbnRQYXJhbXMgfSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcbmV4cG9ydCB7IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUgfTtcbmludGVyZmFjZSBBbXBsaXR1ZGVDb250ZXh0VHlwZSB7XG4gICAgdHJhY2tFdmVudDogKHBhcmFtczogVHJhY2tFdmVudFBhcmFtcykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgICBpc1JlYWR5OiBib29sZWFuO1xuICAgIHNldFN1cHBsZW1lbnRhbERlZmF1bHRQcm9wczogKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEFtcGxpdHVkZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gICAgZXh0ZXJuYWxBbXBsaXR1ZGVTZXJ2aWNlPzogQW1wbGl0dWRlU2VydmljZTtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VBbXBsaXR1ZGU6ICgpID0+IEFtcGxpdHVkZUNvbnRleHRUeXBlO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBR0EsSUFBSSx1QkFBdUI7Q0FBQztPQUFHO09BQUE7T0FBQTtDQUFBO0FBQy9CLElBQVcsb0JBQW9CO0NBQUM7T0FBVztPQUFnQixNQUFBO09BQUEsTUFBQTtDQUFBO0FBQzNELElBQVcsZUFBUyxDQUFBLFdBQUEscUJBQUEifQ==
@@ -1,52 +1,17 @@
1
+ import { AmplitudeService, SpiffyMetricsEventName, TrackEventParams } from "../../services/amplitudeService/amplitudeService.js";
1
2
  import React from "react";
2
3
 
3
4
  //#region src/contexts/amplitudeContext/amplitudeContext.d.ts
4
- declare enum SpiffyMetricsEventName {
5
- BundleLoaded = "Bundle Loaded",
6
- ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
7
- ChatFloatingButtonVisible = "Chat Floating Button Visible",
8
- ChatComponentVisible = "Chat Component Visible",
9
- ChatComponentExpanded = "Chat Component Expanded",
10
- ChatComponentCollapsed = "Chat Component Collapsed",
11
- ChatUserMessageInput = "Chat User Message Input",
12
- ChatSuggestionClicked = "Chat Suggestion Clicked",
13
- ChatAssistantResponse = "Chat Assistant Response",
14
- ProductCardClicked = "Product Card Clicked",
15
- ProductReviewCardClicked = "Product Review Card Clicked",
16
- AddToCartClicked = "Add to Cart Clicked",
17
- PromptCardClicked = "Prompt Card Clicked",
18
- SupportedEvent = "Supported Event",
19
- SearchBackToResponseClicked = "Search Back to Response Clicked",
20
- PerformanceMetrics = "Performance Metrics",
21
- SearchBarClicked = "Search Bar Clicked",
22
- OrderLookupStarted = "Order Lookup Started",
23
- OrderLookupFormSubmitted = "Order Lookup Form Submitted",
24
- SearchComponentVisible = "Search Component Visible",
25
- SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked",
26
- // This is the scrolling list of suggestion buttons in global search
27
- SearchInputStarted = "Search Input Started",
28
- SearchQuerySubmitted = "Search Query Submitted",
29
- SearchResultsViewed = "Search Results Viewed",
30
- SearchTimeToFirstClick = "Search Time to First Click",
31
- SearchZeroResultsRate = "Search Zero Results Rate",
32
- SearchFilterClicked = "Search Filter Clicked",
33
- SearchSortClicked = "Search Sort Clicked",
34
- }
35
- interface TrackEventParams {
36
- eventName: SpiffyMetricsEventName;
37
- eventProps?: Record<string, unknown>;
38
- eventGroups?: Record<string, unknown>;
39
- alsoSendToGoogleAnalytics?: boolean;
40
- }
41
5
  interface AmplitudeContextType {
42
6
  trackEvent: (params: TrackEventParams) => Promise<void>;
43
7
  isReady: boolean;
44
8
  setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
45
9
  }
46
10
  declare const AmplitudeProvider: React.FC<{
11
+ externalAmplitudeService?: AmplitudeService;
47
12
  children: React.ReactNode;
48
13
  }>;
49
14
  declare const useAmplitude: () => AmplitudeContextType;
50
15
  //#endregion
51
- export { AmplitudeProvider, SpiffyMetricsEventName, useAmplitude };
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHtcbiAgICBCdW5kbGVMb2FkZWQgPSBcIkJ1bmRsZSBMb2FkZWRcIixcbiAgICBDaGF0TGl2ZUFnZW50QnRuQ2xpY2sgPSBcIkNoYXQgTGl2ZSBBZ2VudCBCdG4gQ2xpY2tcIixcbiAgICBDaGF0RmxvYXRpbmdCdXR0b25WaXNpYmxlID0gXCJDaGF0IEZsb2F0aW5nIEJ1dHRvbiBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudFZpc2libGUgPSBcIkNoYXQgQ29tcG9uZW50IFZpc2libGVcIixcbiAgICBDaGF0Q29tcG9uZW50RXhwYW5kZWQgPSBcIkNoYXQgQ29tcG9uZW50IEV4cGFuZGVkXCIsXG4gICAgQ2hhdENvbXBvbmVudENvbGxhcHNlZCA9IFwiQ2hhdCBDb21wb25lbnQgQ29sbGFwc2VkXCIsXG4gICAgQ2hhdFVzZXJNZXNzYWdlSW5wdXQgPSBcIkNoYXQgVXNlciBNZXNzYWdlIElucHV0XCIsXG4gICAgQ2hhdFN1Z2dlc3Rpb25DbGlja2VkID0gXCJDaGF0IFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLFxuICAgIENoYXRBc3Npc3RhbnRSZXNwb25zZSA9IFwiQ2hhdCBBc3Npc3RhbnQgUmVzcG9uc2VcIixcbiAgICBQcm9kdWN0Q2FyZENsaWNrZWQgPSBcIlByb2R1Y3QgQ2FyZCBDbGlja2VkXCIsXG4gICAgUHJvZHVjdFJldmlld0NhcmRDbGlja2VkID0gXCJQcm9kdWN0IFJldmlldyBDYXJkIENsaWNrZWRcIixcbiAgICBBZGRUb0NhcnRDbGlja2VkID0gXCJBZGQgdG8gQ2FydCBDbGlja2VkXCIsXG4gICAgUHJvbXB0Q2FyZENsaWNrZWQgPSBcIlByb21wdCBDYXJkIENsaWNrZWRcIixcbiAgICBTdXBwb3J0ZWRFdmVudCA9IFwiU3VwcG9ydGVkIEV2ZW50XCIsXG4gICAgU2VhcmNoQmFja1RvUmVzcG9uc2VDbGlja2VkID0gXCJTZWFyY2ggQmFjayB0byBSZXNwb25zZSBDbGlja2VkXCIsXG4gICAgUGVyZm9ybWFuY2VNZXRyaWNzID0gXCJQZXJmb3JtYW5jZSBNZXRyaWNzXCIsXG4gICAgU2VhcmNoQmFyQ2xpY2tlZCA9IFwiU2VhcmNoIEJhciBDbGlja2VkXCIsXG4gICAgT3JkZXJMb29rdXBTdGFydGVkID0gXCJPcmRlciBMb29rdXAgU3RhcnRlZFwiLFxuICAgIE9yZGVyTG9va3VwRm9ybVN1Ym1pdHRlZCA9IFwiT3JkZXIgTG9va3VwIEZvcm0gU3VibWl0dGVkXCIsXG4gICAgU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9IFwiU2VhcmNoIENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlU3VnZ2VzdGlvbkNsaWNrZWQgPSBcIlNlYXJjaCBaZXJvIFN0YXRlIFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLC8vIFRoaXMgaXMgdGhlIHNjcm9sbGluZyBsaXN0IG9mIHN1Z2dlc3Rpb24gYnV0dG9ucyBpbiBnbG9iYWwgc2VhcmNoXG4gICAgU2VhcmNoSW5wdXRTdGFydGVkID0gXCJTZWFyY2ggSW5wdXQgU3RhcnRlZFwiLFxuICAgIFNlYXJjaFF1ZXJ5U3VibWl0dGVkID0gXCJTZWFyY2ggUXVlcnkgU3VibWl0dGVkXCIsXG4gICAgU2VhcmNoUmVzdWx0c1ZpZXdlZCA9IFwiU2VhcmNoIFJlc3VsdHMgVmlld2VkXCIsXG4gICAgU2VhcmNoVGltZVRvRmlyc3RDbGljayA9IFwiU2VhcmNoIFRpbWUgdG8gRmlyc3QgQ2xpY2tcIixcbiAgICBTZWFyY2haZXJvUmVzdWx0c1JhdGUgPSBcIlNlYXJjaCBaZXJvIFJlc3VsdHMgUmF0ZVwiLFxuICAgIFNlYXJjaEZpbHRlckNsaWNrZWQgPSBcIlNlYXJjaCBGaWx0ZXIgQ2xpY2tlZFwiLFxuICAgIFNlYXJjaFNvcnRDbGlja2VkID0gXCJTZWFyY2ggU29ydCBDbGlja2VkXCJcbn1cbmludGVyZmFjZSBUcmFja0V2ZW50UGFyYW1zIHtcbiAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gICAgZXZlbnRQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGV2ZW50R3JvdXBzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQW1wbGl0dWRlQ29udGV4dFR5cGUge1xuICAgIHRyYWNrRXZlbnQ6IChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD47XG4gICAgaXNSZWFkeTogYm9vbGVhbjtcbiAgICBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHM6IChwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBBbXBsaXR1ZGVQcm92aWRlcjogUmVhY3QuRkM8e1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZUFtcGxpdHVkZTogKCkgPT4gQW1wbGl0dWRlQ29udGV4dFR5cGU7XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcseUJBQXlCLENBQUMsSUFBSTtBQUN6QyxJQUFJLG1CQUFtQjtDQUFDO09BQVU7T0FBQTtPQUFBO0NBQUE7QUFDbEMsSUFBSSx1QkFBdUI7Q0FBQztPQUFXO09BQWdCO09BQUE7Q0FBQTtBQUN2RCxJQUFXLG9CQUFvQjtDQUFDO09BQVcsTUFBTTtPQUFhLE1BQUE7Q0FBQTtBQUM5RCxJQUFXLGVBQWUsQ0FBQyxXQUFXLHFCQUFhIn0=
16
+ export { AmplitudeProvider, useAmplitude };
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQW1wbGl0dWRlU2VydmljZSwgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSwgVHJhY2tFdmVudFBhcmFtcyB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuZXhwb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9O1xuaW50ZXJmYWNlIEFtcGxpdHVkZUNvbnRleHRUeXBlIHtcbiAgICB0cmFja0V2ZW50OiAocGFyYW1zOiBUcmFja0V2ZW50UGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGlzUmVhZHk6IGJvb2xlYW47XG4gICAgc2V0U3VwcGxlbWVudGFsRGVmYXVsdFByb3BzOiAocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgQW1wbGl0dWRlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgICBleHRlcm5hbEFtcGxpdHVkZVNlcnZpY2U/OiBBbXBsaXR1ZGVTZXJ2aWNlO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZUFtcGxpdHVkZTogKCkgPT4gQW1wbGl0dWRlQ29udGV4dFR5cGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxJQUFJLHVCQUF1QjtDQUFDO09BQUc7T0FBQTtPQUFBO0NBQUE7QUFDL0IsSUFBVyxvQkFBb0I7Q0FBQztPQUFXO09BQWdCLE1BQUE7T0FBQSxNQUFBO0NBQUE7QUFDM0QsSUFBVyxlQUFTLENBQUEsV0FBQSxxQkFBQSJ9