@envive-ai/react-hooks 0.2.6-alpha-arthur-2 → 0.2.6-alpha.11

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 (673) hide show
  1. package/dist/{NewOrgConfig-C_1T1iOt.js → NewOrgConfig-BZCP9E7v.js} +2 -2
  2. package/dist/{NewOrgConfig-D2Kvqa1z.cjs → NewOrgConfig-DWLMI1ga.cjs} +2 -2
  3. package/dist/SystemSettingsContext-CO5c1L62.cjs +20 -0
  4. package/dist/SystemSettingsContext-CXmUlH8i.js +13 -0
  5. package/dist/TrackComponentVisibleEvent-BJgNOypY.js +52 -0
  6. package/dist/TrackComponentVisibleEvent-BRC2FTp-.cjs +59 -0
  7. package/dist/amplitudeContext-CCVyp5RU.d.cts +52 -0
  8. package/dist/amplitudeContext-DFYBDc0h.d.ts +52 -0
  9. package/dist/api-BWSsazAG.js +166 -0
  10. package/dist/api-DeW6rHj3.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 +3 -2
  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 +23 -7
  23. package/dist/application/models/index.d.cts +12 -167
  24. package/dist/application/models/index.d.ts +13 -168
  25. package/dist/application/models/index.js +11 -7
  26. package/dist/application/models/utilityTypes/index.cjs +1 -0
  27. package/dist/application/models/utilityTypes/index.d.cts +2 -0
  28. package/dist/application/models/utilityTypes/index.d.ts +2 -0
  29. package/dist/application/models/utilityTypes/index.js +3 -0
  30. package/dist/application/models/variantInfo/index.cjs +3 -0
  31. package/dist/application/models/variantInfo/index.d.cts +2 -0
  32. package/dist/application/models/variantInfo/index.d.ts +2 -0
  33. package/dist/application/models/variantInfo/index.js +3 -0
  34. package/dist/application/utils/index.cjs +19 -10
  35. package/dist/application/utils/index.d.cts +62 -11
  36. package/dist/application/utils/index.d.ts +64 -13
  37. package/dist/application/utils/index.js +19 -10
  38. package/dist/{atomStore-BQVO5haU.cjs → atomStore-DNji91Im.cjs} +1 -1
  39. package/dist/{atomStore-CfzCqWB9.js → atomStore-DXTVqiKc.js} +1 -1
  40. package/dist/atoms/app/index.cjs +24 -22
  41. package/dist/atoms/app/index.d.cts +21 -9
  42. package/dist/atoms/app/index.d.ts +20 -8
  43. package/dist/atoms/app/index.js +19 -17
  44. package/dist/atoms/atomStore/index.cjs +1 -1
  45. package/dist/atoms/atomStore/index.js +1 -1
  46. package/dist/atoms/chat/index.cjs +21 -20
  47. package/dist/atoms/chat/index.d.cts +46 -36
  48. package/dist/atoms/chat/index.d.ts +44 -34
  49. package/dist/atoms/chat/index.js +21 -20
  50. package/dist/atoms/globalSearch/index.cjs +2 -1
  51. package/dist/atoms/globalSearch/index.d.cts +6 -6
  52. package/dist/atoms/globalSearch/index.d.ts +1 -1
  53. package/dist/atoms/globalSearch/index.js +2 -1
  54. package/dist/atoms/org/index.cjs +11 -10
  55. package/dist/atoms/org/index.d.cts +32 -19
  56. package/dist/atoms/org/index.d.ts +32 -19
  57. package/dist/atoms/org/index.js +3 -2
  58. package/dist/atoms/search/index.cjs +47 -7
  59. package/dist/atoms/search/index.d.cts +15 -76
  60. package/dist/atoms/search/index.d.ts +15 -76
  61. package/dist/atoms/search/index.js +29 -7
  62. package/dist/atoms/search/types.cjs +5 -0
  63. package/dist/atoms/search/types.d.cts +2 -0
  64. package/dist/atoms/search/types.d.ts +2 -0
  65. package/dist/atoms/search/types.js +3 -0
  66. package/dist/atoms/search/utils.cjs +1 -1
  67. package/dist/atoms/search/utils.d.cts +1 -1
  68. package/dist/atoms/search/utils.d.ts +1 -1
  69. package/dist/atoms/search/utils.js +1 -1
  70. package/dist/cdnContext-BnqmnEvR.js +38 -0
  71. package/dist/cdnContext-CnYcBOr9.cjs +53 -0
  72. package/dist/chat-CqPuT9_V.cjs +393 -0
  73. package/dist/chat-DH70QqJp.js +257 -0
  74. package/dist/chatElementDisplayLocation-CpgV2wR1.d.ts +25 -0
  75. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
  76. package/dist/chatSearch-ChyGuHbu.js +295 -0
  77. package/dist/chatSearch-DpnpRWAW.cjs +418 -0
  78. package/dist/chatState-CcFtSqJT.cjs +120 -0
  79. package/dist/chatState-DKnNHmwe.js +34 -0
  80. package/dist/config/index.d.cts +4 -4
  81. package/dist/config/index.d.ts +4 -4
  82. package/dist/config/locators/components/chat/index.d.cts +1 -1
  83. package/dist/config/locators/components/chat/index.d.ts +1 -1
  84. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  85. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  86. package/dist/config/locators/components/common/index.d.cts +1 -1
  87. package/dist/config/locators/components/common/index.d.ts +1 -1
  88. package/dist/config/locators/components/index.d.cts +1 -1
  89. package/dist/config/locators/components/index.d.ts +1 -1
  90. package/dist/config/locators/components/search/index.d.cts +1 -1
  91. package/dist/config/locators/components/search/index.d.ts +1 -1
  92. package/dist/config/locators/index.d.cts +4 -4
  93. package/dist/config/locators/index.d.ts +4 -4
  94. package/dist/contexts/amplitudeContext/index.cjs +22 -23
  95. package/dist/contexts/amplitudeContext/index.d.cts +2 -11
  96. package/dist/contexts/amplitudeContext/index.d.ts +2 -11
  97. package/dist/contexts/amplitudeContext/index.js +20 -22
  98. package/dist/contexts/cdnContext/index.cjs +4 -4
  99. package/dist/contexts/cdnContext/index.d.cts +6 -2
  100. package/dist/contexts/cdnContext/index.d.ts +6 -2
  101. package/dist/contexts/cdnContext/index.js +4 -4
  102. package/dist/contexts/chatContext/index.cjs +326 -0
  103. package/dist/contexts/chatContext/index.d.cts +15 -0
  104. package/dist/contexts/chatContext/index.d.ts +15 -0
  105. package/dist/contexts/chatContext/index.js +319 -0
  106. package/dist/contexts/enviveConfigContext/index.cjs +4 -4
  107. package/dist/contexts/enviveConfigContext/index.d.cts +25 -3
  108. package/dist/contexts/enviveConfigContext/index.d.ts +25 -3
  109. package/dist/contexts/enviveConfigContext/index.js +4 -4
  110. package/dist/contexts/enviveCssContext/index.cjs +19 -15
  111. package/dist/contexts/enviveCssContext/index.d.cts +5 -3
  112. package/dist/contexts/enviveCssContext/index.d.ts +5 -3
  113. package/dist/contexts/enviveCssContext/index.js +19 -15
  114. package/dist/contexts/featureFlagContext/index.cjs +10 -9
  115. package/dist/contexts/featureFlagContext/index.d.cts +12 -3
  116. package/dist/contexts/featureFlagContext/index.d.ts +12 -3
  117. package/dist/contexts/featureFlagContext/index.js +7 -6
  118. package/dist/contexts/featureFlagServiceContext/index.cjs +3 -4
  119. package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -1
  120. package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -1
  121. package/dist/contexts/featureFlagServiceContext/index.js +3 -4
  122. package/dist/contexts/graphqlContext/index.cjs +13 -8
  123. package/dist/contexts/graphqlContext/index.d.cts +15 -11
  124. package/dist/contexts/graphqlContext/index.d.ts +15 -11
  125. package/dist/contexts/graphqlContext/index.js +13 -8
  126. package/dist/contexts/localStorageContext/index.cjs +3 -3
  127. package/dist/contexts/localStorageContext/index.d.cts +22 -3
  128. package/dist/contexts/localStorageContext/index.d.ts +22 -3
  129. package/dist/contexts/localStorageContext/index.js +3 -4
  130. package/dist/contexts/newOrgConfigContext/index.cjs +17 -13
  131. package/dist/contexts/newOrgConfigContext/index.d.cts +16 -12
  132. package/dist/contexts/newOrgConfigContext/index.d.ts +16 -12
  133. package/dist/contexts/newOrgConfigContext/index.js +17 -13
  134. package/dist/contexts/searchContext/index.cjs +24 -23
  135. package/dist/contexts/searchContext/index.d.cts +7 -2
  136. package/dist/contexts/searchContext/index.d.ts +7 -2
  137. package/dist/contexts/searchContext/index.js +24 -23
  138. package/dist/contexts/sessionStorageContext/index.cjs +2 -2
  139. package/dist/contexts/sessionStorageContext/index.d.cts +6 -2
  140. package/dist/contexts/sessionStorageContext/index.d.ts +6 -2
  141. package/dist/contexts/sessionStorageContext/index.js +2 -2
  142. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  143. package/dist/contexts/shopifyUrlContext/index.d.cts +12 -2
  144. package/dist/contexts/shopifyUrlContext/index.d.ts +12 -2
  145. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  146. package/dist/contexts/systemSettingsContext/index.cjs +4 -4
  147. package/dist/contexts/systemSettingsContext/index.d.cts +13 -2
  148. package/dist/contexts/systemSettingsContext/index.d.ts +15 -4
  149. package/dist/contexts/systemSettingsContext/index.js +4 -4
  150. package/dist/contexts/types.cjs +7 -0
  151. package/dist/contexts/types.d.cts +5 -0
  152. package/dist/contexts/types.d.ts +5 -0
  153. package/dist/contexts/types.js +3 -0
  154. package/dist/contexts/userIdentityContext/index.cjs +21 -19
  155. package/dist/contexts/userIdentityContext/index.d.cts +2 -11
  156. package/dist/contexts/userIdentityContext/index.d.ts +2 -11
  157. package/dist/contexts/userIdentityContext/index.js +19 -17
  158. package/dist/custservice-types-CcPnAJ5k.d.ts +29 -0
  159. package/dist/custservice-types-_Dnz4sMy.d.cts +29 -0
  160. package/dist/domObserver-Bqf3ooj8.cjs +304 -0
  161. package/dist/{domObserver-C2oQO8vi.cjs → domObserver-v9ODTyfT.js} +4 -23
  162. package/dist/enviveConfig-DZBohDpc.js +62 -0
  163. package/dist/enviveConfig-Dv9-esGV.cjs +130 -0
  164. package/dist/enviveConfigContext-D2OELZDR.cjs +60 -0
  165. package/dist/enviveConfigContext-DrDjCems.js +45 -0
  166. package/dist/events/index.cjs +3 -2
  167. package/dist/events/index.d.cts +15 -2
  168. package/dist/events/index.d.ts +15 -2
  169. package/dist/events/index.js +2 -2
  170. package/dist/events-DYY4l817.cjs +90 -0
  171. package/dist/events-DyUix-Bn.js +78 -0
  172. package/dist/featureFlagServiceContext-B01ZkIwj.d.cts +23 -0
  173. package/dist/featureFlagServiceContext-CJyYItqu.cjs +62 -0
  174. package/dist/featureFlagServiceContext-FBM6DdMJ.js +42 -0
  175. package/dist/featureFlagServiceContext-jZzoym5C.d.ts +23 -0
  176. package/dist/featureGates-KEwAL8p_.js +26 -0
  177. package/dist/featureGates-qU_ulhpC.cjs +32 -0
  178. package/dist/frontendConfig-BIq8r6nC.d.cts +858 -0
  179. package/dist/frontendConfig-CixANNjw.d.ts +858 -0
  180. package/dist/{globalSearch-Cpc8egsM.cjs → globalSearch-Ba342VVG.cjs} +1 -1
  181. package/dist/globalSearch-DQCMamhv.js +1 -0
  182. package/dist/globalSearch-DYxPE02f.cjs +0 -0
  183. package/dist/{globalSearch-nmrfGLOn.js → globalSearch-eGx-9JQz.js} +1 -1
  184. package/dist/graphql-3PxNRFOc.js +36 -0
  185. package/dist/graphql-DGYfelZp.cjs +53 -0
  186. package/dist/graphqlConfig-GHZ1UgCw.cjs +73 -0
  187. package/dist/graphqlConfig-mDg6J44N.js +24 -0
  188. package/dist/graphqlContext-B4twVCqw.d.ts +28 -0
  189. package/dist/graphqlContext-BZPEAFSR.cjs +111 -0
  190. package/dist/graphqlContext-W6iEyEkv.d.cts +28 -0
  191. package/dist/graphqlContext-eaZPxgRE.js +96 -0
  192. package/dist/hooks/AmplitudeOperations/index.cjs +22 -23
  193. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -2
  194. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -2
  195. package/dist/hooks/AmplitudeOperations/index.js +21 -22
  196. package/dist/hooks/AppDetails/index.cjs +22 -20
  197. package/dist/hooks/AppDetails/index.d.cts +24 -3
  198. package/dist/hooks/AppDetails/index.d.ts +24 -3
  199. package/dist/hooks/AppDetails/index.js +22 -20
  200. package/dist/hooks/CdnOperations/index.cjs +4 -4
  201. package/dist/hooks/CdnOperations/index.js +4 -4
  202. package/dist/hooks/ChatToggle/index.cjs +25 -28
  203. package/dist/hooks/ChatToggle/index.d.cts +2 -2
  204. package/dist/hooks/ChatToggle/index.d.ts +2 -2
  205. package/dist/hooks/ChatToggle/index.js +22 -25
  206. package/dist/hooks/ChatToggleAnalytics/index.cjs +24 -25
  207. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -2
  208. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -2
  209. package/dist/hooks/ChatToggleAnalytics/index.js +23 -24
  210. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -2
  211. package/dist/hooks/CustomerSupportHandoff/index.js +2 -2
  212. package/dist/hooks/Debounce/index.cjs +2 -20
  213. package/dist/hooks/Debounce/index.js +2 -18
  214. package/dist/hooks/ElementObserver/index.cjs +6 -4
  215. package/dist/hooks/ElementObserver/index.d.cts +25 -4
  216. package/dist/hooks/ElementObserver/index.d.ts +25 -4
  217. package/dist/hooks/ElementObserver/index.js +6 -4
  218. package/dist/hooks/FloatingButtonVisibility/index.cjs +73 -0
  219. package/dist/hooks/FloatingButtonVisibility/index.d.cts +7 -0
  220. package/dist/hooks/FloatingButtonVisibility/index.d.ts +7 -0
  221. package/dist/hooks/FloatingButtonVisibility/index.js +69 -0
  222. package/dist/hooks/GrabAndScroll/index.cjs +1 -1
  223. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  224. package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
  225. package/dist/hooks/GrabAndScroll/index.js +1 -1
  226. package/dist/hooks/GraphQLConfig/index.cjs +14 -9
  227. package/dist/hooks/GraphQLConfig/index.d.cts +14 -2
  228. package/dist/hooks/GraphQLConfig/index.d.ts +14 -2
  229. package/dist/hooks/GraphQLConfig/index.js +14 -9
  230. package/dist/hooks/IdentifyUser/index.cjs +21 -19
  231. package/dist/hooks/IdentifyUser/index.js +20 -18
  232. package/dist/hooks/ImageResolver/index.cjs +29 -20
  233. package/dist/hooks/ImageResolver/index.js +29 -20
  234. package/dist/hooks/Intersection/index.cjs +1 -1
  235. package/dist/hooks/Intersection/index.d.cts +1 -1
  236. package/dist/hooks/Intersection/index.js +1 -1
  237. package/dist/hooks/LastInteraction/index.cjs +34 -0
  238. package/dist/hooks/LastInteraction/index.d.cts +7 -0
  239. package/dist/hooks/LastInteraction/index.d.ts +7 -0
  240. package/dist/hooks/LastInteraction/index.js +32 -0
  241. package/dist/hooks/LocalStorageOperations/index.cjs +7 -8
  242. package/dist/hooks/LocalStorageOperations/index.js +3 -4
  243. package/dist/hooks/MessageFilter/index.cjs +12 -3
  244. package/dist/hooks/MessageFilter/index.d.cts +18 -2
  245. package/dist/hooks/MessageFilter/index.d.ts +18 -2
  246. package/dist/hooks/MessageFilter/index.js +11 -2
  247. package/dist/hooks/NewOrgConfig/index.cjs +18 -14
  248. package/dist/hooks/NewOrgConfig/index.d.cts +17 -3
  249. package/dist/hooks/NewOrgConfig/index.d.ts +17 -3
  250. package/dist/hooks/NewOrgConfig/index.js +18 -14
  251. package/dist/hooks/Search/index.cjs +173 -314
  252. package/dist/hooks/Search/index.d.cts +58 -3
  253. package/dist/hooks/Search/index.d.ts +58 -3
  254. package/dist/hooks/Search/index.js +162 -302
  255. package/dist/hooks/SearchOperations/index.cjs +25 -24
  256. package/dist/hooks/SearchOperations/index.d.cts +3 -2
  257. package/dist/hooks/SearchOperations/index.d.ts +3 -2
  258. package/dist/hooks/SearchOperations/index.js +25 -24
  259. package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
  260. package/dist/hooks/SessionStorageOperations/index.js +2 -2
  261. package/dist/hooks/ShopifyUrlOperations/index.cjs +3 -3
  262. package/dist/hooks/ShopifyUrlOperations/index.d.cts +5 -2
  263. package/dist/hooks/ShopifyUrlOperations/index.d.ts +5 -2
  264. package/dist/hooks/ShopifyUrlOperations/index.js +3 -3
  265. package/dist/hooks/SnapCalculator/index.cjs +1 -1
  266. package/dist/hooks/SnapCalculator/index.d.cts +3 -4
  267. package/dist/hooks/SnapCalculator/index.d.ts +3 -4
  268. package/dist/hooks/SnapCalculator/index.js +1 -1
  269. package/dist/hooks/SystemSettingsContext/index.cjs +6 -17
  270. package/dist/hooks/SystemSettingsContext/index.d.cts +16 -5
  271. package/dist/hooks/SystemSettingsContext/index.d.ts +16 -5
  272. package/dist/hooks/SystemSettingsContext/index.js +6 -15
  273. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -23
  274. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +3 -2
  275. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +3 -2
  276. package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -23
  277. package/dist/hooks/UpdateAnalyticsProps/index.cjs +24 -26
  278. package/dist/hooks/UpdateAnalyticsProps/index.js +20 -22
  279. package/dist/hooks/utils.cjs +1 -1
  280. package/dist/hooks/utils.d.cts +14 -20
  281. package/dist/hooks/utils.d.ts +14 -20
  282. package/dist/hooks/utils.js +1 -1
  283. package/dist/index-9oqgeOVC.d.cts +186 -0
  284. package/dist/index-A0HvA68Y.d.cts +1 -0
  285. package/dist/index-BC93l5Th.d.ts +1 -0
  286. package/dist/index-BEzmil_W.d.ts +44 -0
  287. package/dist/{index-DtzPIcQp.d.ts → index-BdjH4aRG.d.ts} +1 -1
  288. package/dist/{index-CsmO1rDH.d.ts → index-BfM7zKRO.d.ts} +1 -1
  289. package/dist/index-Bmub8e38.d.cts +98 -0
  290. package/dist/{index-mv7KvWDq.d.ts → index-CA1Eo7DA.d.ts} +1 -1
  291. package/dist/index-CCa4tZuO.d.ts +184 -0
  292. package/dist/{index-ChiZg0yw.d.cts → index-CCboEuTO.d.cts} +1 -1
  293. package/dist/index-CESxqFso.d.cts +228 -0
  294. package/dist/{index-BbqT4BQv.d.cts → index-COXkY78t.d.cts} +1 -1
  295. package/dist/index-CboygwjO.d.ts +676 -0
  296. package/dist/index-CiWEYzXl.d.cts +184 -0
  297. package/dist/{index-jFQefHda.d.ts → index-Cw9oYJnq.d.ts} +1 -1
  298. package/dist/index-D5lw0cMx.d.ts +186 -0
  299. package/dist/{index-CAJq_8bO.d.cts → index-DZtnHhlr.d.cts} +1 -1
  300. package/dist/index-Dfwnna1j.d.ts +228 -0
  301. package/dist/index-Dt_C-I-2.d.cts +676 -0
  302. package/dist/index-OkKEOL6H.d.cts +44 -0
  303. package/dist/index-bjMvkcBF.d.ts +98 -0
  304. package/dist/{index-npqPeJ1g.d.cts → index-hAqp0oYb.d.cts} +1 -1
  305. package/dist/interceptors/index.cjs +3 -28
  306. package/dist/interceptors/index.d.cts +16 -4
  307. package/dist/interceptors/index.d.ts +16 -4
  308. package/dist/interceptors/index.js +3 -25
  309. package/dist/interceptors/types.cjs +1 -0
  310. package/dist/interceptors/types.d.cts +14 -0
  311. package/dist/interceptors/types.d.ts +14 -0
  312. package/dist/interceptors/types.js +3 -0
  313. package/dist/localStorageContext-BPZ82q-G.js +95 -0
  314. package/dist/localStorageContext-NRP-CdmF.cjs +115 -0
  315. package/dist/{logger-BqHq67zN.cjs → logger-TBIl4uIH.cjs} +1 -1
  316. package/dist/{logger-BMVdhQOV.js → logger-W3lqg-4b.js} +1 -1
  317. package/dist/models-D-4db7XW.cjs +1537 -0
  318. package/dist/models-c86hYW-F.js +1296 -0
  319. package/dist/{newOrgConfigAtom-rrYHmp1b.cjs → newOrgConfigAtom-D6R-7HCk.cjs} +1 -1
  320. package/dist/newOrgConfigAtom-bn1lnljf.js +8 -0
  321. package/dist/newOrgConfigContext-BC79qoiV.d.ts +16 -0
  322. package/dist/newOrgConfigContext-BqZwD8-B.cjs +68 -0
  323. package/dist/newOrgConfigContext-DbcDClwd.js +53 -0
  324. package/dist/newOrgConfigContext-eS4ZLo58.d.cts +16 -0
  325. package/dist/nodeSelector-DybpVr-i.d.ts +31 -0
  326. package/dist/nodeSelector-vKB44CDB.d.cts +31 -0
  327. package/dist/org-CIhjzxWr.cjs +43 -0
  328. package/dist/org-CeWXnpwF.js +12 -0
  329. package/dist/search-6RrxBXD6.d.cts +20 -0
  330. package/dist/search-BBu5YeQa.js +126 -0
  331. package/dist/search-D23INSNg.cjs +205 -0
  332. package/dist/search-filter-types-BItKtezf.d.cts +102 -0
  333. package/dist/search-filter-types-fZf91Pdw.d.ts +102 -0
  334. package/dist/search-nuWWnRRV.d.ts +20 -0
  335. package/dist/searchContext-BPT44uk-.js +129 -0
  336. package/dist/searchContext-CwRRiXQ3.cjs +145 -0
  337. package/dist/searchServiceAdapter-DEv1tTn0.cjs +34 -0
  338. package/dist/searchServiceAdapter-WyCU55NV.js +16 -0
  339. package/dist/sessionStorageContext-1Ks_d4Z0.cjs +66 -0
  340. package/dist/sessionStorageContext-CDcl7NVl.js +52 -0
  341. package/dist/shopifyUrlContext-CejRZfj7.js +61 -0
  342. package/dist/shopifyUrlContext-lnHoAOEf.cjs +75 -0
  343. package/dist/spiffyWidgets-CdxRcXhW.d.ts +20 -0
  344. package/dist/spiffyWidgets-eNbU1gMc.d.cts +20 -0
  345. package/dist/systemSettingsContext-Ba-wi2NZ.cjs +60 -0
  346. package/dist/systemSettingsContext-DumUaV0m.js +39 -0
  347. package/dist/test-types-B3YQpECG.d.cts +13 -0
  348. package/dist/test-types-C8NHqaUS.d.ts +13 -0
  349. package/dist/types/index.cjs +48 -3
  350. package/dist/types/index.d.cts +18 -2
  351. package/dist/types/index.d.ts +18 -2
  352. package/dist/types/index.js +44 -2
  353. package/dist/types-BGqrvAsw.d.ts +10 -0
  354. package/dist/types-CKPddlfS.cjs +0 -0
  355. package/dist/types-CS0Hrzja.js +30 -0
  356. package/dist/types-CtUb63bt.js +76 -0
  357. package/dist/types-CxObxLKs.cjs +48 -0
  358. package/dist/types-DIiH_5gL.d.cts +10 -0
  359. package/dist/types-Dc6hx6ei.js +1 -0
  360. package/dist/types-UUvB6h05.cjs +106 -0
  361. package/dist/types-aQTzSrH1.d.cts +51 -0
  362. package/dist/types-kAjmR2du.d.ts +51 -0
  363. package/dist/types.cjs +0 -0
  364. package/dist/types.d.cts +16 -0
  365. package/dist/types.d.ts +16 -0
  366. package/dist/types.js +1 -0
  367. package/dist/urlsParser-COzMdJaX.cjs +78 -0
  368. package/dist/urlsParser-DxjoLj98.js +42 -0
  369. package/dist/useAmplitudeOperations-Cv0fi3uj.cjs +41 -0
  370. package/dist/useAmplitudeOperations-Ti6phPPq.js +34 -0
  371. package/dist/useAppDetails-CsXHPAh1.cjs +38 -0
  372. package/dist/useAppDetails-PUfYwCjK.js +30 -0
  373. package/dist/useDebounce-DZ8Cgiwc.cjs +26 -0
  374. package/dist/useDebounce-v9cezyjn.js +19 -0
  375. package/dist/useGraphQLConfig-BizpCw23.cjs +76 -0
  376. package/dist/useGraphQLConfig-DFWl9Z89.js +63 -0
  377. package/dist/{useIntersection-BkMkuJcZ.js → useIntersection-Cncgxdmy.js} +1 -1
  378. package/dist/{useIntersection-BcBCa890.cjs → useIntersection-m4PEpvG7.cjs} +1 -1
  379. package/dist/useMessageInterceptor-BjGP_uXm.js +25 -0
  380. package/dist/useMessageInterceptor-arAqUq1Q.cjs +33 -0
  381. package/dist/userIdentityContext-W1OWF3cG.d.ts +20 -0
  382. package/dist/userIdentityContext-kU1PIo8K.d.cts +20 -0
  383. package/dist/utilityTypes-B2KuRn37.js +1 -0
  384. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  385. package/dist/{utils-CqVRbvfN.cjs → utils-2SWrJ12w.cjs} +1 -1
  386. package/dist/utils-BewguHW0.d.cts +22 -0
  387. package/dist/{utils-CiJLDPjY.cjs → utils-CDw74BCO.cjs} +1 -1
  388. package/dist/utils-CLGXsOwE.cjs +1591 -0
  389. package/dist/{utils-DQhbbAnt.js → utils-CqBxIpEV.js} +1 -1
  390. package/dist/{utils-B1LVzQYK.js → utils-DIvMgPe8.js} +1 -1
  391. package/dist/utils-D_kATUj6.js +92 -0
  392. package/dist/{utils-BitIIghf.d.ts → utils-DpneNSJf.d.ts} +1 -1
  393. package/dist/utils-hKYwSBo9.d.ts +22 -0
  394. package/dist/utils-hYTjy7hJ.cjs +130 -0
  395. package/dist/utils-jYtD3hmA.js +1385 -0
  396. package/dist/variantInfo-BfKlkaWU.js +11 -0
  397. package/dist/variantInfo-DpLn4nHz.cjs +17 -0
  398. package/package.json +36 -9
  399. package/src/application/commerce-api.ts +37 -40
  400. package/src/application/models/api/context.ts +4 -0
  401. package/src/application/models/api/generationParams.ts +4 -0
  402. package/src/application/models/api/nextMessageRequest.ts +11 -0
  403. package/src/application/models/api/orgAnalyticsConfig.ts +19 -0
  404. package/src/application/models/api/orgConfigResults.ts +44 -0
  405. package/src/application/models/api/organizationConfig.ts +12 -0
  406. package/src/{types/ApiResponse.ts → application/models/api/response.ts} +29 -35
  407. package/src/application/models/api/responseGenerics.ts +67 -0
  408. package/src/application/models/api/search.ts +26 -0
  409. package/src/application/models/api/suggestion.ts +4 -0
  410. package/src/application/models/api/supportedEventRequest.ts +8 -0
  411. package/src/application/models/api/userEvent.ts +101 -0
  412. package/src/application/models/cachedValue.ts +8 -0
  413. package/src/application/models/chatElementDisplayLocation.ts +22 -0
  414. package/src/application/models/clientDetails.ts +18 -0
  415. package/src/application/models/colorsConfig.ts +28 -0
  416. package/src/application/models/conversationalSearchIds.ts +5 -0
  417. package/src/application/models/dataLayer.ts +45 -0
  418. package/src/application/models/events.ts +5 -0
  419. package/src/application/models/featureGates.ts +21 -0
  420. package/src/application/models/frontendConfig.ts +14 -0
  421. package/src/application/models/googleAnalyticsEvents.ts +8 -0
  422. package/src/application/models/graphql/index.ts +0 -1
  423. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +23 -1
  424. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +89 -1
  425. package/src/application/models/guards/api/isApiFormResponse.ts +4 -4
  426. package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +2 -2
  427. package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +20 -2
  428. package/src/application/models/guards/api/isApiOrgConfigResults.ts +9 -3
  429. package/src/application/models/guards/api/isApiOrganizationConfig.ts +32 -8
  430. package/src/application/models/guards/api/isApiPDPEventAttributes.ts +5 -8
  431. package/src/application/models/guards/api/isApiPLPEventAttributes.ts +10 -14
  432. package/src/application/models/guards/api/isApiPageResponseAttributes.ts +1 -1
  433. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +4 -2
  434. package/src/application/models/guards/api/isApiProductSearchAttributes.ts +6 -9
  435. package/src/application/models/guards/api/isApiProductSearchFilterAttributes.ts +4 -7
  436. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +3 -8
  437. package/src/application/models/guards/api/isApiResponse.ts +15 -22
  438. package/src/application/models/guards/api/isApiReviewResponseAttributes.ts +1 -1
  439. package/src/application/models/guards/api/isApiReviewRichInformation.ts +1 -1
  440. package/src/application/models/guards/api/isApiTextResponseAttributes.ts +1 -1
  441. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  442. package/src/application/models/guards/isBaseEcommerceEvent.ts +2 -1
  443. package/src/application/models/guards/isGA4EcommerceEvent.ts +1 -1
  444. package/src/application/models/guards/isLegacyUAEcommerceEvent.ts +1 -1
  445. package/src/application/models/guards/isMobilePLPChatPlacementParameter.ts +3 -1
  446. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +3 -5
  447. package/src/application/models/guards/isVariantInfo.ts +1 -6
  448. package/src/application/models/index.ts +95 -30
  449. package/src/application/models/localStorageEventListener.ts +4 -0
  450. package/src/{types/Message.ts → application/models/message.ts} +34 -38
  451. package/src/application/models/mobilePLPChatPlacementParameter.ts +3 -0
  452. package/src/application/models/orgsEnum.ts +36 -0
  453. package/src/application/models/productExperiment.ts +5 -0
  454. package/src/application/models/spanxTakeAQuizCtaParameter.ts +4 -0
  455. package/src/application/models/spiffyWidgets.ts +16 -0
  456. package/src/application/models/utilityTypes/camelCase.ts +87 -0
  457. package/src/application/models/utilityTypes/camelCasedPropertiesDeep.ts +80 -0
  458. package/src/application/models/utilityTypes/delimiterCase.ts +121 -0
  459. package/src/application/models/utilityTypes/delimiterCasedPropertiesDeep.ts +98 -0
  460. package/src/application/models/utilityTypes/index.ts +1 -0
  461. package/src/application/models/utilityTypes/internal.ts +93 -0
  462. package/src/application/models/utilityTypes/primitive.ts +8 -0
  463. package/src/application/models/utilityTypes/snakeCasedPropertiesDeep.ts +49 -0
  464. package/src/application/models/utilityTypes/splitWords.ts +76 -0
  465. package/src/application/models/utilityTypes/trim.ts +28 -0
  466. package/src/application/models/utilityTypes/unknownArray.ts +25 -0
  467. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  468. package/src/application/models/validators/validateGraphQLColorsConfig.ts +2 -6
  469. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +6 -6
  470. package/src/application/models/validators/validateMobilePLPChatPlacementParameter.ts +3 -5
  471. package/src/application/models/validators/validateOrgConfigResults.ts +5 -6
  472. package/src/application/models/validators/validateOrganizationConfig.ts +8 -11
  473. package/src/application/models/validators/validateResponse.ts +44 -66
  474. package/src/application/models/validators/validateSuggestion.ts +1 -1
  475. package/src/application/models/validators/validateUserEvent.ts +12 -23
  476. package/src/application/models/variantInfo/index.ts +1 -0
  477. package/src/application/models/variantInfo/pageVisitInfo.ts +6 -0
  478. package/src/application/models/variantInfo/plpInfo.ts +3 -0
  479. package/src/application/models/variantInfo/productInfo.ts +5 -0
  480. package/src/application/models/variantInfo/variantInfo.ts +29 -0
  481. package/src/application/utils/__tests__/divideArrays.test.ts +14 -0
  482. package/src/application/utils/analyticsUtils.ts +8 -1
  483. package/src/application/utils/cdnUtils.ts +11 -0
  484. package/src/application/utils/coreContextToApiContext.ts +1 -3
  485. package/src/application/utils/coreUserEventToApiUserEvent.ts +2 -2
  486. package/src/application/utils/elementObserver.ts +1 -1
  487. package/src/application/utils/imageFilter.ts +2 -5
  488. package/src/application/utils/index.ts +21 -20
  489. package/src/application/utils/messageFromFormSubmittedEvent.ts +1 -1
  490. package/src/application/utils/messageFromQueryEvent.ts +1 -1
  491. package/src/application/utils/messageFromResponse.ts +10 -14
  492. package/src/application/utils/messageFromSuggestionEvent.ts +4 -6
  493. package/src/application/utils/mouseEventTypes.ts +1 -1
  494. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  495. package/src/application/utils/overrides.ts +49 -1
  496. package/src/application/utils/supportedEventRequestToApiRequest.ts +1 -3
  497. package/src/application/utils/urlsParser.ts +7 -1
  498. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
  499. package/src/atoms/app/index.ts +25 -15
  500. package/src/atoms/app/variant.ts +1 -1
  501. package/src/atoms/chat/chatState.ts +4 -4
  502. package/src/atoms/chat/form.ts +1 -1
  503. package/src/atoms/chat/messageQueue.ts +50 -25
  504. package/src/atoms/chat/replies.ts +2 -1
  505. package/src/atoms/chat/suggestions.ts +29 -34
  506. package/src/atoms/envive/enviveConfig.ts +20 -14
  507. package/src/atoms/org/customerService.ts +8 -4
  508. package/src/atoms/org/graphqlConfig.ts +15 -7
  509. package/src/atoms/org/index.ts +6 -4
  510. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  511. package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
  512. package/src/atoms/search/chatSearch.ts +317 -0
  513. package/src/atoms/search/index.ts +1 -0
  514. package/src/atoms/search/productFilters.ts +52 -72
  515. package/src/atoms/search/productSorter.ts +2 -2
  516. package/src/atoms/search/searchAPI.ts +60 -42
  517. package/src/atoms/search/searchServiceAdapter.ts +1 -1
  518. package/src/atoms/search/types.ts +55 -0
  519. package/src/config/divIds.ts +27 -0
  520. package/src/config/socialProofClasses.ts +17 -0
  521. package/src/contexts/amplitudeContext/amplitudeContext.tsx +57 -19
  522. package/src/contexts/cdnContext/cdnContext.tsx +6 -1
  523. package/src/contexts/chatContext/chatContext.tsx +509 -0
  524. package/src/contexts/chatContext/index.ts +1 -0
  525. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +26 -12
  526. package/src/contexts/enviveCssContext/enviveCssContext.tsx +12 -5
  527. package/src/contexts/featureFlagContext/featureFlagContext.tsx +48 -27
  528. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +3 -11
  529. package/src/contexts/graphqlContext/graphqlContext.tsx +95 -40
  530. package/src/contexts/localStorageContext/localStorageContext.tsx +60 -26
  531. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +22 -10
  532. package/src/contexts/searchContext/searchContext.tsx +49 -29
  533. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +33 -12
  534. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +37 -20
  535. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +21 -8
  536. package/src/contexts/types.ts +1067 -0
  537. package/src/contexts/userIdentityContext/userIdentityContext.tsx +77 -33
  538. package/src/events/event-types.ts +11 -0
  539. package/src/events/index.ts +5 -8
  540. package/src/events/registerAnalyticsListeners.ts +13 -10
  541. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +11 -6
  542. package/src/hooks/AppDetails/useAppDetails.ts +24 -10
  543. package/src/hooks/ChatToggle/useChatToggle.ts +19 -7
  544. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  545. package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +1 -1
  546. package/src/hooks/ElementObserver/useElementObserver.ts +32 -14
  547. package/src/hooks/FloatingButtonVisibility/index.ts +1 -0
  548. package/src/hooks/FloatingButtonVisibility/useFloatingButtonVisibility.ts +99 -0
  549. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +124 -125
  550. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +7 -5
  551. package/src/hooks/ImageResolver/useImageResolver.ts +31 -24
  552. package/src/hooks/LastInteraction/index.ts +1 -0
  553. package/src/hooks/LastInteraction/useLastInteraction.ts +42 -0
  554. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +19 -12
  555. package/src/hooks/MessageFilter/useMessageFilter.ts +7 -1
  556. package/src/hooks/Search/useSearch.tsx +217 -87
  557. package/src/hooks/SearchOperations/useSearchOperations.ts +12 -8
  558. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +14 -8
  559. package/src/hooks/SnapCalculator/useSnapCalculator.ts +2 -1
  560. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +11 -8
  561. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +25 -11
  562. package/src/hooks/utils.ts +29 -19
  563. package/src/interceptors/index.ts +2 -1
  564. package/src/interceptors/types.ts +6 -0
  565. package/src/interceptors/useMessageInterceptor.ts +6 -10
  566. package/src/merchants/domInsertion.ts +30 -0
  567. package/src/merchants/gridInsertion.ts +19 -0
  568. package/src/types/config-versions.ts +6 -0
  569. package/src/types/customerService.ts +31 -0
  570. package/src/types/custservice-types.ts +28 -0
  571. package/src/{exceptions → types/exceptions}/unsupportedProductExceptions.ts +2 -2
  572. package/src/types/floatingbuttonoverrides-types.ts +10 -0
  573. package/src/types/index.ts +5 -4
  574. package/src/types/search-filter-types.ts +111 -0
  575. package/src/types/suggestionBarV2-types.ts +4 -0
  576. package/src/types/test-types.ts +3 -0
  577. package/src/types.ts +11 -0
  578. package/dist/AmplitudeOperations-6Y7GejD-.cjs +0 -41
  579. package/dist/AmplitudeOperations-DOEgdx-a.js +0 -34
  580. package/dist/TrackComponentVisibleEvent-BvDOoSsc.js +0 -53
  581. package/dist/TrackComponentVisibleEvent-CcZ6l_cs.cjs +0 -60
  582. package/dist/amplitudeContext-CH-Rtn8y.js +0 -236
  583. package/dist/amplitudeContext-CZXdr3HG.cjs +0 -252
  584. package/dist/amplitudeTrackEventAtom-D66l5oFp.js +0 -8
  585. package/dist/amplitudeTrackEventAtom-f22P2U0u.cjs +0 -15
  586. package/dist/api-D4HaU2Gf.js +0 -166
  587. package/dist/api-D4Xoibs9.cjs +0 -239
  588. package/dist/app-DEnOfim0.js +0 -515
  589. package/dist/app-DOEeLKrt.cjs +0 -570
  590. package/dist/cdnContext-CJ2BNLAD.js +0 -38
  591. package/dist/cdnContext-lkC-AE6A.cjs +0 -53
  592. package/dist/chat-ChbwDr7k.js +0 -226
  593. package/dist/chat-FCaaEJvJ.cjs +0 -326
  594. package/dist/chatState-BbI93m6r.js +0 -33
  595. package/dist/chatState-DlJpHAsW.cjs +0 -119
  596. package/dist/dist-C38adNK1.js +0 -5923
  597. package/dist/dist-VxRI6eQv.cjs +0 -6019
  598. package/dist/domObserver-DNeeSh1F.js +0 -285
  599. package/dist/enviveConfig-Ciq4ASoV.js +0 -62
  600. package/dist/enviveConfig-Dp80h9yu.cjs +0 -130
  601. package/dist/enviveConfigContext-0PQkfMQ6.cjs +0 -62
  602. package/dist/enviveConfigContext-CMDiVsln.js +0 -47
  603. package/dist/events-CgFGtanE.cjs +0 -69
  604. package/dist/events-WOOrnUAx.js +0 -63
  605. package/dist/exceptions/index.cjs +0 -4
  606. package/dist/exceptions/index.d.cts +0 -12
  607. package/dist/exceptions/index.d.ts +0 -12
  608. package/dist/exceptions/index.js +0 -3
  609. package/dist/exceptions-BjDgLzGi.cjs +0 -32
  610. package/dist/exceptions-CUGY31Ua.js +0 -20
  611. package/dist/featureFlagServiceContext-ClnlCJV5.d.cts +0 -24
  612. package/dist/featureFlagServiceContext-Cvp7NlpC.js +0 -46
  613. package/dist/featureFlagServiceContext-CyPGEe2d.d.ts +0 -24
  614. package/dist/featureFlagServiceContext-DHtkQAtq.cjs +0 -66
  615. package/dist/graphql-CvAHWmel.js +0 -46
  616. package/dist/graphql-JaGqsToc.cjs +0 -70
  617. package/dist/graphqlContext-0cg9fEUw.js +0 -96
  618. package/dist/graphqlContext-ChXlE8Ul.cjs +0 -111
  619. package/dist/index-5li6ZMDu.d.ts +0 -11
  620. package/dist/index-BVZbvpx_.d.cts +0 -11
  621. package/dist/index-CMZcE7pk.d.cts +0 -224
  622. package/dist/index-CuihhoIF.d.ts +0 -42
  623. package/dist/index-bEjLKG_Q.d.ts +0 -224
  624. package/dist/index-qOBU4GEh.d.cts +0 -42
  625. package/dist/localStorageContext-BFwvuEcf.js +0 -90
  626. package/dist/localStorageContext-CWc5xJ6U.cjs +0 -104
  627. package/dist/models-Cw0QcbQv.js +0 -1118
  628. package/dist/models-Dl0_Ujgj.cjs +0 -1305
  629. package/dist/newOrgConfigAtom-BuQE_zPK.js +0 -8
  630. package/dist/newOrgConfigContext-D-gU5ppl.js +0 -53
  631. package/dist/newOrgConfigContext-d3RHl430.cjs +0 -68
  632. package/dist/nodeSelector-BAKg1h_y.d.ts +0 -28
  633. package/dist/nodeSelector-BYEAyrsj.d.cts +0 -28
  634. package/dist/org-15F128Ah.js +0 -32
  635. package/dist/org-CIFgIcO4.cjs +0 -111
  636. package/dist/search--80x6CfL.js +0 -233
  637. package/dist/search-Ch6LKNh4.cjs +0 -312
  638. package/dist/searchContext-CSmiMhhs.js +0 -129
  639. package/dist/searchContext-DuB2drQx.cjs +0 -145
  640. package/dist/searchServiceAdapter-B0h7psvh.js +0 -16
  641. package/dist/searchServiceAdapter-BclWy4fE.cjs +0 -34
  642. package/dist/sessionStorageContext-BuWrJQwc.cjs +0 -66
  643. package/dist/sessionStorageContext-DvFHbk81.js +0 -52
  644. package/dist/shopifyUrlContext-Bw1kAZ2P.cjs +0 -75
  645. package/dist/shopifyUrlContext-DnJiUmMA.js +0 -61
  646. package/dist/systemSettingsContext-CyanI1pd.js +0 -39
  647. package/dist/systemSettingsContext-sM46G65r.cjs +0 -60
  648. package/dist/types-1iJ_FnQQ.cjs +0 -39
  649. package/dist/types-D5du68Vp.js +0 -27
  650. package/dist/urlsParser-bb8ciRFg.cjs +0 -78
  651. package/dist/urlsParser-v_1DKvyf.js +0 -42
  652. package/dist/useAppDetails-Ce_siNC2.js +0 -30
  653. package/dist/useAppDetails-Dyn-dAJJ.cjs +0 -38
  654. package/dist/useGraphQLConfig-Btszi6cG.js +0 -63
  655. package/dist/useGraphQLConfig-v9veUbvJ.cjs +0 -76
  656. package/dist/utils-BZT_oZ3n.js +0 -92
  657. package/dist/utils-BzR9AjY0.js +0 -607
  658. package/dist/utils-CLANMl4P.cjs +0 -716
  659. package/dist/utils-qtHPLFby.cjs +0 -130
  660. package/src/atoms/search/productRetrievalAPI.ts +0 -72
  661. package/src/atoms/search/productRetrievalAdapter.ts +0 -28
  662. package/src/exceptions/index.ts +0 -2
  663. package/src/global.d.ts +0 -8
  664. package/src/hooks/Search/useRecommendedProducts.ts +0 -50
  665. package/src/hooks/Search/useSearchInput.ts +0 -237
  666. package/src/types/FilterAttribute.ts +0 -35
  667. package/src/types/Suggestion.ts +0 -6
  668. package/src/util/colorVar.ts +0 -4
  669. package/src/util/configVersion.ts +0 -4
  670. package/src/util/domInsertion.ts +0 -17
  671. /package/dist/{featureFlagServiceContext-Csgo-MUv.cjs → AmplitudeOperations-DxQnurSG.cjs} +0 -0
  672. /package/dist/{featureFlagServiceContext-CISyb90N.js → AmplitudeOperations-ni7wVevx.js} +0 -0
  673. /package/src/{exceptions → types/exceptions}/sessionExceptions.ts +0 -0
