@envive-ai/react-hooks 0.2.6-alpha-7 → 0.2.6-alpha-9

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 (412) hide show
  1. package/dist/{AmplitudeOperations-DjqOM3uE.js → AmplitudeOperations-D2r56Ptr.js} +2 -2
  2. package/dist/{AmplitudeOperations-DbUiR0N_.cjs → AmplitudeOperations-SkndCrhj.cjs} +2 -2
  3. package/dist/{NewOrgConfig-C_1T1iOt.js → NewOrgConfig-C9aQqGsb.js} +2 -2
  4. package/dist/{NewOrgConfig-D2Kvqa1z.cjs → NewOrgConfig-CHkHRqHx.cjs} +2 -2
  5. package/dist/{TrackComponentVisibleEvent-BxOhr9Da.js → TrackComponentVisibleEvent-BIGvzk4f.js} +2 -2
  6. package/dist/{TrackComponentVisibleEvent-CDbecFPM.cjs → TrackComponentVisibleEvent-DjZUt7LR.cjs} +2 -2
  7. package/dist/amplitudeContext-B3DsV6IO.cjs +248 -0
  8. package/dist/amplitudeContext-S3JYCxr4.js +232 -0
  9. package/dist/{app-Bs2KxG_8.js → app-BT3g-mDp.js} +5 -5
  10. package/dist/{app-DSnDDqcW.cjs → app-DxwdFQlv.cjs} +5 -5
  11. package/dist/application/utils/index.cjs +4 -4
  12. package/dist/application/utils/index.d.cts +2 -2
  13. package/dist/application/utils/index.js +4 -4
  14. package/dist/{atomStore-CfzCqWB9.js → atomStore-BuopbV9k.js} +1 -1
  15. package/dist/{atomStore-BQVO5haU.cjs → atomStore-CZKe3itM.cjs} +1 -1
  16. package/dist/atoms/app/index.cjs +9 -9
  17. package/dist/atoms/app/index.d.cts +7 -7
  18. package/dist/atoms/app/index.d.ts +7 -7
  19. package/dist/atoms/app/index.js +9 -9
  20. package/dist/atoms/atomStore/index.cjs +1 -1
  21. package/dist/atoms/atomStore/index.d.ts +1 -1
  22. package/dist/atoms/atomStore/index.js +1 -1
  23. package/dist/atoms/chat/index.cjs +10 -10
  24. package/dist/atoms/chat/index.d.cts +32 -32
  25. package/dist/atoms/chat/index.d.ts +32 -32
  26. package/dist/atoms/chat/index.js +10 -10
  27. package/dist/atoms/globalSearch/index.d.cts +6 -6
  28. package/dist/atoms/globalSearch/index.d.ts +6 -6
  29. package/dist/atoms/org/index.cjs +2 -2
  30. package/dist/atoms/org/index.d.cts +15 -15
  31. package/dist/atoms/org/index.d.ts +16 -16
  32. package/dist/atoms/org/index.js +2 -2
  33. package/dist/atoms/search/index.cjs +3 -3
  34. package/dist/atoms/search/index.d.cts +15 -15
  35. package/dist/atoms/search/index.d.ts +14 -14
  36. package/dist/atoms/search/index.js +3 -3
  37. package/dist/atoms/search/utils.d.cts +1 -1
  38. package/dist/cdnContext-i5iYA8ig.cjs +53 -0
  39. package/dist/cdnContext-td-gAam0.js +38 -0
  40. package/dist/{chat-EJbfGWRr.js → chat-ClvJ9xEj.js} +1 -1
  41. package/dist/{chat-CJ9D8n7g.cjs → chat-DCGriB7h.cjs} +1 -1
  42. package/dist/{chat-C5afTKUY.js → chat-ZaY3KY-R.js} +3 -3
  43. package/dist/{chat-CCjM6fS_.cjs → chat-rhEjVfrd.cjs} +3 -3
  44. package/dist/{common-CuwWqIJ1.cjs → common-DQPvV_S_.cjs} +1 -1
  45. package/dist/{common-Df2bwzd2.js → common-c_4eX0qn.js} +1 -1
  46. package/dist/{components-QGCWJ26c.js → components-CDpaMUjK.js} +1 -1
  47. package/dist/{components-BCfFLf9X.cjs → components-DKwVHIjq.cjs} +1 -1
  48. package/dist/config/index.cjs +4 -4
  49. package/dist/config/index.js +4 -4
  50. package/dist/config/locators/components/chat/index.cjs +1 -1
  51. package/dist/config/locators/components/chat/index.js +1 -1
  52. package/dist/config/locators/components/common/index.cjs +1 -1
  53. package/dist/config/locators/components/common/index.js +1 -1
  54. package/dist/config/locators/components/index.cjs +1 -1
  55. package/dist/config/locators/components/index.js +1 -1
  56. package/dist/config/locators/index.cjs +4 -4
  57. package/dist/config/locators/index.js +4 -4
  58. package/dist/contexts/amplitudeContext/index.cjs +12 -12
  59. package/dist/contexts/amplitudeContext/index.d.cts +1 -1
  60. package/dist/contexts/amplitudeContext/index.js +12 -12
  61. package/dist/contexts/cdnContext/index.cjs +2 -2
  62. package/dist/contexts/cdnContext/index.d.cts +1 -1
  63. package/dist/contexts/cdnContext/index.d.ts +1 -1
  64. package/dist/contexts/cdnContext/index.js +2 -2
  65. package/dist/contexts/enviveConfigContext/index.cjs +2 -2
  66. package/dist/contexts/enviveConfigContext/index.d.cts +1 -1
  67. package/dist/contexts/enviveConfigContext/index.js +2 -2
  68. package/dist/contexts/enviveCssContext/index.cjs +6 -6
  69. package/dist/contexts/enviveCssContext/index.js +6 -6
  70. package/dist/contexts/featureFlagContext/index.cjs +2 -2
  71. package/dist/contexts/featureFlagContext/index.js +2 -2
  72. package/dist/contexts/graphqlContext/index.cjs +2 -2
  73. package/dist/contexts/graphqlContext/index.js +2 -2
  74. package/dist/contexts/localStorageContext/index.d.cts +1 -1
  75. package/dist/contexts/newOrgConfigContext/index.cjs +5 -5
  76. package/dist/contexts/newOrgConfigContext/index.js +5 -5
  77. package/dist/contexts/searchContext/index.cjs +14 -14
  78. package/dist/contexts/searchContext/index.js +14 -14
  79. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  80. package/dist/contexts/shopifyUrlContext/index.d.cts +1 -1
  81. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  82. package/dist/contexts/systemSettingsContext/index.cjs +2 -2
  83. package/dist/contexts/systemSettingsContext/index.d.cts +1 -1
  84. package/dist/contexts/systemSettingsContext/index.d.ts +2 -2
  85. package/dist/contexts/systemSettingsContext/index.js +2 -2
  86. package/dist/contexts/userIdentityContext/index.cjs +9 -9
  87. package/dist/contexts/userIdentityContext/index.js +9 -9
  88. package/dist/{domObserver-DNeeSh1F.js → domObserver-CVhsCSkS.js} +1 -1
  89. package/dist/{domObserver-C2oQO8vi.cjs → domObserver-LCBj1xw4.cjs} +1 -1
  90. package/dist/{enviveConfig-Dp80h9yu.cjs → enviveConfig-CQ_8mT-g.cjs} +1 -1
  91. package/dist/{enviveConfig-Ciq4ASoV.js → enviveConfig-Cwlp7-Qz.js} +1 -1
  92. package/dist/{enviveConfigContext-CCjJUmwp.js → enviveConfigContext-BZbGEgOW.js} +2 -2
  93. package/dist/{enviveConfigContext-DoYP8KSw.cjs → enviveConfigContext-BinpxTCy.cjs} +2 -2
  94. package/dist/events/index.cjs +1 -1
  95. package/dist/events/index.js +1 -1
  96. package/dist/{events-DBin1Z7o.cjs → events-CgFGtanE.cjs} +1 -1
  97. package/dist/{events-CXiS1aTc.js → events-WOOrnUAx.js} +1 -1
  98. package/dist/exceptions/index.d.ts +1 -1
  99. package/dist/{graphqlContext-ChXlE8Ul.cjs → graphqlContext-B8wuRZcp.cjs} +2 -2
  100. package/dist/{graphqlContext-0cg9fEUw.js → graphqlContext-CpHMbKoX.js} +2 -2
  101. package/dist/hooks/AmplitudeOperations/index.cjs +13 -13
  102. package/dist/hooks/AmplitudeOperations/index.d.cts +1 -1
  103. package/dist/hooks/AmplitudeOperations/index.js +13 -13
  104. package/dist/hooks/AppDetails/index.cjs +12 -12
  105. package/dist/hooks/AppDetails/index.d.cts +1 -1
  106. package/dist/hooks/AppDetails/index.js +12 -12
  107. package/dist/hooks/BlockBackButton/index.d.cts +1 -1
  108. package/dist/hooks/CdnOperations/index.cjs +2 -2
  109. package/dist/hooks/CdnOperations/index.d.ts +1 -1
  110. package/dist/hooks/CdnOperations/index.js +2 -2
  111. package/dist/hooks/ChatToggle/index.cjs +13 -13
  112. package/dist/hooks/ChatToggle/index.d.cts +1 -1
  113. package/dist/hooks/ChatToggle/index.js +13 -13
  114. package/dist/hooks/ChatToggleAnalytics/index.cjs +13 -13
  115. package/dist/hooks/ChatToggleAnalytics/index.d.cts +1 -1
  116. package/dist/hooks/ChatToggleAnalytics/index.js +13 -13
  117. package/dist/hooks/Debounce/index.d.cts +1 -1
  118. package/dist/hooks/ElementObserver/index.cjs +1 -1
  119. package/dist/hooks/ElementObserver/index.js +1 -1
  120. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  121. package/dist/hooks/GraphQLConfig/index.cjs +3 -3
  122. package/dist/hooks/GraphQLConfig/index.d.cts +1 -1
  123. package/dist/hooks/GraphQLConfig/index.js +3 -3
  124. package/dist/hooks/IdentifyUser/index.cjs +9 -9
  125. package/dist/hooks/IdentifyUser/index.d.cts +1 -1
  126. package/dist/hooks/IdentifyUser/index.js +9 -9
  127. package/dist/hooks/ImageResolver/index.cjs +1 -1
  128. package/dist/hooks/ImageResolver/index.d.cts +1 -1
  129. package/dist/hooks/ImageResolver/index.js +1 -1
  130. package/dist/hooks/LocalStorageOperations/index.d.cts +1 -1
  131. package/dist/hooks/MessageFilter/index.d.cts +1 -1
  132. package/dist/hooks/MessageScrollObserver/index.d.cts +1 -1
  133. package/dist/hooks/NewOrgConfig/index.cjs +6 -6
  134. package/dist/hooks/NewOrgConfig/index.d.cts +2 -2
  135. package/dist/hooks/NewOrgConfig/index.d.ts +2 -2
  136. package/dist/hooks/NewOrgConfig/index.js +6 -6
  137. package/dist/hooks/Search/index.cjs +15 -15
  138. package/dist/hooks/Search/index.js +15 -15
  139. package/dist/hooks/SearchOperations/index.cjs +14 -14
  140. package/dist/hooks/SearchOperations/index.js +14 -14
  141. package/dist/hooks/ShopifyUrlOperations/index.cjs +2 -2
  142. package/dist/hooks/ShopifyUrlOperations/index.js +2 -2
  143. package/dist/hooks/SystemSettingsContext/index.cjs +2 -2
  144. package/dist/hooks/SystemSettingsContext/index.d.cts +3 -3
  145. package/dist/hooks/SystemSettingsContext/index.d.ts +4 -4
  146. package/dist/hooks/SystemSettingsContext/index.js +2 -2
  147. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +13 -13
  148. package/dist/hooks/TrackComponentVisibleEvent/index.js +13 -13
  149. package/dist/hooks/UpdateAnalyticsProps/index.cjs +12 -12
  150. package/dist/hooks/UpdateAnalyticsProps/index.js +12 -12
  151. package/dist/hooks/utils.cjs +1 -1
  152. package/dist/hooks/utils.d.cts +1 -1
  153. package/dist/hooks/utils.js +1 -1
  154. package/dist/index-CMZcE7pk.d.cts +1 -1
  155. package/dist/index-ChiZg0yw.d.cts +1 -1
  156. package/dist/index-CsmO1rDH.d.ts +1 -1
  157. package/dist/index-DtzPIcQp.d.ts +1 -1
  158. package/dist/index-bEjLKG_Q.d.ts +1 -1
  159. package/dist/index-mv7KvWDq.d.ts +1 -1
  160. package/dist/{locators-C2fWd-74.js → locators-BMQGmGLq.js} +1 -1
  161. package/dist/{locators-Cx3q6Z_h.cjs → locators-DxYdak1F.cjs} +1 -1
  162. package/dist/{newOrgConfigAtom-BuQE_zPK.js → newOrgConfigAtom-C8h3w_Ji.js} +1 -1
  163. package/dist/{newOrgConfigAtom-rrYHmp1b.cjs → newOrgConfigAtom-CDttTiuu.cjs} +1 -1
  164. package/dist/{newOrgConfigContext-d3RHl430.cjs → newOrgConfigContext-Brsggue9.cjs} +4 -4
  165. package/dist/{newOrgConfigContext-D-gU5ppl.js → newOrgConfigContext-Dt_W-wlK.js} +4 -4
  166. package/dist/{org-CIFgIcO4.cjs → org-BNs_maoW.cjs} +1 -1
  167. package/dist/{org-15F128Ah.js → org-CScQqL4k.js} +1 -1
  168. package/dist/{search-Ch6LKNh4.cjs → search-CWkDtqQV.cjs} +2 -2
  169. package/dist/{search--80x6CfL.js → search-OWKKaQQj.js} +2 -2
  170. package/dist/{searchContext-BkPoTq1o.js → searchContext-B-rEZixl.js} +4 -4
  171. package/dist/{searchContext-B0qEUoKb.cjs → searchContext-JCUBg-lA.cjs} +4 -4
  172. package/dist/{shopifyUrlContext-Bw1kAZ2P.cjs → shopifyUrlContext-COc1eDR_.cjs} +2 -2
  173. package/dist/{shopifyUrlContext-DnJiUmMA.js → shopifyUrlContext-CToAt_98.js} +2 -2
  174. package/dist/{systemSettingsContext-DPdDfVhj.js → systemSettingsContext-D9iNGz5v.js} +2 -2
  175. package/dist/{systemSettingsContext-068vQuP2.cjs → systemSettingsContext-DdV7Yte8.cjs} +2 -2
  176. package/dist/types/index.cjs +1 -1
  177. package/dist/types/index.js +1 -1
  178. package/dist/{types-B8HZYWV3.cjs → types-1iJ_FnQQ.cjs} +1 -1
  179. package/dist/{types-y3mhxOUA.js → types-D5du68Vp.js} +1 -1
  180. package/dist/{urlsParser-bb8ciRFg.cjs → urlsParser-Dax4iVNC.cjs} +1 -1
  181. package/dist/{urlsParser-v_1DKvyf.js → urlsParser-NAp2LwWP.js} +1 -1
  182. package/dist/{useAppDetails-eP2hBuid.cjs → useAppDetails-D3T6kJY_.cjs} +4 -4
  183. package/dist/{useAppDetails-BPXln8UE.js → useAppDetails-xPVs6fW7.js} +4 -4
  184. package/dist/{useGraphQLConfig-v9veUbvJ.cjs → useGraphQLConfig-B1DaVvFx.cjs} +2 -2
  185. package/dist/{useGraphQLConfig-Btszi6cG.js → useGraphQLConfig-BtPxjtxw.js} +2 -2
  186. package/dist/{utils-D_nGHczN.js → utils-BZT_oZ3n.js} +1 -1
  187. package/dist/{utils-SjlIHajO.cjs → utils-D3MjNkd3.cjs} +2 -2
  188. package/dist/{utils-CWzuvlOR.js → utils-DMwh3QbT.js} +2 -2
  189. package/dist/{utils-CJk5iwQI.cjs → utils-qtHPLFby.cjs} +1 -1
  190. package/package.json +1 -1
  191. package/src/contexts/amplitudeContext/amplitudeContext.tsx +11 -3
  192. package/src/contexts/cdnContext/cdnContext.tsx +11 -9
  193. package/dist/amplitudeContext-BWmXliMI.cjs +0 -243
  194. package/dist/amplitudeContext-BjMlg5RV.js +0 -227
  195. package/dist/cdnContext-CJ2BNLAD.js +0 -38
  196. package/dist/cdnContext-lkC-AE6A.cjs +0 -53
  197. package/dist/src/application/commerce-api.js +0 -408
  198. package/dist/src/application/logging/logger.js +0 -16
  199. package/dist/src/application/models/graphql/index.js +0 -3
  200. package/dist/src/application/models/graphql/queries/getMerchantColorsQuery.js +0 -13
  201. package/dist/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.js +0 -13
  202. package/dist/src/application/models/graphql/queries/getMerchantOrgIdQuery.js +0 -10
  203. package/dist/src/application/models/guards/api/index.js +0 -12
  204. package/dist/src/application/models/guards/api/isApiFormResponse.js +0 -59
  205. package/dist/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +0 -22
  206. package/dist/src/application/models/guards/api/isApiOrderResponseAttributes.js +0 -91
  207. package/dist/src/application/models/guards/api/isApiOrgConfigResults.js +0 -188
  208. package/dist/src/application/models/guards/api/isApiOrganizationConfig.js +0 -115
  209. package/dist/src/application/models/guards/api/isApiPDPEventAttributes.js +0 -16
  210. package/dist/src/application/models/guards/api/isApiPLPEventAttributes.js +0 -26
  211. package/dist/src/application/models/guards/api/isApiPageResponseAttributes.js +0 -15
  212. package/dist/src/application/models/guards/api/isApiProductResponseAttributes.js +0 -65
  213. package/dist/src/application/models/guards/api/isApiProductSearchAttributes.js +0 -15
  214. package/dist/src/application/models/guards/api/isApiProductSearchFilterAttributes.js +0 -10
  215. package/dist/src/application/models/guards/api/isApiQueryTypedEventAttributes.js +0 -4
  216. package/dist/src/application/models/guards/api/isApiResponse.js +0 -33
  217. package/dist/src/application/models/guards/api/isApiReviewResponseAttributes.js +0 -22
  218. package/dist/src/application/models/guards/api/isApiReviewRichInformation.js +0 -23
  219. package/dist/src/application/models/guards/api/isApiSearchEventAttributes.js +0 -20
  220. package/dist/src/application/models/guards/api/isApiSuggestion.js +0 -24
  221. package/dist/src/application/models/guards/api/isApiSuggestionClickedEventAttributes.js +0 -4
  222. package/dist/src/application/models/guards/api/isApiTextResponseAttributes.js +0 -4
  223. package/dist/src/application/models/guards/api/isApiUserEvent.js +0 -18
  224. package/dist/src/application/models/guards/graphQL/isGraphQLColorsConfig.js +0 -41
  225. package/dist/src/application/models/guards/isBaseEcommerceEvent.js +0 -14
  226. package/dist/src/application/models/guards/isGA4EcommerceEvent.js +0 -14
  227. package/dist/src/application/models/guards/isLegacyUAEcommerceEvent.js +0 -14
  228. package/dist/src/application/models/guards/isMobilePLPChatPlacementParameter.js +0 -4
  229. package/dist/src/application/models/guards/isSpanxTakeAQuizCtaParameter.js +0 -1
  230. package/dist/src/application/models/guards/isVariantInfo.js +0 -28
  231. package/dist/src/application/models/guards/utils.js +0 -34
  232. package/dist/src/application/models/index.js +0 -34
  233. package/dist/src/application/models/utils/snakeToCamelTransformer.js +0 -71
  234. package/dist/src/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.js +0 -65
  235. package/dist/src/application/models/validators/validateGraphQLColorsConfig.js +0 -9
  236. package/dist/src/application/models/validators/validateGraphQLFrontendConfig.js +0 -420
  237. package/dist/src/application/models/validators/validateGraphQLOrgId.js +0 -6
  238. package/dist/src/application/models/validators/validateMobilePLPChatPlacementParameter.js +0 -9
  239. package/dist/src/application/models/validators/validateOrgConfigResults.js +0 -44
  240. package/dist/src/application/models/validators/validateOrganizationConfig.js +0 -34
  241. package/dist/src/application/models/validators/validateResponse.js +0 -173
  242. package/dist/src/application/models/validators/validateSuggestion.js +0 -13
  243. package/dist/src/application/models/validators/validateUserEvent.js +0 -91
  244. package/dist/src/application/utils/analyticsUtils.js +0 -95
  245. package/dist/src/application/utils/coreContextToApiContext.js +0 -8
  246. package/dist/src/application/utils/coreUserEventToApiUserEvent.js +0 -90
  247. package/dist/src/application/utils/divideArray.js +0 -7
  248. package/dist/src/application/utils/domObserver.js +0 -85
  249. package/dist/src/application/utils/elementObserver.js +0 -186
  250. package/dist/src/application/utils/imageFilter.js +0 -11
  251. package/dist/src/application/utils/index.js +0 -21
  252. package/dist/src/application/utils/merchantUtils.js +0 -15
  253. package/dist/src/application/utils/messageFromFormSubmittedEvent.js +0 -19
  254. package/dist/src/application/utils/messageFromQueryEvent.js +0 -35
  255. package/dist/src/application/utils/messageFromResponse.js +0 -123
  256. package/dist/src/application/utils/messageFromSuggestionEvent.js +0 -27
  257. package/dist/src/application/utils/mouseEventTypes.js +0 -1
  258. package/dist/src/application/utils/mutationHelper.js +0 -33
  259. package/dist/src/application/utils/nextMessageRequestToApiRequest.js +0 -29
  260. package/dist/src/application/utils/nodeSelector.js +0 -101
  261. package/dist/src/application/utils/overrides.js +0 -144
  262. package/dist/src/application/utils/stringUtils.js +0 -47
  263. package/dist/src/application/utils/supportedEventRequestToApiRequest.js +0 -7
  264. package/dist/src/application/utils/urlsParser.js +0 -33
  265. package/dist/src/application/utils/validation.js +0 -5
  266. package/dist/src/atoms/amplitude/amplitudeTrackEventAtom.js +0 -4
  267. package/dist/src/atoms/app/index.js +0 -23
  268. package/dist/src/atoms/app/variant.js +0 -102
  269. package/dist/src/atoms/atomStore/atomStore.js +0 -28
  270. package/dist/src/atoms/atomStore/index.js +0 -1
  271. package/dist/src/atoms/chat/chatState.js +0 -32
  272. package/dist/src/atoms/chat/form.js +0 -16
  273. package/dist/src/atoms/chat/index.js +0 -23
  274. package/dist/src/atoms/chat/lastMessage.js +0 -10
  275. package/dist/src/atoms/chat/messageQueue.js +0 -68
  276. package/dist/src/atoms/chat/performanceMetrics.js +0 -70
  277. package/dist/src/atoms/chat/renderedWidgetRefs.js +0 -24
  278. package/dist/src/atoms/chat/replies.js +0 -42
  279. package/dist/src/atoms/chat/suggestions.js +0 -29
  280. package/dist/src/atoms/envive/enviveConfig.js +0 -67
  281. package/dist/src/atoms/globalSearch/globalSearch.js +0 -8
  282. package/dist/src/atoms/globalSearch/index.js +0 -1
  283. package/dist/src/atoms/org/customerService.js +0 -6
  284. package/dist/src/atoms/org/graphqlConfig.js +0 -8
  285. package/dist/src/atoms/org/index.js +0 -4
  286. package/dist/src/atoms/org/newOrgConfigAtom.js +0 -2
  287. package/dist/src/atoms/org/orgAnalyticsConfig.js +0 -8
  288. package/dist/src/atoms/search/index.js +0 -1
  289. package/dist/src/atoms/search/productFilters.js +0 -163
  290. package/dist/src/atoms/search/productRetrievalAPI.js +0 -50
  291. package/dist/src/atoms/search/productRetrievalAdapter.js +0 -14
  292. package/dist/src/atoms/search/productSorter.js +0 -13
  293. package/dist/src/atoms/search/searchAPI.js +0 -140
  294. package/dist/src/atoms/search/searchServiceAdapter.js +0 -14
  295. package/dist/src/atoms/search/utils.js +0 -15
  296. package/dist/src/config/index.js +0 -1
  297. package/dist/src/config/locators/components/chat/entrypoints.js +0 -10
  298. package/dist/src/config/locators/components/chat/index.js +0 -21
  299. package/dist/src/config/locators/components/chat/preview.js +0 -11
  300. package/dist/src/config/locators/components/chat/variants/index.js +0 -12
  301. package/dist/src/config/locators/components/common/buttons.js +0 -6
  302. package/dist/src/config/locators/components/common/cards.js +0 -17
  303. package/dist/src/config/locators/components/common/index.js +0 -4
  304. package/dist/src/config/locators/components/common/links.js +0 -1
  305. package/dist/src/config/locators/components/common/tables.js +0 -1
  306. package/dist/src/config/locators/components/floating-button.js +0 -2
  307. package/dist/src/config/locators/components/index.js +0 -3
  308. package/dist/src/config/locators/components/report-issue.js +0 -13
  309. package/dist/src/config/locators/components/search/index.js +0 -5
  310. package/dist/src/config/locators/components/shadow-dom.js +0 -1
  311. package/dist/src/config/locators/embedded.js +0 -20
  312. package/dist/src/config/locators/index.js +0 -4
  313. package/dist/src/contexts/amplitudeContext/amplitudeContext.js +0 -271
  314. package/dist/src/contexts/amplitudeContext/index.js +0 -1
  315. package/dist/src/contexts/cdnContext/cdnContext.js +0 -28
  316. package/dist/src/contexts/cdnContext/index.js +0 -1
  317. package/dist/src/contexts/enviveConfigContext/enviveConfigContext.js +0 -37
  318. package/dist/src/contexts/enviveConfigContext/index.js +0 -1
  319. package/dist/src/contexts/enviveCssContext/enviveCssContext.js +0 -31
  320. package/dist/src/contexts/enviveCssContext/index.js +0 -1
  321. package/dist/src/contexts/featureFlagContext/featureFlagContext.js +0 -109
  322. package/dist/src/contexts/featureFlagContext/index.js +0 -1
  323. package/dist/src/contexts/featureFlagServiceContext/featureFlagServiceContext.js +0 -47
  324. package/dist/src/contexts/featureFlagServiceContext/index.js +0 -1
  325. package/dist/src/contexts/graphqlContext/graphqlContext.js +0 -87
  326. package/dist/src/contexts/graphqlContext/index.js +0 -1
  327. package/dist/src/contexts/localStorageContext/index.js +0 -1
  328. package/dist/src/contexts/localStorageContext/localStorageContext.js +0 -95
  329. package/dist/src/contexts/newOrgConfigContext/index.js +0 -1
  330. package/dist/src/contexts/newOrgConfigContext/newOrgConfigContext.js +0 -33
  331. package/dist/src/contexts/searchContext/index.js +0 -1
  332. package/dist/src/contexts/searchContext/searchContext.js +0 -131
  333. package/dist/src/contexts/sessionStorageContext/index.js +0 -1
  334. package/dist/src/contexts/sessionStorageContext/sessionStorageContext.js +0 -43
  335. package/dist/src/contexts/shopifyUrlContext/index.js +0 -1
  336. package/dist/src/contexts/shopifyUrlContext/shopifyUrlContext.js +0 -62
  337. package/dist/src/contexts/systemSettingsContext/index.js +0 -1
  338. package/dist/src/contexts/systemSettingsContext/systemSettingsContext.js +0 -29
  339. package/dist/src/contexts/userIdentityContext/index.js +0 -1
  340. package/dist/src/contexts/userIdentityContext/userIdentityContext.js +0 -118
  341. package/dist/src/events/index.js +0 -51
  342. package/dist/src/events/registerAnalyticsListeners.js +0 -32
  343. package/dist/src/exceptions/index.js +0 -2
  344. package/dist/src/exceptions/sessionExceptions.js +0 -6
  345. package/dist/src/exceptions/unsupportedProductExceptions.js +0 -6
  346. package/dist/src/hooks/AmplitudeOperations/index.js +0 -1
  347. package/dist/src/hooks/AmplitudeOperations/useAmplitudeOperations.js +0 -24
  348. package/dist/src/hooks/AppDetails/index.js +0 -1
  349. package/dist/src/hooks/AppDetails/useAppDetails.js +0 -26
  350. package/dist/src/hooks/BlockBackButton/index.js +0 -1
  351. package/dist/src/hooks/BlockBackButton/useBlockBackButton.js +0 -23
  352. package/dist/src/hooks/CdnOperations/index.js +0 -1
  353. package/dist/src/hooks/CdnOperations/useCdnOperations.js +0 -13
  354. package/dist/src/hooks/ChatToggle/index.js +0 -1
  355. package/dist/src/hooks/ChatToggle/useChatToggle.js +0 -50
  356. package/dist/src/hooks/ChatToggleAnalytics/index.js +0 -1
  357. package/dist/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.js +0 -11
  358. package/dist/src/hooks/CustomerSupportHandoff/index.js +0 -1
  359. package/dist/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.js +0 -32
  360. package/dist/src/hooks/Debounce/index.js +0 -1
  361. package/dist/src/hooks/Debounce/useDebounce.js +0 -13
  362. package/dist/src/hooks/ElementObserver/index.js +0 -1
  363. package/dist/src/hooks/ElementObserver/useElementObserver.js +0 -208
  364. package/dist/src/hooks/GrabAndScroll/index.js +0 -1
  365. package/dist/src/hooks/GrabAndScroll/useGrabAndScroll.js +0 -105
  366. package/dist/src/hooks/GraphQLConfig/index.js +0 -1
  367. package/dist/src/hooks/GraphQLConfig/useGraphQLConfig.js +0 -54
  368. package/dist/src/hooks/IdentifyUser/index.js +0 -1
  369. package/dist/src/hooks/IdentifyUser/useIdentifyUser.js +0 -28
  370. package/dist/src/hooks/ImageResolver/index.js +0 -1
  371. package/dist/src/hooks/ImageResolver/useImageResolver.js +0 -45
  372. package/dist/src/hooks/Intersection/index.js +0 -1
  373. package/dist/src/hooks/Intersection/useIntersection.js +0 -20
  374. package/dist/src/hooks/IsSmallScreen/index.js +0 -1
  375. package/dist/src/hooks/IsSmallScreen/useIsSmallScreen.js +0 -16
  376. package/dist/src/hooks/LocalStorageOperations/index.js +0 -1
  377. package/dist/src/hooks/LocalStorageOperations/useLocalStorageOperations.js +0 -64
  378. package/dist/src/hooks/MessageFilter/index.js +0 -1
  379. package/dist/src/hooks/MessageFilter/useMessageFilter.js +0 -37
  380. package/dist/src/hooks/MessageScrollObserver/index.js +0 -1
  381. package/dist/src/hooks/MessageScrollObserver/useMessageScrollObserver.js +0 -35
  382. package/dist/src/hooks/NewOrgConfig/index.js +0 -1
  383. package/dist/src/hooks/NewOrgConfig/useNewOrgConfig.js +0 -5
  384. package/dist/src/hooks/Search/index.js +0 -1
  385. package/dist/src/hooks/Search/useRecommendedProducts.js +0 -35
  386. package/dist/src/hooks/Search/useSearch.js +0 -224
  387. package/dist/src/hooks/Search/useSearchInput.js +0 -192
  388. package/dist/src/hooks/SearchOperations/index.js +0 -1
  389. package/dist/src/hooks/SearchOperations/useSearchOperations.js +0 -78
  390. package/dist/src/hooks/SessionStorageOperations/index.js +0 -1
  391. package/dist/src/hooks/SessionStorageOperations/useSessionStorageOperations.js +0 -20
  392. package/dist/src/hooks/ShopifyUrlOperations/index.js +0 -1
  393. package/dist/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.js +0 -34
  394. package/dist/src/hooks/SnapCalculator/index.js +0 -1
  395. package/dist/src/hooks/SnapCalculator/useSnapCalculator.js +0 -22
  396. package/dist/src/hooks/SystemSettingsContext/index.js +0 -1
  397. package/dist/src/hooks/SystemSettingsContext/useSystemSettingsContext.js +0 -9
  398. package/dist/src/hooks/TrackComponentVisibleEvent/index.js +0 -1
  399. package/dist/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +0 -45
  400. package/dist/src/hooks/UpdateAnalyticsProps/index.js +0 -1
  401. package/dist/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +0 -43
  402. package/dist/src/hooks/utils.js +0 -116
  403. package/dist/src/interceptors/index.js +0 -1
  404. package/dist/src/interceptors/useMessageInterceptor.js +0 -24
  405. package/dist/src/types/ApiResponse.js +0 -1
  406. package/dist/src/types/FilterAttribute.js +0 -3
  407. package/dist/src/types/Message.js +0 -24
  408. package/dist/src/types/Suggestion.js +0 -3
  409. package/dist/src/types/index.js +0 -4
  410. package/dist/src/util/colorVar.js +0 -3
  411. package/dist/src/util/configVersion.js +0 -4
  412. package/dist/src/util/domInsertion.js +0 -16
