@envive-ai/react-hooks 0.1.5 → 0.1.7

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 (747) hide show
  1. package/dist/NewOrgConfig-C5YL4Y62.cjs +20 -0
  2. package/dist/NewOrgConfig-CRyIfb_l.js +15 -0
  3. package/dist/SystemSettingsContext-Cb9YHln8.cjs +20 -0
  4. package/dist/SystemSettingsContext-D3mmGGcv.js +13 -0
  5. package/dist/TrackComponentVisibleEvent-C7c_rHFW.cjs +59 -0
  6. package/dist/TrackComponentVisibleEvent-DXTEBjGM.js +52 -0
  7. package/dist/amplitudeContext-CB_F-nJY.d.cts +52 -0
  8. package/dist/amplitudeContext-Cak6ijMq.js +287 -0
  9. package/dist/amplitudeContext-DFYBDc0h.d.ts +52 -0
  10. package/dist/amplitudeContext-sTEsPaVG.cjs +309 -0
  11. package/dist/api-DSFlctlc.cjs +269 -0
  12. package/dist/api-JTNjuOfc.js +190 -0
  13. package/dist/app-D_upYeqF.js +132 -0
  14. package/dist/app-KXTMPa4s.cjs +178 -0
  15. package/dist/application/models/graphql/index.cjs +4 -12
  16. package/dist/application/models/graphql/index.d.cts +1 -1
  17. package/dist/application/models/graphql/index.d.ts +1 -1
  18. package/dist/application/models/graphql/index.js +2 -10
  19. package/dist/application/models/guards/api/index.cjs +2 -2
  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 +2 -2
  23. package/dist/application/models/index.cjs +52 -56
  24. package/dist/application/models/index.d.cts +10 -8
  25. package/dist/application/models/index.d.ts +11 -9
  26. package/dist/application/models/index.js +10 -11
  27. package/dist/application/models/utilityTypes/index.cjs +1 -1
  28. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  29. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  30. package/dist/application/models/utilityTypes/index.js +1 -1
  31. package/dist/application/models/variantInfo/index.cjs +1 -1
  32. package/dist/application/models/variantInfo/index.d.ts +1 -1
  33. package/dist/application/models/variantInfo/index.js +1 -1
  34. package/dist/application/utils/index.cjs +46 -37
  35. package/dist/application/utils/index.d.cts +21 -13
  36. package/dist/application/utils/index.d.ts +21 -13
  37. package/dist/application/utils/index.js +19 -10
  38. package/dist/{atomStore-JwGb7pcy.cjs → atomStore-DEZyFCNz.cjs} +1 -1
  39. package/dist/{atomStore-B1cgmbP0.js → atomStore-DnPEioF4.js} +1 -1
  40. package/dist/atoms/app/index.cjs +18 -16
  41. package/dist/atoms/app/index.d.cts +23 -18
  42. package/dist/atoms/app/index.d.ts +24 -19
  43. package/dist/atoms/app/index.js +14 -11
  44. package/dist/atoms/atomStore/index.cjs +2 -1
  45. package/dist/atoms/atomStore/index.d.cts +24 -2
  46. package/dist/atoms/atomStore/index.d.ts +24 -2
  47. package/dist/atoms/atomStore/index.js +2 -1
  48. package/dist/atoms/chat/index.cjs +50 -40
  49. package/dist/atoms/chat/index.d.cts +38 -35
  50. package/dist/atoms/chat/index.d.ts +39 -36
  51. package/dist/atoms/chat/index.js +20 -10
  52. package/dist/atoms/globalSearch/index.cjs +1 -1
  53. package/dist/atoms/globalSearch/index.d.cts +5 -5
  54. package/dist/atoms/globalSearch/index.d.ts +6 -6
  55. package/dist/atoms/globalSearch/index.js +1 -1
  56. package/dist/atoms/org/index.cjs +18 -38
  57. package/dist/atoms/org/index.d.cts +36 -54
  58. package/dist/atoms/org/index.d.ts +36 -54
  59. package/dist/atoms/org/index.js +5 -11
  60. package/dist/atoms/search/index.cjs +57 -41
  61. package/dist/atoms/search/index.d.cts +11 -8
  62. package/dist/atoms/search/index.d.ts +12 -9
  63. package/dist/atoms/search/index.js +26 -10
  64. package/dist/atoms/search/types.cjs +5 -0
  65. package/dist/atoms/search/types.d.cts +2 -0
  66. package/dist/atoms/search/types.d.ts +2 -0
  67. package/dist/atoms/search/types.js +3 -0
  68. package/dist/cdnContext-BMjVfBft.cjs +53 -0
  69. package/dist/cdnContext-DgsJ00Tb.js +38 -0
  70. package/dist/{chat-CHmD79E1.js → chat-B4lkFIxz.js} +1 -1
  71. package/dist/chat-D1Eat8Ih.cjs +394 -0
  72. package/dist/chat-DPJGdUkz.js +258 -0
  73. package/dist/{chat-_NzpO_Hn.cjs → chat-zA-K4tR_.cjs} +1 -1
  74. package/dist/chatElementDisplayLocation-9SW40Dd3.d.cts +25 -0
  75. package/dist/chatElementDisplayLocation-C1tRM5OD.d.ts +25 -0
  76. package/dist/chatSearch-B5jMnCYX.js +315 -0
  77. package/dist/chatSearch-DWMiyWN0.cjs +444 -0
  78. package/dist/chatState-BisPJd5g.cjs +120 -0
  79. package/dist/chatState-BrmBYY8l.js +34 -0
  80. package/dist/commerce-api-CxDIfeME.cjs +318 -0
  81. package/dist/commerce-api-DagLj3D_.js +311 -0
  82. package/dist/{components-Dl-TMD9k.js → components-B1edduHz.js} +1 -1
  83. package/dist/{components-D0XDRcaN.cjs → components-g0G58Kat.cjs} +1 -1
  84. package/dist/config/locators/components/chat/index.cjs +1 -1
  85. package/dist/config/locators/components/chat/index.d.cts +1 -1
  86. package/dist/config/locators/components/chat/index.d.ts +1 -1
  87. package/dist/config/locators/components/chat/index.js +1 -1
  88. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  89. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  90. package/dist/config/locators/components/index.cjs +1 -1
  91. package/dist/config/locators/components/index.d.cts +1 -1
  92. package/dist/config/locators/components/index.d.ts +1 -1
  93. package/dist/config/locators/components/index.js +1 -1
  94. package/dist/config/locators/components/search/index.d.cts +1 -1
  95. package/dist/config/locators/components/search/index.d.ts +1 -1
  96. package/dist/config/locators/index.cjs +42 -22
  97. package/dist/config/locators/index.d.cts +2 -2
  98. package/dist/config/locators/index.d.ts +3 -3
  99. package/dist/config/locators/index.js +25 -5
  100. package/dist/contexts/amplitudeContext/index.cjs +21 -0
  101. package/dist/contexts/amplitudeContext/index.d.cts +2 -0
  102. package/dist/contexts/amplitudeContext/index.d.ts +2 -0
  103. package/dist/contexts/amplitudeContext/index.js +19 -0
  104. package/dist/contexts/cdnContext/index.cjs +7 -0
  105. package/dist/contexts/cdnContext/index.d.cts +15 -0
  106. package/dist/contexts/cdnContext/index.d.ts +15 -0
  107. package/dist/contexts/cdnContext/index.js +6 -0
  108. package/dist/contexts/chatContext/index.cjs +329 -0
  109. package/dist/contexts/chatContext/index.d.cts +15 -0
  110. package/dist/contexts/chatContext/index.d.ts +15 -0
  111. package/dist/contexts/chatContext/index.js +322 -0
  112. package/dist/contexts/enviveConfigContext/index.cjs +7 -0
  113. package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
  114. package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
  115. package/dist/contexts/enviveConfigContext/index.js +6 -0
  116. package/dist/contexts/enviveCssContext/index.cjs +65 -0
  117. package/dist/contexts/enviveCssContext/index.d.cts +10 -0
  118. package/dist/contexts/enviveCssContext/index.d.ts +10 -0
  119. package/dist/contexts/enviveCssContext/index.js +62 -0
  120. package/dist/contexts/featureFlagContext/index.cjs +107 -0
  121. package/dist/contexts/featureFlagContext/index.d.cts +20 -0
  122. package/dist/contexts/featureFlagContext/index.d.ts +20 -0
  123. package/dist/contexts/featureFlagContext/index.js +103 -0
  124. package/dist/contexts/featureFlagServiceContext/index.cjs +6 -0
  125. package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
  126. package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
  127. package/dist/contexts/featureFlagServiceContext/index.js +5 -0
  128. package/dist/contexts/graphqlContext/index.cjs +15 -0
  129. package/dist/contexts/graphqlContext/index.d.cts +12 -0
  130. package/dist/contexts/graphqlContext/index.d.ts +12 -0
  131. package/dist/contexts/graphqlContext/index.js +14 -0
  132. package/dist/contexts/localStorageContext/index.cjs +6 -0
  133. package/dist/contexts/localStorageContext/index.d.cts +30 -0
  134. package/dist/contexts/localStorageContext/index.d.ts +30 -0
  135. package/dist/contexts/localStorageContext/index.js +4 -0
  136. package/dist/contexts/newOrgConfigContext/index.cjs +19 -0
  137. package/dist/contexts/newOrgConfigContext/index.d.cts +30 -0
  138. package/dist/contexts/newOrgConfigContext/index.d.ts +30 -0
  139. package/dist/contexts/newOrgConfigContext/index.js +18 -0
  140. package/dist/contexts/searchContext/index.cjs +23 -0
  141. package/dist/contexts/searchContext/index.d.cts +16 -0
  142. package/dist/contexts/searchContext/index.d.ts +16 -0
  143. package/dist/contexts/searchContext/index.js +22 -0
  144. package/dist/contexts/sessionStorageContext/index.cjs +5 -0
  145. package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
  146. package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
  147. package/dist/contexts/sessionStorageContext/index.js +4 -0
  148. package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
  149. package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
  150. package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
  151. package/dist/contexts/shopifyUrlContext/index.js +4 -0
  152. package/dist/contexts/systemSettingsContext/index.cjs +8 -0
  153. package/dist/contexts/systemSettingsContext/index.d.cts +36 -0
  154. package/dist/contexts/systemSettingsContext/index.d.ts +36 -0
  155. package/dist/contexts/systemSettingsContext/index.js +6 -0
  156. package/dist/contexts/types.cjs +7 -0
  157. package/dist/contexts/types.d.cts +4 -0
  158. package/dist/contexts/types.d.ts +4 -0
  159. package/dist/contexts/types.js +3 -0
  160. package/dist/contexts/userIdentityContext/index.cjs +26 -0
  161. package/dist/contexts/userIdentityContext/index.d.cts +2 -0
  162. package/dist/contexts/userIdentityContext/index.d.ts +2 -0
  163. package/dist/contexts/userIdentityContext/index.js +25 -0
  164. package/dist/domObserver-B6cRGTny.js +285 -0
  165. package/dist/domObserver-DQZwhPrc.cjs +304 -0
  166. package/dist/enviveConfig-BJZ4zTJo.js +62 -0
  167. package/dist/enviveConfig-DdBrcGSQ.cjs +130 -0
  168. package/dist/enviveConfigContext-78orE_uH.cjs +60 -0
  169. package/dist/enviveConfigContext-jBCCWQH9.js +45 -0
  170. package/dist/events/index.cjs +1 -1
  171. package/dist/events/index.d.ts +1 -1
  172. package/dist/events/index.js +1 -1
  173. package/dist/{events-ClCDFK7t.js → events-BHJJjPDN.js} +1 -1
  174. package/dist/{events-Da7gpmGv.cjs → events-B_fJZf9E.cjs} +1 -1
  175. package/dist/featureFlagServiceContext-ChL7DJ53.cjs +56 -0
  176. package/dist/featureFlagServiceContext-D1PzHsEs.d.ts +23 -0
  177. package/dist/featureFlagServiceContext-DQwlCTde.d.cts +23 -0
  178. package/dist/featureFlagServiceContext-DzFfmb1Z.js +42 -0
  179. package/dist/featureGates-Blx10fwB.js +27 -0
  180. package/dist/featureGates-DcZNrUma.cjs +33 -0
  181. package/dist/frontendConfig-DrvrQSm8.d.ts +857 -0
  182. package/dist/frontendConfig-wg41mBok.d.cts +857 -0
  183. package/dist/{globalSearch-BTeZxvk1.cjs → globalSearch-Bnjlxtr5.cjs} +1 -1
  184. package/dist/{globalSearch-b0wC7ZEO.js → globalSearch-CRWUqnjq.js} +1 -1
  185. package/dist/graphql-B9HhDXYt.cjs +53 -0
  186. package/dist/graphql-W7GMIHUu.js +36 -0
  187. package/dist/graphqlConfig-Bn-HLHsh.cjs +39 -0
  188. package/dist/graphqlConfig-DtZm_YaH.js +14 -0
  189. package/dist/graphqlContext-BJg7B--J.js +96 -0
  190. package/dist/graphqlContext-DI-_VRmb.cjs +111 -0
  191. package/dist/hooks/AmplitudeOperations/index.cjs +21 -0
  192. package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
  193. package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
  194. package/dist/hooks/AmplitudeOperations/index.js +21 -0
  195. package/dist/hooks/AppDetails/index.cjs +18 -0
  196. package/dist/hooks/AppDetails/index.d.cts +26 -0
  197. package/dist/hooks/AppDetails/index.d.ts +26 -0
  198. package/dist/hooks/AppDetails/index.js +18 -0
  199. package/dist/hooks/BlockBackButton/index.cjs +29 -0
  200. package/dist/hooks/BlockBackButton/index.d.cts +5 -0
  201. package/dist/hooks/BlockBackButton/index.d.ts +5 -0
  202. package/dist/hooks/BlockBackButton/index.js +27 -0
  203. package/dist/hooks/CdnOperations/index.cjs +24 -0
  204. package/dist/hooks/CdnOperations/index.d.cts +7 -0
  205. package/dist/hooks/CdnOperations/index.d.ts +7 -0
  206. package/dist/hooks/CdnOperations/index.js +22 -0
  207. package/dist/hooks/ChatToggle/index.cjs +63 -0
  208. package/dist/hooks/ChatToggle/index.d.cts +12 -0
  209. package/dist/hooks/ChatToggle/index.d.ts +12 -0
  210. package/dist/hooks/ChatToggle/index.js +61 -0
  211. package/dist/hooks/ChatToggleAnalytics/index.cjs +37 -0
  212. package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
  213. package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
  214. package/dist/hooks/ChatToggleAnalytics/index.js +35 -0
  215. package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
  216. package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
  217. package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
  218. package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
  219. package/dist/hooks/Debounce/index.cjs +3 -0
  220. package/dist/hooks/Debounce/index.d.cts +5 -0
  221. package/dist/hooks/Debounce/index.d.ts +5 -0
  222. package/dist/hooks/Debounce/index.js +3 -0
  223. package/dist/hooks/ElementObserver/index.cjs +179 -0
  224. package/dist/hooks/ElementObserver/index.d.cts +29 -0
  225. package/dist/hooks/ElementObserver/index.d.ts +29 -0
  226. package/dist/hooks/ElementObserver/index.js +177 -0
  227. package/dist/hooks/GrabAndScroll/index.cjs +99 -0
  228. package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
  229. package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
  230. package/dist/hooks/GrabAndScroll/index.js +97 -0
  231. package/dist/hooks/GraphQLConfig/index.cjs +16 -0
  232. package/dist/hooks/GraphQLConfig/index.d.cts +15 -0
  233. package/dist/hooks/GraphQLConfig/index.d.ts +15 -0
  234. package/dist/hooks/GraphQLConfig/index.js +15 -0
  235. package/dist/hooks/IdentifyUser/index.cjs +59 -0
  236. package/dist/hooks/IdentifyUser/index.d.cts +10 -0
  237. package/dist/hooks/IdentifyUser/index.d.ts +10 -0
  238. package/dist/hooks/IdentifyUser/index.js +57 -0
  239. package/dist/hooks/ImageResolver/index.cjs +54 -0
  240. package/dist/hooks/ImageResolver/index.d.cts +7 -0
  241. package/dist/hooks/ImageResolver/index.d.ts +7 -0
  242. package/dist/hooks/ImageResolver/index.js +52 -0
  243. package/dist/hooks/Intersection/index.cjs +3 -0
  244. package/dist/hooks/Intersection/index.d.cts +7 -0
  245. package/dist/hooks/Intersection/index.d.ts +7 -0
  246. package/dist/hooks/Intersection/index.js +3 -0
  247. package/dist/hooks/IsSmallScreen/index.cjs +22 -0
  248. package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
  249. package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
  250. package/dist/hooks/IsSmallScreen/index.js +20 -0
  251. package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
  252. package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
  253. package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
  254. package/dist/hooks/LocalStorageOperations/index.js +74 -0
  255. package/dist/hooks/MessageFilter/index.cjs +53 -0
  256. package/dist/hooks/MessageFilter/index.d.cts +29 -0
  257. package/dist/hooks/MessageFilter/index.d.ts +29 -0
  258. package/dist/hooks/MessageFilter/index.js +53 -0
  259. package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
  260. package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
  261. package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
  262. package/dist/hooks/MessageScrollObserver/index.js +34 -0
  263. package/dist/hooks/NewOrgConfig/index.cjs +19 -0
  264. package/dist/hooks/NewOrgConfig/index.d.cts +22 -0
  265. package/dist/hooks/NewOrgConfig/index.d.ts +22 -0
  266. package/dist/hooks/NewOrgConfig/index.js +19 -0
  267. package/dist/hooks/Search/index.cjs +324 -0
  268. package/dist/hooks/Search/index.d.cts +66 -0
  269. package/dist/hooks/Search/index.d.ts +66 -0
  270. package/dist/hooks/Search/index.js +321 -0
  271. package/dist/hooks/SearchOperations/index.cjs +101 -0
  272. package/dist/hooks/SearchOperations/index.d.cts +22 -0
  273. package/dist/hooks/SearchOperations/index.d.ts +22 -0
  274. package/dist/hooks/SearchOperations/index.js +98 -0
  275. package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
  276. package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
  277. package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
  278. package/dist/hooks/SessionStorageOperations/index.js +28 -0
  279. package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
  280. package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
  281. package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
  282. package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
  283. package/dist/hooks/SnapCalculator/index.cjs +29 -0
  284. package/dist/hooks/SnapCalculator/index.d.cts +12 -0
  285. package/dist/hooks/SnapCalculator/index.d.ts +12 -0
  286. package/dist/hooks/SnapCalculator/index.js +27 -0
  287. package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
  288. package/dist/hooks/SystemSettingsContext/index.d.cts +22 -0
  289. package/dist/hooks/SystemSettingsContext/index.d.ts +22 -0
  290. package/dist/hooks/SystemSettingsContext/index.js +7 -0
  291. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -0
  292. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
  293. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
  294. package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -0
  295. package/dist/hooks/UpdateAnalyticsProps/index.cjs +61 -0
  296. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
  297. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
  298. package/dist/hooks/UpdateAnalyticsProps/index.js +58 -0
  299. package/dist/index-BCLaqnc2.d.cts +689 -0
  300. package/dist/{index-D2VaMPA3.d.ts → index-BS7-_CW4.d.ts} +1 -1
  301. package/dist/{index-BTK5uzs6.d.cts → index-Bmub8e38.d.cts} +1 -1
  302. package/dist/index-Bs0QtkSu.d.ts +689 -0
  303. package/dist/{index-BzgkfbNO.d.cts → index-CESxqFso.d.cts} +1 -1
  304. package/dist/index-CKeS9dud.d.ts +28 -0
  305. package/dist/{index-ClJ0nMsR.d.cts → index-CiWEYzXl.d.cts} +2 -2
  306. package/dist/index-CyXULMyI.d.cts +186 -0
  307. package/dist/index-Cz10TYQA.d.cts +28 -0
  308. package/dist/{index-CSIOQD-A.d.ts → index-D8ThXrqI.d.ts} +1 -1
  309. package/dist/{index-Dxpscrvz.d.ts → index-D9VegTU-.d.ts} +1 -1
  310. package/dist/{index-Cr2y08f1.d.ts → index-DBqgBV9N.d.ts} +1 -1
  311. package/dist/{index-CKKkTsms.d.ts → index-DNUKSg6R.d.ts} +1 -1
  312. package/dist/{index-BdNKc2ix.d.cts → index-DO0s5KNA.d.cts} +1 -1
  313. package/dist/{index-Cx9e-fRi.d.ts → index-DuyZQOE1.d.ts} +2 -2
  314. package/dist/{index-BrXuc_Ck.d.cts → index-REhT-Pls.d.cts} +1 -1
  315. package/dist/index-fKJB9EFb.d.ts +186 -0
  316. package/dist/interceptors/index.cjs +3 -12
  317. package/dist/interceptors/index.d.cts +12 -18
  318. package/dist/interceptors/index.d.ts +13 -19
  319. package/dist/interceptors/index.js +3 -11
  320. package/dist/interceptors/types.cjs +1 -0
  321. package/dist/interceptors/types.d.cts +12 -0
  322. package/dist/interceptors/types.d.ts +12 -0
  323. package/dist/interceptors/types.js +3 -0
  324. package/dist/localStorageContext-6OrGDFid.js +95 -0
  325. package/dist/localStorageContext-Bld0OWmG.cjs +115 -0
  326. package/dist/{logger-Dln20ans.cjs → logger-CSL2jqI9.cjs} +1 -1
  327. package/dist/{logger-pdEEY8T2.js → logger-D5MFf3nW.js} +1 -1
  328. package/dist/models-Dn8Emdzc.js +1295 -0
  329. package/dist/models-ZpQcRZQK.cjs +1536 -0
  330. package/dist/newOrgConfigAtom--tewb_G0.js +8 -0
  331. package/dist/newOrgConfigAtom-DkSi45_Q.cjs +15 -0
  332. package/dist/newOrgConfigContext-B3aeblfE.cjs +68 -0
  333. package/dist/newOrgConfigContext-B5mzHKTG.js +53 -0
  334. package/dist/{nodeSelector-vKB44CDB.d.cts → nodeSelector-XsUa5vNH.d.cts} +1 -1
  335. package/dist/org-B2uRkPt3.js +12 -0
  336. package/dist/org-ClUxpHPZ.cjs +43 -0
  337. package/dist/orgAnalyticsConfig-CuWXijsr.cjs +39 -0
  338. package/dist/orgAnalyticsConfig-DOceTdNp.js +14 -0
  339. package/dist/search-BIomqYy6.d.ts +20 -0
  340. package/dist/search-B_Hg-Es2.d.cts +20 -0
  341. package/dist/search-Bn4x-3TG.js +126 -0
  342. package/dist/search-DsQm_pAi.cjs +205 -0
  343. package/dist/{search-filter-types-C-zZSpGo.d.ts → search-filter-types-B5xcaEit.d.ts} +1 -1
  344. package/dist/{search-filter-types-9rTb3jMj.d.cts → search-filter-types-Byd0lEUa.d.cts} +1 -1
  345. package/dist/searchContext-Cn-pCoDy.cjs +145 -0
  346. package/dist/searchContext-fQDGSvUF.js +129 -0
  347. package/dist/searchServiceAdapter-BSPZOg1r.js +16 -0
  348. package/dist/searchServiceAdapter-DrjFCiw8.cjs +34 -0
  349. package/dist/sessionStorageContext-C5MUl2zf.js +52 -0
  350. package/dist/sessionStorageContext-CXE7iHtP.cjs +66 -0
  351. package/dist/shopifyUrlContext-7ppKx1jJ.cjs +75 -0
  352. package/dist/shopifyUrlContext-BSYWsoX9.js +61 -0
  353. package/dist/spiffyWidgets-CdxRcXhW.d.ts +20 -0
  354. package/dist/spiffyWidgets-DxGuuuCG.d.cts +20 -0
  355. package/dist/systemSettingsContext-BdAe_3Ll.cjs +60 -0
  356. package/dist/systemSettingsContext-Cjyo2o3N.js +39 -0
  357. package/dist/{test-types-CuOq25VT.d.cts → test-types-DQB1JqOf.d.cts} +1 -1
  358. package/dist/{test-types-CXVJxTeu.d.ts → test-types-ZuRAYwox.d.ts} +1 -1
  359. package/dist/types/index.cjs +33 -5
  360. package/dist/types/index.d.cts +2 -2
  361. package/dist/types/index.d.ts +2 -2
  362. package/dist/types/index.js +30 -3
  363. package/dist/types-BCz-hOvv.d.ts +51 -0
  364. package/dist/types-BwNrLPSZ.cjs +106 -0
  365. package/dist/types-D3uOF0Oy.js +76 -0
  366. package/dist/types-DIk0FLwd.js +30 -0
  367. package/dist/types-DNLkuGWZ.cjs +48 -0
  368. package/dist/types-DzwBmZHy.d.cts +10 -0
  369. package/dist/types-Eip78dWv.d.cts +51 -0
  370. package/dist/types-YvACLe2e.d.ts +10 -0
  371. package/dist/types.cjs +0 -0
  372. package/dist/types.d.cts +15 -0
  373. package/dist/types.d.ts +15 -0
  374. package/dist/types.js +1 -0
  375. package/dist/unsupportedProductExceptions--t7AQFou.js +20 -0
  376. package/dist/unsupportedProductExceptions-Dak4AD-t.cjs +32 -0
  377. package/dist/urlsParser-BV5yF8sa.cjs +78 -0
  378. package/dist/urlsParser-DUgV_Qy9.js +42 -0
  379. package/dist/useAmplitudeOperations-C6Osqkso.js +34 -0
  380. package/dist/useAmplitudeOperations-Cco_B3A5.cjs +41 -0
  381. package/dist/useAppDetails-CGqtN6sJ.cjs +38 -0
  382. package/dist/useAppDetails-DwX2Rhed.js +30 -0
  383. package/dist/useDebounce-BJqnCBcl.cjs +26 -0
  384. package/dist/useDebounce-Ce31ph7m.js +19 -0
  385. package/dist/useGraphQLConfig-ByOZb3oZ.js +63 -0
  386. package/dist/useGraphQLConfig-DItL4BgM.cjs +76 -0
  387. package/dist/useIntersection-Czeo04jt.js +21 -0
  388. package/dist/useIntersection-DnZNLcnu.cjs +28 -0
  389. package/dist/useMessageInterceptor-C9p9No1n.cjs +33 -0
  390. package/dist/useMessageInterceptor-tntd2rvB.js +25 -0
  391. package/dist/userIdentityContext-C1HzZFb2.cjs +125 -0
  392. package/dist/userIdentityContext-CDfosvOO.js +109 -0
  393. package/dist/userIdentityContext-DBXoLrFu.d.cts +20 -0
  394. package/dist/userIdentityContext-W1OWF3cG.d.ts +20 -0
  395. package/dist/utilityTypes-CWJZb9BZ.js +1 -0
  396. package/dist/utilityTypes-YGiMSyV7.cjs +0 -0
  397. package/dist/utils-BA5HXmkL.cjs +74 -0
  398. package/dist/utils-BTDw2aMx.cjs +715 -0
  399. package/dist/utils-C7S9YiFp.js +54 -0
  400. package/dist/utils-CF13DfA1.js +606 -0
  401. package/dist/variantInfo-58JLeDJb.js +1 -0
  402. package/dist/variantInfo-DRFLcGc7.cjs +0 -0
  403. package/package.json +278 -25
  404. package/src/{adapters/spiffy/commerce/api.ts → application/commerce-api.ts} +31 -23
  405. package/src/application/models/colorsConfig.ts +18 -18
  406. package/src/application/models/frontendConfig.ts +3 -3
  407. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -1
  408. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -1
  409. package/src/application/models/index.ts +0 -3
  410. package/src/application/models/localStorageEventListener.ts +2 -2
  411. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  412. package/src/application/models/validators/validateGraphQLColorsConfig.ts +0 -21
  413. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +2 -2
  414. package/src/application/utils/analyticsUtils.ts +53 -22
  415. package/src/application/utils/cdnUtils.ts +11 -0
  416. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +15 -0
  417. package/src/atoms/app/index.ts +7 -17
  418. package/src/atoms/app/variant.ts +13 -4
  419. package/src/atoms/chat/chatState.ts +28 -18
  420. package/src/atoms/chat/messageQueue.ts +36 -5
  421. package/src/atoms/chat/replies.ts +45 -37
  422. package/src/atoms/envive/enviveConfig.ts +10 -6
  423. package/src/atoms/org/graphqlConfig.ts +6 -38
  424. package/src/atoms/org/index.ts +3 -4
  425. package/src/atoms/org/newOrgConfigAtom.ts +4 -0
  426. package/src/atoms/search/chatSearch.ts +11 -5
  427. package/src/atoms/search/searchAPI.ts +22 -12
  428. package/src/atoms/search/searchServiceAdapter.ts +25 -0
  429. package/src/contexts/amplitudeContext/amplitudeContext.tsx +465 -0
  430. package/src/contexts/amplitudeContext/index.ts +1 -0
  431. package/src/contexts/cdnContext/cdnContext.tsx +48 -0
  432. package/src/contexts/cdnContext/index.ts +1 -0
  433. package/src/contexts/{chatContext.tsx → chatContext/chatContext.tsx} +16 -13
  434. package/src/contexts/chatContext/index.ts +1 -0
  435. package/src/contexts/{enviveConfigContext.tsx → enviveConfigContext/enviveConfigContext.tsx} +23 -18
  436. package/src/contexts/enviveConfigContext/index.ts +1 -0
  437. package/src/contexts/enviveCssContext/enviveCssContext.tsx +49 -0
  438. package/src/contexts/enviveCssContext/index.ts +1 -0
  439. package/src/contexts/featureFlagContext/featureFlagContext.tsx +193 -0
  440. package/src/contexts/featureFlagContext/index.ts +1 -0
  441. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +87 -0
  442. package/src/contexts/featureFlagServiceContext/index.ts +1 -0
  443. package/src/contexts/graphqlContext/graphqlContext.tsx +165 -0
  444. package/src/contexts/graphqlContext/index.ts +1 -0
  445. package/src/contexts/localStorageContext/index.ts +1 -0
  446. package/src/contexts/localStorageContext/localStorageContext.tsx +159 -0
  447. package/src/contexts/newOrgConfigContext/index.ts +1 -0
  448. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +70 -0
  449. package/src/contexts/searchContext/index.ts +1 -0
  450. package/src/contexts/searchContext/searchContext.tsx +187 -0
  451. package/src/contexts/sessionStorageContext/index.ts +1 -0
  452. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +80 -0
  453. package/src/contexts/shopifyUrlContext/index.ts +1 -0
  454. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +97 -0
  455. package/src/contexts/systemSettingsContext/index.ts +1 -0
  456. package/src/contexts/types.ts +12 -8
  457. package/src/contexts/userIdentityContext/index.ts +1 -0
  458. package/src/contexts/userIdentityContext/userIdentityContext.tsx +197 -0
  459. package/src/events/registerAnalyticsListeners.ts +32 -38
  460. package/src/favicon.ico +0 -0
  461. package/src/hooks/AmplitudeOperations/index.ts +1 -0
  462. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +35 -0
  463. package/src/hooks/AppDetails/index.ts +1 -0
  464. package/src/hooks/AppDetails/useAppDetails.ts +47 -0
  465. package/src/hooks/BlockBackButton/index.ts +1 -0
  466. package/src/hooks/CdnOperations/index.ts +1 -0
  467. package/src/hooks/CdnOperations/useCdnOperations.ts +16 -0
  468. package/src/hooks/ChatToggle/index.ts +1 -0
  469. package/src/hooks/{useChatToggle.ts → ChatToggle/useChatToggle.ts} +5 -4
  470. package/src/hooks/ChatToggleAnalytics/index.ts +1 -0
  471. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +15 -0
  472. package/src/hooks/CustomerSupportHandoff/index.ts +1 -0
  473. package/src/hooks/Debounce/index.ts +1 -0
  474. package/src/hooks/ElementObserver/index.ts +1 -0
  475. package/src/hooks/GrabAndScroll/index.ts +1 -0
  476. package/src/hooks/GraphQLConfig/index.ts +1 -0
  477. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +63 -0
  478. package/src/hooks/IdentifyUser/index.ts +1 -0
  479. package/src/hooks/IdentifyUser/useIdentifyUser.ts +33 -0
  480. package/src/hooks/ImageResolver/index.ts +1 -0
  481. package/src/hooks/{useImageResolver.ts → ImageResolver/useImageResolver.ts} +7 -7
  482. package/src/hooks/Intersection/index.ts +1 -0
  483. package/src/hooks/IsSmallScreen/index.ts +1 -0
  484. package/src/hooks/LocalStorageOperations/index.ts +1 -0
  485. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +92 -0
  486. package/src/hooks/MessageFilter/index.ts +1 -0
  487. package/src/hooks/MessageScrollObserver/index.ts +1 -0
  488. package/src/hooks/NewOrgConfig/index.ts +1 -0
  489. package/src/hooks/NewOrgConfig/useNewOrgConfig.ts +7 -0
  490. package/src/hooks/Search/index.ts +1 -0
  491. package/src/hooks/{useSearch.tsx → Search/useSearch.tsx} +24 -20
  492. package/src/hooks/SearchOperations/index.ts +1 -0
  493. package/src/hooks/SearchOperations/useSearchOperations.ts +97 -0
  494. package/src/hooks/SessionStorageOperations/index.ts +1 -0
  495. package/src/hooks/SessionStorageOperations/useSessionStorageOperations.ts +28 -0
  496. package/src/hooks/ShopifyUrlOperations/index.ts +1 -0
  497. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +45 -0
  498. package/src/hooks/SnapCalculator/index.ts +1 -0
  499. package/src/hooks/SystemSettingsContext/index.ts +1 -0
  500. package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +14 -0
  501. package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -0
  502. package/src/hooks/{useTrackComponentVisibleEvent.ts → TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts} +12 -8
  503. package/src/hooks/UpdateAnalyticsProps/index.ts +1 -0
  504. package/src/hooks/{useUpdateAnalyticsProps.ts → UpdateAnalyticsProps/useUpdateAnalyticsProps.ts} +28 -17
  505. package/src/interceptors/index.ts +0 -1
  506. package/src/interceptors/useMessageInterceptor.ts +5 -8
  507. package/src/merchants/domInsertion.ts +30 -0
  508. package/src/merchants/gridInsertion.ts +19 -0
  509. package/src/types/config-versions.ts +6 -0
  510. package/src/types.ts +0 -53
  511. package/dist/adapters/amplitude/index.cjs +0 -14
  512. package/dist/adapters/amplitude/index.d.cts +0 -6
  513. package/dist/adapters/amplitude/index.d.ts +0 -6
  514. package/dist/adapters/amplitude/index.js +0 -12
  515. package/dist/api-B2euFL-5.cjs +0 -269
  516. package/dist/api-XRr_lAG6.js +0 -190
  517. package/dist/application/config/index.cjs +0 -43
  518. package/dist/application/config/index.d.cts +0 -15
  519. package/dist/application/config/index.d.ts +0 -15
  520. package/dist/application/config/index.js +0 -41
  521. package/dist/application/service/customerService/index.cjs +0 -4
  522. package/dist/application/service/customerService/index.d.cts +0 -3
  523. package/dist/application/service/customerService/index.d.ts +0 -3
  524. package/dist/application/service/customerService/index.js +0 -4
  525. package/dist/application/service/index.cjs +0 -42
  526. package/dist/application/service/index.d.cts +0 -413
  527. package/dist/application/service/index.d.ts +0 -413
  528. package/dist/application/service/index.js +0 -12
  529. package/dist/atomStore-ONYy0XuA.d.cts +0 -24
  530. package/dist/atomStore-kOKiEcNl.d.ts +0 -24
  531. package/dist/bandolier-Da4wt6sm.cjs +0 -1230
  532. package/dist/bandolier-DzEmYWcz.js +0 -1230
  533. package/dist/carpe-AXipz0Xl.cjs +0 -608
  534. package/dist/carpe-CaUKwcEa.js +0 -606
  535. package/dist/contexts/index.cjs +0 -26
  536. package/dist/contexts/index.d.cts +0 -10
  537. package/dist/contexts/index.d.ts +0 -10
  538. package/dist/contexts/index.js +0 -12
  539. package/dist/contexts-CtRlNXaS.js +0 -7674
  540. package/dist/contexts-CtgmnYNn.cjs +0 -9088
  541. package/dist/coterie--MGvWeVh.cjs +0 -240
  542. package/dist/coterie-oKHAT0lx.js +0 -240
  543. package/dist/customerService-BG1uNZZ1.cjs +0 -36
  544. package/dist/customerService-BHQRnLhC.js +0 -23
  545. package/dist/custservice-types-C8-9vKWb.cjs +0 -35
  546. package/dist/custservice-types-CamCiXjq.js +0 -23
  547. package/dist/default-B4fINY5_.cjs +0 -4
  548. package/dist/default-BrTQxA0c.js +0 -4
  549. package/dist/default-C3LrcbZB.cjs +0 -199
  550. package/dist/default-CXkYrLEr.js +0 -176
  551. package/dist/divIds-0Vj9g-fM.js +0 -23
  552. package/dist/divIds-CjceLRD9.cjs +0 -131
  553. package/dist/dreamlandBaby-BEqt0eKF.js +0 -347
  554. package/dist/dreamlandBaby-DBDjEJCc.cjs +0 -347
  555. package/dist/embedded-B5Wi9g0T.cjs +0 -131
  556. package/dist/embedded-_cLpd6FK.js +0 -23
  557. package/dist/entrypoints-CNUvSgnk.js +0 -7
  558. package/dist/entrypoints-DM9Sm18O.cjs +0 -19
  559. package/dist/featureFlagService-5wdmW02z.d.ts +0 -18
  560. package/dist/featureFlagService-DaelrXEk.d.cts +0 -18
  561. package/dist/fiveCbd-CdqNt16h.cjs +0 -614
  562. package/dist/fiveCbd-D6B-sgnX.js +0 -614
  563. package/dist/forLoveAndLemons-C7GsJG7f.cjs +0 -668
  564. package/dist/forLoveAndLemons-gNDlMtPR.js +0 -666
  565. package/dist/greenpan-B5AaW4M_.js +0 -398
  566. package/dist/greenpan-DrORpYms.cjs +0 -398
  567. package/dist/grooveLife-BJqsfH2H.cjs +0 -343
  568. package/dist/grooveLife-xIUmDM8s.js +0 -343
  569. package/dist/homegrownCannabis-8TZ21u6L.cjs +0 -411
  570. package/dist/homegrownCannabis-BtMuEvbZ.js +0 -411
  571. package/dist/hooks/index.cjs +0 -37
  572. package/dist/hooks/index.d.cts +0 -232
  573. package/dist/hooks/index.d.ts +0 -232
  574. package/dist/hooks/index.js +0 -12
  575. package/dist/index-CKUpnyJQ.d.ts +0 -72
  576. package/dist/index-CbJZOEU4.d.ts +0 -203
  577. package/dist/index-DFL1dIT_.d.ts +0 -7
  578. package/dist/index-DXpgMVpp.d.ts +0 -749
  579. package/dist/index-K2kNsOTw.d.cts +0 -203
  580. package/dist/index-MFbPQ8Ji.d.ts +0 -95
  581. package/dist/index-VHFMGkO-.d.cts +0 -72
  582. package/dist/index-VSFakgAI.d.cts +0 -95
  583. package/dist/index-aNW5V9fh.d.cts +0 -749
  584. package/dist/index-zZjcds15.d.cts +0 -7
  585. package/dist/jackArcher-WtkbLBZj.cjs +0 -728
  586. package/dist/jackArcher-sO9EbgrZ.js +0 -728
  587. package/dist/jordanCraig-471FcgqF.cjs +0 -1787
  588. package/dist/jordanCraig-DNOncplU.js +0 -1787
  589. package/dist/kindredBravely-BlLyHGMX.cjs +0 -491
  590. package/dist/kindredBravely-cqZ4OvXp.js +0 -491
  591. package/dist/kutFromTheKloth-3mOIryvt.cjs +0 -370
  592. package/dist/kutFromTheKloth-DtVNCMKa.js +0 -370
  593. package/dist/larryAndSerges-88Bvq-Us.cjs +0 -262
  594. package/dist/larryAndSerges-cvak6May.js +0 -262
  595. package/dist/leapsAndRebounds-Dmf8eUPq.js +0 -361
  596. package/dist/leapsAndRebounds-iWKc923H.cjs +0 -361
  597. package/dist/longevityrx-BTMI9vn-.js +0 -321
  598. package/dist/longevityrx-CobPyigd.cjs +0 -321
  599. package/dist/lookOptic-C4H_c0JZ.cjs +0 -283
  600. package/dist/lookOptic-Jwf7EAU8.js +0 -283
  601. package/dist/mantraBrand-CySGqbn6.cjs +0 -751
  602. package/dist/mantraBrand-DoaVj837.js +0 -751
  603. package/dist/medterra-BnZ5p27n.cjs +0 -584
  604. package/dist/medterra-DaICcPPp.js +0 -584
  605. package/dist/modells-CZ1L6dD_.js +0 -485
  606. package/dist/modells-DF0SndHr.cjs +0 -485
  607. package/dist/orgConfigResults--dAwtw3W.d.ts +0 -881
  608. package/dist/orgConfigResults-BL0XBA6x.d.cts +0 -881
  609. package/dist/pressedFloral-B3t2cYzs.cjs +0 -662
  610. package/dist/pressedFloral-Dsws2Kfb.js +0 -662
  611. package/dist/skinPerfection-CILQM2bR.cjs +0 -335
  612. package/dist/skinPerfection-DmQCntRf.js +0 -335
  613. package/dist/snapSupplements--X_v0KRM.js +0 -286
  614. package/dist/snapSupplements-Djuzl0Ed.cjs +0 -286
  615. package/dist/socialProofClasses-DdzG1tZy.js +0 -10
  616. package/dist/socialProofClasses-ky69yppk.cjs +0 -40
  617. package/dist/spanx-Bo81yXSF.cjs +0 -664
  618. package/dist/spanx-DauxB8KE.js +0 -662
  619. package/dist/spanxStaging-BucYQvR1.cjs +0 -849
  620. package/dist/spanxStaging-CfXUukdP.js +0 -846
  621. package/dist/suggestionBarV2-types-B3lwrENK.cjs +0 -16
  622. package/dist/suggestionBarV2-types-Penx3Y67.js +0 -10
  623. package/dist/supergoop-8qa_NV3F.cjs +0 -338
  624. package/dist/supergoop-DOaui-A6.js +0 -336
  625. package/dist/types-CD4LFta-.d.cts +0 -33
  626. package/dist/types-CGC6Oozp.cjs +0 -231
  627. package/dist/types-CnTCkyvK.js +0 -177
  628. package/dist/types-DBdI0j89.d.ts +0 -33
  629. package/dist/uniqueVintage-BWkDgt1z.js +0 -1212
  630. package/dist/uniqueVintage-DAne8XcL.cjs +0 -1214
  631. package/dist/variant-CC1nrywd.d.ts +0 -13
  632. package/dist/variant-CQTuQQSq.d.cts +0 -13
  633. package/dist/venaCbd-B1HO_Pkr.cjs +0 -366
  634. package/dist/venaCbd-CnByO-5R.js +0 -366
  635. package/dist/westonJonBoucher-BAGXegsX.js +0 -423
  636. package/dist/westonJonBoucher-BRfHWMbs.cjs +0 -423
  637. package/dist/wineEnthusiast-DW8JVwV8.cjs +0 -941
  638. package/dist/wineEnthusiast-EJbhMeKQ.js +0 -941
  639. package/dist/wolfMattress-B6INZNRJ.cjs +0 -373
  640. package/dist/wolfMattress-D9P7ErH_.js +0 -373
  641. package/dist/wolfTactical-C5Pupi3J.js +0 -350
  642. package/dist/wolfTactical-TMthZM93.cjs +0 -350
  643. package/src/adapters/amplitude/amplitudeAdapter.ts +0 -477
  644. package/src/adapters/amplitude/index.ts +0 -2
  645. package/src/adapters/amplitude/stubAmplitudeAdapter.ts +0 -34
  646. package/src/adapters/spiffy/commerce/graphql.ts +0 -219
  647. package/src/application/config/generalStaticConfig.ts +0 -40
  648. package/src/application/config/index.ts +0 -1
  649. package/src/application/models/domMutationContinuation.ts +0 -7
  650. package/src/application/models/domObservationStrategy.ts +0 -9
  651. package/src/application/models/supportedOrgs.ts +0 -161
  652. package/src/application/service/cachingService.ts +0 -84
  653. package/src/application/service/cdnService.ts +0 -20
  654. package/src/application/service/customerService/index.ts +0 -8
  655. package/src/application/service/customerService/providers/UnsupportedCustomerService.ts +0 -15
  656. package/src/application/service/domMutationObserver.ts +0 -320
  657. package/src/application/service/domMutations/GridInsertionService.ts +0 -123
  658. package/src/application/service/domMutations/dataLayer/dataLayerEventsListener.ts +0 -99
  659. package/src/application/service/domMutations/domInsertionService.ts +0 -90
  660. package/src/application/service/domMutations/domMutationListener.ts +0 -15
  661. package/src/application/service/domMutations/domMutationListenerState.ts +0 -52
  662. package/src/application/service/domMutations/floatingChat/embeddedChatsPlacementsListener.ts +0 -41
  663. package/src/application/service/domMutations/gladly/gladlyListener.ts +0 -61
  664. package/src/application/service/domMutations/spiffy/orgs/common/kustomerVisibilityListener.ts +0 -41
  665. package/src/application/service/domMutations/spiffy/orgs/common/orgsCommonDataLayerListener.ts +0 -119
  666. package/src/application/service/featureFlagService.ts +0 -130
  667. package/src/application/service/graphqlConfigService.ts +0 -59
  668. package/src/application/service/index.ts +0 -32
  669. package/src/application/service/kustomerIntegrationService.ts +0 -111
  670. package/src/application/service/localStorageService.ts +0 -77
  671. package/src/application/service/pageVariantService.ts +0 -866
  672. package/src/application/service/searchService.ts +0 -147
  673. package/src/application/service/sessionStorageService.ts +0 -27
  674. package/src/application/service/shopifyUrlService.ts +0 -63
  675. package/src/application/service/userIdentityService.ts +0 -114
  676. package/src/application/service/windowChatToggleService.ts +0 -80
  677. package/src/application/service/windowDataLayerService.ts +0 -181
  678. package/src/application/service/windowFrontendConfigService.ts +0 -129
  679. package/src/atoms/org/merchantCss.ts +0 -161
  680. package/src/atoms/org/org.ts +0 -251
  681. package/src/atoms/org/orgPageConfig.ts +0 -41
  682. package/src/atoms/org/orgUIConfig.ts +0 -142
  683. package/src/contexts/enviveCssContext.tsx +0 -20
  684. package/src/contexts/index.ts +0 -6
  685. package/src/contexts/orgConfigContext.tsx +0 -106
  686. package/src/enabled-features.ts +0 -83
  687. package/src/hooks/index.ts +0 -21
  688. package/src/hooks/useDynamicVariants.ts +0 -226
  689. package/src/hooks/useFileUpload.ts +0 -63
  690. package/src/hooks/useHideElements.ts +0 -85
  691. package/src/hooks/useNewOrgConfig.ts +0 -80
  692. package/src/hooks/useSystemSettingsContext.ts +0 -12
  693. package/src/interceptors/useFormEscalation.ts +0 -57
  694. package/src/merchants/bandolier/bandolier.ts +0 -1389
  695. package/src/merchants/carpe/carpe.ts +0 -656
  696. package/src/merchants/coterie/coterie.ts +0 -280
  697. package/src/merchants/default.ts +0 -193
  698. package/src/merchants/dreamlandBaby/dreamlandBaby.ts +0 -375
  699. package/src/merchants/fiveCbd/fiveCbd.ts +0 -697
  700. package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +0 -721
  701. package/src/merchants/greenpan/greenpan.ts +0 -440
  702. package/src/merchants/grooveLife/grooveLife.ts +0 -386
  703. package/src/merchants/homegrownCannabis/homegrownCannabis.ts +0 -468
  704. package/src/merchants/init-merchant.sh +0 -53
  705. package/src/merchants/jackArcher/jackArcher.ts +0 -974
  706. package/src/merchants/jordanCraig/jordanCraig.ts +0 -1927
  707. package/src/merchants/kindredBravely/kindredBravely.ts +0 -529
  708. package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +0 -418
  709. package/src/merchants/larryAndSerges/larryAndSerges.ts +0 -314
  710. package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +0 -424
  711. package/src/merchants/longevityrx/longevityrx.ts +0 -368
  712. package/src/merchants/lookOptic/lookOptic.ts +0 -323
  713. package/src/merchants/mantraBrand/mantraBrand.ts +0 -838
  714. package/src/merchants/medterra/medterra.ts +0 -670
  715. package/src/merchants/modells/modells.ts +0 -546
  716. package/src/merchants/pressedFloral/pressedFloral.ts +0 -734
  717. package/src/merchants/skinPerfection/skinPerfection.ts +0 -379
  718. package/src/merchants/snapSupplements/snapSupplements.ts +0 -325
  719. package/src/merchants/spanx/spanx.ts +0 -810
  720. package/src/merchants/spanx/spanxStaging.ts +0 -942
  721. package/src/merchants/supergoop/supergoop.ts +0 -376
  722. package/src/merchants/uniqueVintage/uniqueVintage.ts +0 -1314
  723. package/src/merchants/venaCbd/venaCbd.ts +0 -410
  724. package/src/merchants/westonJonBoucher/westonJonBoucher.ts +0 -473
  725. package/src/merchants/wineEnthusiast/wineEnthusiast.ts +0 -990
  726. package/src/merchants/wolfMattress/wolfMattress.ts +0 -411
  727. package/src/merchants/wolfTactical/wolfTactical.ts +0 -389
  728. /package/dist/{locators-CugndTUM.cjs → AmplitudeOperations-CgIVPUlr.cjs} +0 -0
  729. /package/dist/{locators-DnKpajbY.js → AmplitudeOperations-YpyaR7Mp.js} +0 -0
  730. /package/dist/{utilityTypes-BVikejDo.js → atomStore-C2OI76yN.js} +0 -0
  731. /package/dist/{utilityTypes-C4h2wgAK.cjs → atomStore-DWmT1six.cjs} +0 -0
  732. /package/dist/{variantInfo-CzhR5W6h.js → types-DQoXDiso.js} +0 -0
  733. /package/dist/{variantInfo-CNRTY0gH.cjs → types-o3zWarRp.cjs} +0 -0
  734. /package/src/contexts/{systemSettingsContext.tsx → systemSettingsContext/systemSettingsContext.tsx} +0 -0
  735. /package/src/hooks/{useBlockBackButton.ts → BlockBackButton/useBlockBackButton.ts} +0 -0
  736. /package/src/hooks/{useCustomerSupportHandoff.ts → CustomerSupportHandoff/useCustomerSupportHandoff.ts} +0 -0
  737. /package/src/hooks/{useDebounce.ts → Debounce/useDebounce.ts} +0 -0
  738. /package/src/hooks/{useElementObserver.ts → ElementObserver/useElementObserver.ts} +0 -0
  739. /package/src/hooks/{useGrabAndScroll.ts → GrabAndScroll/useGrabAndScroll.ts} +0 -0
  740. /package/src/hooks/{useIntersection.ts → Intersection/useIntersection.ts} +0 -0
  741. /package/src/hooks/{useIsSmallScreen.ts → IsSmallScreen/useIsSmallScreen.ts} +0 -0
  742. /package/src/hooks/{useMessageFilter.ts → MessageFilter/useMessageFilter.ts} +0 -0
  743. /package/src/hooks/{useMessageScrollObserver.ts → MessageScrollObserver/useMessageScrollObserver.ts} +0 -0
  744. /package/src/hooks/{useSnapCalculator.ts → SnapCalculator/useSnapCalculator.ts} +0 -0
  745. /package/src/{application/service/customerService/types.ts → types/customerService.ts} +0 -0
  746. /package/src/{adapters/spiffy/commerce → types}/exceptions/sessionExceptions.ts +0 -0
  747. /package/src/{adapters/spiffy/commerce → types}/exceptions/unsupportedProductExceptions.ts +0 -0
