@envive-ai/react-hooks 0.2.5 → 0.2.6-alpha-2

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 (646) hide show
  1. package/dist/AmplitudeOperations-C3i2q2Bn.js +34 -0
  2. package/dist/AmplitudeOperations-DcuLn1Zk.cjs +41 -0
  3. package/dist/{NewOrgConfig-B98Y9tMb.js → NewOrgConfig-BtvujFC8.js} +2 -2
  4. package/dist/{NewOrgConfig-ZbBKiByQ.cjs → NewOrgConfig-CHt7Xg4t.cjs} +2 -2
  5. package/dist/TrackComponentVisibleEvent-Be7wfXXY.js +53 -0
  6. package/dist/TrackComponentVisibleEvent-KUihr_y4.cjs +60 -0
  7. package/dist/amplitudeContext-CRFxGj_x.d.ts +52 -0
  8. package/dist/amplitudeContext-ZkerrMUa.d.cts +52 -0
  9. package/dist/api-D4HaU2Gf.js +166 -0
  10. package/dist/api-D4Xoibs9.cjs +239 -0
  11. package/dist/application/models/graphql/index.cjs +3 -3
  12. package/dist/application/models/graphql/index.d.cts +2 -2
  13. package/dist/application/models/graphql/index.d.ts +2 -2
  14. package/dist/application/models/graphql/index.js +2 -3
  15. package/dist/application/models/guards/api/index.cjs +3 -3
  16. package/dist/application/models/guards/api/index.d.cts +2 -2
  17. package/dist/application/models/guards/api/index.d.ts +2 -2
  18. package/dist/application/models/guards/api/index.js +3 -3
  19. package/dist/application/models/guards/utils.cjs +1 -1
  20. package/dist/application/models/guards/utils.d.ts +1 -1
  21. package/dist/application/models/guards/utils.js +1 -1
  22. package/dist/application/models/index.cjs +7 -23
  23. package/dist/application/models/index.d.cts +167 -11
  24. package/dist/application/models/index.d.ts +168 -12
  25. package/dist/application/models/index.js +7 -11
  26. package/dist/application/utils/index.cjs +19 -19
  27. package/dist/application/utils/index.d.cts +14 -63
  28. package/dist/application/utils/index.d.ts +14 -63
  29. package/dist/application/utils/index.js +19 -19
  30. package/dist/{atomStore-DXTVqiKc.js → atomStore-BuopbV9k.js} +1 -1
  31. package/dist/{atomStore-DNji91Im.cjs → atomStore-CZKe3itM.cjs} +1 -1
  32. package/dist/atoms/app/index.cjs +19 -19
  33. package/dist/atoms/app/index.d.cts +9 -20
  34. package/dist/atoms/app/index.d.ts +2 -13
  35. package/dist/atoms/app/index.js +19 -19
  36. package/dist/atoms/atomStore/index.cjs +1 -1
  37. package/dist/atoms/atomStore/index.js +1 -1
  38. package/dist/atoms/chat/index.cjs +21 -21
  39. package/dist/atoms/chat/index.d.cts +37 -45
  40. package/dist/atoms/chat/index.d.ts +35 -43
  41. package/dist/atoms/chat/index.js +21 -21
  42. package/dist/atoms/globalSearch/index.cjs +1 -1
  43. package/dist/atoms/globalSearch/index.d.cts +6 -6
  44. package/dist/atoms/globalSearch/index.d.ts +6 -6
  45. package/dist/atoms/globalSearch/index.js +1 -1
  46. package/dist/atoms/org/index.cjs +10 -11
  47. package/dist/atoms/org/index.d.cts +19 -31
  48. package/dist/atoms/org/index.d.ts +19 -31
  49. package/dist/atoms/org/index.js +2 -3
  50. package/dist/atoms/search/index.cjs +7 -47
  51. package/dist/atoms/search/index.d.cts +76 -14
  52. package/dist/atoms/search/index.d.ts +76 -14
  53. package/dist/atoms/search/index.js +7 -29
  54. package/dist/atoms/search/utils.cjs +1 -1
  55. package/dist/atoms/search/utils.d.cts +1 -1
  56. package/dist/atoms/search/utils.d.ts +1 -1
  57. package/dist/atoms/search/utils.js +1 -1
  58. package/dist/cdnContext-B2-NiEiW.js +38 -0
  59. package/dist/cdnContext-CdhppNeT.cjs +53 -0
  60. package/dist/chat-C9KdnT5V.js +230 -0
  61. package/dist/chat-bImNRcnQ.cjs +330 -0
  62. package/dist/chatState-DqWSgmjC.cjs +120 -0
  63. package/dist/chatState-DxG0t4fK.js +34 -0
  64. package/dist/config/index.d.cts +4 -4
  65. package/dist/config/index.d.ts +4 -4
  66. package/dist/config/locators/components/chat/index.d.cts +1 -1
  67. package/dist/config/locators/components/chat/index.d.ts +1 -1
  68. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  69. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  70. package/dist/config/locators/components/common/index.d.cts +1 -1
  71. package/dist/config/locators/components/common/index.d.ts +1 -1
  72. package/dist/config/locators/components/index.d.cts +1 -1
  73. package/dist/config/locators/components/index.d.ts +1 -1
  74. package/dist/config/locators/components/search/index.d.cts +1 -1
  75. package/dist/config/locators/components/search/index.d.ts +1 -1
  76. package/dist/config/locators/index.d.cts +4 -4
  77. package/dist/config/locators/index.d.ts +4 -4
  78. package/dist/contexts/amplitudeContext/index.cjs +19 -19
  79. package/dist/contexts/amplitudeContext/index.d.cts +1 -1
  80. package/dist/contexts/amplitudeContext/index.d.ts +1 -1
  81. package/dist/contexts/amplitudeContext/index.js +19 -19
  82. package/dist/contexts/cdnContext/index.cjs +4 -4
  83. package/dist/contexts/cdnContext/index.d.cts +2 -6
  84. package/dist/contexts/cdnContext/index.d.ts +2 -6
  85. package/dist/contexts/cdnContext/index.js +4 -4
  86. package/dist/contexts/enviveConfigContext/index.cjs +4 -4
  87. package/dist/contexts/enviveConfigContext/index.d.cts +3 -24
  88. package/dist/contexts/enviveConfigContext/index.d.ts +3 -24
  89. package/dist/contexts/enviveConfigContext/index.js +4 -4
  90. package/dist/contexts/enviveCssContext/index.cjs +15 -19
  91. package/dist/contexts/enviveCssContext/index.d.cts +3 -5
  92. package/dist/contexts/enviveCssContext/index.d.ts +3 -5
  93. package/dist/contexts/enviveCssContext/index.js +15 -19
  94. package/dist/contexts/featureFlagContext/index.cjs +9 -10
  95. package/dist/contexts/featureFlagContext/index.d.cts +3 -11
  96. package/dist/contexts/featureFlagContext/index.d.ts +3 -11
  97. package/dist/contexts/featureFlagContext/index.js +6 -7
  98. package/dist/contexts/featureFlagServiceContext/index.cjs +4 -3
  99. package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -4
  100. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -4
  101. package/dist/contexts/featureFlagServiceContext/index.js +4 -3
  102. package/dist/contexts/graphqlContext/index.cjs +8 -13
  103. package/dist/contexts/graphqlContext/index.d.cts +11 -14
  104. package/dist/contexts/graphqlContext/index.d.ts +11 -14
  105. package/dist/contexts/graphqlContext/index.js +8 -13
  106. package/dist/contexts/localStorageContext/index.cjs +3 -3
  107. package/dist/contexts/localStorageContext/index.d.cts +3 -22
  108. package/dist/contexts/localStorageContext/index.d.ts +3 -22
  109. package/dist/contexts/localStorageContext/index.js +4 -3
  110. package/dist/contexts/newOrgConfigContext/index.cjs +13 -17
  111. package/dist/contexts/newOrgConfigContext/index.d.cts +12 -15
  112. package/dist/contexts/newOrgConfigContext/index.d.ts +12 -15
  113. package/dist/contexts/newOrgConfigContext/index.js +13 -17
  114. package/dist/contexts/searchContext/index.cjs +24 -24
  115. package/dist/contexts/searchContext/index.d.cts +2 -7
  116. package/dist/contexts/searchContext/index.d.ts +2 -7
  117. package/dist/contexts/searchContext/index.js +24 -24
  118. package/dist/contexts/sessionStorageContext/index.cjs +2 -2
  119. package/dist/contexts/sessionStorageContext/index.d.cts +2 -6
  120. package/dist/contexts/sessionStorageContext/index.d.ts +2 -6
  121. package/dist/contexts/sessionStorageContext/index.js +2 -2
  122. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  123. package/dist/contexts/shopifyUrlContext/index.d.cts +2 -11
  124. package/dist/contexts/shopifyUrlContext/index.d.ts +2 -11
  125. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  126. package/dist/contexts/systemSettingsContext/index.cjs +4 -4
  127. package/dist/contexts/systemSettingsContext/index.d.cts +6 -16
  128. package/dist/contexts/systemSettingsContext/index.d.ts +4 -14
  129. package/dist/contexts/systemSettingsContext/index.js +4 -4
  130. package/dist/contexts/userIdentityContext/index.cjs +19 -19
  131. package/dist/contexts/userIdentityContext/index.d.cts +11 -2
  132. package/dist/contexts/userIdentityContext/index.d.ts +11 -2
  133. package/dist/contexts/userIdentityContext/index.js +19 -19
  134. package/dist/dist-B7BErEyV.cjs +6019 -0
  135. package/dist/dist-CtkINi1R.js +5923 -0
  136. package/dist/domObserver-B19-69gW.js +285 -0
  137. package/dist/{domObserver-v9ODTyfT.js → domObserver-CwieVNgj.cjs} +23 -4
  138. package/dist/enviveConfig-Be2kZE7j.js +62 -0
  139. package/dist/enviveConfig-u50Rpz-G.cjs +130 -0
  140. package/dist/enviveConfigContext-1oiQuocd.js +45 -0
  141. package/dist/enviveConfigContext-kQfHEGdJ.cjs +60 -0
  142. package/dist/events/index.cjs +2 -3
  143. package/dist/events/index.d.cts +2 -15
  144. package/dist/events/index.d.ts +2 -15
  145. package/dist/events/index.js +2 -2
  146. package/dist/events-CgFGtanE.cjs +69 -0
  147. package/dist/events-WOOrnUAx.js +63 -0
  148. package/dist/exceptions/index.cjs +4 -0
  149. package/dist/exceptions/index.d.cts +12 -0
  150. package/dist/exceptions/index.d.ts +12 -0
  151. package/dist/exceptions/index.js +3 -0
  152. package/dist/exceptions-BjDgLzGi.cjs +32 -0
  153. package/dist/exceptions-CUGY31Ua.js +20 -0
  154. package/dist/featureFlagServiceContext-B7je7VZV.d.cts +24 -0
  155. package/dist/featureFlagServiceContext-CPsygiHO.js +46 -0
  156. package/dist/featureFlagServiceContext-ahy3jou0.d.ts +24 -0
  157. package/dist/featureFlagServiceContext-pPneufeB.cjs +66 -0
  158. package/dist/{globalSearch-Ccxq8hNF.js → globalSearch-B_v9qfCT.js} +1 -1
  159. package/dist/{globalSearch-FBk2epe8.cjs → globalSearch-OiF96VLG.cjs} +1 -1
  160. package/dist/graphql-CvAHWmel.js +46 -0
  161. package/dist/graphql-JaGqsToc.cjs +70 -0
  162. package/dist/graphqlContext-BuXJ5DiW.js +96 -0
  163. package/dist/graphqlContext-CU7NIJo7.cjs +111 -0
  164. package/dist/hooks/AmplitudeOperations/index.cjs +21 -22
  165. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -2
  166. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -2
  167. package/dist/hooks/AmplitudeOperations/index.js +20 -21
  168. package/dist/hooks/AppDetails/index.cjs +22 -22
  169. package/dist/hooks/AppDetails/index.d.cts +3 -23
  170. package/dist/hooks/AppDetails/index.d.ts +3 -23
  171. package/dist/hooks/AppDetails/index.js +22 -22
  172. package/dist/hooks/CdnOperations/index.cjs +4 -4
  173. package/dist/hooks/CdnOperations/index.d.cts +1 -1
  174. package/dist/hooks/CdnOperations/index.js +4 -4
  175. package/dist/hooks/ChatToggle/index.cjs +24 -24
  176. package/dist/hooks/ChatToggle/index.d.cts +2 -2
  177. package/dist/hooks/ChatToggle/index.d.ts +2 -2
  178. package/dist/hooks/ChatToggle/index.js +22 -22
  179. package/dist/hooks/ChatToggleAnalytics/index.cjs +23 -24
  180. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -2
  181. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -2
  182. package/dist/hooks/ChatToggleAnalytics/index.js +22 -23
  183. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -2
  184. package/dist/hooks/CustomerSupportHandoff/index.js +2 -2
  185. package/dist/hooks/Debounce/index.cjs +20 -2
  186. package/dist/hooks/Debounce/index.js +18 -2
  187. package/dist/hooks/ElementObserver/index.cjs +4 -6
  188. package/dist/hooks/ElementObserver/index.d.cts +4 -25
  189. package/dist/hooks/ElementObserver/index.d.ts +4 -25
  190. package/dist/hooks/ElementObserver/index.js +4 -6
  191. package/dist/hooks/GrabAndScroll/index.cjs +1 -1
  192. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  193. package/dist/hooks/GrabAndScroll/index.js +1 -1
  194. package/dist/hooks/GraphQLConfig/index.cjs +9 -14
  195. package/dist/hooks/GraphQLConfig/index.d.cts +2 -13
  196. package/dist/hooks/GraphQLConfig/index.d.ts +2 -13
  197. package/dist/hooks/GraphQLConfig/index.js +9 -14
  198. package/dist/hooks/IdentifyUser/index.cjs +19 -19
  199. package/dist/hooks/IdentifyUser/index.js +19 -19
  200. package/dist/hooks/ImageResolver/index.cjs +20 -29
  201. package/dist/hooks/ImageResolver/index.js +20 -29
  202. package/dist/hooks/Intersection/index.cjs +1 -1
  203. package/dist/hooks/Intersection/index.js +1 -1
  204. package/dist/hooks/LocalStorageOperations/index.cjs +8 -7
  205. package/dist/hooks/LocalStorageOperations/index.js +4 -3
  206. package/dist/hooks/MessageFilter/index.cjs +3 -12
  207. package/dist/hooks/MessageFilter/index.d.cts +2 -17
  208. package/dist/hooks/MessageFilter/index.d.ts +2 -17
  209. package/dist/hooks/MessageFilter/index.js +2 -11
  210. package/dist/hooks/NewOrgConfig/index.cjs +14 -18
  211. package/dist/hooks/NewOrgConfig/index.d.cts +3 -16
  212. package/dist/hooks/NewOrgConfig/index.d.ts +3 -16
  213. package/dist/hooks/NewOrgConfig/index.js +14 -18
  214. package/dist/hooks/Search/index.cjs +332 -167
  215. package/dist/hooks/Search/index.d.cts +3 -57
  216. package/dist/hooks/Search/index.d.ts +3 -57
  217. package/dist/hooks/Search/index.js +320 -156
  218. package/dist/hooks/SearchOperations/index.cjs +25 -25
  219. package/dist/hooks/SearchOperations/index.d.cts +2 -3
  220. package/dist/hooks/SearchOperations/index.d.ts +2 -3
  221. package/dist/hooks/SearchOperations/index.js +25 -25
  222. package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
  223. package/dist/hooks/SessionStorageOperations/index.js +2 -2
  224. package/dist/hooks/ShopifyUrlOperations/index.cjs +3 -3
  225. package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -4
  226. package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -4
  227. package/dist/hooks/ShopifyUrlOperations/index.js +3 -3
  228. package/dist/hooks/SnapCalculator/index.cjs +1 -1
  229. package/dist/hooks/SnapCalculator/index.d.cts +4 -3
  230. package/dist/hooks/SnapCalculator/index.d.ts +4 -3
  231. package/dist/hooks/SnapCalculator/index.js +1 -1
  232. package/dist/hooks/SystemSettingsContext/index.cjs +17 -6
  233. package/dist/hooks/SystemSettingsContext/index.d.cts +5 -15
  234. package/dist/hooks/SystemSettingsContext/index.d.ts +5 -15
  235. package/dist/hooks/SystemSettingsContext/index.js +15 -6
  236. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -21
  237. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +2 -3
  238. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -3
  239. package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -21
  240. package/dist/hooks/UpdateAnalyticsProps/index.cjs +21 -21
  241. package/dist/hooks/UpdateAnalyticsProps/index.js +20 -20
  242. package/dist/hooks/utils.d.cts +20 -13
  243. package/dist/hooks/utils.d.ts +20 -13
  244. package/dist/{index-LTdMHOxj.d.ts → index-B4cSHxVN.d.ts} +1 -1
  245. package/dist/{index-DzbkQtaK.d.cts → index-BQpWG3Jm.d.cts} +1 -1
  246. package/dist/index-BVZbvpx_.d.cts +11 -0
  247. package/dist/index-CEmUfoZa.d.ts +42 -0
  248. package/dist/index-CMZcE7pk.d.cts +224 -0
  249. package/dist/{index-DBqgBV9N.d.ts → index-CYGpI6hE.d.ts} +1 -1
  250. package/dist/{index-9NE86em3.d.cts → index-ClVBVK15.d.cts} +1 -1
  251. package/dist/{index-nDWHlouq.d.ts → index-Clf4wYaJ.d.ts} +1 -1
  252. package/dist/index-DeQte6mb.d.ts +11 -0
  253. package/dist/index-Dzv6WwSZ.d.ts +224 -0
  254. package/dist/{index-FQjyuD3D.d.cts → index-ca7Qn8o0.d.cts} +1 -1
  255. package/dist/{index-DHgVW8ey.d.ts → index-dngXrfnT.d.ts} +1 -1
  256. package/dist/index-qOBU4GEh.d.cts +42 -0
  257. package/dist/{index-Da1s8h5C.d.cts → index-w64il54a.d.cts} +1 -1
  258. package/dist/interceptors/index.cjs +28 -3
  259. package/dist/interceptors/index.d.cts +4 -15
  260. package/dist/interceptors/index.d.ts +4 -15
  261. package/dist/interceptors/index.js +25 -3
  262. package/dist/localStorageContext-Bb2b_3ue.cjs +104 -0
  263. package/dist/localStorageContext-D2uXKahw.js +90 -0
  264. package/dist/{logger-W3lqg-4b.js → logger-BMVdhQOV.js} +1 -1
  265. package/dist/{logger-TBIl4uIH.cjs → logger-BqHq67zN.cjs} +1 -1
  266. package/dist/models-DmsMlaHT.js +1118 -0
  267. package/dist/models-wh2gh_Qz.cjs +1305 -0
  268. package/dist/newOrgConfigAtom-Dsk0fJNR.js +8 -0
  269. package/dist/{newOrgConfigAtom-A4BEeHMf.cjs → newOrgConfigAtom-hs5A1pbZ.cjs} +1 -1
  270. package/dist/newOrgConfigContext-DPUxIF2G.js +53 -0
  271. package/dist/newOrgConfigContext-lw85mMS-.cjs +68 -0
  272. package/dist/nodeSelector-CbWcUbuc.d.ts +28 -0
  273. package/dist/nodeSelector-Cj-Xl1LP.d.cts +28 -0
  274. package/dist/org-C2kLSSe9.cjs +111 -0
  275. package/dist/org-CIczyLRP.js +32 -0
  276. package/dist/search-BzXoTgRx.js +233 -0
  277. package/dist/search-D1cU29CV.cjs +312 -0
  278. package/dist/searchContext-C8DpjnqD.js +129 -0
  279. package/dist/searchContext-R_XuFzYe.cjs +145 -0
  280. package/dist/searchServiceAdapter-CKc7UXKi.js +16 -0
  281. package/dist/searchServiceAdapter-pROGm3Rf.cjs +34 -0
  282. package/dist/sessionStorageContext-ByaTsDUC.cjs +66 -0
  283. package/dist/sessionStorageContext-DKE97oMv.js +52 -0
  284. package/dist/shopifyUrlContext-G9eqIcsL.cjs +75 -0
  285. package/dist/shopifyUrlContext-WAm0pnPh.js +61 -0
  286. package/dist/systemSettingsContext-B-FZ8UAg.js +39 -0
  287. package/dist/systemSettingsContext-J1sny8W8.cjs +60 -0
  288. package/dist/types/index.cjs +3 -33
  289. package/dist/types/index.d.cts +2 -3
  290. package/dist/types/index.d.ts +2 -3
  291. package/dist/types/index.js +2 -30
  292. package/dist/types-1iJ_FnQQ.cjs +39 -0
  293. package/dist/types-D5du68Vp.js +27 -0
  294. package/dist/urlsParser-C-Vzs--G.cjs +78 -0
  295. package/dist/urlsParser-G7Ocwg0M.js +42 -0
  296. package/dist/useAppDetails-BtK9ZZJs.js +30 -0
  297. package/dist/useAppDetails-Bw2jJ39H.cjs +38 -0
  298. package/dist/useGraphQLConfig-Dc8h2yyN.cjs +76 -0
  299. package/dist/useGraphQLConfig-DuLB3tdv.js +63 -0
  300. package/dist/{useIntersection-BJRFGG0f.js → useIntersection-BWiHkpKL.js} +1 -1
  301. package/dist/{useIntersection-CYRvxtRN.cjs → useIntersection-DZHz44BY.cjs} +1 -1
  302. package/dist/{utils-DIvMgPe8.js → utils-B1LVzQYK.js} +1 -1
  303. package/dist/{utils-Buo4KU5l.cjs → utils-BivlGkeU.cjs} +1 -1
  304. package/dist/{utils-BRNaQkCK.js → utils-CExht7Uj.js} +1 -1
  305. package/dist/{utils-CDw74BCO.cjs → utils-CiJLDPjY.cjs} +1 -1
  306. package/dist/utils-D_kATUj6.js +1 -1
  307. package/dist/utils-DqNhRm2b.cjs +1546 -0
  308. package/dist/utils-IogJwDB9.js +1364 -0
  309. package/dist/utils-hYTjy7hJ.cjs +1 -1
  310. package/dist/{utils-DyTiotQz.d.ts → utils-wWki3L1d.d.ts} +1 -1
  311. package/package.json +7 -25
  312. package/src/application/commerce-api.ts +38 -37
  313. package/src/application/models/graphql/index.ts +1 -0
  314. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -23
  315. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -89
  316. package/src/application/models/guards/api/isApiFormResponse.ts +4 -4
  317. package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +2 -2
  318. package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +2 -20
  319. package/src/application/models/guards/api/isApiOrgConfigResults.ts +3 -9
  320. package/src/application/models/guards/api/isApiOrganizationConfig.ts +8 -32
  321. package/src/application/models/guards/api/isApiPDPEventAttributes.ts +8 -5
  322. package/src/application/models/guards/api/isApiPLPEventAttributes.ts +14 -10
  323. package/src/application/models/guards/api/isApiPageResponseAttributes.ts +1 -1
  324. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +2 -4
  325. package/src/application/models/guards/api/isApiProductSearchAttributes.ts +9 -6
  326. package/src/application/models/guards/api/isApiProductSearchFilterAttributes.ts +7 -4
  327. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +8 -3
  328. package/src/application/models/guards/api/isApiResponse.ts +22 -15
  329. package/src/application/models/guards/api/isApiReviewResponseAttributes.ts +1 -1
  330. package/src/application/models/guards/api/isApiReviewRichInformation.ts +1 -1
  331. package/src/application/models/guards/api/isApiTextResponseAttributes.ts +1 -1
  332. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  333. package/src/application/models/guards/isBaseEcommerceEvent.ts +1 -2
  334. package/src/application/models/guards/isGA4EcommerceEvent.ts +1 -1
  335. package/src/application/models/guards/isLegacyUAEcommerceEvent.ts +1 -1
  336. package/src/application/models/guards/isMobilePLPChatPlacementParameter.ts +1 -3
  337. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +5 -3
  338. package/src/application/models/guards/isVariantInfo.ts +6 -1
  339. package/src/application/models/index.ts +30 -95
  340. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  341. package/src/application/models/validators/validateGraphQLColorsConfig.ts +6 -2
  342. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +6 -6
  343. package/src/application/models/validators/validateMobilePLPChatPlacementParameter.ts +5 -3
  344. package/src/application/models/validators/validateOrgConfigResults.ts +6 -5
  345. package/src/application/models/validators/validateOrganizationConfig.ts +11 -8
  346. package/src/application/models/validators/validateResponse.ts +66 -44
  347. package/src/application/models/validators/validateSuggestion.ts +1 -1
  348. package/src/application/models/validators/validateUserEvent.ts +23 -12
  349. package/src/application/utils/analyticsUtils.ts +16 -38
  350. package/src/application/utils/coreContextToApiContext.ts +3 -1
  351. package/src/application/utils/coreUserEventToApiUserEvent.ts +2 -2
  352. package/src/application/utils/elementObserver.ts +1 -1
  353. package/src/application/utils/imageFilter.ts +5 -2
  354. package/src/application/utils/index.ts +20 -21
  355. package/src/application/utils/messageFromFormSubmittedEvent.ts +1 -1
  356. package/src/application/utils/messageFromQueryEvent.ts +1 -1
  357. package/src/application/utils/messageFromResponse.ts +14 -10
  358. package/src/application/utils/messageFromSuggestionEvent.ts +6 -4
  359. package/src/application/utils/mouseEventTypes.ts +1 -1
  360. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  361. package/src/application/utils/overrides.ts +1 -49
  362. package/src/application/utils/supportedEventRequestToApiRequest.ts +3 -1
  363. package/src/application/utils/urlsParser.ts +1 -7
  364. package/src/atoms/app/index.ts +15 -25
  365. package/src/atoms/app/variant.ts +1 -1
  366. package/src/atoms/chat/chatState.ts +9 -14
  367. package/src/atoms/chat/form.ts +1 -1
  368. package/src/atoms/chat/messageQueue.ts +25 -50
  369. package/src/atoms/chat/replies.ts +40 -43
  370. package/src/atoms/chat/suggestions.ts +34 -29
  371. package/src/atoms/envive/enviveConfig.ts +14 -20
  372. package/src/atoms/org/customerService.ts +4 -8
  373. package/src/atoms/org/graphqlConfig.ts +7 -15
  374. package/src/atoms/org/index.ts +4 -6
  375. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  376. package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
  377. package/src/atoms/search/index.ts +0 -1
  378. package/src/atoms/search/productFilters.ts +72 -52
  379. package/src/atoms/search/productRetrievalAPI.ts +72 -0
  380. package/src/atoms/search/productRetrievalAdapter.ts +28 -0
  381. package/src/atoms/search/productSorter.ts +2 -2
  382. package/src/atoms/search/searchAPI.ts +42 -60
  383. package/src/atoms/search/searchServiceAdapter.ts +1 -1
  384. package/src/contexts/amplitudeContext/amplitudeContext.tsx +104 -143
  385. package/src/contexts/cdnContext/cdnContext.tsx +9 -16
  386. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +6 -27
  387. package/src/contexts/enviveCssContext/enviveCssContext.tsx +5 -12
  388. package/src/contexts/featureFlagContext/featureFlagContext.tsx +27 -48
  389. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +11 -3
  390. package/src/contexts/graphqlContext/graphqlContext.tsx +40 -95
  391. package/src/contexts/localStorageContext/localStorageContext.tsx +26 -60
  392. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +10 -22
  393. package/src/contexts/searchContext/searchContext.tsx +29 -49
  394. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +12 -33
  395. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +20 -37
  396. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +8 -21
  397. package/src/contexts/userIdentityContext/userIdentityContext.tsx +33 -77
  398. package/src/events/index.ts +8 -5
  399. package/src/events/registerAnalyticsListeners.ts +10 -13
  400. package/src/exceptions/index.ts +2 -0
  401. package/src/{types/exceptions → exceptions}/unsupportedProductExceptions.ts +2 -2
  402. package/src/global.d.ts +8 -0
  403. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +6 -11
  404. package/src/hooks/AppDetails/useAppDetails.ts +10 -24
  405. package/src/hooks/ChatToggle/useChatToggle.ts +7 -19
  406. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  407. package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +1 -1
  408. package/src/hooks/ElementObserver/useElementObserver.ts +14 -32
  409. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +125 -124
  410. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +5 -7
  411. package/src/hooks/ImageResolver/useImageResolver.ts +24 -31
  412. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +12 -19
  413. package/src/hooks/MessageFilter/useMessageFilter.ts +1 -7
  414. package/src/hooks/Search/useRecommendedProducts.ts +50 -0
  415. package/src/hooks/Search/useSearch.tsx +80 -210
  416. package/src/hooks/Search/useSearchInput.ts +227 -0
  417. package/src/hooks/SearchOperations/useSearchOperations.ts +8 -12
  418. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +8 -14
  419. package/src/hooks/SnapCalculator/useSnapCalculator.ts +1 -2
  420. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +8 -11
  421. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +11 -25
  422. package/src/hooks/utils.ts +19 -29
  423. package/src/interceptors/index.ts +1 -2
  424. package/src/interceptors/useMessageInterceptor.ts +10 -6
  425. package/src/{application/models/api/response.ts → types/ApiResponse.ts} +35 -29
  426. package/src/types/FilterAttribute.ts +35 -0
  427. package/src/{application/models/message.ts → types/Message.ts} +38 -34
  428. package/src/types/Suggestion.ts +6 -0
  429. package/src/types/index.ts +4 -4
  430. package/src/util/colorVar.ts +4 -0
  431. package/src/util/configVersion.ts +4 -0
  432. package/src/util/domInsertion.ts +17 -0
  433. package/dist/SystemSettingsContext-CO5c1L62.cjs +0 -20
  434. package/dist/SystemSettingsContext-CXmUlH8i.js +0 -13
  435. package/dist/TrackComponentVisibleEvent-B0WO3ArV.js +0 -52
  436. package/dist/TrackComponentVisibleEvent-LRE9MYzL.cjs +0 -59
  437. package/dist/amplitudeContext-B73xamNe.d.cts +0 -52
  438. package/dist/amplitudeContext-DXnJi0V1.d.ts +0 -52
  439. package/dist/api-BWSsazAG.js +0 -166
  440. package/dist/api-DeW6rHj3.cjs +0 -239
  441. package/dist/application/models/utilityTypes/index.cjs +0 -1
  442. package/dist/application/models/utilityTypes/index.d.cts +0 -2
  443. package/dist/application/models/utilityTypes/index.d.ts +0 -2
  444. package/dist/application/models/utilityTypes/index.js +0 -3
  445. package/dist/application/models/variantInfo/index.cjs +0 -3
  446. package/dist/application/models/variantInfo/index.d.cts +0 -2
  447. package/dist/application/models/variantInfo/index.d.ts +0 -2
  448. package/dist/application/models/variantInfo/index.js +0 -3
  449. package/dist/atoms/search/types.cjs +0 -5
  450. package/dist/atoms/search/types.d.cts +0 -2
  451. package/dist/atoms/search/types.d.ts +0 -2
  452. package/dist/atoms/search/types.js +0 -3
  453. package/dist/cdnContext-CH_-ssYa.js +0 -38
  454. package/dist/cdnContext-D7kHxOzE.cjs +0 -53
  455. package/dist/chat-CqPuT9_V.cjs +0 -393
  456. package/dist/chat-DH70QqJp.js +0 -257
  457. package/dist/chatElementDisplayLocation-BoE6DEdv.d.ts +0 -25
  458. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +0 -25
  459. package/dist/chatSearch-BQCZI8MJ.cjs +0 -418
  460. package/dist/chatSearch-D8xCWU8m.js +0 -295
  461. package/dist/chatState-CcFtSqJT.cjs +0 -120
  462. package/dist/chatState-DKnNHmwe.js +0 -34
  463. package/dist/contexts/chatContext/index.cjs +0 -326
  464. package/dist/contexts/chatContext/index.d.cts +0 -15
  465. package/dist/contexts/chatContext/index.d.ts +0 -15
  466. package/dist/contexts/chatContext/index.js +0 -319
  467. package/dist/contexts/types.cjs +0 -7
  468. package/dist/contexts/types.d.cts +0 -4
  469. package/dist/contexts/types.d.ts +0 -4
  470. package/dist/contexts/types.js +0 -3
  471. package/dist/domObserver-Bqf3ooj8.cjs +0 -304
  472. package/dist/enviveConfig-DZBohDpc.js +0 -62
  473. package/dist/enviveConfig-Dv9-esGV.cjs +0 -130
  474. package/dist/enviveConfigContext-D2OELZDR.cjs +0 -60
  475. package/dist/enviveConfigContext-DrDjCems.js +0 -45
  476. package/dist/events-DYY4l817.cjs +0 -90
  477. package/dist/events-DyUix-Bn.js +0 -78
  478. package/dist/featureFlagServiceContext-CJyYItqu.cjs +0 -62
  479. package/dist/featureFlagServiceContext-C_2m4wPL.d.ts +0 -23
  480. package/dist/featureFlagServiceContext-CiKWV306.d.cts +0 -23
  481. package/dist/featureFlagServiceContext-FBM6DdMJ.js +0 -42
  482. package/dist/featureGates-KEwAL8p_.js +0 -26
  483. package/dist/featureGates-qU_ulhpC.cjs +0 -32
  484. package/dist/frontendConfig-CymUbclV.d.ts +0 -856
  485. package/dist/frontendConfig-tVg0hsWZ.d.cts +0 -856
  486. package/dist/graphql-3PxNRFOc.js +0 -36
  487. package/dist/graphql-DGYfelZp.cjs +0 -53
  488. package/dist/graphqlConfig-GHZ1UgCw.cjs +0 -73
  489. package/dist/graphqlConfig-mDg6J44N.js +0 -24
  490. package/dist/graphqlContext-BZPEAFSR.cjs +0 -111
  491. package/dist/graphqlContext-Bf3E-V2T.d.cts +0 -28
  492. package/dist/graphqlContext-CQikpV_I.d.ts +0 -28
  493. package/dist/graphqlContext-eaZPxgRE.js +0 -96
  494. package/dist/index-BVf069X-.d.ts +0 -184
  495. package/dist/index-B_KJB5L_.d.cts +0 -186
  496. package/dist/index-BkLv_fCu.d.ts +0 -186
  497. package/dist/index-Bmub8e38.d.cts +0 -98
  498. package/dist/index-C0eAp5f5.d.ts +0 -98
  499. package/dist/index-CESxqFso.d.cts +0 -228
  500. package/dist/index-CG3P8xE1.d.cts +0 -676
  501. package/dist/index-CJc7_j_v.d.ts +0 -44
  502. package/dist/index-CiWEYzXl.d.cts +0 -184
  503. package/dist/index-Cyq5HiC0.d.cts +0 -44
  504. package/dist/index-DL2ODEnw.d.ts +0 -1
  505. package/dist/index-DgjDuQl4.d.ts +0 -676
  506. package/dist/index-RcVcRKH7.d.cts +0 -1
  507. package/dist/index-vP8BKdxl.d.ts +0 -228
  508. package/dist/interceptors/types.cjs +0 -1
  509. package/dist/interceptors/types.d.cts +0 -13
  510. package/dist/interceptors/types.d.ts +0 -13
  511. package/dist/interceptors/types.js +0 -3
  512. package/dist/localStorageContext-BPZ82q-G.js +0 -95
  513. package/dist/localStorageContext-NRP-CdmF.cjs +0 -115
  514. package/dist/models-D-4db7XW.cjs +0 -1537
  515. package/dist/models-c86hYW-F.js +0 -1296
  516. package/dist/newOrgConfigAtom-OzAyrPS8.js +0 -8
  517. package/dist/newOrgConfigContext-DOdUxlOE.d.cts +0 -16
  518. package/dist/newOrgConfigContext-DX9iqIIK.cjs +0 -68
  519. package/dist/newOrgConfigContext-aqN8Tu79.js +0 -53
  520. package/dist/newOrgConfigContext-jphS5d4K.d.ts +0 -16
  521. package/dist/nodeSelector-B3bPtEjX.d.cts +0 -31
  522. package/dist/nodeSelector-Dcn3_NrZ.d.ts +0 -31
  523. package/dist/org-Bq2KsJSp.cjs +0 -43
  524. package/dist/org-gtWmGw4K.js +0 -12
  525. package/dist/search-BQPMtze5.cjs +0 -205
  526. package/dist/search-CIrqYYMI.d.ts +0 -20
  527. package/dist/search-PXzaYtZj.js +0 -126
  528. package/dist/search-filter-types-BhK20ts3.d.ts +0 -102
  529. package/dist/search-filter-types-BxaNSLs_.d.cts +0 -102
  530. package/dist/search-y-ioX5Mz.d.cts +0 -20
  531. package/dist/searchContext-CmsLR6Ka.cjs +0 -145
  532. package/dist/searchContext-NPfqMf6b.js +0 -129
  533. package/dist/searchServiceAdapter-BczodJGV.cjs +0 -34
  534. package/dist/searchServiceAdapter-BuEHFG5t.js +0 -16
  535. package/dist/sessionStorageContext-C1u04nAK.js +0 -52
  536. package/dist/sessionStorageContext-Cy8xc9-3.cjs +0 -66
  537. package/dist/shopifyUrlContext-CUyq3f27.cjs +0 -75
  538. package/dist/shopifyUrlContext-DTLlqlMj.js +0 -61
  539. package/dist/spiffyWidgets-BnkP5kXf.d.ts +0 -20
  540. package/dist/spiffyWidgets-BuS00VaQ.d.cts +0 -20
  541. package/dist/systemSettingsContext-Ba-wi2NZ.cjs +0 -60
  542. package/dist/systemSettingsContext-DumUaV0m.js +0 -39
  543. package/dist/test-types-DbrKQIqB.d.ts +0 -40
  544. package/dist/test-types-ThQiO_cc.d.cts +0 -40
  545. package/dist/types-BWzwd0Qc.js +0 -30
  546. package/dist/types-CEx2uKKS.d.ts +0 -51
  547. package/dist/types-CKMMb_gX.d.cts +0 -51
  548. package/dist/types-CKPddlfS.cjs +0 -0
  549. package/dist/types-CtUb63bt.js +0 -76
  550. package/dist/types-Cz8CaPUQ.cjs +0 -48
  551. package/dist/types-Dc6hx6ei.js +0 -1
  552. package/dist/types-Mwm0bS2l.d.ts +0 -10
  553. package/dist/types-UUvB6h05.cjs +0 -106
  554. package/dist/types-zQGBI-Yo.d.cts +0 -10
  555. package/dist/types.cjs +0 -0
  556. package/dist/types.d.cts +0 -15
  557. package/dist/types.d.ts +0 -15
  558. package/dist/types.js +0 -1
  559. package/dist/urlsParser-COzMdJaX.cjs +0 -78
  560. package/dist/urlsParser-DxjoLj98.js +0 -42
  561. package/dist/useAmplitudeOperations-Cv0fi3uj.cjs +0 -41
  562. package/dist/useAmplitudeOperations-Ti6phPPq.js +0 -34
  563. package/dist/useAppDetails-BgqbPlfR.cjs +0 -38
  564. package/dist/useAppDetails-DnKGYtCd.js +0 -30
  565. package/dist/useDebounce-BV7B-Jz3.js +0 -19
  566. package/dist/useDebounce-vU5iW5sa.cjs +0 -26
  567. package/dist/useGraphQLConfig-BizpCw23.cjs +0 -76
  568. package/dist/useGraphQLConfig-DFWl9Z89.js +0 -63
  569. package/dist/useMessageInterceptor-BjGP_uXm.js +0 -25
  570. package/dist/useMessageInterceptor-arAqUq1Q.cjs +0 -33
  571. package/dist/userIdentityContext-BvsEnQVX.d.ts +0 -20
  572. package/dist/userIdentityContext-D2oFVFzo.d.cts +0 -20
  573. package/dist/utilityTypes-B2KuRn37.js +0 -1
  574. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  575. package/dist/utils-B7PAzB_M.d.cts +0 -22
  576. package/dist/utils-CLGXsOwE.cjs +0 -1591
  577. package/dist/utils-CrQ0h9tc.d.ts +0 -22
  578. package/dist/utils-jYtD3hmA.js +0 -1385
  579. package/dist/variantInfo-BfKlkaWU.js +0 -11
  580. package/dist/variantInfo-DpLn4nHz.cjs +0 -17
  581. package/src/application/models/api/context.ts +0 -4
  582. package/src/application/models/api/generationParams.ts +0 -4
  583. package/src/application/models/api/nextMessageRequest.ts +0 -11
  584. package/src/application/models/api/orgAnalyticsConfig.ts +0 -19
  585. package/src/application/models/api/orgConfigResults.ts +0 -44
  586. package/src/application/models/api/organizationConfig.ts +0 -12
  587. package/src/application/models/api/responseGenerics.ts +0 -67
  588. package/src/application/models/api/search.ts +0 -26
  589. package/src/application/models/api/suggestion.ts +0 -4
  590. package/src/application/models/api/supportedEventRequest.ts +0 -8
  591. package/src/application/models/api/userEvent.ts +0 -101
  592. package/src/application/models/cachedValue.ts +0 -8
  593. package/src/application/models/chatElementDisplayLocation.ts +0 -22
  594. package/src/application/models/clientDetails.ts +0 -18
  595. package/src/application/models/colorsConfig.ts +0 -28
  596. package/src/application/models/conversationalSearchIds.ts +0 -5
  597. package/src/application/models/dataLayer.ts +0 -45
  598. package/src/application/models/events.ts +0 -5
  599. package/src/application/models/featureGates.ts +0 -21
  600. package/src/application/models/frontendConfig.ts +0 -14
  601. package/src/application/models/googleAnalyticsEvents.ts +0 -8
  602. package/src/application/models/localStorageEventListener.ts +0 -4
  603. package/src/application/models/mobilePLPChatPlacementParameter.ts +0 -3
  604. package/src/application/models/orgsEnum.ts +0 -36
  605. package/src/application/models/productExperiment.ts +0 -5
  606. package/src/application/models/spanxTakeAQuizCtaParameter.ts +0 -4
  607. package/src/application/models/spiffyWidgets.ts +0 -16
  608. package/src/application/models/utilityTypes/camelCase.ts +0 -87
  609. package/src/application/models/utilityTypes/camelCasedPropertiesDeep.ts +0 -80
  610. package/src/application/models/utilityTypes/delimiterCase.ts +0 -121
  611. package/src/application/models/utilityTypes/delimiterCasedPropertiesDeep.ts +0 -98
  612. package/src/application/models/utilityTypes/index.ts +0 -1
  613. package/src/application/models/utilityTypes/internal.ts +0 -93
  614. package/src/application/models/utilityTypes/primitive.ts +0 -8
  615. package/src/application/models/utilityTypes/snakeCasedPropertiesDeep.ts +0 -49
  616. package/src/application/models/utilityTypes/splitWords.ts +0 -76
  617. package/src/application/models/utilityTypes/trim.ts +0 -28
  618. package/src/application/models/utilityTypes/unknownArray.ts +0 -25
  619. package/src/application/models/variantInfo/index.ts +0 -1
  620. package/src/application/models/variantInfo/pageVisitInfo.ts +0 -6
  621. package/src/application/models/variantInfo/plpInfo.ts +0 -3
  622. package/src/application/models/variantInfo/productInfo.ts +0 -5
  623. package/src/application/models/variantInfo/variantInfo.ts +0 -29
  624. package/src/application/utils/__tests__/divideArrays.test.ts +0 -14
  625. package/src/application/utils/cdnUtils.ts +0 -11
  626. package/src/atoms/search/chatSearch.ts +0 -317
  627. package/src/atoms/search/types.ts +0 -55
  628. package/src/config/divIds.ts +0 -27
  629. package/src/config/socialProofClasses.ts +0 -17
  630. package/src/contexts/chatContext/chatContext.tsx +0 -509
  631. package/src/contexts/chatContext/index.ts +0 -1
  632. package/src/contexts/types.ts +0 -1066
  633. package/src/events/event-types.ts +0 -11
  634. package/src/interceptors/types.ts +0 -6
  635. package/src/merchants/domInsertion.ts +0 -30
  636. package/src/merchants/gridInsertion.ts +0 -19
  637. package/src/types/config-versions.ts +0 -6
  638. package/src/types/customerService.ts +0 -31
  639. package/src/types/custservice-types.ts +0 -28
  640. package/src/types/search-filter-types.ts +0 -111
  641. package/src/types/suggestionBarV2-types.ts +0 -4
  642. package/src/types/test-types.ts +0 -3
  643. package/src/types.ts +0 -11
  644. /package/dist/{AmplitudeOperations-CWI4yjZ4.js → featureFlagServiceContext-CbUOAw5l.js} +0 -0
  645. /package/dist/{AmplitudeOperations-BEGeYKG5.cjs → featureFlagServiceContext-DSo2brno.cjs} +0 -0
  646. /package/src/{types/exceptions → exceptions}/sessionExceptions.ts +0 -0
