@envive-ai/react-hooks 0.2.6-alpha-marlo.0 → 0.2.6-alpha-arthur-3

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 (683) hide show
  1. package/dist/AmplitudeOperations-BjC8DOqm.js +34 -0
  2. package/dist/AmplitudeOperations-CQs4sVHN.cjs +41 -0
  3. package/dist/{NewOrgConfig-BfbTlFg1.js → NewOrgConfig-CRakarmw.js} +2 -2
  4. package/dist/{NewOrgConfig-DJm6_abA.cjs → NewOrgConfig-D48KabOj.cjs} +2 -2
  5. package/dist/TrackComponentVisibleEvent-C9RvfdS9.js +53 -0
  6. package/dist/TrackComponentVisibleEvent-_Fb-JXkV.cjs +60 -0
  7. package/dist/amplitudeContext-D5HSmIWg.cjs +253 -0
  8. package/dist/amplitudeContext-wW37Ziq-.js +237 -0
  9. package/dist/amplitudeTrackEventAtom-D66l5oFp.js +8 -0
  10. package/dist/amplitudeTrackEventAtom-f22P2U0u.cjs +15 -0
  11. package/dist/api-D4HaU2Gf.js +166 -0
  12. package/dist/api-D4Xoibs9.cjs +239 -0
  13. package/dist/app-CGw4C9Bn.js +515 -0
  14. package/dist/app-Di_sBmzj.cjs +570 -0
  15. package/dist/application/models/graphql/index.cjs +3 -3
  16. package/dist/application/models/graphql/index.d.cts +2 -2
  17. package/dist/application/models/graphql/index.d.ts +2 -2
  18. package/dist/application/models/graphql/index.js +2 -3
  19. package/dist/application/models/guards/api/index.cjs +3 -3
  20. package/dist/application/models/guards/api/index.d.cts +2 -2
  21. package/dist/application/models/guards/api/index.d.ts +2 -2
  22. package/dist/application/models/guards/api/index.js +3 -3
  23. package/dist/application/models/guards/utils.cjs +1 -1
  24. package/dist/application/models/guards/utils.d.ts +1 -1
  25. package/dist/application/models/guards/utils.js +1 -1
  26. package/dist/application/models/index.cjs +7 -23
  27. package/dist/application/models/index.d.cts +167 -11
  28. package/dist/application/models/index.d.ts +168 -12
  29. package/dist/application/models/index.js +7 -11
  30. package/dist/application/utils/index.cjs +10 -19
  31. package/dist/application/utils/index.d.cts +13 -63
  32. package/dist/application/utils/index.d.ts +13 -63
  33. package/dist/application/utils/index.js +10 -19
  34. package/dist/{atomStore-DXTVqiKc.js → atomStore-BuopbV9k.js} +1 -1
  35. package/dist/{atomStore-DNji91Im.cjs → atomStore-CZKe3itM.cjs} +1 -1
  36. package/dist/atoms/app/index.cjs +22 -24
  37. package/dist/atoms/app/index.d.cts +9 -20
  38. package/dist/atoms/app/index.d.ts +8 -19
  39. package/dist/atoms/app/index.js +17 -19
  40. package/dist/atoms/atomStore/index.cjs +1 -1
  41. package/dist/atoms/atomStore/index.d.cts +1 -1
  42. package/dist/atoms/atomStore/index.js +1 -1
  43. package/dist/atoms/chat/index.cjs +20 -21
  44. package/dist/atoms/chat/index.d.cts +36 -45
  45. package/dist/atoms/chat/index.d.ts +34 -43
  46. package/dist/atoms/chat/index.js +20 -21
  47. package/dist/atoms/globalSearch/index.cjs +1 -2
  48. package/dist/atoms/globalSearch/index.d.cts +5 -5
  49. package/dist/atoms/globalSearch/index.d.ts +6 -6
  50. package/dist/atoms/globalSearch/index.js +1 -2
  51. package/dist/atoms/org/index.cjs +10 -11
  52. package/dist/atoms/org/index.d.cts +19 -31
  53. package/dist/atoms/org/index.d.ts +19 -31
  54. package/dist/atoms/org/index.js +2 -3
  55. package/dist/atoms/search/index.cjs +7 -47
  56. package/dist/atoms/search/index.d.cts +76 -14
  57. package/dist/atoms/search/index.d.ts +76 -14
  58. package/dist/atoms/search/index.js +7 -29
  59. package/dist/atoms/search/utils.cjs +1 -1
  60. package/dist/atoms/search/utils.d.cts +1 -1
  61. package/dist/atoms/search/utils.js +1 -1
  62. package/dist/cdnContext-BJT_Wn9Z.js +38 -0
  63. package/dist/cdnContext-BoPraJxf.cjs +53 -0
  64. package/dist/chat-ZaY3KY-R.js +226 -0
  65. package/dist/chat-rhEjVfrd.cjs +326 -0
  66. package/dist/chatState-BbI93m6r.js +33 -0
  67. package/dist/chatState-DlJpHAsW.cjs +119 -0
  68. package/dist/config/index.d.cts +4 -4
  69. package/dist/config/index.d.ts +4 -4
  70. package/dist/config/locators/components/chat/index.d.cts +1 -1
  71. package/dist/config/locators/components/chat/index.d.ts +1 -1
  72. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  73. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  74. package/dist/config/locators/components/common/index.d.cts +1 -1
  75. package/dist/config/locators/components/common/index.d.ts +1 -1
  76. package/dist/config/locators/components/index.d.cts +1 -1
  77. package/dist/config/locators/components/index.d.ts +1 -1
  78. package/dist/config/locators/components/search/index.d.cts +1 -1
  79. package/dist/config/locators/components/search/index.d.ts +1 -1
  80. package/dist/config/locators/index.d.cts +4 -4
  81. package/dist/config/locators/index.d.ts +4 -4
  82. package/dist/contexts/amplitudeContext/index.cjs +23 -22
  83. package/dist/contexts/amplitudeContext/index.d.cts +11 -2
  84. package/dist/contexts/amplitudeContext/index.d.ts +11 -2
  85. package/dist/contexts/amplitudeContext/index.js +22 -20
  86. package/dist/contexts/atomProvider/index.cjs +18 -0
  87. package/dist/contexts/atomProvider/index.d.cts +11 -0
  88. package/dist/contexts/atomProvider/index.d.ts +11 -0
  89. package/dist/contexts/atomProvider/index.js +15 -0
  90. package/dist/contexts/cdnContext/index.cjs +4 -4
  91. package/dist/contexts/cdnContext/index.d.cts +2 -6
  92. package/dist/contexts/cdnContext/index.d.ts +2 -6
  93. package/dist/contexts/cdnContext/index.js +4 -4
  94. package/dist/contexts/enviveConfigContext/index.cjs +6 -4
  95. package/dist/contexts/enviveConfigContext/index.d.cts +5 -25
  96. package/dist/contexts/enviveConfigContext/index.d.ts +5 -25
  97. package/dist/contexts/enviveConfigContext/index.js +6 -5
  98. package/dist/contexts/enviveCssContext/index.cjs +17 -19
  99. package/dist/contexts/enviveCssContext/index.d.cts +3 -5
  100. package/dist/contexts/enviveCssContext/index.d.ts +3 -5
  101. package/dist/contexts/enviveCssContext/index.js +17 -19
  102. package/dist/contexts/featureFlagContext/index.cjs +9 -10
  103. package/dist/contexts/featureFlagContext/index.d.cts +3 -11
  104. package/dist/contexts/featureFlagContext/index.d.ts +3 -11
  105. package/dist/contexts/featureFlagContext/index.js +6 -7
  106. package/dist/contexts/featureFlagServiceContext/index.cjs +4 -3
  107. package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -4
  108. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -4
  109. package/dist/contexts/featureFlagServiceContext/index.js +4 -3
  110. package/dist/contexts/graphqlContext/index.cjs +10 -13
  111. package/dist/contexts/graphqlContext/index.d.cts +11 -14
  112. package/dist/contexts/graphqlContext/index.d.ts +11 -14
  113. package/dist/contexts/graphqlContext/index.js +10 -13
  114. package/dist/contexts/localStorageContext/index.cjs +3 -3
  115. package/dist/contexts/localStorageContext/index.d.cts +3 -22
  116. package/dist/contexts/localStorageContext/index.d.ts +3 -22
  117. package/dist/contexts/localStorageContext/index.js +4 -3
  118. package/dist/contexts/newOrgConfigContext/index.cjs +15 -17
  119. package/dist/contexts/newOrgConfigContext/index.d.cts +12 -15
  120. package/dist/contexts/newOrgConfigContext/index.d.ts +12 -15
  121. package/dist/contexts/newOrgConfigContext/index.js +15 -17
  122. package/dist/contexts/searchContext/index.cjs +24 -24
  123. package/dist/contexts/searchContext/index.d.cts +2 -7
  124. package/dist/contexts/searchContext/index.d.ts +2 -7
  125. package/dist/contexts/searchContext/index.js +24 -24
  126. package/dist/contexts/sessionStorageContext/index.cjs +2 -2
  127. package/dist/contexts/sessionStorageContext/index.d.cts +2 -6
  128. package/dist/contexts/sessionStorageContext/index.d.ts +2 -6
  129. package/dist/contexts/sessionStorageContext/index.js +2 -2
  130. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  131. package/dist/contexts/shopifyUrlContext/index.d.cts +2 -11
  132. package/dist/contexts/shopifyUrlContext/index.d.ts +2 -11
  133. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  134. package/dist/contexts/systemSettingsContext/index.cjs +4 -4
  135. package/dist/contexts/systemSettingsContext/index.d.cts +2 -12
  136. package/dist/contexts/systemSettingsContext/index.d.ts +4 -14
  137. package/dist/contexts/systemSettingsContext/index.js +4 -4
  138. package/dist/contexts/userIdentityContext/index.cjs +19 -21
  139. package/dist/contexts/userIdentityContext/index.d.cts +11 -2
  140. package/dist/contexts/userIdentityContext/index.d.ts +11 -2
  141. package/dist/contexts/userIdentityContext/index.js +17 -19
  142. package/dist/dist-C38adNK1.js +5923 -0
  143. package/dist/dist-VxRI6eQv.cjs +6019 -0
  144. package/dist/domObserver-CVhsCSkS.js +285 -0
  145. package/dist/{domObserver-v9ODTyfT.js → domObserver-LCBj1xw4.cjs} +23 -4
  146. package/dist/enviveConfig-CHXb9xwk.cjs +125 -0
  147. package/dist/enviveConfig-CUJgI97-.js +63 -0
  148. package/dist/enviveConfigContext-C91Air9z.js +48 -0
  149. package/dist/enviveConfigContext-zZAJwv87.cjs +69 -0
  150. package/dist/events/index.cjs +2 -3
  151. package/dist/events/index.d.cts +2 -15
  152. package/dist/events/index.d.ts +2 -15
  153. package/dist/events/index.js +2 -2
  154. package/dist/events-CgFGtanE.cjs +69 -0
  155. package/dist/events-WOOrnUAx.js +63 -0
  156. package/dist/exceptions/index.cjs +4 -0
  157. package/dist/exceptions/index.d.cts +12 -0
  158. package/dist/exceptions/index.d.ts +12 -0
  159. package/dist/exceptions/index.js +3 -0
  160. package/dist/exceptions-BjDgLzGi.cjs +32 -0
  161. package/dist/exceptions-CUGY31Ua.js +20 -0
  162. package/dist/featureFlagServiceContext-ClnlCJV5.d.cts +24 -0
  163. package/dist/featureFlagServiceContext-Cvp7NlpC.js +46 -0
  164. package/dist/featureFlagServiceContext-DHtkQAtq.cjs +66 -0
  165. package/dist/featureFlagServiceContext-x-hAAKdL.d.ts +24 -0
  166. package/dist/{globalSearch-FBk2epe8.cjs → globalSearch-Cpc8egsM.cjs} +1 -1
  167. package/dist/{globalSearch-Ccxq8hNF.js → globalSearch-nmrfGLOn.js} +1 -1
  168. package/dist/graphql-CvAHWmel.js +46 -0
  169. package/dist/graphql-JaGqsToc.cjs +70 -0
  170. package/dist/graphqlContext-C3T_K97L.js +94 -0
  171. package/dist/graphqlContext-DqWvz7Op.cjs +108 -0
  172. package/dist/hooks/AmplitudeOperations/index.cjs +23 -22
  173. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -2
  174. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -2
  175. package/dist/hooks/AmplitudeOperations/index.js +22 -21
  176. package/dist/hooks/AppDetails/index.cjs +22 -22
  177. package/dist/hooks/AppDetails/index.d.cts +3 -23
  178. package/dist/hooks/AppDetails/index.d.ts +3 -23
  179. package/dist/hooks/AppDetails/index.js +22 -22
  180. package/dist/hooks/BlockBackButton/index.d.ts +1 -1
  181. package/dist/hooks/CdnOperations/index.cjs +4 -4
  182. package/dist/hooks/CdnOperations/index.js +4 -4
  183. package/dist/hooks/ChatToggle/index.cjs +28 -25
  184. package/dist/hooks/ChatToggle/index.d.cts +2 -2
  185. package/dist/hooks/ChatToggle/index.d.ts +2 -2
  186. package/dist/hooks/ChatToggle/index.js +25 -22
  187. package/dist/hooks/ChatToggleAnalytics/index.cjs +25 -24
  188. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -2
  189. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -2
  190. package/dist/hooks/ChatToggleAnalytics/index.js +24 -23
  191. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -2
  192. package/dist/hooks/CustomerSupportHandoff/index.d.cts +1 -1
  193. package/dist/hooks/CustomerSupportHandoff/index.js +2 -2
  194. package/dist/hooks/Debounce/index.cjs +20 -2
  195. package/dist/hooks/Debounce/index.d.cts +1 -1
  196. package/dist/hooks/Debounce/index.js +18 -2
  197. package/dist/hooks/ElementObserver/index.cjs +4 -6
  198. package/dist/hooks/ElementObserver/index.d.cts +4 -25
  199. package/dist/hooks/ElementObserver/index.d.ts +4 -25
  200. package/dist/hooks/ElementObserver/index.js +4 -6
  201. package/dist/hooks/GrabAndScroll/index.cjs +1 -1
  202. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  203. package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
  204. package/dist/hooks/GrabAndScroll/index.js +1 -1
  205. package/dist/hooks/GraphQLConfig/index.cjs +11 -14
  206. package/dist/hooks/GraphQLConfig/index.d.cts +2 -13
  207. package/dist/hooks/GraphQLConfig/index.d.ts +2 -13
  208. package/dist/hooks/GraphQLConfig/index.js +11 -14
  209. package/dist/hooks/IdentifyUser/index.cjs +19 -21
  210. package/dist/hooks/IdentifyUser/index.js +18 -20
  211. package/dist/hooks/ImageResolver/index.cjs +20 -29
  212. package/dist/hooks/ImageResolver/index.js +20 -29
  213. package/dist/hooks/Intersection/index.cjs +1 -1
  214. package/dist/hooks/Intersection/index.d.ts +1 -1
  215. package/dist/hooks/Intersection/index.js +1 -1
  216. package/dist/hooks/IsSmallScreen/index.d.ts +1 -1
  217. package/dist/hooks/LocalStorageOperations/index.cjs +8 -7
  218. package/dist/hooks/LocalStorageOperations/index.d.cts +1 -1
  219. package/dist/hooks/LocalStorageOperations/index.js +4 -3
  220. package/dist/hooks/MessageFilter/index.cjs +3 -12
  221. package/dist/hooks/MessageFilter/index.d.cts +2 -17
  222. package/dist/hooks/MessageFilter/index.d.ts +2 -17
  223. package/dist/hooks/MessageFilter/index.js +2 -11
  224. package/dist/hooks/NewOrgConfig/index.cjs +16 -18
  225. package/dist/hooks/NewOrgConfig/index.d.cts +3 -16
  226. package/dist/hooks/NewOrgConfig/index.d.ts +3 -16
  227. package/dist/hooks/NewOrgConfig/index.js +16 -18
  228. package/dist/hooks/Search/index.cjs +314 -173
  229. package/dist/hooks/Search/index.d.cts +3 -57
  230. package/dist/hooks/Search/index.d.ts +3 -57
  231. package/dist/hooks/Search/index.js +302 -162
  232. package/dist/hooks/SearchOperations/index.cjs +25 -25
  233. package/dist/hooks/SearchOperations/index.d.cts +2 -3
  234. package/dist/hooks/SearchOperations/index.d.ts +2 -3
  235. package/dist/hooks/SearchOperations/index.js +25 -25
  236. package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
  237. package/dist/hooks/SessionStorageOperations/index.js +2 -2
  238. package/dist/hooks/ShopifyUrlOperations/index.cjs +3 -3
  239. package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -4
  240. package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -4
  241. package/dist/hooks/ShopifyUrlOperations/index.js +3 -3
  242. package/dist/hooks/SnapCalculator/index.cjs +1 -1
  243. package/dist/hooks/SnapCalculator/index.d.cts +4 -3
  244. package/dist/hooks/SnapCalculator/index.d.ts +4 -3
  245. package/dist/hooks/SnapCalculator/index.js +1 -1
  246. package/dist/hooks/SystemSettingsContext/index.cjs +17 -6
  247. package/dist/hooks/SystemSettingsContext/index.d.cts +5 -15
  248. package/dist/hooks/SystemSettingsContext/index.d.ts +4 -14
  249. package/dist/hooks/SystemSettingsContext/index.js +15 -6
  250. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +23 -21
  251. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +2 -3
  252. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -3
  253. package/dist/hooks/TrackComponentVisibleEvent/index.js +23 -21
  254. package/dist/hooks/UpdateAnalyticsProps/index.cjs +26 -24
  255. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +1 -1
  256. package/dist/hooks/UpdateAnalyticsProps/index.js +22 -20
  257. package/dist/hooks/utils.cjs +1 -1
  258. package/dist/hooks/utils.d.cts +20 -13
  259. package/dist/hooks/utils.d.ts +20 -13
  260. package/dist/hooks/utils.js +1 -1
  261. package/dist/index--OKiRCTl.d.ts +224 -0
  262. package/dist/{index-h809JLbL.d.ts → index-B95cXAA4.d.ts} +1 -1
  263. package/dist/index-BVZbvpx_.d.cts +11 -0
  264. package/dist/{index-FQjyuD3D.d.cts → index-BbqT4BQv.d.cts} +1 -1
  265. package/dist/index-BiDHHLjr.d.ts +42 -0
  266. package/dist/{index-Da1s8h5C.d.cts → index-CAJq_8bO.d.cts} +1 -1
  267. package/dist/index-CAXM2KiM.d.ts +11 -0
  268. package/dist/index-CMZcE7pk.d.cts +224 -0
  269. package/dist/{index-DzbkQtaK.d.cts → index-ChiZg0yw.d.cts} +1 -1
  270. package/dist/{index-xHVrsrbz.d.ts → index-DZU7c0jP.d.ts} +1 -1
  271. package/dist/{index-BeYfyZ6k.d.ts → index-DywcCZdp.d.ts} +1 -1
  272. package/dist/{index-DJTrxIFJ.d.ts → index-dc4j0jws.d.ts} +1 -1
  273. package/dist/{index-9NE86em3.d.cts → index-npqPeJ1g.d.cts} +1 -1
  274. package/dist/index-qOBU4GEh.d.cts +42 -0
  275. package/dist/interceptors/index.cjs +28 -3
  276. package/dist/interceptors/index.d.cts +4 -15
  277. package/dist/interceptors/index.d.ts +4 -15
  278. package/dist/interceptors/index.js +25 -3
  279. package/dist/localStorageContext-BFwvuEcf.js +90 -0
  280. package/dist/localStorageContext-CWc5xJ6U.cjs +104 -0
  281. package/dist/{logger-W3lqg-4b.js → logger-BMVdhQOV.js} +1 -1
  282. package/dist/{logger-TBIl4uIH.cjs → logger-BqHq67zN.cjs} +1 -1
  283. package/dist/models-Cw0QcbQv.js +1118 -0
  284. package/dist/models-Dl0_Ujgj.cjs +1305 -0
  285. package/dist/newOrgConfigAtom-C8h3w_Ji.js +8 -0
  286. package/dist/{newOrgConfigAtom-DxILMn2I.cjs → newOrgConfigAtom-CDttTiuu.cjs} +1 -1
  287. package/dist/newOrgConfigContext-B_rJMpwN.js +55 -0
  288. package/dist/newOrgConfigContext-D1sgTmVU.cjs +70 -0
  289. package/dist/nodeSelector-BYEAyrsj.d.cts +28 -0
  290. package/dist/nodeSelector-NqW-FBED.d.ts +28 -0
  291. package/dist/org-BNs_maoW.cjs +111 -0
  292. package/dist/org-CScQqL4k.js +32 -0
  293. package/dist/search-CWkDtqQV.cjs +312 -0
  294. package/dist/search-OWKKaQQj.js +233 -0
  295. package/dist/searchContext-3VsAb17A.cjs +146 -0
  296. package/dist/searchContext-Bhhp_q_P.js +130 -0
  297. package/dist/searchServiceAdapter-B0h7psvh.js +16 -0
  298. package/dist/searchServiceAdapter-BclWy4fE.cjs +34 -0
  299. package/dist/sessionStorageContext-L3f_btsR.cjs +66 -0
  300. package/dist/sessionStorageContext-kQJRbkHL.js +52 -0
  301. package/dist/shopifyUrlContext-BsYGfLvw.cjs +75 -0
  302. package/dist/shopifyUrlContext-CB9LQU_i.js +61 -0
  303. package/dist/systemSettingsContext-B5plhu8S.cjs +60 -0
  304. package/dist/systemSettingsContext-Cac6mmfA.js +39 -0
  305. package/dist/types/index.cjs +3 -48
  306. package/dist/types/index.d.cts +2 -17
  307. package/dist/types/index.d.ts +2 -17
  308. package/dist/types/index.js +2 -44
  309. package/dist/types-1iJ_FnQQ.cjs +39 -0
  310. package/dist/types-D5du68Vp.js +27 -0
  311. package/dist/urlsParser-Dax4iVNC.cjs +78 -0
  312. package/dist/urlsParser-NAp2LwWP.js +42 -0
  313. package/dist/useAppDetails-B-lZpIPK.js +30 -0
  314. package/dist/useAppDetails-BAJjqvyF.cjs +38 -0
  315. package/dist/useGraphQLConfig-CeYY5maa.js +63 -0
  316. package/dist/useGraphQLConfig-Cm_lEb1T.cjs +76 -0
  317. package/dist/{useIntersection-m4PEpvG7.cjs → useIntersection-DuwPFRY9.cjs} +1 -1
  318. package/dist/{useIntersection-Cncgxdmy.js → useIntersection-bCSteycU.js} +1 -1
  319. package/dist/{utils-DIvMgPe8.js → utils-B1LVzQYK.js} +1 -1
  320. package/dist/utils-BZT_oZ3n.js +92 -0
  321. package/dist/{utils-CDw74BCO.cjs → utils-CiJLDPjY.cjs} +1 -1
  322. package/dist/{utils-2SWrJ12w.cjs → utils-CqVRbvfN.cjs} +1 -1
  323. package/dist/utils-D3MjNkd3.cjs +716 -0
  324. package/dist/utils-DMwh3QbT.js +607 -0
  325. package/dist/{utils-CqBxIpEV.js → utils-DQhbbAnt.js} +1 -1
  326. package/dist/{utils-DpneNSJf.d.ts → utils-DjhLO2vO.d.ts} +1 -1
  327. package/dist/utils-qtHPLFby.cjs +130 -0
  328. package/package.json +13 -36
  329. package/src/application/commerce-api.ts +40 -37
  330. package/src/application/models/graphql/index.ts +1 -0
  331. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -23
  332. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -89
  333. package/src/application/models/guards/api/isApiFormResponse.ts +4 -4
  334. package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +2 -2
  335. package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +2 -20
  336. package/src/application/models/guards/api/isApiOrgConfigResults.ts +3 -9
  337. package/src/application/models/guards/api/isApiOrganizationConfig.ts +8 -32
  338. package/src/application/models/guards/api/isApiPDPEventAttributes.ts +8 -5
  339. package/src/application/models/guards/api/isApiPLPEventAttributes.ts +14 -10
  340. package/src/application/models/guards/api/isApiPageResponseAttributes.ts +1 -1
  341. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +2 -4
  342. package/src/application/models/guards/api/isApiProductSearchAttributes.ts +9 -6
  343. package/src/application/models/guards/api/isApiProductSearchFilterAttributes.ts +7 -4
  344. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +8 -3
  345. package/src/application/models/guards/api/isApiResponse.ts +22 -15
  346. package/src/application/models/guards/api/isApiReviewResponseAttributes.ts +1 -1
  347. package/src/application/models/guards/api/isApiReviewRichInformation.ts +1 -1
  348. package/src/application/models/guards/api/isApiTextResponseAttributes.ts +1 -1
  349. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  350. package/src/application/models/guards/isBaseEcommerceEvent.ts +1 -2
  351. package/src/application/models/guards/isGA4EcommerceEvent.ts +1 -1
  352. package/src/application/models/guards/isLegacyUAEcommerceEvent.ts +1 -1
  353. package/src/application/models/guards/isMobilePLPChatPlacementParameter.ts +1 -3
  354. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +5 -3
  355. package/src/application/models/guards/isVariantInfo.ts +6 -1
  356. package/src/application/models/index.ts +30 -95
  357. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  358. package/src/application/models/validators/validateGraphQLColorsConfig.ts +6 -2
  359. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +6 -6
  360. package/src/application/models/validators/validateMobilePLPChatPlacementParameter.ts +5 -3
  361. package/src/application/models/validators/validateOrgConfigResults.ts +6 -5
  362. package/src/application/models/validators/validateOrganizationConfig.ts +11 -8
  363. package/src/application/models/validators/validateResponse.ts +66 -44
  364. package/src/application/models/validators/validateSuggestion.ts +1 -1
  365. package/src/application/models/validators/validateUserEvent.ts +23 -12
  366. package/src/application/utils/analyticsUtils.ts +1 -8
  367. package/src/application/utils/coreContextToApiContext.ts +3 -1
  368. package/src/application/utils/coreUserEventToApiUserEvent.ts +2 -2
  369. package/src/application/utils/elementObserver.ts +1 -1
  370. package/src/application/utils/imageFilter.ts +5 -2
  371. package/src/application/utils/index.ts +20 -21
  372. package/src/application/utils/messageFromFormSubmittedEvent.ts +1 -1
  373. package/src/application/utils/messageFromQueryEvent.ts +1 -1
  374. package/src/application/utils/messageFromResponse.ts +14 -10
  375. package/src/application/utils/messageFromSuggestionEvent.ts +6 -4
  376. package/src/application/utils/mouseEventTypes.ts +1 -1
  377. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  378. package/src/application/utils/overrides.ts +1 -49
  379. package/src/application/utils/supportedEventRequestToApiRequest.ts +3 -1
  380. package/src/application/utils/urlsParser.ts +1 -7
  381. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
  382. package/src/atoms/app/index.ts +15 -25
  383. package/src/atoms/app/variant.ts +1 -1
  384. package/src/atoms/chat/chatState.ts +4 -4
  385. package/src/atoms/chat/form.ts +1 -1
  386. package/src/atoms/chat/messageQueue.ts +25 -50
  387. package/src/atoms/chat/replies.ts +1 -2
  388. package/src/atoms/chat/suggestions.ts +34 -29
  389. package/src/atoms/envive/enviveConfig.ts +15 -20
  390. package/src/atoms/org/customerService.ts +4 -8
  391. package/src/atoms/org/graphqlConfig.ts +7 -15
  392. package/src/atoms/org/index.ts +4 -6
  393. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  394. package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
  395. package/src/atoms/search/index.ts +0 -1
  396. package/src/atoms/search/productFilters.ts +72 -52
  397. package/src/atoms/search/productRetrievalAPI.ts +72 -0
  398. package/src/atoms/search/productRetrievalAdapter.ts +28 -0
  399. package/src/atoms/search/productSorter.ts +2 -2
  400. package/src/atoms/search/searchAPI.ts +42 -60
  401. package/src/atoms/search/searchServiceAdapter.ts +1 -1
  402. package/src/contexts/amplitudeContext/amplitudeContext.tsx +24 -62
  403. package/src/contexts/atomProvider/atomProvider.tsx +6 -0
  404. package/src/contexts/atomProvider/index.ts +1 -0
  405. package/src/contexts/cdnContext/cdnContext.tsx +1 -6
  406. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +23 -34
  407. package/src/contexts/enviveCssContext/enviveCssContext.tsx +5 -12
  408. package/src/contexts/featureFlagContext/featureFlagContext.tsx +27 -48
  409. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +11 -3
  410. package/src/contexts/graphqlContext/graphqlContext.tsx +45 -97
  411. package/src/contexts/localStorageContext/localStorageContext.tsx +26 -60
  412. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +21 -25
  413. package/src/contexts/searchContext/searchContext.tsx +30 -49
  414. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +12 -33
  415. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +20 -37
  416. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +8 -21
  417. package/src/contexts/userIdentityContext/userIdentityContext.tsx +33 -77
  418. package/src/events/index.ts +8 -5
  419. package/src/events/registerAnalyticsListeners.ts +10 -13
  420. package/src/exceptions/index.ts +2 -0
  421. package/src/{types/exceptions → exceptions}/unsupportedProductExceptions.ts +2 -2
  422. package/src/global.d.ts +8 -0
  423. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +6 -11
  424. package/src/hooks/AppDetails/useAppDetails.ts +10 -24
  425. package/src/hooks/ChatToggle/useChatToggle.ts +7 -19
  426. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  427. package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +1 -1
  428. package/src/hooks/ElementObserver/useElementObserver.ts +14 -32
  429. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +125 -124
  430. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +5 -7
  431. package/src/hooks/ImageResolver/useImageResolver.ts +24 -31
  432. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +12 -19
  433. package/src/hooks/MessageFilter/useMessageFilter.ts +1 -7
  434. package/src/hooks/Search/useRecommendedProducts.ts +50 -0
  435. package/src/hooks/Search/useSearch.tsx +87 -217
  436. package/src/hooks/Search/useSearchInput.ts +237 -0
  437. package/src/hooks/SearchOperations/useSearchOperations.ts +8 -12
  438. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +8 -14
  439. package/src/hooks/SnapCalculator/useSnapCalculator.ts +1 -2
  440. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +8 -11
  441. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +11 -25
  442. package/src/hooks/utils.ts +19 -29
  443. package/src/interceptors/index.ts +1 -2
  444. package/src/interceptors/useMessageInterceptor.ts +10 -6
  445. package/src/{application/models/api/response.ts → types/ApiResponse.ts} +35 -29
  446. package/src/types/FilterAttribute.ts +35 -0
  447. package/src/{application/models/message.ts → types/Message.ts} +38 -34
  448. package/src/types/Suggestion.ts +6 -0
  449. package/src/types/index.ts +4 -5
  450. package/src/util/colorVar.ts +4 -0
  451. package/src/util/configVersion.ts +4 -0
  452. package/src/util/domInsertion.ts +17 -0
  453. package/dist/SystemSettingsContext-6ZHzQkCE.cjs +0 -20
  454. package/dist/SystemSettingsContext-BbTKNBvJ.js +0 -13
  455. package/dist/TrackComponentVisibleEvent-BJgNOypY.js +0 -52
  456. package/dist/TrackComponentVisibleEvent-BRC2FTp-.cjs +0 -59
  457. package/dist/amplitudeContext-B73xamNe.d.cts +0 -52
  458. package/dist/amplitudeContext-CZUzMXHl.d.ts +0 -52
  459. package/dist/api-BWSsazAG.js +0 -166
  460. package/dist/api-DeW6rHj3.cjs +0 -239
  461. package/dist/application/models/utilityTypes/index.cjs +0 -1
  462. package/dist/application/models/utilityTypes/index.d.cts +0 -2
  463. package/dist/application/models/utilityTypes/index.d.ts +0 -2
  464. package/dist/application/models/utilityTypes/index.js +0 -3
  465. package/dist/application/models/variantInfo/index.cjs +0 -3
  466. package/dist/application/models/variantInfo/index.d.cts +0 -2
  467. package/dist/application/models/variantInfo/index.d.ts +0 -2
  468. package/dist/application/models/variantInfo/index.js +0 -3
  469. package/dist/atoms/search/types.cjs +0 -5
  470. package/dist/atoms/search/types.d.cts +0 -2
  471. package/dist/atoms/search/types.d.ts +0 -2
  472. package/dist/atoms/search/types.js +0 -3
  473. package/dist/cdnContext-CEGBVVBU.js +0 -38
  474. package/dist/cdnContext-DOSIofl8.cjs +0 -53
  475. package/dist/chat-CqPuT9_V.cjs +0 -393
  476. package/dist/chat-DH70QqJp.js +0 -257
  477. package/dist/chatElementDisplayLocation-CpgV2wR1.d.ts +0 -25
  478. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +0 -25
  479. package/dist/chatSearch-C7Y-hb-6.js +0 -295
  480. package/dist/chatSearch-DLV4BUGA.cjs +0 -418
  481. package/dist/chatState-CcFtSqJT.cjs +0 -120
  482. package/dist/chatState-DKnNHmwe.js +0 -34
  483. package/dist/contexts/chatContext/index.cjs +0 -326
  484. package/dist/contexts/chatContext/index.d.cts +0 -15
  485. package/dist/contexts/chatContext/index.d.ts +0 -15
  486. package/dist/contexts/chatContext/index.js +0 -319
  487. package/dist/contexts/types.cjs +0 -7
  488. package/dist/contexts/types.d.cts +0 -4
  489. package/dist/contexts/types.d.ts +0 -4
  490. package/dist/contexts/types.js +0 -3
  491. package/dist/domObserver-Bqf3ooj8.cjs +0 -304
  492. package/dist/enviveConfig-DZBohDpc.js +0 -62
  493. package/dist/enviveConfig-Dv9-esGV.cjs +0 -130
  494. package/dist/enviveConfigContext-D2OELZDR.cjs +0 -60
  495. package/dist/enviveConfigContext-DrDjCems.js +0 -45
  496. package/dist/events-DYY4l817.cjs +0 -90
  497. package/dist/events-DyUix-Bn.js +0 -78
  498. package/dist/featureFlagServiceContext-Be_LUbFf.d.cts +0 -23
  499. package/dist/featureFlagServiceContext-CJyYItqu.cjs +0 -62
  500. package/dist/featureFlagServiceContext-FBM6DdMJ.js +0 -42
  501. package/dist/featureFlagServiceContext-V0J-69ty.d.ts +0 -23
  502. package/dist/featureGates-KEwAL8p_.js +0 -26
  503. package/dist/featureGates-qU_ulhpC.cjs +0 -32
  504. package/dist/frontendConfig-CeWhVevA.d.ts +0 -857
  505. package/dist/frontendConfig-OWWJmuPc.d.cts +0 -857
  506. package/dist/graphql-3PxNRFOc.js +0 -36
  507. package/dist/graphql-DGYfelZp.cjs +0 -53
  508. package/dist/graphqlConfig-GHZ1UgCw.cjs +0 -73
  509. package/dist/graphqlConfig-mDg6J44N.js +0 -24
  510. package/dist/graphqlContext-BQA6gnpH.d.ts +0 -28
  511. package/dist/graphqlContext-Ci5GRAdH.js +0 -96
  512. package/dist/graphqlContext-D67VEQg3.d.cts +0 -28
  513. package/dist/graphqlContext-W0cZNBf1.cjs +0 -111
  514. package/dist/hooks/FloatingButtonVisibility/index.cjs +0 -73
  515. package/dist/hooks/FloatingButtonVisibility/index.d.cts +0 -7
  516. package/dist/hooks/FloatingButtonVisibility/index.d.ts +0 -7
  517. package/dist/hooks/FloatingButtonVisibility/index.js +0 -69
  518. package/dist/hooks/LastInteraction/index.cjs +0 -34
  519. package/dist/hooks/LastInteraction/index.d.cts +0 -17
  520. package/dist/hooks/LastInteraction/index.d.ts +0 -17
  521. package/dist/hooks/LastInteraction/index.js +0 -32
  522. package/dist/index-BeGt0Aw3.d.cts +0 -186
  523. package/dist/index-Bmub8e38.d.cts +0 -98
  524. package/dist/index-CCa4tZuO.d.ts +0 -184
  525. package/dist/index-CESxqFso.d.cts +0 -228
  526. package/dist/index-CgAfoNpB.d.ts +0 -1
  527. package/dist/index-CiWEYzXl.d.cts +0 -184
  528. package/dist/index-Cyq5HiC0.d.cts +0 -44
  529. package/dist/index-D4c-port.d.ts +0 -676
  530. package/dist/index-DazMsEy_.d.ts +0 -44
  531. package/dist/index-Dfwnna1j.d.ts +0 -228
  532. package/dist/index-O33GSSRr.d.cts +0 -676
  533. package/dist/index-RcVcRKH7.d.cts +0 -1
  534. package/dist/index-bjMvkcBF.d.ts +0 -98
  535. package/dist/index-xhBQ1HBx.d.ts +0 -186
  536. package/dist/interceptors/types.cjs +0 -1
  537. package/dist/interceptors/types.d.cts +0 -13
  538. package/dist/interceptors/types.d.ts +0 -13
  539. package/dist/interceptors/types.js +0 -3
  540. package/dist/localStorageContext-BPZ82q-G.js +0 -95
  541. package/dist/localStorageContext-NRP-CdmF.cjs +0 -115
  542. package/dist/models-D-4db7XW.cjs +0 -1537
  543. package/dist/models-c86hYW-F.js +0 -1296
  544. package/dist/newOrgConfigAtom-sqve6LZU.js +0 -8
  545. package/dist/newOrgConfigContext-5Bw7RwT-.d.cts +0 -16
  546. package/dist/newOrgConfigContext-CS8IA5Eg.d.ts +0 -16
  547. package/dist/newOrgConfigContext-Cl4H9c3q.cjs +0 -68
  548. package/dist/newOrgConfigContext-DQiuf8nd.js +0 -53
  549. package/dist/nodeSelector-B3bPtEjX.d.cts +0 -31
  550. package/dist/nodeSelector-BiCDowlK.d.ts +0 -31
  551. package/dist/org-DlAesvQ_.cjs +0 -43
  552. package/dist/org-vi0njpBh.js +0 -12
  553. package/dist/search-1NQLQD9d.d.ts +0 -20
  554. package/dist/search-CXXslzAO.cjs +0 -205
  555. package/dist/search-DBSMrXWv.js +0 -126
  556. package/dist/search-filter-types-BxaNSLs_.d.cts +0 -102
  557. package/dist/search-filter-types-DPgeG8FS.d.ts +0 -102
  558. package/dist/search-y-ioX5Mz.d.cts +0 -20
  559. package/dist/searchContext-DXW6xvXv.cjs +0 -145
  560. package/dist/searchContext-mvwUJncR.js +0 -129
  561. package/dist/searchServiceAdapter-DEv1tTn0.cjs +0 -34
  562. package/dist/searchServiceAdapter-WyCU55NV.js +0 -16
  563. package/dist/sessionStorageContext-1Ks_d4Z0.cjs +0 -66
  564. package/dist/sessionStorageContext-CDcl7NVl.js +0 -52
  565. package/dist/shopifyUrlContext-CejRZfj7.js +0 -61
  566. package/dist/shopifyUrlContext-lnHoAOEf.cjs +0 -75
  567. package/dist/spiffyWidgets-B1uc84_g.d.ts +0 -20
  568. package/dist/spiffyWidgets-BuS00VaQ.d.cts +0 -20
  569. package/dist/systemSettingsContext-B0Kyq7nA.cjs +0 -60
  570. package/dist/systemSettingsContext-CVUxEcsU.js +0 -39
  571. package/dist/test-types-ThQiO_cc.d.cts +0 -40
  572. package/dist/test-types-y6kp-tiw.d.ts +0 -40
  573. package/dist/types-BCz-hOvv.d.ts +0 -51
  574. package/dist/types-CKMMb_gX.d.cts +0 -51
  575. package/dist/types-CKPddlfS.cjs +0 -0
  576. package/dist/types-CS0Hrzja.js +0 -30
  577. package/dist/types-CtUb63bt.js +0 -76
  578. package/dist/types-CxObxLKs.cjs +0 -48
  579. package/dist/types-Db5Eux6K.d.ts +0 -10
  580. package/dist/types-Dc6hx6ei.js +0 -1
  581. package/dist/types-UUvB6h05.cjs +0 -106
  582. package/dist/types-zQGBI-Yo.d.cts +0 -10
  583. package/dist/types.cjs +0 -0
  584. package/dist/types.d.cts +0 -34
  585. package/dist/types.d.ts +0 -34
  586. package/dist/types.js +0 -1
  587. package/dist/urlsParser-COzMdJaX.cjs +0 -78
  588. package/dist/urlsParser-DxjoLj98.js +0 -42
  589. package/dist/useAmplitudeOperations-DYs1h8a_.js +0 -34
  590. package/dist/useAmplitudeOperations-jqa7K9dH.cjs +0 -41
  591. package/dist/useAppDetails-BRUqZEyt.js +0 -30
  592. package/dist/useAppDetails-C71k0brz.cjs +0 -38
  593. package/dist/useDebounce-DZ8Cgiwc.cjs +0 -26
  594. package/dist/useDebounce-v9cezyjn.js +0 -19
  595. package/dist/useGraphQLConfig-5VwS9Q_Z.js +0 -63
  596. package/dist/useGraphQLConfig-Cj26_J9I.cjs +0 -76
  597. package/dist/useMessageInterceptor-BjGP_uXm.js +0 -25
  598. package/dist/useMessageInterceptor-arAqUq1Q.cjs +0 -33
  599. package/dist/userIdentityContext-BVODeTlN.d.ts +0 -20
  600. package/dist/userIdentityContext-D2oFVFzo.d.cts +0 -20
  601. package/dist/utilityTypes-B2KuRn37.js +0 -1
  602. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  603. package/dist/utils-BxPPugeP.d.cts +0 -22
  604. package/dist/utils-CLGXsOwE.cjs +0 -1591
  605. package/dist/utils-Covisryh.d.ts +0 -22
  606. package/dist/utils-D_kATUj6.js +0 -92
  607. package/dist/utils-hYTjy7hJ.cjs +0 -130
  608. package/dist/utils-jYtD3hmA.js +0 -1385
  609. package/dist/variantInfo-BfKlkaWU.js +0 -11
  610. package/dist/variantInfo-DpLn4nHz.cjs +0 -17
  611. package/src/application/models/api/context.ts +0 -4
  612. package/src/application/models/api/generationParams.ts +0 -4
  613. package/src/application/models/api/nextMessageRequest.ts +0 -11
  614. package/src/application/models/api/orgAnalyticsConfig.ts +0 -19
  615. package/src/application/models/api/orgConfigResults.ts +0 -44
  616. package/src/application/models/api/organizationConfig.ts +0 -12
  617. package/src/application/models/api/responseGenerics.ts +0 -67
  618. package/src/application/models/api/search.ts +0 -26
  619. package/src/application/models/api/suggestion.ts +0 -4
  620. package/src/application/models/api/supportedEventRequest.ts +0 -8
  621. package/src/application/models/api/userEvent.ts +0 -101
  622. package/src/application/models/cachedValue.ts +0 -8
  623. package/src/application/models/chatElementDisplayLocation.ts +0 -22
  624. package/src/application/models/clientDetails.ts +0 -18
  625. package/src/application/models/colorsConfig.ts +0 -28
  626. package/src/application/models/conversationalSearchIds.ts +0 -5
  627. package/src/application/models/dataLayer.ts +0 -45
  628. package/src/application/models/events.ts +0 -5
  629. package/src/application/models/featureGates.ts +0 -21
  630. package/src/application/models/frontendConfig.ts +0 -14
  631. package/src/application/models/googleAnalyticsEvents.ts +0 -8
  632. package/src/application/models/localStorageEventListener.ts +0 -4
  633. package/src/application/models/mobilePLPChatPlacementParameter.ts +0 -3
  634. package/src/application/models/orgsEnum.ts +0 -36
  635. package/src/application/models/productExperiment.ts +0 -5
  636. package/src/application/models/spanxTakeAQuizCtaParameter.ts +0 -4
  637. package/src/application/models/spiffyWidgets.ts +0 -16
  638. package/src/application/models/utilityTypes/camelCase.ts +0 -87
  639. package/src/application/models/utilityTypes/camelCasedPropertiesDeep.ts +0 -80
  640. package/src/application/models/utilityTypes/delimiterCase.ts +0 -121
  641. package/src/application/models/utilityTypes/delimiterCasedPropertiesDeep.ts +0 -98
  642. package/src/application/models/utilityTypes/index.ts +0 -1
  643. package/src/application/models/utilityTypes/internal.ts +0 -93
  644. package/src/application/models/utilityTypes/primitive.ts +0 -8
  645. package/src/application/models/utilityTypes/snakeCasedPropertiesDeep.ts +0 -49
  646. package/src/application/models/utilityTypes/splitWords.ts +0 -76
  647. package/src/application/models/utilityTypes/trim.ts +0 -28
  648. package/src/application/models/utilityTypes/unknownArray.ts +0 -25
  649. package/src/application/models/variantInfo/index.ts +0 -1
  650. package/src/application/models/variantInfo/pageVisitInfo.ts +0 -6
  651. package/src/application/models/variantInfo/plpInfo.ts +0 -3
  652. package/src/application/models/variantInfo/productInfo.ts +0 -5
  653. package/src/application/models/variantInfo/variantInfo.ts +0 -29
  654. package/src/application/utils/__tests__/divideArrays.test.ts +0 -14
  655. package/src/application/utils/cdnUtils.ts +0 -11
  656. package/src/atoms/search/chatSearch.ts +0 -317
  657. package/src/atoms/search/types.ts +0 -55
  658. package/src/config/divIds.ts +0 -27
  659. package/src/config/socialProofClasses.ts +0 -17
  660. package/src/contexts/chatContext/chatContext.tsx +0 -509
  661. package/src/contexts/chatContext/index.ts +0 -1
  662. package/src/contexts/types.ts +0 -1067
  663. package/src/events/event-types.ts +0 -11
  664. package/src/hooks/FloatingButtonVisibility/index.ts +0 -1
  665. package/src/hooks/FloatingButtonVisibility/useFloatingButtonVisibility.ts +0 -99
  666. package/src/hooks/LastInteraction/index.ts +0 -1
  667. package/src/hooks/LastInteraction/useLastInteraction.ts +0 -42
  668. package/src/interceptors/types.ts +0 -6
  669. package/src/merchants/domInsertion.ts +0 -30
  670. package/src/merchants/gridInsertion.ts +0 -19
  671. package/src/types/config-versions.ts +0 -6
  672. package/src/types/customerService.ts +0 -31
  673. package/src/types/custservice-types.ts +0 -28
  674. package/src/types/floatingbuttonoverrides-types.ts +0 -10
  675. package/src/types/search-filter-types.ts +0 -111
  676. package/src/types/suggestionBarV2-types.ts +0 -4
  677. package/src/types/test-types.ts +0 -3
  678. package/src/types.ts +0 -27
  679. /package/dist/{AmplitudeOperations-DxQnurSG.cjs → enviveConfigContext-CZPfJkcS.cjs} +0 -0
  680. /package/dist/{AmplitudeOperations-ni7wVevx.js → enviveConfigContext-Hc1JBLu-.js} +0 -0
  681. /package/dist/{globalSearch-BpGfkuXz.js → featureFlagServiceContext-CISyb90N.js} +0 -0
  682. /package/dist/{globalSearch-B9DRBxSM.cjs → featureFlagServiceContext-Csgo-MUv.cjs} +0 -0
  683. /package/src/{types/exceptions → exceptions}/sessionExceptions.ts +0 -0
