@envive-ai/react-hooks 0.1.3 → 0.1.5

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 (439) hide show
  1. package/dist/adapters/amplitude/index.cjs +13 -13
  2. package/dist/adapters/amplitude/index.d.cts +5 -3
  3. package/dist/adapters/amplitude/index.d.ts +5 -3
  4. package/dist/adapters/amplitude/index.js +10 -10
  5. package/dist/api-B2euFL-5.cjs +269 -0
  6. package/dist/api-XRr_lAG6.js +190 -0
  7. package/dist/application/config/index.cjs +14 -5
  8. package/dist/application/config/index.d.cts +2 -1
  9. package/dist/application/config/index.d.ts +2 -1
  10. package/dist/application/config/index.js +14 -5
  11. package/dist/application/models/graphql/index.cjs +12 -12
  12. package/dist/application/models/graphql/index.d.cts +1 -1
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/graphql/index.js +10 -10
  15. package/dist/application/models/guards/api/index.cjs +2 -2
  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 +2 -2
  19. package/dist/application/models/index.cjs +54 -54
  20. package/dist/application/models/index.d.cts +8 -9
  21. package/dist/application/models/index.d.ts +8 -9
  22. package/dist/application/models/index.js +10 -10
  23. package/dist/application/models/utilityTypes/index.cjs +1 -1
  24. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  25. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  26. package/dist/application/models/utilityTypes/index.js +1 -1
  27. package/dist/application/models/variantInfo/index.cjs +1 -1
  28. package/dist/application/models/variantInfo/index.d.cts +1 -1
  29. package/dist/application/models/variantInfo/index.d.ts +1 -1
  30. package/dist/application/models/variantInfo/index.js +1 -1
  31. package/dist/application/service/customerService/index.cjs +2 -2
  32. package/dist/application/service/customerService/index.d.cts +2 -2
  33. package/dist/application/service/customerService/index.d.ts +2 -2
  34. package/dist/application/service/customerService/index.js +2 -2
  35. package/dist/application/service/index.cjs +38 -757
  36. package/dist/application/service/index.d.cts +26 -20
  37. package/dist/application/service/index.d.ts +26 -20
  38. package/dist/application/service/index.js +12 -727
  39. package/dist/application/utils/index.cjs +37 -37
  40. package/dist/application/utils/index.d.cts +12 -12
  41. package/dist/application/utils/index.d.ts +14 -14
  42. package/dist/application/utils/index.js +10 -10
  43. package/dist/atomStore-B1cgmbP0.js +32 -0
  44. package/dist/atomStore-JwGb7pcy.cjs +58 -0
  45. package/dist/atomStore-ONYy0XuA.d.cts +24 -0
  46. package/dist/atomStore-kOKiEcNl.d.ts +24 -0
  47. package/dist/atoms/app/index.cjs +16 -16
  48. package/dist/atoms/app/index.d.cts +11 -11
  49. package/dist/atoms/app/index.d.ts +12 -12
  50. package/dist/atoms/app/index.js +10 -10
  51. package/dist/atoms/atomStore/index.cjs +1 -2
  52. package/dist/atoms/atomStore/index.d.cts +1 -22
  53. package/dist/atoms/atomStore/index.d.ts +1 -22
  54. package/dist/atoms/atomStore/index.js +1 -2
  55. package/dist/atoms/chat/index.cjs +40 -40
  56. package/dist/atoms/chat/index.d.cts +37 -37
  57. package/dist/atoms/chat/index.d.ts +38 -38
  58. package/dist/atoms/chat/index.js +10 -10
  59. package/dist/atoms/globalSearch/index.cjs +1 -1
  60. package/dist/atoms/globalSearch/index.d.cts +7 -6
  61. package/dist/atoms/globalSearch/index.d.ts +2 -1
  62. package/dist/atoms/globalSearch/index.js +1 -1
  63. package/dist/atoms/org/index.cjs +38 -40
  64. package/dist/atoms/org/index.d.cts +35 -53
  65. package/dist/atoms/org/index.d.ts +34 -52
  66. package/dist/atoms/org/index.js +11 -12
  67. package/dist/atoms/search/index.cjs +41 -43
  68. package/dist/atoms/search/index.d.cts +9 -10
  69. package/dist/atoms/search/index.d.ts +9 -10
  70. package/dist/atoms/search/index.js +10 -12
  71. package/dist/bandolier-Da4wt6sm.cjs +1230 -0
  72. package/dist/bandolier-DzEmYWcz.js +1230 -0
  73. package/dist/carpe-AXipz0Xl.cjs +608 -0
  74. package/dist/carpe-CaUKwcEa.js +606 -0
  75. package/dist/chat-CHmD79E1.js +26 -0
  76. package/dist/{chat-CCgyDehy.cjs → chat-_NzpO_Hn.cjs} +2 -1
  77. package/dist/{components-CScS7Ii-.cjs → components-D0XDRcaN.cjs} +2 -1
  78. package/dist/components-Dl-TMD9k.js +11 -0
  79. package/dist/config/locators/components/chat/index.cjs +1 -1
  80. package/dist/config/locators/components/chat/index.d.ts +1 -1
  81. package/dist/config/locators/components/chat/index.js +1 -1
  82. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  83. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  84. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  85. package/dist/config/locators/components/chat/variants/index.js +2 -1
  86. package/dist/config/locators/components/index.cjs +1 -1
  87. package/dist/config/locators/components/index.d.ts +1 -1
  88. package/dist/config/locators/components/index.js +1 -1
  89. package/dist/config/locators/components/search/index.cjs +2 -1
  90. package/dist/config/locators/components/search/index.d.cts +2 -1
  91. package/dist/config/locators/components/search/index.d.ts +2 -1
  92. package/dist/config/locators/components/search/index.js +2 -1
  93. package/dist/config/locators/index.cjs +4 -4
  94. package/dist/config/locators/index.d.cts +2 -1
  95. package/dist/config/locators/index.d.ts +4 -3
  96. package/dist/config/locators/index.js +4 -4
  97. package/dist/contexts/index.cjs +20 -23
  98. package/dist/contexts/index.d.cts +10 -59
  99. package/dist/contexts/index.d.ts +10 -59
  100. package/dist/contexts/index.js +11 -17
  101. package/dist/contexts-CtRlNXaS.js +7674 -0
  102. package/dist/contexts-CtgmnYNn.cjs +9088 -0
  103. package/dist/coterie--MGvWeVh.cjs +240 -0
  104. package/dist/coterie-oKHAT0lx.js +240 -0
  105. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  106. package/dist/customerService-BHQRnLhC.js +23 -0
  107. package/dist/custservice-types-C8-9vKWb.cjs +35 -0
  108. package/dist/custservice-types-CamCiXjq.js +23 -0
  109. package/dist/default-B4fINY5_.cjs +4 -0
  110. package/dist/default-BrTQxA0c.js +4 -0
  111. package/dist/default-C3LrcbZB.cjs +199 -0
  112. package/dist/default-CXkYrLEr.js +176 -0
  113. package/dist/divIds-0Vj9g-fM.js +23 -0
  114. package/dist/{divIds-CFyAjjp3.cjs → divIds-CjceLRD9.cjs} +2 -1
  115. package/dist/dreamlandBaby-BEqt0eKF.js +347 -0
  116. package/dist/dreamlandBaby-DBDjEJCc.cjs +347 -0
  117. package/dist/{embedded-BlXJUbik.cjs → embedded-B5Wi9g0T.cjs} +2 -1
  118. package/dist/embedded-_cLpd6FK.js +23 -0
  119. package/dist/entrypoints-CNUvSgnk.js +7 -0
  120. package/dist/entrypoints-DM9Sm18O.cjs +19 -0
  121. package/dist/events/index.cjs +1 -1
  122. package/dist/events/index.d.cts +2 -1
  123. package/dist/events/index.d.ts +2 -1
  124. package/dist/events/index.js +1 -1
  125. package/dist/events-ClCDFK7t.js +78 -0
  126. package/dist/events-Da7gpmGv.cjs +90 -0
  127. package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
  128. package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
  129. package/dist/fiveCbd-CdqNt16h.cjs +614 -0
  130. package/dist/fiveCbd-D6B-sgnX.js +614 -0
  131. package/dist/forLoveAndLemons-C7GsJG7f.cjs +668 -0
  132. package/dist/forLoveAndLemons-gNDlMtPR.js +666 -0
  133. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  134. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  135. package/dist/greenpan-B5AaW4M_.js +398 -0
  136. package/dist/greenpan-DrORpYms.cjs +398 -0
  137. package/dist/grooveLife-BJqsfH2H.cjs +343 -0
  138. package/dist/grooveLife-xIUmDM8s.js +343 -0
  139. package/dist/homegrownCannabis-8TZ21u6L.cjs +411 -0
  140. package/dist/homegrownCannabis-BtMuEvbZ.js +411 -0
  141. package/dist/hooks/index.cjs +36 -38
  142. package/dist/hooks/index.d.cts +36 -82
  143. package/dist/hooks/index.d.ts +38 -84
  144. package/dist/hooks/index.js +11 -17
  145. package/dist/index-BTK5uzs6.d.cts +98 -0
  146. package/dist/index-BdNKc2ix.d.cts +2 -1
  147. package/dist/index-BrXuc_Ck.d.cts +2 -1
  148. package/dist/index-BzgkfbNO.d.cts +228 -0
  149. package/dist/index-CKKkTsms.d.ts +39 -0
  150. package/dist/index-CKUpnyJQ.d.ts +72 -0
  151. package/dist/index-CSIOQD-A.d.ts +25 -0
  152. package/dist/index-CbJZOEU4.d.ts +203 -0
  153. package/dist/index-ClJ0nMsR.d.cts +184 -0
  154. package/dist/index-Cr2y08f1.d.ts +9 -0
  155. package/dist/index-Cx9e-fRi.d.ts +184 -0
  156. package/dist/index-D2VaMPA3.d.ts +98 -0
  157. package/dist/index-D46Rd0io.d.cts +39 -0
  158. package/dist/index-DFL1dIT_.d.ts +7 -0
  159. package/dist/index-DXpgMVpp.d.ts +749 -0
  160. package/dist/index-Dxpscrvz.d.ts +228 -0
  161. package/dist/index-K2kNsOTw.d.cts +203 -0
  162. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  163. package/dist/index-VHFMGkO-.d.cts +72 -0
  164. package/dist/index-VSFakgAI.d.cts +95 -0
  165. package/dist/index-aNW5V9fh.d.cts +749 -0
  166. package/dist/index-zZjcds15.d.cts +7 -0
  167. package/dist/interceptors/index.cjs +12 -13
  168. package/dist/interceptors/index.d.cts +10 -10
  169. package/dist/interceptors/index.d.ts +10 -10
  170. package/dist/interceptors/index.js +10 -11
  171. package/dist/jackArcher-WtkbLBZj.cjs +728 -0
  172. package/dist/jackArcher-sO9EbgrZ.js +728 -0
  173. package/dist/jordanCraig-471FcgqF.cjs +1787 -0
  174. package/dist/jordanCraig-DNOncplU.js +1787 -0
  175. package/dist/kindredBravely-BlLyHGMX.cjs +491 -0
  176. package/dist/kindredBravely-cqZ4OvXp.js +491 -0
  177. package/dist/kutFromTheKloth-3mOIryvt.cjs +370 -0
  178. package/dist/kutFromTheKloth-DtVNCMKa.js +370 -0
  179. package/dist/larryAndSerges-88Bvq-Us.cjs +262 -0
  180. package/dist/larryAndSerges-cvak6May.js +262 -0
  181. package/dist/leapsAndRebounds-Dmf8eUPq.js +361 -0
  182. package/dist/leapsAndRebounds-iWKc923H.cjs +361 -0
  183. package/dist/logger-Dln20ans.cjs +26 -0
  184. package/dist/logger-pdEEY8T2.js +20 -0
  185. package/dist/longevityrx-BTMI9vn-.js +321 -0
  186. package/dist/longevityrx-CobPyigd.cjs +321 -0
  187. package/dist/lookOptic-C4H_c0JZ.cjs +283 -0
  188. package/dist/lookOptic-Jwf7EAU8.js +283 -0
  189. package/dist/mantraBrand-CySGqbn6.cjs +751 -0
  190. package/dist/mantraBrand-DoaVj837.js +751 -0
  191. package/dist/medterra-BnZ5p27n.cjs +584 -0
  192. package/dist/medterra-DaICcPPp.js +584 -0
  193. package/dist/modells-CZ1L6dD_.js +485 -0
  194. package/dist/modells-DF0SndHr.cjs +485 -0
  195. package/dist/nodeSelector-DybpVr-i.d.ts +31 -0
  196. package/dist/nodeSelector-vKB44CDB.d.cts +2 -1
  197. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  198. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  199. package/dist/pressedFloral-B3t2cYzs.cjs +662 -0
  200. package/dist/pressedFloral-Dsws2Kfb.js +662 -0
  201. package/dist/search-filter-types-9rTb3jMj.d.cts +102 -0
  202. package/dist/search-filter-types-C-zZSpGo.d.ts +102 -0
  203. package/dist/skinPerfection-CILQM2bR.cjs +335 -0
  204. package/dist/skinPerfection-DmQCntRf.js +335 -0
  205. package/dist/snapSupplements--X_v0KRM.js +286 -0
  206. package/dist/snapSupplements-Djuzl0Ed.cjs +286 -0
  207. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  208. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  209. package/dist/spanx-Bo81yXSF.cjs +664 -0
  210. package/dist/spanx-DauxB8KE.js +662 -0
  211. package/dist/spanxStaging-BucYQvR1.cjs +849 -0
  212. package/dist/spanxStaging-CfXUukdP.js +846 -0
  213. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-B3lwrENK.cjs} +2 -1
  214. package/dist/suggestionBarV2-types-Penx3Y67.js +10 -0
  215. package/dist/supergoop-8qa_NV3F.cjs +338 -0
  216. package/dist/supergoop-DOaui-A6.js +336 -0
  217. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  218. package/dist/test-types-CuOq25VT.d.cts +40 -0
  219. package/dist/types/index.cjs +2 -2
  220. package/dist/types/index.d.cts +2 -2
  221. package/dist/types/index.d.ts +2 -2
  222. package/dist/types/index.js +2 -2
  223. package/dist/types-CD4LFta-.d.cts +33 -0
  224. package/dist/types-CGC6Oozp.cjs +231 -0
  225. package/dist/types-CnTCkyvK.js +177 -0
  226. package/dist/types-DBdI0j89.d.ts +33 -0
  227. package/dist/uniqueVintage-BWkDgt1z.js +1212 -0
  228. package/dist/uniqueVintage-DAne8XcL.cjs +1214 -0
  229. package/dist/variant-CC1nrywd.d.ts +13 -0
  230. package/dist/variant-CQTuQQSq.d.cts +13 -0
  231. package/dist/venaCbd-B1HO_Pkr.cjs +366 -0
  232. package/dist/venaCbd-CnByO-5R.js +366 -0
  233. package/dist/westonJonBoucher-BAGXegsX.js +423 -0
  234. package/dist/westonJonBoucher-BRfHWMbs.cjs +423 -0
  235. package/dist/wineEnthusiast-DW8JVwV8.cjs +941 -0
  236. package/dist/wineEnthusiast-EJbhMeKQ.js +941 -0
  237. package/dist/wolfMattress-B6INZNRJ.cjs +373 -0
  238. package/dist/wolfMattress-D9P7ErH_.js +373 -0
  239. package/dist/wolfTactical-C5Pupi3J.js +350 -0
  240. package/dist/wolfTactical-TMthZM93.cjs +350 -0
  241. package/package.json +2 -1
  242. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  243. package/src/adapters/spiffy/commerce/api.ts +17 -8
  244. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  245. package/src/application/config/generalStaticConfig.ts +5 -2
  246. package/src/application/models/api/orgConfigResults.ts +6 -2
  247. package/src/application/models/supportedOrgs.ts +1 -1
  248. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  249. package/src/application/service/cdnService.ts +4 -2
  250. package/src/application/service/graphqlConfigService.ts +59 -0
  251. package/src/application/service/index.ts +1 -1
  252. package/src/application/service/pageVariantService.ts +5 -5
  253. package/src/application/service/searchService.ts +9 -2
  254. package/src/application/service/windowChatToggleService.ts +28 -19
  255. package/src/application/service/windowFrontendConfigService.ts +7 -4
  256. package/src/atoms/app/index.ts +26 -17
  257. package/src/atoms/app/variant.ts +1 -0
  258. package/src/atoms/chat/messageQueue.ts +1 -1
  259. package/src/atoms/envive/enviveConfig.ts +81 -0
  260. package/src/atoms/org/graphqlConfig.ts +40 -11
  261. package/src/atoms/org/index.ts +7 -7
  262. package/src/atoms/org/merchantCss.ts +119 -2
  263. package/src/atoms/org/org.ts +67 -70
  264. package/src/atoms/org/orgPageConfig.ts +9 -6
  265. package/src/atoms/org/orgUIConfig.ts +22 -9
  266. package/src/atoms/search/chatSearch.ts +85 -67
  267. package/src/atoms/search/searchAPI.ts +52 -42
  268. package/src/contexts/chatContext.tsx +4 -1
  269. package/src/contexts/enviveConfigContext.tsx +37 -26
  270. package/src/contexts/enviveCssContext.tsx +20 -0
  271. package/src/contexts/index.ts +2 -0
  272. package/src/contexts/orgConfigContext.tsx +106 -0
  273. package/src/contexts/systemSettingsContext.tsx +2 -2
  274. package/src/contexts/types.ts +12 -9
  275. package/src/hooks/index.ts +2 -3
  276. package/src/hooks/useDynamicVariants.ts +48 -32
  277. package/src/hooks/useFileUpload.ts +1 -1
  278. package/src/hooks/useHideElements.ts +21 -18
  279. package/src/hooks/useImageResolver.ts +16 -8
  280. package/src/hooks/useNewOrgConfig.ts +80 -0
  281. package/src/hooks/useSearch.tsx +10 -6
  282. package/src/hooks/utils.ts +1 -1
  283. package/src/interceptors/useFormEscalation.ts +26 -9
  284. package/src/types.ts +0 -2
  285. package/dist/api-BtzLHcfU.cjs +0 -268
  286. package/dist/api-kpPTZhV9.js +0 -189
  287. package/dist/atomStore-BNQyGmU_.cjs +0 -57
  288. package/dist/atomStore-TnLPtYns.js +0 -31
  289. package/dist/bandolier-CQrxBHsk.cjs +0 -1230
  290. package/dist/bandolier-Di9DpZ8e.js +0 -1230
  291. package/dist/carpe-3NJOR-Rj.cjs +0 -608
  292. package/dist/carpe-DmWKaIQq.js +0 -606
  293. package/dist/cdnService-BNreZjqy.js +0 -18
  294. package/dist/cdnService-vLxePdrU.cjs +0 -23
  295. package/dist/chat-CCQMmhc1.cjs +0 -5057
  296. package/dist/chat-Dk6KPb1K.js +0 -25
  297. package/dist/chat-H6YcCS4I.js +0 -4113
  298. package/dist/components-DAQxVIn9.js +0 -10
  299. package/dist/coterie-D0UFsFC5.cjs +0 -240
  300. package/dist/coterie-JblRmIZL.js +0 -240
  301. package/dist/customerService-C4wc0glQ.js +0 -22
  302. package/dist/customerService-zsDlp7g2.cjs +0 -35
  303. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  304. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  305. package/dist/default-C5ZTV8HA.cjs +0 -4
  306. package/dist/default-DPv8m-eQ.js +0 -175
  307. package/dist/default-DRKBosow.cjs +0 -198
  308. package/dist/default-ao0vRl0W.js +0 -4
  309. package/dist/divIds-BWvq-i6I.js +0 -22
  310. package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
  311. package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
  312. package/dist/embedded-C1jvFj3v.js +0 -22
  313. package/dist/entrypoints-CmmOszXO.js +0 -6
  314. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  315. package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
  316. package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
  317. package/dist/events-DgFzlVJR.js +0 -77
  318. package/dist/events-bH-24eRW.cjs +0 -89
  319. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  320. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  321. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  322. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  323. package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
  324. package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
  325. package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
  326. package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
  327. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  328. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  329. package/dist/globalSearch-BC0rOX3E.js +0 -13
  330. package/dist/greenpan-JM6SHcqO.js +0 -398
  331. package/dist/greenpan-eIzyxVsn.cjs +0 -398
  332. package/dist/grooveLife-BmsUc2cD.js +0 -343
  333. package/dist/grooveLife-KdTizVUn.cjs +0 -343
  334. package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
  335. package/dist/homegrownCannabis-a9udocBT.js +0 -411
  336. package/dist/hooks-DjOa7ihH.cjs +0 -7331
  337. package/dist/hooks-fneW8SWw.js +0 -7152
  338. package/dist/index-BQErGgfM.d.cts +0 -202
  339. package/dist/index-C4zjAR1c.d.cts +0 -227
  340. package/dist/index-CGB6CAmr.d.ts +0 -6
  341. package/dist/index-CIco0cCQ.d.ts +0 -183
  342. package/dist/index-COG1kOZG.d.ts +0 -749
  343. package/dist/index-CVxe7FpL.d.cts +0 -6
  344. package/dist/index-Cn1SeI5y.d.cts +0 -183
  345. package/dist/index-CnqHN_jz.d.ts +0 -202
  346. package/dist/index-Cqg6ltII.d.ts +0 -38
  347. package/dist/index-DE_7Q8qK.d.ts +0 -94
  348. package/dist/index-Da0UzyI9.d.ts +0 -24
  349. package/dist/index-DbWWcYax.d.cts +0 -749
  350. package/dist/index-DtoVXd6O.d.cts +0 -97
  351. package/dist/index-JClBRnSX.d.cts +0 -94
  352. package/dist/index-ghzD_356.d.ts +0 -8
  353. package/dist/index-hdbCEjYy.d.cts +0 -38
  354. package/dist/index-luJrHgPN.d.ts +0 -97
  355. package/dist/index-tfRj22E1.d.ts +0 -227
  356. package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
  357. package/dist/jackArcher-B9fe4Hv8.js +0 -728
  358. package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
  359. package/dist/jordanCraig-DNm1iw1L.js +0 -1787
  360. package/dist/kindredBravely-CZgt7DJA.js +0 -491
  361. package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
  362. package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
  363. package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
  364. package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
  365. package/dist/larryAndSerges-DO-zG8ES.js +0 -261
  366. package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
  367. package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
  368. package/dist/logger-Be0NyKaY.cjs +0 -25
  369. package/dist/logger-BexDfK3W.js +0 -19
  370. package/dist/longevityrx-DjKbwJo3.cjs +0 -321
  371. package/dist/longevityrx-eq5TeUcy.js +0 -321
  372. package/dist/lookOptic-BPPqms_j.cjs +0 -283
  373. package/dist/lookOptic-jRpBXQCN.js +0 -283
  374. package/dist/mantraBrand-BZOZfkUK.js +0 -751
  375. package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
  376. package/dist/medterra-BHYCBgvQ.cjs +0 -584
  377. package/dist/medterra-CShe6CLY.js +0 -584
  378. package/dist/modells-DE7-gmjK.cjs +0 -485
  379. package/dist/modells-DFyJxNwT.js +0 -485
  380. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  381. package/dist/org-Bkn6fl6I.cjs +0 -106
  382. package/dist/org-CX8HFbc9.js +0 -63
  383. package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
  384. package/dist/pressedFloral-aK9br-LF.js +0 -662
  385. package/dist/search-DtIFZeMA.cjs +0 -743
  386. package/dist/search-eWwg8pNn.js +0 -542
  387. package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
  388. package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
  389. package/dist/skinPerfection-B9G6yLM2.js +0 -335
  390. package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
  391. package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
  392. package/dist/snapSupplements-DKvJl__T.js +0 -286
  393. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  394. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  395. package/dist/spanx-D-ZKkxjM.cjs +0 -664
  396. package/dist/spanx-yl7YfVrf.js +0 -662
  397. package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
  398. package/dist/spanxStaging-DzGXL9wD.js +0 -846
  399. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  400. package/dist/supergoop-CSpDPOpl.cjs +0 -337
  401. package/dist/supergoop-D0UkuRiA.js +0 -335
  402. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  403. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  404. package/dist/types-BE4faOO_.d.cts +0 -32
  405. package/dist/types-C3S1H4hl.js +0 -176
  406. package/dist/types-TD8g7LnH.d.ts +0 -32
  407. package/dist/types-lcjuhDBt.cjs +0 -230
  408. package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
  409. package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
  410. package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
  411. package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
  412. package/dist/variant-DH4zusMi.d.cts +0 -12
  413. package/dist/variant-DTEqSBHd.d.ts +0 -12
  414. package/dist/variantInfo-BTvC6CQh.js +0 -1
  415. package/dist/variantInfo-Cz2YXraO.cjs +0 -0
  416. package/dist/venaCbd-BS0dvdBm.js +0 -366
  417. package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
  418. package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
  419. package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
  420. package/dist/wineEnthusiast-M9P18d1w.js +0 -941
  421. package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
  422. package/dist/wolfMattress-BQHjoQYu.js +0 -373
  423. package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
  424. package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
  425. package/dist/wolfTactical-dObnPgAG.cjs +0 -350
  426. package/src/application/service/environmentService.ts +0 -51
  427. package/src/extension.ts +0 -63
  428. package/src/hooks/useHorizontalScrollAnimation.ts +0 -115
  429. package/src/hooks/useReducedMotionWithOverride.ts +0 -15
  430. package/src/hooks/useSnapControl.ts +0 -155
  431. package/src/initialize.ts +0 -163
  432. package/src/main.tsx +0 -108
  433. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  434. /package/dist/{atomStore-B3tsg6mF.cjs → locators-CugndTUM.cjs} +0 -0
  435. /package/dist/{atomStore-FSZd_20F.js → locators-DnKpajbY.js} +0 -0
  436. /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
  437. /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
  438. /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
  439. /package/dist/{utilityTypes-UWdNHElu.js → variantInfo-CzhR5W6h.js} +0 -0
