@envive-ai/react-hooks 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/adapters/amplitude/index.cjs +14 -0
  2. package/dist/adapters/amplitude/index.d.cts +4 -0
  3. package/dist/adapters/amplitude/index.d.ts +4 -0
  4. package/dist/adapters/amplitude/index.js +12 -0
  5. package/dist/api-B2euFL-5.cjs +268 -0
  6. package/dist/api-CxGedDxj.cjs +5057 -0
  7. package/dist/api-NJEaveju.js +4113 -0
  8. package/dist/api-XRr_lAG6.js +189 -0
  9. package/dist/application/config/index.cjs +34 -0
  10. package/dist/application/config/index.d.cts +14 -0
  11. package/dist/application/config/index.d.ts +14 -0
  12. package/dist/application/config/index.js +32 -0
  13. package/dist/application/models/graphql/index.cjs +13 -0
  14. package/dist/application/models/graphql/index.d.cts +2 -0
  15. package/dist/application/models/graphql/index.d.ts +2 -0
  16. package/dist/application/models/graphql/index.js +12 -0
  17. package/dist/application/models/guards/api/index.cjs +15 -0
  18. package/dist/application/models/guards/api/index.d.cts +3 -0
  19. package/dist/application/models/guards/api/index.d.ts +3 -0
  20. package/dist/application/models/guards/api/index.js +4 -0
  21. package/dist/application/models/index.cjs +72 -0
  22. package/dist/application/models/index.d.cts +10 -0
  23. package/dist/application/models/index.d.ts +10 -0
  24. package/dist/application/models/index.js +12 -0
  25. package/dist/application/models/utilityTypes/index.cjs +1 -0
  26. package/dist/application/models/utilityTypes/index.d.cts +2 -0
  27. package/dist/application/models/utilityTypes/index.d.ts +2 -0
  28. package/dist/application/models/utilityTypes/index.js +3 -0
  29. package/dist/application/models/variantInfo/index.cjs +1 -0
  30. package/dist/application/models/variantInfo/index.d.cts +2 -0
  31. package/dist/application/models/variantInfo/index.d.ts +2 -0
  32. package/dist/application/models/variantInfo/index.js +3 -0
  33. package/dist/application/service/customerService/index.cjs +4 -0
  34. package/dist/application/service/customerService/index.d.cts +3 -0
  35. package/dist/application/service/customerService/index.d.ts +3 -0
  36. package/dist/application/service/customerService/index.js +4 -0
  37. package/dist/application/service/index.cjs +761 -0
  38. package/dist/application/service/index.d.cts +407 -0
  39. package/dist/application/service/index.d.ts +407 -0
  40. package/dist/application/service/index.js +727 -0
  41. package/dist/application/utils/index.cjs +38 -0
  42. package/dist/application/utils/index.d.cts +254 -0
  43. package/dist/application/utils/index.d.ts +254 -0
  44. package/dist/application/utils/index.js +12 -0
  45. package/dist/atomStore-B3tsg6mF.cjs +0 -0
  46. package/dist/atomStore-BFtpknLM.js +31 -0
  47. package/dist/atomStore-CeJm9Llb.cjs +57 -0
  48. package/dist/atomStore-FSZd_20F.js +1 -0
  49. package/dist/atoms/app/index.cjs +17 -0
  50. package/dist/atoms/app/index.d.cts +33 -0
  51. package/dist/atoms/app/index.d.ts +33 -0
  52. package/dist/atoms/app/index.js +12 -0
  53. package/dist/atoms/atomStore/index.cjs +7 -0
  54. package/dist/atoms/atomStore/index.d.cts +23 -0
  55. package/dist/atoms/atomStore/index.d.ts +23 -0
  56. package/dist/atoms/atomStore/index.js +4 -0
  57. package/dist/atoms/chat/index.cjs +41 -0
  58. package/dist/atoms/chat/index.d.cts +159 -0
  59. package/dist/atoms/chat/index.d.ts +159 -0
  60. package/dist/atoms/chat/index.js +12 -0
  61. package/dist/atoms/globalSearch/index.cjs +6 -0
  62. package/dist/atoms/globalSearch/index.d.cts +23 -0
  63. package/dist/atoms/globalSearch/index.d.ts +23 -0
  64. package/dist/atoms/globalSearch/index.js +3 -0
  65. package/dist/atoms/org/index.cjs +41 -0
  66. package/dist/atoms/org/index.d.cts +93 -0
  67. package/dist/atoms/org/index.d.ts +93 -0
  68. package/dist/atoms/org/index.js +13 -0
  69. package/dist/atoms/search/index.cjs +44 -0
  70. package/dist/atoms/search/index.d.cts +11 -0
  71. package/dist/atoms/search/index.d.ts +11 -0
  72. package/dist/atoms/search/index.js +14 -0
  73. package/dist/{bandolier-Ble8jEa8.js → bandolier-C7PAIw02.js} +16 -7
  74. package/dist/{bandolier-Bm2xAt_j.cjs → bandolier-oMkFDJMF.cjs} +55 -46
  75. package/dist/{carpe-Da7b-LCW.cjs → carpe-C0ccKuR9.cjs} +34 -25
  76. package/dist/{carpe-W13mhRRP.js → carpe-DFc78_lJ.js} +16 -7
  77. package/dist/chat-CCgyDehy.cjs +151 -0
  78. package/dist/chat-Dk6KPb1K.js +25 -0
  79. package/dist/components-CScS7Ii-.cjs +28 -0
  80. package/dist/components-DAQxVIn9.js +10 -0
  81. package/dist/config/locators/components/chat/index.cjs +23 -0
  82. package/dist/config/locators/components/chat/index.d.cts +2 -0
  83. package/dist/config/locators/components/chat/index.d.ts +2 -0
  84. package/dist/config/locators/components/chat/index.js +3 -0
  85. package/dist/config/locators/components/chat/variants/index.cjs +28 -0
  86. package/dist/config/locators/components/chat/variants/index.d.cts +15 -0
  87. package/dist/config/locators/components/chat/variants/index.d.ts +15 -0
  88. package/dist/config/locators/components/chat/variants/index.js +16 -0
  89. package/dist/config/locators/components/index.cjs +5 -0
  90. package/dist/config/locators/components/index.d.cts +2 -0
  91. package/dist/config/locators/components/index.d.ts +2 -0
  92. package/dist/config/locators/components/index.js +3 -0
  93. package/dist/config/locators/components/search/index.cjs +12 -0
  94. package/dist/config/locators/components/search/index.d.cts +7 -0
  95. package/dist/config/locators/components/search/index.d.ts +7 -0
  96. package/dist/config/locators/components/search/index.js +8 -0
  97. package/dist/config/locators/index.cjs +47 -0
  98. package/dist/config/locators/index.d.cts +24 -0
  99. package/dist/config/locators/index.d.ts +24 -0
  100. package/dist/config/locators/index.js +6 -0
  101. package/dist/contexts/index.cjs +19 -3
  102. package/dist/contexts/index.d.cts +16 -22
  103. package/dist/contexts/index.d.ts +19 -26
  104. package/dist/contexts/index.js +15 -4
  105. package/dist/contexts-DO75-Kmx.js +7152 -0
  106. package/dist/contexts-iAzSvZjb.cjs +7331 -0
  107. package/dist/{coterie-DOWcJAYv.js → coterie-BGT8hqFR.js} +18 -7
  108. package/dist/{coterie-3y0D9ko4.cjs → coterie-Cp9FAJTQ.cjs} +25 -14
  109. package/dist/customerService-CUyZzowx.js +22 -0
  110. package/dist/customerService-DqPw_XKf.cjs +35 -0
  111. package/dist/custservice-types-D8Npo-5Z.js +22 -0
  112. package/dist/custservice-types-E9_OSaZ7.cjs +34 -0
  113. package/dist/{default-D_KPZdPJ.cjs → default-BAXPatxf.cjs} +1 -1
  114. package/dist/default-BR3225LZ.js +4 -0
  115. package/dist/default-DR6YjE9B.cjs +4 -0
  116. package/dist/{default-C2fEZKXk.js → default-wf_IORgo.js} +1 -1
  117. package/dist/divIds-BWvq-i6I.js +22 -0
  118. package/dist/{divIds-DnZNd7rA.cjs → divIds-CFyAjjp3.cjs} +6 -99
  119. package/dist/{dreamlandBaby-DCIsuU9R.cjs → dreamlandBaby-BzuMvUFS.cjs} +27 -18
  120. package/dist/{dreamlandBaby-DvSaZGrz.js → dreamlandBaby-DZvM81LQ.js} +16 -7
  121. package/dist/embedded-BlXJUbik.cjs +130 -0
  122. package/dist/embedded-C1jvFj3v.js +22 -0
  123. package/dist/events/index.cjs +4 -0
  124. package/dist/events/index.d.cts +45 -0
  125. package/dist/events/index.d.ts +45 -0
  126. package/dist/events/index.js +3 -0
  127. package/dist/events-ClCDFK7t.js +77 -0
  128. package/dist/events-Da7gpmGv.cjs +89 -0
  129. package/dist/featureFlagService-CroFRxvD.d.cts +17 -0
  130. package/dist/featureFlagService-NkJ2fuEj.d.ts +17 -0
  131. package/dist/featureGates-BMWXU0dS.d.ts +90 -0
  132. package/dist/featureGates-N_gyHCTn.d.cts +90 -0
  133. package/dist/{fiveCbd-CkOlVby_.cjs → fiveCbd-DE-tDY3d.cjs} +31 -22
  134. package/dist/{fiveCbd-B1SESMCO.js → fiveCbd-HNBPqPtX.js} +16 -7
  135. package/dist/{forLoveAndLemons-DmwYZIk0.js → forLoveAndLemons-BKmJJ9pq.js} +13 -5
  136. package/dist/{forLoveAndLemons-CfYPMnKS.cjs → forLoveAndLemons-BeVEBOiu.cjs} +17 -9
  137. package/dist/frontendConfig-KeNqU1wa.d.cts +790 -0
  138. package/dist/frontendConfig-cPvCTWm6.d.ts +790 -0
  139. package/dist/globalSearch-BC0rOX3E.js +13 -0
  140. package/dist/globalSearch-hxbXekus.cjs +38 -0
  141. package/dist/{greenpan-BtOi45lf.js → greenpan-BX1viAZB.js} +16 -7
  142. package/dist/{greenpan-Bsl3ir59.cjs → greenpan-chd3aa5I.cjs} +29 -20
  143. package/dist/{grooveLife-6_dtYsRk.js → grooveLife-CHot3rZw.js} +17 -8
  144. package/dist/{grooveLife-Cmm1PSCL.cjs → grooveLife-DEob7rK0.cjs} +28 -19
  145. package/dist/{homegrownCannabis-CO0uY_mp.cjs → homegrownCannabis-CoIjcehi.cjs} +27 -16
  146. package/dist/{homegrownCannabis-C-kw-74X.js → homegrownCannabis-CwkS1qDA.js} +17 -6
  147. package/dist/hooks/index.cjs +26 -3
  148. package/dist/hooks/index.d.cts +220 -299
  149. package/dist/hooks/index.d.ts +220 -299
  150. package/dist/hooks/index.js +15 -4
  151. package/dist/index-BdNKc2ix.d.cts +8 -0
  152. package/dist/index-BkhvV8RZ.d.cts +202 -0
  153. package/dist/index-BrXuc_Ck.d.cts +24 -0
  154. package/dist/{chatElementDisplayLocation-CX8fuNao.d.cts → index-C4zjAR1c.d.cts} +18 -30
  155. package/dist/index-CGB6CAmr.d.ts +6 -0
  156. package/dist/index-CIco0cCQ.d.ts +183 -0
  157. package/dist/index-COG1kOZG.d.ts +749 -0
  158. package/dist/index-CVxe7FpL.d.cts +6 -0
  159. package/dist/index-Cn1SeI5y.d.cts +183 -0
  160. package/dist/index-Cqg6ltII.d.ts +38 -0
  161. package/dist/index-CzMrMKx-.d.ts +202 -0
  162. package/dist/index-DE_7Q8qK.d.ts +94 -0
  163. package/dist/index-Da0UzyI9.d.ts +24 -0
  164. package/dist/index-DbWWcYax.d.cts +749 -0
  165. package/dist/index-DtoVXd6O.d.cts +97 -0
  166. package/dist/index-JClBRnSX.d.cts +94 -0
  167. package/dist/index-ghzD_356.d.ts +8 -0
  168. package/dist/index-hdbCEjYy.d.cts +38 -0
  169. package/dist/index-luJrHgPN.d.ts +97 -0
  170. package/dist/{chatElementDisplayLocation-CwptS9tx.d.ts → index-tfRj22E1.d.ts} +18 -30
  171. package/dist/interceptors/index.cjs +14 -0
  172. package/dist/interceptors/index.d.cts +25 -0
  173. package/dist/interceptors/index.d.ts +25 -0
  174. package/dist/interceptors/index.js +13 -0
  175. package/dist/{jackArcher-CLVmwwpI.js → jackArcher-BA-pkB4A.js} +16 -7
  176. package/dist/{jackArcher-DdYTIzAV.cjs → jackArcher-bewC0q1T.cjs} +33 -24
  177. package/dist/{jordanCraig-_u3-w4Hp.cjs → jordanCraig-B5k9nlAw.cjs} +76 -67
  178. package/dist/{jordanCraig-Am-Oor-O.js → jordanCraig-BsQ1mYbt.js} +16 -7
  179. package/dist/{kindredBravely-eWp-ud_E.js → kindredBravely-BxYkCpGY.js} +15 -6
  180. package/dist/{kindredBravely-CWovIDSc.cjs → kindredBravely-DsN0fo3s.cjs} +26 -17
  181. package/dist/{kutFromTheKloth-Q589bAOC.cjs → kutFromTheKloth-BQTCu3ct.cjs} +27 -18
  182. package/dist/{kutFromTheKloth-BMV4BuGQ.js → kutFromTheKloth-bukOQM3P.js} +16 -7
  183. package/dist/{larryAndSerges-BMUlTgI-.js → larryAndSerges-D1ecaT5a.js} +14 -5
  184. package/dist/{larryAndSerges-CEau764j.cjs → larryAndSerges-bj7fgy9b.cjs} +21 -12
  185. package/dist/{leapsAndRebounds-DHAtRTJD.cjs → leapsAndRebounds-BfneG_0c.cjs} +29 -20
  186. package/dist/{leapsAndRebounds-DGMzPO7T.js → leapsAndRebounds-DhNpZETg.js} +16 -7
  187. package/dist/locators-C2DX_nX6.js +1 -0
  188. package/dist/locators-CUpyd9Wt.cjs +0 -0
  189. package/dist/{longevityrx-jH2JLhNH.js → longevityrx-CnoGcw0w.js} +16 -7
  190. package/dist/{longevityrx-CZW8Hxzi.cjs → longevityrx-D0goIuX0.cjs} +24 -15
  191. package/dist/{lookOptic-CA6RwLbG.cjs → lookOptic-C4afLPZP.cjs} +24 -15
  192. package/dist/{lookOptic-BGXP5P_V.js → lookOptic-uJWIKpER.js} +16 -7
  193. package/dist/{mantraBrand-DByNqpnL.cjs → mantraBrand-8JUlYtCE.cjs} +45 -36
  194. package/dist/{mantraBrand-Cm9_PBCT.js → mantraBrand-DuwKHM26.js} +17 -8
  195. package/dist/{medterra-B0wxj_PV.js → medterra-BQec8rzn.js} +16 -7
  196. package/dist/{medterra-DnPN2ksU.cjs → medterra-DH067P-V.cjs} +36 -27
  197. package/dist/{modells-Bmz8Ag5M.js → modells-DAgLE2xo.js} +16 -7
  198. package/dist/{modells-CoYgkLSp.cjs → modells-DUFnLmAz.cjs} +30 -21
  199. package/dist/nodeSelector-DpKXszfU.d.ts +30 -0
  200. package/dist/nodeSelector-vKB44CDB.d.cts +30 -0
  201. package/dist/org-C11APG3v.js +63 -0
  202. package/dist/org-CnHL2I9B.cjs +106 -0
  203. package/dist/{pressedFloral-DjBiSoUl.cjs → pressedFloral-DVZVfOSQ.cjs} +35 -26
  204. package/dist/{pressedFloral-DSKs_oVG.js → pressedFloral-MdbuoRyA.js} +16 -7
  205. package/dist/search-CvHb1M3S.js +542 -0
  206. package/dist/search-bSYdOBhY.cjs +743 -0
  207. package/dist/search-filter-types-BsJjrxk0.d.ts +101 -0
  208. package/dist/search-filter-types-CqaGK3nM.d.cts +101 -0
  209. package/dist/{skinPerfection-B_3xzVNS.cjs → skinPerfection-BcEWICQN.cjs} +24 -15
  210. package/dist/{skinPerfection-IDrBuAPt.js → skinPerfection-bGiYxq1i.js} +16 -7
  211. package/dist/{snapSupplements-BStTsdOZ.cjs → snapSupplements-BXSXTjqF.cjs} +24 -15
  212. package/dist/{snapSupplements-BJk5T5ba.js → snapSupplements-D7hHhdC9.js} +16 -7
  213. package/dist/{spanx-BYg0LE7R.js → spanx-5-0yX3iK.js} +18 -9
  214. package/dist/{spanx-LwU1zSzq.cjs → spanx-lUzP6Lva.cjs} +30 -21
  215. package/dist/{spanxStaging-CfSmuKYB.js → spanxStaging-HglCMJag.js} +18 -9
  216. package/dist/{spanxStaging-OZLV9qix.cjs → spanxStaging-hreMR0MS.cjs} +34 -25
  217. package/dist/suggestionBarV2-types-B0RbMStE.js +9 -0
  218. package/dist/suggestionBarV2-types-DG3Ekk44.cjs +15 -0
  219. package/dist/{supergoop-CIlrHND_.js → supergoop-C9DDT3lY.js} +17 -7
  220. package/dist/{supergoop-BqPXDnKk.cjs → supergoop-CkjtuRck.cjs} +28 -18
  221. package/dist/test-types-C9b_OdfO.d.ts +39 -0
  222. package/dist/test-types-CpKCxk8U.d.cts +39 -0
  223. package/dist/types/index.cjs +6 -0
  224. package/dist/types/index.d.cts +3 -0
  225. package/dist/types/index.d.ts +3 -0
  226. package/dist/types/index.js +4 -0
  227. package/dist/types-BE4faOO_.d.cts +32 -0
  228. package/dist/{types-C4T5UOIW.cjs → types-BUjohkXp.cjs} +58 -58
  229. package/dist/{types-CYNvLeSA.js → types-BVsTRyxL.js} +58 -58
  230. package/dist/types-TD8g7LnH.d.ts +32 -0
  231. package/dist/{uniqueVintage-B30mOqbH.cjs → uniqueVintage-DIMGtYAU.cjs} +46 -37
  232. package/dist/{uniqueVintage-CFueJOhO.js → uniqueVintage-DPWA5Ed6.js} +16 -7
  233. package/dist/useMessageInterceptor-B-P_rw73.cjs +72 -0
  234. package/dist/useMessageInterceptor-C2RZM-fo.js +57 -0
  235. package/dist/utilityTypes-BVikejDo.js +1 -0
  236. package/dist/utilityTypes-C4h2wgAK.cjs +0 -0
  237. package/dist/variant-BGjOVpY3.d.cts +12 -0
  238. package/dist/variant-XITncuI3.d.ts +12 -0
  239. package/dist/variantInfo-CNRTY0gH.cjs +0 -0
  240. package/dist/variantInfo-CzhR5W6h.js +1 -0
  241. package/dist/{venaCbd-T0CqVD4k.js → venaCbd-B-znfAsl.js} +16 -7
  242. package/dist/{venaCbd-DHGZy49P.cjs → venaCbd-BOwOtpOz.cjs} +29 -20
  243. package/dist/{westonJonBoucher-BdMzs_Yg.cjs → westonJonBoucher-CraTzRVt.cjs} +29 -20
  244. package/dist/{westonJonBoucher-b4TCQ4ev.js → westonJonBoucher-DCRagGu3.js} +16 -7
  245. package/dist/{wineEnthusiast-BqR0i_54.js → wineEnthusiast-Bv7umajk.js} +16 -7
  246. package/dist/{wineEnthusiast-BLGlOjgr.cjs → wineEnthusiast-sVuATrq6.cjs} +28 -19
  247. package/dist/{wolfMattress-CyyO-LoC.js → wolfMattress-BUH-Rhov.js} +17 -6
  248. package/dist/{wolfMattress-DNGZOivg.cjs → wolfMattress-DpVHIEnJ.cjs} +29 -18
  249. package/dist/{wolfTactical-BmXYlFjr.cjs → wolfTactical-BcvF_sy-.cjs} +28 -19
  250. package/dist/{wolfTactical-3Mm2fvVF.js → wolfTactical-Q14A1fpw.js} +16 -7
  251. package/package.json +101 -3
  252. package/src/adapters/amplitude/amplitudeAdapter.ts +1 -1
  253. package/src/adapters/spiffy/commerce/api.ts +1 -1
  254. package/src/adapters/spiffy/commerce/graphql.ts +61 -37
  255. package/src/application/config/index.ts +1 -0
  256. package/src/application/models/index.ts +102 -17
  257. package/src/application/models/supportedOrgs.ts +89 -65
  258. package/src/application/service/index.ts +32 -0
  259. package/src/application/service/pageVariantService.ts +201 -114
  260. package/src/application/service/searchService.ts +1 -1
  261. package/src/application/service/windowFrontendConfigService.ts +40 -18
  262. package/src/application/utils/index.ts +22 -3
  263. package/src/atoms/app/variant.ts +48 -29
  264. package/src/atoms/atomStore/index.ts +1 -0
  265. package/src/atoms/chat/messageQueue.ts +34 -17
  266. package/src/atoms/chat/performanceMetrics.ts +51 -38
  267. package/src/atoms/chat/renderedWidgetRefs.ts +14 -15
  268. package/src/atoms/globalSearch/index.ts +1 -0
  269. package/src/atoms/org/org.ts +1 -3
  270. package/src/atoms/org/orgUIConfig.ts +31 -24
  271. package/src/contexts/chatContext.tsx +124 -72
  272. package/src/events/registerAnalyticsListeners.ts +13 -9
  273. package/src/hooks/useFileUpload.ts +9 -7
  274. package/src/hooks/useSearch.tsx +4 -7
  275. package/src/initialize.ts +2 -2
  276. package/src/interceptors/index.ts +3 -0
  277. package/src/main.tsx +11 -26
  278. package/src/types/index.ts +4 -0
  279. package/dist/GridInsertionService-CEYo9pGj.js +0 -22
  280. package/dist/GridInsertionService-CS_bnPh0.cjs +0 -28
  281. package/dist/contexts-BRjfVq_k.js +0 -5064
  282. package/dist/contexts-BYArqZtK.cjs +0 -5164
  283. package/dist/custservice-types-CFIFwZ-r.js +0 -10
  284. package/dist/custservice-types-CkfxZiHY.cjs +0 -16
  285. package/dist/default-CBUq6Q6G.cjs +0 -4
  286. package/dist/default-CGIFZK6m.js +0 -4
  287. package/dist/divIds-Bss-btao.js +0 -49
  288. package/dist/models-DHdb7QWn.js +0 -51
  289. package/dist/models-ixxUsGL_.cjs +0 -69
  290. package/dist/suggestionBarV2-types-BllzwsBD.js +0 -34
  291. package/dist/suggestionBarV2-types-CaovchMP.cjs +0 -46
  292. package/src/atoms/index.ts +0 -5
  293. package/src/index.ts +0 -31
  294. package/src/main.ts +0 -85
  295. /package/dist/{cdnService-zQfKk3Eb.js → cdnService-DvDSpfVJ.js} +0 -0
  296. /package/dist/{cdnService-CZ-aXcY6.cjs → cdnService-dJU3sHpF.cjs} +0 -0
  297. /package/dist/{entrypoints-YLQsbBRD.js → entrypoints-CmmOszXO.js} +0 -0
  298. /package/dist/{entrypoints-D_JUvkgy.cjs → entrypoints-fowCLUT2.cjs} +0 -0
  299. /package/dist/{socialProofClasses-CrQBWdSA.cjs → socialProofClasses-BYLiEXpU.cjs} +0 -0
  300. /package/dist/{socialProofClasses-Bhv2Vulz.js → socialProofClasses-CkJufEGb.js} +0 -0
  301. /package/src/atoms/{atomStore.ts → atomStore/atomStore.ts} +0 -0
  302. /package/src/atoms/{globalSearch.ts → globalSearch/globalSearch.ts} +0 -0
