@envive-ai/react-hooks 0.1.3 → 0.1.4

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 (428) 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 +37 -757
  36. package/dist/application/service/index.d.cts +14 -22
  37. package/dist/application/service/index.d.ts +14 -22
  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 +13 -13
  41. package/dist/application/utils/index.d.ts +12 -12
  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/atoms/app/index.cjs +16 -16
  46. package/dist/atoms/app/index.d.cts +11 -11
  47. package/dist/atoms/app/index.d.ts +12 -12
  48. package/dist/atoms/app/index.js +10 -10
  49. package/dist/atoms/atomStore/index.cjs +1 -2
  50. package/dist/atoms/atomStore/index.d.cts +2 -1
  51. package/dist/atoms/atomStore/index.d.ts +2 -1
  52. package/dist/atoms/atomStore/index.js +1 -2
  53. package/dist/atoms/chat/index.cjs +40 -40
  54. package/dist/atoms/chat/index.d.cts +37 -37
  55. package/dist/atoms/chat/index.d.ts +38 -38
  56. package/dist/atoms/chat/index.js +10 -10
  57. package/dist/atoms/globalSearch/index.cjs +1 -1
  58. package/dist/atoms/globalSearch/index.d.cts +7 -6
  59. package/dist/atoms/globalSearch/index.d.ts +7 -6
  60. package/dist/atoms/globalSearch/index.js +1 -1
  61. package/dist/atoms/org/index.cjs +37 -40
  62. package/dist/atoms/org/index.d.cts +32 -53
  63. package/dist/atoms/org/index.d.ts +31 -52
  64. package/dist/atoms/org/index.js +11 -12
  65. package/dist/atoms/search/index.cjs +41 -43
  66. package/dist/atoms/search/index.d.cts +9 -10
  67. package/dist/atoms/search/index.d.ts +9 -10
  68. package/dist/atoms/search/index.js +10 -12
  69. package/dist/bandolier-B76-OE75.cjs +1230 -0
  70. package/dist/bandolier-DRn_x1g1.js +1230 -0
  71. package/dist/carpe-kHi4RLB5.cjs +608 -0
  72. package/dist/carpe-qrSU99gq.js +606 -0
  73. package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
  74. package/dist/chat-CLJ4NWcN.js +26 -0
  75. package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
  76. package/dist/components-CV1fhAkj.js +11 -0
  77. package/dist/config/locators/components/chat/index.cjs +1 -1
  78. package/dist/config/locators/components/chat/index.d.cts +1 -1
  79. package/dist/config/locators/components/chat/index.d.ts +1 -1
  80. package/dist/config/locators/components/chat/index.js +1 -1
  81. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  82. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  83. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  84. package/dist/config/locators/components/chat/variants/index.js +2 -1
  85. package/dist/config/locators/components/index.cjs +1 -1
  86. package/dist/config/locators/components/index.d.cts +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 +4 -3
  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 +38 -19
  99. package/dist/contexts/index.d.ts +41 -22
  100. package/dist/contexts/index.js +11 -17
  101. package/dist/contexts-CQDwe3rK.cjs +14333 -0
  102. package/dist/contexts-e2sM-B9g.js +12919 -0
  103. package/dist/coterie-mMirPcHP.js +240 -0
  104. package/dist/coterie-yQ-_JXSw.cjs +240 -0
  105. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  106. package/dist/customerService-BHQRnLhC.js +23 -0
  107. package/dist/custservice-types-C83itZmy.cjs +35 -0
  108. package/dist/custservice-types-DPQ-4TI6.js +23 -0
  109. package/dist/default-8Jfv8ehQ.cjs +199 -0
  110. package/dist/default-C8PQf-38.js +176 -0
  111. package/dist/default-LukSiCz1.js +4 -0
  112. package/dist/default-rJSJ887P.cjs +4 -0
  113. package/dist/divIds-CWkntTsx.js +23 -0
  114. package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
  115. package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
  116. package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
  117. package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
  118. package/dist/embedded-C5uJqmuD.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-Cvnwh03g.cjs +614 -0
  130. package/dist/fiveCbd-DhYMlsf9.js +614 -0
  131. package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
  132. package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
  133. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  134. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  135. package/dist/greenpan-B4Pu65kV.js +398 -0
  136. package/dist/greenpan-BL5p6j7f.cjs +398 -0
  137. package/dist/grooveLife-DjKWHoN3.cjs +343 -0
  138. package/dist/grooveLife-JK0TyaPz.js +343 -0
  139. package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
  140. package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
  141. package/dist/hooks/index.cjs +38 -38
  142. package/dist/hooks/index.d.cts +25 -16
  143. package/dist/hooks/index.d.ts +30 -21
  144. package/dist/hooks/index.js +11 -17
  145. package/dist/index-BTK5uzs6.d.cts +98 -0
  146. package/dist/index-BfuO9b0Q.d.ts +749 -0
  147. package/dist/index-BzgkfbNO.d.cts +228 -0
  148. package/dist/index-C62lPpy4.d.cts +25 -0
  149. package/dist/index-CExtydIH.d.ts +9 -0
  150. package/dist/index-CKKkTsms.d.ts +39 -0
  151. package/dist/index-CNsGWfS6.d.cts +749 -0
  152. package/dist/index-CYtsPztZ.d.cts +203 -0
  153. package/dist/index-C_C0tLeD.d.ts +203 -0
  154. package/dist/index-ClJ0nMsR.d.cts +184 -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-DPx8s5YH.d.ts +25 -0
  160. package/dist/index-Dxpscrvz.d.ts +228 -0
  161. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  162. package/dist/index-VSFakgAI.d.cts +95 -0
  163. package/dist/index-jBATkcc_.d.cts +9 -0
  164. package/dist/index-zZjcds15.d.cts +7 -0
  165. package/dist/interceptors/index.cjs +12 -13
  166. package/dist/interceptors/index.d.cts +10 -10
  167. package/dist/interceptors/index.d.ts +10 -10
  168. package/dist/interceptors/index.js +10 -11
  169. package/dist/jackArcher-CXf_IAmC.js +728 -0
  170. package/dist/jackArcher-mGkojXek.cjs +728 -0
  171. package/dist/jordanCraig-BvCvPRoR.js +1787 -0
  172. package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
  173. package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
  174. package/dist/kindredBravely-X8F_LNph.js +491 -0
  175. package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
  176. package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
  177. package/dist/larryAndSerges-1411NuZa.cjs +262 -0
  178. package/dist/larryAndSerges-DVIRLItu.js +262 -0
  179. package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
  180. package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
  181. package/dist/logger-Dln20ans.cjs +26 -0
  182. package/dist/logger-pdEEY8T2.js +20 -0
  183. package/dist/longevityrx-BFSv9GF5.cjs +321 -0
  184. package/dist/longevityrx-Cp6wleWr.js +321 -0
  185. package/dist/lookOptic-BGhU4910.js +283 -0
  186. package/dist/lookOptic-KieSqskd.cjs +283 -0
  187. package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
  188. package/dist/mantraBrand-DrqG9uqO.js +751 -0
  189. package/dist/medterra-CLG6Co1C.cjs +584 -0
  190. package/dist/medterra-D8ZX9NZC.js +584 -0
  191. package/dist/modells-BzyPwN2m.cjs +485 -0
  192. package/dist/modells-CAfqOCW4.js +485 -0
  193. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  194. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  195. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  196. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  197. package/dist/pressedFloral-DULBuQwR.cjs +662 -0
  198. package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
  199. package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
  200. package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
  201. package/dist/skinPerfection-BxuYCeJX.js +335 -0
  202. package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
  203. package/dist/snapSupplements-Bf6htPM0.js +286 -0
  204. package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
  205. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  206. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  207. package/dist/spanx-CwDPQaGj.js +662 -0
  208. package/dist/spanx-Cyd4qDlK.cjs +664 -0
  209. package/dist/spanxStaging-D43nyAGy.js +846 -0
  210. package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
  211. package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
  212. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
  213. package/dist/supergoop-BnbFG7hm.cjs +338 -0
  214. package/dist/supergoop-CY043wIg.js +336 -0
  215. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  216. package/dist/test-types-CuOq25VT.d.cts +40 -0
  217. package/dist/types/index.cjs +2 -2
  218. package/dist/types/index.d.cts +2 -2
  219. package/dist/types/index.d.ts +2 -2
  220. package/dist/types/index.js +2 -2
  221. package/dist/types-BF_CJeck.js +177 -0
  222. package/dist/types-CD4LFta-.d.cts +33 -0
  223. package/dist/types-CNH4sfF-.cjs +231 -0
  224. package/dist/types-DBdI0j89.d.ts +33 -0
  225. package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
  226. package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
  227. package/dist/variant-CKVRF2-W.d.ts +13 -0
  228. package/dist/variant-raYuOP4L.d.cts +13 -0
  229. package/dist/venaCbd-o5_vOp4e.js +366 -0
  230. package/dist/venaCbd-r-IxEVc1.cjs +366 -0
  231. package/dist/westonJonBoucher-C95EuCl-.js +423 -0
  232. package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
  233. package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
  234. package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
  235. package/dist/wolfMattress-6xPfOJt3.js +373 -0
  236. package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
  237. package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
  238. package/dist/wolfTactical-C_F9-oPX.js +350 -0
  239. package/package.json +1 -1
  240. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  241. package/src/adapters/spiffy/commerce/api.ts +17 -8
  242. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  243. package/src/application/config/generalStaticConfig.ts +5 -2
  244. package/src/application/models/api/orgConfigResults.ts +6 -2
  245. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  246. package/src/application/service/cdnService.ts +4 -2
  247. package/src/application/service/index.ts +0 -1
  248. package/src/application/service/pageVariantService.ts +5 -5
  249. package/src/application/service/searchService.ts +9 -2
  250. package/src/application/service/windowChatToggleService.ts +28 -19
  251. package/src/application/service/windowFrontendConfigService.ts +7 -4
  252. package/src/atoms/app/index.ts +26 -17
  253. package/src/atoms/app/variant.ts +1 -0
  254. package/src/atoms/chat/messageQueue.ts +1 -1
  255. package/src/atoms/envive/enviveConfig.ts +81 -0
  256. package/src/atoms/org/graphqlConfig.ts +29 -11
  257. package/src/atoms/org/merchantCss.ts +114 -0
  258. package/src/atoms/org/org.ts +101 -64
  259. package/src/atoms/org/orgPageConfig.ts +9 -6
  260. package/src/atoms/org/orgUIConfig.ts +22 -9
  261. package/src/atoms/search/chatSearch.ts +85 -67
  262. package/src/contexts/chatContext.tsx +4 -1
  263. package/src/contexts/enviveConfigContext.tsx +37 -26
  264. package/src/contexts/enviveCssContext.tsx +20 -0
  265. package/src/contexts/index.ts +2 -0
  266. package/src/contexts/orgConfigContext.tsx +106 -0
  267. package/src/contexts/systemSettingsContext.tsx +2 -2
  268. package/src/contexts/types.ts +12 -9
  269. package/src/hooks/index.ts +1 -0
  270. package/src/hooks/useSearch.tsx +10 -6
  271. package/src/hooks/utils.ts +1 -1
  272. package/src/interceptors/useFormEscalation.ts +26 -9
  273. package/src/types.ts +0 -2
  274. package/dist/api-BtzLHcfU.cjs +0 -268
  275. package/dist/api-kpPTZhV9.js +0 -189
  276. package/dist/atomStore-BNQyGmU_.cjs +0 -57
  277. package/dist/atomStore-TnLPtYns.js +0 -31
  278. package/dist/bandolier-CQrxBHsk.cjs +0 -1230
  279. package/dist/bandolier-Di9DpZ8e.js +0 -1230
  280. package/dist/carpe-3NJOR-Rj.cjs +0 -608
  281. package/dist/carpe-DmWKaIQq.js +0 -606
  282. package/dist/cdnService-BNreZjqy.js +0 -18
  283. package/dist/cdnService-vLxePdrU.cjs +0 -23
  284. package/dist/chat-CCQMmhc1.cjs +0 -5057
  285. package/dist/chat-Dk6KPb1K.js +0 -25
  286. package/dist/chat-H6YcCS4I.js +0 -4113
  287. package/dist/components-DAQxVIn9.js +0 -10
  288. package/dist/coterie-D0UFsFC5.cjs +0 -240
  289. package/dist/coterie-JblRmIZL.js +0 -240
  290. package/dist/customerService-C4wc0glQ.js +0 -22
  291. package/dist/customerService-zsDlp7g2.cjs +0 -35
  292. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  293. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  294. package/dist/default-C5ZTV8HA.cjs +0 -4
  295. package/dist/default-DPv8m-eQ.js +0 -175
  296. package/dist/default-DRKBosow.cjs +0 -198
  297. package/dist/default-ao0vRl0W.js +0 -4
  298. package/dist/divIds-BWvq-i6I.js +0 -22
  299. package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
  300. package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
  301. package/dist/embedded-C1jvFj3v.js +0 -22
  302. package/dist/entrypoints-CmmOszXO.js +0 -6
  303. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  304. package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
  305. package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
  306. package/dist/events-DgFzlVJR.js +0 -77
  307. package/dist/events-bH-24eRW.cjs +0 -89
  308. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  309. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  310. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  311. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  312. package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
  313. package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
  314. package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
  315. package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
  316. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  317. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  318. package/dist/globalSearch-BC0rOX3E.js +0 -13
  319. package/dist/greenpan-JM6SHcqO.js +0 -398
  320. package/dist/greenpan-eIzyxVsn.cjs +0 -398
  321. package/dist/grooveLife-BmsUc2cD.js +0 -343
  322. package/dist/grooveLife-KdTizVUn.cjs +0 -343
  323. package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
  324. package/dist/homegrownCannabis-a9udocBT.js +0 -411
  325. package/dist/hooks-DjOa7ihH.cjs +0 -7331
  326. package/dist/hooks-fneW8SWw.js +0 -7152
  327. package/dist/index-BQErGgfM.d.cts +0 -202
  328. package/dist/index-BdNKc2ix.d.cts +0 -8
  329. package/dist/index-BrXuc_Ck.d.cts +0 -24
  330. package/dist/index-C4zjAR1c.d.cts +0 -227
  331. package/dist/index-CGB6CAmr.d.ts +0 -6
  332. package/dist/index-CIco0cCQ.d.ts +0 -183
  333. package/dist/index-COG1kOZG.d.ts +0 -749
  334. package/dist/index-CVxe7FpL.d.cts +0 -6
  335. package/dist/index-Cn1SeI5y.d.cts +0 -183
  336. package/dist/index-CnqHN_jz.d.ts +0 -202
  337. package/dist/index-Cqg6ltII.d.ts +0 -38
  338. package/dist/index-DE_7Q8qK.d.ts +0 -94
  339. package/dist/index-Da0UzyI9.d.ts +0 -24
  340. package/dist/index-DbWWcYax.d.cts +0 -749
  341. package/dist/index-DtoVXd6O.d.cts +0 -97
  342. package/dist/index-JClBRnSX.d.cts +0 -94
  343. package/dist/index-ghzD_356.d.ts +0 -8
  344. package/dist/index-hdbCEjYy.d.cts +0 -38
  345. package/dist/index-luJrHgPN.d.ts +0 -97
  346. package/dist/index-tfRj22E1.d.ts +0 -227
  347. package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
  348. package/dist/jackArcher-B9fe4Hv8.js +0 -728
  349. package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
  350. package/dist/jordanCraig-DNm1iw1L.js +0 -1787
  351. package/dist/kindredBravely-CZgt7DJA.js +0 -491
  352. package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
  353. package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
  354. package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
  355. package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
  356. package/dist/larryAndSerges-DO-zG8ES.js +0 -261
  357. package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
  358. package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
  359. package/dist/logger-Be0NyKaY.cjs +0 -25
  360. package/dist/logger-BexDfK3W.js +0 -19
  361. package/dist/longevityrx-DjKbwJo3.cjs +0 -321
  362. package/dist/longevityrx-eq5TeUcy.js +0 -321
  363. package/dist/lookOptic-BPPqms_j.cjs +0 -283
  364. package/dist/lookOptic-jRpBXQCN.js +0 -283
  365. package/dist/mantraBrand-BZOZfkUK.js +0 -751
  366. package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
  367. package/dist/medterra-BHYCBgvQ.cjs +0 -584
  368. package/dist/medterra-CShe6CLY.js +0 -584
  369. package/dist/modells-DE7-gmjK.cjs +0 -485
  370. package/dist/modells-DFyJxNwT.js +0 -485
  371. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  372. package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
  373. package/dist/org-Bkn6fl6I.cjs +0 -106
  374. package/dist/org-CX8HFbc9.js +0 -63
  375. package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
  376. package/dist/pressedFloral-aK9br-LF.js +0 -662
  377. package/dist/search-DtIFZeMA.cjs +0 -743
  378. package/dist/search-eWwg8pNn.js +0 -542
  379. package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
  380. package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
  381. package/dist/skinPerfection-B9G6yLM2.js +0 -335
  382. package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
  383. package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
  384. package/dist/snapSupplements-DKvJl__T.js +0 -286
  385. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  386. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  387. package/dist/spanx-D-ZKkxjM.cjs +0 -664
  388. package/dist/spanx-yl7YfVrf.js +0 -662
  389. package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
  390. package/dist/spanxStaging-DzGXL9wD.js +0 -846
  391. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  392. package/dist/supergoop-CSpDPOpl.cjs +0 -337
  393. package/dist/supergoop-D0UkuRiA.js +0 -335
  394. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  395. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  396. package/dist/types-BE4faOO_.d.cts +0 -32
  397. package/dist/types-C3S1H4hl.js +0 -176
  398. package/dist/types-TD8g7LnH.d.ts +0 -32
  399. package/dist/types-lcjuhDBt.cjs +0 -230
  400. package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
  401. package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
  402. package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
  403. package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
  404. package/dist/variant-DH4zusMi.d.cts +0 -12
  405. package/dist/variant-DTEqSBHd.d.ts +0 -12
  406. package/dist/variantInfo-BTvC6CQh.js +0 -1
  407. package/dist/variantInfo-Cz2YXraO.cjs +0 -0
  408. package/dist/venaCbd-BS0dvdBm.js +0 -366
  409. package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
  410. package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
  411. package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
  412. package/dist/wineEnthusiast-M9P18d1w.js +0 -941
  413. package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
  414. package/dist/wolfMattress-BQHjoQYu.js +0 -373
  415. package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
  416. package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
  417. package/dist/wolfTactical-dObnPgAG.cjs +0 -350
  418. package/src/application/service/environmentService.ts +0 -51
  419. package/src/extension.ts +0 -63
  420. package/src/initialize.ts +0 -163
  421. package/src/main.tsx +0 -108
  422. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  423. /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
  424. /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
  425. /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
  426. /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
  427. /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
  428. /package/dist/{utilityTypes-UWdNHElu.js → variantInfo-CzhR5W6h.js} +0 -0