@@ -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,18 @@
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
+ } from '@envive-ai/types';
59
16
 
60
17
  const GraphQLContext = createContext<GraphQLContextValue | null>(null);
61
18
 
@@ -70,10 +27,6 @@ const colorsAndFrontendConfigQuery = () => `
70
27
  }
71
28
  `;
72
29
 
73
- type GraphQLProviderProps = {
74
- children: ReactNode;
75
- };
76
-
77
30
  export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
78
31
  const apiKey = useAtomValue(orgLevelApiKeyAtom);
79
32
  const baseUrl = useAtomValue(baseUrlAtom);
@@ -83,13 +36,13 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
83
36
  const executeQuery = useCallback(
84
37
  async (query: string, variables?: Record<string, unknown>) => {
85
38
  if (!isReady) {
86
- throw new Error("GraphQL client not ready - missing apiKey or baseUrl");
39
+ throw new Error('GraphQL client not ready - missing apiKey or baseUrl');
87
40
  }
88
41
 
89
42
  const response = await fetch(`${baseUrl}/v1/graphql`, {
90
- method: "POST",
43
+ method: 'POST',
91
44
  headers: {
92
- "Content-Type": "application/json",
45
+ 'Content-Type': 'application/json',
93
46
  Authorization: `Bearer ${apiKey}`,
94
47
  },
95
48
  body: JSON.stringify({ query, variables }),
@@ -106,7 +59,7 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
106
59
 
107
60
  return result.data;
108
61
  },
109
- [apiKey, baseUrl, isReady]
62
+ [apiKey, baseUrl, isReady],
110
63
  );
111
64
 
112
65
  const getOrgId = useCallback(async () => {
@@ -114,32 +67,26 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
114
67
  return validateGraphQLOrgId(response.me.org?.id);
115
68
  }, [executeQuery]);
116
69
 
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 };
70
+ const getColorsAndFrontendConfig = useCallback(async (): Promise<GraphQlConfigValues> => {
71
+ try {
72
+ const query = await colorsAndFrontendConfigQuery();
73
+ if (!query) {
74
+ throw new Error('Colors and frontend config query is not defined');
141
75
  }
142
- }, [executeQuery]);
76
+ const response = await executeQuery(query);
77
+ const colorsConfig = response.me.getProductsConfigByVersion?.colors?.values;
78
+ const frontendConfig = response.me.getProductsConfigByVersion?.frontend?.values;
79
+ const transformedColorConfig = transformSnakeToCamel(colorsConfig);
80
+ const transformedFrontendConfig = transformSnakeToCamel(frontendConfig);
81
+ return {
82
+ colorsConfig: transformedColorConfig as ColorsConfigResponse,
83
+ frontendConfig: transformedFrontendConfig as FrontendConfigResponse,
84
+ };
85
+ } catch (err) {
86
+ Logger.logError('Error fetching graphql colors and frontend config', err);
87
+ return { colorsConfig: undefined, frontendConfig: undefined };
88
+ }
89
+ }, [executeQuery]);
143
90
 
