@envive-ai/react-hooks 0.1.5 → 0.1.7
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/NewOrgConfig-C5YL4Y62.cjs +20 -0
- package/dist/NewOrgConfig-CRyIfb_l.js +15 -0
- package/dist/SystemSettingsContext-Cb9YHln8.cjs +20 -0
- package/dist/SystemSettingsContext-D3mmGGcv.js +13 -0
- package/dist/TrackComponentVisibleEvent-C7c_rHFW.cjs +59 -0
- package/dist/TrackComponentVisibleEvent-DXTEBjGM.js +52 -0
- package/dist/amplitudeContext-CB_F-nJY.d.cts +52 -0
- package/dist/amplitudeContext-Cak6ijMq.js +287 -0
- package/dist/amplitudeContext-DFYBDc0h.d.ts +52 -0
- package/dist/amplitudeContext-sTEsPaVG.cjs +309 -0
- package/dist/api-DSFlctlc.cjs +269 -0
- package/dist/api-JTNjuOfc.js +190 -0
- package/dist/app-D_upYeqF.js +132 -0
- package/dist/app-KXTMPa4s.cjs +178 -0
- package/dist/application/models/graphql/index.cjs +4 -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 +2 -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 +52 -56
- package/dist/application/models/index.d.cts +10 -8
- package/dist/application/models/index.d.ts +11 -9
- package/dist/application/models/index.js +10 -11
- 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.ts +1 -1
- package/dist/application/models/variantInfo/index.js +1 -1
- package/dist/application/utils/index.cjs +46 -37
- package/dist/application/utils/index.d.cts +21 -13
- package/dist/application/utils/index.d.ts +21 -13
- package/dist/application/utils/index.js +19 -10
- package/dist/{atomStore-JwGb7pcy.cjs → atomStore-DEZyFCNz.cjs} +1 -1
- package/dist/{atomStore-B1cgmbP0.js → atomStore-DnPEioF4.js} +1 -1
- package/dist/atoms/app/index.cjs +18 -16
- package/dist/atoms/app/index.d.cts +23 -18
- package/dist/atoms/app/index.d.ts +24 -19
- package/dist/atoms/app/index.js +14 -11
- package/dist/atoms/atomStore/index.cjs +2 -1
- package/dist/atoms/atomStore/index.d.cts +24 -2
- package/dist/atoms/atomStore/index.d.ts +24 -2
- package/dist/atoms/atomStore/index.js +2 -1
- package/dist/atoms/chat/index.cjs +50 -40
- package/dist/atoms/chat/index.d.cts +38 -35
- package/dist/atoms/chat/index.d.ts +39 -36
- package/dist/atoms/chat/index.js +20 -10
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +5 -5
- package/dist/atoms/globalSearch/index.d.ts +6 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +18 -38
- package/dist/atoms/org/index.d.cts +36 -54
- package/dist/atoms/org/index.d.ts +36 -54
- package/dist/atoms/org/index.js +5 -11
- package/dist/atoms/search/index.cjs +57 -41
- package/dist/atoms/search/index.d.cts +11 -8
- package/dist/atoms/search/index.d.ts +12 -9
- package/dist/atoms/search/index.js +26 -10
- package/dist/atoms/search/types.cjs +5 -0
- package/dist/atoms/search/types.d.cts +2 -0
- package/dist/atoms/search/types.d.ts +2 -0
- package/dist/atoms/search/types.js +3 -0
- package/dist/cdnContext-BMjVfBft.cjs +53 -0
- package/dist/cdnContext-DgsJ00Tb.js +38 -0
- package/dist/{chat-CHmD79E1.js → chat-B4lkFIxz.js} +1 -1
- package/dist/chat-D1Eat8Ih.cjs +394 -0
- package/dist/chat-DPJGdUkz.js +258 -0
- package/dist/{chat-_NzpO_Hn.cjs → chat-zA-K4tR_.cjs} +1 -1
- package/dist/chatElementDisplayLocation-9SW40Dd3.d.cts +25 -0
- package/dist/chatElementDisplayLocation-C1tRM5OD.d.ts +25 -0
- package/dist/chatSearch-B5jMnCYX.js +315 -0
- package/dist/chatSearch-DWMiyWN0.cjs +444 -0
- package/dist/chatState-BisPJd5g.cjs +120 -0
- package/dist/chatState-BrmBYY8l.js +34 -0
- package/dist/commerce-api-CxDIfeME.cjs +318 -0
- package/dist/commerce-api-DagLj3D_.js +311 -0
- package/dist/{components-Dl-TMD9k.js → components-B1edduHz.js} +1 -1
- package/dist/{components-D0XDRcaN.cjs → components-g0G58Kat.cjs} +1 -1
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.cts +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.d.cts +1 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.cts +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.d.cts +1 -1
- package/dist/config/locators/components/search/index.d.ts +1 -1
- package/dist/config/locators/index.cjs +42 -22
- package/dist/config/locators/index.d.cts +2 -2
- package/dist/config/locators/index.d.ts +3 -3
- package/dist/config/locators/index.js +25 -5
- package/dist/contexts/amplitudeContext/index.cjs +21 -0
- package/dist/contexts/amplitudeContext/index.d.cts +2 -0
- package/dist/contexts/amplitudeContext/index.d.ts +2 -0
- package/dist/contexts/amplitudeContext/index.js +19 -0
- package/dist/contexts/cdnContext/index.cjs +7 -0
- package/dist/contexts/cdnContext/index.d.cts +15 -0
- package/dist/contexts/cdnContext/index.d.ts +15 -0
- package/dist/contexts/cdnContext/index.js +6 -0
- package/dist/contexts/chatContext/index.cjs +329 -0
- package/dist/contexts/chatContext/index.d.cts +15 -0
- package/dist/contexts/chatContext/index.d.ts +15 -0
- package/dist/contexts/chatContext/index.js +322 -0
- package/dist/contexts/enviveConfigContext/index.cjs +7 -0
- package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
- package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
- package/dist/contexts/enviveConfigContext/index.js +6 -0
- package/dist/contexts/enviveCssContext/index.cjs +65 -0
- package/dist/contexts/enviveCssContext/index.d.cts +10 -0
- package/dist/contexts/enviveCssContext/index.d.ts +10 -0
- package/dist/contexts/enviveCssContext/index.js +62 -0
- package/dist/contexts/featureFlagContext/index.cjs +107 -0
- package/dist/contexts/featureFlagContext/index.d.cts +20 -0
- package/dist/contexts/featureFlagContext/index.d.ts +20 -0
- package/dist/contexts/featureFlagContext/index.js +103 -0
- package/dist/contexts/featureFlagServiceContext/index.cjs +6 -0
- package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
- package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
- package/dist/contexts/featureFlagServiceContext/index.js +5 -0
- package/dist/contexts/graphqlContext/index.cjs +15 -0
- package/dist/contexts/graphqlContext/index.d.cts +12 -0
- package/dist/contexts/graphqlContext/index.d.ts +12 -0
- package/dist/contexts/graphqlContext/index.js +14 -0
- package/dist/contexts/localStorageContext/index.cjs +6 -0
- package/dist/contexts/localStorageContext/index.d.cts +30 -0
- package/dist/contexts/localStorageContext/index.d.ts +30 -0
- package/dist/contexts/localStorageContext/index.js +4 -0
- package/dist/contexts/newOrgConfigContext/index.cjs +19 -0
- package/dist/contexts/newOrgConfigContext/index.d.cts +30 -0
- package/dist/contexts/newOrgConfigContext/index.d.ts +30 -0
- package/dist/contexts/newOrgConfigContext/index.js +18 -0
- package/dist/contexts/searchContext/index.cjs +23 -0
- package/dist/contexts/searchContext/index.d.cts +16 -0
- package/dist/contexts/searchContext/index.d.ts +16 -0
- package/dist/contexts/searchContext/index.js +22 -0
- package/dist/contexts/sessionStorageContext/index.cjs +5 -0
- package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
- package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
- package/dist/contexts/sessionStorageContext/index.js +4 -0
- package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
- package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
- package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
- package/dist/contexts/shopifyUrlContext/index.js +4 -0
- package/dist/contexts/systemSettingsContext/index.cjs +8 -0
- package/dist/contexts/systemSettingsContext/index.d.cts +36 -0
- package/dist/contexts/systemSettingsContext/index.d.ts +36 -0
- package/dist/contexts/systemSettingsContext/index.js +6 -0
- package/dist/contexts/types.cjs +7 -0
- package/dist/contexts/types.d.cts +4 -0
- package/dist/contexts/types.d.ts +4 -0
- package/dist/contexts/types.js +3 -0
- package/dist/contexts/userIdentityContext/index.cjs +26 -0
- package/dist/contexts/userIdentityContext/index.d.cts +2 -0
- package/dist/contexts/userIdentityContext/index.d.ts +2 -0
- package/dist/contexts/userIdentityContext/index.js +25 -0
- package/dist/domObserver-B6cRGTny.js +285 -0
- package/dist/domObserver-DQZwhPrc.cjs +304 -0
- package/dist/enviveConfig-BJZ4zTJo.js +62 -0
- package/dist/enviveConfig-DdBrcGSQ.cjs +130 -0
- package/dist/enviveConfigContext-78orE_uH.cjs +60 -0
- package/dist/enviveConfigContext-jBCCWQH9.js +45 -0
- package/dist/events/index.cjs +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.js +1 -1
- package/dist/{events-ClCDFK7t.js → events-BHJJjPDN.js} +1 -1
- package/dist/{events-Da7gpmGv.cjs → events-B_fJZf9E.cjs} +1 -1
- package/dist/featureFlagServiceContext-ChL7DJ53.cjs +56 -0
- package/dist/featureFlagServiceContext-D1PzHsEs.d.ts +23 -0
- package/dist/featureFlagServiceContext-DQwlCTde.d.cts +23 -0
- package/dist/featureFlagServiceContext-DzFfmb1Z.js +42 -0
- package/dist/featureGates-Blx10fwB.js +27 -0
- package/dist/featureGates-DcZNrUma.cjs +33 -0
- package/dist/frontendConfig-DrvrQSm8.d.ts +857 -0
- package/dist/frontendConfig-wg41mBok.d.cts +857 -0
- package/dist/{globalSearch-BTeZxvk1.cjs → globalSearch-Bnjlxtr5.cjs} +1 -1
- package/dist/{globalSearch-b0wC7ZEO.js → globalSearch-CRWUqnjq.js} +1 -1
- package/dist/graphql-B9HhDXYt.cjs +53 -0
- package/dist/graphql-W7GMIHUu.js +36 -0
- package/dist/graphqlConfig-Bn-HLHsh.cjs +39 -0
- package/dist/graphqlConfig-DtZm_YaH.js +14 -0
- package/dist/graphqlContext-BJg7B--J.js +96 -0
- package/dist/graphqlContext-DI-_VRmb.cjs +111 -0
- package/dist/hooks/AmplitudeOperations/index.cjs +21 -0
- package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
- package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
- package/dist/hooks/AmplitudeOperations/index.js +21 -0
- package/dist/hooks/AppDetails/index.cjs +18 -0
- package/dist/hooks/AppDetails/index.d.cts +26 -0
- package/dist/hooks/AppDetails/index.d.ts +26 -0
- package/dist/hooks/AppDetails/index.js +18 -0
- package/dist/hooks/BlockBackButton/index.cjs +29 -0
- package/dist/hooks/BlockBackButton/index.d.cts +5 -0
- package/dist/hooks/BlockBackButton/index.d.ts +5 -0
- package/dist/hooks/BlockBackButton/index.js +27 -0
- package/dist/hooks/CdnOperations/index.cjs +24 -0
- package/dist/hooks/CdnOperations/index.d.cts +7 -0
- package/dist/hooks/CdnOperations/index.d.ts +7 -0
- package/dist/hooks/CdnOperations/index.js +22 -0
- package/dist/hooks/ChatToggle/index.cjs +63 -0
- package/dist/hooks/ChatToggle/index.d.cts +12 -0
- package/dist/hooks/ChatToggle/index.d.ts +12 -0
- package/dist/hooks/ChatToggle/index.js +61 -0
- package/dist/hooks/ChatToggleAnalytics/index.cjs +37 -0
- package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
- package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
- package/dist/hooks/ChatToggleAnalytics/index.js +35 -0
- package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
- package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
- package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
- package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
- package/dist/hooks/Debounce/index.cjs +3 -0
- package/dist/hooks/Debounce/index.d.cts +5 -0
- package/dist/hooks/Debounce/index.d.ts +5 -0
- package/dist/hooks/Debounce/index.js +3 -0
- package/dist/hooks/ElementObserver/index.cjs +179 -0
- package/dist/hooks/ElementObserver/index.d.cts +29 -0
- package/dist/hooks/ElementObserver/index.d.ts +29 -0
- package/dist/hooks/ElementObserver/index.js +177 -0
- package/dist/hooks/GrabAndScroll/index.cjs +99 -0
- package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
- package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
- package/dist/hooks/GrabAndScroll/index.js +97 -0
- package/dist/hooks/GraphQLConfig/index.cjs +16 -0
- package/dist/hooks/GraphQLConfig/index.d.cts +15 -0
- package/dist/hooks/GraphQLConfig/index.d.ts +15 -0
- package/dist/hooks/GraphQLConfig/index.js +15 -0
- package/dist/hooks/IdentifyUser/index.cjs +59 -0
- package/dist/hooks/IdentifyUser/index.d.cts +10 -0
- package/dist/hooks/IdentifyUser/index.d.ts +10 -0
- package/dist/hooks/IdentifyUser/index.js +57 -0
- package/dist/hooks/ImageResolver/index.cjs +54 -0
- package/dist/hooks/ImageResolver/index.d.cts +7 -0
- package/dist/hooks/ImageResolver/index.d.ts +7 -0
- package/dist/hooks/ImageResolver/index.js +52 -0
- package/dist/hooks/Intersection/index.cjs +3 -0
- package/dist/hooks/Intersection/index.d.cts +7 -0
- package/dist/hooks/Intersection/index.d.ts +7 -0
- package/dist/hooks/Intersection/index.js +3 -0
- package/dist/hooks/IsSmallScreen/index.cjs +22 -0
- package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
- package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
- package/dist/hooks/IsSmallScreen/index.js +20 -0
- package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
- package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
- package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
- package/dist/hooks/LocalStorageOperations/index.js +74 -0
- package/dist/hooks/MessageFilter/index.cjs +53 -0
- package/dist/hooks/MessageFilter/index.d.cts +29 -0
- package/dist/hooks/MessageFilter/index.d.ts +29 -0
- package/dist/hooks/MessageFilter/index.js +53 -0
- package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
- package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
- package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
- package/dist/hooks/MessageScrollObserver/index.js +34 -0
- package/dist/hooks/NewOrgConfig/index.cjs +19 -0
- package/dist/hooks/NewOrgConfig/index.d.cts +22 -0
- package/dist/hooks/NewOrgConfig/index.d.ts +22 -0
- package/dist/hooks/NewOrgConfig/index.js +19 -0
- package/dist/hooks/Search/index.cjs +324 -0
- package/dist/hooks/Search/index.d.cts +66 -0
- package/dist/hooks/Search/index.d.ts +66 -0
- package/dist/hooks/Search/index.js +321 -0
- package/dist/hooks/SearchOperations/index.cjs +101 -0
- package/dist/hooks/SearchOperations/index.d.cts +22 -0
- package/dist/hooks/SearchOperations/index.d.ts +22 -0
- package/dist/hooks/SearchOperations/index.js +98 -0
- package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
- package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
- package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
- package/dist/hooks/SessionStorageOperations/index.js +28 -0
- package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
- package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
- package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
- package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
- package/dist/hooks/SnapCalculator/index.cjs +29 -0
- package/dist/hooks/SnapCalculator/index.d.cts +12 -0
- package/dist/hooks/SnapCalculator/index.d.ts +12 -0
- package/dist/hooks/SnapCalculator/index.js +27 -0
- package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
- package/dist/hooks/SystemSettingsContext/index.d.cts +22 -0
- package/dist/hooks/SystemSettingsContext/index.d.ts +22 -0
- package/dist/hooks/SystemSettingsContext/index.js +7 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -0
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +61 -0
- package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
- package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
- package/dist/hooks/UpdateAnalyticsProps/index.js +58 -0
- package/dist/index-BCLaqnc2.d.cts +689 -0
- package/dist/{index-D2VaMPA3.d.ts → index-BS7-_CW4.d.ts} +1 -1
- package/dist/{index-BTK5uzs6.d.cts → index-Bmub8e38.d.cts} +1 -1
- package/dist/index-Bs0QtkSu.d.ts +689 -0
- package/dist/{index-BzgkfbNO.d.cts → index-CESxqFso.d.cts} +1 -1
- package/dist/index-CKeS9dud.d.ts +28 -0
- package/dist/{index-ClJ0nMsR.d.cts → index-CiWEYzXl.d.cts} +2 -2
- package/dist/index-CyXULMyI.d.cts +186 -0
- package/dist/index-Cz10TYQA.d.cts +28 -0
- package/dist/{index-CSIOQD-A.d.ts → index-D8ThXrqI.d.ts} +1 -1
- package/dist/{index-Dxpscrvz.d.ts → index-D9VegTU-.d.ts} +1 -1
- package/dist/{index-Cr2y08f1.d.ts → index-DBqgBV9N.d.ts} +1 -1
- package/dist/{index-CKKkTsms.d.ts → index-DNUKSg6R.d.ts} +1 -1
- package/dist/{index-BdNKc2ix.d.cts → index-DO0s5KNA.d.cts} +1 -1
- package/dist/{index-Cx9e-fRi.d.ts → index-DuyZQOE1.d.ts} +2 -2
- package/dist/{index-BrXuc_Ck.d.cts → index-REhT-Pls.d.cts} +1 -1
- package/dist/index-fKJB9EFb.d.ts +186 -0
- package/dist/interceptors/index.cjs +3 -12
- package/dist/interceptors/index.d.cts +12 -18
- package/dist/interceptors/index.d.ts +13 -19
- package/dist/interceptors/index.js +3 -11
- package/dist/interceptors/types.cjs +1 -0
- package/dist/interceptors/types.d.cts +12 -0
- package/dist/interceptors/types.d.ts +12 -0
- package/dist/interceptors/types.js +3 -0
- package/dist/localStorageContext-6OrGDFid.js +95 -0
- package/dist/localStorageContext-Bld0OWmG.cjs +115 -0
- package/dist/{logger-Dln20ans.cjs → logger-CSL2jqI9.cjs} +1 -1
- package/dist/{logger-pdEEY8T2.js → logger-D5MFf3nW.js} +1 -1
- package/dist/models-Dn8Emdzc.js +1295 -0
- package/dist/models-ZpQcRZQK.cjs +1536 -0
- package/dist/newOrgConfigAtom--tewb_G0.js +8 -0
- package/dist/newOrgConfigAtom-DkSi45_Q.cjs +15 -0
- package/dist/newOrgConfigContext-B3aeblfE.cjs +68 -0
- package/dist/newOrgConfigContext-B5mzHKTG.js +53 -0
- package/dist/{nodeSelector-vKB44CDB.d.cts → nodeSelector-XsUa5vNH.d.cts} +1 -1
- package/dist/org-B2uRkPt3.js +12 -0
- package/dist/org-ClUxpHPZ.cjs +43 -0
- package/dist/orgAnalyticsConfig-CuWXijsr.cjs +39 -0
- package/dist/orgAnalyticsConfig-DOceTdNp.js +14 -0
- package/dist/search-BIomqYy6.d.ts +20 -0
- package/dist/search-B_Hg-Es2.d.cts +20 -0
- package/dist/search-Bn4x-3TG.js +126 -0
- package/dist/search-DsQm_pAi.cjs +205 -0
- package/dist/{search-filter-types-C-zZSpGo.d.ts → search-filter-types-B5xcaEit.d.ts} +1 -1
- package/dist/{search-filter-types-9rTb3jMj.d.cts → search-filter-types-Byd0lEUa.d.cts} +1 -1
- package/dist/searchContext-Cn-pCoDy.cjs +145 -0
- package/dist/searchContext-fQDGSvUF.js +129 -0
- package/dist/searchServiceAdapter-BSPZOg1r.js +16 -0
- package/dist/searchServiceAdapter-DrjFCiw8.cjs +34 -0
- package/dist/sessionStorageContext-C5MUl2zf.js +52 -0
- package/dist/sessionStorageContext-CXE7iHtP.cjs +66 -0
- package/dist/shopifyUrlContext-7ppKx1jJ.cjs +75 -0
- package/dist/shopifyUrlContext-BSYWsoX9.js +61 -0
- package/dist/spiffyWidgets-CdxRcXhW.d.ts +20 -0
- package/dist/spiffyWidgets-DxGuuuCG.d.cts +20 -0
- package/dist/systemSettingsContext-BdAe_3Ll.cjs +60 -0
- package/dist/systemSettingsContext-Cjyo2o3N.js +39 -0
- package/dist/{test-types-CuOq25VT.d.cts → test-types-DQB1JqOf.d.cts} +1 -1
- package/dist/{test-types-CXVJxTeu.d.ts → test-types-ZuRAYwox.d.ts} +1 -1
- package/dist/types/index.cjs +33 -5
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +30 -3
- package/dist/types-BCz-hOvv.d.ts +51 -0
- package/dist/types-BwNrLPSZ.cjs +106 -0
- package/dist/types-D3uOF0Oy.js +76 -0
- package/dist/types-DIk0FLwd.js +30 -0
- package/dist/types-DNLkuGWZ.cjs +48 -0
- package/dist/types-DzwBmZHy.d.cts +10 -0
- package/dist/types-Eip78dWv.d.cts +51 -0
- package/dist/types-YvACLe2e.d.ts +10 -0
- package/dist/types.cjs +0 -0
- package/dist/types.d.cts +15 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.js +1 -0
- package/dist/unsupportedProductExceptions--t7AQFou.js +20 -0
- package/dist/unsupportedProductExceptions-Dak4AD-t.cjs +32 -0
- package/dist/urlsParser-BV5yF8sa.cjs +78 -0
- package/dist/urlsParser-DUgV_Qy9.js +42 -0
- package/dist/useAmplitudeOperations-C6Osqkso.js +34 -0
- package/dist/useAmplitudeOperations-Cco_B3A5.cjs +41 -0
- package/dist/useAppDetails-CGqtN6sJ.cjs +38 -0
- package/dist/useAppDetails-DwX2Rhed.js +30 -0
- package/dist/useDebounce-BJqnCBcl.cjs +26 -0
- package/dist/useDebounce-Ce31ph7m.js +19 -0
- package/dist/useGraphQLConfig-ByOZb3oZ.js +63 -0
- package/dist/useGraphQLConfig-DItL4BgM.cjs +76 -0
- package/dist/useIntersection-Czeo04jt.js +21 -0
- package/dist/useIntersection-DnZNLcnu.cjs +28 -0
- package/dist/useMessageInterceptor-C9p9No1n.cjs +33 -0
- package/dist/useMessageInterceptor-tntd2rvB.js +25 -0
- package/dist/userIdentityContext-C1HzZFb2.cjs +125 -0
- package/dist/userIdentityContext-CDfosvOO.js +109 -0
- package/dist/userIdentityContext-DBXoLrFu.d.cts +20 -0
- package/dist/userIdentityContext-W1OWF3cG.d.ts +20 -0
- package/dist/utilityTypes-CWJZb9BZ.js +1 -0
- package/dist/utilityTypes-YGiMSyV7.cjs +0 -0
- package/dist/utils-BA5HXmkL.cjs +74 -0
- package/dist/utils-BTDw2aMx.cjs +715 -0
- package/dist/utils-C7S9YiFp.js +54 -0
- package/dist/utils-CF13DfA1.js +606 -0
- package/dist/variantInfo-58JLeDJb.js +1 -0
- package/dist/variantInfo-DRFLcGc7.cjs +0 -0
- package/package.json +278 -25
- package/src/{adapters/spiffy/commerce/api.ts → application/commerce-api.ts} +31 -23
- package/src/application/models/colorsConfig.ts +18 -18
- package/src/application/models/frontendConfig.ts +3 -3
- package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -1
- package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -1
- package/src/application/models/index.ts +0 -3
- package/src/application/models/localStorageEventListener.ts +2 -2
- package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +0 -21
- package/src/application/models/validators/validateGraphQLFrontendConfig.ts +2 -2
- package/src/application/utils/analyticsUtils.ts +53 -22
- package/src/application/utils/cdnUtils.ts +11 -0
- package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +15 -0
- package/src/atoms/app/index.ts +7 -17
- package/src/atoms/app/variant.ts +13 -4
- package/src/atoms/chat/chatState.ts +28 -18
- package/src/atoms/chat/messageQueue.ts +36 -5
- package/src/atoms/chat/replies.ts +45 -37
- package/src/atoms/envive/enviveConfig.ts +10 -6
- package/src/atoms/org/graphqlConfig.ts +6 -38
- package/src/atoms/org/index.ts +3 -4
- package/src/atoms/org/newOrgConfigAtom.ts +4 -0
- package/src/atoms/search/chatSearch.ts +11 -5
- package/src/atoms/search/searchAPI.ts +22 -12
- package/src/atoms/search/searchServiceAdapter.ts +25 -0
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +465 -0
- package/src/contexts/amplitudeContext/index.ts +1 -0
- package/src/contexts/cdnContext/cdnContext.tsx +48 -0
- package/src/contexts/cdnContext/index.ts +1 -0
- package/src/contexts/{chatContext.tsx → chatContext/chatContext.tsx} +16 -13
- package/src/contexts/chatContext/index.ts +1 -0
- package/src/contexts/{enviveConfigContext.tsx → enviveConfigContext/enviveConfigContext.tsx} +23 -18
- package/src/contexts/enviveConfigContext/index.ts +1 -0
- package/src/contexts/enviveCssContext/enviveCssContext.tsx +49 -0
- package/src/contexts/enviveCssContext/index.ts +1 -0
- package/src/contexts/featureFlagContext/featureFlagContext.tsx +193 -0
- package/src/contexts/featureFlagContext/index.ts +1 -0
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +87 -0
- package/src/contexts/featureFlagServiceContext/index.ts +1 -0
- package/src/contexts/graphqlContext/graphqlContext.tsx +165 -0
- package/src/contexts/graphqlContext/index.ts +1 -0
- package/src/contexts/localStorageContext/index.ts +1 -0
- package/src/contexts/localStorageContext/localStorageContext.tsx +159 -0
- package/src/contexts/newOrgConfigContext/index.ts +1 -0
- package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +70 -0
- package/src/contexts/searchContext/index.ts +1 -0
- package/src/contexts/searchContext/searchContext.tsx +187 -0
- package/src/contexts/sessionStorageContext/index.ts +1 -0
- package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +80 -0
- package/src/contexts/shopifyUrlContext/index.ts +1 -0
- package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +97 -0
- package/src/contexts/systemSettingsContext/index.ts +1 -0
- package/src/contexts/types.ts +12 -8
- package/src/contexts/userIdentityContext/index.ts +1 -0
- package/src/contexts/userIdentityContext/userIdentityContext.tsx +197 -0
- package/src/events/registerAnalyticsListeners.ts +32 -38
- package/src/favicon.ico +0 -0
- package/src/hooks/AmplitudeOperations/index.ts +1 -0
- package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +35 -0
- package/src/hooks/AppDetails/index.ts +1 -0
- package/src/hooks/AppDetails/useAppDetails.ts +47 -0
- package/src/hooks/BlockBackButton/index.ts +1 -0
- package/src/hooks/CdnOperations/index.ts +1 -0
- package/src/hooks/CdnOperations/useCdnOperations.ts +16 -0
- package/src/hooks/ChatToggle/index.ts +1 -0
- package/src/hooks/{useChatToggle.ts → ChatToggle/useChatToggle.ts} +5 -4
- package/src/hooks/ChatToggleAnalytics/index.ts +1 -0
- package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +15 -0
- package/src/hooks/CustomerSupportHandoff/index.ts +1 -0
- package/src/hooks/Debounce/index.ts +1 -0
- package/src/hooks/ElementObserver/index.ts +1 -0
- package/src/hooks/GrabAndScroll/index.ts +1 -0
- package/src/hooks/GraphQLConfig/index.ts +1 -0
- package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +63 -0
- package/src/hooks/IdentifyUser/index.ts +1 -0
- package/src/hooks/IdentifyUser/useIdentifyUser.ts +33 -0
- package/src/hooks/ImageResolver/index.ts +1 -0
- package/src/hooks/{useImageResolver.ts → ImageResolver/useImageResolver.ts} +7 -7
- package/src/hooks/Intersection/index.ts +1 -0
- package/src/hooks/IsSmallScreen/index.ts +1 -0
- package/src/hooks/LocalStorageOperations/index.ts +1 -0
- package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +92 -0
- package/src/hooks/MessageFilter/index.ts +1 -0
- package/src/hooks/MessageScrollObserver/index.ts +1 -0
- package/src/hooks/NewOrgConfig/index.ts +1 -0
- package/src/hooks/NewOrgConfig/useNewOrgConfig.ts +7 -0
- package/src/hooks/Search/index.ts +1 -0
- package/src/hooks/{useSearch.tsx → Search/useSearch.tsx} +24 -20
- package/src/hooks/SearchOperations/index.ts +1 -0
- package/src/hooks/SearchOperations/useSearchOperations.ts +97 -0
- package/src/hooks/SessionStorageOperations/index.ts +1 -0
- package/src/hooks/SessionStorageOperations/useSessionStorageOperations.ts +28 -0
- package/src/hooks/ShopifyUrlOperations/index.ts +1 -0
- package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +45 -0
- package/src/hooks/SnapCalculator/index.ts +1 -0
- package/src/hooks/SystemSettingsContext/index.ts +1 -0
- package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +14 -0
- package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -0
- package/src/hooks/{useTrackComponentVisibleEvent.ts → TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts} +12 -8
- package/src/hooks/UpdateAnalyticsProps/index.ts +1 -0
- package/src/hooks/{useUpdateAnalyticsProps.ts → UpdateAnalyticsProps/useUpdateAnalyticsProps.ts} +28 -17
- package/src/interceptors/index.ts +0 -1
- package/src/interceptors/useMessageInterceptor.ts +5 -8
- package/src/merchants/domInsertion.ts +30 -0
- package/src/merchants/gridInsertion.ts +19 -0
- package/src/types/config-versions.ts +6 -0
- package/src/types.ts +0 -53
- package/dist/adapters/amplitude/index.cjs +0 -14
- package/dist/adapters/amplitude/index.d.cts +0 -6
- package/dist/adapters/amplitude/index.d.ts +0 -6
- package/dist/adapters/amplitude/index.js +0 -12
- package/dist/api-B2euFL-5.cjs +0 -269
- package/dist/api-XRr_lAG6.js +0 -190
- package/dist/application/config/index.cjs +0 -43
- package/dist/application/config/index.d.cts +0 -15
- package/dist/application/config/index.d.ts +0 -15
- package/dist/application/config/index.js +0 -41
- package/dist/application/service/customerService/index.cjs +0 -4
- package/dist/application/service/customerService/index.d.cts +0 -3
- package/dist/application/service/customerService/index.d.ts +0 -3
- package/dist/application/service/customerService/index.js +0 -4
- package/dist/application/service/index.cjs +0 -42
- package/dist/application/service/index.d.cts +0 -413
- package/dist/application/service/index.d.ts +0 -413
- package/dist/application/service/index.js +0 -12
- package/dist/atomStore-ONYy0XuA.d.cts +0 -24
- package/dist/atomStore-kOKiEcNl.d.ts +0 -24
- package/dist/bandolier-Da4wt6sm.cjs +0 -1230
- package/dist/bandolier-DzEmYWcz.js +0 -1230
- package/dist/carpe-AXipz0Xl.cjs +0 -608
- package/dist/carpe-CaUKwcEa.js +0 -606
- package/dist/contexts/index.cjs +0 -26
- package/dist/contexts/index.d.cts +0 -10
- package/dist/contexts/index.d.ts +0 -10
- package/dist/contexts/index.js +0 -12
- package/dist/contexts-CtRlNXaS.js +0 -7674
- package/dist/contexts-CtgmnYNn.cjs +0 -9088
- package/dist/coterie--MGvWeVh.cjs +0 -240
- package/dist/coterie-oKHAT0lx.js +0 -240
- package/dist/customerService-BG1uNZZ1.cjs +0 -36
- package/dist/customerService-BHQRnLhC.js +0 -23
- package/dist/custservice-types-C8-9vKWb.cjs +0 -35
- package/dist/custservice-types-CamCiXjq.js +0 -23
- package/dist/default-B4fINY5_.cjs +0 -4
- package/dist/default-BrTQxA0c.js +0 -4
- package/dist/default-C3LrcbZB.cjs +0 -199
- package/dist/default-CXkYrLEr.js +0 -176
- package/dist/divIds-0Vj9g-fM.js +0 -23
- package/dist/divIds-CjceLRD9.cjs +0 -131
- package/dist/dreamlandBaby-BEqt0eKF.js +0 -347
- package/dist/dreamlandBaby-DBDjEJCc.cjs +0 -347
- package/dist/embedded-B5Wi9g0T.cjs +0 -131
- package/dist/embedded-_cLpd6FK.js +0 -23
- package/dist/entrypoints-CNUvSgnk.js +0 -7
- package/dist/entrypoints-DM9Sm18O.cjs +0 -19
- package/dist/featureFlagService-5wdmW02z.d.ts +0 -18
- package/dist/featureFlagService-DaelrXEk.d.cts +0 -18
- package/dist/fiveCbd-CdqNt16h.cjs +0 -614
- package/dist/fiveCbd-D6B-sgnX.js +0 -614
- package/dist/forLoveAndLemons-C7GsJG7f.cjs +0 -668
- package/dist/forLoveAndLemons-gNDlMtPR.js +0 -666
- package/dist/greenpan-B5AaW4M_.js +0 -398
- package/dist/greenpan-DrORpYms.cjs +0 -398
- package/dist/grooveLife-BJqsfH2H.cjs +0 -343
- package/dist/grooveLife-xIUmDM8s.js +0 -343
- package/dist/homegrownCannabis-8TZ21u6L.cjs +0 -411
- package/dist/homegrownCannabis-BtMuEvbZ.js +0 -411
- package/dist/hooks/index.cjs +0 -37
- package/dist/hooks/index.d.cts +0 -232
- package/dist/hooks/index.d.ts +0 -232
- package/dist/hooks/index.js +0 -12
- package/dist/index-CKUpnyJQ.d.ts +0 -72
- package/dist/index-CbJZOEU4.d.ts +0 -203
- package/dist/index-DFL1dIT_.d.ts +0 -7
- package/dist/index-DXpgMVpp.d.ts +0 -749
- package/dist/index-K2kNsOTw.d.cts +0 -203
- package/dist/index-MFbPQ8Ji.d.ts +0 -95
- package/dist/index-VHFMGkO-.d.cts +0 -72
- package/dist/index-VSFakgAI.d.cts +0 -95
- package/dist/index-aNW5V9fh.d.cts +0 -749
- package/dist/index-zZjcds15.d.cts +0 -7
- package/dist/jackArcher-WtkbLBZj.cjs +0 -728
- package/dist/jackArcher-sO9EbgrZ.js +0 -728
- package/dist/jordanCraig-471FcgqF.cjs +0 -1787
- package/dist/jordanCraig-DNOncplU.js +0 -1787
- package/dist/kindredBravely-BlLyHGMX.cjs +0 -491
- package/dist/kindredBravely-cqZ4OvXp.js +0 -491
- package/dist/kutFromTheKloth-3mOIryvt.cjs +0 -370
- package/dist/kutFromTheKloth-DtVNCMKa.js +0 -370
- package/dist/larryAndSerges-88Bvq-Us.cjs +0 -262
- package/dist/larryAndSerges-cvak6May.js +0 -262
- package/dist/leapsAndRebounds-Dmf8eUPq.js +0 -361
- package/dist/leapsAndRebounds-iWKc923H.cjs +0 -361
- package/dist/longevityrx-BTMI9vn-.js +0 -321
- package/dist/longevityrx-CobPyigd.cjs +0 -321
- package/dist/lookOptic-C4H_c0JZ.cjs +0 -283
- package/dist/lookOptic-Jwf7EAU8.js +0 -283
- package/dist/mantraBrand-CySGqbn6.cjs +0 -751
- package/dist/mantraBrand-DoaVj837.js +0 -751
- package/dist/medterra-BnZ5p27n.cjs +0 -584
- package/dist/medterra-DaICcPPp.js +0 -584
- package/dist/modells-CZ1L6dD_.js +0 -485
- package/dist/modells-DF0SndHr.cjs +0 -485
- package/dist/orgConfigResults--dAwtw3W.d.ts +0 -881
- package/dist/orgConfigResults-BL0XBA6x.d.cts +0 -881
- package/dist/pressedFloral-B3t2cYzs.cjs +0 -662
- package/dist/pressedFloral-Dsws2Kfb.js +0 -662
- package/dist/skinPerfection-CILQM2bR.cjs +0 -335
- package/dist/skinPerfection-DmQCntRf.js +0 -335
- package/dist/snapSupplements--X_v0KRM.js +0 -286
- package/dist/snapSupplements-Djuzl0Ed.cjs +0 -286
- package/dist/socialProofClasses-DdzG1tZy.js +0 -10
- package/dist/socialProofClasses-ky69yppk.cjs +0 -40
- package/dist/spanx-Bo81yXSF.cjs +0 -664
- package/dist/spanx-DauxB8KE.js +0 -662
- package/dist/spanxStaging-BucYQvR1.cjs +0 -849
- package/dist/spanxStaging-CfXUukdP.js +0 -846
- package/dist/suggestionBarV2-types-B3lwrENK.cjs +0 -16
- package/dist/suggestionBarV2-types-Penx3Y67.js +0 -10
- package/dist/supergoop-8qa_NV3F.cjs +0 -338
- package/dist/supergoop-DOaui-A6.js +0 -336
- package/dist/types-CD4LFta-.d.cts +0 -33
- package/dist/types-CGC6Oozp.cjs +0 -231
- package/dist/types-CnTCkyvK.js +0 -177
- package/dist/types-DBdI0j89.d.ts +0 -33
- package/dist/uniqueVintage-BWkDgt1z.js +0 -1212
- package/dist/uniqueVintage-DAne8XcL.cjs +0 -1214
- package/dist/variant-CC1nrywd.d.ts +0 -13
- package/dist/variant-CQTuQQSq.d.cts +0 -13
- package/dist/venaCbd-B1HO_Pkr.cjs +0 -366
- package/dist/venaCbd-CnByO-5R.js +0 -366
- package/dist/westonJonBoucher-BAGXegsX.js +0 -423
- package/dist/westonJonBoucher-BRfHWMbs.cjs +0 -423
- package/dist/wineEnthusiast-DW8JVwV8.cjs +0 -941
- package/dist/wineEnthusiast-EJbhMeKQ.js +0 -941
- package/dist/wolfMattress-B6INZNRJ.cjs +0 -373
- package/dist/wolfMattress-D9P7ErH_.js +0 -373
- package/dist/wolfTactical-C5Pupi3J.js +0 -350
- package/dist/wolfTactical-TMthZM93.cjs +0 -350
- package/src/adapters/amplitude/amplitudeAdapter.ts +0 -477
- package/src/adapters/amplitude/index.ts +0 -2
- package/src/adapters/amplitude/stubAmplitudeAdapter.ts +0 -34
- package/src/adapters/spiffy/commerce/graphql.ts +0 -219
- package/src/application/config/generalStaticConfig.ts +0 -40
- package/src/application/config/index.ts +0 -1
- package/src/application/models/domMutationContinuation.ts +0 -7
- package/src/application/models/domObservationStrategy.ts +0 -9
- package/src/application/models/supportedOrgs.ts +0 -161
- package/src/application/service/cachingService.ts +0 -84
- package/src/application/service/cdnService.ts +0 -20
- package/src/application/service/customerService/index.ts +0 -8
- package/src/application/service/customerService/providers/UnsupportedCustomerService.ts +0 -15
- package/src/application/service/domMutationObserver.ts +0 -320
- package/src/application/service/domMutations/GridInsertionService.ts +0 -123
- package/src/application/service/domMutations/dataLayer/dataLayerEventsListener.ts +0 -99
- package/src/application/service/domMutations/domInsertionService.ts +0 -90
- package/src/application/service/domMutations/domMutationListener.ts +0 -15
- package/src/application/service/domMutations/domMutationListenerState.ts +0 -52
- package/src/application/service/domMutations/floatingChat/embeddedChatsPlacementsListener.ts +0 -41
- package/src/application/service/domMutations/gladly/gladlyListener.ts +0 -61
- package/src/application/service/domMutations/spiffy/orgs/common/kustomerVisibilityListener.ts +0 -41
- package/src/application/service/domMutations/spiffy/orgs/common/orgsCommonDataLayerListener.ts +0 -119
- package/src/application/service/featureFlagService.ts +0 -130
- package/src/application/service/graphqlConfigService.ts +0 -59
- package/src/application/service/index.ts +0 -32
- package/src/application/service/kustomerIntegrationService.ts +0 -111
- package/src/application/service/localStorageService.ts +0 -77
- package/src/application/service/pageVariantService.ts +0 -866
- package/src/application/service/searchService.ts +0 -147
- package/src/application/service/sessionStorageService.ts +0 -27
- package/src/application/service/shopifyUrlService.ts +0 -63
- package/src/application/service/userIdentityService.ts +0 -114
- package/src/application/service/windowChatToggleService.ts +0 -80
- package/src/application/service/windowDataLayerService.ts +0 -181
- package/src/application/service/windowFrontendConfigService.ts +0 -129
- package/src/atoms/org/merchantCss.ts +0 -161
- package/src/atoms/org/org.ts +0 -251
- package/src/atoms/org/orgPageConfig.ts +0 -41
- package/src/atoms/org/orgUIConfig.ts +0 -142
- package/src/contexts/enviveCssContext.tsx +0 -20
- package/src/contexts/index.ts +0 -6
- package/src/contexts/orgConfigContext.tsx +0 -106
- package/src/enabled-features.ts +0 -83
- package/src/hooks/index.ts +0 -21
- package/src/hooks/useDynamicVariants.ts +0 -226
- package/src/hooks/useFileUpload.ts +0 -63
- package/src/hooks/useHideElements.ts +0 -85
- package/src/hooks/useNewOrgConfig.ts +0 -80
- package/src/hooks/useSystemSettingsContext.ts +0 -12
- package/src/interceptors/useFormEscalation.ts +0 -57
- package/src/merchants/bandolier/bandolier.ts +0 -1389
- package/src/merchants/carpe/carpe.ts +0 -656
- package/src/merchants/coterie/coterie.ts +0 -280
- package/src/merchants/default.ts +0 -193
- package/src/merchants/dreamlandBaby/dreamlandBaby.ts +0 -375
- package/src/merchants/fiveCbd/fiveCbd.ts +0 -697
- package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +0 -721
- package/src/merchants/greenpan/greenpan.ts +0 -440
- package/src/merchants/grooveLife/grooveLife.ts +0 -386
- package/src/merchants/homegrownCannabis/homegrownCannabis.ts +0 -468
- package/src/merchants/init-merchant.sh +0 -53
- package/src/merchants/jackArcher/jackArcher.ts +0 -974
- package/src/merchants/jordanCraig/jordanCraig.ts +0 -1927
- package/src/merchants/kindredBravely/kindredBravely.ts +0 -529
- package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +0 -418
- package/src/merchants/larryAndSerges/larryAndSerges.ts +0 -314
- package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +0 -424
- package/src/merchants/longevityrx/longevityrx.ts +0 -368
- package/src/merchants/lookOptic/lookOptic.ts +0 -323
- package/src/merchants/mantraBrand/mantraBrand.ts +0 -838
- package/src/merchants/medterra/medterra.ts +0 -670
- package/src/merchants/modells/modells.ts +0 -546
- package/src/merchants/pressedFloral/pressedFloral.ts +0 -734
- package/src/merchants/skinPerfection/skinPerfection.ts +0 -379
- package/src/merchants/snapSupplements/snapSupplements.ts +0 -325
- package/src/merchants/spanx/spanx.ts +0 -810
- package/src/merchants/spanx/spanxStaging.ts +0 -942
- package/src/merchants/supergoop/supergoop.ts +0 -376
- package/src/merchants/uniqueVintage/uniqueVintage.ts +0 -1314
- package/src/merchants/venaCbd/venaCbd.ts +0 -410
- package/src/merchants/westonJonBoucher/westonJonBoucher.ts +0 -473
- package/src/merchants/wineEnthusiast/wineEnthusiast.ts +0 -990
- package/src/merchants/wolfMattress/wolfMattress.ts +0 -411
- package/src/merchants/wolfTactical/wolfTactical.ts +0 -389
- /package/dist/{locators-CugndTUM.cjs → AmplitudeOperations-CgIVPUlr.cjs} +0 -0
- /package/dist/{locators-DnKpajbY.js → AmplitudeOperations-YpyaR7Mp.js} +0 -0
- /package/dist/{utilityTypes-BVikejDo.js → atomStore-C2OI76yN.js} +0 -0
- /package/dist/{utilityTypes-C4h2wgAK.cjs → atomStore-DWmT1six.cjs} +0 -0
- /package/dist/{variantInfo-CzhR5W6h.js → types-DQoXDiso.js} +0 -0
- /package/dist/{variantInfo-CNRTY0gH.cjs → types-o3zWarRp.cjs} +0 -0
- /package/src/contexts/{systemSettingsContext.tsx → systemSettingsContext/systemSettingsContext.tsx} +0 -0
- /package/src/hooks/{useBlockBackButton.ts → BlockBackButton/useBlockBackButton.ts} +0 -0
- /package/src/hooks/{useCustomerSupportHandoff.ts → CustomerSupportHandoff/useCustomerSupportHandoff.ts} +0 -0
- /package/src/hooks/{useDebounce.ts → Debounce/useDebounce.ts} +0 -0
- /package/src/hooks/{useElementObserver.ts → ElementObserver/useElementObserver.ts} +0 -0
- /package/src/hooks/{useGrabAndScroll.ts → GrabAndScroll/useGrabAndScroll.ts} +0 -0
- /package/src/hooks/{useIntersection.ts → Intersection/useIntersection.ts} +0 -0
- /package/src/hooks/{useIsSmallScreen.ts → IsSmallScreen/useIsSmallScreen.ts} +0 -0
- /package/src/hooks/{useMessageFilter.ts → MessageFilter/useMessageFilter.ts} +0 -0
- /package/src/hooks/{useMessageScrollObserver.ts → MessageScrollObserver/useMessageScrollObserver.ts} +0 -0
- /package/src/hooks/{useSnapCalculator.ts → SnapCalculator/useSnapCalculator.ts} +0 -0
- /package/src/{application/service/customerService/types.ts → types/customerService.ts} +0 -0
- /package/src/{adapters/spiffy/commerce → types}/exceptions/sessionExceptions.ts +0 -0
- /package/src/{adapters/spiffy/commerce → types}/exceptions/unsupportedProductExceptions.ts +0 -0
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
PageVariantTestType,
|
|
7
7
|
WidgetMountingConfig,
|
|
8
8
|
} from 'src/contexts/types';
|
|
9
|
-
import { DOMInsertionType } from 'src/
|
|
10
|
-
import { GridInsertionType } from 'src/
|
|
9
|
+
import { DOMInsertionType } from 'src/merchants/domInsertion';
|
|
10
|
+
import { GridInsertionType } from 'src/merchants/gridInsertion';
|
|
11
11
|
import Logger from 'src/application/logging/logger';
|
|
12
12
|
|
|
13
13
|
// Helper function to validate and transform PageVariantQueryData to PageVariantConfig
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import Logger from
|
|
2
|
-
import { AmplitudeAdapter, SpiffyMetricsEventName } from 'src/adapters/amplitude';
|
|
1
|
+
import Logger from "src/application/logging/logger";
|
|
3
2
|
import {
|
|
4
3
|
isLegacyUAEcommerceEvent,
|
|
5
4
|
isGA4EcommerceEvent,
|
|
6
5
|
isBaseEcommerceEvent,
|
|
7
6
|
BaseEcommerceEvent,
|
|
8
|
-
} from
|
|
7
|
+
} from "src/application/models";
|
|
8
|
+
import { SpiffyMetricsEventName } from "src/contexts/amplitudeContext/amplitudeContext";
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
declare global {
|
|
11
|
+
interface Window {
|
|
12
|
+
dataLayer: any[];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const NORMALIZED_ADD_TO_CART_EVENT_NAMES = ["addtocart", "addedtocart"];
|
|
11
17
|
const CHECK_DATA_LAYER_INTERVAL_MS = 500;
|
|
12
18
|
const CHECK_DATA_LAYER_MAX_ATTEMPTS = 10;
|
|
13
19
|
|
|
@@ -19,8 +25,10 @@ const CHECK_DATA_LAYER_MAX_ATTEMPTS = 10;
|
|
|
19
25
|
* @returns True if the event is an add_to_cart event, false otherwise.
|
|
20
26
|
*/
|
|
21
27
|
const isAddToCartEvent = (event: string): boolean => {
|
|
22
|
-
const normalizedEvent = event.replace(/[-_]/g,
|
|
23
|
-
return NORMALIZED_ADD_TO_CART_EVENT_NAMES.some((name) =>
|
|
28
|
+
const normalizedEvent = event.replace(/[-_]/g, "").toLowerCase();
|
|
29
|
+
return NORMALIZED_ADD_TO_CART_EVENT_NAMES.some((name) =>
|
|
30
|
+
normalizedEvent.includes(name)
|
|
31
|
+
);
|
|
24
32
|
};
|
|
25
33
|
|
|
26
34
|
/**
|
|
@@ -28,7 +36,13 @@ const isAddToCartEvent = (event: string): boolean => {
|
|
|
28
36
|
*
|
|
29
37
|
* @param event The event to track.
|
|
30
38
|
*/
|
|
31
|
-
const handleAddToCartEvent = (
|
|
39
|
+
const handleAddToCartEvent = (
|
|
40
|
+
event: BaseEcommerceEvent,
|
|
41
|
+
track: (
|
|
42
|
+
eventName: SpiffyMetricsEventName,
|
|
43
|
+
eventProps?: Record<string, unknown>
|
|
44
|
+
) => void
|
|
45
|
+
) => {
|
|
32
46
|
let eventProps: Record<string, unknown>;
|
|
33
47
|
|
|
34
48
|
if (isLegacyUAEcommerceEvent(event)) {
|
|
@@ -40,7 +54,7 @@ const handleAddToCartEvent = (event: BaseEcommerceEvent) => {
|
|
|
40
54
|
quantity: product.quantity,
|
|
41
55
|
})),
|
|
42
56
|
currency: event.ecommerce.add.currencyCode,
|
|
43
|
-
event_format_version:
|
|
57
|
+
event_format_version: "legacy_universal_analytics",
|
|
44
58
|
};
|
|
45
59
|
} else if (isGA4EcommerceEvent(event)) {
|
|
46
60
|
eventProps = {
|
|
@@ -51,17 +65,16 @@ const handleAddToCartEvent = (event: BaseEcommerceEvent) => {
|
|
|
51
65
|
quantity: item.quantity,
|
|
52
66
|
})),
|
|
53
67
|
currency: event.ecommerce.currency,
|
|
54
|
-
event_format_version:
|
|
68
|
+
event_format_version: "google_analytics_4",
|
|
55
69
|
};
|
|
56
70
|
} else {
|
|
57
71
|
eventProps = {
|
|
58
72
|
event_properties: { ...event },
|
|
59
|
-
event_format_version:
|
|
73
|
+
event_format_version: "unknown",
|
|
60
74
|
};
|
|
61
75
|
}
|
|
62
76
|
|
|
63
|
-
|
|
64
|
-
eventName: SpiffyMetricsEventName.AddToCartClicked,
|
|
77
|
+
track(SpiffyMetricsEventName.AddToCartClicked, {
|
|
65
78
|
eventProps,
|
|
66
79
|
});
|
|
67
80
|
};
|
|
@@ -70,18 +83,23 @@ const handleAddToCartEvent = (event: BaseEcommerceEvent) => {
|
|
|
70
83
|
* Wraps the window.dataLayer.push method to intercept add_to_cart events and send them to Amplitude.
|
|
71
84
|
* This function runs on an interval until the dataLayer is available.
|
|
72
85
|
*/
|
|
73
|
-
export const initDataLayerWrapper = (
|
|
86
|
+
export const initDataLayerWrapper = (
|
|
87
|
+
track: (
|
|
88
|
+
eventName: SpiffyMetricsEventName,
|
|
89
|
+
eventProps?: Record<string, unknown>
|
|
90
|
+
) => void
|
|
91
|
+
) => {
|
|
74
92
|
let attempts = 0;
|
|
75
93
|
|
|
76
94
|
// currently, our bundle is always loaded after GTM has initialized GA/dataLayer
|
|
77
95
|
// we'll need this check here if/when we load spiffy before/outside of GTM
|
|
78
96
|
const checkAndInitialize = () => {
|
|
79
|
-
if (!window.dataLayer || !window.dataLayer.push) {
|
|
97
|
+
if (!window.dataLayer || !(window.dataLayer as any).push) {
|
|
80
98
|
attempts += 1;
|
|
81
99
|
|
|
82
100
|
if (attempts >= CHECK_DATA_LAYER_MAX_ATTEMPTS) {
|
|
83
101
|
Logger.logDebug(
|
|
84
|
-
`[spiffy-ai] dataLayer not available after ${CHECK_DATA_LAYER_MAX_ATTEMPTS} attempts
|
|
102
|
+
`[spiffy-ai] dataLayer not available after ${CHECK_DATA_LAYER_MAX_ATTEMPTS} attempts`
|
|
85
103
|
);
|
|
86
104
|
return;
|
|
87
105
|
}
|
|
@@ -90,21 +108,34 @@ export const initDataLayerWrapper = () => {
|
|
|
90
108
|
return;
|
|
91
109
|
}
|
|
92
110
|
|
|
93
|
-
Logger.logDebug(
|
|
111
|
+
Logger.logDebug(
|
|
112
|
+
"[spiffy-ai] dataLayer is available, wrapping push function..."
|
|
113
|
+
);
|
|
94
114
|
const originalPush = window.dataLayer.push;
|
|
95
|
-
window.dataLayer.push = (args: unknown) => {
|
|
96
|
-
if (
|
|
97
|
-
|
|
115
|
+
window.dataLayer.push = (...args: unknown[]) => {
|
|
116
|
+
if (
|
|
117
|
+
isBaseEcommerceEvent(args[0]) &&
|
|
118
|
+
isAddToCartEvent((args[0] as any).event)
|
|
119
|
+
) {
|
|
120
|
+
handleAddToCartEvent(args[0] as BaseEcommerceEvent, track);
|
|
98
121
|
}
|
|
99
122
|
|
|
100
123
|
// IMPORTANT: call the original push method so that the event is still logged to GA
|
|
101
|
-
originalPush.apply(window.dataLayer,
|
|
124
|
+
return originalPush.apply(window.dataLayer, args);
|
|
102
125
|
};
|
|
103
126
|
};
|
|
104
127
|
|
|
105
128
|
checkAndInitialize();
|
|
106
129
|
};
|
|
107
130
|
|
|
108
|
-
export const initAmplitude = (
|
|
109
|
-
|
|
131
|
+
export const initAmplitude = (
|
|
132
|
+
track: (
|
|
133
|
+
eventName: SpiffyMetricsEventName,
|
|
134
|
+
eventProps?: Record<string, unknown>
|
|
135
|
+
) => void
|
|
136
|
+
) => {
|
|
137
|
+
// This function might not be needed anymore if Amplitude is initialized via context.
|
|
138
|
+
// For now, we'll keep it and pass the track function.
|
|
139
|
+
// If it's truly redundant, it can be removed later.
|
|
140
|
+
track(SpiffyMetricsEventName.BundleLoaded); // Example usage, adjust as needed
|
|
110
141
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getAtomStore } from "src/atoms/atomStore/atomStore";
|
|
2
|
+
import { cdnUrlAtom } from "src/atoms/envive/enviveConfig";
|
|
3
|
+
|
|
4
|
+
export const getCdnAssetURL = (
|
|
5
|
+
assetName: string,
|
|
6
|
+
orgShortName: string
|
|
7
|
+
): string => {
|
|
8
|
+
const atomStore = getAtomStore();
|
|
9
|
+
const cdnUrl = atomStore.get(cdnUrlAtom) || "https://cdn.spiffy.ai/other";
|
|
10
|
+
return `${cdnUrl}/assets/${orgShortName}/${assetName}`;
|
|
11
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { atom } from "jotai";
|
|
2
|
+
import { SpiffyMetricsEventName } from "src/contexts/amplitudeContext/amplitudeContext";
|
|
3
|
+
|
|
4
|
+
interface TrackEventParams {
|
|
5
|
+
eventName: SpiffyMetricsEventName;
|
|
6
|
+
eventProps?: Record<string, unknown>;
|
|
7
|
+
eventGroups?: Record<string, unknown>;
|
|
8
|
+
alsoSendToGoogleAnalytics?: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// This atom will hold the trackEvent function from the Amplitude context.
|
|
12
|
+
// It needs to be initialized by a React component that has access to the useAmplitude hook.
|
|
13
|
+
export const amplitudeTrackEventAtom = atom<
|
|
14
|
+
((params: TrackEventParams) => Promise<void>) | null
|
|
15
|
+
>(null);
|
package/src/atoms/app/index.ts
CHANGED
|
@@ -5,9 +5,8 @@ import {
|
|
|
5
5
|
import { atom } from "jotai";
|
|
6
6
|
import { atomWithStorage } from "jotai/utils";
|
|
7
7
|
import { VariantInfo } from "src/application/models";
|
|
8
|
-
import {
|
|
8
|
+
import { UserIdentityContextType } from "src/contexts/userIdentityContext/userIdentityContext";
|
|
9
9
|
import { variantInfoAtom } from "src/atoms/app/variant";
|
|
10
|
-
import { orgIdAtom, orgShortNameAtom } from "src/atoms/org/org";
|
|
11
10
|
import { v4 as uuid } from "uuid";
|
|
12
11
|
import { contextSourceAtom } from "../envive/enviveConfig";
|
|
13
12
|
|
|
@@ -33,16 +32,20 @@ export const userIdAtom = atom(
|
|
|
33
32
|
return maybeUserId;
|
|
34
33
|
}
|
|
35
34
|
|
|
36
|
-
return
|
|
35
|
+
return get(userIdentityAtom)?.getUserIdOrDefault() ?? "";
|
|
37
36
|
},
|
|
38
37
|
(_, set, value: string | undefined) => {
|
|
39
38
|
set(internalUserIdAtom, value);
|
|
40
39
|
}
|
|
41
40
|
);
|
|
41
|
+
|
|
42
|
+
export const userIdentityAtom = atom<UserIdentityContextType | undefined>(
|
|
43
|
+
undefined
|
|
44
|
+
);
|
|
45
|
+
|
|
42
46
|
export const appSourceAtom = atom<ContextSourceEnum>(
|
|
43
47
|
(get): ContextSourceEnum => get(contextSourceAtom) ?? ContextSourceEnum.App
|
|
44
48
|
);
|
|
45
|
-
export const envAtom = atom<ContextEnvEnum>(ContextEnvEnum.Dev);
|
|
46
49
|
export const chatIdAtom = atomWithStorage<string>(
|
|
47
50
|
"v1-spiffy-chat-session-id",
|
|
48
51
|
uuid(),
|
|
@@ -51,16 +54,3 @@ export const chatIdAtom = atomWithStorage<string>(
|
|
|
51
54
|
getOnInit: true,
|
|
52
55
|
}
|
|
53
56
|
);
|
|
54
|
-
|
|
55
|
-
export const appDetailsAtom = atom(
|
|
56
|
-
(get): AppDetails => ({
|
|
57
|
-
orgId: get(orgIdAtom) ?? "",
|
|
58
|
-
// TODO: orgShortName should be available when this atom is created
|
|
59
|
-
orgShortName: get(orgShortNameAtom) ?? "spiffy-ai",
|
|
60
|
-
chatId: get(chatIdAtom),
|
|
61
|
-
userId: get(userIdAtom),
|
|
62
|
-
source: get(appSourceAtom),
|
|
63
|
-
env: get(envAtom),
|
|
64
|
-
variantInfo: get(variantInfoAtom),
|
|
65
|
-
})
|
|
66
|
-
);
|
package/src/atoms/app/variant.ts
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
OrgShortName,
|
|
15
15
|
} from "src/application/models";
|
|
16
16
|
import { sessionStorageUtil } from "src/atoms/atomStore/atomStore";
|
|
17
|
-
import {
|
|
17
|
+
import { enviveConfigAtom } from "src/atoms/envive/enviveConfig";
|
|
18
18
|
|
|
19
19
|
export interface SupportedEvent
|
|
20
20
|
extends Pick<
|
|
@@ -149,6 +149,14 @@ const internalStorageSupportedEventAtom = atomWithStorage<string | undefined>(
|
|
|
149
149
|
);
|
|
150
150
|
const internalSupportedEventAtom = atom<SupportedEvent | undefined>(undefined);
|
|
151
151
|
|
|
152
|
+
const featureFlagServiceAtom = atom((get) => {
|
|
153
|
+
const config = get(enviveConfigAtom);
|
|
154
|
+
const featureOverrides = config?.featureOverrides;
|
|
155
|
+
return {
|
|
156
|
+
isFeatureGateEnabled: (gate: string) => featureOverrides?.[gate] || false,
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
|
|
152
160
|
export const supportedEventAtom = atom(
|
|
153
161
|
(get): SupportedEvent | undefined => {
|
|
154
162
|
const maybeSupportedEvent = get(internalStorageSupportedEventAtom);
|
|
@@ -170,7 +178,8 @@ export const supportedEventAtom = atom(
|
|
|
170
178
|
const featureFlagService = get(featureFlagServiceAtom);
|
|
171
179
|
const maybeSupportedEvent = get(internalSupportedEventAtom);
|
|
172
180
|
const variantCategory = maybeSupportedEvent?.category;
|
|
173
|
-
const
|
|
181
|
+
const config = get(enviveConfigAtom);
|
|
182
|
+
const orgShortName = config?.orgShortName;
|
|
174
183
|
|
|
175
184
|
// TODO: clean up this logic & the feature gate when we've fully rolled out
|
|
176
185
|
if (
|
|
@@ -180,8 +189,8 @@ export const supportedEventAtom = atom(
|
|
|
180
189
|
) &&
|
|
181
190
|
variantCategory &&
|
|
182
191
|
variantCategory !== SupportedEventProductCategory.Shapewear &&
|
|
183
|
-
(
|
|
184
|
-
|
|
192
|
+
(orgShortName === OrgShortName.Spanx ||
|
|
193
|
+
orgShortName === OrgShortName.SpanxStaging)
|
|
185
194
|
) {
|
|
186
195
|
const modifiedSupportedEvent = {
|
|
187
196
|
supported: false,
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
-
import { UserEventCategory } from
|
|
2
|
-
import { atom } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { UserEventCategory } from "@spiffy-ai/commerce-api-client/dist/models/UserEventCategory";
|
|
2
|
+
import { atom } from "jotai";
|
|
3
|
+
import { SpiffyMetricsEventName } from "src/contexts/amplitudeContext/amplitudeContext";
|
|
4
|
+
import {
|
|
5
|
+
FormSubmittedAttributes,
|
|
6
|
+
Message,
|
|
7
|
+
Suggestion,
|
|
8
|
+
UserEvent,
|
|
9
|
+
} from "src/application/models";
|
|
10
|
+
import { ChatElementDisplayLocation } from "src/application/models/chatElementDisplayLocation";
|
|
11
|
+
import { SpiffyEventName } from "src/application/models/events";
|
|
7
12
|
|
|
8
13
|
export const userHasRepliedAtom = atom<boolean>(false);
|
|
9
|
-
export const replyEventCategoryAtom = atom<UserEventCategory>(
|
|
14
|
+
export const replyEventCategoryAtom = atom<UserEventCategory>(
|
|
15
|
+
UserEventCategory.AppLoaded
|
|
16
|
+
);
|
|
10
17
|
export const userQueryAtom = atom<string>();
|
|
11
18
|
export const suggestionAtom = atom<Suggestion | undefined>(undefined);
|
|
12
19
|
export const askQuestionBtnClickedAtom = atom<boolean>(false);
|
|
@@ -20,25 +27,28 @@ export const requestFailureAtom = atom<boolean>(false);
|
|
|
20
27
|
export const formSubmitAtom = atom<FormSubmittedAttributes>();
|
|
21
28
|
export const chatOnToggleAtom = atom(
|
|
22
29
|
null,
|
|
23
|
-
(
|
|
30
|
+
(
|
|
31
|
+
get,
|
|
32
|
+
set,
|
|
33
|
+
triggerLocation?: ChatElementDisplayLocation,
|
|
34
|
+
track?: (
|
|
35
|
+
eventName: SpiffyMetricsEventName,
|
|
36
|
+
eventProps?: Record<string, unknown>
|
|
37
|
+
) => void
|
|
38
|
+
) => {
|
|
24
39
|
const isOpen = get(chatIsOpenAtom);
|
|
25
40
|
set(chatIsOpenAtom, !isOpen);
|
|
26
41
|
|
|
27
42
|
if (!isOpen) {
|
|
28
43
|
window.dispatchEvent(new CustomEvent(SpiffyEventName.WidgetOpen));
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
message_metadata: {
|
|
33
|
-
trigger_location: triggerLocation,
|
|
34
|
-
},
|
|
44
|
+
track?.(SpiffyMetricsEventName.ChatComponentExpanded, {
|
|
45
|
+
message_metadata: {
|
|
46
|
+
trigger_location: triggerLocation,
|
|
35
47
|
},
|
|
36
48
|
});
|
|
37
49
|
} else {
|
|
38
50
|
window.dispatchEvent(new CustomEvent(SpiffyEventName.WidgetClose));
|
|
39
|
-
|
|
40
|
-
eventName: SpiffyMetricsEventName.ChatComponentCollapsed,
|
|
41
|
-
});
|
|
51
|
+
track?.(SpiffyMetricsEventName.ChatComponentCollapsed);
|
|
42
52
|
}
|
|
43
|
-
}
|
|
53
|
+
}
|
|
44
54
|
);
|
|
@@ -6,8 +6,13 @@ import {
|
|
|
6
6
|
UserEvent,
|
|
7
7
|
} from "src/application/models";
|
|
8
8
|
import { getAtomStore } from "src/atoms/atomStore/atomStore";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { userIdAtom, chatIdAtom } from "src/atoms/app";
|
|
10
|
+
import {
|
|
11
|
+
orgShortNameAtom,
|
|
12
|
+
contextSourceAtom,
|
|
13
|
+
envAtom,
|
|
14
|
+
} from "src/atoms/envive/enviveConfig";
|
|
15
|
+
import { orgIdAtom, featureFlagServiceAtom } from "src/atoms/org/graphqlConfig";
|
|
11
16
|
|
|
12
17
|
const internalUserEventQueueAtom = atom<UserEvent[]>([]);
|
|
13
18
|
|
|
@@ -61,6 +66,12 @@ export const userQueueEventCountAtom = atom(
|
|
|
61
66
|
(get) => get(userEventQueueAtom).length
|
|
62
67
|
);
|
|
63
68
|
|
|
69
|
+
import {
|
|
70
|
+
ContextSourceEnum,
|
|
71
|
+
ContextEnvEnum,
|
|
72
|
+
} from "@spiffy-ai/commerce-api-client"; // Import necessary enums
|
|
73
|
+
// import type { Context } from "@spiffy-ai/commerce-api-client/dist/models/Context"; // Import Context type
|
|
74
|
+
|
|
64
75
|
export const createResponsePayload = ({
|
|
65
76
|
userEvents,
|
|
66
77
|
generationParams,
|
|
@@ -69,14 +80,34 @@ export const createResponsePayload = ({
|
|
|
69
80
|
generationParams?: GenerationParams;
|
|
70
81
|
}): NextMessageRequest => {
|
|
71
82
|
const atomStore = getAtomStore();
|
|
72
|
-
const
|
|
83
|
+
const orgShortName = atomStore.get(orgShortNameAtom);
|
|
84
|
+
const orgId = atomStore.get(orgIdAtom);
|
|
85
|
+
const userId = atomStore.get(userIdAtom);
|
|
86
|
+
const chatId = atomStore.get(chatIdAtom);
|
|
87
|
+
const source = atomStore.get(contextSourceAtom);
|
|
88
|
+
const env = atomStore.get(envAtom);
|
|
89
|
+
|
|
73
90
|
const featureFlagService = atomStore.get(featureFlagServiceAtom);
|
|
74
|
-
|
|
91
|
+
|
|
92
|
+
const context = {
|
|
93
|
+
userId: userId ?? "",
|
|
94
|
+
org_id: orgId ?? "",
|
|
95
|
+
org_short_name: orgShortName ?? "",
|
|
96
|
+
chat_id: chatId ?? "",
|
|
97
|
+
source: source ?? ContextSourceEnum.App,
|
|
98
|
+
env: (env as ContextEnvEnum) ?? ContextEnvEnum.Dev,
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const featureFlags =
|
|
102
|
+
featureFlagService?.featureFlagService?.getFeatureFlags() || {};
|
|
103
|
+
|
|
75
104
|
return {
|
|
76
105
|
id: uuid(),
|
|
77
106
|
context,
|
|
78
107
|
userEvents,
|
|
79
|
-
featureFlags
|
|
108
|
+
featureFlags: Object.fromEntries(
|
|
109
|
+
Object.entries(featureFlags).filter(([, isEnabled]) => isEnabled)
|
|
110
|
+
), // Convert back to Record<string, boolean>
|
|
80
111
|
generationParams,
|
|
81
112
|
};
|
|
82
113
|
};
|
|
@@ -1,51 +1,59 @@
|
|
|
1
|
-
import { atom } from
|
|
2
|
-
import { Message, MessageType } from
|
|
1
|
+
import { atom } from "jotai";
|
|
2
|
+
import { Message, MessageType } from "src/application/models";
|
|
3
3
|
import {
|
|
4
4
|
userHasRepliedAtom,
|
|
5
5
|
messagesAtom,
|
|
6
6
|
userQueryAtom,
|
|
7
7
|
replyEventCategoryAtom,
|
|
8
|
-
} from
|
|
9
|
-
import { UserEventCategory } from
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
8
|
+
} from "src/atoms/chat";
|
|
9
|
+
import { UserEventCategory } from "@spiffy-ai/commerce-api-client";
|
|
10
|
+
import { queueUserEventAtom } from "./messageQueue";
|
|
11
|
+
import { SpiffyMetricsEventName } from "src/contexts/amplitudeContext/amplitudeContext";
|
|
12
|
+
import { amplitudeTrackEventAtom } from "src/atoms/amplitude/amplitudeTrackEventAtom";
|
|
12
13
|
|
|
13
14
|
type HandleReplyParams = {
|
|
14
15
|
message: Message;
|
|
15
16
|
userTyped: boolean;
|
|
16
17
|
};
|
|
17
18
|
|
|
18
|
-
export const handleReplyAtom = atom(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
export const handleReplyAtom = atom(
|
|
20
|
+
null,
|
|
21
|
+
(get, set, { message, userTyped }: HandleReplyParams) => {
|
|
22
|
+
if (message.type !== MessageType.QueryTyped) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
const trackEvent = get(amplitudeTrackEventAtom);
|
|
27
|
+
const queryTyped = message.metadata.content;
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
AmplitudeAdapter.trackEvent({
|
|
38
|
-
eventName: SpiffyMetricsEventName.ChatUserMessageInput,
|
|
39
|
-
eventProps: {
|
|
40
|
-
message_id: message.id,
|
|
41
|
-
message_role: message.role,
|
|
42
|
-
message_type: message.type,
|
|
43
|
-
message_metadata: {
|
|
44
|
-
content: AmplitudeAdapter.amplitudeSafeString(message?.metadata?.content),
|
|
45
|
-
created_at: message.createdAt,
|
|
46
|
-
user_typed: userTyped,
|
|
29
|
+
set(replyEventCategoryAtom, UserEventCategory.QueryTyped);
|
|
30
|
+
set(userQueryAtom, queryTyped);
|
|
31
|
+
set(messagesAtom, [...get(messagesAtom), [message]]);
|
|
32
|
+
set(userHasRepliedAtom, true);
|
|
33
|
+
set(queueUserEventAtom, {
|
|
34
|
+
eventId: message.id,
|
|
35
|
+
createdAt: message.createdAt,
|
|
36
|
+
category: UserEventCategory.QueryTyped,
|
|
37
|
+
attributes: {
|
|
38
|
+
query: queryTyped,
|
|
47
39
|
},
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
if (trackEvent) {
|
|
43
|
+
trackEvent({
|
|
44
|
+
eventName: SpiffyMetricsEventName.ChatUserMessageInput,
|
|
45
|
+
eventProps: {
|
|
46
|
+
message_id: message.id,
|
|
47
|
+
message_role: message.role,
|
|
48
|
+
message_type: message.type,
|
|
49
|
+
message_metadata: {
|
|
50
|
+
content: message?.metadata?.content, // Removed amplitudeSafeString
|
|
51
|
+
created_at: message.createdAt,
|
|
52
|
+
user_typed: userTyped,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
alsoSendToGoogleAnalytics: true,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
);
|
|
@@ -2,7 +2,7 @@ import Logger from "src/application/logging/logger";
|
|
|
2
2
|
import { atom } from "jotai";
|
|
3
3
|
import { EnviveConfig } from "src/contexts/types";
|
|
4
4
|
import { ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
|
|
5
|
-
import {
|
|
5
|
+
import { LocalStorageKeys } from "src/contexts/localStorageContext";
|
|
6
6
|
|
|
7
7
|
const internalEnviveConfigAtom = atom<EnviveConfig | undefined>(undefined);
|
|
8
8
|
|
|
@@ -48,15 +48,13 @@ export const cdnUrlAtom = atom((get) => {
|
|
|
48
48
|
export const contextSourceAtom = atom((get) => {
|
|
49
49
|
const config = get(enviveConfigAtom);
|
|
50
50
|
|
|
51
|
-
if (window.IS_STORYBOOK) {
|
|
52
|
-
return ContextSourceEnum.Test;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
51
|
if (config?.contextSource) {
|
|
56
52
|
return config.contextSource as ContextSourceEnum;
|
|
57
53
|
}
|
|
58
54
|
|
|
59
|
-
const spiffyOnFeatureFlagSet =
|
|
55
|
+
const spiffyOnFeatureFlagSet = window.localStorage.getItem(
|
|
56
|
+
LocalStorageKeys.SpiffyOnOverride
|
|
57
|
+
);
|
|
60
58
|
if (spiffyOnFeatureFlagSet === "true") {
|
|
61
59
|
return ContextSourceEnum.Playground;
|
|
62
60
|
}
|
|
@@ -79,3 +77,9 @@ export const identifyingPrefixAtom = atom((get) => {
|
|
|
79
77
|
Logger.logDebug("enviveConfig.ts: Accessing identifyingPrefix", config);
|
|
80
78
|
return config?.identifyingPrefix || "spiffy";
|
|
81
79
|
});
|
|
80
|
+
|
|
81
|
+
export const publicKeyAtom = atom((get) => {
|
|
82
|
+
const config = get(enviveConfigAtom);
|
|
83
|
+
Logger.logDebug("enviveConfig.ts: Accessing publicKey", config);
|
|
84
|
+
return config?.publicKey;
|
|
85
|
+
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { atom } from "jotai";
|
|
2
2
|
import { ColorMapping } from "src/application/models/colorsConfig";
|
|
3
3
|
import { FrontendConfig } from "src/application/models/frontendConfig";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { orgShortNameAtom } from "../envive/enviveConfig";
|
|
5
|
+
import { FeatureFlagContextType } from "src/contexts/featureFlagServiceContext/featureFlagServiceContext"; // Import FeatureFlagContextType from new context
|
|
6
6
|
|
|
7
7
|
export const internalGraphQLColorsConfigAtom = atom<ColorMapping | undefined>(
|
|
8
8
|
undefined
|
|
@@ -11,42 +11,10 @@ const internalGraphQLFrontendConfigAtom = atom<FrontendConfig | undefined>(
|
|
|
11
11
|
undefined
|
|
12
12
|
);
|
|
13
13
|
|
|
14
|
-
export const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (!orgShortName) {
|
|
19
|
-
return colors;
|
|
20
|
-
}
|
|
21
|
-
const orgInfo = await getOrgInfo(orgShortName);
|
|
22
|
-
const orgUIConfigColors = orgInfo.orgColors();
|
|
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;
|
|
45
|
-
},
|
|
46
|
-
(_, set, value: ColorMapping | undefined) => {
|
|
47
|
-
set(internalGraphQLColorsConfigAtom, value);
|
|
48
|
-
}
|
|
49
|
-
);
|
|
14
|
+
export const orgIdAtom = atom<string | undefined>(undefined); // New atom for orgId
|
|
15
|
+
export const featureFlagServiceAtom = atom<FeatureFlagContextType | undefined>(
|
|
16
|
+
undefined
|
|
17
|
+
); // New atom for FeatureFlagService
|
|
50
18
|
|
|
51
19
|
export const frontendConfigAtom = atom(
|
|
52
20
|
(get) => get(internalGraphQLFrontendConfigAtom),
|
package/src/atoms/org/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from "./customerService";
|
|
2
2
|
export * from "./graphqlConfig";
|
|
3
|
-
export * from "./
|
|
4
|
-
export * from "./org";
|
|
3
|
+
// export * from "./org";
|
|
5
4
|
export * from "./orgAnalyticsConfig";
|
|
6
|
-
export * from "./
|
|
7
|
-
export * from "./orgUIConfig";
|
|
5
|
+
export * from "./newOrgConfigAtom";
|
|
6
|
+
// export * from "./orgUIConfig";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
userQueryAtom,
|
|
15
15
|
} from "src/atoms/chat";
|
|
16
16
|
import { queueUserEventAtom } from "../chat/messageQueue";
|
|
17
|
-
import {
|
|
17
|
+
import { newOrgConfigAtom } from "../org";
|
|
18
18
|
import { ProductFilters } from "./productFilters";
|
|
19
19
|
import { ProductSorter } from "./productSorter";
|
|
20
20
|
import { ChatSearchStateType, ProductSorting } from "./types";
|
|
@@ -75,8 +75,11 @@ const buildChatSearchTurn = (
|
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
const chatSearchFilterConfigAtom = atom((get) => {
|
|
78
|
-
const
|
|
79
|
-
return
|
|
78
|
+
const newOrgConfig = get(newOrgConfigAtom);
|
|
79
|
+
return (
|
|
80
|
+
newOrgConfig?.frontendConfig?.uiConfigs?.searchConfig?.searchFilterConfig ||
|
|
81
|
+
[]
|
|
82
|
+
);
|
|
80
83
|
});
|
|
81
84
|
|
|
82
85
|
const searchMapAtom = atom((get) => {
|
|
@@ -107,8 +110,11 @@ export const selectedFilterOptionsAtom = atom<SelectedChatSearchFilterOption[]>(
|
|
|
107
110
|
);
|
|
108
111
|
|
|
109
112
|
export const additiveDynamicFiltersAtom = atom((get) => {
|
|
110
|
-
const
|
|
111
|
-
return
|
|
113
|
+
const newOrgConfig = get(newOrgConfigAtom);
|
|
114
|
+
return (
|
|
115
|
+
newOrgConfig?.frontendConfig?.uiConfigs?.searchConfig
|
|
116
|
+
?.additiveDynamicFilters ?? false
|
|
117
|
+
);
|
|
112
118
|
});
|
|
113
119
|
|
|
114
120
|
export const createChatSearchFilterOption = (
|