@@ -0,0 +1,1067 @@
1
+ import { ChatElementDisplayLocation } from "src/application/models/chatElementDisplayLocation";
2
+ import {
3
+ ColorMapping,
4
+ ColorNames,
5
+ colorVar,
6
+ } from "src/application/models/colorsConfig";
7
+ import { FeatureGates } from "src/application/models/featureGates";
8
+ import {
9
+ CustomerServiceIntegrationMode,
10
+ CustomerServiceType,
11
+ } from "src/types/customerService";
12
+ import { GridInsertionType } from "src/merchants/gridInsertion";
13
+ import { DOMInsertionType } from "src/merchants/domInsertion";
14
+
15
+ import type {
16
+ PageVisitCategory,
17
+ SupportedEventProductCategory,
18
+ } from "@spiffy-ai/commerce-api-client";
19
+ import { ChatState } from "src/types/custservice-types";
20
+ import { SuggestionBarLocationForMetrics } from "src/types/suggestionBarV2-types";
21
+ import { TestProps } from "src/types/test-types";
22
+ import { OrgConfigFeatureGate } from "src/application/models/api/orgConfigResults";
23
+
24
+ type ShowFloatingButtonOptions =
25
+ | "always"
26
+ | "after-interaction-on-mobile-always-desktop"
27
+ | "after-interaction-anywhere"
28
+ | "never";
29
+
30
+ type FloatingEntryPointConfig = {
31
+ position: "bottom-left" | "middle-left" | "middle-right" | "bottom-right";
32
+ expansionText?: {
33
+ pdp: string;
34
+ plp: string;
35
+ };
36
+ minimizedColor: string;
37
+ expandedColor: string;
38
+ textColor?: string;
39
+ showOption: ShowFloatingButtonOptions;
40
+ iconSVGSrc?: string;
41
+ iconSize?: number;
42
+ iconStrokeColor?: string;
43
+ iconFillColor?: string;
44
+ height?: number;
45
+ fontSize?: number;
46
+ expandable?: boolean;
47
+ };
48
+
49
+ type WelcomeSectionVariant = "standard" | "outlined";
50
+
51
+ type WelcomeSectionColorVariant = "standard" | "accent" | "brand" | "light";
52
+
53
+ type WelcomeSectionConfig = {
54
+ variant: WelcomeSectionVariant;
55
+ colorVariant?: WelcomeSectionColorVariant;
56
+ title?: string;
57
+ subtitle?: string;
58
+ // icon?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
59
+ /* Serializable icon name that maps to a React component. Preferred over icon for database storage. */
60
+ iconName?: string;
61
+ imageSrc?: string;
62
+ };
63
+
64
+ type ChatPreviewConfig = {
65
+ variant: "flat" | "filled" | "outlined";
66
+ largeProductComparison?: boolean;
67
+ filledBackgroundColor: string;
68
+ iconFillColor: string;
69
+ buttonTextColor?: string;
70
+ buttonTextSecondaryColor?: string;
71
+ buttonTextHoverColor?: string;
72
+ buttonBackgroundColor: string;
73
+ buttonBackgroundHoverColor: string;
74
+ buttonBorderColor?: string;
75
+ buttonBorderHoverColor?: string;
76
+ copies: { pdp: string[]; plp: string[] };
77
+ staticSuggestionCopies?: { pdp: string[]; plp: string[] };
78
+ staticPLPImages?: string[];
79
+ footerConfig?: ChatPreviewFooterConfig;
80
+ headerConfig?: ChatPreviewHeaderConfig;
81
+ topMargin?: number;
82
+ };
83
+
84
+ type ChatPreviewHeaderConfig = {
85
+ title?: string;
86
+ imageSrc?: string;
87
+ imageHeight?: number;
88
+ sparklesColor?: string; // used by: spanx, uniqueVintage, dreamlandBaby
89
+ fontSize?: string;
90
+ iconWidth?: string;
91
+ iconHeight?: string;
92
+ };
93
+
94
+ interface ChatPreviewFooterConfig {
95
+ hasFade?: boolean; // used by: spanx, uniqueVintage
96
+ suggestionButtonVariant?: "dark" | "light" | "outlined";
97
+ suggestionsBackground?: string; // used by: carbahn
98
+ replyButtonIcon?:
99
+ | "send"
100
+ | "magnifyingGlass"
101
+ | "thinMagnifyingGlass"
102
+ | "searchIcon";
103
+ replyButtonText?: string;
104
+ replyInputHasShadow?: boolean; // used by: spanx
105
+ replyInputHasBorder?: boolean; // used by: spanx
106
+ backgroundColor?: string; // used by spanx, tushbaby, will need custom CSS when switching over
107
+ }
108
+
109
+ type ProductReviewStyleVariant = "standard" | "bordered";
110
+
111
+ type ProductReviewColorVariant = "neutral" | "brand" | "premium";
112
+
113
+ interface ProductReviewConfig {
114
+ styleVariant: ProductReviewStyleVariant;
115
+ colorVariant: ProductReviewColorVariant;
116
+ verifiedBuyerTitle: string;
117
+ incentivizedReviewFlag?: boolean;
118
+ }
119
+
120
+ type PageCardVariant = "filled" | "outlined" | "minimal";
121
+
122
+ type PageCardHoverVariant = "none" | "shadow" | "lift";
123
+
124
+ type PageCardIconVariant = "primary" | "accent" | "background" | "none";
125
+
126
+ type PageCardConfig = {
127
+ variant: PageCardVariant;
128
+ hoverVariant: PageCardHoverVariant;
129
+ iconVariant: PageCardIconVariant;
130
+ };
131
+
132
+ type ProductCardVariant =
133
+ | "filled"
134
+ | "bordered"
135
+ | "minimal"
136
+ | "transparentBordered";
137
+
138
+ type ProductCardHoverVariant = "backgroundDark" | "none";
139
+
140
+ type ProductCardLayoutVariant = "normal" | "tall" | "square";
141
+
142
+ interface ProductCardConfig {
143
+ variant: ProductCardVariant;
144
+ hoverVariant: ProductCardHoverVariant;
145
+ layoutVariant: ProductCardLayoutVariant;
146
+ pricePrefix?: string;
147
+ }
148
+
149
+ type CSSwitchConfig = {
150
+ variant: "attached" | "detached";
151
+ backgroundColor: string;
152
+ borderColor: string;
153
+ selectedTextColor: string;
154
+ selectedBackgroundColor?: string;
155
+ unselectedTextColor: string;
156
+ unselectedBackgroundColor?: string;
157
+ supportTitle?: string;
158
+ spiffyTitle?: string;
159
+ spiffyTitleHasLogo?: boolean;
160
+ };
161
+
162
+ type ChatHeaderConfig = {
163
+ collapsedColor: string;
164
+ expandedColor: string;
165
+ chevronColor: string;
166
+ imageSrc?: string;
167
+ icon?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
168
+ closeIcon?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
169
+ borderBottom?: string;
170
+ headerBarHeightPartialView: number;
171
+ headerBarHeightFullView: number;
172
+ customerSupportSwitchConfig?: CSSwitchConfig;
173
+ };
174
+
175
+ type SimpleCustomerServiceIntegration = {
176
+ integrationMode: CustomerServiceIntegrationMode;
177
+ provider: CustomerServiceType;
178
+ useUnifiedButton?: boolean;
179
+ maxfileUploadSize?: number;
180
+ };
181
+
182
+ type FullCustomerServiceIntegration = {
183
+ integrationMode: CustomerServiceIntegrationMode;
184
+ provider: CustomerServiceType;
185
+ useUnifiedButton?: boolean;
186
+ chatEnabledDuringBusinessHours?: boolean;
187
+ showNameInput?: boolean;
188
+ formAiName?: string;
189
+ welcomeTitle: string;
190
+ welcomeDescription: string;
191
+ showWelcomeOnForm?: boolean;
192
+ contactSubjectOptions?: string[];
193
+ getCustomWaitingMessage?: (name?: string) => string;
194
+ withinBusinessHoursMessage?: string;
195
+ withinBusinessHoursWaitingMessage?: string;
196
+ outsideBusinessHoursMessage?: string;
197
+ outsideBusinessHoursWaitingMessage?: string;
198
+ withinBusinessHoursFormMessage?: string;
199
+ outsideBusinessHoursFormMessage?: string;
200
+ suggestedAIQuestions?: string[];
201
+ businessHoursPolling?: number;
202
+ maxfileUploadSize?: number;
203
+
204
+ /**
205
+ * @deprecated This is handled by the BE.
206
+ */
207
+ businessHoursStartUTC?: string;
208
+ /**
209
+ * @deprecated This is handled by the BE.
210
+ */
211
+ businessHoursEndUTC?: string;
212
+ /**
213
+ * @deprecated This is handled by the BE.
214
+ */
215
+ businessHoursTimezone?: string;
216
+
217
+ showAISuggestionsWithinBusinessHours?: boolean;
218
+ waitingMessagePosition?: "BEFORE_MESSAGES" | "AFTER_MESSAGES";
219
+ legalMessage?: string;
220
+ withinBusinessHoursInitialState?: ChatState;
221
+ outsideBusinessHoursInitialState?: ChatState;
222
+ withinBusinessHoursButtontext?: string;
223
+ outsideBusinessHoursButtontext?: string;
224
+ reopenChatMessage: string;
225
+ };
226
+
227
+ type CustomerServiceIntegration =
228
+ | SimpleCustomerServiceIntegration
229
+ | FullCustomerServiceIntegration;
230
+
231
+ type ConversationalSeach = {
232
+ enabled?: boolean;
233
+ replyInput?: ReplyInputConfig;
234
+ suggestions?: string[];
235
+ entrypointBgColor?: string;
236
+ entrypointTextColor?: string;
237
+ entrypointBtnColor?: string;
238
+ entrypointBtnTextColor?: string;
239
+ entrypointBtnBorderColor?: string;
240
+ entrypointContainer?: string;
241
+ entrypointTrigger?: string;
242
+ productGridContainer?: string;
243
+ generalSearchBtn?: string;
244
+ pageContent?: string;
245
+ searchContent?: string;
246
+ sortingTitle?: string;
247
+ selectionTitle?: string;
248
+ sortingFont?: string;
249
+ optionsFont?: string;
250
+ sortingButtonText?: string;
251
+ };
252
+
253
+ type ChatMessageVariant = "standard" | "premium" | "accent";
254
+
255
+ interface ChatMessageConfig {
256
+ assistantChatTitle: string;
257
+ variant: ChatMessageVariant;
258
+ productLink: {
259
+ variant: ProductLinkVariant;
260
+ hoverVariant: ProductLinkHoverVariant;
261
+ iconVariant: ProductLinkIconVariant;
262
+ };
263
+ }
264
+
265
+ interface ReplyInputConfig {
266
+ // TODO consider making this a number
267
+ size?: "md" | "lg";
268
+ sendIcon: "arrowUp" | "send" | "search";
269
+ placeholder?: string;
270
+ }
271
+
272
+ interface PartialViewConfig {
273
+ // maximum height of the partial view as a percentage of the screen height
274
+ maxHeight: number;
275
+ borderRadius?: string;
276
+ }
277
+
278
+ type ProductLinkIconVariant =
279
+ | "accentPrimary"
280
+ | "backgroundPrimary"
281
+ | "backgroundPrimaryDark"
282
+ | "borderLight"
283
+ | "backgroundSaturated";
284
+
285
+ type ProductLinkVariant = "textLink";
286
+
287
+ type ProductLinkHoverVariant = "backgroundDark";
288
+
289
+ type SearchCardVariant =
290
+ | "backgroundPrimary"
291
+ | "backgroundSecondary"
292
+ | "backgroundSecondaryDark"
293
+ | "backgroundLight"
294
+ | "backgroundSaturated";
295
+
296
+ type SuggestionButtonVariant =
297
+ | "outlined"
298
+ | "outlinedLight"
299
+ | "primary"
300
+ | "secondary"
301
+ | "tertiary"
302
+ | "dark"
303
+ | "darkAccent"
304
+ | "darkPrimary"
305
+ | "secondaryDark"
306
+ | "secondaryAccent"
307
+ | "transparent"
308
+ | "transparentDark"
309
+ | "lightDark";
310
+
311
+ interface SuggestionButtonConfig {
312
+ variant?: SuggestionButtonVariant;
313
+ hoverVariant?: SuggestionButtonVariant;
314
+ answerVariant?: SuggestionButtonVariant;
315
+ borderRadius?: "sm" | "md" | "lg";
316
+ }
317
+
318
+ type NumRows = "default" | "alwaysOneRow" | "alwaysTwoRows" | "twoRowsOnMobile";
319
+
320
+ interface AlphabeticFilterSorting {
321
+ type: "alphabetic";
322
+ }
323
+ interface ProductCountFilterSorting {
324
+ type: "productCount";
325
+ }
326
+ interface CustomFilterSorting {
327
+ type: "custom";
328
+ map: Record<string, number>;
329
+ }
330
+
331
+ type FilterSorting =
332
+ | AlphabeticFilterSorting
333
+ | ProductCountFilterSorting
334
+ | CustomFilterSorting;
335
+
336
+ interface BaseFilterConfig {
337
+ filterId: string;
338
+ displayName: string;
339
+ }
340
+ interface DynamicFilterConfig extends BaseFilterConfig {
341
+ type: "dynamic";
342
+ attribute: string;
343
+ sorting: FilterSorting;
344
+ }
345
+
346
+ interface PriceFilterConfig extends BaseFilterConfig {
347
+ type: "price";
348
+ bucketSize: number;
349
+ }
350
+
351
+ export type FilterAttribute = DynamicFilterConfig | PriceFilterConfig;
352
+
353
+ export type SearchZeroStateVariant =
354
+ | "backgroundTertiary"
355
+ | "backgroundDark"
356
+ | "backgroundPrimary";
357
+ export type SearchZeroStateLayout = "input" | "icon";
358
+
359
+ export type SearchInputVariant = "standard";
360
+
361
+ export type SearchIconVariant = "thin" | "bold";
362
+
363
+ export type SearchFilterSidebarVariant = "darkButton" | "lightButton";
364
+
365
+ export type ProductGridVariant = "standard" | "square";
366
+
367
+ type UserQueryButtonIcon =
368
+ | "magnifyingGlass"
369
+ | "send"
370
+ | "magnifyingGlassThin"
371
+ | "sendArrow"
372
+ | "searchIcon";
373
+
374
+ interface UserQueryButtonConfig {
375
+ variant?: "box" | "underlineLight" | "underlineDark";
376
+ placeholderText?: string;
377
+ icon: UserQueryButtonIcon;
378
+ }
379
+
380
+ // TODO: this should be included in the top-level widget config
381
+ interface TermsAndConditionsConfig {
382
+ copy: string;
383
+ link: string;
384
+ linkText: string;
385
+ }
386
+
387
+ interface MerchantVariantSettings {
388
+ dynamicVariants: {
389
+ enabled: boolean; // This feature will enable dynamic variants for the merchant. Useful for SPA's
390
+ refreshInterval?: number; // The interval in milliseconds to check for changes in the URL
391
+ };
392
+ }
393
+
394
+ interface FloatingChatConfig {
395
+ enableWatermark: boolean;
396
+ userQueryInputEnabled: boolean;
397
+ ignoreFirstModelResponse?: boolean;
398
+ neverShowSingleProductCards?: boolean;
399
+ termsAndConditionsConfig?: TermsAndConditionsConfig;
400
+
401
+ // Footer config
402
+ suggestionButtonConfig?: SuggestionButtonConfig;
403
+ replyInputConfig: ReplyInputConfig;
404
+ }
405
+
406
+ interface SearchConfig {
407
+ enableGlobalSearch: boolean;
408
+ searchFilterConfig: FilterAttribute[];
409
+ redirectSearchResultsUrl?: string;
410
+ additiveDynamicFilters?: boolean;
411
+ }
412
+
413
+ type OrgUIConfig = {
414
+ shortName: string;
415
+ id?: string;
416
+ floatingEntrypointConfig?: FloatingEntryPointConfig;
417
+ // Deprecated - remove with ChatPreview rewrite
418
+ chatPreviewConfig?: ChatPreviewConfig;
419
+
420
+ customerServiceIntegration: CustomerServiceIntegration;
421
+ // Deprecated - remove when Global Search is fully launched
422
+ conversationalSearch?: ConversationalSeach;
423
+
424
+ merchantOverrideCss?: string;
425
+
426
+ // Deprecated TODO: Remove this deprecated value when Groove CX has proper unified button support
427
+ // selectors for elements that should be hidden when the chat is open
428
+ // e.g. CS widgets with max z-index ("div[id*='cs-container']")
429
+ hiddenElementSelectors?: string[];
430
+
431
+ merchantVariantSettings?: MerchantVariantSettings;
432
+ // TODO: Migrate all floating chat config into this top-level key
433
+ //
434
+ floatingChatConfig: FloatingChatConfig;
435
+
436
+ // Contain all search config here
437
+ searchConfig: SearchConfig;
438
+ // TODO: Move these into FloatingChatConfig
439
+ // Chat Header related values
440
+ chatHeader: ChatHeaderConfig;
441
+ stickyAgentSwitchSuggestion?: boolean;
442
+ partialViewConfig: PartialViewConfig;
443
+ welcomeSectionConfig?: WelcomeSectionConfig;
444
+ // Different response values
445
+ productCardConfig?: ProductCardConfig;
446
+ productReviewConfig?: ProductReviewConfig;
447
+ pageCardConfig?: PageCardConfig;
448
+ chatMessageConfig: ChatMessageConfig;
449
+ };
450
+
451
+ type InsertionPoint = {
452
+ selector: string;
453
+ // this is the index of the target element, 0 if missing
454
+ selectionIndex?: number;
455
+ insertionType: DOMInsertionType;
456
+ };
457
+
458
+ type URLTest = "shopify" | "null";
459
+
460
+ type IdExtractor =
461
+ | "shopify-product-id"
462
+ | "shopify-collection-id"
463
+ | "shopify-product-variant-id"
464
+ | "url-resolver-product-id"
465
+ | "url-resolver-plp-id"
466
+ | "null";
467
+
468
+ // This contains a map between PageVisitCategory and a list of URL's that are classified as the value
469
+ enum CategoryExtractorType {
470
+ VisitCategoryMap = "VisitCategoryMap",
471
+ VisitCategoryDefault = "VisitCategoryDefault",
472
+ }
473
+
474
+ interface BaseCategoryExtractor<T extends CategoryExtractorType> {
475
+ type: T;
476
+ }
477
+
478
+ // This map betweens a category and a list of url patterns
479
+ interface VisitCategoryMap
480
+ extends BaseCategoryExtractor<CategoryExtractorType.VisitCategoryMap> {
481
+ map: {
482
+ [key in PageVisitCategory]?: string[];
483
+ };
484
+ }
485
+
486
+ // This will return a hard-coded default PageVisitCategory. It is intended to be used by fallback page types
487
+ interface VisitCategoryDefault
488
+ extends BaseCategoryExtractor<CategoryExtractorType.VisitCategoryDefault> {
489
+ value: PageVisitCategory;
490
+ }
491
+
492
+ type CategoryExtractor = VisitCategoryMap | VisitCategoryDefault;
493
+
494
+ type WrappingElement = {
495
+ className: string;
496
+ element: string;
497
+ insertionType: DOMInsertionType;
498
+ };
499
+
500
+ enum PageVariantTestType {
501
+ ShopifyPLP = "ShopifyPLP",
502
+ ShopifyPDP = "ShopifyPDP",
503
+ PageCategory = "PageCategory",
504
+ CatalogCategory = "CatalogCategory",
505
+ TopCatalogCategory = "TopCatalogCategory",
506
+ HasReviews = "HasReviews",
507
+ InCollection = "InCollection",
508
+ HasMerchantTag = "HasMerchantTag",
509
+ FeatureGate = "FeatureGate",
510
+ PlpId = "PlpId",
511
+ QueryParam = "QueryParam",
512
+ ProductId = "ProductId",
513
+ UserHasInteracted = "UserHasInteracted",
514
+ UserHasNotInteracted = "UserHasNotInteracted",
515
+ isLoading = "isLoading",
516
+ isProductComparison = "isProductComparison",
517
+ Fallback = "Fallback",
518
+ UrlResolver = "UrlResolver",
519
+ Null = "null",
520
+ }
521
+
522
+ interface BasePageVariantTest<T extends PageVariantTestType> {
523
+ testType: T;
524
+ }
525
+
526
+ interface TopCatalogCategory
527
+ extends BasePageVariantTest<PageVariantTestType.TopCatalogCategory> {
528
+ topCategory: string[];
529
+ }
530
+
531
+ interface CatalogCategoryTest
532
+ extends BasePageVariantTest<PageVariantTestType.CatalogCategory> {
533
+ category: SupportedEventProductCategory;
534
+ }
535
+
536
+ interface HasReviewsTest
537
+ extends BasePageVariantTest<PageVariantTestType.HasReviews> {
538
+ reviewMinimum?: number;
539
+ }
540
+
541
+ // This will return true if the product is in any of the listed collections
542
+ interface InCollectionTest
543
+ extends BasePageVariantTest<PageVariantTestType.InCollection> {
544
+ collections: string[];
545
+ }
546
+
547
+ // This will return true if the product has any of the listed merchant tags
548
+ interface HasMerchantTagTest
549
+ extends BasePageVariantTest<PageVariantTestType.HasMerchantTag> {
550
+ merchantTags: string[];
551
+ }
552
+
553
+ interface ShopifyPLPURLTest
554
+ extends BasePageVariantTest<PageVariantTestType.ShopifyPLP> {}
555
+
556
+ interface ShopifyPDPURLTest
557
+ extends BasePageVariantTest<PageVariantTestType.ShopifyPDP> {}
558
+
559
+ interface PageCategoryTest
560
+ extends BasePageVariantTest<PageVariantTestType.PageCategory> {
561
+ extractor: CategoryExtractor;
562
+ }
563
+
564
+ interface FeatureGateTest
565
+ extends BasePageVariantTest<PageVariantTestType.FeatureGate> {
566
+ featureGate: FeatureGates;
567
+ }
568
+
569
+ interface ProductIdTest
570
+ extends BasePageVariantTest<PageVariantTestType.ProductId> {
571
+ productIdExtractor: IdExtractor;
572
+ productIds: string[];
573
+ }
574
+
575
+ interface PlpIdTest extends BasePageVariantTest<PageVariantTestType.PlpId> {
576
+ plpIdExtractor: IdExtractor;
577
+ plpIds: string[];
578
+ }
579
+
580
+ interface QueryParamTest
581
+ extends BasePageVariantTest<PageVariantTestType.QueryParam> {
582
+ queryParam: string;
583
+ }
584
+
585
+ interface UserHasInteractedTest
586
+ extends BasePageVariantTest<PageVariantTestType.UserHasInteracted> {}
587
+
588
+ interface UserHasNotInteractedTest
589
+ extends BasePageVariantTest<PageVariantTestType.UserHasNotInteracted> {}
590
+
591
+ interface IsLoadingTest
592
+ extends BasePageVariantTest<PageVariantTestType.isLoading> {}
593
+
594
+ interface IsProductComparison
595
+ extends BasePageVariantTest<PageVariantTestType.isProductComparison> {}
596
+
597
+ interface PageFallbackTest
598
+ extends BasePageVariantTest<PageVariantTestType.Fallback> {}
599
+
600
+ interface UrlResolverTest
601
+ extends BasePageVariantTest<PageVariantTestType.UrlResolver> {}
602
+
603
+ export type PageVariantTest =
604
+ | PageCategoryTest
605
+ | ShopifyPLPURLTest
606
+ | ShopifyPDPURLTest
607
+ | CatalogCategoryTest
608
+ | TopCatalogCategory
609
+ | HasReviewsTest
610
+ | InCollectionTest
611
+ | HasMerchantTagTest
612
+ | FeatureGateTest
613
+ | ProductIdTest
614
+ | PlpIdTest
615
+ | QueryParamTest
616
+ | UserHasInteractedTest
617
+ | UserHasNotInteractedTest
618
+ | IsLoadingTest
619
+ | IsProductComparison
620
+ | PageFallbackTest
621
+ | UrlResolverTest;
622
+
623
+ /**
624
+ * Configuration for the social proof embedded widget
625
+ *
626
+ * @param headerTitle - The title text to display in the widget header
627
+ * @param staticSuggestions - A list of strings to display as suggestions in the widget
628
+ * @param suggestionButtonVariantDefault - The variant of the suggestion button to display in the widget footer
629
+ * @param suggestionButtonVariantAccent - The variant of the suggestion button to display in the widget body
630
+ * @param staticImageIndex - Index of the imageUrl to use from the product response
631
+ */
632
+ interface SocialProofConfig {
633
+ customerQuery: string;
634
+ headerTitle: string;
635
+ staticPLPImagesLayout?: "grid" | "horizontal";
636
+ headerFontFamily?: string;
637
+ staticPLPImageNames?: string[];
638
+ staticImageIndex?: number;
639
+ suggestionButtonStrings: string[];
640
+ suggestionButtonVariantDefault: SuggestionButtonVariant;
641
+ suggestionButtonVariantAccent?: SuggestionButtonVariant;
642
+ suggestionButtonDataAttributes?: Record<string, string>;
643
+ userQueryButtonConfig?: UserQueryButtonConfig;
644
+ logoName?: string;
645
+ }
646
+
647
+ /**
648
+ * Configuration for creating the mount point for a widget
649
+ *
650
+ * @param className - Optional class name to apply to the mount point. Tailwind classes are supported
651
+ * and encouraged. Use this parameter to style the mounting container for the widget.
652
+ */
653
+ export type WidgetMountingConfig = {
654
+ mountingConfigId: string;
655
+ containerId: string;
656
+ testId: string;
657
+ parentInsertionPoint?: InsertionPoint;
658
+ insertionPoint: InsertionPoint;
659
+ gridInsertionType?: GridInsertionType;
660
+ wrappingElement?: WrappingElement;
661
+ divCheckSelector?: string;
662
+ suppressionSelector?: string;
663
+ style?: Partial<CSSStyleDeclaration>;
664
+ className?: string;
665
+ dataAttributes?: Record<string, string>;
666
+ };
667
+
668
+ type StaticWidgetMounting = {
669
+ mountingConfigId: string;
670
+ widgetConfigId: string;
671
+ };
672
+ type DynamicWidgetMounting = {
673
+ mountingConfigId: string;
674
+ mountingPointWidgets: WidgetDisplayTests[];
675
+ };
676
+
677
+ type WidgetDisplayTests = {
678
+ tests: PageVariantTest[];
679
+ widgetConfigId: string;
680
+ };
681
+
682
+ type WidgetMounting = StaticWidgetMounting | DynamicWidgetMounting;
683
+
684
+ enum WidgetType {
685
+ ChatPreview = "ChatPreview",
686
+ SocialProofV2 = "SocialProofV2",
687
+ ChatPreviewV2 = "ChatPreviewV2",
688
+ ChatPreviewIsLoading = "ChatPreviewIsLoading",
689
+ ChatPreviewPostInteraction = "ChatPreviewPostInteraction",
690
+ ChatPreviewProductComparison = "ChatPreviewProductComparison",
691
+ SuggestionBar = "SuggestionBar",
692
+ SuggestionBarV2 = "SuggestionBarV2",
693
+ ImagePromptCard = "ImagePromptCard",
694
+ ImageBanner = "ImageBanner",
695
+ SingleImagePrompt = "SingleImagePrompt",
696
+ SearchPrompt = "SearchPrompt",
697
+ SearchZeroStateEntryPoint = "SearchZeroStateEntryPoint",
698
+ SearchResultsEntryPoint = "SearchResultsEntryPoint",
699
+ SearchOverlayHost = "SearchOverlayHost",
700
+ NoOp = "NoOp",
701
+ }
702
+
703
+ type WidgetConfig =
704
+ | ChatPreviewWidgetConfig
705
+ | SocialProofV2WidgetConfig
706
+ | ChatPreviewV2WidgetConfig
707
+ | ChatPreviewPostInteractionWidgetConfig
708
+ | ChatPreviewIsLoadingWidgetConfig
709
+ | ChatPreviewProductComparisonWidgetConfig
710
+ | SuggestionBarWidgetV2Config
711
+ | ImagePromptWidgetConfig
712
+ | ImageBannerWidgetConfig
713
+ | SingleImagePromptWidgetConfig
714
+ | SearchPromptWidgetConfig
715
+ | SearchEntryPointWidgetConfig
716
+ | SearchResultsEntryPointWidgetConfig
717
+ | SearchOverlayHostWidgetConfig
718
+ | NoOpWidgetConfig;
719
+
720
+ interface BaseWidgetConfig<T extends WidgetType> {
721
+ widgetConfigId: string;
722
+ type: T;
723
+ contentId?: string;
724
+ }
725
+
726
+ interface ImageBannerWidgetConfig
727
+ extends BaseWidgetConfig<WidgetType.ImageBanner> {
728
+ imageSrc: string;
729
+ title: string;
730
+ subtitle: string;
731
+ assistantMessage: string;
732
+ }
733
+
734
+ interface ChatPreviewWidgetConfig
735
+ extends BaseWidgetConfig<WidgetType.ChatPreview> {
736
+ variant: "filled" | "flat" | "outlined";
737
+ addSeparators?: boolean;
738
+ socialProofConfig?: SocialProofConfig;
739
+ footerConfig?: ChatPreviewFooterConfig;
740
+ }
741
+
742
+ interface ChatPreviewHeaderV2Config {
743
+ title?: string; // Default: 'Shopping Assistant'
744
+ imageSrc?: string;
745
+ imageHeight?: number;
746
+ }
747
+
748
+ type SingleImageConfig = {
749
+ layout: "single";
750
+ imageIndex: number;
751
+ };
752
+ type MultiImageConfig = {
753
+ layout: "grid" | "horizontal";
754
+ imageNames: string[];
755
+ };
756
+ type SocialProofImageConfig = SingleImageConfig | MultiImageConfig;
757
+
758
+ type ChatPreviewSuggestionButtonConfig = {
759
+ buttonStrings: string[];
760
+ accentButtonVariants?: {
761
+ button: SuggestionButtonVariant;
762
+ hover: SuggestionButtonVariant;
763
+ };
764
+ buttonVariants: {
765
+ button: SuggestionButtonVariant;
766
+ hover: SuggestionButtonVariant;
767
+ };
768
+ numRows?: NumRows;
769
+ };
770
+
771
+ type ChatPreviewAnimatedTextConfig = {
772
+ leadingText: string;
773
+ animatedStrings: string[];
774
+ };
775
+
776
+ type ChatPreviewVariant =
777
+ | { variant: "flat" }
778
+ | { variant: "filled"; backgroundFillColor: string }
779
+ | { variant: "outlined" };
780
+
781
+ // Base interface for common chat preview properties
782
+ interface BaseChatPreviewConfig {
783
+ headerConfig: ChatPreviewHeaderV2Config;
784
+ suggestionButtonsConfig: ChatPreviewSuggestionButtonConfig;
785
+ userQueryButtonConfig: UserQueryButtonConfig;
786
+ chatPreviewVariant: ChatPreviewVariant;
787
+ addSeparators?: boolean;
788
+ }
789
+
790
+ // Specific chat preview widget configurations
791
+ interface ChatPreviewPostInteractionWidgetConfig
792
+ extends BaseWidgetConfig<WidgetType.ChatPreviewPostInteraction>,
793
+ BaseChatPreviewConfig {
794
+ chatPreviewVariant: ChatPreviewVariant;
795
+ addSeparators?: boolean;
796
+ }
797
+
798
+ interface ChatPreviewIsLoadingWidgetConfig
799
+ extends BaseWidgetConfig<WidgetType.ChatPreviewIsLoading>,
800
+ BaseChatPreviewConfig {}
801
+
802
+ interface ChatPreviewProductComparisonWidgetConfig
803
+ extends BaseWidgetConfig<WidgetType.ChatPreviewProductComparison>,
804
+ BaseChatPreviewConfig {
805
+ useLargeProductComparison?: boolean;
806
+ }
807
+
808
+ interface ChatPreviewV2WidgetConfig
809
+ extends BaseWidgetConfig<WidgetType.ChatPreviewV2>,
810
+ BaseChatPreviewConfig {
811
+ animatedTextConfig: ChatPreviewAnimatedTextConfig;
812
+ }
813
+
814
+ interface SocialProofV2WidgetConfig
815
+ extends BaseWidgetConfig<WidgetType.SocialProofV2>,
816
+ BaseChatPreviewConfig {
817
+ customerQuery?: string; // Default: 'asked which products are the best'
818
+ imageConfig: SocialProofImageConfig;
819
+ }
820
+
821
+ interface SuggestionBarWidgetV2Config
822
+ extends BaseWidgetConfig<WidgetType.SuggestionBarV2> {
823
+ metricDisplayLocation: ChatElementDisplayLocation;
824
+ location: SuggestionBarLocationForMetrics;
825
+ variant: SuggestionButtonVariant;
826
+ hoverVariant: SuggestionButtonVariant;
827
+ buttonTexts: {
828
+ default: string[];
829
+ productSpecific?: { [productId: string]: string[] };
830
+ };
831
+ boldFirstButton?: boolean;
832
+ twoRowsOnMobile?: boolean;
833
+ animationSpeed?: "standard" | "slow" | "none";
834
+ buttonBorderRadius?: "sm" | "md" | "lg";
835
+ }
836
+
837
+ interface ImagePromptWidgetConfig
838
+ extends BaseWidgetConfig<WidgetType.ImagePromptCard> {
839
+ url: string;
840
+ lightText?: boolean;
841
+ title: string;
842
+ subtitle: string[];
843
+ staticSuggestionCopies: string[];
844
+ userQueryButtonConfig: UserQueryButtonConfig;
845
+ fallbackBackgroundColor?: string;
846
+ }
847
+
848
+ interface SingleImagePromptWidgetConfig
849
+ extends BaseWidgetConfig<WidgetType.SingleImagePrompt> {
850
+ title: string;
851
+ staticSuggestionCopies: string[];
852
+ userQueryButtonConfig: UserQueryButtonConfig;
853
+ }
854
+
855
+ interface SearchEntryPointWidgetConfig
856
+ extends BaseWidgetConfig<WidgetType.SearchZeroStateEntryPoint> {
857
+ searchZeroStateVariant: SearchZeroStateVariant;
858
+ searchInputVariant: SearchInputVariant;
859
+ searchIconVariant?: SearchIconVariant;
860
+ searchIconSize?: number;
861
+ suggestionButtonConfig: SuggestionButtonConfig;
862
+ layout: SearchZeroStateLayout;
863
+ searchBoxPlaceholder: string;
864
+ animationSpeed?: "standard" | "slow" | "none";
865
+ compactLabel?: string;
866
+ initialSuggestions?: string[];
867
+ usingPortal?: boolean;
868
+ }
869
+
870
+ interface NoOpWidgetConfig extends BaseWidgetConfig<WidgetType.NoOp> {}
871
+ interface SearchOverlayHostWidgetConfig
872
+ extends BaseWidgetConfig<WidgetType.SearchOverlayHost> {}
873
+
874
+ interface SearchResultsEntryPointWidgetConfig
875
+ extends BaseWidgetConfig<WidgetType.SearchResultsEntryPoint> {
876
+ searchInputVariant: SearchInputVariant;
877
+ searchFilterSidebarVariant: SearchFilterSidebarVariant;
878
+ productGridVariant: ProductGridVariant;
879
+ searchBoxPlaceholder: string;
880
+ noResultsFoundText?: string;
881
+ }
882
+
883
+ export interface WidgetHeaderProps extends TestProps {
884
+ title?: string;
885
+ logo?: string;
886
+ logoHeight?: number;
887
+ orgShortName: string;
888
+ variant?: SearchPromptVariant;
889
+ }
890
+
891
+ export interface UserQueryOptions {
892
+ footerVariant?: "standard";
893
+ replyButtonText?: string;
894
+ replyButtonIcon?:
895
+ | "magnifyingGlass"
896
+ | "send"
897
+ | "thinMagnifyingGlass"
898
+ | "ai-search";
899
+ }
900
+
901
+ type SearchPromptVariant = "primary";
902
+ interface SearchPromptWidgetConfig
903
+ extends BaseWidgetConfig<WidgetType.SearchPrompt> {
904
+ variant: SearchPromptVariant;
905
+ title: string;
906
+ headerConfig: WidgetHeaderProps;
907
+ suggestionButtons: {
908
+ variant: SuggestionButtonVariant;
909
+ hoverVariant: SuggestionButtonVariant;
910
+ buttonTexts: string[];
911
+ };
912
+ footerConfig?: UserQueryOptions;
913
+ }
914
+
915
+ type PageVariantBase = {
916
+ // Unique identifier for each entry within the pageVariants.
917
+ // Useful to differentiate which variant is loaded when there are multiples of a single type.
918
+ variantId: string;
919
+ widgetMounting: WidgetMounting[];
920
+ variantTests: PageVariantTest[];
921
+ };
922
+
923
+ type PLPPageVariant = PageVariantBase & {
924
+ variantType: "plp";
925
+ plpIdExtractor: IdExtractor;
926
+ };
927
+
928
+ type PDPPageVariant = PageVariantBase & {
929
+ variantType: "pdp";
930
+ parentProductIdExtractor?: IdExtractor;
931
+ productIdExtractor: IdExtractor;
932
+ };
933
+
934
+ type VisitPageVariant = PageVariantBase & {
935
+ variantType: "page_visit";
936
+ };
937
+
938
+ type OtherPageVariant = PageVariantBase & {
939
+ variantType: "other";
940
+ };
941
+
942
+ type HomePageVariant = PageVariantBase & {
943
+ variantType: "homepage";
944
+ };
945
+
946
+ type SearchPageVariant = PageVariantBase & {
947
+ variantType: "search";
948
+ };
949
+
950
+ export type PageVariantConfig =
951
+ | PLPPageVariant
952
+ | PDPPageVariant
953
+ | VisitPageVariant
954
+ | OtherPageVariant
955
+ | HomePageVariant
956
+ | SearchPageVariant;
957
+
958
+ export type OrgPageConfig = {
959
+ // pageVariants is a list of page variants that we support.
960
+ pageVariants: PageVariantConfig[];
961
+ // widgetConfigs is a named set of widget configs
962
+ widgetConfigs: Record<string, WidgetConfig>;
963
+ mountingConfigs: Record<string, WidgetMountingConfig>;
964
+ };
965
+
966
+ export type OrgConfig = OrgUIConfig;
967
+
968
+ export {
969
+ CategoryExtractorType,
970
+ ColorNames,
971
+ colorVar,
972
+ PageVariantTestType,
973
+ WidgetType,
974
+ };
975
+
976
+ export interface EnviveConfig {
977
+ amplitudeApiKey?: string;
978
+ dataResidency?: string;
979
+ env?: string;
980
+ baseUrl?: string;
981
+ reactAppName?: string;
982
+ cdnUrl?: string;
983
+ contextSource?: string;
984
+ orgLevelApiKey?: string;
985
+ orgShortName?: string;
986
+ identifyingPrefix?: string;
987
+ featureOverrides?: Record<string, boolean>;
988
+ variantUrlOverride?: string;
989
+ variantInfoOverride?: any;
990
+ show?: boolean;
991
+ publicKey?: string;
992
+ featureGates?: OrgConfigFeatureGate[];
993
+ }
994
+
995
+ export type {
996
+ CategoryExtractor,
997
+ ChatMessageVariant,
998
+ ChatMessageConfig,
999
+ ChatPreviewConfig,
1000
+ ChatPreviewIsLoadingWidgetConfig,
1001
+ ChatPreviewPostInteractionWidgetConfig,
1002
+ ChatPreviewProductComparisonWidgetConfig,
1003
+ ChatPreviewSuggestionButtonConfig,
1004
+ SocialProofV2WidgetConfig,
1005
+ ChatPreviewHeaderV2Config,
1006
+ ChatPreviewV2WidgetConfig,
1007
+ ChatPreviewFooterConfig,
1008
+ ChatPreviewHeaderConfig,
1009
+ ChatPreviewWidgetConfig,
1010
+ ChatPreviewVariant,
1011
+ ColorMapping,
1012
+ CustomerServiceIntegration,
1013
+ FloatingEntryPointConfig,
1014
+ FullCustomerServiceIntegration,
1015
+ IdExtractor,
1016
+ ImageBannerWidgetConfig,
1017
+ ImagePromptWidgetConfig,
1018
+ InsertionPoint,
1019
+ MultiImageConfig,
1020
+ OrgUIConfig,
1021
+ PageCardConfig,
1022
+ PageCardVariant,
1023
+ PageCardHoverVariant,
1024
+ PageCardIconVariant,
1025
+ ProductCardConfig,
1026
+ ProductCardVariant,
1027
+ ProductCardLayoutVariant,
1028
+ ProductCardHoverVariant,
1029
+ ProductLinkHoverVariant,
1030
+ ProductLinkIconVariant,
1031
+ ProductLinkVariant,
1032
+ ProductReviewConfig,
1033
+ ProductReviewStyleVariant,
1034
+ ProductReviewColorVariant,
1035
+ SearchPromptVariant,
1036
+ SearchPromptWidgetConfig,
1037
+ SearchResultsEntryPointWidgetConfig,
1038
+ ShowFloatingButtonOptions,
1039
+ SingleImagePromptWidgetConfig,
1040
+ SearchEntryPointWidgetConfig,
1041
+ SearchOverlayHostWidgetConfig,
1042
+ SocialProofConfig,
1043
+ SuggestionBarWidgetV2Config,
1044
+ SuggestionButtonConfig,
1045
+ SuggestionButtonVariant,
1046
+ URLTest,
1047
+ UserQueryButtonConfig,
1048
+ UserQueryButtonIcon,
1049
+ WelcomeSectionConfig,
1050
+ WelcomeSectionVariant,
1051
+ WelcomeSectionColorVariant,
1052
+ WidgetConfig,
1053
+ WrappingElement,
1054
+ SearchCardVariant,
1055
+ WidgetDisplayTests,
1056
+ NoOpWidgetConfig,
1057
+ WidgetMounting,
1058
+ StaticWidgetMounting,
1059
+ DynamicWidgetMounting,
1060
+ PDPPageVariant,
1061
+ PLPPageVariant,
1062
+ VisitPageVariant,
1063
+ OtherPageVariant,
1064
+ HomePageVariant,
1065
+ SearchPageVariant,
1066
+ NumRows,
1067
+ };