@@ -1,29 +1,31 @@
1
- import { ColorMapping, ColorNames } from 'src/application/models/colorsConfig';
2
- import { isGraphQLColorsConfig } from 'src/application/models/guards/graphQL/isGraphQLColorsConfig';
1
+ import { ColorMapping, ColorNames } from "src/application/models/colorsConfig";
2
+ import { isGraphQLColorsConfig } from "src/application/models/guards/graphQL/isGraphQLColorsConfig";
3
3
 
4
- export const validateGraphQLColorsConfig = (data: unknown): ColorMapping | undefined => {
4
+ export const validateGraphQLColorsConfig = (
5
+ data: unknown
6
+ ): ColorMapping | undefined => {
5
7
  if (!isGraphQLColorsConfig(data)) {
6
8
  return undefined;
7
9
  }
8
10
 
9
11
  return {
10
- [ColorNames.TextPrimary]: data.text_primary,
11
- [ColorNames.TextSecondary]: data.text_secondary,
12
- [ColorNames.TextAccent]: data.text_accent,
13
- [ColorNames.TextLink]: data.text_link,
14
- [ColorNames.TextLight]: data.text_light,
15
- [ColorNames.BackgroundPrimary]: data.background_primary,
16
- [ColorNames.BackgroundSecondary]: data.background_secondary,
17
- [ColorNames.BackgroundSecondaryDark]: data.background_secondary_dark,
18
- [ColorNames.BackgroundTertiary]: data.background_tertiary,
19
- [ColorNames.BackgroundDark]: data.background_dark,
20
- [ColorNames.BorderLight]: data.border_light,
21
- [ColorNames.BorderMedium]: data.border_medium,
22
- [ColorNames.BorderDark]: data.border_dark,
23
- [ColorNames.BorderOutline]: data.border_outline,
24
- [ColorNames.AccentPrimary]: data.accent_primary,
25
- [ColorNames.AccentSecondary]: data.accent_secondary,
26
- [ColorNames.BackgroundLight]: data.background_light,
27
- [ColorNames.BackgroundSaturated]: data.background_saturated,
12
+ [ColorNames.TextPrimary]: "#000000",
13
+ [ColorNames.TextSecondary]: "#666666",
14
+ [ColorNames.TextAccent]: "#808080",
15
+ [ColorNames.TextLink]: "#4D4D4D",
16
+ [ColorNames.TextLight]: "#FFFFFF",
17
+ [ColorNames.BackgroundPrimary]: "#999999",
18
+ [ColorNames.BackgroundSecondary]: "#F2F2F2",
19
+ [ColorNames.BackgroundSecondaryDark]: "#E5E5E5",
20
+ [ColorNames.BackgroundTertiary]: "#E5E5E5",
21
+ [ColorNames.BackgroundDark]: "#000000",
22
+ [ColorNames.BackgroundLight]: "#FFFFFF",
23
+ [ColorNames.BackgroundSaturated]: "#CCCCCC",
24
+ [ColorNames.BorderLight]: "#E5E5E5",
25
+ [ColorNames.BorderMedium]: "#B2B2B2",
26
+ [ColorNames.BorderDark]: "#4D4D4D",
27
+ [ColorNames.BorderOutline]: "#4D4D4D",
28
+ [ColorNames.AccentPrimary]: "#999999",
29
+ [ColorNames.AccentSecondary]: "#B2B2B2",
28
30
  };
29
31
  };
@@ -1,8 +1,10 @@
1
- import { useEnviveConfig } from "src/contexts/enviveConfigContext";
1
+ import { getAtomStore } from "src/atoms/atomStore";
2
+ import { cdnUrlAtom } from "src/atoms/envive/enviveConfig";
2
3
 
3
4
  class CdnService {
4
5
  static get CDN_URL() {
5
- const { cdnUrl } = useEnviveConfig();
6
+ const atomStore = getAtomStore();
7
+ const cdnUrl = atomStore.get(cdnUrlAtom);
6
8
  return cdnUrl || "https://cdn.spiffy.ai/other";
7
9
  }
8
10
 
@@ -2,7 +2,6 @@
2
2
  export * from "./cachingService";
3
3
  export * from "./cdnService";
4
4
  export * from "./domMutationObserver";
5
- export * from "./environmentService";
6
5
  export * from "./featureFlagService";
7
6
  export * from "./kustomerIntegrationService";
8
7
  export * from "./localStorageService";
@@ -34,7 +34,6 @@ import {
34
34
  UrlResolvingPDPConfig,
35
35
  UrlResolvingPLPConfig,
36
36
  } from "src/atoms/app/variant";
37
- import { tellExtensionAboutInjectionError } from "src/extension";
38
37
  import { chatAtom, lastAssistantMessageAtom } from "src/atoms/chat";
39
38
  import { StringUtils } from "../utils/stringUtils";
40
39
 
@@ -339,7 +338,7 @@ class PageVariantService {
339
338
  const atomStore = getAtomStore();
340
339
  const featureFlagService = atomStore.get(featureFlagServiceAtom);
341
340
 
342
- return featureFlagService.isFeatureGateEnabled(featureGate);
341
+ return featureFlagService?.isFeatureGateEnabled(featureGate) || false;
343
342
  }
344
343
 
345
344
  static getCategory(extractor: CategoryExtractor): PageVisitCategory | null {
@@ -654,9 +653,10 @@ class PageVariantService {
654
653
  undefined,
655
654
  orgPageConfig.pageVariants
656
655
  );
657
- await tellExtensionAboutInjectionError(
658
- new Error("No pagevariantConfig matched")
659
- );
656
+ // TODO: remove or enable if we decide to support injection in this repo.
657
+ // await tellExtensionAboutInjectionError(
658
+ // new Error("No pagevariantConfig matched")
659
+ // );
660
660
 
661
661
  return undefined;
662
662
  };
@@ -11,7 +11,7 @@ import Logger from "src/application/logging/logger";
11
11
  import { SessionRestartRequired } from "src/adapters/spiffy/commerce/exceptions/sessionExceptions";
12
12
  import { UnsupportedProductException } from "src/adapters/spiffy/commerce/exceptions/unsupportedProductExceptions";
13
13
  import { SearchResult, SearchParams } from "../models/api/search";
14
- import { useEnviveConfig } from "src/contexts/enviveConfigContext";
14
+ import { baseUrlAtom } from "src/atoms/envive/enviveConfig";
15
15
 
16
16
  const transformProductResponses = (products: SearchResult["products"]) =>
17
17
  products.map((data) => ({
@@ -80,13 +80,20 @@ class SearchService {
80
80
  if (!SearchService.instance) {
81
81
  const atomStore = getAtomStore();
82
82
  const apiKey = atomStore.get(apiKeyAtom);
83
+ if (!apiKey) {
84
+ throw new Error(
85
+ "[spiffy-ai] SearchService requires apiKey to be available"
86
+ );
87
+ }
83
88
  SearchService.instance = new SearchService(apiKey);
84
89
  }
85
90
  return SearchService.instance;
86
91
  };
87
92
 
88
93
  private constructor(apiKey: string, basePath?: string) {
89
- const { baseUrl } = useEnviveConfig();
94
+ const atomStore = getAtomStore();
95
+
96
+ const baseUrl = atomStore.get(baseUrlAtom);
90
97
  const path = basePath || baseUrl;
91
98
  const config: Configuration = new Configuration({
92
99
  accessToken: apiKey,
@@ -1,12 +1,13 @@
1
- import { useSetAtom } from 'jotai';
2
- import { useEffect, useRef } from 'react';
3
- import { Message, MessageRole, MessageType } from 'src/application/models';
4
- import { EnvironmentService } from 'src/application/service/environmentService';
5
- import { handleReplyAtom } from 'src/atoms/chat';
6
- import { useChatToggle } from 'src/hooks';
7
- import { v4 as uuid } from 'uuid';
8
- import Logger from '../logging/logger';
9
- import { ChatElementDisplayLocation } from '../models/chatElementDisplayLocation';
1
+ import { useSetAtom } from "jotai";
2
+ import { useEffect, useRef } from "react";
3
+ import { Message, MessageRole, MessageType } from "src/application/models";
4
+ import { handleReplyAtom } from "src/atoms/chat";
5
+ import { useChatToggle } from "src/hooks";
6
+ import { v4 as uuid } from "uuid";
7
+ import Logger from "../logging/logger";
8
+ import { ChatElementDisplayLocation } from "../models/chatElementDisplayLocation";
9
+ import { getAtomStore } from "src/atoms/atomStore";
10
+ import { identifyingPrefixAtom } from "src/atoms/envive/enviveConfig";
10
11
 
11
12
  let hasAttachedEnviveChatToggle = false;
12
13
 
@@ -20,13 +21,17 @@ export const WindowChatToggleBinder = () => {
20
21
  const closeChatRef = useRef<(triggerId?: string) => void>();
21
22
  const toggleChatRef = useRef<(triggerId?: string) => void>();
22
23
  const isOpenRef = useRef<boolean>(hook.isOpen);
23
- const openChatWithPromptRef = useRef<(prompt: string, triggerId?: string) => void>();
24
+ const openChatWithPromptRef =
25
+ useRef<(prompt: string, triggerId?: string) => void>();
24
26
 
25
27
  // Keep refs up to date with latest hook/state
26
28
  useEffect(() => {
27
- openChatRef.current = (triggerId?: string) => hook.openChat(triggerLocation, triggerId);
28
- closeChatRef.current = (triggerId?: string) => hook.closeChat(triggerLocation, triggerId);
29
- toggleChatRef.current = (triggerId?: string) => hook.toggle(triggerLocation, triggerId);
29
+ openChatRef.current = (triggerId?: string) =>
30
+ hook.openChat(triggerLocation, triggerId);
31
+ closeChatRef.current = (triggerId?: string) =>
32
+ hook.closeChat(triggerLocation, triggerId);
33
+ toggleChatRef.current = (triggerId?: string) =>
34
+ hook.toggle(triggerLocation, triggerId);
30
35
  isOpenRef.current = hook.isOpen;
31
36
  openChatWithPromptRef.current = (prompt: string, triggerId?: string) => {
32
37
  const message: Message = {
@@ -46,24 +51,28 @@ export const WindowChatToggleBinder = () => {
46
51
  // Attach once; wrapper functions call through to refs
47
52
  useEffect(() => {
48
53
  if (hasAttachedEnviveChatToggle) return;
49
- const identifyingPrefix = EnvironmentService.getIdentifyingPrefix();
54
+ const atomStore = getAtomStore();
55
+ const identifyingPrefix = atomStore.get(identifyingPrefixAtom);
50
56
  try {
51
57
  if (!window[identifyingPrefix]) {
52
58
  window[identifyingPrefix] = {} as Window[typeof identifyingPrefix];
53
59
  }
54
- window[identifyingPrefix].openChat = (triggerId?: string) => openChatRef.current?.(triggerId);
60
+ window[identifyingPrefix].openChat = (triggerId?: string) =>
61
+ openChatRef.current?.(triggerId);
55
62
  window[identifyingPrefix].closeChat = (triggerId?: string) =>
56
63
  closeChatRef.current?.(triggerId);
57
64
  window[identifyingPrefix].toggleChat = (triggerId?: string) =>
58
65
  toggleChatRef.current?.(triggerId);
59
66
  window[identifyingPrefix].getChatIsOpen = () => !!isOpenRef.current;
60
- window[identifyingPrefix].openChatWithPrompt = (prompt: string, triggerId?: string) =>
61
- openChatWithPromptRef.current?.(prompt, triggerId);
67
+ window[identifyingPrefix].openChatWithPrompt = (
68
+ prompt: string,
69
+ triggerId?: string
70
+ ) => openChatWithPromptRef.current?.(prompt, triggerId);
62
71
 
63
- Logger.logDebug('[spiffy-ai] Chat toggle functions attached');
72
+ Logger.logDebug("[spiffy-ai] Chat toggle functions attached");
64
73
  hasAttachedEnviveChatToggle = true;
65
74
  } catch (e) {
66
- Logger.logError('[spiffy-ai] Failed to attach Chat toggle functions', e);
75
+ Logger.logError("[spiffy-ai] Failed to attach Chat toggle functions", e);
67
76
  }
68
77
  }, []);
69
78
 
@@ -1,7 +1,7 @@
1
1
  import Logger from "src/application/logging/logger";
2
- import { EnvironmentService } from "src/application/service/environmentService";
3
2
  import { applyOverrides, Override } from "src/application/utils/overrides";
4
3
  import { getAtomStore } from "src/atoms/atomStore/atomStore";
4
+ import { identifyingPrefixAtom } from "src/atoms/envive/enviveConfig";
5
5
  import {
6
6
  colorsConfigAtom,
7
7
  frontendConfigAtom,
@@ -16,7 +16,7 @@ import {
16
16
  } from "src/contexts/types";
17
17
 
18
18
  type CustomizableFrontendConfig = {
19
- orgUIConfig: OrgUIConfig;
19
+ orgUIConfig: OrgUIConfig | undefined;
20
20
  colorsConfig: ColorMapping;
21
21
  mountingConfigs: Record<string, WidgetMountingConfig>;
22
22
  widgetConfigs: Record<string, WidgetConfig>;
@@ -40,7 +40,8 @@ class WindowFrontendConfigService {
40
40
  this.isInitialized = true;
41
41
 
42
42
  try {
43
- const identifyingPrefix = EnvironmentService.getIdentifyingPrefix();
43
+ const atomStore = getAtomStore();
44
+ const identifyingPrefix = atomStore.get(identifyingPrefixAtom);
44
45
  if (!window[identifyingPrefix]) {
45
46
  window[identifyingPrefix] = {} as Window[typeof identifyingPrefix];
46
47
  }
@@ -99,7 +100,9 @@ class WindowFrontendConfigService {
99
100
  }
100
101
 
101
102
  // Update the atoms with the new frontend config(s)
102
- atomStore.set(orgUIConfigAtom, currentConfig.orgUIConfig);
103
+ if (currentConfig.orgUIConfig) {
104
+ atomStore.set(orgUIConfigAtom, currentConfig.orgUIConfig);
105
+ }
103
106
  atomStore.set(colorsConfigAtom, currentConfig.colorsConfig);
104
107
  // Write to the frontendConfigAtom to update the mountingConfigs and widgetConfigs
105
108
  // This is the only way to update the mountingConfigs and widgetConfigs
@@ -1,11 +1,15 @@
1
- import { ContextEnvEnum, ContextSourceEnum } from '@spiffy-ai/commerce-api-client';
2
- import { atom } from 'jotai';
3
- import { atomWithStorage } from 'jotai/utils';
4
- import { VariantInfo } from 'src/application/models';
5
- import { UserIdentityService } from 'src/application/service/userIdentityService';
6
- import { variantInfoAtom } from 'src/atoms/app/variant';
7
- import { orgIdAtom, orgShortNameAtom, sourceAtom } from 'src/atoms/org/org';
8
- import { v4 as uuid } from 'uuid';
1
+ import {
2
+ ContextEnvEnum,
3
+ ContextSourceEnum,
4
+ } from "@spiffy-ai/commerce-api-client";
5
+ import { atom } from "jotai";
6
+ import { atomWithStorage } from "jotai/utils";
7
+ import { VariantInfo } from "src/application/models";
8
+ import { UserIdentityService } from "src/application/service/userIdentityService";
9
+ import { variantInfoAtom } from "src/atoms/app/variant";
10
+ import { orgIdAtom, orgShortNameAtom } from "src/atoms/org/org";
11
+ import { v4 as uuid } from "uuid";
12
+ import { contextSourceAtom } from "../envive/enviveConfig";
9
13
 
10
14
  export interface AppDetails {
11
15
  orgId: string;
@@ -17,7 +21,7 @@ export interface AppDetails {
17
21
  variantInfo: VariantInfo;
18
22
  }
19
23
 
20
- export { variantInfoAtom } from './variant';
24
+ export { variantInfoAtom } from "./variant";
21
25
 
22
26
  const internalUserIdAtom = atom<string | undefined>(undefined);
23
27
 
@@ -33,25 +37,30 @@ export const userIdAtom = atom(
33
37
  },
34
38
  (_, set, value: string | undefined) => {
35
39
  set(internalUserIdAtom, value);
36
- },
40
+ }
37
41
  );
38
42
  export const appSourceAtom = atom<ContextSourceEnum>(
39
- (get): ContextSourceEnum => get(sourceAtom) ?? ContextSourceEnum.App,
43
+ (get): ContextSourceEnum => get(contextSourceAtom) ?? ContextSourceEnum.App
40
44
  );
41
45
  export const envAtom = atom<ContextEnvEnum>(ContextEnvEnum.Dev);
42
- export const chatIdAtom = atomWithStorage<string>('v1-spiffy-chat-session-id', uuid(), undefined, {
43
- getOnInit: true,
44
- });
46
+ export const chatIdAtom = atomWithStorage<string>(
47
+ "v1-spiffy-chat-session-id",
48
+ uuid(),
49
+ undefined,
50
+ {
51
+ getOnInit: true,
52
+ }
53
+ );
45
54
 
46
55
  export const appDetailsAtom = atom(
47
56
  (get): AppDetails => ({
48
- orgId: get(orgIdAtom),
57
+ orgId: get(orgIdAtom) ?? "",
49
58
  // TODO: orgShortName should be available when this atom is created
50
- orgShortName: get(orgShortNameAtom) ?? 'spiffy-ai',
59
+ orgShortName: get(orgShortNameAtom) ?? "spiffy-ai",
51
60
  chatId: get(chatIdAtom),
52
61
  userId: get(userIdAtom),
53
62
  source: get(appSourceAtom),
54
63
  env: get(envAtom),
55
64
  variantInfo: get(variantInfoAtom),
56
- }),
65
+ })
57
66
  );
@@ -174,6 +174,7 @@ export const supportedEventAtom = atom(
174
174
 
175
175
  // TODO: clean up this logic & the feature gate when we've fully rolled out
176
176
  if (
177
+ featureFlagService &&
177
178
  !featureFlagService.isFeatureGateEnabled(
178
179
  FeatureGates.IsNonShapewearEnabled
179
180
  ) &&
@@ -71,7 +71,7 @@ export const createResponsePayload = ({
71
71
  const atomStore = getAtomStore();
72
72
  const context = atomStore.get(appDetailsAtom);
73
73
  const featureFlagService = atomStore.get(featureFlagServiceAtom);
74
- const featureFlags = featureFlagService.getFeatureFlags();
74
+ const featureFlags = featureFlagService?.getFeatureFlags() || {};
75
75
  return {
76
76
  id: uuid(),
77
77
  context,
@@ -0,0 +1,81 @@
1
+ import Logger from "src/application/logging/logger";
2
+ import { atom } from "jotai";
3
+ import { EnviveConfig } from "src/contexts/types";
4
+ import { ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
5
+ import { LocalStorageService } from "src/application/service";
6
+
7
+ const internalEnviveConfigAtom = atom<EnviveConfig | undefined>(undefined);
8
+
9
+ export const enviveConfigAtom = atom(
10
+ (get) => {
11
+ const config = get(internalEnviveConfigAtom);
12
+ Logger.logDebug(
13
+ "enviveConfig.ts: Accessing internalEnviveConfigAtom",
14
+ config
15
+ );
16
+ return config; // Return undefined if not set instead of throwing
17
+ },
18
+ (_, set, value: EnviveConfig) => {
19
+ set(internalEnviveConfigAtom, value);
20
+ }
21
+ );
22
+
23
+ export const amplitudeApiKeyAtom = atom((get) => {
24
+ const config = get(enviveConfigAtom);
25
+ return config?.amplitudeApiKey;
26
+ });
27
+ export const dataResidencyAtom = atom((get) => {
28
+ const config = get(enviveConfigAtom);
29
+ return config?.dataResidency;
30
+ });
31
+ export const envAtom = atom((get) => {
32
+ const config = get(enviveConfigAtom);
33
+ return config?.env;
34
+ });
35
+ export const baseUrlAtom = atom((get) => {
36
+ const config = get(enviveConfigAtom);
37
+ return config?.baseUrl || "https://commerce-api.dev.spiffy.ai";
38
+ });
39
+ export const reactAppNameAtom = atom((get) => {
40
+ const config = get(enviveConfigAtom);
41
+ return config?.reactAppName;
42
+ });
43
+ export const cdnUrlAtom = atom((get) => {
44
+ const config = get(enviveConfigAtom);
45
+ return config?.cdnUrl;
46
+ });
47
+
48
+ export const contextSourceAtom = atom((get) => {
49
+ const config = get(enviveConfigAtom);
50
+
51
+ if (window.IS_STORYBOOK) {
52
+ return ContextSourceEnum.Test;
53
+ }
54
+
55
+ if (config?.contextSource) {
56
+ return config.contextSource as ContextSourceEnum;
57
+ }
58
+
59
+ const spiffyOnFeatureFlagSet = LocalStorageService.getSpiffyOnFeatureFlag();
60
+ if (spiffyOnFeatureFlagSet === "true") {
61
+ return ContextSourceEnum.Playground;
62
+ }
63
+
64
+ return ContextSourceEnum.App;
65
+ });
66
+
67
+ export const orgLevelApiKeyAtom = atom((get) => {
68
+ const config = get(enviveConfigAtom);
69
+ Logger.logDebug("enviveConfig.ts: Accessing orgLevelApiKey", config);
70
+ return config?.orgLevelApiKey;
71
+ });
72
+ export const orgShortNameAtom = atom((get) => {
73
+ const config = get(enviveConfigAtom);
74
+ Logger.logDebug("enviveConfig.ts: Accessing orgShortName", config);
75
+ return config?.orgShortName;
76
+ });
77
+ export const identifyingPrefixAtom = atom((get) => {
78
+ const config = get(enviveConfigAtom);
79
+ Logger.logDebug("enviveConfig.ts: Accessing identifyingPrefix", config);
80
+ return config?.identifyingPrefix || "spiffy";
81
+ });
@@ -1,27 +1,45 @@
1
- import { atom } from 'jotai';
2
- import { ColorMapping } from 'src/application/models/colorsConfig';
3
- import { FrontendConfig } from 'src/application/models/frontendConfig';
4
- import { getOrgInfo } from 'src/application/models/supportedOrgs';
5
- import { orgShortNameAtom } from 'src/atoms/org/org';
1
+ import { atom } from "jotai";
2
+ import { ColorMapping } from "src/application/models/colorsConfig";
3
+ import { FrontendConfig } from "src/application/models/frontendConfig";
4
+ import { getOrgInfo } from "src/application/models/supportedOrgs";
5
+ import { orgShortNameAtom } from "src/atoms/org/org";
6
6
 
7
- const internalGraphQLColorsConfigAtom = atom<ColorMapping | undefined>(undefined);
8
- const internalGraphQLFrontendConfigAtom = atom<FrontendConfig | undefined>(undefined);
7
+ const internalGraphQLColorsConfigAtom = atom<ColorMapping | undefined>(
8
+ undefined
9
+ );
10
+ const internalGraphQLFrontendConfigAtom = atom<FrontendConfig | undefined>(
11
+ undefined
12
+ );
9
13
 
10
14
  export const colorsConfigAtom = atom(
11
15
  async (get) => {
12
16
  const colors = get(internalGraphQLColorsConfigAtom);
13
- const orgInfo = await getOrgInfo(get(orgShortNameAtom));
17
+ const orgShortName = get(orgShortNameAtom);
18
+ if (!orgShortName) {
19
+ return colors;
20
+ }
21
+ const orgInfo = await getOrgInfo(orgShortName);
14
22
  const orgUIConfigColors = orgInfo.orgColors();
15
- return { ...orgUIConfigColors, ...colors };
23
+
24
+ // Only merge if orgUIConfigColors is a proper ColorMapping, not an empty object
25
+ if (
26
+ colors &&
27
+ orgUIConfigColors &&
28
+ Object.keys(orgUIConfigColors).length > 0
29
+ ) {
30
+ return { ...orgUIConfigColors, ...colors } as ColorMapping;
31
+ }
32
+
33
+ return colors;
16
34
  },
17
35
  (_, set, value: ColorMapping | undefined) => {
18
36
  set(internalGraphQLColorsConfigAtom, value);
19
- },
37
+ }
20
38
  );
21
39
 
22
40
  export const frontendConfigAtom = atom(
23
41
  (get) => get(internalGraphQLFrontendConfigAtom),
24
42
  (_, set, value: FrontendConfig | undefined) => {
25
43
  set(internalGraphQLFrontendConfigAtom, value);
26
- },
44
+ }
27
45
  );
@@ -3,11 +3,125 @@ import { ColorNames } from "src/contexts/types";
3
3
  import { orgUIConfigAtom } from "src/atoms/org/orgUIConfig";
4
4
  import { colorsConfigAtom } from "src/atoms/org/graphqlConfig";
5
5
 
6
+ const tailwindStyles = `@tailwind base;
7
+ @tailwind components;
8
+ @tailwind utilities;
9
+
10
+ @layer utilities {
11
+ /* Provides a utility class to disable scroll bars */
12
+ /* Chrome, Safari and Opera */
13
+ .spiffy-tw-no-scrollbar::-webkit-scrollbar {
14
+ display: none;
15
+ }
16
+
17
+ .spiffy-tw-no-scrollbar {
18
+ -ms-overflow-style: none; /* IE and Edge */
19
+ scrollbar-width: none; /* Firefox */
20
+ }
21
+
22
+ .spiffy-tw-typography-ul,
23
+ .spiffy-tw-typography-ol {
24
+ list-style: inherit;
25
+ margin: 0;
26
+ padding-left: 24px;
27
+ line-height: 4px;
28
+ }
29
+ }
30
+
31
+ /*
32
+ * TODO: this needs to be re-scoped to target the application root instead
33
+ * of the individual components.
34
+ */
35
+ #spiffy-ai-container,
36
+ #spiffy-ai-chat-preview,
37
+ #spiffy-ai-chat-preview-contents,
38
+ #spiffy-ai-floating-button {
39
+ font-family: 'Inter Variable', sans-serif;
40
+ h1,
41
+ h2,
42
+ h3,
43
+ h4,
44
+ h5,
45
+ h6 {
46
+ font-family: Poppins, sans-serif;
47
+ }
48
+ }
49
+
50
+ /* inter-latin-wght-normal */
51
+ @font-face {
52
+ font-family: 'Inter Variable';
53
+ font-style: normal;
54
+ font-display: swap;
55
+ font-weight: 100 900;
56
+ src: url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-normal.woff2)
57
+ format('woff2-variations');
58
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
59
+ U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
60
+ }
61
+
62
+ /* inter-latin-wght-italic */
63
+ @font-face {
64
+ font-family: 'Inter Variable';
65
+ font-style: italic;
66
+ font-display: swap;
67
+ font-weight: 100 900;
68
+ src: url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-italic.woff2)
69
+ format('woff2-variations');
70
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
71
+ U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
72
+ }
73
+
74
+ /* poppins-latin-400-normal */
75
+ @font-face {
76
+ font-family: 'Poppins';
77
+ font-style: normal;
78
+ font-display: swap;
79
+ font-weight: 400;
80
+ src: url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff2)
81
+ format('woff2'),
82
+ url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff)
83
+ format('woff');
84
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
85
+ U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
86
+ U+FFFD;
87
+ }
88
+
89
+ /* poppins-latin-500-normal */
90
+ @font-face {
91
+ font-family: 'Poppins';
92
+ font-style: normal;
93
+ font-display: swap;
94
+ font-weight: 500;
95
+ src: url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff2)
96
+ format('woff2'),
97
+ url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff)
98
+ format('woff');
99
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
100
+ U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
101
+ U+FFFD;
102
+ }
103
+
104
+ /* poppins-latin-600-normal */
105
+ @font-face {
106
+ font-family: 'Poppins';
107
+ font-style: normal;
108
+ font-display: swap;
109
+ font-weight: 600;
110
+ src: url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff2)
111
+ format('woff2'),
112
+ url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff)
113
+ format('woff');
114
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
115
+ U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
116
+ U+FFFD;
117
+ }`;
118
+
6
119
  export const orgMerchantCssAtom = atom(async (get) => {
7
120
  const orgUIConfig = get(orgUIConfigAtom);
8
121
  const colors = await get(colorsConfigAtom);
9
122
  const merchantThemeCss = colors
10
123
  ? `
124
+ ${tailwindStyles}
11
125
 
12
126
  * {
13
127
  --spiffy-colors-text-primary: ${colors[ColorNames.TextPrimary]};