@@ -0,0 +1,790 @@
1
+ import { FeatureGates } from "./featureGates-N_gyHCTn.cjs";
2
+ import { CustomerServiceIntegrationMode, CustomerServiceType } from "./types-BE4faOO_.cjs";
3
+ import { ChatState, SuggestionBarLocationForMetrics, TestProps } from "./test-types-CpKCxk8U.cjs";
4
+ import { PageVisitCategory, SupportedEventProductCategory } from "@spiffy-ai/commerce-api-client";
5
+
6
+ //#region src/application/models/chatElementDisplayLocation.d.ts
7
+ declare enum ChatElementDisplayLocation {
8
+ IN_CHAT = "in_chat",
9
+ CHAT_PREVIEW = "chat_preview",
10
+ FLOATING_BUTTON = "floating_button",
11
+ HELP_ME_CHOOSE = "help_me_choose",
12
+ PLP_IMAGE_BANNER = "plp_image_banner",
13
+ TOP_REVIEWS_SNIPPET = "top_reviews_snippet",
14
+ BOTTOM_REVIEWS_SNIPPET = "bottom_reviews_snippet",
15
+ BLOCK_BACK_BUTTON = "block_back_button",
16
+ SWITCH_TO_AGENT = "switch_to_agent",
17
+ CONVERSATIONAL_SEARCH = "conversational_search",
18
+ GLOBAL_SEARCH_ENTRYPOINT = "global_search_entrypoint",
19
+ SEARCH_NAV_ENTRYPOINT = "search_nav_entrypoint",
20
+ SEARCH_PROMPT = "search_prompt",
21
+ SEARCH_PROMPT_BUTTON = "search_prompt_button",
22
+ PRODUCT_GRID = "product_grid",
23
+ UNSPECIFIED = "unspecified",
24
+ FILTER_MODAL = "filter_modal",
25
+ PROMPT_CARD = "prompt_card",
26
+ WINDOW_API_CALL = "window_api_call",
27
+ }
28
+ //#endregion
29
+ //#region src/application/models/colorsConfig.d.ts
30
+ declare enum ColorNames {
31
+ TextPrimary = "text-primary",
32
+ TextSecondary = "text-secondary",
33
+ TextAccent = "text-accent",
34
+ TextLink = "text-link",
35
+ TextLight = "text-light",
36
+ BackgroundPrimary = "background-primary",
37
+ BackgroundSecondary = "background-secondary",
38
+ BackgroundSecondaryDark = "background-secondary-dark",
39
+ BackgroundTertiary = "background-tertiary",
40
+ BackgroundDark = "background-dark",
41
+ BackgroundLight = "background-light",
42
+ BackgroundSaturated = "background-saturated",
43
+ BorderLight = "border-light",
44
+ BorderMedium = "border-medium",
45
+ BorderDark = "border-dark",
46
+ BorderOutline = "border-outline",
47
+ AccentPrimary = "accent-primary",
48
+ AccentSecondary = "accent-secondary",
49
+ }
50
+ type ColorMapping = { [key in ColorNames]: string };
51
+ declare const colorVar: (color: ColorNames) => string;
52
+ //#endregion
53
+ //#region src/application/service/domMutations/domInsertionService.d.ts
54
+ declare enum DOMInsertionType {
55
+ AFTER = "after",
56
+ BEFORE = "before",
57
+ ADJACENT_AFTER_BEGIN = "adjacent-after-begin",
58
+ ADJACENT_BEFORE_BEGIN = "adjacent-before-begin",
59
+ ADJACENT_AFTER_END = "adjacent-after-end",
60
+ ADJACENT_BEFORE_END = "adjacent-before-end",
61
+ APPEND_CHILD = "append-child",
62
+ NONE = "none",
63
+ }
64
+ declare const DOMInsertionTypeToInsertPosition: (type: DOMInsertionType) => InsertPosition;
65
+ declare class DOMInsertionService {
66
+ static insert(targetElement: Element, nodeToInsert: HTMLElement, insertionType: DOMInsertionType): void;
67
+ /**
68
+ * Get the insertion point for the widget.
69
+ * @param selector - The selector to find the insertion point.
70
+ * @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)
71
+ * @returns The insertion point element or null if not found.
72
+ */
73
+ static getInsertionPoint(selector: string, selectionIndex?: number): Element | null;
74
+ }
75
+ //#endregion
76
+ //#region src/application/service/domMutations/GridInsertionService.d.ts
77
+ declare enum GridInsertionType {
78
+ FIXED_1 = "fixed-1",
79
+ FIXED_2 = "fixed-2",
80
+ FIXED_3 = "fixed-3",
81
+ FIXED_4 = "fixed-4",
82
+ FIXED_5 = "fixed-5",
83
+ FIXED_6 = "fixed-6",
84
+ FIXED_7 = "fixed-7",
85
+ FIXED_8 = "fixed-8",
86
+ FIXED_9 = "fixed-9",
87
+ FIXED_12 = "fixed-12",
88
+ FIXED_13 = "fixed-13",
89
+ ROW_1 = "row-1",
90
+ ROW_2 = "row-2",
91
+ ROW_3 = "row-3",
92
+ ROW_4 = "row-4",
93
+ }
94
+ declare class GridInsertionService {
95
+ static insert(gridInsertionType: GridInsertionType, targetElement: Element, nodeToInsert: HTMLElement, insertionType: DOMInsertionType): void;
96
+ /**
97
+ * Inserts a node into a grid row at the specified index starting from index 1. If the index
98
+ * is higher than the total number of rows, the node will be inserted at the end of the grid.
99
+ * This function does not make any assumptions about the column span of the inserted node - that
100
+ * should be handled by the orgConfig instead.
101
+ *
102
+ * @param targetElement - The target element to insert the node into.
103
+ * @param nodeToInsert - The node to insert into the grid.
104
+ * @param rowIndex - The index of the row to insert the node into.
105
+ */
106
+ static rowInsert(targetElement: Element, nodeToInsert: HTMLElement, rowIndex: number): void;
107
+ static fixedInsert(targetElement: Element, insertionGridIndex: number, nodeToInsert: HTMLElement, insertionType: DOMInsertionType): void;
108
+ }
109
+ //#endregion
110
+ //#region src/contexts/types.d.ts
111
+ type ShowFloatingButtonOptions = "always" | "after-interaction-on-mobile-always-desktop" | "after-interaction-anywhere" | "never";
112
+ type FloatingEntryPointConfig = {
113
+ position: "bottom-left" | "middle-left" | "middle-right" | "bottom-right";
114
+ expansionText?: {
115
+ pdp: string;
116
+ plp: string;
117
+ };
118
+ minimizedColor: string;
119
+ expandedColor: string;
120
+ textColor?: string;
121
+ showOption: ShowFloatingButtonOptions;
122
+ iconSVGSrc?: string;
123
+ iconSize?: number;
124
+ iconStrokeColor?: string;
125
+ iconFillColor?: string;
126
+ height?: number;
127
+ fontSize?: number;
128
+ };
129
+ type WelcomeSectionVariant = "standard" | "outlined";
130
+ type WelcomeSectionColorVariant = "standard" | "accent" | "brand" | "light";
131
+ type WelcomeSectionConfig = {
132
+ variant: WelcomeSectionVariant;
133
+ colorVariant?: WelcomeSectionColorVariant;
134
+ title?: string;
135
+ subtitle?: string;
136
+ iconName?: string;
137
+ imageSrc?: string;
138
+ };
139
+ type ChatPreviewConfig = {
140
+ variant: "flat" | "filled" | "outlined";
141
+ largeProductComparison?: boolean;
142
+ filledBackgroundColor: string;
143
+ iconFillColor: string;
144
+ buttonTextColor?: string;
145
+ buttonTextSecondaryColor?: string;
146
+ buttonTextHoverColor?: string;
147
+ buttonBackgroundColor: string;
148
+ buttonBackgroundHoverColor: string;
149
+ buttonBorderColor?: string;
150
+ buttonBorderHoverColor?: string;
151
+ copies: {
152
+ pdp: string[];
153
+ plp: string[];
154
+ };
155
+ staticSuggestionCopies?: {
156
+ pdp: string[];
157
+ plp: string[];
158
+ };
159
+ staticPLPImages?: string[];
160
+ footerConfig?: ChatPreviewFooterConfig;
161
+ headerConfig?: ChatPreviewHeaderConfig;
162
+ topMargin?: number;
163
+ };
164
+ type ChatPreviewHeaderConfig = {
165
+ title?: string;
166
+ imageSrc?: string;
167
+ imageHeight?: number;
168
+ sparklesColor?: string;
169
+ fontSize?: string;
170
+ iconWidth?: string;
171
+ iconHeight?: string;
172
+ };
173
+ interface ChatPreviewFooterConfig {
174
+ hasFade?: boolean;
175
+ suggestionButtonVariant?: "dark" | "light" | "outlined";
176
+ suggestionsBackground?: string;
177
+ replyButtonIcon?: "send" | "magnifyingGlass" | "thinMagnifyingGlass" | "searchIcon";
178
+ replyButtonText?: string;
179
+ replyInputHasShadow?: boolean;
180
+ replyInputHasBorder?: boolean;
181
+ backgroundColor?: string;
182
+ }
183
+ type ProductReviewStyleVariant = "standard" | "bordered";
184
+ type ProductReviewColorVariant = "neutral" | "brand" | "premium";
185
+ interface ProductReviewConfig {
186
+ styleVariant: ProductReviewStyleVariant;
187
+ colorVariant: ProductReviewColorVariant;
188
+ verifiedBuyerTitle: string;
189
+ incentivizedReviewFlag?: boolean;
190
+ }
191
+ type PageCardVariant = "filled" | "outlined" | "minimal";
192
+ type PageCardHoverVariant = "none" | "shadow" | "lift";
193
+ type PageCardIconVariant = "primary" | "accent" | "background" | "none";
194
+ type PageCardConfig = {
195
+ variant: PageCardVariant;
196
+ hoverVariant: PageCardHoverVariant;
197
+ iconVariant: PageCardIconVariant;
198
+ };
199
+ type ProductCardVariant = "filled" | "bordered" | "minimal" | "transparentBordered";
200
+ type ProductCardHoverVariant = "backgroundDark" | "none";
201
+ type ProductCardLayoutVariant = "normal" | "tall" | "square";
202
+ interface ProductCardConfig {
203
+ variant: ProductCardVariant;
204
+ hoverVariant: ProductCardHoverVariant;
205
+ layoutVariant: ProductCardLayoutVariant;
206
+ pricePrefix?: string;
207
+ }
208
+ type CSSwitchConfig = {
209
+ variant: "attached" | "detached";
210
+ backgroundColor: string;
211
+ borderColor: string;
212
+ selectedTextColor: string;
213
+ selectedBackgroundColor?: string;
214
+ unselectedTextColor: string;
215
+ unselectedBackgroundColor?: string;
216
+ supportTitle?: string;
217
+ spiffyTitle?: string;
218
+ spiffyTitleHasLogo?: boolean;
219
+ };
220
+ type ChatHeaderConfig = {
221
+ collapsedColor: string;
222
+ expandedColor: string;
223
+ chevronColor: string;
224
+ imageSrc?: string;
225
+ icon?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
226
+ closeIcon?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
227
+ borderBottom?: string;
228
+ headerBarHeightPartialView: number;
229
+ headerBarHeightFullView: number;
230
+ customerSupportSwitchConfig?: CSSwitchConfig;
231
+ };
232
+ type SimpleCustomerServiceIntegration = {
233
+ integrationMode: CustomerServiceIntegrationMode;
234
+ provider: CustomerServiceType;
235
+ useUnifiedButton?: boolean;
236
+ };
237
+ type FullCustomerServiceIntegration = {
238
+ integrationMode: CustomerServiceIntegrationMode;
239
+ provider: CustomerServiceType;
240
+ useUnifiedButton?: boolean;
241
+ chatEnabledDuringBusinessHours?: boolean;
242
+ showNameInput?: boolean;
243
+ formAiName?: string;
244
+ welcomeTitle: string;
245
+ welcomeDescription: string;
246
+ showWelcomeOnForm?: boolean;
247
+ contactSubjectOptions?: string[];
248
+ getCustomWaitingMessage?: (name?: string) => string;
249
+ withinBusinessHoursMessage?: string;
250
+ withinBusinessHoursWaitingMessage?: string;
251
+ outsideBusinessHoursMessage?: string;
252
+ outsideBusinessHoursWaitingMessage?: string;
253
+ withinBusinessHoursFormMessage?: string;
254
+ outsideBusinessHoursFormMessage?: string;
255
+ suggestedAIQuestions?: string[];
256
+ businessHoursPolling?: number;
257
+ /**
258
+ * @deprecated This is handled by the BE.
259
+ */
260
+ businessHoursStartUTC?: string;
261
+ /**
262
+ * @deprecated This is handled by the BE.
263
+ */
264
+ businessHoursEndUTC?: string;
265
+ /**
266
+ * @deprecated This is handled by the BE.
267
+ */
268
+ businessHoursTimezone?: string;
269
+ showAISuggestionsWithinBusinessHours?: boolean;
270
+ waitingMessagePosition?: "BEFORE_MESSAGES" | "AFTER_MESSAGES";
271
+ legalMessage?: string;
272
+ withinBusinessHoursInitialState?: ChatState;
273
+ outsideBusinessHoursInitialState?: ChatState;
274
+ withinBusinessHoursButtontext?: string;
275
+ outsideBusinessHoursButtontext?: string;
276
+ reopenChatMessage: string;
277
+ };
278
+ type CustomerServiceIntegration = SimpleCustomerServiceIntegration | FullCustomerServiceIntegration;
279
+ type ConversationalSeach = {
280
+ enabled?: boolean;
281
+ replyInput?: ReplyInputConfig;
282
+ suggestions?: string[];
283
+ entrypointBgColor?: string;
284
+ entrypointTextColor?: string;
285
+ entrypointBtnColor?: string;
286
+ entrypointBtnTextColor?: string;
287
+ entrypointBtnBorderColor?: string;
288
+ entrypointContainer?: string;
289
+ entrypointTrigger?: string;
290
+ productGridContainer?: string;
291
+ generalSearchBtn?: string;
292
+ pageContent?: string;
293
+ searchContent?: string;
294
+ sortingTitle?: string;
295
+ selectionTitle?: string;
296
+ sortingFont?: string;
297
+ optionsFont?: string;
298
+ sortingButtonText?: string;
299
+ };
300
+ type ChatMessageVariant = "standard" | "premium" | "accent";
301
+ interface ChatMessageConfig {
302
+ assistantChatTitle: string;
303
+ variant: ChatMessageVariant;
304
+ productLink: {
305
+ variant: ProductLinkVariant;
306
+ hoverVariant: ProductLinkHoverVariant;
307
+ iconVariant: ProductLinkIconVariant;
308
+ };
309
+ }
310
+ interface ReplyInputConfig {
311
+ size?: "md" | "lg";
312
+ sendIcon: "arrowUp" | "send" | "search";
313
+ placeholder?: string;
314
+ }
315
+ interface PartialViewConfig {
316
+ maxHeight: number;
317
+ borderRadius?: string;
318
+ }
319
+ type ProductLinkIconVariant = "accentPrimary" | "backgroundPrimary" | "backgroundPrimaryDark" | "borderLight" | "backgroundSaturated";
320
+ type ProductLinkVariant = "textLink";
321
+ type ProductLinkHoverVariant = "backgroundDark";
322
+ type SearchCardVariant = "backgroundPrimary" | "backgroundSecondary" | "backgroundSecondaryDark" | "backgroundLight" | "backgroundSaturated";
323
+ type SuggestionButtonVariant = "outlined" | "outlinedLight" | "primary" | "secondary" | "tertiary" | "dark" | "darkAccent" | "darkPrimary" | "secondaryDark" | "secondaryAccent" | "transparent" | "transparentDark" | "lightDark";
324
+ interface SuggestionButtonConfig {
325
+ variant?: SuggestionButtonVariant;
326
+ hoverVariant?: SuggestionButtonVariant;
327
+ answerVariant?: SuggestionButtonVariant;
328
+ borderRadius?: "sm" | "md" | "lg";
329
+ }
330
+ type NumRows = "default" | "alwaysOneRow" | "alwaysTwoRows" | "twoRowsOnMobile";
331
+ interface AlphabeticFilterSorting {
332
+ type: "alphabetic";
333
+ }
334
+ interface ProductCountFilterSorting {
335
+ type: "productCount";
336
+ }
337
+ interface CustomFilterSorting {
338
+ type: "custom";
339
+ map: Record<string, number>;
340
+ }
341
+ type FilterSorting = AlphabeticFilterSorting | ProductCountFilterSorting | CustomFilterSorting;
342
+ interface BaseFilterConfig {
343
+ filterId: string;
344
+ displayName: string;
345
+ }
346
+ interface DynamicFilterConfig extends BaseFilterConfig {
347
+ type: "dynamic";
348
+ attribute: string;
349
+ sorting: FilterSorting;
350
+ }
351
+ interface PriceFilterConfig extends BaseFilterConfig {
352
+ type: "price";
353
+ bucketSize: number;
354
+ }
355
+ type FilterAttribute = DynamicFilterConfig | PriceFilterConfig;
356
+ type SearchZeroStateVariant = "backgroundTertiary" | "backgroundDark" | "backgroundPrimary";
357
+ type SearchZeroStateLayout = "input" | "icon";
358
+ type SearchInputVariant = "standard";
359
+ type SearchIconVariant = "thin" | "bold";
360
+ type SearchFilterSidebarVariant = "darkButton" | "lightButton";
361
+ type ProductGridVariant = "standard" | "square";
362
+ type UserQueryButtonIcon = "magnifyingGlass" | "send" | "magnifyingGlassThin" | "sendArrow" | "searchIcon";
363
+ interface UserQueryButtonConfig {
364
+ variant?: "box" | "underlineLight" | "underlineDark";
365
+ placeholderText?: string;
366
+ icon: UserQueryButtonIcon;
367
+ }
368
+ interface TermsAndConditionsConfig {
369
+ copy: string;
370
+ link: string;
371
+ linkText: string;
372
+ }
373
+ interface MerchantVariantSettings {
374
+ dynamicVariants: {
375
+ enabled: boolean;
376
+ refreshInterval?: number;
377
+ };
378
+ }
379
+ interface FloatingChatConfig {
380
+ enableWatermark: boolean;
381
+ userQueryInputEnabled: boolean;
382
+ ignoreFirstModelResponse?: boolean;
383
+ neverShowSingleProductCards?: boolean;
384
+ termsAndConditionsConfig?: TermsAndConditionsConfig;
385
+ suggestionButtonConfig?: SuggestionButtonConfig;
386
+ replyInputConfig: ReplyInputConfig;
387
+ }
388
+ interface SearchConfig {
389
+ enableGlobalSearch: boolean;
390
+ searchFilterConfig: FilterAttribute[];
391
+ redirectSearchResultsUrl?: string;
392
+ additiveDynamicFilters?: boolean;
393
+ }
394
+ type OrgUIConfig = {
395
+ shortName: string;
396
+ id?: string;
397
+ floatingEntrypointConfig?: FloatingEntryPointConfig;
398
+ chatPreviewConfig?: ChatPreviewConfig;
399
+ customerServiceIntegration: CustomerServiceIntegration;
400
+ conversationalSearch?: ConversationalSeach;
401
+ merchantOverrideCss?: string;
402
+ hiddenElementSelectors?: string[];
403
+ merchantVariantSettings?: MerchantVariantSettings;
404
+ floatingChatConfig: FloatingChatConfig;
405
+ searchConfig: SearchConfig;
406
+ chatHeader: ChatHeaderConfig;
407
+ stickyAgentSwitchSuggestion?: boolean;
408
+ partialViewConfig: PartialViewConfig;
409
+ welcomeSectionConfig?: WelcomeSectionConfig;
410
+ productCardConfig?: ProductCardConfig;
411
+ productReviewConfig?: ProductReviewConfig;
412
+ pageCardConfig?: PageCardConfig;
413
+ chatMessageConfig: ChatMessageConfig;
414
+ };
415
+ type InsertionPoint = {
416
+ selector: string;
417
+ selectionIndex?: number;
418
+ insertionType: DOMInsertionType;
419
+ };
420
+ type URLTest = "shopify" | "null";
421
+ type IdExtractor = "shopify-product-id" | "shopify-collection-id" | "shopify-product-variant-id" | "url-resolver-product-id" | "url-resolver-plp-id" | "null";
422
+ declare enum CategoryExtractorType {
423
+ VisitCategoryMap = "VisitCategoryMap",
424
+ VisitCategoryDefault = "VisitCategoryDefault",
425
+ }
426
+ interface BaseCategoryExtractor<T extends CategoryExtractorType> {
427
+ type: T;
428
+ }
429
+ interface VisitCategoryMap extends BaseCategoryExtractor<CategoryExtractorType.VisitCategoryMap> {
430
+ map: { [key in PageVisitCategory]?: string[] };
431
+ }
432
+ interface VisitCategoryDefault extends BaseCategoryExtractor<CategoryExtractorType.VisitCategoryDefault> {
433
+ value: PageVisitCategory;
434
+ }
435
+ type CategoryExtractor = VisitCategoryMap | VisitCategoryDefault;
436
+ type WrappingElement = {
437
+ className: string;
438
+ element: string;
439
+ insertionType: DOMInsertionType;
440
+ };
441
+ declare enum PageVariantTestType {
442
+ ShopifyPLP = "ShopifyPLP",
443
+ ShopifyPDP = "ShopifyPDP",
444
+ PageCategory = "PageCategory",
445
+ CatalogCategory = "CatalogCategory",
446
+ TopCatalogCategory = "TopCatalogCategory",
447
+ HasReviews = "HasReviews",
448
+ InCollection = "InCollection",
449
+ HasMerchantTag = "HasMerchantTag",
450
+ FeatureGate = "FeatureGate",
451
+ PlpId = "PlpId",
452
+ QueryParam = "QueryParam",
453
+ ProductId = "ProductId",
454
+ UserHasInteracted = "UserHasInteracted",
455
+ UserHasNotInteracted = "UserHasNotInteracted",
456
+ isLoading = "isLoading",
457
+ isProductComparison = "isProductComparison",
458
+ Fallback = "Fallback",
459
+ UrlResolver = "UrlResolver",
460
+ Null = "null",
461
+ }
462
+ interface BasePageVariantTest<T extends PageVariantTestType> {
463
+ testType: T;
464
+ }
465
+ interface TopCatalogCategory extends BasePageVariantTest<PageVariantTestType.TopCatalogCategory> {
466
+ topCategory: string[];
467
+ }
468
+ interface CatalogCategoryTest extends BasePageVariantTest<PageVariantTestType.CatalogCategory> {
469
+ category: SupportedEventProductCategory;
470
+ }
471
+ interface HasReviewsTest extends BasePageVariantTest<PageVariantTestType.HasReviews> {
472
+ reviewMinimum?: number;
473
+ }
474
+ interface InCollectionTest extends BasePageVariantTest<PageVariantTestType.InCollection> {
475
+ collections: string[];
476
+ }
477
+ interface HasMerchantTagTest extends BasePageVariantTest<PageVariantTestType.HasMerchantTag> {
478
+ merchantTags: string[];
479
+ }
480
+ interface ShopifyPLPURLTest extends BasePageVariantTest<PageVariantTestType.ShopifyPLP> {}
481
+ interface ShopifyPDPURLTest extends BasePageVariantTest<PageVariantTestType.ShopifyPDP> {}
482
+ interface PageCategoryTest extends BasePageVariantTest<PageVariantTestType.PageCategory> {
483
+ extractor: CategoryExtractor;
484
+ }
485
+ interface FeatureGateTest extends BasePageVariantTest<PageVariantTestType.FeatureGate> {
486
+ featureGate: FeatureGates;
487
+ }
488
+ interface ProductIdTest extends BasePageVariantTest<PageVariantTestType.ProductId> {
489
+ productIdExtractor: IdExtractor;
490
+ productIds: string[];
491
+ }
492
+ interface PlpIdTest extends BasePageVariantTest<PageVariantTestType.PlpId> {
493
+ plpIdExtractor: IdExtractor;
494
+ plpIds: string[];
495
+ }
496
+ interface QueryParamTest extends BasePageVariantTest<PageVariantTestType.QueryParam> {
497
+ queryParam: string;
498
+ }
499
+ interface UserHasInteractedTest extends BasePageVariantTest<PageVariantTestType.UserHasInteracted> {}
500
+ interface UserHasNotInteractedTest extends BasePageVariantTest<PageVariantTestType.UserHasNotInteracted> {}
501
+ interface IsLoadingTest extends BasePageVariantTest<PageVariantTestType.isLoading> {}
502
+ interface IsProductComparison extends BasePageVariantTest<PageVariantTestType.isProductComparison> {}
503
+ interface PageFallbackTest extends BasePageVariantTest<PageVariantTestType.Fallback> {}
504
+ interface UrlResolverTest extends BasePageVariantTest<PageVariantTestType.UrlResolver> {}
505
+ type PageVariantTest = PageCategoryTest | ShopifyPLPURLTest | ShopifyPDPURLTest | CatalogCategoryTest | TopCatalogCategory | HasReviewsTest | InCollectionTest | HasMerchantTagTest | FeatureGateTest | ProductIdTest | PlpIdTest | QueryParamTest | UserHasInteractedTest | UserHasNotInteractedTest | IsLoadingTest | IsProductComparison | PageFallbackTest | UrlResolverTest;
506
+ /**
507
+ * Configuration for the social proof embedded widget
508
+ *
509
+ * @param headerTitle - The title text to display in the widget header
510
+ * @param staticSuggestions - A list of strings to display as suggestions in the widget
511
+ * @param suggestionButtonVariantDefault - The variant of the suggestion button to display in the widget footer
512
+ * @param suggestionButtonVariantAccent - The variant of the suggestion button to display in the widget body
513
+ * @param staticImageIndex - Index of the imageUrl to use from the product response
514
+ */
515
+ interface SocialProofConfig {
516
+ customerQuery: string;
517
+ headerTitle: string;
518
+ staticPLPImagesLayout?: "grid" | "horizontal";
519
+ headerFontFamily?: string;
520
+ staticPLPImageNames?: string[];
521
+ staticImageIndex?: number;
522
+ suggestionButtonStrings: string[];
523
+ suggestionButtonVariantDefault: SuggestionButtonVariant;
524
+ suggestionButtonVariantAccent?: SuggestionButtonVariant;
525
+ suggestionButtonDataAttributes?: Record<string, string>;
526
+ userQueryButtonConfig?: UserQueryButtonConfig;
527
+ logoName?: string;
528
+ }
529
+ /**
530
+ * Configuration for creating the mount point for a widget
531
+ *
532
+ * @param className - Optional class name to apply to the mount point. Tailwind classes are supported
533
+ * and encouraged. Use this parameter to style the mounting container for the widget.
534
+ */
535
+ type WidgetMountingConfig = {
536
+ mountingConfigId: string;
537
+ containerId: string;
538
+ testId: string;
539
+ parentInsertionPoint?: InsertionPoint;
540
+ insertionPoint: InsertionPoint;
541
+ gridInsertionType?: GridInsertionType;
542
+ wrappingElement?: WrappingElement;
543
+ divCheckSelector?: string;
544
+ suppressionSelector?: string;
545
+ style?: Partial<CSSStyleDeclaration>;
546
+ className?: string;
547
+ dataAttributes?: Record<string, string>;
548
+ };
549
+ type StaticWidgetMounting = {
550
+ mountingConfigId: string;
551
+ widgetConfigId: string;
552
+ };
553
+ type DynamicWidgetMounting = {
554
+ mountingConfigId: string;
555
+ mountingPointWidgets: WidgetDisplayTests[];
556
+ };
557
+ type WidgetDisplayTests = {
558
+ tests: PageVariantTest[];
559
+ widgetConfigId: string;
560
+ };
561
+ type WidgetMounting = StaticWidgetMounting | DynamicWidgetMounting;
562
+ declare enum WidgetType {
563
+ ChatPreview = "ChatPreview",
564
+ SocialProofV2 = "SocialProofV2",
565
+ ChatPreviewV2 = "ChatPreviewV2",
566
+ ChatPreviewIsLoading = "ChatPreviewIsLoading",
567
+ ChatPreviewPostInteraction = "ChatPreviewPostInteraction",
568
+ ChatPreviewProductComparison = "ChatPreviewProductComparison",
569
+ SuggestionBar = "SuggestionBar",
570
+ SuggestionBarV2 = "SuggestionBarV2",
571
+ ImagePromptCard = "ImagePromptCard",
572
+ ImageBanner = "ImageBanner",
573
+ SingleImagePrompt = "SingleImagePrompt",
574
+ SearchPrompt = "SearchPrompt",
575
+ SearchZeroStateEntryPoint = "SearchZeroStateEntryPoint",
576
+ SearchResultsEntryPoint = "SearchResultsEntryPoint",
577
+ SearchOverlayHost = "SearchOverlayHost",
578
+ NoOp = "NoOp",
579
+ }
580
+ type WidgetConfig = ChatPreviewWidgetConfig | SocialProofV2WidgetConfig | ChatPreviewV2WidgetConfig | ChatPreviewPostInteractionWidgetConfig | ChatPreviewIsLoadingWidgetConfig | ChatPreviewProductComparisonWidgetConfig | SuggestionBarWidgetV2Config | ImagePromptWidgetConfig | ImageBannerWidgetConfig | SingleImagePromptWidgetConfig | SearchPromptWidgetConfig | SearchEntryPointWidgetConfig | SearchResultsEntryPointWidgetConfig | SearchOverlayHostWidgetConfig | NoOpWidgetConfig;
581
+ interface BaseWidgetConfig<T extends WidgetType> {
582
+ widgetConfigId: string;
583
+ type: T;
584
+ contentId?: string;
585
+ }
586
+ interface ImageBannerWidgetConfig extends BaseWidgetConfig<WidgetType.ImageBanner> {
587
+ imageSrc: string;
588
+ title: string;
589
+ subtitle: string;
590
+ assistantMessage: string;
591
+ }
592
+ interface ChatPreviewWidgetConfig extends BaseWidgetConfig<WidgetType.ChatPreview> {
593
+ variant: "filled" | "flat" | "outlined";
594
+ addSeparators?: boolean;
595
+ socialProofConfig?: SocialProofConfig;
596
+ footerConfig?: ChatPreviewFooterConfig;
597
+ }
598
+ interface ChatPreviewHeaderV2Config {
599
+ title?: string;
600
+ imageSrc?: string;
601
+ imageHeight?: number;
602
+ }
603
+ type SingleImageConfig = {
604
+ layout: "single";
605
+ imageIndex: number;
606
+ };
607
+ type MultiImageConfig = {
608
+ layout: "grid" | "horizontal";
609
+ imageNames: string[];
610
+ };
611
+ type SocialProofImageConfig = SingleImageConfig | MultiImageConfig;
612
+ type ChatPreviewSuggestionButtonConfig = {
613
+ buttonStrings: string[];
614
+ accentButtonVariants?: {
615
+ button: SuggestionButtonVariant;
616
+ hover: SuggestionButtonVariant;
617
+ };
618
+ buttonVariants: {
619
+ button: SuggestionButtonVariant;
620
+ hover: SuggestionButtonVariant;
621
+ };
622
+ numRows?: NumRows;
623
+ };
624
+ type ChatPreviewAnimatedTextConfig = {
625
+ leadingText: string;
626
+ animatedStrings: string[];
627
+ };
628
+ type ChatPreviewVariant = {
629
+ variant: "flat";
630
+ } | {
631
+ variant: "filled";
632
+ backgroundFillColor: string;
633
+ } | {
634
+ variant: "outlined";
635
+ };
636
+ interface BaseChatPreviewConfig {
637
+ headerConfig: ChatPreviewHeaderV2Config;
638
+ suggestionButtonsConfig: ChatPreviewSuggestionButtonConfig;
639
+ userQueryButtonConfig: UserQueryButtonConfig;
640
+ chatPreviewVariant: ChatPreviewVariant;
641
+ addSeparators?: boolean;
642
+ }
643
+ interface ChatPreviewPostInteractionWidgetConfig extends BaseWidgetConfig<WidgetType.ChatPreviewPostInteraction>, BaseChatPreviewConfig {
644
+ chatPreviewVariant: ChatPreviewVariant;
645
+ addSeparators?: boolean;
646
+ }
647
+ interface ChatPreviewIsLoadingWidgetConfig extends BaseWidgetConfig<WidgetType.ChatPreviewIsLoading>, BaseChatPreviewConfig {}
648
+ interface ChatPreviewProductComparisonWidgetConfig extends BaseWidgetConfig<WidgetType.ChatPreviewProductComparison>, BaseChatPreviewConfig {
649
+ useLargeProductComparison?: boolean;
650
+ }
651
+ interface ChatPreviewV2WidgetConfig extends BaseWidgetConfig<WidgetType.ChatPreviewV2>, BaseChatPreviewConfig {
652
+ animatedTextConfig: ChatPreviewAnimatedTextConfig;
653
+ }
654
+ interface SocialProofV2WidgetConfig extends BaseWidgetConfig<WidgetType.SocialProofV2>, BaseChatPreviewConfig {
655
+ customerQuery?: string;
656
+ imageConfig: SocialProofImageConfig;
657
+ }
658
+ interface SuggestionBarWidgetV2Config extends BaseWidgetConfig<WidgetType.SuggestionBarV2> {
659
+ metricDisplayLocation: ChatElementDisplayLocation;
660
+ location: SuggestionBarLocationForMetrics;
661
+ variant: SuggestionButtonVariant;
662
+ hoverVariant: SuggestionButtonVariant;
663
+ buttonTexts: {
664
+ default: string[];
665
+ productSpecific?: {
666
+ [productId: string]: string[];
667
+ };
668
+ };
669
+ boldFirstButton?: boolean;
670
+ twoRowsOnMobile?: boolean;
671
+ animationSpeed?: "standard" | "slow" | "none";
672
+ buttonBorderRadius?: "sm" | "md" | "lg";
673
+ }
674
+ interface ImagePromptWidgetConfig extends BaseWidgetConfig<WidgetType.ImagePromptCard> {
675
+ url: string;
676
+ lightText?: boolean;
677
+ title: string;
678
+ subtitle: string[];
679
+ staticSuggestionCopies: string[];
680
+ userQueryButtonConfig: UserQueryButtonConfig;
681
+ fallbackBackgroundColor?: string;
682
+ }
683
+ interface SingleImagePromptWidgetConfig extends BaseWidgetConfig<WidgetType.SingleImagePrompt> {
684
+ title: string;
685
+ staticSuggestionCopies: string[];
686
+ userQueryButtonConfig: UserQueryButtonConfig;
687
+ }
688
+ interface SearchEntryPointWidgetConfig extends BaseWidgetConfig<WidgetType.SearchZeroStateEntryPoint> {
689
+ searchZeroStateVariant: SearchZeroStateVariant;
690
+ searchInputVariant: SearchInputVariant;
691
+ searchIconVariant?: SearchIconVariant;
692
+ searchIconSize?: number;
693
+ suggestionButtonConfig: SuggestionButtonConfig;
694
+ layout: SearchZeroStateLayout;
695
+ searchBoxPlaceholder: string;
696
+ animationSpeed?: "standard" | "slow" | "none";
697
+ compactLabel?: string;
698
+ initialSuggestions?: string[];
699
+ usingPortal?: boolean;
700
+ }
701
+ interface NoOpWidgetConfig extends BaseWidgetConfig<WidgetType.NoOp> {}
702
+ interface SearchOverlayHostWidgetConfig extends BaseWidgetConfig<WidgetType.SearchOverlayHost> {}
703
+ interface SearchResultsEntryPointWidgetConfig extends BaseWidgetConfig<WidgetType.SearchResultsEntryPoint> {
704
+ searchInputVariant: SearchInputVariant;
705
+ searchFilterSidebarVariant: SearchFilterSidebarVariant;
706
+ productGridVariant: ProductGridVariant;
707
+ searchBoxPlaceholder: string;
708
+ noResultsFoundText?: string;
709
+ }
710
+ interface WidgetHeaderProps extends TestProps {
711
+ title?: string;
712
+ logo?: string;
713
+ logoHeight?: number;
714
+ orgShortName: string;
715
+ variant?: SearchPromptVariant;
716
+ }
717
+ interface UserQueryOptions {
718
+ footerVariant?: "standard";
719
+ replyButtonText?: string;
720
+ replyButtonIcon?: "magnifyingGlass" | "send" | "thinMagnifyingGlass" | "ai-search";
721
+ }
722
+ type SearchPromptVariant = "primary";
723
+ interface SearchPromptWidgetConfig extends BaseWidgetConfig<WidgetType.SearchPrompt> {
724
+ variant: SearchPromptVariant;
725
+ title: string;
726
+ headerConfig: WidgetHeaderProps;
727
+ suggestionButtons: {
728
+ variant: SuggestionButtonVariant;
729
+ hoverVariant: SuggestionButtonVariant;
730
+ buttonTexts: string[];
731
+ };
732
+ footerConfig?: UserQueryOptions;
733
+ }
734
+ type PageVariantBase = {
735
+ variantId: string;
736
+ widgetMounting: WidgetMounting[];
737
+ variantTests: PageVariantTest[];
738
+ };
739
+ type PLPPageVariant = PageVariantBase & {
740
+ variantType: "plp";
741
+ plpIdExtractor: IdExtractor;
742
+ };
743
+ type PDPPageVariant = PageVariantBase & {
744
+ variantType: "pdp";
745
+ parentProductIdExtractor?: IdExtractor;
746
+ productIdExtractor: IdExtractor;
747
+ };
748
+ type VisitPageVariant = PageVariantBase & {
749
+ variantType: "page_visit";
750
+ };
751
+ type OtherPageVariant = PageVariantBase & {
752
+ variantType: "other";
753
+ };
754
+ type HomePageVariant = PageVariantBase & {
755
+ variantType: "homepage";
756
+ };
757
+ type SearchPageVariant = PageVariantBase & {
758
+ variantType: "search";
759
+ };
760
+ type PageVariantConfig = PLPPageVariant | PDPPageVariant | VisitPageVariant | OtherPageVariant | HomePageVariant | SearchPageVariant;
761
+ type OrgPageConfig = {
762
+ pageVariants: PageVariantConfig[];
763
+ widgetConfigs: Record<string, WidgetConfig>;
764
+ mountingConfigs: Record<string, WidgetMountingConfig>;
765
+ };
766
+ interface OrgConfigContextType {
767
+ orgUIConfig: OrgUIConfig;
768
+ }
769
+ interface EnviveConfig {
770
+ amplitudeApiKey: string;
771
+ dataResidency: string;
772
+ env: string;
773
+ baseUrl: string;
774
+ reactAppName: string;
775
+ cdnUrl: string;
776
+ contextSource: string;
777
+ orgLevelApiKey: string;
778
+ orgShortName: string;
779
+ }
780
+ //#endregion
781
+ //#region src/application/models/frontendConfig.d.ts
782
+ interface FrontendConfig {
783
+ merchantOverrideCss?: string;
784
+ pageVariants?: PageVariantConfig[];
785
+ mountingConfigs?: Record<string, WidgetMountingConfig>;
786
+ widgetConfigs?: Record<string, WidgetConfig>;
787
+ uiConfigs?: Omit<OrgUIConfig, 'merchantOverrideCss'>;
788
+ }
789
+ //#endregion
790
+ export { type CategoryExtractor, CategoryExtractorType, ChatElementDisplayLocation, type ChatMessageConfig, type ChatMessageVariant, type ChatPreviewConfig, type ChatPreviewFooterConfig, type ChatPreviewHeaderConfig, type ChatPreviewHeaderV2Config, type ChatPreviewIsLoadingWidgetConfig, type ChatPreviewPostInteractionWidgetConfig, type ChatPreviewProductComparisonWidgetConfig, type ChatPreviewSuggestionButtonConfig, type ChatPreviewV2WidgetConfig, type ChatPreviewVariant, type ChatPreviewWidgetConfig, type ColorMapping, ColorNames, type CustomerServiceIntegration, DOMInsertionService, DOMInsertionType, DOMInsertionTypeToInsertPosition, type DynamicWidgetMounting, EnviveConfig, FilterAttribute, type FloatingEntryPointConfig, FrontendConfig, type FullCustomerServiceIntegration, GridInsertionService, GridInsertionType, type HomePageVariant, type IdExtractor, type ImageBannerWidgetConfig, type ImagePromptWidgetConfig, type InsertionPoint, type MultiImageConfig, type NoOpWidgetConfig, type NumRows, type OrgConfigContextType, OrgPageConfig, type OrgUIConfig, type OtherPageVariant, type PDPPageVariant, type PLPPageVariant, type PageCardConfig, type PageCardHoverVariant, type PageCardIconVariant, type PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, type ProductCardConfig, type ProductCardHoverVariant, type ProductCardLayoutVariant, type ProductCardVariant, ProductGridVariant, type ProductLinkHoverVariant, type ProductLinkIconVariant, type ProductLinkVariant, type ProductReviewColorVariant, type ProductReviewConfig, type ProductReviewStyleVariant, type SearchCardVariant, type SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, type SearchOverlayHostWidgetConfig, type SearchPageVariant, type SearchPromptVariant, type SearchPromptWidgetConfig, type SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, type ShowFloatingButtonOptions, type SingleImagePromptWidgetConfig, type SocialProofConfig, type SocialProofV2WidgetConfig, type StaticWidgetMounting, type SuggestionBarWidgetV2Config, type SuggestionButtonConfig, type SuggestionButtonVariant, type URLTest, type UserQueryButtonConfig, type UserQueryButtonIcon, UserQueryOptions, type VisitPageVariant, type WelcomeSectionColorVariant, type WelcomeSectionConfig, type WelcomeSectionVariant, type WidgetConfig, type WidgetDisplayTests, WidgetHeaderProps, type WidgetMounting, WidgetMountingConfig, WidgetType, type WrappingElement, colorVar };