@envive-ai/react-hooks 0.1.2 → 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 (411) hide show
  1. package/dist/adapters/amplitude/index.cjs +8 -8
  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 +5 -5
  5. package/dist/api-B2euFL-5.cjs +2 -1
  6. package/dist/api-XRr_lAG6.js +2 -1
  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 +7 -7
  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 +5 -5
  15. package/dist/application/models/guards/api/index.d.cts +2 -2
  16. package/dist/application/models/guards/api/index.d.ts +2 -2
  17. package/dist/application/models/index.cjs +49 -49
  18. package/dist/application/models/index.d.cts +8 -9
  19. package/dist/application/models/index.d.ts +8 -9
  20. package/dist/application/models/index.js +5 -5
  21. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  22. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  23. package/dist/application/models/variantInfo/index.d.cts +1 -1
  24. package/dist/application/models/variantInfo/index.d.ts +1 -1
  25. package/dist/application/service/customerService/index.cjs +1 -1
  26. package/dist/application/service/customerService/index.d.cts +2 -2
  27. package/dist/application/service/customerService/index.d.ts +2 -2
  28. package/dist/application/service/customerService/index.js +1 -1
  29. package/dist/application/service/index.cjs +30 -750
  30. package/dist/application/service/index.d.cts +14 -22
  31. package/dist/application/service/index.d.ts +14 -22
  32. package/dist/application/service/index.js +7 -722
  33. package/dist/application/utils/index.cjs +32 -32
  34. package/dist/application/utils/index.d.cts +13 -13
  35. package/dist/application/utils/index.d.ts +11 -11
  36. package/dist/application/utils/index.js +5 -5
  37. package/dist/atomStore-B1cgmbP0.js +32 -0
  38. package/dist/atomStore-JwGb7pcy.cjs +58 -0
  39. package/dist/atoms/app/index.cjs +11 -11
  40. package/dist/atoms/app/index.d.cts +11 -11
  41. package/dist/atoms/app/index.d.ts +11 -11
  42. package/dist/atoms/app/index.js +5 -5
  43. package/dist/atoms/atomStore/index.cjs +1 -2
  44. package/dist/atoms/atomStore/index.d.cts +2 -1
  45. package/dist/atoms/atomStore/index.d.ts +2 -1
  46. package/dist/atoms/atomStore/index.js +1 -2
  47. package/dist/atoms/chat/index.cjs +35 -35
  48. package/dist/atoms/chat/index.d.cts +37 -37
  49. package/dist/atoms/chat/index.d.ts +10 -10
  50. package/dist/atoms/chat/index.js +5 -5
  51. package/dist/atoms/globalSearch/index.cjs +1 -1
  52. package/dist/atoms/globalSearch/index.d.cts +7 -6
  53. package/dist/atoms/globalSearch/index.d.ts +7 -6
  54. package/dist/atoms/globalSearch/index.js +1 -1
  55. package/dist/atoms/org/index.cjs +32 -35
  56. package/dist/atoms/org/index.d.cts +32 -53
  57. package/dist/atoms/org/index.d.ts +31 -52
  58. package/dist/atoms/org/index.js +6 -7
  59. package/dist/atoms/search/index.cjs +36 -38
  60. package/dist/atoms/search/index.d.cts +9 -10
  61. package/dist/atoms/search/index.d.ts +9 -10
  62. package/dist/atoms/search/index.js +5 -7
  63. package/dist/bandolier-B76-OE75.cjs +1230 -0
  64. package/dist/bandolier-DRn_x1g1.js +1230 -0
  65. package/dist/carpe-kHi4RLB5.cjs +608 -0
  66. package/dist/carpe-qrSU99gq.js +606 -0
  67. package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
  68. package/dist/chat-CLJ4NWcN.js +26 -0
  69. package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
  70. package/dist/components-CV1fhAkj.js +11 -0
  71. package/dist/config/locators/components/chat/index.cjs +1 -1
  72. package/dist/config/locators/components/chat/index.d.cts +1 -1
  73. package/dist/config/locators/components/chat/index.d.ts +1 -1
  74. package/dist/config/locators/components/chat/index.js +1 -1
  75. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  76. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  77. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  78. package/dist/config/locators/components/chat/variants/index.js +2 -1
  79. package/dist/config/locators/components/index.cjs +1 -1
  80. package/dist/config/locators/components/index.d.cts +1 -1
  81. package/dist/config/locators/components/index.d.ts +1 -1
  82. package/dist/config/locators/components/index.js +1 -1
  83. package/dist/config/locators/components/search/index.cjs +2 -1
  84. package/dist/config/locators/components/search/index.d.cts +2 -1
  85. package/dist/config/locators/components/search/index.d.ts +2 -1
  86. package/dist/config/locators/components/search/index.js +2 -1
  87. package/dist/config/locators/index.cjs +4 -4
  88. package/dist/config/locators/index.d.cts +4 -3
  89. package/dist/config/locators/index.d.ts +4 -3
  90. package/dist/config/locators/index.js +4 -4
  91. package/dist/contexts/index.cjs +10 -13
  92. package/dist/contexts/index.d.cts +41 -22
  93. package/dist/contexts/index.d.ts +41 -22
  94. package/dist/contexts/index.js +6 -12
  95. package/dist/contexts-CQDwe3rK.cjs +14333 -0
  96. package/dist/contexts-e2sM-B9g.js +12919 -0
  97. package/dist/coterie-mMirPcHP.js +240 -0
  98. package/dist/coterie-yQ-_JXSw.cjs +240 -0
  99. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  100. package/dist/customerService-BHQRnLhC.js +23 -0
  101. package/dist/custservice-types-C83itZmy.cjs +35 -0
  102. package/dist/custservice-types-DPQ-4TI6.js +23 -0
  103. package/dist/default-8Jfv8ehQ.cjs +199 -0
  104. package/dist/default-C8PQf-38.js +176 -0
  105. package/dist/default-LukSiCz1.js +4 -0
  106. package/dist/default-rJSJ887P.cjs +4 -0
  107. package/dist/divIds-CWkntTsx.js +23 -0
  108. package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
  109. package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
  110. package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
  111. package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
  112. package/dist/embedded-C5uJqmuD.js +23 -0
  113. package/dist/entrypoints-CNUvSgnk.js +7 -0
  114. package/dist/entrypoints-DM9Sm18O.cjs +19 -0
  115. package/dist/events/index.d.cts +2 -1
  116. package/dist/events/index.d.ts +2 -1
  117. package/dist/events-ClCDFK7t.js +2 -1
  118. package/dist/events-Da7gpmGv.cjs +2 -1
  119. package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
  120. package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
  121. package/dist/fiveCbd-Cvnwh03g.cjs +614 -0
  122. package/dist/fiveCbd-DhYMlsf9.js +614 -0
  123. package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
  124. package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
  125. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  126. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  127. package/dist/greenpan-B4Pu65kV.js +398 -0
  128. package/dist/greenpan-BL5p6j7f.cjs +398 -0
  129. package/dist/grooveLife-DjKWHoN3.cjs +343 -0
  130. package/dist/grooveLife-JK0TyaPz.js +343 -0
  131. package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
  132. package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
  133. package/dist/hooks/index.cjs +11 -11
  134. package/dist/hooks/index.d.cts +30 -21
  135. package/dist/hooks/index.d.ts +30 -21
  136. package/dist/hooks/index.js +6 -12
  137. package/dist/index-BTK5uzs6.d.cts +98 -0
  138. package/dist/index-BfuO9b0Q.d.ts +749 -0
  139. package/dist/index-BzgkfbNO.d.cts +228 -0
  140. package/dist/index-C62lPpy4.d.cts +25 -0
  141. package/dist/index-CExtydIH.d.ts +9 -0
  142. package/dist/index-CKKkTsms.d.ts +39 -0
  143. package/dist/index-CNsGWfS6.d.cts +749 -0
  144. package/dist/index-CYtsPztZ.d.cts +203 -0
  145. package/dist/index-C_C0tLeD.d.ts +203 -0
  146. package/dist/index-ClJ0nMsR.d.cts +184 -0
  147. package/dist/index-Cx9e-fRi.d.ts +184 -0
  148. package/dist/index-D2VaMPA3.d.ts +98 -0
  149. package/dist/index-D46Rd0io.d.cts +39 -0
  150. package/dist/index-DFL1dIT_.d.ts +7 -0
  151. package/dist/index-DPx8s5YH.d.ts +25 -0
  152. package/dist/index-Dxpscrvz.d.ts +228 -0
  153. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  154. package/dist/index-VSFakgAI.d.cts +95 -0
  155. package/dist/index-jBATkcc_.d.cts +9 -0
  156. package/dist/index-zZjcds15.d.cts +7 -0
  157. package/dist/interceptors/index.cjs +7 -8
  158. package/dist/interceptors/index.d.cts +10 -10
  159. package/dist/interceptors/index.d.ts +10 -10
  160. package/dist/interceptors/index.js +5 -6
  161. package/dist/jackArcher-CXf_IAmC.js +728 -0
  162. package/dist/jackArcher-mGkojXek.cjs +728 -0
  163. package/dist/jordanCraig-BvCvPRoR.js +1787 -0
  164. package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
  165. package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
  166. package/dist/kindredBravely-X8F_LNph.js +491 -0
  167. package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
  168. package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
  169. package/dist/larryAndSerges-1411NuZa.cjs +262 -0
  170. package/dist/larryAndSerges-DVIRLItu.js +262 -0
  171. package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
  172. package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
  173. package/dist/logger-Dln20ans.cjs +2 -1
  174. package/dist/logger-pdEEY8T2.js +2 -1
  175. package/dist/longevityrx-BFSv9GF5.cjs +321 -0
  176. package/dist/longevityrx-Cp6wleWr.js +321 -0
  177. package/dist/lookOptic-BGhU4910.js +283 -0
  178. package/dist/lookOptic-KieSqskd.cjs +283 -0
  179. package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
  180. package/dist/mantraBrand-DrqG9uqO.js +751 -0
  181. package/dist/medterra-CLG6Co1C.cjs +584 -0
  182. package/dist/medterra-D8ZX9NZC.js +584 -0
  183. package/dist/modells-BzyPwN2m.cjs +485 -0
  184. package/dist/modells-CAfqOCW4.js +485 -0
  185. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  186. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  187. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  188. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  189. package/dist/pressedFloral-DULBuQwR.cjs +662 -0
  190. package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
  191. package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
  192. package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
  193. package/dist/skinPerfection-BxuYCeJX.js +335 -0
  194. package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
  195. package/dist/snapSupplements-Bf6htPM0.js +286 -0
  196. package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
  197. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  198. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  199. package/dist/spanx-CwDPQaGj.js +662 -0
  200. package/dist/spanx-Cyd4qDlK.cjs +664 -0
  201. package/dist/spanxStaging-D43nyAGy.js +846 -0
  202. package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
  203. package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
  204. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
  205. package/dist/supergoop-BnbFG7hm.cjs +338 -0
  206. package/dist/supergoop-CY043wIg.js +336 -0
  207. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  208. package/dist/test-types-CuOq25VT.d.cts +40 -0
  209. package/dist/types/index.cjs +2 -2
  210. package/dist/types/index.d.cts +3 -3
  211. package/dist/types/index.d.ts +3 -3
  212. package/dist/types/index.js +2 -2
  213. package/dist/types-BF_CJeck.js +177 -0
  214. package/dist/types-CD4LFta-.d.cts +33 -0
  215. package/dist/types-CNH4sfF-.cjs +231 -0
  216. package/dist/types-DBdI0j89.d.ts +33 -0
  217. package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
  218. package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
  219. package/dist/variant-CKVRF2-W.d.ts +13 -0
  220. package/dist/variant-raYuOP4L.d.cts +13 -0
  221. package/dist/venaCbd-o5_vOp4e.js +366 -0
  222. package/dist/venaCbd-r-IxEVc1.cjs +366 -0
  223. package/dist/westonJonBoucher-C95EuCl-.js +423 -0
  224. package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
  225. package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
  226. package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
  227. package/dist/wolfMattress-6xPfOJt3.js +373 -0
  228. package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
  229. package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
  230. package/dist/wolfTactical-C_F9-oPX.js +350 -0
  231. package/package.json +1 -1
  232. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  233. package/src/adapters/spiffy/commerce/api.ts +17 -8
  234. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  235. package/src/application/config/generalStaticConfig.ts +5 -2
  236. package/src/application/models/api/orgConfigResults.ts +6 -2
  237. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  238. package/src/application/service/cdnService.ts +4 -2
  239. package/src/application/service/index.ts +0 -1
  240. package/src/application/service/pageVariantService.ts +5 -5
  241. package/src/application/service/searchService.ts +9 -2
  242. package/src/application/service/windowChatToggleService.ts +28 -19
  243. package/src/application/service/windowFrontendConfigService.ts +7 -4
  244. package/src/atoms/app/index.ts +26 -17
  245. package/src/atoms/app/variant.ts +1 -0
  246. package/src/atoms/chat/messageQueue.ts +1 -1
  247. package/src/atoms/envive/enviveConfig.ts +81 -0
  248. package/src/atoms/org/graphqlConfig.ts +29 -11
  249. package/src/atoms/org/merchantCss.ts +114 -0
  250. package/src/atoms/org/org.ts +101 -64
  251. package/src/atoms/org/orgPageConfig.ts +9 -6
  252. package/src/atoms/org/orgUIConfig.ts +22 -9
  253. package/src/atoms/search/chatSearch.ts +85 -67
  254. package/src/contexts/chatContext.tsx +4 -1
  255. package/src/contexts/enviveConfigContext.tsx +37 -26
  256. package/src/contexts/enviveCssContext.tsx +20 -0
  257. package/src/contexts/index.ts +2 -0
  258. package/src/contexts/orgConfigContext.tsx +106 -0
  259. package/src/contexts/systemSettingsContext.tsx +22 -9
  260. package/src/contexts/types.ts +12 -9
  261. package/src/hooks/index.ts +1 -0
  262. package/src/hooks/useSearch.tsx +16 -9
  263. package/src/hooks/utils.ts +1 -1
  264. package/src/interceptors/useFormEscalation.ts +26 -9
  265. package/src/types/search-filter-types.ts +7 -7
  266. package/src/types.ts +0 -2
  267. package/dist/api-CxGedDxj.cjs +0 -5057
  268. package/dist/api-NJEaveju.js +0 -4113
  269. package/dist/atomStore-BFtpknLM.js +0 -31
  270. package/dist/atomStore-CeJm9Llb.cjs +0 -57
  271. package/dist/bandolier-C7PAIw02.js +0 -1230
  272. package/dist/bandolier-oMkFDJMF.cjs +0 -1230
  273. package/dist/carpe-C0ccKuR9.cjs +0 -608
  274. package/dist/carpe-DFc78_lJ.js +0 -606
  275. package/dist/cdnService-DvDSpfVJ.js +0 -18
  276. package/dist/cdnService-dJU3sHpF.cjs +0 -23
  277. package/dist/chat-Dk6KPb1K.js +0 -25
  278. package/dist/components-DAQxVIn9.js +0 -10
  279. package/dist/contexts-DO75-Kmx.js +0 -7152
  280. package/dist/contexts-iAzSvZjb.cjs +0 -7331
  281. package/dist/coterie-BGT8hqFR.js +0 -240
  282. package/dist/coterie-Cp9FAJTQ.cjs +0 -240
  283. package/dist/customerService-CUyZzowx.js +0 -22
  284. package/dist/customerService-DqPw_XKf.cjs +0 -35
  285. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  286. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  287. package/dist/default-BAXPatxf.cjs +0 -198
  288. package/dist/default-BR3225LZ.js +0 -4
  289. package/dist/default-DR6YjE9B.cjs +0 -4
  290. package/dist/default-wf_IORgo.js +0 -175
  291. package/dist/divIds-BWvq-i6I.js +0 -22
  292. package/dist/dreamlandBaby-BzuMvUFS.cjs +0 -347
  293. package/dist/dreamlandBaby-DZvM81LQ.js +0 -347
  294. package/dist/embedded-C1jvFj3v.js +0 -22
  295. package/dist/entrypoints-CmmOszXO.js +0 -6
  296. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  297. package/dist/enviveConfigContext-CUGLpPGU.js +0 -34
  298. package/dist/enviveConfigContext-Dfr2VH6u.cjs +0 -48
  299. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  300. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  301. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  302. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  303. package/dist/fiveCbd-DE-tDY3d.cjs +0 -614
  304. package/dist/fiveCbd-HNBPqPtX.js +0 -614
  305. package/dist/forLoveAndLemons-BKmJJ9pq.js +0 -666
  306. package/dist/forLoveAndLemons-BeVEBOiu.cjs +0 -668
  307. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  308. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  309. package/dist/globalSearch-BC0rOX3E.js +0 -13
  310. package/dist/greenpan-BX1viAZB.js +0 -398
  311. package/dist/greenpan-chd3aa5I.cjs +0 -398
  312. package/dist/grooveLife-CHot3rZw.js +0 -343
  313. package/dist/grooveLife-DEob7rK0.cjs +0 -343
  314. package/dist/homegrownCannabis-CoIjcehi.cjs +0 -411
  315. package/dist/homegrownCannabis-CwkS1qDA.js +0 -411
  316. package/dist/index-BdNKc2ix.d.cts +0 -8
  317. package/dist/index-BkhvV8RZ.d.cts +0 -202
  318. package/dist/index-BrXuc_Ck.d.cts +0 -24
  319. package/dist/index-C4zjAR1c.d.cts +0 -227
  320. package/dist/index-CGB6CAmr.d.ts +0 -6
  321. package/dist/index-CIco0cCQ.d.ts +0 -183
  322. package/dist/index-COG1kOZG.d.ts +0 -749
  323. package/dist/index-CVxe7FpL.d.cts +0 -6
  324. package/dist/index-Cn1SeI5y.d.cts +0 -183
  325. package/dist/index-Cqg6ltII.d.ts +0 -38
  326. package/dist/index-CzMrMKx-.d.ts +0 -202
  327. package/dist/index-DE_7Q8qK.d.ts +0 -94
  328. package/dist/index-Da0UzyI9.d.ts +0 -24
  329. package/dist/index-DbWWcYax.d.cts +0 -749
  330. package/dist/index-DtoVXd6O.d.cts +0 -97
  331. package/dist/index-JClBRnSX.d.cts +0 -94
  332. package/dist/index-ghzD_356.d.ts +0 -8
  333. package/dist/index-hdbCEjYy.d.cts +0 -38
  334. package/dist/index-luJrHgPN.d.ts +0 -97
  335. package/dist/index-tfRj22E1.d.ts +0 -227
  336. package/dist/jackArcher-BA-pkB4A.js +0 -728
  337. package/dist/jackArcher-bewC0q1T.cjs +0 -728
  338. package/dist/jordanCraig-B5k9nlAw.cjs +0 -1787
  339. package/dist/jordanCraig-BsQ1mYbt.js +0 -1787
  340. package/dist/kindredBravely-BxYkCpGY.js +0 -491
  341. package/dist/kindredBravely-DsN0fo3s.cjs +0 -491
  342. package/dist/kutFromTheKloth-BQTCu3ct.cjs +0 -370
  343. package/dist/kutFromTheKloth-bukOQM3P.js +0 -370
  344. package/dist/larryAndSerges-D1ecaT5a.js +0 -261
  345. package/dist/larryAndSerges-bj7fgy9b.cjs +0 -261
  346. package/dist/leapsAndRebounds-BfneG_0c.cjs +0 -361
  347. package/dist/leapsAndRebounds-DhNpZETg.js +0 -361
  348. package/dist/locators-C2DX_nX6.js +0 -1
  349. package/dist/locators-CUpyd9Wt.cjs +0 -0
  350. package/dist/longevityrx-CnoGcw0w.js +0 -321
  351. package/dist/longevityrx-D0goIuX0.cjs +0 -321
  352. package/dist/lookOptic-C4afLPZP.cjs +0 -283
  353. package/dist/lookOptic-uJWIKpER.js +0 -283
  354. package/dist/mantraBrand-8JUlYtCE.cjs +0 -751
  355. package/dist/mantraBrand-DuwKHM26.js +0 -751
  356. package/dist/medterra-BQec8rzn.js +0 -584
  357. package/dist/medterra-DH067P-V.cjs +0 -584
  358. package/dist/modells-DAgLE2xo.js +0 -485
  359. package/dist/modells-DUFnLmAz.cjs +0 -485
  360. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  361. package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
  362. package/dist/org-C11APG3v.js +0 -63
  363. package/dist/org-CnHL2I9B.cjs +0 -106
  364. package/dist/pressedFloral-DVZVfOSQ.cjs +0 -662
  365. package/dist/pressedFloral-MdbuoRyA.js +0 -662
  366. package/dist/search-CvHb1M3S.js +0 -542
  367. package/dist/search-bSYdOBhY.cjs +0 -743
  368. package/dist/search-filter-types-BsJjrxk0.d.ts +0 -101
  369. package/dist/search-filter-types-CqaGK3nM.d.cts +0 -101
  370. package/dist/skinPerfection-BcEWICQN.cjs +0 -335
  371. package/dist/skinPerfection-bGiYxq1i.js +0 -335
  372. package/dist/snapSupplements-BXSXTjqF.cjs +0 -286
  373. package/dist/snapSupplements-D7hHhdC9.js +0 -286
  374. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  375. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  376. package/dist/spanx-5-0yX3iK.js +0 -662
  377. package/dist/spanx-lUzP6Lva.cjs +0 -664
  378. package/dist/spanxStaging-HglCMJag.js +0 -846
  379. package/dist/spanxStaging-hreMR0MS.cjs +0 -849
  380. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  381. package/dist/supergoop-C9DDT3lY.js +0 -335
  382. package/dist/supergoop-CkjtuRck.cjs +0 -337
  383. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  384. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  385. package/dist/types-BE4faOO_.d.cts +0 -32
  386. package/dist/types-BUjohkXp.cjs +0 -230
  387. package/dist/types-BVsTRyxL.js +0 -176
  388. package/dist/types-TD8g7LnH.d.ts +0 -32
  389. package/dist/uniqueVintage-DIMGtYAU.cjs +0 -1214
  390. package/dist/uniqueVintage-DPWA5Ed6.js +0 -1212
  391. package/dist/useMessageInterceptor-B-P_rw73.cjs +0 -72
  392. package/dist/useMessageInterceptor-C2RZM-fo.js +0 -57
  393. package/dist/variant-BGjOVpY3.d.cts +0 -12
  394. package/dist/variant-XITncuI3.d.ts +0 -12
  395. package/dist/venaCbd-B-znfAsl.js +0 -366
  396. package/dist/venaCbd-BOwOtpOz.cjs +0 -366
  397. package/dist/westonJonBoucher-CraTzRVt.cjs +0 -423
  398. package/dist/westonJonBoucher-DCRagGu3.js +0 -423
  399. package/dist/wineEnthusiast-Bv7umajk.js +0 -941
  400. package/dist/wineEnthusiast-sVuATrq6.cjs +0 -941
  401. package/dist/wolfMattress-BUH-Rhov.js +0 -373
  402. package/dist/wolfMattress-DpVHIEnJ.cjs +0 -373
  403. package/dist/wolfTactical-BcvF_sy-.cjs +0 -350
  404. package/dist/wolfTactical-Q14A1fpw.js +0 -350
  405. package/src/application/service/environmentService.ts +0 -51
  406. package/src/extension.ts +0 -63
  407. package/src/initialize.ts +0 -163
  408. package/src/main.tsx +0 -108
  409. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  410. /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
  411. /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +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]};