@@ -1,118 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useCallback, useContext, useMemo, useState, useEffect } from 'react';
3
- import UAParser from 'ua-parser-js';
4
- import Logger from '../../application/logging/logger';
5
- import CommerceApiClient from '../../application/commerce-api';
6
- import { useLocalStorage } from '../localStorageContext';
7
- import { v4 as uuid } from 'uuid';
8
- // Helper function from the original service
9
- const getUserAgentDetails = () => {
10
- var _a, _b, _c, _d, _e, _f, _g;
11
- const uaParser = new UAParser();
12
- const result = uaParser.getResult();
13
- return {
14
- os: (_a = result === null || result === void 0 ? void 0 : result.os) === null || _a === void 0 ? void 0 : _a.name,
15
- osVersion: (_b = result === null || result === void 0 ? void 0 : result.os) === null || _b === void 0 ? void 0 : _b.version,
16
- deviceBrand: (_c = result === null || result === void 0 ? void 0 : result.device) === null || _c === void 0 ? void 0 : _c.vendor,
17
- deviceManufacturer: (_d = result === null || result === void 0 ? void 0 : result.device) === null || _d === void 0 ? void 0 : _d.vendor,
18
- deviceModel: (_e = result === null || result === void 0 ? void 0 : result.device) === null || _e === void 0 ? void 0 : _e.model,
19
- browser: (_f = result === null || result === void 0 ? void 0 : result.browser) === null || _f === void 0 ? void 0 : _f.name,
20
- browserVersion: (_g = result === null || result === void 0 ? void 0 : result.browser) === null || _g === void 0 ? void 0 : _g.version,
21
- userAgent: result === null || result === void 0 ? void 0 : result.ua,
22
- };
23
- };
24
- const UserIdentityContext = createContext(undefined);
25
- export const UserIdentityProvider = ({ children }) => {
26
- const { getItem, setItem, isAvailable: localStorageIsReady } = useLocalStorage();
27
- const [isReady, setIsReady] = useState(false);
28
- useEffect(() => {
29
- // Assuming CommerceApiClient and other dependencies are ready if localStorage is.
30
- // In a more complex scenario, you might have more checks here.
31
- setIsReady(localStorageIsReady);
32
- }, [localStorageIsReady]);
33
- const USER_ID_OVERRIDE_KEY = 'v1-spiffy-user-id-override';
34
- const USER_ID_DEFAULT_KEY = 'v1-spiffy-user-id-default';
35
- const getUserIdOverrideFromLocalStorage = useCallback(() => { var _a; return (_a = getItem(USER_ID_OVERRIDE_KEY)) !== null && _a !== void 0 ? _a : undefined; }, [getItem]);
36
- const getUserIdDefaultFromLocalStorage = useCallback(() => { var _a; return (_a = getItem(USER_ID_DEFAULT_KEY)) !== null && _a !== void 0 ? _a : undefined; }, [getItem]);
37
- const setUserIdDefaultInLocalStorage = useCallback((userId) => {
38
- Logger.logInfo(`setUserIdDefaultInLocalStorage - Setting user_id=${userId}`);
39
- setItem(USER_ID_DEFAULT_KEY, userId);
40
- // window.dispatchEvent is handled by useLocalStorage now
41
- return userId;
42
- }, [setItem, USER_ID_DEFAULT_KEY]);
43
- const setUserIdOverrideInLocalStorage = useCallback((userId) => {
44
- Logger.logInfo(`setUserIdOverrideInLocalStorage - Setting user_id=${userId}`);
45
- setItem(USER_ID_OVERRIDE_KEY, userId);
46
- // window.dispatchEvent is handled by useLocalStorage now
47
- return userId;
48
- }, [setItem, USER_ID_OVERRIDE_KEY]);
49
- const clearUserIdOverrideInLocalStorage = useCallback(() => {
50
- Logger.logInfo(`clearUserIdOverrideInLocalStorage - Clearing user_id`);
51
- // LocalStorageService.getLocalStorage()?.removeItem(USER_ID_OVERRIDE_KEY);
52
- // window.dispatchEvent is handled by useLocalStorage now
53
- setItem(USER_ID_OVERRIDE_KEY, ''); // Set to empty string to clear
54
- }, [setItem, USER_ID_OVERRIDE_KEY]);
55
- const getUserIdOrDefault = useCallback(() => {
56
- const userIdOverride = getUserIdOverrideFromLocalStorage();
57
- if (userIdOverride) {
58
- return userIdOverride;
59
- }
60
- const defaultUserId = getUserIdDefaultFromLocalStorage();
61
- if (defaultUserId) {
62
- return defaultUserId;
63
- }
64
- return setUserIdDefaultInLocalStorage(`spiffy-user-id-${uuid()}`);
65
- }, [
66
- getUserIdOverrideFromLocalStorage,
67
- getUserIdDefaultFromLocalStorage,
68
- setUserIdDefaultInLocalStorage,
69
- ]);
70
- const identifyUser = useCallback(async () => {
71
- if (!isReady) {
72
- Logger.logWarn('[UserIdentityContext] Context not ready, skipping identifyUser', undefined);
73
- return;
74
- }
75
- try {
76
- // Temporarily commented out until WindowDataLayerService is resolved
77
- // const cdpUserId = WindowDataLayerService.getGoogleAnalyticsClientId();
78
- const cdpUserId = 'UNKNOWN_CDP_USER_ID'; // Placeholder
79
- const userId = getUserIdOrDefault();
80
- const userAgentDetails = getUserAgentDetails();
81
- if (!cdpUserId) {
82
- Logger.logWarn('[spiffy-ai] No GA Client ID found, skipping identifyUser', undefined);
83
- return;
84
- }
85
- await CommerceApiClient.identifyUser(userId, cdpUserId, userAgentDetails);
86
- }
87
- catch (error) {
88
- Logger.logError('[spiffy-ai] Error identifying user', error);
89
- }
90
- }, [isReady, getUserIdOrDefault]);
91
- const value = useMemo(() => ({
92
- identifyUser,
93
- getUserIdOrDefault,
94
- getUserIdOverrideFromLocalStorage,
95
- getUserIdDefaultFromLocalStorage,
96
- setUserIdDefaultInLocalStorage,
97
- setUserIdOverrideInLocalStorage,
98
- clearUserIdOverrideInLocalStorage,
99
- isReady,
100
- }), [
101
- identifyUser,
102
- getUserIdOrDefault,
103
- getUserIdOverrideFromLocalStorage,
104
- getUserIdDefaultFromLocalStorage,
105
- setUserIdDefaultInLocalStorage,
106
- setUserIdOverrideInLocalStorage,
107
- clearUserIdOverrideInLocalStorage,
108
- isReady,
109
- ]);
110
- return _jsx(UserIdentityContext.Provider, { value: value, children: children });
111
- };
112
- export const useUserIdentity = () => {
113
- const context = useContext(UserIdentityContext);
114
- if (!context) {
115
- throw new Error('useUserIdentity must be used within a UserIdentityProvider');
116
- }
117
- return context;
118
- };
@@ -1,51 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /**
3
- * A singleton class for dispatching Spiffy events to the document object.
4
- * Provides functionality for adding default event data, managing listeners,
5
- * and dispatching events.
6
- *
7
- * TODO: could add observability to the listeners, would need to track listeners
8
- * internally.
9
- */
10
- export class EventsDispatcher {
11
- /**
12
- * Adds event data to the eventData object, which is included by default for
13
- * every event dispatched. E.g. could add in userId, variantInfo, etc. But
14
- * make sure it is JSON serializable.
15
- */
16
- static addEventData(data) {
17
- this.eventData = { ...this.eventData, ...data };
18
- }
19
- /**
20
- * Dispatches an event with the given name and detail. If includeDefault is
21
- * false, the default event data is excluded.
22
- * @param eventName - the name of the event to dispatch, should be all caps
23
- * and start with SPIFFY_, e.g. "SPIFFY_FLOATING_CONTAINER_CREATED"
24
- * @param detail - optional parameter to include extra event data
25
- * @param includeDefault - optional parameter to exclude the default event
26
- * data
27
- */
28
- static dispatch(eventName, detail, includeDefault) {
29
- if (detail === undefined) {
30
- detail = {};
31
- }
32
- if (includeDefault === undefined) {
33
- includeDefault = true;
34
- }
35
- const eventData = includeDefault ? { ...this.eventData, ...detail } : detail;
36
- const event = new CustomEvent(eventName, {
37
- detail: eventData,
38
- bubbles: true,
39
- composed: true,
40
- cancelable: false,
41
- });
42
- window.dispatchEvent(event);
43
- }
44
- static addListener(eventName, listener) {
45
- window.addEventListener(eventName, listener, { once: false, passive: false, capture: false });
46
- }
47
- static removeListener(eventName, listener) {
48
- window.removeEventListener(eventName, listener);
49
- }
50
- }
51
- EventsDispatcher.eventData = {};
@@ -1,32 +0,0 @@
1
- import { getAtomStore } from 'src/atoms/atomStore/atomStore';
2
- import { pageLoadOffsetTimeAtom, performanceMetricsAtom, resetPerformanceMetricsAtom, } from 'src/atoms/chat';
3
- import { useAmplitudeTracking } from 'src/hooks/AmplitudeOperations/useAmplitudeOperations';
4
- import { useEffect } from 'react';
5
- import { SpiffyMetricsEventName } from '@envive-ai/types';
6
- export const useRegisterAnalyticsListeners = () => {
7
- const { track } = useAmplitudeTracking();
8
- const atomStore = getAtomStore();
9
- useEffect(() => {
10
- const performanceMetrics = atomStore.get(performanceMetricsAtom);
11
- const pageLoadOffsetTime = atomStore.get(pageLoadOffsetTimeAtom);
12
- const handleVisibilityChange = () => {
13
- if (document.visibilityState === 'hidden' && performanceMetrics.size > 0) {
14
- const perfMetricsProperties = Object.fromEntries(Array.from(performanceMetrics.entries()).map(([key, value]) => [
15
- `performanceMetrics.${key}`,
16
- value,
17
- ]));
18
- track(SpiffyMetricsEventName.PerformanceMetrics, {
19
- ...perfMetricsProperties,
20
- 'performance_metrics.page_load_offset_ms': pageLoadOffsetTime,
21
- });
22
- resetPerformanceMetricsAtom();
23
- }
24
- };
25
- // do not use anything other than visibilitychange to detect when a page or
26
- // session has ended as other events may not fire in all browsers/devices
27
- window.addEventListener('visibilitychange', handleVisibilityChange);
28
- return () => {
29
- window.removeEventListener('visibilitychange', handleVisibilityChange);
30
- };
31
- }, [track]);
32
- };
@@ -1,2 +0,0 @@
1
- export { SessionRestartRequired } from './sessionExceptions';
2
- export { UnsupportedProductException } from './unsupportedProductExceptions';
@@ -1,6 +0,0 @@
1
- export class SessionRestartRequired extends Error {
2
- constructor() {
3
- super('Session restart required');
4
- this.name = 'SessionRestartRequired';
5
- }
6
- }
@@ -1,6 +0,0 @@
1
- export class UnsupportedProductException extends Error {
2
- constructor() {
3
- super('Unsupported product');
4
- this.name = 'UnsupportedProductException';
5
- }
6
- }
@@ -1 +0,0 @@
1
- export * from "./useAmplitudeOperations";
@@ -1,24 +0,0 @@
1
- import { useState, useCallback } from 'react';
2
- import { useAmplitude } from 'src/contexts/amplitudeContext/amplitudeContext';
3
- export const useAmplitudeTracking = () => {
4
- const { trackEvent, isReady } = useAmplitude();
5
- const [loading, setLoading] = useState(false);
6
- const [error, setError] = useState(null);
7
- const track = useCallback(async (eventName, eventProps) => {
8
- if (!isReady)
9
- return;
10
- setLoading(true);
11
- setError(null);
12
- try {
13
- await trackEvent({ eventName, eventProps });
14
- }
15
- catch (err) {
16
- setError(err instanceof Error ? err : new Error('Tracking failed'));
17
- throw err;
18
- }
19
- finally {
20
- setLoading(false);
21
- }
22
- }, [trackEvent, isReady]);
23
- return { track, loading, error, isReady };
24
- };
@@ -1 +0,0 @@
1
- export * from "./useAppDetails";
@@ -1,26 +0,0 @@
1
- import { useAtomValue } from 'jotai';
2
- import { ContextEnvEnum, ContextSourceEnum } from '@spiffy-ai/commerce-api-client';
3
- import { variantInfoAtom } from 'src/atoms/app/variant';
4
- import { contextSourceAtom, envAtom as enviveEnvAtom, orgShortNameAtom as enviveOrgShortNameAtom, } from 'src/atoms/envive/enviveConfig';
5
- import { chatIdAtom, userIdAtom } from 'src/atoms/app/index';
6
- import { useOrgId } from 'src/hooks/GraphQLConfig/useGraphQLConfig';
7
- export const useAppDetails = () => {
8
- var _a, _b, _c;
9
- const { orgId: fetchedOrgId } = useOrgId(); // Get orgId from useOrgId hook
10
- const orgId = fetchedOrgId !== null && fetchedOrgId !== void 0 ? fetchedOrgId : ''; // Provide a default empty string if undefined
11
- const orgShortName = (_a = useAtomValue(enviveOrgShortNameAtom)) !== null && _a !== void 0 ? _a : 'spiffy-ai';
12
- const chatId = useAtomValue(chatIdAtom);
13
- const userId = useAtomValue(userIdAtom);
14
- const source = (_b = useAtomValue(contextSourceAtom)) !== null && _b !== void 0 ? _b : ContextSourceEnum.App;
15
- const env = (_c = useAtomValue(enviveEnvAtom)) !== null && _c !== void 0 ? _c : ContextEnvEnum.Dev; // Cast to ContextEnvEnum
16
- const variantInfo = useAtomValue(variantInfoAtom);
17
- return {
18
- orgId,
19
- orgShortName,
20
- chatId,
21
- userId,
22
- source,
23
- env,
24
- variantInfo,
25
- };
26
- };
@@ -1 +0,0 @@
1
- export * from "./useBlockBackButton";
@@ -1,23 +0,0 @@
1
- import { useEffect } from "react";
2
- export const useBlockBackButton = (enabled, callback) => {
3
- useEffect(() => {
4
- if (enabled && window) {
5
- if (window.history.scrollRestoration) {
6
- window.history.scrollRestoration = "manual";
7
- }
8
- window.history.pushState(null, document.title, window.location.href);
9
- window.onpopstate = (e) => {
10
- e.preventDefault();
11
- window.history.pushState(null, document.title, window.location.href);
12
- callback === null || callback === void 0 ? void 0 : callback();
13
- };
14
- }
15
- return () => {
16
- if (enabled && window) {
17
- window.history.back();
18
- window.onpopstate = null;
19
- window.history.scrollRestoration = "auto";
20
- }
21
- };
22
- }, [enabled]);
23
- };
@@ -1 +0,0 @@
1
- export * from "./useCdnOperations";
@@ -1,13 +0,0 @@
1
- import { useCdn } from "../../contexts/cdnContext";
2
- export const useCdnUrl = () => {
3
- const { cdnUrl } = useCdn();
4
- return cdnUrl;
5
- };
6
- export const useCdnBasePath = () => {
7
- const { getCdnBasePath } = useCdn();
8
- return getCdnBasePath();
9
- };
10
- export const useAssetUrl = (assetName, orgShortName) => {
11
- const { getAssetURL } = useCdn();
12
- return getAssetURL(assetName, orgShortName);
13
- };
@@ -1 +0,0 @@
1
- export * from "./useChatToggle";
@@ -1,50 +0,0 @@
1
- import { SpiffyMetricsEventName } from '@envive-ai/types';
2
- import { useAtomValue, useSetAtom } from 'jotai';
3
- import { chatAtom, chatOnToggleAtom } from 'src/atoms/chat';
4
- import { useAmplitude } from 'src/contexts/amplitudeContext/amplitudeContext';
5
- export const useChatToggle = () => {
6
- const onToggle = useSetAtom(chatOnToggleAtom);
7
- const { isOpen } = useAtomValue(chatAtom);
8
- const { trackEvent } = useAmplitude();
9
- const toggle = (triggerLocation, triggerId) => {
10
- if (!isOpen) {
11
- trackEvent({
12
- eventName: SpiffyMetricsEventName.ChatComponentExpanded,
13
- eventProps: {
14
- message_metadata: {
15
- trigger_location: triggerLocation,
16
- trigger_id: triggerId,
17
- },
18
- },
19
- });
20
- }
21
- else {
22
- trackEvent({
23
- eventName: SpiffyMetricsEventName.ChatComponentCollapsed,
24
- eventProps: {
25
- message_metadata: {
26
- trigger_location: triggerLocation,
27
- trigger_id: triggerId,
28
- },
29
- },
30
- });
31
- }
32
- onToggle();
33
- };
34
- const openChat = (triggerLocation, triggerId) => {
35
- if (!isOpen) {
36
- toggle(triggerLocation, triggerId);
37
- }
38
- };
39
- const closeChat = (triggerLocation, triggerId) => {
40
- if (isOpen) {
41
- toggle(triggerLocation, triggerId);
42
- }
43
- };
44
- return {
45
- toggle,
46
- isOpen,
47
- openChat,
48
- closeChat,
49
- };
50
- };
@@ -1 +0,0 @@
1
- export * from "./useChatToggleAnalytics";
@@ -1,11 +0,0 @@
1
- import { useSetAtom } from 'jotai';
2
- import { chatOnToggleAtom } from 'src/atoms/chat/chatState';
3
- import { useAmplitudeTracking } from '../AmplitudeOperations';
4
- export const useChatToggleAnalytics = () => {
5
- const setChatOnToggle = useSetAtom(chatOnToggleAtom);
6
- const { track } = useAmplitudeTracking();
7
- const toggleChat = (triggerLocation) => {
8
- setChatOnToggle(triggerLocation, track);
9
- };
10
- return { toggleChat };
11
- };
@@ -1 +0,0 @@
1
- export * from "./useCustomerSupportHandoff";
@@ -1,32 +0,0 @@
1
- import Logger from '../../application/logging/logger';
2
- import { useCallback } from 'react';
3
- /**
4
- * Hook to call the `click` method of the merchant's customer support chat widget.
5
- *
6
- * @param onSwitchToAgent a function to override the function returned by the hook. This is mainly to
7
- * preserve backward compatibility for merchants not using Kustomer and will be removed when all
8
- * CS integrations are handled.
9
- *
10
- * @returns a function that searches for the customer support chat widget and calls the `click` method.
11
- */
12
- export const useCustomerSupportHandoff = (onSwitchToAgent) => {
13
- // TODO handle Gorgias
14
- const onKustomerSwitch = useCallback(() => {
15
- var _a, _b;
16
- const kustomerElement = document.getElementById('kustomer-ui-sdk-iframe');
17
- if (kustomerElement == null || !(kustomerElement instanceof HTMLIFrameElement)) {
18
- Logger.logError('[spiffy-ai] Kustomer iFrame element not found', undefined);
19
- return;
20
- }
21
- const kustomerButton = (_b = (_a = kustomerElement.contentWindow) === null || _a === void 0 ? void 0 : _a.document) === null || _b === void 0 ? void 0 : _b.getElementById('rootChatIcon');
22
- if (kustomerButton == null) {
23
- Logger.logError('[spiffy-ai] Kustomer button not found', undefined);
24
- return;
25
- }
26
- kustomerButton.click();
27
- }, []);
28
- if (onSwitchToAgent != null) {
29
- return { onSwitch: onSwitchToAgent };
30
- }
31
- return { onSwitch: onKustomerSwitch };
32
- };
@@ -1 +0,0 @@
1
- export * from "./useDebounce";
@@ -1,13 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- export function useDebounce(value, delay) {
3
- const [debouncedValue, setDebouncedValue] = useState(value);
4
- useEffect(() => {
5
- const handler = setTimeout(() => {
6
- setDebouncedValue(value);
7
- }, delay);
8
- return () => {
9
- clearTimeout(handler);
10
- };
11
- }, [value, delay]);
12
- return debouncedValue;
13
- }
@@ -1 +0,0 @@
1
- export * from "./useElementObserver";
@@ -1,208 +0,0 @@
1
- import { useEffect, useRef, useState } from 'react';
2
- import { DOMObserver } from 'src/application/utils/domObserver';
3
- /*
4
- >>>>
5
- <task_progress>
6
- - [ ] Identify all exported types across the codebase.
7
- - [x] Create individual type files in `/types` for each type.
8
- - [x] Move `ElementObserverUtility` to `src/types/ElementObserverUtility.ts`.
9
- - [ ] Update `src/hooks/ElementObserver/useElementObserver.ts` to import and use the new type.
10
- - [ ] Update `/types/index.ts` by adding export for `./ElementObserverUtility`.
11
- </task_progress>
12
- * This hook enables the connection between a `MutationObserver` and a React.js component.
13
- * It abstracts all the necessary validations and implementations to modify HTML elements,
14
- * monitor their changes, and interact with them. The only required input is the element's selector.
15
- *
16
- * How to use it:
17
- *
18
- * Let's assume we want to interact with the following element:
19
- * `<div id="awesome-content"><content /></div>`
20
- *
21
- * To hook into that element, simply do the following:
22
- * `const element = useElementObserver(SelectorFactory.id("awesome-content"))`
23
- *
24
- * With the `ElementObserver` instance in hand, we can interact with the HTML element without having
25
- * to manage its presence in the DOM. The `onAdd` and `onRemove` functions can be used to determine
26
- * whether the element is present in the DOM or not, and to ensure interaction occurs only when necessary.
27
- *
28
- * @param selector
29
- * @returns
30
- */
31
- export const useElementObserver = (selector) => {
32
- const INITIAL_RENDER_STATE = true;
33
- const eoRef = useRef(DOMObserver.add(selector));
34
- const [renderBlocked, setRenderBlocked] = useState(INITIAL_RENDER_STATE);
35
- /**
36
- * Fired every time the HTML element changes.
37
- *
38
- * @param fn
39
- */
40
- const onChange = (fn) => {
41
- var _a;
42
- (_a = eoRef.current) === null || _a === void 0 ? void 0 : _a.registerOnChange(fn);
43
- };
44
- /**
45
- * Fired when the HTML element is added to the DOM.
46
- *
47
- * @param fn
48
- */
49
- const onAdd = (fn) => {
50
- var _a;
51
- (_a = eoRef.current) === null || _a === void 0 ? void 0 : _a.registerOnAdd(fn);
52
- };
53
- /**
54
- * Fired when the HTML element is removed from the DOM.
55
- *
56
- * @param fn
57
- */
58
- const onRemove = (fn) => {
59
- var _a;
60
- (_a = eoRef.current) === null || _a === void 0 ? void 0 : _a.registerOnRemove(fn);
61
- };
62
- /**
63
- * Fired when the class of the HTML element changes.
64
- *
65
- * @param fn
66
- */
67
- const onClassChange = (fn) => {
68
- var _a;
69
- (_a = eoRef.current) === null || _a === void 0 ? void 0 : _a.registerOnclassChange(fn);
70
- };
71
- /**
72
- * Fired when a class is added to the HTML element.
73
- *
74
- * @param className
75
- * @param fn
76
- */
77
- const onClassAdded = (className, fn) => {
78
- var _a;
79
- (_a = eoRef.current) === null || _a === void 0 ? void 0 : _a.registerOnClassAdded(className, fn);
80
- };
81
- /**
82
- * Fired when a class is removed from the HTML element.
83
- *
84
- * @param className
85
- * @param fn
86
- */
87
- const onClassRemoved = (className, fn) => {
88
- var _a;
89
- (_a = eoRef.current) === null || _a === void 0 ? void 0 : _a.registerOnClassRemoved(className, fn);
90
- };
91
- /**
92
- * Fired when a child element is added to the HTML element.
93
- *
94
- * @param fn
95
- */
96
- const onAddChild = (fn) => {
97
- var _a;
98
- (_a = eoRef.current) === null || _a === void 0 ? void 0 : _a.registerOnAddChild(fn);
99
- };
100
- /**
101
- * Fired when a child element is removed from the HTML element.
102
- *
103
- * @param fn
104
- */
105
- const onRemoveChild = (fn) => {
106
- var _a;
107
- (_a = eoRef.current) === null || _a === void 0 ? void 0 : _a.registerOnRemoveChild(fn);
108
- };
109
- /**
110
- * Allows hooking event listeners to the HTML element, such as `focus`, `blur`, etc.
111
- *
112
- * @param event
113
- * @param fn
114
- */
115
- const onEvent = (event, fn) => {
116
- eoRef.current.registerEvent(event, fn);
117
- };
118
- /**
119
- * Useful when rendering a React.js component inside the HTML element.
120
- *
121
- * @param fn
122
- * @returns
123
- */
124
- const render = (fn) => !renderBlocked ? eoRef.current.render(fn) : undefined;
125
- /**
126
- * Checks if the element exists in the DOM.
127
- *
128
- * @returns
129
- */
130
- const exists = () => !!eoRef.current.getNode();
131
- /**
132
- * Checks if rendering is unblocked.
133
- *
134
- * @returns
135
- */
136
- const isRendered = () => !renderBlocked;
137
- /**
138
- * Triggers an event for the HTML element.
139
- *
140
- * @param event
141
- */
142
- const fire = (event) => {
143
- eoRef.current.fire(event);
144
- };
145
- /**
146
- * Shows the HTML element.
147
- *
148
- * @returns
149
- */
150
- const show = () => eoRef.current.show();
151
- /**
152
- * Hides the HTML element.
153
- *
154
- * @returns
155
- */
156
- const hide = () => eoRef.current.hide();
157
- /**
158
- * Blocks the rendering of elements.
159
- *
160
- * @returns
161
- */
162
- const blockRendering = () => setRenderBlocked(true);
163
- /**
164
- * Unblocks the rendering of elements.
165
- *
166
- * @returns
167
- */
168
- const unblockRendering = () => setRenderBlocked(false);
169
- /**
170
- * Applies CSS styles to the HTML element.
171
- *
172
- * @param styles
173
- */
174
- const applyStyle = (styles) => {
175
- var _a;
176
- const node = (_a = eoRef === null || eoRef === void 0 ? void 0 : eoRef.current) === null || _a === void 0 ? void 0 : _a.getNode();
177
- if (node) {
178
- Object.assign(node.style, styles);
179
- }
180
- };
181
- useEffect(() => {
182
- eoRef.current.init();
183
- eoRef.current.registerOnReset(() => setRenderBlocked(INITIAL_RENDER_STATE));
184
- DOMObserver.observe();
185
- return () => DOMObserver.remove(selector);
186
- }, [selector.getPattern()]);
187
- return {
188
- targetNode: eoRef.current.getNode(),
189
- onChange,
190
- onAdd,
191
- onRemove,
192
- onClassChange,
193
- onClassAdded,
194
- onClassRemoved,
195
- onAddChild,
196
- onRemoveChild,
197
- onEvent,
198
- blockRendering,
199
- unblockRendering,
200
- exists,
201
- isRendered,
202
- render,
203
- fire,
204
- show,
205
- hide,
206
- applyStyle,
207
- };
208
- };
@@ -1 +0,0 @@
1
- export * from "./useGrabAndScroll";