@envive-ai/react-hooks 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/amplitude/index.cjs +13 -13
- package/dist/adapters/amplitude/index.d.cts +5 -3
- package/dist/adapters/amplitude/index.d.ts +5 -3
- package/dist/adapters/amplitude/index.js +10 -10
- package/dist/api-B2euFL-5.cjs +269 -0
- package/dist/api-XRr_lAG6.js +190 -0
- package/dist/application/config/index.cjs +14 -5
- package/dist/application/config/index.d.cts +2 -1
- package/dist/application/config/index.d.ts +2 -1
- package/dist/application/config/index.js +14 -5
- package/dist/application/models/graphql/index.cjs +12 -12
- package/dist/application/models/graphql/index.d.cts +1 -1
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/graphql/index.js +10 -10
- package/dist/application/models/guards/api/index.cjs +2 -2
- package/dist/application/models/guards/api/index.d.cts +2 -2
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/api/index.js +2 -2
- package/dist/application/models/index.cjs +54 -54
- package/dist/application/models/index.d.cts +8 -9
- package/dist/application/models/index.d.ts +8 -9
- package/dist/application/models/index.js +10 -10
- package/dist/application/models/utilityTypes/index.cjs +1 -1
- package/dist/application/models/utilityTypes/index.d.cts +1 -1
- package/dist/application/models/utilityTypes/index.d.ts +1 -1
- package/dist/application/models/utilityTypes/index.js +1 -1
- package/dist/application/models/variantInfo/index.cjs +1 -1
- package/dist/application/models/variantInfo/index.d.cts +1 -1
- package/dist/application/models/variantInfo/index.d.ts +1 -1
- package/dist/application/models/variantInfo/index.js +1 -1
- package/dist/application/service/customerService/index.cjs +2 -2
- package/dist/application/service/customerService/index.d.cts +2 -2
- package/dist/application/service/customerService/index.d.ts +2 -2
- package/dist/application/service/customerService/index.js +2 -2
- package/dist/application/service/index.cjs +38 -757
- package/dist/application/service/index.d.cts +26 -20
- package/dist/application/service/index.d.ts +26 -20
- package/dist/application/service/index.js +12 -727
- package/dist/application/utils/index.cjs +37 -37
- package/dist/application/utils/index.d.cts +12 -12
- package/dist/application/utils/index.d.ts +14 -14
- package/dist/application/utils/index.js +10 -10
- package/dist/atomStore-B1cgmbP0.js +32 -0
- package/dist/atomStore-JwGb7pcy.cjs +58 -0
- package/dist/atomStore-ONYy0XuA.d.cts +24 -0
- package/dist/atomStore-kOKiEcNl.d.ts +24 -0
- package/dist/atoms/app/index.cjs +16 -16
- package/dist/atoms/app/index.d.cts +11 -11
- package/dist/atoms/app/index.d.ts +12 -12
- package/dist/atoms/app/index.js +10 -10
- package/dist/atoms/atomStore/index.cjs +1 -2
- package/dist/atoms/atomStore/index.d.cts +1 -22
- package/dist/atoms/atomStore/index.d.ts +1 -22
- package/dist/atoms/atomStore/index.js +1 -2
- package/dist/atoms/chat/index.cjs +40 -40
- package/dist/atoms/chat/index.d.cts +37 -37
- package/dist/atoms/chat/index.d.ts +38 -38
- package/dist/atoms/chat/index.js +10 -10
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +7 -6
- package/dist/atoms/globalSearch/index.d.ts +2 -1
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +38 -40
- package/dist/atoms/org/index.d.cts +35 -53
- package/dist/atoms/org/index.d.ts +34 -52
- package/dist/atoms/org/index.js +11 -12
- package/dist/atoms/search/index.cjs +41 -43
- package/dist/atoms/search/index.d.cts +9 -10
- package/dist/atoms/search/index.d.ts +9 -10
- package/dist/atoms/search/index.js +10 -12
- package/dist/bandolier-Da4wt6sm.cjs +1230 -0
- package/dist/bandolier-DzEmYWcz.js +1230 -0
- package/dist/carpe-AXipz0Xl.cjs +608 -0
- package/dist/carpe-CaUKwcEa.js +606 -0
- package/dist/chat-CHmD79E1.js +26 -0
- package/dist/{chat-CCgyDehy.cjs → chat-_NzpO_Hn.cjs} +2 -1
- package/dist/{components-CScS7Ii-.cjs → components-D0XDRcaN.cjs} +2 -1
- package/dist/components-Dl-TMD9k.js +11 -0
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/chat/index.js +1 -1
- package/dist/config/locators/components/chat/variants/index.cjs +2 -1
- package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
- package/dist/config/locators/components/chat/variants/index.js +2 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/components/index.js +1 -1
- package/dist/config/locators/components/search/index.cjs +2 -1
- package/dist/config/locators/components/search/index.d.cts +2 -1
- package/dist/config/locators/components/search/index.d.ts +2 -1
- package/dist/config/locators/components/search/index.js +2 -1
- package/dist/config/locators/index.cjs +4 -4
- package/dist/config/locators/index.d.cts +2 -1
- package/dist/config/locators/index.d.ts +4 -3
- package/dist/config/locators/index.js +4 -4
- package/dist/contexts/index.cjs +20 -23
- package/dist/contexts/index.d.cts +10 -59
- package/dist/contexts/index.d.ts +10 -59
- package/dist/contexts/index.js +11 -17
- package/dist/contexts-CtRlNXaS.js +7674 -0
- package/dist/contexts-CtgmnYNn.cjs +9088 -0
- package/dist/coterie--MGvWeVh.cjs +240 -0
- package/dist/coterie-oKHAT0lx.js +240 -0
- package/dist/customerService-BG1uNZZ1.cjs +36 -0
- package/dist/customerService-BHQRnLhC.js +23 -0
- package/dist/custservice-types-C8-9vKWb.cjs +35 -0
- package/dist/custservice-types-CamCiXjq.js +23 -0
- package/dist/default-B4fINY5_.cjs +4 -0
- package/dist/default-BrTQxA0c.js +4 -0
- package/dist/default-C3LrcbZB.cjs +199 -0
- package/dist/default-CXkYrLEr.js +176 -0
- package/dist/divIds-0Vj9g-fM.js +23 -0
- package/dist/{divIds-CFyAjjp3.cjs → divIds-CjceLRD9.cjs} +2 -1
- package/dist/dreamlandBaby-BEqt0eKF.js +347 -0
- package/dist/dreamlandBaby-DBDjEJCc.cjs +347 -0
- package/dist/{embedded-BlXJUbik.cjs → embedded-B5Wi9g0T.cjs} +2 -1
- package/dist/embedded-_cLpd6FK.js +23 -0
- package/dist/entrypoints-CNUvSgnk.js +7 -0
- package/dist/entrypoints-DM9Sm18O.cjs +19 -0
- package/dist/events/index.cjs +1 -1
- package/dist/events/index.d.cts +2 -1
- package/dist/events/index.d.ts +2 -1
- package/dist/events/index.js +1 -1
- package/dist/events-ClCDFK7t.js +78 -0
- package/dist/events-Da7gpmGv.cjs +90 -0
- package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
- package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
- package/dist/fiveCbd-CdqNt16h.cjs +614 -0
- package/dist/fiveCbd-D6B-sgnX.js +614 -0
- package/dist/forLoveAndLemons-C7GsJG7f.cjs +668 -0
- package/dist/forLoveAndLemons-gNDlMtPR.js +666 -0
- package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
- package/dist/globalSearch-b0wC7ZEO.js +14 -0
- package/dist/greenpan-B5AaW4M_.js +398 -0
- package/dist/greenpan-DrORpYms.cjs +398 -0
- package/dist/grooveLife-BJqsfH2H.cjs +343 -0
- package/dist/grooveLife-xIUmDM8s.js +343 -0
- package/dist/homegrownCannabis-8TZ21u6L.cjs +411 -0
- package/dist/homegrownCannabis-BtMuEvbZ.js +411 -0
- package/dist/hooks/index.cjs +36 -38
- package/dist/hooks/index.d.cts +36 -82
- package/dist/hooks/index.d.ts +38 -84
- package/dist/hooks/index.js +11 -17
- package/dist/index-BTK5uzs6.d.cts +98 -0
- package/dist/index-BdNKc2ix.d.cts +2 -1
- package/dist/index-BrXuc_Ck.d.cts +2 -1
- package/dist/index-BzgkfbNO.d.cts +228 -0
- package/dist/index-CKKkTsms.d.ts +39 -0
- package/dist/index-CKUpnyJQ.d.ts +72 -0
- package/dist/index-CSIOQD-A.d.ts +25 -0
- package/dist/index-CbJZOEU4.d.ts +203 -0
- package/dist/index-ClJ0nMsR.d.cts +184 -0
- package/dist/index-Cr2y08f1.d.ts +9 -0
- package/dist/index-Cx9e-fRi.d.ts +184 -0
- package/dist/index-D2VaMPA3.d.ts +98 -0
- package/dist/index-D46Rd0io.d.cts +39 -0
- package/dist/index-DFL1dIT_.d.ts +7 -0
- package/dist/index-DXpgMVpp.d.ts +749 -0
- package/dist/index-Dxpscrvz.d.ts +228 -0
- package/dist/index-K2kNsOTw.d.cts +203 -0
- package/dist/index-MFbPQ8Ji.d.ts +95 -0
- package/dist/index-VHFMGkO-.d.cts +72 -0
- package/dist/index-VSFakgAI.d.cts +95 -0
- package/dist/index-aNW5V9fh.d.cts +749 -0
- package/dist/index-zZjcds15.d.cts +7 -0
- package/dist/interceptors/index.cjs +12 -13
- package/dist/interceptors/index.d.cts +10 -10
- package/dist/interceptors/index.d.ts +10 -10
- package/dist/interceptors/index.js +10 -11
- package/dist/jackArcher-WtkbLBZj.cjs +728 -0
- package/dist/jackArcher-sO9EbgrZ.js +728 -0
- package/dist/jordanCraig-471FcgqF.cjs +1787 -0
- package/dist/jordanCraig-DNOncplU.js +1787 -0
- package/dist/kindredBravely-BlLyHGMX.cjs +491 -0
- package/dist/kindredBravely-cqZ4OvXp.js +491 -0
- package/dist/kutFromTheKloth-3mOIryvt.cjs +370 -0
- package/dist/kutFromTheKloth-DtVNCMKa.js +370 -0
- package/dist/larryAndSerges-88Bvq-Us.cjs +262 -0
- package/dist/larryAndSerges-cvak6May.js +262 -0
- package/dist/leapsAndRebounds-Dmf8eUPq.js +361 -0
- package/dist/leapsAndRebounds-iWKc923H.cjs +361 -0
- package/dist/logger-Dln20ans.cjs +26 -0
- package/dist/logger-pdEEY8T2.js +20 -0
- package/dist/longevityrx-BTMI9vn-.js +321 -0
- package/dist/longevityrx-CobPyigd.cjs +321 -0
- package/dist/lookOptic-C4H_c0JZ.cjs +283 -0
- package/dist/lookOptic-Jwf7EAU8.js +283 -0
- package/dist/mantraBrand-CySGqbn6.cjs +751 -0
- package/dist/mantraBrand-DoaVj837.js +751 -0
- package/dist/medterra-BnZ5p27n.cjs +584 -0
- package/dist/medterra-DaICcPPp.js +584 -0
- package/dist/modells-CZ1L6dD_.js +485 -0
- package/dist/modells-DF0SndHr.cjs +485 -0
- package/dist/nodeSelector-DybpVr-i.d.ts +31 -0
- package/dist/nodeSelector-vKB44CDB.d.cts +2 -1
- package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
- package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
- package/dist/pressedFloral-B3t2cYzs.cjs +662 -0
- package/dist/pressedFloral-Dsws2Kfb.js +662 -0
- package/dist/search-filter-types-9rTb3jMj.d.cts +102 -0
- package/dist/search-filter-types-C-zZSpGo.d.ts +102 -0
- package/dist/skinPerfection-CILQM2bR.cjs +335 -0
- package/dist/skinPerfection-DmQCntRf.js +335 -0
- package/dist/snapSupplements--X_v0KRM.js +286 -0
- package/dist/snapSupplements-Djuzl0Ed.cjs +286 -0
- package/dist/socialProofClasses-DdzG1tZy.js +10 -0
- package/dist/socialProofClasses-ky69yppk.cjs +40 -0
- package/dist/spanx-Bo81yXSF.cjs +664 -0
- package/dist/spanx-DauxB8KE.js +662 -0
- package/dist/spanxStaging-BucYQvR1.cjs +849 -0
- package/dist/spanxStaging-CfXUukdP.js +846 -0
- package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-B3lwrENK.cjs} +2 -1
- package/dist/suggestionBarV2-types-Penx3Y67.js +10 -0
- package/dist/supergoop-8qa_NV3F.cjs +338 -0
- package/dist/supergoop-DOaui-A6.js +336 -0
- package/dist/test-types-CXVJxTeu.d.ts +40 -0
- package/dist/test-types-CuOq25VT.d.cts +40 -0
- package/dist/types/index.cjs +2 -2
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +2 -2
- package/dist/types-CD4LFta-.d.cts +33 -0
- package/dist/types-CGC6Oozp.cjs +231 -0
- package/dist/types-CnTCkyvK.js +177 -0
- package/dist/types-DBdI0j89.d.ts +33 -0
- package/dist/uniqueVintage-BWkDgt1z.js +1212 -0
- package/dist/uniqueVintage-DAne8XcL.cjs +1214 -0
- package/dist/variant-CC1nrywd.d.ts +13 -0
- package/dist/variant-CQTuQQSq.d.cts +13 -0
- package/dist/venaCbd-B1HO_Pkr.cjs +366 -0
- package/dist/venaCbd-CnByO-5R.js +366 -0
- package/dist/westonJonBoucher-BAGXegsX.js +423 -0
- package/dist/westonJonBoucher-BRfHWMbs.cjs +423 -0
- package/dist/wineEnthusiast-DW8JVwV8.cjs +941 -0
- package/dist/wineEnthusiast-EJbhMeKQ.js +941 -0
- package/dist/wolfMattress-B6INZNRJ.cjs +373 -0
- package/dist/wolfMattress-D9P7ErH_.js +373 -0
- package/dist/wolfTactical-C5Pupi3J.js +350 -0
- package/dist/wolfTactical-TMthZM93.cjs +350 -0
- package/package.json +2 -1
- package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
- package/src/adapters/spiffy/commerce/api.ts +17 -8
- package/src/adapters/spiffy/commerce/graphql.ts +16 -5
- package/src/application/config/generalStaticConfig.ts +5 -2
- package/src/application/models/api/orgConfigResults.ts +6 -2
- package/src/application/models/supportedOrgs.ts +1 -1
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
- package/src/application/service/cdnService.ts +4 -2
- package/src/application/service/graphqlConfigService.ts +59 -0
- package/src/application/service/index.ts +1 -1
- package/src/application/service/pageVariantService.ts +5 -5
- package/src/application/service/searchService.ts +9 -2
- package/src/application/service/windowChatToggleService.ts +28 -19
- package/src/application/service/windowFrontendConfigService.ts +7 -4
- package/src/atoms/app/index.ts +26 -17
- package/src/atoms/app/variant.ts +1 -0
- package/src/atoms/chat/messageQueue.ts +1 -1
- package/src/atoms/envive/enviveConfig.ts +81 -0
- package/src/atoms/org/graphqlConfig.ts +40 -11
- package/src/atoms/org/index.ts +7 -7
- package/src/atoms/org/merchantCss.ts +119 -2
- package/src/atoms/org/org.ts +67 -70
- package/src/atoms/org/orgPageConfig.ts +9 -6
- package/src/atoms/org/orgUIConfig.ts +22 -9
- package/src/atoms/search/chatSearch.ts +85 -67
- package/src/atoms/search/searchAPI.ts +52 -42
- package/src/contexts/chatContext.tsx +4 -1
- package/src/contexts/enviveConfigContext.tsx +37 -26
- package/src/contexts/enviveCssContext.tsx +20 -0
- package/src/contexts/index.ts +2 -0
- package/src/contexts/orgConfigContext.tsx +106 -0
- package/src/contexts/systemSettingsContext.tsx +2 -2
- package/src/contexts/types.ts +12 -9
- package/src/hooks/index.ts +2 -3
- package/src/hooks/useDynamicVariants.ts +48 -32
- package/src/hooks/useFileUpload.ts +1 -1
- package/src/hooks/useHideElements.ts +21 -18
- package/src/hooks/useImageResolver.ts +16 -8
- package/src/hooks/useNewOrgConfig.ts +80 -0
- package/src/hooks/useSearch.tsx +10 -6
- package/src/hooks/utils.ts +1 -1
- package/src/interceptors/useFormEscalation.ts +26 -9
- package/src/types.ts +0 -2
- package/dist/api-BtzLHcfU.cjs +0 -268
- package/dist/api-kpPTZhV9.js +0 -189
- package/dist/atomStore-BNQyGmU_.cjs +0 -57
- package/dist/atomStore-TnLPtYns.js +0 -31
- package/dist/bandolier-CQrxBHsk.cjs +0 -1230
- package/dist/bandolier-Di9DpZ8e.js +0 -1230
- package/dist/carpe-3NJOR-Rj.cjs +0 -608
- package/dist/carpe-DmWKaIQq.js +0 -606
- package/dist/cdnService-BNreZjqy.js +0 -18
- package/dist/cdnService-vLxePdrU.cjs +0 -23
- package/dist/chat-CCQMmhc1.cjs +0 -5057
- package/dist/chat-Dk6KPb1K.js +0 -25
- package/dist/chat-H6YcCS4I.js +0 -4113
- package/dist/components-DAQxVIn9.js +0 -10
- package/dist/coterie-D0UFsFC5.cjs +0 -240
- package/dist/coterie-JblRmIZL.js +0 -240
- package/dist/customerService-C4wc0glQ.js +0 -22
- package/dist/customerService-zsDlp7g2.cjs +0 -35
- package/dist/custservice-types-D8Npo-5Z.js +0 -22
- package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
- package/dist/default-C5ZTV8HA.cjs +0 -4
- package/dist/default-DPv8m-eQ.js +0 -175
- package/dist/default-DRKBosow.cjs +0 -198
- package/dist/default-ao0vRl0W.js +0 -4
- package/dist/divIds-BWvq-i6I.js +0 -22
- package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
- package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
- package/dist/embedded-C1jvFj3v.js +0 -22
- package/dist/entrypoints-CmmOszXO.js +0 -6
- package/dist/entrypoints-fowCLUT2.cjs +0 -18
- package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
- package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
- package/dist/events-DgFzlVJR.js +0 -77
- package/dist/events-bH-24eRW.cjs +0 -89
- package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
- package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
- package/dist/featureGates-BMWXU0dS.d.ts +0 -90
- package/dist/featureGates-N_gyHCTn.d.cts +0 -90
- package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
- package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
- package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
- package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
- package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
- package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
- package/dist/globalSearch-BC0rOX3E.js +0 -13
- package/dist/greenpan-JM6SHcqO.js +0 -398
- package/dist/greenpan-eIzyxVsn.cjs +0 -398
- package/dist/grooveLife-BmsUc2cD.js +0 -343
- package/dist/grooveLife-KdTizVUn.cjs +0 -343
- package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
- package/dist/homegrownCannabis-a9udocBT.js +0 -411
- package/dist/hooks-DjOa7ihH.cjs +0 -7331
- package/dist/hooks-fneW8SWw.js +0 -7152
- package/dist/index-BQErGgfM.d.cts +0 -202
- package/dist/index-C4zjAR1c.d.cts +0 -227
- package/dist/index-CGB6CAmr.d.ts +0 -6
- package/dist/index-CIco0cCQ.d.ts +0 -183
- package/dist/index-COG1kOZG.d.ts +0 -749
- package/dist/index-CVxe7FpL.d.cts +0 -6
- package/dist/index-Cn1SeI5y.d.cts +0 -183
- package/dist/index-CnqHN_jz.d.ts +0 -202
- package/dist/index-Cqg6ltII.d.ts +0 -38
- package/dist/index-DE_7Q8qK.d.ts +0 -94
- package/dist/index-Da0UzyI9.d.ts +0 -24
- package/dist/index-DbWWcYax.d.cts +0 -749
- package/dist/index-DtoVXd6O.d.cts +0 -97
- package/dist/index-JClBRnSX.d.cts +0 -94
- package/dist/index-ghzD_356.d.ts +0 -8
- package/dist/index-hdbCEjYy.d.cts +0 -38
- package/dist/index-luJrHgPN.d.ts +0 -97
- package/dist/index-tfRj22E1.d.ts +0 -227
- package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
- package/dist/jackArcher-B9fe4Hv8.js +0 -728
- package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
- package/dist/jordanCraig-DNm1iw1L.js +0 -1787
- package/dist/kindredBravely-CZgt7DJA.js +0 -491
- package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
- package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
- package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
- package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
- package/dist/larryAndSerges-DO-zG8ES.js +0 -261
- package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
- package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
- package/dist/logger-Be0NyKaY.cjs +0 -25
- package/dist/logger-BexDfK3W.js +0 -19
- package/dist/longevityrx-DjKbwJo3.cjs +0 -321
- package/dist/longevityrx-eq5TeUcy.js +0 -321
- package/dist/lookOptic-BPPqms_j.cjs +0 -283
- package/dist/lookOptic-jRpBXQCN.js +0 -283
- package/dist/mantraBrand-BZOZfkUK.js +0 -751
- package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
- package/dist/medterra-BHYCBgvQ.cjs +0 -584
- package/dist/medterra-CShe6CLY.js +0 -584
- package/dist/modells-DE7-gmjK.cjs +0 -485
- package/dist/modells-DFyJxNwT.js +0 -485
- package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
- package/dist/org-Bkn6fl6I.cjs +0 -106
- package/dist/org-CX8HFbc9.js +0 -63
- package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
- package/dist/pressedFloral-aK9br-LF.js +0 -662
- package/dist/search-DtIFZeMA.cjs +0 -743
- package/dist/search-eWwg8pNn.js +0 -542
- package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
- package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
- package/dist/skinPerfection-B9G6yLM2.js +0 -335
- package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
- package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
- package/dist/snapSupplements-DKvJl__T.js +0 -286
- package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
- package/dist/socialProofClasses-CkJufEGb.js +0 -9
- package/dist/spanx-D-ZKkxjM.cjs +0 -664
- package/dist/spanx-yl7YfVrf.js +0 -662
- package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
- package/dist/spanxStaging-DzGXL9wD.js +0 -846
- package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
- package/dist/supergoop-CSpDPOpl.cjs +0 -337
- package/dist/supergoop-D0UkuRiA.js +0 -335
- package/dist/test-types-C9b_OdfO.d.ts +0 -39
- package/dist/test-types-CpKCxk8U.d.cts +0 -39
- package/dist/types-BE4faOO_.d.cts +0 -32
- package/dist/types-C3S1H4hl.js +0 -176
- package/dist/types-TD8g7LnH.d.ts +0 -32
- package/dist/types-lcjuhDBt.cjs +0 -230
- package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
- package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
- package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
- package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
- package/dist/variant-DH4zusMi.d.cts +0 -12
- package/dist/variant-DTEqSBHd.d.ts +0 -12
- package/dist/variantInfo-BTvC6CQh.js +0 -1
- package/dist/variantInfo-Cz2YXraO.cjs +0 -0
- package/dist/venaCbd-BS0dvdBm.js +0 -366
- package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
- package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
- package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
- package/dist/wineEnthusiast-M9P18d1w.js +0 -941
- package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
- package/dist/wolfMattress-BQHjoQYu.js +0 -373
- package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
- package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
- package/dist/wolfTactical-dObnPgAG.cjs +0 -350
- package/src/application/service/environmentService.ts +0 -51
- package/src/extension.ts +0 -63
- package/src/hooks/useHorizontalScrollAnimation.ts +0 -115
- package/src/hooks/useReducedMotionWithOverride.ts +0 -15
- package/src/hooks/useSnapControl.ts +0 -155
- package/src/initialize.ts +0 -163
- package/src/main.tsx +0 -108
- package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
- /package/dist/{atomStore-B3tsg6mF.cjs → locators-CugndTUM.cjs} +0 -0
- /package/dist/{atomStore-FSZd_20F.js → locators-DnKpajbY.js} +0 -0
- /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
- /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
- /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
- /package/dist/{utilityTypes-UWdNHElu.js → variantInfo-CzhR5W6h.js} +0 -0
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
import { ColorMapping, ColorNames } from
|
|
2
|
-
import { isGraphQLColorsConfig } from
|
|
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 = (
|
|
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]:
|
|
11
|
-
[ColorNames.TextSecondary]:
|
|
12
|
-
[ColorNames.TextAccent]:
|
|
13
|
-
[ColorNames.TextLink]:
|
|
14
|
-
[ColorNames.TextLight]:
|
|
15
|
-
[ColorNames.BackgroundPrimary]:
|
|
16
|
-
[ColorNames.BackgroundSecondary]:
|
|
17
|
-
[ColorNames.BackgroundSecondaryDark]:
|
|
18
|
-
[ColorNames.BackgroundTertiary]:
|
|
19
|
-
[ColorNames.BackgroundDark]:
|
|
20
|
-
[ColorNames.
|
|
21
|
-
[ColorNames.
|
|
22
|
-
[ColorNames.
|
|
23
|
-
[ColorNames.
|
|
24
|
-
[ColorNames.
|
|
25
|
-
[ColorNames.
|
|
26
|
-
[ColorNames.
|
|
27
|
-
[ColorNames.
|
|
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 {
|
|
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
|
|
6
|
+
const atomStore = getAtomStore();
|
|
7
|
+
const cdnUrl = atomStore.get(cdnUrlAtom);
|
|
6
8
|
return cdnUrl || "https://cdn.spiffy.ai/other";
|
|
7
9
|
}
|
|
8
10
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import Logger from "src/application/logging/logger";
|
|
2
|
+
import { GraphQLClient } from "src/adapters/spiffy/commerce/graphql";
|
|
3
|
+
import { AtomStore } from "src/atoms/atomStore/atomStore";
|
|
4
|
+
import {
|
|
5
|
+
internalGraphQLColorsConfigAtom,
|
|
6
|
+
frontendConfigAtom,
|
|
7
|
+
} from "src/atoms/org/graphqlConfig";
|
|
8
|
+
import { getOrgUIConfig } from "src/atoms/org/orgUIConfig";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Service for handling GraphQL configuration fetching and management
|
|
12
|
+
* This service is separated to avoid circular dependencies between atoms
|
|
13
|
+
*/
|
|
14
|
+
export class GraphQLConfigService {
|
|
15
|
+
/**
|
|
16
|
+
* Fetches GraphQL configuration and updates the relevant atoms
|
|
17
|
+
* @param atomStore - The atom store instance to use for setting values
|
|
18
|
+
*/
|
|
19
|
+
static async fetchAndSetGraphQLConfig(atomStore: AtomStore): Promise<void> {
|
|
20
|
+
try {
|
|
21
|
+
Logger.logDebug("GraphQLConfigService: Starting GraphQL client fetch");
|
|
22
|
+
|
|
23
|
+
const { colorsConfig, frontendConfig } =
|
|
24
|
+
(await GraphQLClient.getColorsAndFrontendConfig()) ?? {};
|
|
25
|
+
|
|
26
|
+
Logger.logDebug("GraphQLConfigService: GraphQL fetch completed", {
|
|
27
|
+
hasColorsConfig: !!colorsConfig,
|
|
28
|
+
hasFrontendConfig: !!frontendConfig,
|
|
29
|
+
frontendConfigKeys: frontendConfig ? Object.keys(frontendConfig) : [],
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// Get the current frontend config from the atom store
|
|
33
|
+
const rawFrontendConfig = atomStore.get(frontendConfigAtom);
|
|
34
|
+
|
|
35
|
+
// Update the atoms with the fetched data
|
|
36
|
+
atomStore.set(internalGraphQLColorsConfigAtom, colorsConfig);
|
|
37
|
+
|
|
38
|
+
atomStore.set(frontendConfigAtom, {
|
|
39
|
+
...rawFrontendConfig,
|
|
40
|
+
pageVariants: frontendConfig?.pageVariants,
|
|
41
|
+
mountingConfigs: frontendConfig?.mountingConfigs,
|
|
42
|
+
widgetConfigs: frontendConfig?.widgetConfigs,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
Logger.logDebug("GraphQLConfigService: Starting UI config fetch");
|
|
46
|
+
await getOrgUIConfig(
|
|
47
|
+
frontendConfig?.uiConfigs,
|
|
48
|
+
frontendConfig?.merchantOverrideCss
|
|
49
|
+
);
|
|
50
|
+
Logger.logDebug("GraphQLConfigService: UI config fetch completed");
|
|
51
|
+
} catch (error) {
|
|
52
|
+
Logger.logError(
|
|
53
|
+
"GraphQLConfigService: Error during GraphQL config fetch",
|
|
54
|
+
error
|
|
55
|
+
);
|
|
56
|
+
throw error; // Re-throw to be caught by the caller
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
export * from "./cachingService";
|
|
3
3
|
export * from "./cdnService";
|
|
4
4
|
export * from "./domMutationObserver";
|
|
5
|
-
export * from "./environmentService";
|
|
6
5
|
export * from "./featureFlagService";
|
|
6
|
+
export * from "./graphqlConfigService";
|
|
7
7
|
export * from "./kustomerIntegrationService";
|
|
8
8
|
export * from "./localStorageService";
|
|
9
9
|
export * from "./pageVariantService";
|
|
@@ -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
|
|
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
|
-
|
|
658
|
-
|
|
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 {
|
|
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
|
|
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
|
|
2
|
-
import { useEffect, useRef } from
|
|
3
|
-
import { Message, MessageRole, MessageType } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
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 =
|
|
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) =>
|
|
28
|
-
|
|
29
|
-
|
|
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
|
|
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) =>
|
|
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 = (
|
|
61
|
-
|
|
67
|
+
window[identifyingPrefix].openChatWithPrompt = (
|
|
68
|
+
prompt: string,
|
|
69
|
+
triggerId?: string
|
|
70
|
+
) => openChatWithPromptRef.current?.(prompt, triggerId);
|
|
62
71
|
|
|
63
|
-
Logger.logDebug(
|
|
72
|
+
Logger.logDebug("[spiffy-ai] Chat toggle functions attached");
|
|
64
73
|
hasAttachedEnviveChatToggle = true;
|
|
65
74
|
} catch (e) {
|
|
66
|
-
Logger.logError(
|
|
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
|
|
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
|
-
|
|
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
|
package/src/atoms/app/index.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
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
|
|
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(
|
|
43
|
+
(get): ContextSourceEnum => get(contextSourceAtom) ?? ContextSourceEnum.App
|
|
40
44
|
);
|
|
41
45
|
export const envAtom = atom<ContextEnvEnum>(ContextEnvEnum.Dev);
|
|
42
|
-
export const chatIdAtom = atomWithStorage<string>(
|
|
43
|
-
|
|
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) ??
|
|
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
|
);
|
package/src/atoms/app/variant.ts
CHANGED
|
@@ -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
|
|
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,56 @@
|
|
|
1
|
-
import { atom } from
|
|
2
|
-
import { ColorMapping } from
|
|
3
|
-
import { FrontendConfig } from
|
|
4
|
-
import { getOrgInfo } from
|
|
5
|
-
import { orgShortNameAtom } from
|
|
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>(
|
|
8
|
-
|
|
7
|
+
export 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
|
|
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
|
-
|
|
23
|
+
|
|
24
|
+
// If we have GraphQL colors, merge them with org colors (GraphQL takes priority)
|
|
25
|
+
if (
|
|
26
|
+
colors &&
|
|
27
|
+
orgUIConfigColors &&
|
|
28
|
+
Object.keys(orgUIConfigColors).length > 0
|
|
29
|
+
) {
|
|
30
|
+
return { ...orgUIConfigColors, ...colors } as ColorMapping;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// If we have GraphQL colors but no org colors, return GraphQL colors
|
|
34
|
+
if (colors) {
|
|
35
|
+
return colors;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// If we have org colors but no GraphQL colors, return org colors
|
|
39
|
+
if (orgUIConfigColors && Object.keys(orgUIConfigColors).length > 0) {
|
|
40
|
+
return orgUIConfigColors as ColorMapping;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Fallback to undefined if neither are available
|
|
44
|
+
return undefined;
|
|
16
45
|
},
|
|
17
46
|
(_, set, value: ColorMapping | undefined) => {
|
|
18
47
|
set(internalGraphQLColorsConfigAtom, value);
|
|
19
|
-
}
|
|
48
|
+
}
|
|
20
49
|
);
|
|
21
50
|
|
|
22
51
|
export const frontendConfigAtom = atom(
|
|
23
52
|
(get) => get(internalGraphQLFrontendConfigAtom),
|
|
24
53
|
(_, set, value: FrontendConfig | undefined) => {
|
|
25
54
|
set(internalGraphQLFrontendConfigAtom, value);
|
|
26
|
-
}
|
|
55
|
+
}
|
|
27
56
|
);
|
package/src/atoms/org/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
1
|
+
export * from "./customerService";
|
|
2
|
+
export * from "./graphqlConfig";
|
|
3
|
+
export * from "./merchantCss";
|
|
4
|
+
export * from "./org";
|
|
5
|
+
export * from "./orgAnalyticsConfig";
|
|
6
|
+
export * from "./orgPageConfig";
|
|
7
|
+
export * from "./orgUIConfig";
|