@@ -7,19 +7,22 @@ import React, {
7
7
  } from "react";
8
8
  import { useAtomValue } from "jotai";
9
9
  import { createInstance } from "@amplitude/analytics-browser";
10
- import { FeatureGates } from "src/application/models/featureGates";
11
- import { OrgShortName } from "src/application/models";
12
- import { EventsDispatcher, SpiffyEvent } from "src/events";
10
+ import {
11
+ FeatureGates,
12
+ OrgShortName,
13
+ LocalStorageKeys,
14
+ SpiffyEvent,
15
+ AmplitudeContextType,
16
+ SpiffyMetricsEventName,
17
+ TrackEventParams,
18
+ } from "@envive-ai/types";
13
19
  import {
14
20
  amplitudeApiKeyAtom,
15
21
  contextSourceAtom,
16
22
  dataResidencyAtom,
17
23
  identifyingPrefixAtom,
18
24
  } from "src/atoms/envive/enviveConfig";
19
- import {
20
- LocalStorageKeys,
21
- useLocalStorage,
22
- } from "src/contexts/localStorageContext";
25
+ import { useLocalStorage } from "src/contexts/localStorageContext";
23
26
  import { orgAnalyticsGoogleAnalyticsConfigAtom } from "src/atoms/org/orgAnalyticsConfig";