144
91
  const value = useMemo(
145
92
  () => ({
@@ -148,18 +95,16 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
148
95
  getColorsAndFrontendConfig,
149
96
  isReady,
150
97
  }),
151
- [executeQuery, getOrgId, getColorsAndFrontendConfig, isReady]
98
+ [executeQuery, getOrgId, getColorsAndFrontendConfig, isReady],
152
99
  );
153
100
 
154
- return (
155
- <GraphQLContext.Provider value={value}>{children}</GraphQLContext.Provider>
156
- );
101
+ return <GraphQLContext.Provider value={value}>{children}</GraphQLContext.Provider>;
157
102
  };
158
103
 
159
104
  export const useGraphQLClient = () => {
160
105
  const context = useContext(GraphQLContext);
161
106
  if (!context) {
162
- throw new Error("useGraphQLClient must be used within a GraphQLProvider");
107
+ throw new Error('useGraphQLClient must be used within a GraphQLProvider');
163
108
  }
164
109
  return context;
165
110
  };
@@ -1,37 +1,17 @@
1
- import React, {
2
- createContext,
3
- useContext,
4
- useCallback,
5
- useMemo,
6
- useEffect,
7
- } from "react";
8
- import Logger from "src/application/logging/logger";
9
- import { LocalStorageEventListener } from "src/application/models/localStorageEventListener";
10
-
11
- export enum LocalStorageKeys {
12
- ChatId = "v1-spiffy-chat-session-id",
13
- SpiffyOnOverride = "spiffy_on",
14
- EnviveOnOverride = "envive_on",
15
- }
16
-
17
- interface LocalStorageContextType {
18
- setItem: (key: string, value: string) => void;
19
- getItem: (key: string) => string | null;
20
- setSpiffyOnFeatureFlag: (value: boolean | null) => void;
21
- getSpiffyOnFeatureFlag: () => string | null;
22
- attachListener: (listener: LocalStorageEventListener) => void;
23
- detachListener: (listener: LocalStorageEventListener) => void;
24
- isAvailable: boolean;
25
- }
1
+ import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react';
2
+ import Logger from '../../application/logging/logger';
3
+ import {
4
+ LocalStorageContextType,
5
+ LocalStorageEventListener,
6
+ LocalStorageKeys,
7
+ } from '@envive-ai/types';
26
8
 