@@ -1,743 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_logger = require('./logger-Be0NyKaY.cjs');
3
- const require_chat = require('./chat-CCQMmhc1.cjs');
4
- const require_enviveConfigContext = require('./enviveConfigContext-Bs8kepnO.cjs');
5
- const require_atomStore = require('./atomStore-BNQyGmU_.cjs');
6
- let jotai = require("jotai");
7
- jotai = require_chunk.__toESM(jotai);
8
- let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
9
- __spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
10
- let uuid = require("uuid");
11
- uuid = require_chunk.__toESM(uuid);
12
-
13
- //#region src/atoms/search/utils.ts
14
- const formatFilterDisplayName = (displayName) => {
15
- const sizes = [
16
- "xxxs",
17
- "xxs",
18
- "xs",
19
- "s",
20
- "m",
21
- "l",
22
- "xl",
23
- "xxl",
24
- "xxxl",
25
- "xxxxl"
26
- ];
27
- return displayName.toLowerCase().split(" ").map((word) => {
28
- if (sizes.includes(word)) return word.toUpperCase();
29
- return word.charAt(0).toUpperCase() + word.slice(1);
30
- }).join(" ").replace(/Iphone/g, "iPhone");
31
- };
32
-
33
- //#endregion
34
- //#region src/atoms/search/productFilters.ts
35
- const getPriceBucket = (price, bucketSize) => {
36
- return Math.floor(price / bucketSize) * bucketSize;
37
- };
38
- const isStringArray = (value) => {
39
- if (!Array.isArray(value)) return false;
40
- return value.every((item) => typeof item === "string");
41
- };
42
- const sortFilter = (filterConfig) => {
43
- if (filterConfig.type === "price") return (a, b) => Number(a.filterItemId) - Number(b.filterItemId);
44
- if (filterConfig.type === "dynamic") {
45
- if (filterConfig.sorting.type === "alphabetic") return (a, b) => a.displayName.localeCompare(b.displayName);
46
- if (filterConfig.sorting.type === "productCount") return (a, b) => a.productCount === b.productCount ? a.displayName.localeCompare(b.displayName) : b.productCount - a.productCount;
47
- if (filterConfig.sorting.type === "custom") {
48
- const sortedKeys = filterConfig.sorting.map;
49
- return (a, b) => {
50
- if (sortedKeys[a.displayName] && sortedKeys[b.displayName]) return sortedKeys[a.displayName] - sortedKeys[b.displayName];
51
- if (sortedKeys[a.displayName]) return -1;
52
- if (sortedKeys[b.displayName]) return 1;
53
- return b.productCount - a.productCount;
54
- };
55
- }
56
- }
57
- throw new Error("Invaalid search filter configuration");
58
- };
59
- var ProductFilters = class {
60
- static getFiltersForProducts(products, filterConfigs, selectedFilterOptions) {
61
- if (!products || products.length === 0) return [];
62
- return [...filterConfigs.map((filterConfig) => products.reduce((acc, product) => {
63
- if (filterConfig.type === "price") {
64
- const priceBucket = getPriceBucket(product.salePrice ?? product.originalPrice ?? 0, filterConfig.bucketSize);
65
- const current = acc.map[priceBucket] ?? {
66
- filterItemId: priceBucket,
67
- displayName: `$${priceBucket}-$${priceBucket + filterConfig.bucketSize}`,
68
- productCount: 0
69
- };
70
- acc.map[priceBucket] = {
71
- ...current,
72
- productCount: current.productCount + 1
73
- };
74
- return acc;
75
- }
76
- const attributeValues = (product.filters && product.filters?.[filterConfig.attribute]) ?? [];
77
- if (isStringArray(attributeValues)) attributeValues.forEach((val) => {
78
- const normalizedVal = val.toLowerCase();
79
- const current = acc.map[normalizedVal] ?? {
80
- filterItemId: normalizedVal,
81
- displayName: formatFilterDisplayName(val),
82
- productCount: 0
83
- };
84
- acc.map[normalizedVal] = {
85
- ...current,
86
- productCount: current.productCount + 1
87
- };
88
- });
89
- return acc;
90
- }, {
91
- filterConfig,
92
- map: {}
93
- })).map(({ filterConfig, map }) => ({
94
- filterId: filterConfig.filterId,
95
- displayName: filterConfig.displayName,
96
- items: Object.values(map).map((filter) => ({
97
- filterItemId: filter.filterItemId,
98
- displayName: filter.displayName,
99
- productCount: filter.productCount,
100
- isSelected: selectedFilterOptions.some((option) => option.id === `${filterConfig.filterId}:${filter.filterItemId}`) ?? false
101
- })).sort(sortFilter(filterConfig))
102
- }))];
103
- }
104
- static filterProducts(products, filterConfigs, selectedFilterOptions, additiveDynamicFilters = false) {
105
- const selectedFilters = filterConfigs.map((filterConfig) => ({
106
- filterConfig,
107
- hasSelectedOptions: selectedFilterOptions.some((option) => option.filterId === filterConfig.filterId)
108
- })).filter(({ hasSelectedOptions }) => hasSelectedOptions);
109
- return selectedFilterOptions.length === 0 ? products : products.filter((product) => selectedFilters.reduce((acc, selectedFilter) => {
110
- if (!acc) return acc;
111
- if (selectedFilter.filterConfig.type === "price") {
112
- const priceBucket = getPriceBucket(product.salePrice ?? product.originalPrice ?? 0, selectedFilter.filterConfig.bucketSize);
113
- if (!selectedFilterOptions.some((option) => option.id === `price:${priceBucket}`)) return false;
114
- }
115
- if (selectedFilter.filterConfig.type === "dynamic") {
116
- const { filterId, attribute } = selectedFilter.filterConfig;
117
- const attributeValues = product.filters?.[attribute];
118
- if (!isStringArray(attributeValues)) return false;
119
- if (selectedFilter.filterConfig.attribute === "dynamic" && !additiveDynamicFilters) {
120
- if (!selectedFilterOptions.filter((option) => option.filterId === filterId).map((option) => option.filterItemId.toLowerCase()).every((selectedValue) => attributeValues.some((val) => val.toLowerCase() === selectedValue))) return false;
121
- } else if (!attributeValues.some((val) => selectedFilterOptions.some((option) => option.id === `${filterId}:${val.toLowerCase()}`))) return false;
122
- }
123
- return true;
124
- }, true));
125
- }
126
- };
127
-
128
- //#endregion
129
- //#region src/atoms/search/types.ts
130
- let ProductSorting = /* @__PURE__ */ function(ProductSorting$1) {
131
- ProductSorting$1["FEATURED"] = "featured";
132
- ProductSorting$1["PRICE_ASC"] = "price_asc";
133
- ProductSorting$1["PRICE_DESC"] = "price_desc";
134
- return ProductSorting$1;
135
- }({});
136
- const ProductSortingNames = {
137
- [ProductSorting.FEATURED]: "Featured",
138
- [ProductSorting.PRICE_ASC]: "Price Low to High",
139
- [ProductSorting.PRICE_DESC]: "Price High to Low"
140
- };
141
-
142
- //#endregion
143
- //#region src/atoms/search/productSorter.ts
144
- var ProductSorter = class {
145
- static sort(products, sorting) {
146
- switch (sorting) {
147
- case ProductSorting.PRICE_ASC: return [...products].sort((p1, p2) => (p1.salePrice ?? p1.originalPrice ?? 0) - (p2.salePrice ?? p2.originalPrice ?? 0));
148
- case ProductSorting.PRICE_DESC: return [...products].sort((p1, p2) => (p2.salePrice ?? p2.originalPrice ?? 0) - (p1.salePrice ?? p1.originalPrice ?? 0));
149
- default: return products;
150
- }
151
- }
152
- };
153
-
154
- //#endregion
155
- //#region src/atoms/search/chatSearch.ts
156
- const chatSearchStateAtom = (0, jotai.atom)("entrypoint");
157
- const chatSearchHasProductsAtom = (0, jotai.atom)(false);
158
- const chatSearchProductSortingAtom = (0, jotai.atom)(ProductSorting.FEATURED);
159
- const filterProductList = (message) => message.type === require_chat.MessageType.Product && message.metadata.isForGrid === true;
160
- const filterFilterList = (message) => message.type === require_chat.MessageType.ProductSearchFilter;
161
- const chatSearchIsLoadingAtom = (0, jotai.atom)(false);
162
- const buildChatSearchTurn = (messages) => {
163
- const queryMessage = messages.find((message) => message.type === require_chat.MessageType.ProductSearch);
164
- if (!queryMessage) return null;
165
- const { generatedQuery, productCount } = queryMessage.metadata ?? {};
166
- const productList = messages.filter(filterProductList).map((message) => message.metadata);
167
- const filterList = messages.filter(filterFilterList).map((message) => message.metadata.filterName);
168
- return [queryMessage.id, {
169
- id: queryMessage.id,
170
- generatedQuery,
171
- productCount: productCount || productList.length,
172
- productList,
173
- filterList,
174
- messages
175
- }];
176
- };
177
- const chatSearchFilterConfigAtom = (0, jotai.atom)((get) => {
178
- const { searchConfig } = get(require_chat.orgUIConfigAtom);
179
- return searchConfig.searchFilterConfig;
180
- });
181
- const searchMapAtom = (0, jotai.atom)((get) => {
182
- const messages = get(require_chat.messagesAtom);
183
- return Object.fromEntries(messages.map(buildChatSearchTurn).filter((v) => v !== null));
184
- });
185
- const internalChatSearchParamsAtom = (0, jotai.atom)({
186
- id: null,
187
- query: null
188
- });
189
- const selectedFilterOptionsAtom = (0, jotai.atom)([]);
190
- const additiveDynamicFiltersAtom = (0, jotai.atom)((get) => {
191
- const { searchConfig } = get(require_chat.orgUIConfigAtom);
192
- return searchConfig.additiveDynamicFilters ?? false;
193
- });
194
- const createChatSearchFilterOption = (filterId, filterItemId, displayName) => ({
195
- id: `${filterId}:${filterItemId}`,
196
- displayName,
197
- filterId,
198
- filterItemId
199
- });
200
- const handleSearchAtom = (0, jotai.atom)(null, (get, set, message) => {
201
- if (message.type !== require_chat.MessageType.Search) return;
202
- const querySearch = message.metadata.searchTerm;
203
- set(require_chat.replyEventCategoryAtom, __spiffy_ai_commerce_api_client.UserEventCategory.Search);
204
- set(require_chat.userQueryAtom, querySearch);
205
- set(require_chat.messagesAtom, [...get(require_chat.messagesAtom), [message]]);
206
- set(require_chat.userHasRepliedAtom, true);
207
- set(require_chat.queueUserEventAtom, {
208
- eventId: message.id,
209
- category: __spiffy_ai_commerce_api_client.UserEventCategory.Search,
210
- createdAt: message.createdAt,
211
- attributes: {
212
- searchTerm: message.metadata.searchTerm,
213
- selectedFilters: message.metadata.selectedFilters
214
- }
215
- });
216
- });
217
- const chatSearchParamsAtom = (0, jotai.atom)((get) => get(internalChatSearchParamsAtom), (_, set, value) => {
218
- set(internalChatSearchParamsAtom, value);
219
- });
220
- const chatSearchQueryAtom = (0, jotai.atom)((get) => get(chatSearchParamsAtom)?.query ?? null, (get, set, value) => {
221
- const searchParams = get(chatSearchParamsAtom);
222
- set(chatSearchParamsAtom, {
223
- id: searchParams.id,
224
- query: value
225
- });
226
- });
227
- const chatSearchIdAtom = (0, jotai.atom)((get) => get(chatSearchParamsAtom)?.id ?? null, (get, set, value) => {
228
- const searchParams = get(chatSearchParamsAtom);
229
- set(chatSearchParamsAtom, {
230
- id: value,
231
- query: searchParams.query
232
- });
233
- });
234
- const ChatSearchTurnAtom = (0, jotai.atom)((get) => {
235
- const searchFilterConfig = get(chatSearchFilterConfigAtom);
236
- const searchMap = get(searchMapAtom);
237
- const chatSearchId = get(chatSearchIdAtom);
238
- if (!chatSearchId) return null;
239
- const ChatSearchTurn = searchMap[chatSearchId];
240
- if (!ChatSearchTurn) return null;
241
- const productSorting = get(chatSearchProductSortingAtom);
242
- const selectedFilterOptions = get(selectedFilterOptionsAtom);
243
- const additiveDynamicFilters = get(additiveDynamicFiltersAtom);
244
- const filteredProducts = ProductFilters.filterProducts(ChatSearchTurn.productList, searchFilterConfig, selectedFilterOptions, additiveDynamicFilters);
245
- const filteredAndSortedProducts = ProductSorter.sort(filteredProducts, productSorting);
246
- return {
247
- ...searchMap[chatSearchId],
248
- productList: filteredAndSortedProducts,
249
- productCount: filteredAndSortedProducts.length
250
- };
251
- });
252
- const chatSearchProducts = (0, jotai.atom)((get) => {
253
- return get(ChatSearchTurnAtom)?.productList ?? [];
254
- });
255
- const chatSearchFiltersAtom = (0, jotai.atom)((get) => {
256
- const searchFilterConfig = get(chatSearchFilterConfigAtom);
257
- const searchMap = get(searchMapAtom);
258
- const chatSearchId = get(chatSearchIdAtom);
259
- if (chatSearchId && searchMap[chatSearchId]) {
260
- const products = searchMap[chatSearchId].productList;
261
- const selectedFilterOptions = get(selectedFilterOptionsAtom);
262
- return ProductFilters.getFiltersForProducts(products, searchFilterConfig, selectedFilterOptions);
263
- }
264
- return [];
265
- });
266
- const setSearchParams = (query) => {
267
- const url = new URL(window.location.href);
268
- url.searchParams.set("es", "true");
269
- url.searchParams.set("esq", query);
270
- window.history.pushState({}, "", url);
271
- };
272
- const getSearchParamsAtom = (0, jotai.atom)(() => {
273
- const params = new URLSearchParams(window.location.search);
274
- return {
275
- es: params.get("es"),
276
- esq: params.get("esq")
277
- };
278
- });
279
- const initiateChatSearchAtom = (0, jotai.atom)(null, (_, set, query) => {
280
- set(chatSearchIsLoadingAtom, true);
281
- const url = new URL(window.location.href);
282
- url.searchParams.set("es", "true");
283
- url.searchParams.set("esq", query);
284
- window.history.pushState({}, "", url);
285
- window.dispatchEvent(new PopStateEvent("popstate", { state: {} }));
286
- set(chatSearchParamsAtom, {
287
- id: null,
288
- query
289
- });
290
- set(handleSearchAtom, {
291
- id: (0, uuid.v4)(),
292
- role: require_chat.MessageRole.User,
293
- type: require_chat.MessageType.Search,
294
- createdAt: (/* @__PURE__ */ new Date()).toISOString(),
295
- metadata: {
296
- searchTerm: query,
297
- selectedFilters: []
298
- }
299
- });
300
- });
301
- const handleSearchResultsAtom = (0, jotai.atom)(null, (get, set, message) => {
302
- if (!message || message.type !== require_chat.MessageType.ProductSearch) return;
303
- const { productCount, generatedQuery } = message.metadata;
304
- if (productCount !== 0) {
305
- set(selectedFilterOptionsAtom, []);
306
- set(chatSearchStateAtom, "product-page");
307
- const currentSearchParams = get(chatSearchParamsAtom);
308
- const url = new URL(window.location.href);
309
- url.searchParams.set("es", "true");
310
- url.searchParams.set("esq", generatedQuery);
311
- url.searchParams.set("esi", message.id);
312
- window.history.pushState({}, "", url);
313
- if (currentSearchParams.id === null) window.history.replaceState(null, "", url);
314
- else window.history.pushState(null, "", url);
315
- set(chatSearchParamsAtom, {
316
- id: message.id,
317
- query: generatedQuery
318
- });
319
- }
320
- });
321
- const setChatSearchParamsAtom = (0, jotai.atom)(null, (_, set, query) => {
322
- const url = new URL(window.location.href);
323
- url.searchParams.set("es", "true");
324
- url.searchParams.set("esq", query);
325
- window.history.pushState({}, "", url);
326
- set(chatSearchParamsAtom, {
327
- id: null,
328
- query
329
- });
330
- });
331
-
332
- //#endregion
333
- //#region src/application/service/searchService.ts
334
- const transformProductResponses = (products) => products.map((data) => ({
335
- id: data.id,
336
- responseId: data.response_id,
337
- category: __spiffy_ai_commerce_api_client.ResponseCategory.Product,
338
- description: data.description,
339
- imageUrl: data.image_url,
340
- imageUrls: data.image_urls,
341
- title: data.title,
342
- url: data.url,
343
- originalPrice: data.original_price,
344
- salePrice: data.sale_price,
345
- averageRating: data.average_rating,
346
- numberReviews: data.number_reviews,
347
- metadata: data.metadata,
348
- isForGrid: data.is_for_grid,
349
- colors: data.colors,
350
- sizes: data.sizes,
351
- filters: data.filters
352
- }));
353
- async function errorResponseBody(error) {
354
- try {
355
- return await error.response.json();
356
- } catch {
357
- return {};
358
- }
359
- }
360
- async function throwSessionRestartRequiredIf(errorMsg, error) {
361
- if (!(error instanceof __spiffy_ai_commerce_api_client.ResponseError)) {
362
- require_logger.logger_default.logInfo(errorMsg, error);
363
- throw error;
364
- }
365
- const errorResponse = await errorResponseBody(error);
366
- if (errorResponse?.message?.toLowerCase() === "unsupported product" || errorResponse?.app_code?.toUpperCase() === "PRODUCT_NOT_FOUND") throw new require_chat.UnsupportedProductException();
367
- else if (errorResponse?.app_code?.toUpperCase() === "RESTART_SESSION" || errorResponse?.sub_code?.toUpperCase() === "NOT_FOUND") {
368
- require_logger.logger_default.logInfo("Session does not exist. Re-start session", error, error.response, errorResponse);
369
- throw new require_chat.SessionRestartRequired();
370
- }
371
- require_logger.logger_default.logInfo(errorMsg, error);
372
- throw error;
373
- }
374
- var SearchService = class SearchService {
375
- static {
376
- this.getInstance = () => {
377
- if (!SearchService.instance) {
378
- const apiKey = require_atomStore.getAtomStore().get(require_chat.apiKeyAtom);
379
- SearchService.instance = new SearchService(apiKey);
380
- }
381
- return SearchService.instance;
382
- };
383
- }
384
- constructor(apiKey, basePath) {
385
- const { baseUrl } = require_enviveConfigContext.useEnviveConfig();
386
- const config = new __spiffy_ai_commerce_api_client.Configuration({
387
- accessToken: apiKey,
388
- basePath: basePath || baseUrl,
389
- headers: {
390
- "Content-Type": "application/json",
391
- Accept: "application/json"
392
- }
393
- });
394
- this.searchApi = new __spiffy_ai_commerce_api_client.SearchApi(config);
395
- }
396
- async _searchProducts(params) {
397
- const appDetails = require_atomStore.getAtomStore().get(require_chat.appDetailsAtom);
398
- try {
399
- const { products, filters, search_response_id: searchResponseId } = await this.searchApi.v1SearchQueryGet({
400
- query: params.query,
401
- limit: params.limit,
402
- org_id: appDetails.orgId,
403
- user_id: appDetails.userId
404
- });
405
- return {
406
- products: transformProductResponses(products) || [],
407
- filters: filters || [],
408
- totalProductCount: products?.length || 0,
409
- searchResponseId: searchResponseId || ""
410
- };
411
- } catch (error) {
412
- await throwSessionRestartRequiredIf("Failed to search products", error);
413
- return {
414
- products: [],
415
- filters: [],
416
- totalProductCount: 0,
417
- searchResponseId: ""
418
- };
419
- }
420
- }
421
- static {
422
- this.searchProducts = (params) => SearchService.getInstance()._searchProducts(params);
423
- }
424
- };
425
- var searchService_default = SearchService;
426
-
427
- //#endregion
428
- //#region src/atoms/search/searchAPI.ts
429
- const searchAtom = (0, jotai.atom)({
430
- data: null,
431
- loading: false,
432
- error: null,
433
- lastQuery: null
434
- });
435
- const searchProductSortingAtom = (0, jotai.atom)(ProductSorting.FEATURED);
436
- const searchSelectedFiltersAtom = (0, jotai.atom)([]);
437
- const createFilterOption = (filterId, filterItemId, displayName) => ({
438
- id: `${filterId}:${filterItemId}`,
439
- displayName,
440
- filterId,
441
- filterItemId
442
- });
443
- const internalSearchParamsAtom = (0, jotai.atom)({
444
- id: null,
445
- query: null
446
- });
447
- const searchParamsAtom = (0, jotai.atom)((get) => get(internalSearchParamsAtom), (_, set, value) => {
448
- set(internalSearchParamsAtom, value);
449
- });
450
- const internalSearchSystemStateAtom = (0, jotai.atom)(false);
451
- const searchSystemAtom = (0, jotai.atom)((get) => get(internalSearchSystemStateAtom), (get, set, value) => {
452
- if (value === get(internalSearchSystemStateAtom)) return;
453
- const stateChangeHandler = () => {
454
- const params = new URLSearchParams(window.location.search);
455
- if (params.get("es") === "true") {
456
- const id = params.get("esi");
457
- const query = params.get("esq");
458
- set(searchParamsAtom, {
459
- id,
460
- query
461
- });
462
- } else set(searchParamsAtom, {
463
- id: null,
464
- query: null
465
- });
466
- };
467
- if (value) {
468
- set(internalSearchSystemStateAtom, true);
469
- window.addEventListener("popstate", stateChangeHandler);
470
- stateChangeHandler();
471
- } else {
472
- set(internalSearchSystemStateAtom, false);
473
- window.removeEventListener("popstate", stateChangeHandler);
474
- }
475
- });
476
- const filteredSearchProductsAtom = (0, jotai.atom)((get) => {
477
- const searchData = get(searchAtom).data;
478
- const sorting = get(searchProductSortingAtom);
479
- const selectedFilters = get(searchSelectedFiltersAtom);
480
- const orgConfig = get(require_chat.orgUIConfigAtom);
481
- if (!searchData?.products) return [];
482
- const filteredProducts = ProductFilters.filterProducts(searchData.products, orgConfig.searchConfig.searchFilterConfig, selectedFilters, orgConfig.searchConfig.additiveDynamicFilters);
483
- return ProductSorter.sort(filteredProducts, sorting);
484
- });
485
- const searchFiltersAtom = (0, jotai.atom)((get) => {
486
- const searchData = get(searchAtom).data;
487
- const selectedFilters = get(searchSelectedFiltersAtom);
488
- const orgConfig = get(require_chat.orgUIConfigAtom);
489
- if (!searchData?.products) return [];
490
- return ProductFilters.getFiltersForProducts(searchData.products, orgConfig.searchConfig.searchFilterConfig, selectedFilters);
491
- });
492
- const addSearchFilterAtom = (0, jotai.atom)(null, (get, set, filter) => {
493
- const current = get(searchSelectedFiltersAtom);
494
- if (!current.some((f) => f.id === filter.id)) set(searchSelectedFiltersAtom, [...current, filter]);
495
- });
496
- const removeSearchFilterAtom = (0, jotai.atom)(null, (get, set, filterId) => {
497
- const current = get(searchSelectedFiltersAtom);
498
- set(searchSelectedFiltersAtom, current.filter((f) => f.id !== filterId));
499
- });
500
- const clearSearchFiltersAtom = (0, jotai.atom)(null, (_, set) => {
501
- set(searchSelectedFiltersAtom, []);
502
- });
503
- const performSearchAtom = (0, jotai.atom)(null, async (get, set, params, allowRedirect = false) => {
504
- const currentState = get(searchAtom);
505
- const redirectSearchResultsUrl = get(require_chat.orgUIConfigAtom).searchConfig?.redirectSearchResultsUrl;
506
- if (allowRedirect && redirectSearchResultsUrl) {
507
- const redirectUrl = new URL(redirectSearchResultsUrl);
508
- redirectUrl.searchParams.set("es", "true");
509
- redirectUrl.searchParams.set("esq", params.query);
510
- window.location.href = redirectUrl.toString();
511
- } else {
512
- const url = new URL(window.location.href);
513
- url.searchParams.set("es", "true");
514
- url.searchParams.set("esq", params.query);
515
- window.history.pushState({}, "", url);
516
- window.dispatchEvent(new PopStateEvent("popstate", { state: {} }));
517
- }
518
- window.dispatchEvent(new PopStateEvent("popstate", { state: {} }));
519
- if (currentState.loading) return;
520
- set(searchAtom, {
521
- data: null,
522
- loading: true,
523
- error: null,
524
- lastQuery: params.query
525
- });
526
- try {
527
- const result = await searchService_default.searchProducts(params);
528
- set(searchAtom, {
529
- data: result,
530
- loading: false,
531
- error: null,
532
- lastQuery: params.query
533
- });
534
- } catch (error) {
535
- const errorMessage = error instanceof Error ? error.message : "An unknown error occurred";
536
- set(searchAtom, {
537
- data: null,
538
- loading: false,
539
- error: errorMessage,
540
- lastQuery: params.query
541
- });
542
- }
543
- });
544
-
545
- //#endregion
546
- Object.defineProperty(exports, 'ChatSearchTurnAtom', {
547
- enumerable: true,
548
- get: function () {
549
- return ChatSearchTurnAtom;
550
- }
551
- });
552
- Object.defineProperty(exports, 'ProductSorting', {
553
- enumerable: true,
554
- get: function () {
555
- return ProductSorting;
556
- }
557
- });
558
- Object.defineProperty(exports, 'addSearchFilterAtom', {
559
- enumerable: true,
560
- get: function () {
561
- return addSearchFilterAtom;
562
- }
563
- });
564
- Object.defineProperty(exports, 'additiveDynamicFiltersAtom', {
565
- enumerable: true,
566
- get: function () {
567
- return additiveDynamicFiltersAtom;
568
- }
569
- });
570
- Object.defineProperty(exports, 'chatSearchFiltersAtom', {
571
- enumerable: true,
572
- get: function () {
573
- return chatSearchFiltersAtom;
574
- }
575
- });
576
- Object.defineProperty(exports, 'chatSearchHasProductsAtom', {
577
- enumerable: true,
578
- get: function () {
579
- return chatSearchHasProductsAtom;
580
- }
581
- });
582
- Object.defineProperty(exports, 'chatSearchIdAtom', {
583
- enumerable: true,
584
- get: function () {
585
- return chatSearchIdAtom;
586
- }
587
- });
588
- Object.defineProperty(exports, 'chatSearchIsLoadingAtom', {
589
- enumerable: true,
590
- get: function () {
591
- return chatSearchIsLoadingAtom;
592
- }
593
- });
594
- Object.defineProperty(exports, 'chatSearchParamsAtom', {
595
- enumerable: true,
596
- get: function () {
597
- return chatSearchParamsAtom;
598
- }
599
- });
600
- Object.defineProperty(exports, 'chatSearchProductSortingAtom', {
601
- enumerable: true,
602
- get: function () {
603
- return chatSearchProductSortingAtom;
604
- }
605
- });
606
- Object.defineProperty(exports, 'chatSearchProducts', {
607
- enumerable: true,
608
- get: function () {
609
- return chatSearchProducts;
610
- }
611
- });
612
- Object.defineProperty(exports, 'chatSearchQueryAtom', {
613
- enumerable: true,
614
- get: function () {
615
- return chatSearchQueryAtom;
616
- }
617
- });
618
- Object.defineProperty(exports, 'chatSearchStateAtom', {
619
- enumerable: true,
620
- get: function () {
621
- return chatSearchStateAtom;
622
- }
623
- });
624
- Object.defineProperty(exports, 'clearSearchFiltersAtom', {
625
- enumerable: true,
626
- get: function () {
627
- return clearSearchFiltersAtom;
628
- }
629
- });
630
- Object.defineProperty(exports, 'createChatSearchFilterOption', {
631
- enumerable: true,
632
- get: function () {
633
- return createChatSearchFilterOption;
634
- }
635
- });
636
- Object.defineProperty(exports, 'createFilterOption', {
637
- enumerable: true,
638
- get: function () {
639
- return createFilterOption;
640
- }
641
- });
642
- Object.defineProperty(exports, 'filteredSearchProductsAtom', {
643
- enumerable: true,
644
- get: function () {
645
- return filteredSearchProductsAtom;
646
- }
647
- });
648
- Object.defineProperty(exports, 'formatFilterDisplayName', {
649
- enumerable: true,
650
- get: function () {
651
- return formatFilterDisplayName;
652
- }
653
- });
654
- Object.defineProperty(exports, 'getSearchParamsAtom', {
655
- enumerable: true,
656
- get: function () {
657
- return getSearchParamsAtom;
658
- }
659
- });
660
- Object.defineProperty(exports, 'handleSearchResultsAtom', {
661
- enumerable: true,
662
- get: function () {
663
- return handleSearchResultsAtom;
664
- }
665
- });
666
- Object.defineProperty(exports, 'initiateChatSearchAtom', {
667
- enumerable: true,
668
- get: function () {
669
- return initiateChatSearchAtom;
670
- }
671
- });
672
- Object.defineProperty(exports, 'internalSearchSystemStateAtom', {
673
- enumerable: true,
674
- get: function () {
675
- return internalSearchSystemStateAtom;
676
- }
677
- });
678
- Object.defineProperty(exports, 'performSearchAtom', {
679
- enumerable: true,
680
- get: function () {
681
- return performSearchAtom;
682
- }
683
- });
684
- Object.defineProperty(exports, 'removeSearchFilterAtom', {
685
- enumerable: true,
686
- get: function () {
687
- return removeSearchFilterAtom;
688
- }
689
- });
690
- Object.defineProperty(exports, 'searchAtom', {
691
- enumerable: true,
692
- get: function () {
693
- return searchAtom;
694
- }
695
- });
696
- Object.defineProperty(exports, 'searchFiltersAtom', {
697
- enumerable: true,
698
- get: function () {
699
- return searchFiltersAtom;
700
- }
701
- });
702
- Object.defineProperty(exports, 'searchParamsAtom', {
703
- enumerable: true,
704
- get: function () {
705
- return searchParamsAtom;
706
- }
707
- });
708
- Object.defineProperty(exports, 'searchProductSortingAtom', {
709
- enumerable: true,
710
- get: function () {
711
- return searchProductSortingAtom;
712
- }
713
- });
714
- Object.defineProperty(exports, 'searchSelectedFiltersAtom', {
715
- enumerable: true,
716
- get: function () {
717
- return searchSelectedFiltersAtom;
718
- }
719
- });
720
- Object.defineProperty(exports, 'searchSystemAtom', {
721
- enumerable: true,
722
- get: function () {
723
- return searchSystemAtom;
724
- }
725
- });
726
- Object.defineProperty(exports, 'selectedFilterOptionsAtom', {
727
- enumerable: true,
728
- get: function () {
729
- return selectedFilterOptionsAtom;
730
- }
731
- });
732
- Object.defineProperty(exports, 'setChatSearchParamsAtom', {
733
- enumerable: true,
734
- get: function () {
735
- return setChatSearchParamsAtom;
736
- }
737
- });
738
- Object.defineProperty(exports, 'setSearchParams', {
739
- enumerable: true,
740
- get: function () {
741
- return setSearchParams;
742
- }
743
- });