24
27
  import { userIdAtom } from "src/atoms/app";
25
28
  import { envAtom } from "src/atoms/envive/enviveConfig";
@@ -30,60 +33,19 @@ import type {
30
33
  Event,
31
34
  ServerZoneType,
32
35
  } from "@amplitude/analytics-types";
33
- import { useEnviveConfig } from "src/contexts/enviveConfigContext/enviveConfigContext";
34
- import {
35
- useFeatureFlagService,
36
- } from "src/contexts/featureFlagServiceContext/featureFlagServiceContext";
37
- import { useUserIdentity } from "src/contexts/userIdentityContext/userIdentityContext";
38
-
39
- export enum SpiffyMetricsEventName {
40
- BundleLoaded = "Bundle Loaded",
41
- ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
42
- ChatFloatingButtonVisible = "Chat Floating Button Visible",
43
- ChatComponentVisible = "Chat Component Visible",
44
- ChatComponentExpanded = "Chat Component Expanded",
45
- ChatComponentCollapsed = "Chat Component Collapsed",
46
- ChatUserMessageInput = "Chat User Message Input",
47
- ChatSuggestionClicked = "Chat Suggestion Clicked",
48
- ChatAssistantResponse = "Chat Assistant Response",
49
- ProductCardClicked = "Product Card Clicked",
50
- ProductReviewCardClicked = "Product Review Card Clicked",
51
- AddToCartClicked = "Add to Cart Clicked",
52
- PromptCardClicked = "Prompt Card Clicked",
53
- SupportedEvent = "Supported Event",
54
- SearchBackToResponseClicked = "Search Back to Response Clicked",
55
- PerformanceMetrics = "Performance Metrics",
56
- SearchBarClicked = "Search Bar Clicked",
57
- OrderLookupStarted = "Order Lookup Started",
58
- OrderLookupFormSubmitted = "Order Lookup Form Submitted",
59
- SearchComponentVisible = "Search Component Visible",
60
- SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked", // This is the scrolling list of suggestion buttons in global search
61
- SearchInputStarted = "Search Input Started",
62
- SearchQuerySubmitted = "Search Query Submitted",
63
- // SearchAutocompleteViewed = 'Search Autocomplete Viewed', // TODO: add this when autocomplete is added
64
- // SearchAutocompleteClicked = 'Search Autocomplete Clicked', // TODO: add this when autocomplete is added
65
- SearchResultsViewed = "Search Results Viewed",
66
- SearchTimeToFirstClick = "Search Time to First Click",
67
- SearchZeroResultsRate = "Search Zero Results Rate",
68
- SearchFilterClicked = "Search Filter Clicked",
69
- SearchSortClicked = "Search Sort Clicked",
70
- }
36
+ import { EnviveConfigContext, useEnviveConfig } from "src/contexts/enviveConfigContext/enviveConfigContext";
37
+ import { useFeatureFlagService } from "src/contexts/featureFlagServiceContext/featureFlagServiceContext";
38
+ import { EventsDispatcher } from "src/events";
71
39
 