27
9
  const LocalStorageContext = createContext<LocalStorageContextType | null>(null);
28
10
 
29
- export const LocalStorageProvider: React.FC<{ children: React.ReactNode }> = ({
30
- children,
31
- }) => {
11
+ export const LocalStorageProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
32
12
  const isAvailable = useMemo(() => {
33
13
  try {
34
- return typeof window !== "undefined" && !!window.localStorage;
14
+ return typeof window !== 'undefined' && !!window.localStorage;
35
15
  } catch {
36
16
  return false;
37
17
  }
@@ -39,7 +19,7 @@ export const LocalStorageProvider: React.FC<{ children: React.ReactNode }> = ({
39
19
 
40
20
  useEffect(() => {
41
21
  if (!isAvailable) {
42
- Logger.logError("localStorage is not available", undefined);
22
+ Logger.logError('localStorage is not available', undefined);
43
23
  }
44
24
  }, [isAvailable]);
45
25
 
@@ -47,11 +27,9 @@ export const LocalStorageProvider: React.FC<{ children: React.ReactNode }> = ({
47
27
  (key: string, value: string) => {
48
28
  if (!isAvailable) return;
49
29
  localStorage.setItem(key, value);
50
- window.dispatchEvent(
51
- new StorageEvent("storage", { key, newValue: value })
52
- );
30
+ window.dispatchEvent(new StorageEvent('storage', { key, newValue: value }));
53
31
  },
54
- [isAvailable]
32
+ [isAvailable],
55
33
  );
56
34
 
57
35
  const getItem = useCallback(
@@ -59,19 +37,19 @@ export const LocalStorageProvider: React.FC<{ children: React.ReactNode }> = ({
59
37
  if (!isAvailable) return null;
60
38
  return localStorage.getItem(key);
61
39
  },
62
- [isAvailable]
40
+ [isAvailable],
63
41
  );
64
42
 
65
43
  const setSpiffyOnFeatureFlag = useCallback(
66
44
  (value: boolean | null): void => {
67
45
  if (!isAvailable) return;
68
46
  if (value === true) {
69
- localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "true");
47
+ localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, 'true');
70
48
  } else if (value === false) {
71
- localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "false");
49
+ localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, 'false');
72
50
  }
73
51
  },
74
- [isAvailable]
52
+ [isAvailable],
75
53
  );
76
54
 
77
55
  const getSpiffyOnFeatureFlag = useCallback((): string | null => {
@@ -79,10 +57,7 @@ export const LocalStorageProvider: React.FC<{ children: React.ReactNode }> = ({
79
57
  return localStorage.getItem(LocalStorageKeys.SpiffyOnOverride);
80
58
  }, [isAvailable]);
81
59
 
82
- const listenersCache = useMemo(
83
- () => new Map<string, (event: StorageEvent) => void>(),
84
- []
85
- );
60
+ const listenersCache = useMemo(() => new Map<string, (event: StorageEvent) => void>(), []);
86
61
 
87
62
  const listenerForKey = useCallback(
88
63
  (listener: LocalStorageEventListener): ((event: StorageEvent) => void) => {
@@ -91,33 +66,30 @@ export const LocalStorageProvider: React.FC<{ children: React.ReactNode }> = ({
91
66
  if (event.key !== listener.storageKey) {
92
67
  return;
93
68
  }
94
- Logger.logDebug(
95
- `[spiffy-ai] Storage event key=${event.key}, value=`,
96
- event.newValue
97
- );
69
+ Logger.logDebug(`[spiffy-ai] Storage event key=${event.key}, value=`, event.newValue);
98
70
  listener.listener(event);
99
71
  };
100
72
  listenersCache.set(listener.storageKey, handler);
101
73
  }
102
74
  return listenersCache.get(listener.storageKey)!;
103
75
  },
104
- [listenersCache]
76
+ [listenersCache],
105
77
  );
106
78
 
107
79
  const attachListener = useCallback(
108
80
  (listener: LocalStorageEventListener): void => {
109
81
  if (!isAvailable) return;
110
- window.addEventListener("storage", listenerForKey(listener));
82
+ window.addEventListener('storage', listenerForKey(listener));
111
83
  },
112
- [isAvailable, listenerForKey]
84
+ [isAvailable, listenerForKey],
113
85
  );
114
86
 
115
87
  const detachListener = useCallback(
116
88
  (listener: LocalStorageEventListener): void => {
117
89
  if (!isAvailable) return;
118
- window.removeEventListener("storage", listenerForKey(listener));
90
+ window.removeEventListener('storage', listenerForKey(listener));
119
91
  },
120
- [isAvailable, listenerForKey]
92
+ [isAvailable, listenerForKey],
121
93
  );
122
94
 
123
95
  const value = useMemo(
@@ -138,22 +110,16 @@ export const LocalStorageProvider: React.FC<{ children: React.ReactNode }> = ({
138
110
  attachListener,
139
111
  detachListener,
140
112
  isAvailable,
141
- ]
113
+ ],
142
114
  );
143
115
 
144
- return (
145
- <LocalStorageContext.Provider value={value}>
146
- {children}
147
- </LocalStorageContext.Provider>
148
- );
116
+ return <LocalStorageContext.Provider value={value}>{children}</LocalStorageContext.Provider>;
149
117
  };
150
118
 
151
119
  export const useLocalStorage = () => {
152
120
  const context = useContext(LocalStorageContext);
153
121
  if (!context) {
154
- throw new Error(
155
- "useLocalStorage must be used within a LocalStorageProvider"
156
- );
122
+ throw new Error('useLocalStorage must be used within a LocalStorageProvider');
157
123
  }
158
124
  return context;
159
125
  };
@@ -1,28 +1,18 @@
1
- import React, { createContext, useContext, ReactNode, useMemo } from "react";
2
- import { useAtomValue, useSetAtom } from "jotai";
3
- import { useColorsAndFrontendConfig } from "src/hooks/GraphQLConfig/useGraphQLConfig";
4
- import { orgShortNameAtom } from "src/atoms/envive/enviveConfig";
5
- import { newOrgConfigAtom } from "src/atoms/org/newOrgConfigAtom"; // Import newOrgConfigAtom
6
- import { OrgConfigFeatureGate } from "src/application/models/api/orgConfigResults"; // Import OrgConfigFeatureGate
7
- import { FeatureFlagServiceProvider } from "src/contexts/featureFlagServiceContext/featureFlagServiceContext"; // Import FeatureFlagServiceProvider
8
- import { GraphQlConfigValues } from "../graphqlContext";
9
-
10
- export type NewOrgConfigContextType = GraphQlConfigValues & {
11
- loading: boolean;
12
- error: Error | null;
13
- };
1
+ import React, { createContext, useContext, ReactNode, useMemo } from 'react';
2
+ import { useAtomValue, useSetAtom } from 'jotai';
3
+ import { useColorsAndFrontendConfig } from 'src/hooks/GraphQLConfig/useGraphQLConfig';
4
+ import { orgShortNameAtom } from 'src/atoms/envive/enviveConfig';
5
+ import { newOrgConfigAtom } from 'src/atoms/org/newOrgConfigAtom';
6
+ import { NewOrgConfigContextType, OrgConfigFeatureGate } from '@envive-ai/types';
7
+ import { FeatureFlagServiceProvider } from '../featureFlagServiceContext';
14
8
 
15
- const NewOrgConfigContext = createContext<NewOrgConfigContextType | undefined>(
16
- undefined
17
- );
9
+ const NewOrgConfigContext = createContext<NewOrgConfigContextType | undefined>(undefined);
18
10
 
19
11
  interface NewOrgConfigProviderProps {
20
12
  children: ReactNode;
21
13
  }
22
14
 
23
- export const NewOrgConfigProvider: React.FC<NewOrgConfigProviderProps> = ({
24
- children,
25
- }) => {
15
+ export const NewOrgConfigProvider: React.FC<NewOrgConfigProviderProps> = ({ children }) => {
26
16
  const orgShortName = useAtomValue(orgShortNameAtom);
27
17
  const setNewOrgConfig = useSetAtom(newOrgConfigAtom);
28
18
 
@@ -55,9 +45,7 @@ export const NewOrgConfigProvider: React.FC<NewOrgConfigProviderProps> = ({
55
45
  export const useNewOrgConfigContext = () => {
56
46
  const context = useContext(NewOrgConfigContext);
57
47
  if (context === undefined) {
58
- throw new Error(
59
- "useNewOrgConfigContext must be used within a NewOrgConfigProvider"
60
- );
48
+ throw new Error('useNewOrgConfigContext must be used within a NewOrgConfigProvider');
61
49
  }
62
50
  return context;
63
51
  };