@@ -1,320 +0,0 @@
1
- import { DomMutationObserverContinuation } from 'src/application/models/domMutationContinuation';
2
- import { DomMutationListenerState } from './domMutations/domMutationListenerState';
3
- import Logger from '../logging/logger';
4
- import { DomMutationListener } from './domMutations/domMutationListener';
5
- import { DomObservationStrategy } from '../models/domObservationStrategy';
6
-
7
- /**
8
- * - When used before page load/render, an unoptimized MutationObserver callback can significantly delay page load time,
9
- * especially on complex pages.
10
- * - The callback runs as a microtask and can block further DOM processing, often firing hundreds or even thousands of times
11
- * per second on a complex page. Many libraries don't optimize for this, resulting in clean-looking but potentially slow code.
12
- *
13
- * Best Practices for MutationObserver Optimization:
14
- * - **Profiling:** Use DevTools Profiler to ensure the observer callback uses less than 0.1% of total CPU during page load.
15
- * - **Avoid Forced Layouts:** Refrain from triggering synchronous layouts by accessing properties like `offsetTop`.
16
- * - **Prefer Native DOM:** Use native DOM methods instead of complex frameworks like jQuery to reduce overhead.
17
- * - **Use `attributeFilter`:** When observing attributes, limit the observations to specific attributes, e.g., `attributeFilter: ['attr1', 'attr2']`.
18
- * - **Non-recursive Observations:** Observe direct parent elements with `subtree: false` whenever possible. For instance, initially observe `document` recursively, disconnect on success, and reattach a non-recursive observer to the parent element.
19
- * - **Direct Element Access:** When waiting for a single element with an `id`, use `getElementById` instead of looping over the `mutations` array.
20
- * - **HTMLCollection Checks:** For rare elements (e.g., `<iframe>` or `<object>`), use live HTMLCollections from `getElementsByTagName` or `getElementsByClassName` rather than enumerating mutations, especially with large numbers of mutations.
21
- * - **Avoid `querySelectorAll`:** Use `querySelector` first for an initial check; if successful, proceed with `querySelectorAll` only when absolutely necessary. This combo is often faster on average.
22
- * - **Legacy Browser Compatibility:**
23
- * - Avoid `Array` methods like `forEach`, `filter`, etc., and ES2015 loops (`for...of`) in pre-2018 Chrome for MutationObserver callbacks,
24
- * as these can be up to 100x slower than traditional `for` loops.
25
- * - Alternatively, use a fast functional library like lodash on older browsers. Chrome 2018+ inlines array methods efficiently.
26
- * - **Scheduled Re-checking:** For visual updates, if you can determine elements are offscreen, disconnect the observer and use `setTimeout(fn, 0)` to delay processing until initial parsing/layout is complete. After that, use `requestAnimationFrame` for chunked processing.
27
- * - **Debounce Long Processing:** If the callback processing is lengthy, causing unresponsiveness or jank, use debouncing by accumulating mutations in an array and scheduling processing with `setTimeout`, `requestIdleCallback`, or `requestAnimationFrame`.
28
- *
29
- * Example of Debounce Setup:
30
- * ```typescript
31
- * const queue: MutationRecord[] = [];
32
- * const mo = new MutationObserver(mutations => {
33
- * if (!queue.length) requestAnimationFrame(process);
34
- * queue.push(...mutations);
35
- * });
36
- * function process() {
37
- * for (const mutations of queue) {
38
- * // Processing logic
39
- * }
40
- * queue.length = 0;
41
- * }
42
- * ```
43
- * Note: `requestAnimationFrame` only triggers when the page is visible.
44
- */
45
- class DomMutationObserver {
46
- private static observerVersion = 'v1.24';
47
-
48
- private static individualObservers = false;
49
-
50
- private static deferredExecutionDelay = 500;
51
-
52
- private static startingPollingInterval = 250;
53
-
54
- private static endingPollingInterval = 2000;
55
-
56
- private static useDebounce = true;
57
-
58
- private static listeners: DomMutationListenerState[] = [];
59
-
60
- private static mutationsQueuePerListener: Map<DomMutationListenerState, MutationRecord[]> =
61
- new Map();
62
-
63
- private static mutationsQueue: MutationRecord[] = [];
64
-
65
- private static observationStrategy: DomObservationStrategy = DomObservationStrategy.None;
66
-
67
- static addDomMutationListener(listener: DomMutationListener): void {
68
- // check if the listener is already added
69
- const existingListener = this.listeners.find(
70
- (l) => l.getListener().getName() === listener.getName(),
71
- );
72
- if (existingListener) {
73
- // remove
74
- Logger.logDebug(
75
- `DomMutationObserver::addDomMutationListener removing existing listener ${existingListener.getListener().getName()}`,
76
- );
77
- this.disconnect(existingListener.getListener());
78
- // remove it from the list
79
- this.listeners = this.listeners.filter(
80
- (l) => l.getListener().getName() !== listener.getName(),
81
- );
82
- }
83
- const listenerState = new DomMutationListenerState(listener);
84
- this.listeners.push(listenerState);
85
- }
86
-
87
- static invokeListener(l: DomMutationListenerState) {
88
- if (l.getCurrentState() === DomMutationObserverContinuation.STOP) {
89
- return;
90
- }
91
-
92
- const previousState = l.getCurrentState();
93
- try {
94
- const continuation = l.getListener().onDomChange();
95
- l.setCurrentState(continuation);
96
- l.incrementCurrentTryCount();
97
- if (l.getListener().triesMax() > 0 && l.getCurrentTryCount() >= l.getListener().triesMax()) {
98
- l.setCurrentState(DomMutationObserverContinuation.STOP);
99
- Logger.logDebug(
100
- `DomMutationObserver invokeListener ${l.getListener().getName()} tries exceeded! max: ${l.getListener().triesMax()} current: ${l.getCurrentTryCount()}`,
101
- );
102
- }
103
- } catch (e) {
104
- Logger.logError(
105
- `DomMutationObserver invokeListener ${l?.getListener()?.getName()} state:${previousState}->${DomMutationObserverContinuation.STOP} error: ${e}`,
106
- e,
107
- );
108
- l.setCurrentState(DomMutationObserverContinuation.STOP); // Un-trapped exceptions halt the observer
109
- }
110
- }
111
-
112
- static observeOnDomReady(strategy: DomObservationStrategy) {
113
- Logger.logDebug(`DomMutationObserver::observeOnDomReady ${document.readyState}`);
114
- if (document.readyState === 'loading') {
115
- document.addEventListener('DOMContentLoaded', () => {
116
- this.observe(strategy);
117
- });
118
- } else {
119
- this.observe(strategy);
120
- }
121
- }
122
-
123
- static observe(strategyRequested: DomObservationStrategy) {
124
- // We can only use the given polling strategy if no prior strategy has been set
125
- // This is to prevent the listeners from being re-attached with a different strategy
126
- // and have multiple strategies running at the same time!
127
- if (this.observationStrategy === DomObservationStrategy.None) {
128
- this.observationStrategy = strategyRequested;
129
- }
130
-
131
- const strategy = this.observationStrategy;
132
- const listenersNotBound = this.listeners.filter((l) => !l.getIsAttached());
133
- if (listenersNotBound.length === 0) {
134
- Logger.logDebug(
135
- `DomMutationObserver::observe (${this.observerVersion}) no listeners to attach (${listenersNotBound.length}/${this.listeners.length})`,
136
- );
137
- return;
138
- }
139
-
140
- Logger.logInfo(
141
- `DomMutationObserver::observe (${this.observerVersion}) listeners to attach strategy=${strategy} (${listenersNotBound.length}/${this.listeners.length})`,
142
- );
143
-
144
- switch (strategy) {
145
- case DomObservationStrategy.Polling:
146
- this.observeByPolling(listenersNotBound);
147
- break;
148
- default:
149
- if (this.useDebounce) {
150
- if (this.individualObservers) {
151
- this.observeIndividuallyWithDebounce(listenersNotBound);
152
- } else {
153
- this.observeCollectivelyWithDebounce(listenersNotBound);
154
- }
155
- } else {
156
- if (this.individualObservers) {
157
- this.observeIndividually(listenersNotBound);
158
- } else {
159
- this.observeCollectively(listenersNotBound);
160
- }
161
- }
162
- break;
163
- }
164
-
165
- listenersNotBound.forEach((l) => {
166
- l.setIsAttached(true);
167
- });
168
-
169
- DomMutationObserver.runOnceImmediatelyIfRequired(listenersNotBound);
170
- }
171
-
172
- private static runOnceImmediatelyIfRequired(listenersNotBound: DomMutationListenerState[]) {
173
- listenersNotBound.forEach((l) => {
174
- l.setIsAttached(true);
175
- if (l.getListener().runOnceImmediately()) {
176
- this.invokeListener(l);
177
- }
178
- });
179
- }
180
-
181
- private static observeIndividuallyWithDebounce(listenersNotBound: DomMutationListenerState[]) {
182
- for (let i = 0; i < listenersNotBound.length; i++) {
183
- // in some older browsers forEach is less performant
184
- const l = listenersNotBound[i];
185
- const observer = new MutationObserver((mutations) => {
186
- // Avoid blocking the main thread and allow the browser to render, letting the callback run in the next microtask
187
- let mutationQueueForListener = this.mutationsQueuePerListener.get(l);
188
- if (!mutationQueueForListener) {
189
- this.mutationsQueuePerListener.set(l, []);
190
- mutationQueueForListener = this.mutationsQueuePerListener.get(l) || [];
191
- }
192
- // requestAnimationFrame or setTimeout can be used here
193
- if (!mutationQueueForListener.length) {
194
- setTimeout(() => {
195
- this.invokeListener(l);
196
- mutationQueueForListener.length = 0;
197
- }, this.deferredExecutionDelay);
198
- }
199
- mutationQueueForListener.push(...mutations);
200
- });
201
- observer.observe(document.body, { childList: true, subtree: true });
202
- }
203
- }
204
-
205
- private static observeIndividually(listenersNotBound: DomMutationListenerState[]) {
206
- for (let i = 0; i < listenersNotBound.length; i++) {
207
- // in some older browsers forEach is less performant
208
- const l = listenersNotBound[i];
209
- const observer = new MutationObserver(() => {
210
- if (l.getCurrentState() === DomMutationObserverContinuation.CONTINUE) {
211
- l.setCurrentState(DomMutationObserverContinuation.EXECUTING);
212
- // Avoid blocking the main thread and allow the browser to render, letting the callback run in the next microtask
213
- setTimeout(() => {
214
- this.invokeListener(l);
215
- }, this.deferredExecutionDelay);
216
- }
217
- });
218
- observer.observe(document.body, { childList: true, subtree: true });
219
- }
220
- }
221
-
222
- private static observeCollectivelyWithDebounce(listenersNotBound: DomMutationListenerState[]) {
223
- const observer = new MutationObserver((mutations) => {
224
- if (!this.mutationsQueue.length) {
225
- setTimeout(() => {
226
- for (let i = 0; i < listenersNotBound.length; i++) {
227
- // in some older browsers forEach is less performant
228
- const l = listenersNotBound[i];
229
- if (l.getCurrentState() === DomMutationObserverContinuation.CONTINUE) {
230
- l.setCurrentState(DomMutationObserverContinuation.EXECUTING);
231
- this.invokeListener(l);
232
- }
233
- }
234
- this.mutationsQueue.length = 0;
235
- }, this.deferredExecutionDelay);
236
- }
237
- this.mutationsQueue.push(...mutations);
238
- });
239
- observer.observe(document.body, { childList: true, subtree: true });
240
- }
241
-
242
- private static observeCollectively(listenersNotBound: DomMutationListenerState[]) {
243
- const observer = new MutationObserver(() => {
244
- // Avoid blocking the main thread and allow the browser to render, letting the callback run in the next microtask
245
- setTimeout(() => {
246
- for (let i = 0; i < listenersNotBound.length; i++) {
247
- // in some older browsers forEach is less performant
248
- const l = listenersNotBound[i];
249
- if (l.getCurrentState() === DomMutationObserverContinuation.CONTINUE) {
250
- l.setCurrentState(DomMutationObserverContinuation.EXECUTING);
251
- this.invokeListener(l);
252
- }
253
- }
254
- }, this.deferredExecutionDelay);
255
- });
256
- observer.observe(document.body, { childList: true, subtree: true });
257
- }
258
-
259
- private static poll(
260
- fn: () => Promise<void>,
261
- startingInterval: number,
262
- endingInterval: number,
263
- ): void {
264
- let intervalScalingStep = 1;
265
- const executePoll = async () => {
266
- try {
267
- await fn();
268
- } catch (error) {
269
- Logger.logWarn('Polling error:', error);
270
- } finally {
271
- let interval = startingInterval * intervalScalingStep;
272
- // take the min of the interval and the ending interval
273
- interval = Math.min(interval, endingInterval);
274
- if (interval < endingInterval) {
275
- intervalScalingStep++;
276
- }
277
- setTimeout(executePoll, interval);
278
- }
279
- };
280
- executePoll().then((_) => Logger.logDebug('Polling started'));
281
- }
282
-
283
- private static observeByPolling(listenersNotBound: DomMutationListenerState[]) {
284
- this.poll(
285
- async () => {
286
- for (let i = 0; i < listenersNotBound.length; i++) {
287
- // in some older browsers forEach is less performant
288
- const l = listenersNotBound[i];
289
- if (l.getCurrentState() === DomMutationObserverContinuation.CONTINUE) {
290
- l.setCurrentState(DomMutationObserverContinuation.EXECUTING);
291
- this.invokeListener(l);
292
- }
293
- }
294
- },
295
- this.startingPollingInterval,
296
- this.endingPollingInterval,
297
- );
298
- }
299
-
300
- static disconnect(listener: DomMutationListener) {
301
- const listenerState = this.listeners.find((l) => l.getListener() === listener);
302
-
303
- if (!listenerState) {
304
- Logger.logDebug(`DomMutationObserver::disconnect listener not found`, undefined);
305
- } else {
306
- Logger.logDebug(`DomMutationObserver::disconnect listener found`, undefined);
307
- listenerState.setCurrentState(DomMutationObserverContinuation.STOP);
308
- }
309
- }
310
-
311
- static setStartingPollingInterval(interval: number) {
312
- this.startingPollingInterval = interval;
313
- }
314
-
315
- static setEndingPollingInterval(interval: number) {
316
- this.endingPollingInterval = interval;
317
- }
318
- }
319
-
320
- export { DomMutationObserver };
@@ -1,123 +0,0 @@
1
- import Logger from 'src/application/logging/logger';
2
- import {
3
- DOMInsertionService,
4
- DOMInsertionType,
5
- } from 'src/application/service/domMutations/domInsertionService';
6
-
7
- enum GridInsertionType {
8
- FIXED_1 = 'fixed-1',
9
- FIXED_2 = 'fixed-2',
10
- FIXED_3 = 'fixed-3',
11
- FIXED_4 = 'fixed-4',
12
- FIXED_5 = 'fixed-5',
13
- FIXED_6 = 'fixed-6',
14
- FIXED_7 = 'fixed-7',
15
- FIXED_8 = 'fixed-8',
16
- FIXED_9 = 'fixed-9',
17
- FIXED_12 = 'fixed-12',
18
- FIXED_13 = 'fixed-13',
19
- ROW_1 = 'row-1',
20
- ROW_2 = 'row-2',
21
- ROW_3 = 'row-3',
22
- ROW_4 = 'row-4',
23
- }
24
-
25
- class GridInsertionService {
26
- static insert(
27
- gridInsertionType: GridInsertionType,
28
- targetElement: Element,
29
- nodeToInsert: HTMLElement,
30
- insertionType: DOMInsertionType,
31
- ) {
32
- switch (gridInsertionType) {
33
- case GridInsertionType.FIXED_1:
34
- GridInsertionService.fixedInsert(targetElement, 1, nodeToInsert, insertionType);
35
- break;
36
- case GridInsertionType.FIXED_2:
37
- GridInsertionService.fixedInsert(targetElement, 2, nodeToInsert, insertionType);
38
- break;
39
- case GridInsertionType.FIXED_3:
40
- GridInsertionService.fixedInsert(targetElement, 3, nodeToInsert, insertionType);
41
- break;
42
- case GridInsertionType.FIXED_4:
43
- GridInsertionService.fixedInsert(targetElement, 4, nodeToInsert, insertionType);
44
- break;
45
- case GridInsertionType.FIXED_5:
46
- GridInsertionService.fixedInsert(targetElement, 5, nodeToInsert, insertionType);
47
- break;
48
- case GridInsertionType.FIXED_6:
49
- GridInsertionService.fixedInsert(targetElement, 6, nodeToInsert, insertionType);
50
- break;
51
- case GridInsertionType.FIXED_7:
52
- GridInsertionService.fixedInsert(targetElement, 7, nodeToInsert, insertionType);
53
- break;
54
- case GridInsertionType.FIXED_8:
55
- GridInsertionService.fixedInsert(targetElement, 8, nodeToInsert, insertionType);
56
- break;
57
- case GridInsertionType.FIXED_9:
58
- GridInsertionService.fixedInsert(targetElement, 9, nodeToInsert, insertionType);
59
- break;
60
- case GridInsertionType.FIXED_12:
61
- GridInsertionService.fixedInsert(targetElement, 12, nodeToInsert, insertionType);
62
- break;
63
- case GridInsertionType.FIXED_13:
64
- GridInsertionService.fixedInsert(targetElement, 13, nodeToInsert, insertionType);
65
- break;
66
- case GridInsertionType.ROW_1:
67
- GridInsertionService.rowInsert(targetElement, nodeToInsert, 1);
68
- break;
69
- case GridInsertionType.ROW_2:
70
- GridInsertionService.rowInsert(targetElement, nodeToInsert, 2);
71
- break;
72
- case GridInsertionType.ROW_3:
73
- GridInsertionService.rowInsert(targetElement, nodeToInsert, 3);
74
- break;
75
- case GridInsertionType.ROW_4:
76
- GridInsertionService.rowInsert(targetElement, nodeToInsert, 4);
77
- break;
78
- default:
79
- Logger.logError(
80
- `Skipping grid insertion: invalid grid insertion type "${gridInsertionType}". \
81
- Valid types are: ${Object.keys(GridInsertionType).join(', ')}`,
82
- undefined,
83
- );
84
- }
85
- }
86
-
87
- /**
88
- * Inserts a node into a grid row at the specified index starting from index 1. If the index
89
- * is higher than the total number of rows, the node will be inserted at the end of the grid.
90
- * This function does not make any assumptions about the column span of the inserted node - that
91
- * should be handled by the orgConfig instead.
92
- *
93
- * @param targetElement - The target element to insert the node into.
94
- * @param nodeToInsert - The node to insert into the grid.
95
- * @param rowIndex - The index of the row to insert the node into.
96
- */
97
- static rowInsert(targetElement: Element, nodeToInsert: HTMLElement, rowIndex: number) {
98
- const node = nodeToInsert;
99
- node.style.gridRow = rowIndex.toString();
100
- node.style.gridColumn = '1/-1';
101
- DOMInsertionService.insert(targetElement, node, DOMInsertionType.APPEND_CHILD);
102
- }
103
-
104
- static fixedInsert(
105
- targetElement: Element,
106
- insertionGridIndex: number,
107
- nodeToInsert: HTMLElement,
108
- insertionType: DOMInsertionType,
109
- ) {
110
- const childCount = targetElement.children.length;
111
- const actualIndex = Math.min(insertionGridIndex - 1, childCount - 1);
112
- const targetChild = targetElement.children[actualIndex];
113
-
114
- if (!targetChild) {
115
- Logger.logWarn('Skipping grid insertion: grid has no elements', undefined);
116
- return;
117
- }
118
-
119
- DOMInsertionService.insert(targetChild, nodeToInsert, insertionType);
120
- }
121
- }
122
-
123
- export { GridInsertionType, GridInsertionService };
@@ -1,99 +0,0 @@
1
- import { OrgAnalyticsGoogleAnalyticsConfig } from 'src/application/models/api/orgAnalyticsConfig';
2
- import { DomMutationListener } from '../domMutationListener';
3
- import { DomMutationObserverContinuation } from '../../../models/domMutationContinuation';
4
- import Logger from '../../../logging/logger';
5
- import { WindowDataLayerService } from '../../windowDataLayerService';
6
- import { StringUtils } from '../../../utils/stringUtils';
7
-
8
- class DataLayerEventsListener implements DomMutationListener {
9
- private readonly onDataLayerPush: (event: object) => void;
10
-
11
- private readonly eventsToIntercept: string[] = [];
12
-
13
- private readonly windowDataLayerService: WindowDataLayerService;
14
-
15
- constructor(
16
- onDataLayerPush: (event: object) => void,
17
- eventsToIntercept: string[],
18
- gaConfig: OrgAnalyticsGoogleAnalyticsConfig,
19
- ) {
20
- Logger.logDebug('[spiffy-ai] DataLayerEventsListener created', undefined);
21
- this.onDataLayerPush = onDataLayerPush;
22
- this.eventsToIntercept = eventsToIntercept;
23
- this.windowDataLayerService = WindowDataLayerService.getSingletonInstanceOf(gaConfig);
24
- }
25
-
26
- runOnceImmediately(): boolean {
27
- return true;
28
- }
29
-
30
- triesMax(): number {
31
- return 10;
32
- }
33
-
34
- onDomChange(): DomMutationObserverContinuation {
35
- if (!WindowDataLayerService.isDataLayerAvailable()) {
36
- return DomMutationObserverContinuation.CONTINUE;
37
- }
38
-
39
- Logger.logDebug(`[spiffy-ai] ${this.getName()} [subscribing] to DataLayer push events`);
40
- // eslint-disable-next-line @typescript-eslint/no-this-alias
41
- const This = this;
42
-
43
- function dataLayerPushProxyMethod() {
44
- try {
45
- // flatten the event if it is an array
46
- const allArguments = WindowDataLayerService.tryFlattenArguments(arguments);
47
- let event = allArguments[0];
48
- if (!event) {
49
- Logger.logDebug(
50
- `[spiffy-ai] ${This.getName()} dataLayer event undefined. all_arguments=`,
51
- allArguments,
52
- );
53
- return;
54
- }
55
-
56
- if (event?.length > 1) {
57
- if (event[0] === 'event') {
58
- const eventName = StringUtils.trimToNull(event[1]) || '';
59
- if (This.eventsToIntercept.includes(eventName)) {
60
- Logger.logDebug(
61
- `[spiffy-ai] ${This.getName()} [datalayer-event] (1) event_name=${eventName} events_to_intercept=${This.eventsToIntercept} all_arguments=`,
62
- allArguments,
63
- );
64
- event[2]['event'] = eventName;
65
- This.onDataLayerPush(event[2]);
66
- return;
67
- }
68
- }
69
- }
70
-
71
- let eventName = StringUtils.trimToNull(event['event']) || '';
72
- if (!eventName && event['0']) {
73
- // Handle this case: [Arguments] { '0': { event: 'event1' } }
74
- eventName = StringUtils.trimToNull(event['0']['event']) || '';
75
- event = event['0'];
76
- }
77
-
78
- if (This.eventsToIntercept.includes(eventName)) {
79
- Logger.logDebug(
80
- `[spiffy-ai] ${This.getName()} [datalayer-event] (2) event_name=${eventName} events_to_intercept=${This.eventsToIntercept} all_arguments=`,
81
- arguments,
82
- );
83
- This.onDataLayerPush(event);
84
- }
85
- } catch (e) {
86
- Logger.logError(`[spiffy-ai] ${This.getName()} Error in dataLayer.push: `, e);
87
- }
88
- }
89
-
90
- this.windowDataLayerService.wrapWithProxyMethod('push', dataLayerPushProxyMethod);
91
- return DomMutationObserverContinuation.STOP;
92
- }
93
-
94
- getName(): string {
95
- return 'DataLayerEventsListener';
96
- }
97
- }
98
-
99
- export { DataLayerEventsListener };
@@ -1,90 +0,0 @@
1
- enum DOMInsertionType {
2
- AFTER = 'after',
3
- BEFORE = 'before',
4
- ADJACENT_AFTER_BEGIN = 'adjacent-after-begin',
5
- ADJACENT_BEFORE_BEGIN = 'adjacent-before-begin',
6
- ADJACENT_AFTER_END = 'adjacent-after-end',
7
- ADJACENT_BEFORE_END = 'adjacent-before-end',
8
- APPEND_CHILD = 'append-child',
9
- NONE = 'none',
10
- }
11
-
12
- export const DOMInsertionTypeToInsertPosition = (type: DOMInsertionType): InsertPosition => {
13
- switch (type) {
14
- case DOMInsertionType.ADJACENT_AFTER_BEGIN:
15
- return 'afterbegin';
16
- case DOMInsertionType.BEFORE:
17
- case DOMInsertionType.ADJACENT_BEFORE_BEGIN:
18
- return 'beforebegin';
19
- case DOMInsertionType.ADJACENT_BEFORE_END:
20
- return 'beforeend';
21
- case DOMInsertionType.AFTER:
22
- case DOMInsertionType.ADJACENT_AFTER_END:
23
- default:
24
- return 'afterend';
25
- }
26
- };
27
-
28
- class DOMInsertionService {
29
- static insert(
30
- targetElement: Element,
31
- nodeToInsert: HTMLElement,
32
- insertionType: DOMInsertionType,
33
- ) {
34
- switch (insertionType) {
35
- case DOMInsertionType.AFTER:
36
- targetElement.after(nodeToInsert);
37
- break;
38
- case DOMInsertionType.BEFORE:
39
- targetElement.before(nodeToInsert);
40
- break;
41
- case DOMInsertionType.ADJACENT_AFTER_BEGIN:
42
- targetElement.insertAdjacentElement('afterbegin', nodeToInsert);
43
- break;
44
- case DOMInsertionType.ADJACENT_BEFORE_BEGIN:
45
- targetElement.insertAdjacentElement('beforebegin', nodeToInsert);
46
- break;
47
- case DOMInsertionType.ADJACENT_AFTER_END:
48
- targetElement.insertAdjacentElement('afterend', nodeToInsert);
49
- break;
50
- case DOMInsertionType.ADJACENT_BEFORE_END:
51
- targetElement.insertAdjacentElement('beforeend', nodeToInsert);
52
- break;
53
- case DOMInsertionType.APPEND_CHILD:
54
- targetElement.appendChild(nodeToInsert);
55
- break;
56
- case DOMInsertionType.NONE:
57
- // No insertion
58
- break;
59
- // This should only happen if a new insertion type is added and not handled in the switch statement
60
- default:
61
- throw new Error(`Invalid insertion type: ${insertionType}`);
62
- }
63
- }
64
-
65
- /**
66
- * Get the insertion point for the widget.
67
- * @param selector - The selector to find the insertion point.
68
- * @param selectionIndex - For multiple matches, pick the nth element. Can be negative to insert from the end (-1 is the last element). (optional, default first)
69
- * @returns The insertion point element or null if not found.
70
- */
71
- static getInsertionPoint(selector: string, selectionIndex?: number): Element | null {
72
- let elem: Element | null = null;
73
- if (selectionIndex === undefined || selectionIndex === 0) {
74
- elem = document.querySelector(selector);
75
- if (elem?.parentElement) {
76
- return elem;
77
- }
78
- } else {
79
- const elems = document.querySelectorAll(selector);
80
- const minLength = selectionIndex > 0 ? selectionIndex + 1 : -selectionIndex;
81
- const index = selectionIndex > 0 ? selectionIndex : elems.length + selectionIndex;
82
- if (elems.length >= minLength && elems[index].parentElement) {
83
- return elems[index];
84
- }
85
- }
86
- return null;
87
- }
88
- }
89
-
90
- export { DOMInsertionService, DOMInsertionType };
@@ -1,15 +0,0 @@
1
- import { DomMutationObserverContinuation } from '../../models/domMutationContinuation';
2
-
3
- interface DomMutationListener {
4
- getName(): string;
5
-
6
- runOnceImmediately(): boolean;
7
-
8
- disconnect?(): void;
9
-
10
- triesMax(): number;
11
-
12
- onDomChange(): DomMutationObserverContinuation;
13
- }
14
-
15
- export type { DomMutationListener };