72
- interface TrackEventParams {
73
- eventName: SpiffyMetricsEventName;
74
- eventProps?: Record<string, unknown>;
75
- eventGroups?: Record<string, unknown>;
76
- alsoSendToGoogleAnalytics?: boolean;
77
- }
40
+ const AmplitudeContext = createContext<AmplitudeContextType | null>(null);
78
41
 
79
- interface AmplitudeContextType {
80
- trackEvent: (params: TrackEventParams) => Promise<void>;
81
- isReady: boolean;
82
- setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
42
+ if (typeof window !== 'undefined') {
43
+ Logger.logInfo('AmplitudeContext: window is defined');
44
+ (window as any).AmplitudeReact = React;
45
+ } else {
46
+ Logger.logInfo('AmplitudeContext: window is not defined');
83
47
  }
84
48
 
85
- const AmplitudeContext = createContext<AmplitudeContextType | null>(null);
86
-
87
49
  export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({
88
50
  children,
89
51
  }) => {
@@ -95,15 +57,15 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({
95
57
  const contextSource = useAtomValue(contextSourceAtom);
96
58
  const identifyingPrefix = useAtomValue(identifyingPrefixAtom);
97
59
  const { getItem } = useLocalStorage();
98
- const {
99
- publicKey,
60
+ console.log('AmplitudeProvider: getting envive config');
61
+
62
+ const {publicKey,
100
63
  featureOverrides,
101
64
  variantUrlOverride,
102
65
  variantInfoOverride,
103
66
  show,
104
67
  orgShortName,
105
- featureGates,
106
- } = useEnviveConfig();
68
+ featureGates } = useContext(EnviveConfigContext) || {};
107
69
 
108
70
  const { featureFlagService } = useFeatureFlagService();
109
71
 
@@ -353,7 +315,7 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({
353
315
  });
354
316
  const encoder = new TextEncoder();
355
317
  const data = encoder.encode(eventData);
356
- // calculate a hash of the event properties to use as the insert_id so that duplicate events
318
+ // calculate a hash of the event properties to use as the insert_id so that duplicate events
357
319
  // are automatically dropped by Amplitude
358
320
  const hashBuffer = await crypto.subtle.digest("SHA-256", data);
359
321
  const hashArray = Array.from(new Uint8Array(hashBuffer));
@@ -0,0 +1,6 @@
1
+ import { Provider, getDefaultStore } from "jotai";
2
+
3
+ export const AtomProvider = ({ children }: { children: React.ReactNode }) => {
4
+ const store = getDefaultStore();
5
+ return <Provider store={store}>{children}</Provider>;
6
+ }
@@ -0,0 +1 @@
1
+ export * from "./atomProvider";
@@ -1,12 +1,7 @@
1
1
  import React, { createContext, useContext, useCallback, useMemo } from "react";
2
2
  import { useAtomValue } from "jotai";
3
3
  import { cdnUrlAtom } from "../../atoms/envive/enviveConfig";
4
-
5
- interface CdnContextType {
6
- cdnUrl: string;
7
- getCdnBasePath: () => string;
8
- getAssetURL: (assetName: string, orgShortName: string) => string;
9
- }
4
+ import { CdnContextType } from "@envive-ai/types";
10
5
 
11
6
  const CdnContext = createContext<CdnContextType | null>(null);
12
7
 
@@ -1,31 +1,10 @@
1
- import React, { createContext, useContext, ReactNode, useEffect } from "react";
1
+ import React, { createContext, useContext, useEffect, useMemo } from "react";
2
2
  import { useSetAtom, useAtomValue } from "jotai";
3
- import { enviveConfigAtom } from "src/atoms/envive/enviveConfig";
4
- import Logger from "src/application/logging/logger";
5
- import { OrgConfigFeatureGate } from "src/application/models/api/orgConfigResults";
6
- import { EnviveConfig } from "../types";
3
+ import { enviveConfigAtom } from "../../atoms/envive/enviveConfig";
4
+ import Logger from "../../application/logging/logger";
5
+ import { EnviveConfig, EnviveConfigProviderProps } from "@envive-ai/types";
7
6
 
8
- const EnviveConfigContext = createContext<EnviveConfig | undefined>(undefined);
9
-
10
- interface EnviveConfigProviderProps {
11
- children: ReactNode;
12
- amplitudeApiKey?: string;
13
- dataResidency?: string;
14
- env?: string;
15
- baseUrl?: string;
16
- reactAppName?: string;
17
- cdnUrl?: string;
18
- contextSource?: string;
19
- orgLevelApiKey?: string;
20
- orgShortName?: string;
21
- identifyingPrefix: string;
22
- featureOverrides?: Record<string, boolean>;
23
- variantUrlOverride?: string;
24
- variantInfoOverride?: any;
25
- show?: boolean;
26
- publicKey?: string;
27
- featureGates?: OrgConfigFeatureGate[]; // New prop for feature gates
28
- }
7
+ export const EnviveConfigContext = createContext<EnviveConfig | undefined>(undefined);
29
8
 
30
9
  export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
31
10
  children,
@@ -46,7 +25,6 @@ export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
46
25
  publicKey,
47
26
  featureGates, // Destructure new prop
48
27
  }) => {
49
- const setEnviveConfig = useSetAtom(enviveConfigAtom);
50
28
 
51
29
  const config: EnviveConfig = {
52
30
  amplitudeApiKey,
@@ -67,11 +45,6 @@ export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
67
45
  featureGates, // Add to config
68
46
  };
69
47
 
70
- useEffect(() => {
71
- setEnviveConfig(config);
72
- Logger.logDebug("EnviveConfigProvider: Setting EnviveConfig", config);
73
- }, [setEnviveConfig, config]);
74
-
75
48
  return (
76
49
  <EnviveConfigContext.Provider value={config}>
77
50
  {config ? children : null}
@@ -80,7 +53,23 @@ export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
80
53
  };
81
54
 
82
55
  export const useEnviveConfig = (): EnviveConfig => {
83
- const config = useAtomValue(enviveConfigAtom);
56
+ const context = useContext(EnviveConfigContext);
57
+ const setEnviveConfig = useSetAtom(enviveConfigAtom);
58
+
59
+ console.log('EnviveConfigProvider: setting up useEffect to setEnviveConfig', context);
60
+ useEffect(() => {
61
+ console.log('EnviveConfigProvider: useEffect to setEnviveConfig', context, setEnviveConfig);
62
+ if (context) {
63
+ setEnviveConfig(context);
64
+ }
65
+ Logger.logDebug("EnviveConfigProvider: Setting EnviveConfig", context);
66
+ }, [setEnviveConfig, context]);
67
+
68
+ if (!context) {
69
+ throw new Error(
70
+ "useEnviveConfig must be used within an EnviveConfigProvider"
71
+ );
72
+ }
84
73
 
85
- return config ? config : {};
74
+ return context;
86
75
  };
@@ -1,13 +1,8 @@
1
- import React, { ReactNode } from "react";
2
- import { useNewOrgConfig } from "src/hooks/NewOrgConfig";
1
+ import React from 'react';
2
+ import { useNewOrgConfig } from '../../hooks/NewOrgConfig';
3
+ import { EnviveCssProviderProps } from '@envive-ai/types';
3
4
 
4
- interface EnviveCssProviderProps {
5
- children: ReactNode;
6
- }
7
-
8
- export const EnviveCssProvider: React.FC<EnviveCssProviderProps> = ({
9
- children,
10
- }) => {
5
+ export const EnviveCssProvider: React.FC<EnviveCssProviderProps> = ({ children }) => {
11
6
  const { colorsConfig, frontendConfig, loading } = useNewOrgConfig();
12
7
  let merchantThemeCss = `* {}`;
13
8
  if (colorsConfig && !loading) {
@@ -39,9 +34,7 @@ export const EnviveCssProvider: React.FC<EnviveCssProviderProps> = ({
39
34
  {frontendConfig ? (
40
35
  <style id="merchant-css-overrides">{`${frontendConfig.merchantOverrideCss}`}</style>
41
36
  ) : null}
42
- {colorsConfig ? (
43
- <style id="merchant-css-colors">{`${merchantThemeCss}`}</style>
44
- ) : null}
37
+ {colorsConfig ? <style id="merchant-css-colors">{`${merchantThemeCss}`}</style> : null}
45
38
 
46
39
  {children}
47
40
  </>
@@ -1,23 +1,13 @@
1
- import React, { createContext, useContext, useCallback, useMemo } from "react";
2
- import Logger from "src/application/logging/logger";
3
- import { StatsigFeatureGate } from "@spiffy-ai/commerce-api-client";
4
- import { FeatureGates } from "src/application/models/featureGates";
5
- import { useSessionStorage } from "src/contexts/sessionStorageContext";
6
- import { OrgConfigFeatureGate } from "src/application/models/api/orgConfigResults";
7
- import { useEnviveConfig } from "src/contexts/enviveConfigContext/enviveConfigContext";
8
-
9
- const FEATURE_FLAGS_STORAGE_KEY = "spiffy-feature-flags";
10
-
11
- export interface FeatureFlagContextType {
12
- isFeatureGateEnabled: (featureGate: FeatureGates) => boolean;
13
- isClientSessionEnabled: () => boolean;
14
- getFeatureFlags: () => Record<string, boolean>;
15
- persistFeatureGateOverrides: () => void;
16
- }
17
-
18
- const FeatureFlagContext = createContext<FeatureFlagContextType | undefined>(
19
- undefined
20
- );
1
+ import React, { createContext, useContext, useCallback, useMemo } from 'react';
2
+ import Logger from '../../application/logging/logger';
3
+ import { StatsigFeatureGate } from '@spiffy-ai/commerce-api-client';
4
+ import { useSessionStorage } from '../../contexts/sessionStorageContext';
5
+ import { useEnviveConfig } from '../../contexts/enviveConfigContext/enviveConfigContext';
6
+ import { FeatureFlagContextType, FeatureGates, OrgConfigFeatureGate } from '@envive-ai/types';
7
+
8
+ const FEATURE_FLAGS_STORAGE_KEY = 'spiffy-feature-flags';
9
+
10
+ const FeatureFlagContext = createContext<FeatureFlagContextType | undefined>(undefined);
21
11
 
22
12
  export const FeatureFlagProvider: React.FC<{
23
13
  featureGates: OrgConfigFeatureGate[];
@@ -34,12 +24,12 @@ export const FeatureFlagProvider: React.FC<{
34
24
  const value = paramsObj[featureGate];
35
25
 
36
26
  if (value != null) {
37
- return value === "true";
27
+ return value === 'true';
38
28
  }
39
29
 
40
30
  return undefined;
41
31
  },
42
- []
32
+ [],
43
33
  );
44
34
 
45
35
  const getWindowFeatureGateOverrides = useCallback(
@@ -51,7 +41,7 @@ export const FeatureFlagProvider: React.FC<{
51
41
 
52
42
  return undefined;
53
43
  },
54
- [featureOverrides]
44
+ [featureOverrides],
55
45
  );
56
46
 
57
47
  const getStoredFeatureGateOverrides = useCallback(
@@ -64,15 +54,15 @@ export const FeatureFlagProvider: React.FC<{
64
54
  return featureFlagsObj[featureGate];
65
55
  } catch (err) {
66
56
  Logger.logError(
67
- "[spiffy-ai] getStoredFeatureGateOverrides: error parsing feature flags",
68
- err
57
+ '[spiffy-ai] getStoredFeatureGateOverrides: error parsing feature flags',
58
+ err,
69
59
  );
70
60
  }
71
61
  }
72
62
 
73
63
  return undefined;
74
64
  },
75
- []
65
+ [],
76
66
  );
77
67
 
78
68
  const getFeatureFlagOverride = useCallback(
@@ -80,7 +70,7 @@ export const FeatureFlagProvider: React.FC<{
80
70
  const queryOverride = getQueryParamFeatureGateOverrides(featureGate);
81
71
  if (queryOverride != null) {
82
72
  Logger.logDebug(
83
- `[spiffy-ai] isFeatureGateEnabled featureGate:${featureGate} overridden by URL param. New value: ${queryOverride}`
73
+ `[spiffy-ai] isFeatureGateEnabled featureGate:${featureGate} overridden by URL param. New value: ${queryOverride}`,
84
74
  );
85
75
  return queryOverride;
86
76
  }
@@ -88,7 +78,7 @@ export const FeatureFlagProvider: React.FC<{
88
78
  const windowOverride = getWindowFeatureGateOverrides(featureGate);
89
79
  if (windowOverride != null) {
90
80
  Logger.logDebug(
91
- `[spiffy-ai] isFeatureGateEnabled featureGate:${featureGate} overridden by window param. New value: ${windowOverride}`
81
+ `[spiffy-ai] isFeatureGateEnabled featureGate:${featureGate} overridden by window param. New value: ${windowOverride}`,
92
82
  );
93
83
  return windowOverride;
94
84
  }
@@ -96,7 +86,7 @@ export const FeatureFlagProvider: React.FC<{
96
86
  const storedOverride = getStoredFeatureGateOverrides(featureGate);
97
87
  if (storedOverride != null) {
98
88
  Logger.logDebug(
99
- `[spiffy-ai] isFeatureGateEnabled featureGate:${featureGate} overridden by stored value. New value: ${storedOverride}`
89
+ `[spiffy-ai] isFeatureGateEnabled featureGate:${featureGate} overridden by stored value. New value: ${storedOverride}`,
100
90
  );
101
91
  return storedOverride;
102
92
  }
@@ -107,7 +97,7 @@ export const FeatureFlagProvider: React.FC<{
107
97
  getQueryParamFeatureGateOverrides,
108
98
  getWindowFeatureGateOverrides,
109
99
  getStoredFeatureGateOverrides,
110
- ]
100
+ ],
111
101
  );
112
102
 
113
103
  const isFeatureGateEnabled = useCallback(
@@ -121,7 +111,7 @@ export const FeatureFlagProvider: React.FC<{
121
111
 
122
112
  if (gateValue == null || gateValue.value == null) {
123
113
  Logger.logDebug(
124
- `[spiffy-ai] isFeatureGateEnabled featureGate:${featureGate} value is undefined - returning false`
114
+ `[spiffy-ai] isFeatureGateEnabled featureGate:${featureGate} value is undefined - returning false`,
125
115
  );
126
116
 
127
117
  return false;
@@ -129,7 +119,7 @@ export const FeatureFlagProvider: React.FC<{
129
119
 
130
120
  return gateValue.value;
131
121
  },
132
- [featureGates, getFeatureFlagOverride]
122
+ [featureGates, getFeatureFlagOverride],
133
123
  );
134
124
 
135
125
  const isClientSessionEnabled = useCallback((): boolean => {
@@ -137,9 +127,7 @@ export const FeatureFlagProvider: React.FC<{
137
127
  const isEnabled =
138
128
  gates == null ||
139
129
  gates?.filter(
140
- (gate) =>
141
- gate.name === FeatureGates.IsClientSessionEnabled &&
142
- gate.value === true
130
+ (gate) => gate.name === FeatureGates.IsClientSessionEnabled && gate.value === true,
143
131
  ).length > 0;
144
132
 
145
133
  return isEnabled;
@@ -150,7 +138,7 @@ export const FeatureFlagProvider: React.FC<{
150
138
  Object.values(FeatureGates).map((featureGate: FeatureGates) => [
151
139
  featureGate,
152
140
  isFeatureGateEnabled(featureGate),
153
- ])
141
+ ]),
154
142
  );
155
143
  }, [isFeatureGateEnabled]);
156
144
 
@@ -169,25 +157,16 @@ export const FeatureFlagProvider: React.FC<{
169
157
  getFeatureFlags,
170
158
  persistFeatureGateOverrides,
171
159
  }),
172
- [
173
- isFeatureGateEnabled,
174
- isClientSessionEnabled,
175
- getFeatureFlags,
176
- persistFeatureGateOverrides,
177
- ]
160
+ [isFeatureGateEnabled, isClientSessionEnabled, getFeatureFlags, persistFeatureGateOverrides],
178
161
  );
179
162
 
180
- return (
181
- <FeatureFlagContext.Provider value={value}>
182
- {children}
183
- </FeatureFlagContext.Provider>
184
- );
163
+ return <FeatureFlagContext.Provider value={value}>{children}</FeatureFlagContext.Provider>;
185
164
  };
186
165
 
187
166
  export const useFeatureFlag = () => {
188
167
  const context = useContext(FeatureFlagContext);
189
168
  if (context === undefined) {
190
- throw new Error("useFeatureFlag must be used within a FeatureFlagProvider");
169
+ throw new Error('useFeatureFlag must be used within a FeatureFlagProvider');
191
170
  }
192
171
  return context;
193
172
  };
@@ -1,6 +1,5 @@
1
1
  import React, { createContext, useContext, useMemo, ReactNode } from "react";
2
- import { OrgConfigFeatureGate } from "src/application/models/api/orgConfigResults";
3
- import { FeatureGates } from "src/application/models/featureGates";
2
+ import { OrgConfigFeatureGate, FeatureGates } from "@envive-ai/types";
4
3
  import Logger from "src/application/logging/logger";
5
4
 
6
5
  // This is the class that was previously implicitly used or defined elsewhere
@@ -49,6 +48,7 @@ export class FeatureFlagService {
49
48
  }
50
49
 
51
50
  export interface FeatureFlagContextType {
51
+ isFeatureGateEnabled(IsRecommendedProductsEnabled: FeatureGates): unknown;
52
52
  featureFlagService: FeatureFlagService | undefined;
53
53
  }
54
54
 
@@ -69,8 +69,16 @@ export const FeatureFlagServiceProvider: React.FC<
69
69
  [featureGates]
70
70
  );
71
71
 
72
+ const contextValue = useMemo(
73
+ () => ({
74
+ featureFlagService,
75
+ isFeatureGateEnabled: featureFlagService.isFeatureGateEnabled,
76
+ }),
77
+ [featureFlagService]
78
+ );
79
+
72
80
  return (
73
- <FeatureFlagServiceContext.Provider value={{ featureFlagService }}>
81
+ <FeatureFlagServiceContext.Provider value={contextValue}>
74
82
  {children}
75
83
  </FeatureFlagServiceContext.Provider>
76
84
  );
@@ -1,61 +1,20 @@
1
- import React, {
2
- createContext,
3
- useContext,
4
- useCallback,
5
- useMemo,
6
- ReactNode,
7
- } from "react";
8
- import { useAtomValue } from "jotai";
9
- import { baseUrlAtom, orgLevelApiKeyAtom } from "src/atoms/envive/enviveConfig";
10
- import { getMerchantOrgIdQuery } from "src/application/models/graphql/queries/getMerchantOrgIdQuery";
11
- import { validateGraphQLOrgId } from "src/application/models/validators/validateGraphQLOrgId";
1
+ import { createContext, useContext, useCallback, useMemo } from 'react';
2
+ import { useAtomValue } from 'jotai';
3
+ import { baseUrlAtom, orgLevelApiKeyAtom } from '../../atoms/envive/enviveConfig';
4
+ import { getMerchantOrgIdQuery } from '../../application/models/graphql/queries/getMerchantOrgIdQuery';
5
+ import { validateGraphQLOrgId } from '../../application/models/validators/validateGraphQLOrgId';
6
+ import Logger from '../../application/logging/logger';
7
+ import { transformSnakeToCamel } from '../../application/models';
8
+ import { configVersion } from '../../util/configVersion';
12
9
  import {
13
- getMerchantColorsQuery,
14
- GetMerchantColorsQueryData,
15
- getMerchantFrontendConfigQuery,
16
- GetMerchantFrontendConfigQueryData,
17
- } from "src/application/models/graphql";
18
- import { validateGraphQLColorsConfig } from "src/application/models/validators/validateGraphQLColorsConfig";
19
- import { validateGraphQLFrontendConfig } from "src/application/models/validators/validateGraphQLFrontendConfig";
20
- import { ColorMapping } from "src/application/models/colorsConfig";
21
- import { FrontendConfig } from "src/application/models/frontendConfig";
22
- import Logger from "src/application/logging/logger";
23
- import { configVersion } from "src/types/config-versions";
24
- import {
25
- CamelCasedPropertiesDeep,
26
- transformSnakeToCamel,
27
- } from "src/application/models";
28
-
29
- interface BaseMeConfigQueryResponse {
30
- me: {
31
- org?: {
32
- id: string;
33
- };
34
- getProductsConfigByVersion?: {
35
- frontend?: {
36
- values: CamelCasedPropertiesDeep<GetMerchantFrontendConfigQueryData>;
37
- };
38
- colors?: { values: CamelCasedPropertiesDeep<GetMerchantColorsQueryData> };
39
- };
40
- };
41
- }
42
- export type ColorsConfigResponse = CamelCasedPropertiesDeep<ColorMapping>;
43
- export type FrontendConfigResponse = CamelCasedPropertiesDeep<FrontendConfig>;
44
-
45
- export type GraphQlConfigValues = {
46
- colorsConfig?: ColorsConfigResponse;
47
- frontendConfig?: CamelCasedPropertiesDeep<FrontendConfig>;
48
- };
49
-
50
- interface GraphQLContextValue {
51
- executeQuery: <T>(
52
- query: string,
53
- variables?: Record<string, unknown>
54
- ) => Promise<T>;
55
- getOrgId: () => Promise<string | undefined>;
56
- getColorsAndFrontendConfig: () => Promise<GraphQlConfigValues>;
57
- isReady: boolean;
58
- }
10
+ GraphQLContextValue,
11
+ GraphQLProviderProps,
12
+ GraphQlConfigValues,
13
+ ColorsConfigResponse,
14
+ FrontendConfigResponse,
15
+ EnviveConfig,
16
+ } from '@envive-ai/types';
17
+ import { EnviveConfigContext, useEnviveConfig } from '../enviveConfigContext';
59
18
 
60
19
  const GraphQLContext = createContext<GraphQLContextValue | null>(null);
61
20
 
@@ -70,26 +29,23 @@ const colorsAndFrontendConfigQuery = () => `
70
29
  }
71
30
  `;
72
31
 
73
- type GraphQLProviderProps = {
74
- children: ReactNode;
75
- };
76
-
77
32
  export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
78
- const apiKey = useAtomValue(orgLevelApiKeyAtom);
79
- const baseUrl = useAtomValue(baseUrlAtom);
33
+ const { orgLevelApiKey: apiKey, baseUrl } = useContext(EnviveConfigContext) as EnviveConfig;
34
+ // const apiKey = useAtomValue(orgLevelApiKeyAtom);
35
+ // const baseUrl = useAtomValue(baseUrlAtom);
80
36
 
81
37
  const isReady = Boolean(apiKey && baseUrl);
82
38
 
83
39
  const executeQuery = useCallback(
84
40
  async (query: string, variables?: Record<string, unknown>) => {
85
41
  if (!isReady) {
86
- throw new Error("GraphQL client not ready - missing apiKey or baseUrl");
42
+ throw new Error('GraphQL client not ready - missing apiKey or baseUrl');
87
43
  }
88
44
 
89
45
  const response = await fetch(`${baseUrl}/v1/graphql`, {
90
- method: "POST",
46
+ method: 'POST',
91
47
  headers: {
92
- "Content-Type": "application/json",
48
+ 'Content-Type': 'application/json',
93
49
  Authorization: `Bearer ${apiKey}`,
94
50
  },
95
51
  body: JSON.stringify({ query, variables }),
@@ -106,7 +62,7 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
106
62
 
107
63
  return result.data;
108
64
  },
109
- [apiKey, baseUrl, isReady]
65
+ [apiKey, baseUrl, isReady],
110
66
  );
111
67
 
112
68
  const getOrgId = useCallback(async () => {
@@ -114,32 +70,26 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
114
70
  return validateGraphQLOrgId(response.me.org?.id);
115
71
  }, [executeQuery]);
116
72
 
117
- const getColorsAndFrontendConfig =
118
- useCallback(async (): Promise<GraphQlConfigValues> => {
119
- try {
120
- const query = await colorsAndFrontendConfigQuery();
121
- if (!query) {
122
- throw new Error("Colors and frontend config query is not defined");
123
- }
124
- const response = await executeQuery(query);
125
- const colorsConfig =
126
- response.me.getProductsConfigByVersion?.colors?.values;
127
- const frontendConfig =
128
- response.me.getProductsConfigByVersion?.frontend?.values;
129
- const transformedColorConfig = transformSnakeToCamel(colorsConfig);
130
- const transformedFrontendConfig = transformSnakeToCamel(frontendConfig);
131
- return {
132
- colorsConfig: transformedColorConfig as ColorsConfigResponse,
133
- frontendConfig: transformedFrontendConfig as FrontendConfigResponse,
134
- };
135
- } catch (err) {
136
- Logger.logError(
137
- "Error fetching graphql colors and frontend config",
138
- err
139
- );
140
- return { colorsConfig: undefined, frontendConfig: undefined };
73
+ const getColorsAndFrontendConfig = useCallback(async (): Promise<GraphQlConfigValues> => {
74
+ try {
75
+ const query = await colorsAndFrontendConfigQuery();
76
+ if (!query) {
77
+ throw new Error('Colors and frontend config query is not defined');
141
78
  }
142
- }, [executeQuery]);
79
+ const response = await executeQuery(query);
80
+ const colorsConfig = response.me.getProductsConfigByVersion?.colors?.values;
81
+ const frontendConfig = response.me.getProductsConfigByVersion?.frontend?.values;
82
+ const transformedColorConfig = transformSnakeToCamel(colorsConfig);
83
+ const transformedFrontendConfig = transformSnakeToCamel(frontendConfig);
84
+ return {
85
+ colorsConfig: transformedColorConfig as ColorsConfigResponse,
86
+ frontendConfig: transformedFrontendConfig as FrontendConfigResponse,
87
+ };
88
+ } catch (err) {
89
+ Logger.logError('Error fetching graphql colors and frontend config', err);
90
+ return { colorsConfig: undefined, frontendConfig: undefined };
91
+ }
92
+ }, [executeQuery]);
143
93
 
144
94
  const value = useMemo(
145
95
  () => ({
@@ -148,18 +98,16 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
148
98
  getColorsAndFrontendConfig,
149
99
  isReady,
150
100
  }),
151
- [executeQuery, getOrgId, getColorsAndFrontendConfig, isReady]
101
+ [executeQuery, getOrgId, getColorsAndFrontendConfig, isReady],
152
102
  );
153
103
 
154
- return (
155
- <GraphQLContext.Provider value={value}>{children}</GraphQLContext.Provider>
156
- );
104
+ return <GraphQLContext.Provider value={value}>{children}</GraphQLContext.Provider>;
157
105
  };
158
106
 
159
107
  export const useGraphQLClient = () => {
160
108
  const context = useContext(GraphQLContext);
161
109
  if (!context) {
162
- throw new Error("useGraphQLClient must be used within a GraphQLProvider");
110
+ throw new Error('useGraphQLClient must be used within a GraphQLProvider');
163
111
  }
164
112
  return context;
165
113
  };