@envive-ai/react-hooks 0.2.6-alpha-arthur-2 → 0.2.6-alpha.11
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-C_1T1iOt.js → NewOrgConfig-BZCP9E7v.js} +2 -2
- package/dist/{NewOrgConfig-D2Kvqa1z.cjs → NewOrgConfig-DWLMI1ga.cjs} +2 -2
- package/dist/SystemSettingsContext-CO5c1L62.cjs +20 -0
- package/dist/SystemSettingsContext-CXmUlH8i.js +13 -0
- package/dist/TrackComponentVisibleEvent-BJgNOypY.js +52 -0
- package/dist/TrackComponentVisibleEvent-BRC2FTp-.cjs +59 -0
- package/dist/amplitudeContext-CCVyp5RU.d.cts +52 -0
- package/dist/amplitudeContext-DFYBDc0h.d.ts +52 -0
- package/dist/api-BWSsazAG.js +166 -0
- package/dist/api-DeW6rHj3.cjs +239 -0
- package/dist/application/models/graphql/index.cjs +3 -3
- package/dist/application/models/graphql/index.d.cts +2 -2
- package/dist/application/models/graphql/index.d.ts +2 -2
- package/dist/application/models/graphql/index.js +3 -2
- package/dist/application/models/guards/api/index.cjs +3 -3
- 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 +3 -3
- package/dist/application/models/guards/utils.cjs +1 -1
- package/dist/application/models/guards/utils.d.ts +1 -1
- package/dist/application/models/guards/utils.js +1 -1
- package/dist/application/models/index.cjs +23 -7
- package/dist/application/models/index.d.cts +12 -167
- package/dist/application/models/index.d.ts +13 -168
- package/dist/application/models/index.js +11 -7
- package/dist/application/models/utilityTypes/index.cjs +1 -0
- package/dist/application/models/utilityTypes/index.d.cts +2 -0
- package/dist/application/models/utilityTypes/index.d.ts +2 -0
- package/dist/application/models/utilityTypes/index.js +3 -0
- package/dist/application/models/variantInfo/index.cjs +3 -0
- package/dist/application/models/variantInfo/index.d.cts +2 -0
- package/dist/application/models/variantInfo/index.d.ts +2 -0
- package/dist/application/models/variantInfo/index.js +3 -0
- package/dist/application/utils/index.cjs +19 -10
- package/dist/application/utils/index.d.cts +62 -11
- package/dist/application/utils/index.d.ts +64 -13
- package/dist/application/utils/index.js +19 -10
- package/dist/{atomStore-BQVO5haU.cjs → atomStore-DNji91Im.cjs} +1 -1
- package/dist/{atomStore-CfzCqWB9.js → atomStore-DXTVqiKc.js} +1 -1
- package/dist/atoms/app/index.cjs +24 -22
- package/dist/atoms/app/index.d.cts +21 -9
- package/dist/atoms/app/index.d.ts +20 -8
- package/dist/atoms/app/index.js +19 -17
- package/dist/atoms/atomStore/index.cjs +1 -1
- package/dist/atoms/atomStore/index.js +1 -1
- package/dist/atoms/chat/index.cjs +21 -20
- package/dist/atoms/chat/index.d.cts +46 -36
- package/dist/atoms/chat/index.d.ts +44 -34
- package/dist/atoms/chat/index.js +21 -20
- package/dist/atoms/globalSearch/index.cjs +2 -1
- package/dist/atoms/globalSearch/index.d.cts +6 -6
- package/dist/atoms/globalSearch/index.d.ts +1 -1
- package/dist/atoms/globalSearch/index.js +2 -1
- package/dist/atoms/org/index.cjs +11 -10
- package/dist/atoms/org/index.d.cts +32 -19
- package/dist/atoms/org/index.d.ts +32 -19
- package/dist/atoms/org/index.js +3 -2
- package/dist/atoms/search/index.cjs +47 -7
- package/dist/atoms/search/index.d.cts +15 -76
- package/dist/atoms/search/index.d.ts +15 -76
- package/dist/atoms/search/index.js +29 -7
- 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/atoms/search/utils.cjs +1 -1
- package/dist/atoms/search/utils.d.cts +1 -1
- package/dist/atoms/search/utils.d.ts +1 -1
- package/dist/atoms/search/utils.js +1 -1
- package/dist/cdnContext-BnqmnEvR.js +38 -0
- package/dist/cdnContext-CnYcBOr9.cjs +53 -0
- package/dist/chat-CqPuT9_V.cjs +393 -0
- package/dist/chat-DH70QqJp.js +257 -0
- package/dist/chatElementDisplayLocation-CpgV2wR1.d.ts +25 -0
- package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
- package/dist/chatSearch-ChyGuHbu.js +295 -0
- package/dist/chatSearch-DpnpRWAW.cjs +418 -0
- package/dist/chatState-CcFtSqJT.cjs +120 -0
- package/dist/chatState-DKnNHmwe.js +34 -0
- package/dist/config/index.d.cts +4 -4
- package/dist/config/index.d.ts +4 -4
- 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/variants/index.d.cts +1 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
- package/dist/config/locators/components/common/index.d.cts +1 -1
- package/dist/config/locators/components/common/index.d.ts +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/search/index.d.cts +1 -1
- package/dist/config/locators/components/search/index.d.ts +1 -1
- package/dist/config/locators/index.d.cts +4 -4
- package/dist/config/locators/index.d.ts +4 -4
- package/dist/contexts/amplitudeContext/index.cjs +22 -23
- package/dist/contexts/amplitudeContext/index.d.cts +2 -11
- package/dist/contexts/amplitudeContext/index.d.ts +2 -11
- package/dist/contexts/amplitudeContext/index.js +20 -22
- package/dist/contexts/cdnContext/index.cjs +4 -4
- package/dist/contexts/cdnContext/index.d.cts +6 -2
- package/dist/contexts/cdnContext/index.d.ts +6 -2
- package/dist/contexts/cdnContext/index.js +4 -4
- package/dist/contexts/chatContext/index.cjs +326 -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 +319 -0
- package/dist/contexts/enviveConfigContext/index.cjs +4 -4
- package/dist/contexts/enviveConfigContext/index.d.cts +25 -3
- package/dist/contexts/enviveConfigContext/index.d.ts +25 -3
- package/dist/contexts/enviveConfigContext/index.js +4 -4
- package/dist/contexts/enviveCssContext/index.cjs +19 -15
- package/dist/contexts/enviveCssContext/index.d.cts +5 -3
- package/dist/contexts/enviveCssContext/index.d.ts +5 -3
- package/dist/contexts/enviveCssContext/index.js +19 -15
- package/dist/contexts/featureFlagContext/index.cjs +10 -9
- package/dist/contexts/featureFlagContext/index.d.cts +12 -3
- package/dist/contexts/featureFlagContext/index.d.ts +12 -3
- package/dist/contexts/featureFlagContext/index.js +7 -6
- package/dist/contexts/featureFlagServiceContext/index.cjs +3 -4
- package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -1
- package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -1
- package/dist/contexts/featureFlagServiceContext/index.js +3 -4
- package/dist/contexts/graphqlContext/index.cjs +13 -8
- package/dist/contexts/graphqlContext/index.d.cts +15 -11
- package/dist/contexts/graphqlContext/index.d.ts +15 -11
- package/dist/contexts/graphqlContext/index.js +13 -8
- package/dist/contexts/localStorageContext/index.cjs +3 -3
- package/dist/contexts/localStorageContext/index.d.cts +22 -3
- package/dist/contexts/localStorageContext/index.d.ts +22 -3
- package/dist/contexts/localStorageContext/index.js +3 -4
- package/dist/contexts/newOrgConfigContext/index.cjs +17 -13
- package/dist/contexts/newOrgConfigContext/index.d.cts +16 -12
- package/dist/contexts/newOrgConfigContext/index.d.ts +16 -12
- package/dist/contexts/newOrgConfigContext/index.js +17 -13
- package/dist/contexts/searchContext/index.cjs +24 -23
- package/dist/contexts/searchContext/index.d.cts +7 -2
- package/dist/contexts/searchContext/index.d.ts +7 -2
- package/dist/contexts/searchContext/index.js +24 -23
- package/dist/contexts/sessionStorageContext/index.cjs +2 -2
- package/dist/contexts/sessionStorageContext/index.d.cts +6 -2
- package/dist/contexts/sessionStorageContext/index.d.ts +6 -2
- package/dist/contexts/sessionStorageContext/index.js +2 -2
- package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
- package/dist/contexts/shopifyUrlContext/index.d.cts +12 -2
- package/dist/contexts/shopifyUrlContext/index.d.ts +12 -2
- package/dist/contexts/shopifyUrlContext/index.js +2 -2
- package/dist/contexts/systemSettingsContext/index.cjs +4 -4
- package/dist/contexts/systemSettingsContext/index.d.cts +13 -2
- package/dist/contexts/systemSettingsContext/index.d.ts +15 -4
- package/dist/contexts/systemSettingsContext/index.js +4 -4
- package/dist/contexts/types.cjs +7 -0
- package/dist/contexts/types.d.cts +5 -0
- package/dist/contexts/types.d.ts +5 -0
- package/dist/contexts/types.js +3 -0
- package/dist/contexts/userIdentityContext/index.cjs +21 -19
- package/dist/contexts/userIdentityContext/index.d.cts +2 -11
- package/dist/contexts/userIdentityContext/index.d.ts +2 -11
- package/dist/contexts/userIdentityContext/index.js +19 -17
- package/dist/custservice-types-CcPnAJ5k.d.ts +29 -0
- package/dist/custservice-types-_Dnz4sMy.d.cts +29 -0
- package/dist/domObserver-Bqf3ooj8.cjs +304 -0
- package/dist/{domObserver-C2oQO8vi.cjs → domObserver-v9ODTyfT.js} +4 -23
- package/dist/enviveConfig-DZBohDpc.js +62 -0
- package/dist/enviveConfig-Dv9-esGV.cjs +130 -0
- package/dist/enviveConfigContext-D2OELZDR.cjs +60 -0
- package/dist/enviveConfigContext-DrDjCems.js +45 -0
- package/dist/events/index.cjs +3 -2
- package/dist/events/index.d.cts +15 -2
- package/dist/events/index.d.ts +15 -2
- package/dist/events/index.js +2 -2
- package/dist/events-DYY4l817.cjs +90 -0
- package/dist/events-DyUix-Bn.js +78 -0
- package/dist/featureFlagServiceContext-B01ZkIwj.d.cts +23 -0
- package/dist/featureFlagServiceContext-CJyYItqu.cjs +62 -0
- package/dist/featureFlagServiceContext-FBM6DdMJ.js +42 -0
- package/dist/featureFlagServiceContext-jZzoym5C.d.ts +23 -0
- package/dist/featureGates-KEwAL8p_.js +26 -0
- package/dist/featureGates-qU_ulhpC.cjs +32 -0
- package/dist/frontendConfig-BIq8r6nC.d.cts +858 -0
- package/dist/frontendConfig-CixANNjw.d.ts +858 -0
- package/dist/{globalSearch-Cpc8egsM.cjs → globalSearch-Ba342VVG.cjs} +1 -1
- package/dist/globalSearch-DQCMamhv.js +1 -0
- package/dist/globalSearch-DYxPE02f.cjs +0 -0
- package/dist/{globalSearch-nmrfGLOn.js → globalSearch-eGx-9JQz.js} +1 -1
- package/dist/graphql-3PxNRFOc.js +36 -0
- package/dist/graphql-DGYfelZp.cjs +53 -0
- package/dist/graphqlConfig-GHZ1UgCw.cjs +73 -0
- package/dist/graphqlConfig-mDg6J44N.js +24 -0
- package/dist/graphqlContext-B4twVCqw.d.ts +28 -0
- package/dist/graphqlContext-BZPEAFSR.cjs +111 -0
- package/dist/graphqlContext-W6iEyEkv.d.cts +28 -0
- package/dist/graphqlContext-eaZPxgRE.js +96 -0
- package/dist/hooks/AmplitudeOperations/index.cjs +22 -23
- package/dist/hooks/AmplitudeOperations/index.d.cts +2 -2
- package/dist/hooks/AmplitudeOperations/index.d.ts +2 -2
- package/dist/hooks/AmplitudeOperations/index.js +21 -22
- package/dist/hooks/AppDetails/index.cjs +22 -20
- package/dist/hooks/AppDetails/index.d.cts +24 -3
- package/dist/hooks/AppDetails/index.d.ts +24 -3
- package/dist/hooks/AppDetails/index.js +22 -20
- package/dist/hooks/CdnOperations/index.cjs +4 -4
- package/dist/hooks/CdnOperations/index.js +4 -4
- package/dist/hooks/ChatToggle/index.cjs +25 -28
- package/dist/hooks/ChatToggle/index.d.cts +2 -2
- package/dist/hooks/ChatToggle/index.d.ts +2 -2
- package/dist/hooks/ChatToggle/index.js +22 -25
- package/dist/hooks/ChatToggleAnalytics/index.cjs +24 -25
- package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -2
- package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -2
- package/dist/hooks/ChatToggleAnalytics/index.js +23 -24
- package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -2
- package/dist/hooks/CustomerSupportHandoff/index.js +2 -2
- package/dist/hooks/Debounce/index.cjs +2 -20
- package/dist/hooks/Debounce/index.js +2 -18
- package/dist/hooks/ElementObserver/index.cjs +6 -4
- package/dist/hooks/ElementObserver/index.d.cts +25 -4
- package/dist/hooks/ElementObserver/index.d.ts +25 -4
- package/dist/hooks/ElementObserver/index.js +6 -4
- package/dist/hooks/FloatingButtonVisibility/index.cjs +73 -0
- package/dist/hooks/FloatingButtonVisibility/index.d.cts +7 -0
- package/dist/hooks/FloatingButtonVisibility/index.d.ts +7 -0
- package/dist/hooks/FloatingButtonVisibility/index.js +69 -0
- package/dist/hooks/GrabAndScroll/index.cjs +1 -1
- package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
- package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
- package/dist/hooks/GrabAndScroll/index.js +1 -1
- package/dist/hooks/GraphQLConfig/index.cjs +14 -9
- package/dist/hooks/GraphQLConfig/index.d.cts +14 -2
- package/dist/hooks/GraphQLConfig/index.d.ts +14 -2
- package/dist/hooks/GraphQLConfig/index.js +14 -9
- package/dist/hooks/IdentifyUser/index.cjs +21 -19
- package/dist/hooks/IdentifyUser/index.js +20 -18
- package/dist/hooks/ImageResolver/index.cjs +29 -20
- package/dist/hooks/ImageResolver/index.js +29 -20
- package/dist/hooks/Intersection/index.cjs +1 -1
- package/dist/hooks/Intersection/index.d.cts +1 -1
- package/dist/hooks/Intersection/index.js +1 -1
- package/dist/hooks/LastInteraction/index.cjs +34 -0
- package/dist/hooks/LastInteraction/index.d.cts +7 -0
- package/dist/hooks/LastInteraction/index.d.ts +7 -0
- package/dist/hooks/LastInteraction/index.js +32 -0
- package/dist/hooks/LocalStorageOperations/index.cjs +7 -8
- package/dist/hooks/LocalStorageOperations/index.js +3 -4
- package/dist/hooks/MessageFilter/index.cjs +12 -3
- package/dist/hooks/MessageFilter/index.d.cts +18 -2
- package/dist/hooks/MessageFilter/index.d.ts +18 -2
- package/dist/hooks/MessageFilter/index.js +11 -2
- package/dist/hooks/NewOrgConfig/index.cjs +18 -14
- package/dist/hooks/NewOrgConfig/index.d.cts +17 -3
- package/dist/hooks/NewOrgConfig/index.d.ts +17 -3
- package/dist/hooks/NewOrgConfig/index.js +18 -14
- package/dist/hooks/Search/index.cjs +173 -314
- package/dist/hooks/Search/index.d.cts +58 -3
- package/dist/hooks/Search/index.d.ts +58 -3
- package/dist/hooks/Search/index.js +162 -302
- package/dist/hooks/SearchOperations/index.cjs +25 -24
- package/dist/hooks/SearchOperations/index.d.cts +3 -2
- package/dist/hooks/SearchOperations/index.d.ts +3 -2
- package/dist/hooks/SearchOperations/index.js +25 -24
- package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
- package/dist/hooks/SessionStorageOperations/index.js +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.cjs +3 -3
- package/dist/hooks/ShopifyUrlOperations/index.d.cts +5 -2
- package/dist/hooks/ShopifyUrlOperations/index.d.ts +5 -2
- package/dist/hooks/ShopifyUrlOperations/index.js +3 -3
- package/dist/hooks/SnapCalculator/index.cjs +1 -1
- package/dist/hooks/SnapCalculator/index.d.cts +3 -4
- package/dist/hooks/SnapCalculator/index.d.ts +3 -4
- package/dist/hooks/SnapCalculator/index.js +1 -1
- package/dist/hooks/SystemSettingsContext/index.cjs +6 -17
- package/dist/hooks/SystemSettingsContext/index.d.cts +16 -5
- package/dist/hooks/SystemSettingsContext/index.d.ts +16 -5
- package/dist/hooks/SystemSettingsContext/index.js +6 -15
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -23
- package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +3 -2
- package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +3 -2
- package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -23
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +24 -26
- package/dist/hooks/UpdateAnalyticsProps/index.js +20 -22
- package/dist/hooks/utils.cjs +1 -1
- package/dist/hooks/utils.d.cts +14 -20
- package/dist/hooks/utils.d.ts +14 -20
- package/dist/hooks/utils.js +1 -1
- package/dist/index-9oqgeOVC.d.cts +186 -0
- package/dist/index-A0HvA68Y.d.cts +1 -0
- package/dist/index-BC93l5Th.d.ts +1 -0
- package/dist/index-BEzmil_W.d.ts +44 -0
- package/dist/{index-DtzPIcQp.d.ts → index-BdjH4aRG.d.ts} +1 -1
- package/dist/{index-CsmO1rDH.d.ts → index-BfM7zKRO.d.ts} +1 -1
- package/dist/index-Bmub8e38.d.cts +98 -0
- package/dist/{index-mv7KvWDq.d.ts → index-CA1Eo7DA.d.ts} +1 -1
- package/dist/index-CCa4tZuO.d.ts +184 -0
- package/dist/{index-ChiZg0yw.d.cts → index-CCboEuTO.d.cts} +1 -1
- package/dist/index-CESxqFso.d.cts +228 -0
- package/dist/{index-BbqT4BQv.d.cts → index-COXkY78t.d.cts} +1 -1
- package/dist/index-CboygwjO.d.ts +676 -0
- package/dist/index-CiWEYzXl.d.cts +184 -0
- package/dist/{index-jFQefHda.d.ts → index-Cw9oYJnq.d.ts} +1 -1
- package/dist/index-D5lw0cMx.d.ts +186 -0
- package/dist/{index-CAJq_8bO.d.cts → index-DZtnHhlr.d.cts} +1 -1
- package/dist/index-Dfwnna1j.d.ts +228 -0
- package/dist/index-Dt_C-I-2.d.cts +676 -0
- package/dist/index-OkKEOL6H.d.cts +44 -0
- package/dist/index-bjMvkcBF.d.ts +98 -0
- package/dist/{index-npqPeJ1g.d.cts → index-hAqp0oYb.d.cts} +1 -1
- package/dist/interceptors/index.cjs +3 -28
- package/dist/interceptors/index.d.cts +16 -4
- package/dist/interceptors/index.d.ts +16 -4
- package/dist/interceptors/index.js +3 -25
- package/dist/interceptors/types.cjs +1 -0
- package/dist/interceptors/types.d.cts +14 -0
- package/dist/interceptors/types.d.ts +14 -0
- package/dist/interceptors/types.js +3 -0
- package/dist/localStorageContext-BPZ82q-G.js +95 -0
- package/dist/localStorageContext-NRP-CdmF.cjs +115 -0
- package/dist/{logger-BqHq67zN.cjs → logger-TBIl4uIH.cjs} +1 -1
- package/dist/{logger-BMVdhQOV.js → logger-W3lqg-4b.js} +1 -1
- package/dist/models-D-4db7XW.cjs +1537 -0
- package/dist/models-c86hYW-F.js +1296 -0
- package/dist/{newOrgConfigAtom-rrYHmp1b.cjs → newOrgConfigAtom-D6R-7HCk.cjs} +1 -1
- package/dist/newOrgConfigAtom-bn1lnljf.js +8 -0
- package/dist/newOrgConfigContext-BC79qoiV.d.ts +16 -0
- package/dist/newOrgConfigContext-BqZwD8-B.cjs +68 -0
- package/dist/newOrgConfigContext-DbcDClwd.js +53 -0
- package/dist/newOrgConfigContext-eS4ZLo58.d.cts +16 -0
- package/dist/nodeSelector-DybpVr-i.d.ts +31 -0
- package/dist/nodeSelector-vKB44CDB.d.cts +31 -0
- package/dist/org-CIhjzxWr.cjs +43 -0
- package/dist/org-CeWXnpwF.js +12 -0
- package/dist/search-6RrxBXD6.d.cts +20 -0
- package/dist/search-BBu5YeQa.js +126 -0
- package/dist/search-D23INSNg.cjs +205 -0
- package/dist/search-filter-types-BItKtezf.d.cts +102 -0
- package/dist/search-filter-types-fZf91Pdw.d.ts +102 -0
- package/dist/search-nuWWnRRV.d.ts +20 -0
- package/dist/searchContext-BPT44uk-.js +129 -0
- package/dist/searchContext-CwRRiXQ3.cjs +145 -0
- package/dist/searchServiceAdapter-DEv1tTn0.cjs +34 -0
- package/dist/searchServiceAdapter-WyCU55NV.js +16 -0
- package/dist/sessionStorageContext-1Ks_d4Z0.cjs +66 -0
- package/dist/sessionStorageContext-CDcl7NVl.js +52 -0
- package/dist/shopifyUrlContext-CejRZfj7.js +61 -0
- package/dist/shopifyUrlContext-lnHoAOEf.cjs +75 -0
- package/dist/spiffyWidgets-CdxRcXhW.d.ts +20 -0
- package/dist/spiffyWidgets-eNbU1gMc.d.cts +20 -0
- package/dist/systemSettingsContext-Ba-wi2NZ.cjs +60 -0
- package/dist/systemSettingsContext-DumUaV0m.js +39 -0
- package/dist/test-types-B3YQpECG.d.cts +13 -0
- package/dist/test-types-C8NHqaUS.d.ts +13 -0
- package/dist/types/index.cjs +48 -3
- package/dist/types/index.d.cts +18 -2
- package/dist/types/index.d.ts +18 -2
- package/dist/types/index.js +44 -2
- package/dist/types-BGqrvAsw.d.ts +10 -0
- package/dist/types-CKPddlfS.cjs +0 -0
- package/dist/types-CS0Hrzja.js +30 -0
- package/dist/types-CtUb63bt.js +76 -0
- package/dist/types-CxObxLKs.cjs +48 -0
- package/dist/types-DIiH_5gL.d.cts +10 -0
- package/dist/types-Dc6hx6ei.js +1 -0
- package/dist/types-UUvB6h05.cjs +106 -0
- package/dist/types-aQTzSrH1.d.cts +51 -0
- package/dist/types-kAjmR2du.d.ts +51 -0
- package/dist/types.cjs +0 -0
- package/dist/types.d.cts +16 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.js +1 -0
- package/dist/urlsParser-COzMdJaX.cjs +78 -0
- package/dist/urlsParser-DxjoLj98.js +42 -0
- package/dist/useAmplitudeOperations-Cv0fi3uj.cjs +41 -0
- package/dist/useAmplitudeOperations-Ti6phPPq.js +34 -0
- package/dist/useAppDetails-CsXHPAh1.cjs +38 -0
- package/dist/useAppDetails-PUfYwCjK.js +30 -0
- package/dist/useDebounce-DZ8Cgiwc.cjs +26 -0
- package/dist/useDebounce-v9cezyjn.js +19 -0
- package/dist/useGraphQLConfig-BizpCw23.cjs +76 -0
- package/dist/useGraphQLConfig-DFWl9Z89.js +63 -0
- package/dist/{useIntersection-BkMkuJcZ.js → useIntersection-Cncgxdmy.js} +1 -1
- package/dist/{useIntersection-BcBCa890.cjs → useIntersection-m4PEpvG7.cjs} +1 -1
- package/dist/useMessageInterceptor-BjGP_uXm.js +25 -0
- package/dist/useMessageInterceptor-arAqUq1Q.cjs +33 -0
- package/dist/userIdentityContext-W1OWF3cG.d.ts +20 -0
- package/dist/userIdentityContext-kU1PIo8K.d.cts +20 -0
- package/dist/utilityTypes-B2KuRn37.js +1 -0
- package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
- package/dist/{utils-CqVRbvfN.cjs → utils-2SWrJ12w.cjs} +1 -1
- package/dist/utils-BewguHW0.d.cts +22 -0
- package/dist/{utils-CiJLDPjY.cjs → utils-CDw74BCO.cjs} +1 -1
- package/dist/utils-CLGXsOwE.cjs +1591 -0
- package/dist/{utils-DQhbbAnt.js → utils-CqBxIpEV.js} +1 -1
- package/dist/{utils-B1LVzQYK.js → utils-DIvMgPe8.js} +1 -1
- package/dist/utils-D_kATUj6.js +92 -0
- package/dist/{utils-BitIIghf.d.ts → utils-DpneNSJf.d.ts} +1 -1
- package/dist/utils-hKYwSBo9.d.ts +22 -0
- package/dist/utils-hYTjy7hJ.cjs +130 -0
- package/dist/utils-jYtD3hmA.js +1385 -0
- package/dist/variantInfo-BfKlkaWU.js +11 -0
- package/dist/variantInfo-DpLn4nHz.cjs +17 -0
- package/package.json +36 -9
- package/src/application/commerce-api.ts +37 -40
- package/src/application/models/api/context.ts +4 -0
- package/src/application/models/api/generationParams.ts +4 -0
- package/src/application/models/api/nextMessageRequest.ts +11 -0
- package/src/application/models/api/orgAnalyticsConfig.ts +19 -0
- package/src/application/models/api/orgConfigResults.ts +44 -0
- package/src/application/models/api/organizationConfig.ts +12 -0
- package/src/{types/ApiResponse.ts → application/models/api/response.ts} +29 -35
- package/src/application/models/api/responseGenerics.ts +67 -0
- package/src/application/models/api/search.ts +26 -0
- package/src/application/models/api/suggestion.ts +4 -0
- package/src/application/models/api/supportedEventRequest.ts +8 -0
- package/src/application/models/api/userEvent.ts +101 -0
- package/src/application/models/cachedValue.ts +8 -0
- package/src/application/models/chatElementDisplayLocation.ts +22 -0
- package/src/application/models/clientDetails.ts +18 -0
- package/src/application/models/colorsConfig.ts +28 -0
- package/src/application/models/conversationalSearchIds.ts +5 -0
- package/src/application/models/dataLayer.ts +45 -0
- package/src/application/models/events.ts +5 -0
- package/src/application/models/featureGates.ts +21 -0
- package/src/application/models/frontendConfig.ts +14 -0
- package/src/application/models/googleAnalyticsEvents.ts +8 -0
- package/src/application/models/graphql/index.ts +0 -1
- package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +23 -1
- package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +89 -1
- package/src/application/models/guards/api/isApiFormResponse.ts +4 -4
- package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +2 -2
- package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +20 -2
- package/src/application/models/guards/api/isApiOrgConfigResults.ts +9 -3
- package/src/application/models/guards/api/isApiOrganizationConfig.ts +32 -8
- package/src/application/models/guards/api/isApiPDPEventAttributes.ts +5 -8
- package/src/application/models/guards/api/isApiPLPEventAttributes.ts +10 -14
- package/src/application/models/guards/api/isApiPageResponseAttributes.ts +1 -1
- package/src/application/models/guards/api/isApiProductResponseAttributes.ts +4 -2
- package/src/application/models/guards/api/isApiProductSearchAttributes.ts +6 -9
- package/src/application/models/guards/api/isApiProductSearchFilterAttributes.ts +4 -7
- package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +3 -8
- package/src/application/models/guards/api/isApiResponse.ts +15 -22
- package/src/application/models/guards/api/isApiReviewResponseAttributes.ts +1 -1
- package/src/application/models/guards/api/isApiReviewRichInformation.ts +1 -1
- package/src/application/models/guards/api/isApiTextResponseAttributes.ts +1 -1
- package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
- package/src/application/models/guards/isBaseEcommerceEvent.ts +2 -1
- package/src/application/models/guards/isGA4EcommerceEvent.ts +1 -1
- package/src/application/models/guards/isLegacyUAEcommerceEvent.ts +1 -1
- package/src/application/models/guards/isMobilePLPChatPlacementParameter.ts +3 -1
- package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +3 -5
- package/src/application/models/guards/isVariantInfo.ts +1 -6
- package/src/application/models/index.ts +95 -30
- package/src/application/models/localStorageEventListener.ts +4 -0
- package/src/{types/Message.ts → application/models/message.ts} +34 -38
- package/src/application/models/mobilePLPChatPlacementParameter.ts +3 -0
- package/src/application/models/orgsEnum.ts +36 -0
- package/src/application/models/productExperiment.ts +5 -0
- package/src/application/models/spanxTakeAQuizCtaParameter.ts +4 -0
- package/src/application/models/spiffyWidgets.ts +16 -0
- package/src/application/models/utilityTypes/camelCase.ts +87 -0
- package/src/application/models/utilityTypes/camelCasedPropertiesDeep.ts +80 -0
- package/src/application/models/utilityTypes/delimiterCase.ts +121 -0
- package/src/application/models/utilityTypes/delimiterCasedPropertiesDeep.ts +98 -0
- package/src/application/models/utilityTypes/index.ts +1 -0
- package/src/application/models/utilityTypes/internal.ts +93 -0
- package/src/application/models/utilityTypes/primitive.ts +8 -0
- package/src/application/models/utilityTypes/snakeCasedPropertiesDeep.ts +49 -0
- package/src/application/models/utilityTypes/splitWords.ts +76 -0
- package/src/application/models/utilityTypes/trim.ts +28 -0
- package/src/application/models/utilityTypes/unknownArray.ts +25 -0
- package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +2 -6
- package/src/application/models/validators/validateGraphQLFrontendConfig.ts +6 -6
- package/src/application/models/validators/validateMobilePLPChatPlacementParameter.ts +3 -5
- package/src/application/models/validators/validateOrgConfigResults.ts +5 -6
- package/src/application/models/validators/validateOrganizationConfig.ts +8 -11
- package/src/application/models/validators/validateResponse.ts +44 -66
- package/src/application/models/validators/validateSuggestion.ts +1 -1
- package/src/application/models/validators/validateUserEvent.ts +12 -23
- package/src/application/models/variantInfo/index.ts +1 -0
- package/src/application/models/variantInfo/pageVisitInfo.ts +6 -0
- package/src/application/models/variantInfo/plpInfo.ts +3 -0
- package/src/application/models/variantInfo/productInfo.ts +5 -0
- package/src/application/models/variantInfo/variantInfo.ts +29 -0
- package/src/application/utils/__tests__/divideArrays.test.ts +14 -0
- package/src/application/utils/analyticsUtils.ts +8 -1
- package/src/application/utils/cdnUtils.ts +11 -0
- package/src/application/utils/coreContextToApiContext.ts +1 -3
- package/src/application/utils/coreUserEventToApiUserEvent.ts +2 -2
- package/src/application/utils/elementObserver.ts +1 -1
- package/src/application/utils/imageFilter.ts +2 -5
- package/src/application/utils/index.ts +21 -20
- package/src/application/utils/messageFromFormSubmittedEvent.ts +1 -1
- package/src/application/utils/messageFromQueryEvent.ts +1 -1
- package/src/application/utils/messageFromResponse.ts +10 -14
- package/src/application/utils/messageFromSuggestionEvent.ts +4 -6
- package/src/application/utils/mouseEventTypes.ts +1 -1
- package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
- package/src/application/utils/overrides.ts +49 -1
- package/src/application/utils/supportedEventRequestToApiRequest.ts +1 -3
- package/src/application/utils/urlsParser.ts +7 -1
- package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
- package/src/atoms/app/index.ts +25 -15
- package/src/atoms/app/variant.ts +1 -1
- package/src/atoms/chat/chatState.ts +4 -4
- package/src/atoms/chat/form.ts +1 -1
- package/src/atoms/chat/messageQueue.ts +50 -25
- package/src/atoms/chat/replies.ts +2 -1
- package/src/atoms/chat/suggestions.ts +29 -34
- package/src/atoms/envive/enviveConfig.ts +20 -14
- package/src/atoms/org/customerService.ts +8 -4
- package/src/atoms/org/graphqlConfig.ts +15 -7
- package/src/atoms/org/index.ts +6 -4
- package/src/atoms/org/newOrgConfigAtom.ts +2 -2
- package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
- package/src/atoms/search/chatSearch.ts +317 -0
- package/src/atoms/search/index.ts +1 -0
- package/src/atoms/search/productFilters.ts +52 -72
- package/src/atoms/search/productSorter.ts +2 -2
- package/src/atoms/search/searchAPI.ts +60 -42
- package/src/atoms/search/searchServiceAdapter.ts +1 -1
- package/src/atoms/search/types.ts +55 -0
- package/src/config/divIds.ts +27 -0
- package/src/config/socialProofClasses.ts +17 -0
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +57 -19
- package/src/contexts/cdnContext/cdnContext.tsx +6 -1
- package/src/contexts/chatContext/chatContext.tsx +509 -0
- package/src/contexts/chatContext/index.ts +1 -0
- package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +26 -12
- package/src/contexts/enviveCssContext/enviveCssContext.tsx +12 -5
- package/src/contexts/featureFlagContext/featureFlagContext.tsx +48 -27
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +3 -11
- package/src/contexts/graphqlContext/graphqlContext.tsx +95 -40
- package/src/contexts/localStorageContext/localStorageContext.tsx +60 -26
- package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +22 -10
- package/src/contexts/searchContext/searchContext.tsx +49 -29
- package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +33 -12
- package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +37 -20
- package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +21 -8
- package/src/contexts/types.ts +1067 -0
- package/src/contexts/userIdentityContext/userIdentityContext.tsx +77 -33
- package/src/events/event-types.ts +11 -0
- package/src/events/index.ts +5 -8
- package/src/events/registerAnalyticsListeners.ts +13 -10
- package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +11 -6
- package/src/hooks/AppDetails/useAppDetails.ts +24 -10
- package/src/hooks/ChatToggle/useChatToggle.ts +19 -7
- package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
- package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +1 -1
- package/src/hooks/ElementObserver/useElementObserver.ts +32 -14
- package/src/hooks/FloatingButtonVisibility/index.ts +1 -0
- package/src/hooks/FloatingButtonVisibility/useFloatingButtonVisibility.ts +99 -0
- package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +124 -125
- package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +7 -5
- package/src/hooks/ImageResolver/useImageResolver.ts +31 -24
- package/src/hooks/LastInteraction/index.ts +1 -0
- package/src/hooks/LastInteraction/useLastInteraction.ts +42 -0
- package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +19 -12
- package/src/hooks/MessageFilter/useMessageFilter.ts +7 -1
- package/src/hooks/Search/useSearch.tsx +217 -87
- package/src/hooks/SearchOperations/useSearchOperations.ts +12 -8
- package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +14 -8
- package/src/hooks/SnapCalculator/useSnapCalculator.ts +2 -1
- package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +11 -8
- package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +25 -11
- package/src/hooks/utils.ts +29 -19
- package/src/interceptors/index.ts +2 -1
- package/src/interceptors/types.ts +6 -0
- package/src/interceptors/useMessageInterceptor.ts +6 -10
- 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/customerService.ts +31 -0
- package/src/types/custservice-types.ts +28 -0
- package/src/{exceptions → types/exceptions}/unsupportedProductExceptions.ts +2 -2
- package/src/types/floatingbuttonoverrides-types.ts +10 -0
- package/src/types/index.ts +5 -4
- package/src/types/search-filter-types.ts +111 -0
- package/src/types/suggestionBarV2-types.ts +4 -0
- package/src/types/test-types.ts +3 -0
- package/src/types.ts +11 -0
- package/dist/AmplitudeOperations-6Y7GejD-.cjs +0 -41
- package/dist/AmplitudeOperations-DOEgdx-a.js +0 -34
- package/dist/TrackComponentVisibleEvent-BvDOoSsc.js +0 -53
- package/dist/TrackComponentVisibleEvent-CcZ6l_cs.cjs +0 -60
- package/dist/amplitudeContext-CH-Rtn8y.js +0 -236
- package/dist/amplitudeContext-CZXdr3HG.cjs +0 -252
- package/dist/amplitudeTrackEventAtom-D66l5oFp.js +0 -8
- package/dist/amplitudeTrackEventAtom-f22P2U0u.cjs +0 -15
- package/dist/api-D4HaU2Gf.js +0 -166
- package/dist/api-D4Xoibs9.cjs +0 -239
- package/dist/app-DEnOfim0.js +0 -515
- package/dist/app-DOEeLKrt.cjs +0 -570
- package/dist/cdnContext-CJ2BNLAD.js +0 -38
- package/dist/cdnContext-lkC-AE6A.cjs +0 -53
- package/dist/chat-ChbwDr7k.js +0 -226
- package/dist/chat-FCaaEJvJ.cjs +0 -326
- package/dist/chatState-BbI93m6r.js +0 -33
- package/dist/chatState-DlJpHAsW.cjs +0 -119
- package/dist/dist-C38adNK1.js +0 -5923
- package/dist/dist-VxRI6eQv.cjs +0 -6019
- package/dist/domObserver-DNeeSh1F.js +0 -285
- package/dist/enviveConfig-Ciq4ASoV.js +0 -62
- package/dist/enviveConfig-Dp80h9yu.cjs +0 -130
- package/dist/enviveConfigContext-0PQkfMQ6.cjs +0 -62
- package/dist/enviveConfigContext-CMDiVsln.js +0 -47
- package/dist/events-CgFGtanE.cjs +0 -69
- package/dist/events-WOOrnUAx.js +0 -63
- package/dist/exceptions/index.cjs +0 -4
- package/dist/exceptions/index.d.cts +0 -12
- package/dist/exceptions/index.d.ts +0 -12
- package/dist/exceptions/index.js +0 -3
- package/dist/exceptions-BjDgLzGi.cjs +0 -32
- package/dist/exceptions-CUGY31Ua.js +0 -20
- package/dist/featureFlagServiceContext-ClnlCJV5.d.cts +0 -24
- package/dist/featureFlagServiceContext-Cvp7NlpC.js +0 -46
- package/dist/featureFlagServiceContext-CyPGEe2d.d.ts +0 -24
- package/dist/featureFlagServiceContext-DHtkQAtq.cjs +0 -66
- package/dist/graphql-CvAHWmel.js +0 -46
- package/dist/graphql-JaGqsToc.cjs +0 -70
- package/dist/graphqlContext-0cg9fEUw.js +0 -96
- package/dist/graphqlContext-ChXlE8Ul.cjs +0 -111
- package/dist/index-5li6ZMDu.d.ts +0 -11
- package/dist/index-BVZbvpx_.d.cts +0 -11
- package/dist/index-CMZcE7pk.d.cts +0 -224
- package/dist/index-CuihhoIF.d.ts +0 -42
- package/dist/index-bEjLKG_Q.d.ts +0 -224
- package/dist/index-qOBU4GEh.d.cts +0 -42
- package/dist/localStorageContext-BFwvuEcf.js +0 -90
- package/dist/localStorageContext-CWc5xJ6U.cjs +0 -104
- package/dist/models-Cw0QcbQv.js +0 -1118
- package/dist/models-Dl0_Ujgj.cjs +0 -1305
- package/dist/newOrgConfigAtom-BuQE_zPK.js +0 -8
- package/dist/newOrgConfigContext-D-gU5ppl.js +0 -53
- package/dist/newOrgConfigContext-d3RHl430.cjs +0 -68
- package/dist/nodeSelector-BAKg1h_y.d.ts +0 -28
- package/dist/nodeSelector-BYEAyrsj.d.cts +0 -28
- package/dist/org-15F128Ah.js +0 -32
- package/dist/org-CIFgIcO4.cjs +0 -111
- package/dist/search--80x6CfL.js +0 -233
- package/dist/search-Ch6LKNh4.cjs +0 -312
- package/dist/searchContext-CSmiMhhs.js +0 -129
- package/dist/searchContext-DuB2drQx.cjs +0 -145
- package/dist/searchServiceAdapter-B0h7psvh.js +0 -16
- package/dist/searchServiceAdapter-BclWy4fE.cjs +0 -34
- package/dist/sessionStorageContext-BuWrJQwc.cjs +0 -66
- package/dist/sessionStorageContext-DvFHbk81.js +0 -52
- package/dist/shopifyUrlContext-Bw1kAZ2P.cjs +0 -75
- package/dist/shopifyUrlContext-DnJiUmMA.js +0 -61
- package/dist/systemSettingsContext-CyanI1pd.js +0 -39
- package/dist/systemSettingsContext-sM46G65r.cjs +0 -60
- package/dist/types-1iJ_FnQQ.cjs +0 -39
- package/dist/types-D5du68Vp.js +0 -27
- package/dist/urlsParser-bb8ciRFg.cjs +0 -78
- package/dist/urlsParser-v_1DKvyf.js +0 -42
- package/dist/useAppDetails-Ce_siNC2.js +0 -30
- package/dist/useAppDetails-Dyn-dAJJ.cjs +0 -38
- package/dist/useGraphQLConfig-Btszi6cG.js +0 -63
- package/dist/useGraphQLConfig-v9veUbvJ.cjs +0 -76
- package/dist/utils-BZT_oZ3n.js +0 -92
- package/dist/utils-BzR9AjY0.js +0 -607
- package/dist/utils-CLANMl4P.cjs +0 -716
- package/dist/utils-qtHPLFby.cjs +0 -130
- package/src/atoms/search/productRetrievalAPI.ts +0 -72
- package/src/atoms/search/productRetrievalAdapter.ts +0 -28
- package/src/exceptions/index.ts +0 -2
- package/src/global.d.ts +0 -8
- package/src/hooks/Search/useRecommendedProducts.ts +0 -50
- package/src/hooks/Search/useSearchInput.ts +0 -237
- package/src/types/FilterAttribute.ts +0 -35
- package/src/types/Suggestion.ts +0 -6
- package/src/util/colorVar.ts +0 -4
- package/src/util/configVersion.ts +0 -4
- package/src/util/domInsertion.ts +0 -17
- /package/dist/{featureFlagServiceContext-Csgo-MUv.cjs → AmplitudeOperations-DxQnurSG.cjs} +0 -0
- /package/dist/{featureFlagServiceContext-CISyb90N.js → AmplitudeOperations-ni7wVevx.js} +0 -0
- /package/src/{exceptions → types/exceptions}/sessionExceptions.ts +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { atom } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { atom } from "jotai";
|
|
2
|
+
import { SearchResult, SearchParams } from "src/application/models/api/search";
|
|
3
|
+
import { ProductSorting } from "./types";
|
|
4
|
+
import { ProductFilters } from "./productFilters";
|
|
5
|
+
import { ProductSorter } from "./productSorter";
|
|
6
|
+
import { newOrgConfigAtom } from "../org";
|
|
7
|
+
import { getSearchServiceFunction } from "./searchServiceAdapter";
|
|
8
8
|
|
|
9
9
|
export type SelectedFilterOption = {
|
|
10
10
|
id: string; // "filterId:filterItemId" - maintains backward compatibility for comparisons
|
|
@@ -27,13 +27,15 @@ export const searchAtom = atom<SearchState>({
|
|
|
27
27
|
lastQuery: null,
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
export const searchProductSortingAtom = atom<ProductSorting>(
|
|
30
|
+
export const searchProductSortingAtom = atom<ProductSorting>(
|
|
31
|
+
ProductSorting.FEATURED
|
|
32
|
+
);
|
|
31
33
|
export const searchSelectedFiltersAtom = atom<SelectedFilterOption[]>([]);
|
|
32
34
|
|
|
33
35
|
export const createFilterOption = (
|
|
34
36
|
filterId: string,
|
|
35
37
|
filterItemId: string,
|
|
36
|
-
displayName: string
|
|
38
|
+
displayName: string
|
|
37
39
|
): SelectedFilterOption => ({
|
|
38
40
|
id: `${filterId}:${filterItemId}`,
|
|
39
41
|
displayName,
|
|
@@ -53,7 +55,7 @@ export const searchParamsAtom = atom(
|
|
|
53
55
|
(get) => get(internalSearchParamsAtom),
|
|
54
56
|
(_, set, value: { id: string | null; query: string | null }) => {
|
|
55
57
|
set(internalSearchParamsAtom, value);
|
|
56
|
-
}
|
|
58
|
+
}
|
|
57
59
|
);
|
|
58
60
|
export const internalSearchSystemStateAtom = atom<boolean>(false);
|
|
59
61
|
|
|
@@ -65,9 +67,9 @@ export const searchSystemAtom = atom(
|
|
|
65
67
|
}
|
|
66
68
|
const stateChangeHandler = () => {
|
|
67
69
|
const params = new URLSearchParams(window.location.search);
|
|
68
|
-
if (params.get(
|
|
69
|
-
const id = params.get(
|
|
70
|
-
const query = params.get(
|
|
70
|
+
if (params.get("es") === "true") {
|
|
71
|
+
const id = params.get("esi");
|
|
72
|
+
const query = params.get("esq");
|
|
71
73
|
set(searchParamsAtom, { id, query });
|
|
72
74
|
} else {
|
|
73
75
|
set(searchParamsAtom, { id: null, query: null });
|
|
@@ -75,14 +77,14 @@ export const searchSystemAtom = atom(
|
|
|
75
77
|
};
|
|
76
78
|
if (value) {
|
|
77
79
|
set(internalSearchSystemStateAtom, true);
|
|
78
|
-
window.addEventListener(
|
|
80
|
+
window.addEventListener("popstate", stateChangeHandler);
|
|
79
81
|
// Also trigger the hash change handler to set the initial state
|
|
80
82
|
stateChangeHandler();
|
|
81
83
|
} else {
|
|
82
84
|
set(internalSearchSystemStateAtom, false);
|
|
83
|
-
window.removeEventListener(
|
|
85
|
+
window.removeEventListener("popstate", stateChangeHandler);
|
|
84
86
|
}
|
|
85
|
-
}
|
|
87
|
+
}
|
|
86
88
|
);
|
|
87
89
|
|
|
88
90
|
export const filteredSearchProductsAtom = atom((get) => {
|
|
@@ -91,13 +93,17 @@ export const filteredSearchProductsAtom = atom((get) => {
|
|
|
91
93
|
const selectedFilters = get(searchSelectedFiltersAtom);
|
|
92
94
|
const newOrgConfig = get(newOrgConfigAtom);
|
|
93
95
|
|
|
94
|
-
if (
|
|
96
|
+
if (
|
|
97
|
+
!searchData?.products ||
|
|
98
|
+
!newOrgConfig?.frontendConfig?.uiConfigs?.searchConfig
|
|
99
|
+
)
|
|
100
|
+
return [];
|
|
95
101
|
|
|
96
102
|
const filteredProducts = ProductFilters.filterProducts(
|
|
97
103
|
searchData.products,
|
|
98
104
|
newOrgConfig.frontendConfig.uiConfigs.searchConfig.searchFilterConfig,
|
|
99
105
|
selectedFilters,
|
|
100
|
-
newOrgConfig.frontendConfig.uiConfigs.searchConfig.additiveDynamicFilters
|
|
106
|
+
newOrgConfig.frontendConfig.uiConfigs.searchConfig.additiveDynamicFilters
|
|
101
107
|
);
|
|
102
108
|
|
|
103
109
|
return ProductSorter.sort(filteredProducts, sorting);
|
|
@@ -108,29 +114,39 @@ export const searchFiltersAtom = atom((get) => {
|
|
|
108
114
|
const selectedFilters = get(searchSelectedFiltersAtom);
|
|
109
115
|
const newOrgConfig = get(newOrgConfigAtom);
|
|
110
116
|
|
|
111
|
-
if (
|
|
117
|
+
if (
|
|
118
|
+
!searchData?.products ||
|
|
119
|
+
!newOrgConfig?.frontendConfig?.uiConfigs?.searchConfig
|
|
120
|
+
)
|
|
121
|
+
return [];
|
|
112
122
|
|
|
113
123
|
return ProductFilters.getFiltersForProducts(
|
|
114
124
|
searchData.products,
|
|
115
125
|
newOrgConfig.frontendConfig.uiConfigs.searchConfig.searchFilterConfig,
|
|
116
|
-
selectedFilters
|
|
126
|
+
selectedFilters
|
|
117
127
|
);
|
|
118
128
|
});
|
|
119
129
|
|
|
120
|
-
export const addSearchFilterAtom = atom(
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
130
|
+
export const addSearchFilterAtom = atom(
|
|
131
|
+
null,
|
|
132
|
+
(get, set, filter: SelectedFilterOption) => {
|
|
133
|
+
const current = get(searchSelectedFiltersAtom);
|
|
134
|
+
if (!current.some((f) => f.id === filter.id)) {
|
|
135
|
+
set(searchSelectedFiltersAtom, [...current, filter]);
|
|
136
|
+
}
|
|
124
137
|
}
|
|
125
|
-
|
|
138
|
+
);
|
|
126
139
|
|
|
127
|
-
export const removeSearchFilterAtom = atom(
|
|
128
|
-
|
|
129
|
-
set
|
|
130
|
-
searchSelectedFiltersAtom
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
140
|
+
export const removeSearchFilterAtom = atom(
|
|
141
|
+
null,
|
|
142
|
+
(get, set, filterId: string) => {
|
|
143
|
+
const current = get(searchSelectedFiltersAtom);
|
|
144
|
+
set(
|
|
145
|
+
searchSelectedFiltersAtom,
|
|
146
|
+
current.filter((f) => f.id !== filterId)
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
);
|
|
134
150
|
|
|
135
151
|
export const clearSearchFiltersAtom = atom(null, (_, set) => {
|
|
136
152
|
set(searchSelectedFiltersAtom, []);
|
|
@@ -142,28 +158,29 @@ export const performSearchAtom = atom(
|
|
|
142
158
|
const currentState = get(searchAtom);
|
|
143
159
|
const newOrgConfig = get(newOrgConfigAtom);
|
|
144
160
|
const redirectSearchResultsUrl =
|
|
145
|
-
newOrgConfig?.frontendConfig?.uiConfigs?.searchConfig
|
|
161
|
+
newOrgConfig?.frontendConfig?.uiConfigs?.searchConfig
|
|
162
|
+
?.redirectSearchResultsUrl;
|
|
146
163
|
|
|
147
164
|
if (allowRedirect && redirectSearchResultsUrl) {
|
|
148
165
|
const redirectUrl = new URL(redirectSearchResultsUrl);
|
|
149
|
-
redirectUrl.searchParams.set(
|
|
150
|
-
redirectUrl.searchParams.set(
|
|
166
|
+
redirectUrl.searchParams.set("es", "true");
|
|
167
|
+
redirectUrl.searchParams.set("esq", params.query);
|
|
151
168
|
window.location.href = redirectUrl.toString();
|
|
152
169
|
} else {
|
|
153
170
|
// Update URL and manually trigger state change (since pushState doesn't trigger popstate)
|
|
154
171
|
const url = new URL(window.location.href);
|
|
155
|
-
url.searchParams.set(
|
|
156
|
-
url.searchParams.set(
|
|
157
|
-
window.history.pushState({},
|
|
172
|
+
url.searchParams.set("es", "true");
|
|
173
|
+
url.searchParams.set("esq", params.query);
|
|
174
|
+
window.history.pushState({}, "", url);
|
|
158
175
|
|
|
159
176
|
// Manually trigger page variant re-evaluation by dispatching a popstate event
|
|
160
177
|
// This ensures the page variant system detects the URL change and mounts search results
|
|
161
|
-
window.dispatchEvent(new PopStateEvent(
|
|
178
|
+
window.dispatchEvent(new PopStateEvent("popstate", { state: {} }));
|
|
162
179
|
}
|
|
163
180
|
|
|
164
181
|
// Manually trigger page variant re-evaluation by dispatching a popstate event
|
|
165
182
|
// This ensures the page variant system detects the URL change and mounts search results
|
|
166
|
-
window.dispatchEvent(new PopStateEvent(
|
|
183
|
+
window.dispatchEvent(new PopStateEvent("popstate", { state: {} }));
|
|
167
184
|
if (currentState.loading) {
|
|
168
185
|
return; // Prevent concurrent searches
|
|
169
186
|
}
|
|
@@ -184,7 +201,8 @@ export const performSearchAtom = atom(
|
|
|
184
201
|
lastQuery: params.query,
|
|
185
202
|
});
|
|
186
203
|
} catch (error: unknown) {
|
|
187
|
-
const errorMessage =
|
|
204
|
+
const errorMessage =
|
|
205
|
+
error instanceof Error ? error.message : "An unknown error occurred";
|
|
188
206
|
set(searchAtom, {
|
|
189
207
|
data: null,
|
|
190
208
|
loading: false,
|
|
@@ -192,5 +210,5 @@ export const performSearchAtom = atom(
|
|
|
192
210
|
lastQuery: params.query,
|
|
193
211
|
});
|
|
194
212
|
}
|
|
195
|
-
}
|
|
213
|
+
}
|
|
196
214
|
);
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export enum ProductSorting {
|
|
2
|
+
FEATURED = 'featured',
|
|
3
|
+
PRICE_ASC = 'price_asc',
|
|
4
|
+
PRICE_DESC = 'price_desc',
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const ProductSortingNames = {
|
|
8
|
+
[ProductSorting.FEATURED]: 'Featured',
|
|
9
|
+
[ProductSorting.PRICE_ASC]: 'Price Low to High',
|
|
10
|
+
[ProductSorting.PRICE_DESC]: 'Price High to Low',
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export type ChatSearchStateType = 'entrypoint' | 'initializing-search' | 'product-page';
|
|
14
|
+
|
|
15
|
+
export type ChatSearchFilter = {
|
|
16
|
+
filterId: string;
|
|
17
|
+
displayName: string;
|
|
18
|
+
items: ChatSearchFilterItem[];
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export type ChatSearchFilterItem = {
|
|
22
|
+
filterItemId: string;
|
|
23
|
+
displayName: string;
|
|
24
|
+
productCount: number;
|
|
25
|
+
isSelected: boolean;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export interface ChatSearchSortProps {
|
|
29
|
+
options: ProductSorting[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface ChatSearchSortModalProps extends ChatSearchSortProps {
|
|
33
|
+
open: boolean;
|
|
34
|
+
handlePopupState: (state: boolean) => void;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface SortOption {
|
|
38
|
+
value: ProductSorting;
|
|
39
|
+
isSelected: boolean;
|
|
40
|
+
onSelect: (option: ProductSorting) => void;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export enum ChatSearchSortOverrides {
|
|
44
|
+
DESKTOP_FILTER_CONTAINER = 'spiffy-chat-search-filter-container',
|
|
45
|
+
DESKTOP_FILTER_SELECT_COMPONENT = 'spiffy-chat-search-filter-select-component',
|
|
46
|
+
DESKTOP_FILTER_SELECT_ICON = 'spiffy-chat-search-filter-select-icon',
|
|
47
|
+
MOBILE_FILTER_BUTTON = 'spiffy-chat-search-filter-button',
|
|
48
|
+
MOBILE_FILTER_MODAL_CONTAINER = 'spiffy-chat-search-filter-modal-container',
|
|
49
|
+
MOBILE_FILTER_MODAL_HEADER = 'spiffy-chat-search-filter-modal-header',
|
|
50
|
+
MOBILE_FILTER_MODAL_SELECTION = 'spiffy-chat-search-filter-modal-selection',
|
|
51
|
+
MOBILE_FILTER_MODAL_OPTION = 'spiffy-chat-search-filter-modal-option',
|
|
52
|
+
MOBILE_FILTER_MODAL_OPTION_PILL = 'spiffy-chat-search-filter-modal-option-pill',
|
|
53
|
+
MOBILE_FILTER_MODAL_OPTION_DESCRIPTION = 'spiffy-chat-search-filter-modal-option-desc',
|
|
54
|
+
MOBILE_FILTER_MODAL_APPLY_BUTTON = 'spiffy-chat-search-filter-modal-apply-button',
|
|
55
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// TODO turn this into an enum
|
|
2
|
+
export const SPIFFY_ROOT_ID = 'spiffy-ai-root';
|
|
3
|
+
export const CONTAINER_ID = 'spiffy-ai-container';
|
|
4
|
+
|
|
5
|
+
export const FLOATING_BUTTON_ID = 'spiffy-ai-floating-button';
|
|
6
|
+
export const CHAT_PREVIEW_CONTAINER_ID = 'spiffy-ai-chat-preview';
|
|
7
|
+
export const GLOBAL_SEARCH_ENTRYPOINT_ID = 'spiffy-ai-global-search-entrypoint';
|
|
8
|
+
export const SEARCH_RESULTS_ENTRYPOINT_ID = 'spiffy-ai-search-results-entrypoint';
|
|
9
|
+
export const SEARCH_RESULTS_NO_OP_ID = 'spiffy-ai-search-results-no-op-entrypoint';
|
|
10
|
+
export const SEARCH_OVERLAY_ENTRYPOINT_ID = 'spiffy-ai-search-overlay-entrypoint';
|
|
11
|
+
export const SEARCH_OVERLAY_PORTAL_ID = 'spiffy-ai-search-overlay-portal'; // The inner div the overlay portal will render into
|
|
12
|
+
export const HOMEPAGE_DESKTOP_GLOBAL_SEARCH_ENTRYPOINT_ID = 'spiffy-ai-global-search-entrypoint-desktop-homepage';
|
|
13
|
+
export const HOMEPAGE_TABLET_GLOBAL_SEARCH_ENTRYPOINT_ID = 'spiffy-ai-global-search-entrypoint-tablet-homepage';
|
|
14
|
+
export const HOMEPAGE_MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID = 'spiffy-ai-global-search-entrypoint-mobile-homepage';
|
|
15
|
+
export const MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID = 'spiffy-ai-global-search-entrypoint-mobile';
|
|
16
|
+
export const MOBILE_ICON_ONLY_GLOBAL_SEARCH_ENTRYPOINT_ID = 'spiffy-ai-global-search-entrypoint-mobile-icon-only';
|
|
17
|
+
export const TABLET_GLOBAL_SEARCH_ENTYPOINT_ID = 'spiffy-ai-global-search-entrypoint-tablet';
|
|
18
|
+
export const BOTTOM_REVIEWS_BAR_ID = 'spiffy-bottom-reviews-bar-id';
|
|
19
|
+
export const TOP_SUGGESTION_BAR_PDP_ID = 'spiffy-top-suggestion-bar-id';
|
|
20
|
+
|
|
21
|
+
export const TOP_PLP_IMAGE_BANNER_ID = 'spiffy-top-plp-image-banner-id';
|
|
22
|
+
export const BOTTOM_PLP_IMAGE_BANNER_ID = 'spiffy-bottom-plp-image-banner-id';
|
|
23
|
+
export const PROMPT_CARD_ID = 'spiffy-ai-prompt-card';
|
|
24
|
+
|
|
25
|
+
export const CONVERSATIONAL_SEARCH_ENTRYPOINT_ID = 'spiffy-ai-conversational-search-entrypoint';
|
|
26
|
+
export const CONVERSATIONAL_SEARCH_INPUT_ID = 'spiffy-ai-conversational-search-input';
|
|
27
|
+
export const CONVERSATIONAL_SEARCH_MODAL_ID = 'spiffy-ai-conversational-search-modal';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const SPIFFY_SOCIAL_PROOF_SUGGESTION_BUTTON_CLASS =
|
|
2
|
+
"spiffy-social-proof-suggestion-button";
|
|
3
|
+
export const SPIFFY_SOCIAL_PROOF_SUGGESTION_BUTTON_TEXT_CLASS =
|
|
4
|
+
"spiffy-social-proof-suggestion-button-text";
|
|
5
|
+
export const SPIFFY_SOCIAL_PROOF_SUGGESTION_BUTTON_CONTAINER_CLASS =
|
|
6
|
+
"spiffy-social-proof-suggestion-button-container";
|
|
7
|
+
export const SPIFFY_SOCIAL_PROOF_CUSTOMER_COUNT_CLASS =
|
|
8
|
+
"spiffy-social-proof-customer-count";
|
|
9
|
+
export const SPIFFY_SOCIAL_PROOF_CONTENT_CONTAINER_CLASS =
|
|
10
|
+
"spiffy-social-proof-content-container";
|
|
11
|
+
export const SPIFFY_SOCIAL_PROOF_CONTENT_BUTTON_CLASS =
|
|
12
|
+
"spiffy-social-proof-content-button";
|
|
13
|
+
export const SPIFFY_SOCIAL_PROOF_CONTENT_IMAGE_CLASS =
|
|
14
|
+
"spiffy-social-proof-content-image";
|
|
15
|
+
export const SPIFFY_SOCIAL_PROOF_SUGGESTION_FOOTER_TITLE_CLASS =
|
|
16
|
+
"spiffy-social-proof-suggestion-footer-title";
|
|
17
|
+
export const SPIFFY_SOCIAL_PROOF_HEADER = "spiffy-social-proof-header";
|
|
@@ -7,22 +7,19 @@ import React, {
|
|
|
7
7
|
} from "react";
|
|
8
8
|
import { useAtomValue } from "jotai";
|
|
9
9
|
import { createInstance } from "@amplitude/analytics-browser";
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
LocalStorageKeys,
|
|
14
|
-
SpiffyEvent,
|
|
15
|
-
AmplitudeContextType,
|
|
16
|
-
SpiffyMetricsEventName,
|
|
17
|
-
TrackEventParams,
|
|
18
|
-
} from "@envive-ai/types";
|
|
10
|
+
import { FeatureGates } from "src/application/models/featureGates";
|
|
11
|
+
import { OrgShortName } from "src/application/models";
|
|
12
|
+
import { EventsDispatcher, SpiffyEvent } from "src/events";
|
|
19
13
|
import {
|
|
20
14
|
amplitudeApiKeyAtom,
|
|
21
15
|
contextSourceAtom,
|
|
22
16
|
dataResidencyAtom,
|
|
23
17
|
identifyingPrefixAtom,
|
|
24
18
|
} from "src/atoms/envive/enviveConfig";
|
|
25
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
LocalStorageKeys,
|
|
21
|
+
useLocalStorage,
|
|
22
|
+
} from "src/contexts/localStorageContext";
|
|
26
23
|
import { orgAnalyticsGoogleAnalyticsConfigAtom } from "src/atoms/org/orgAnalyticsConfig";
|
|
27
24
|
import { userIdAtom } from "src/atoms/app";
|
|
28
25
|
import { envAtom } from "src/atoms/envive/enviveConfig";
|
|
@@ -34,18 +31,59 @@ import type {
|
|
|
34
31
|
ServerZoneType,
|
|
35
32
|
} from "@amplitude/analytics-types";
|
|
36
33
|
import { useEnviveConfig } from "src/contexts/enviveConfigContext/enviveConfigContext";
|
|
37
|
-
import {
|
|
38
|
-
|
|
34
|
+
import {
|
|
35
|
+
useFeatureFlagService,
|
|
36
|
+
} from "src/contexts/featureFlagServiceContext/featureFlagServiceContext";
|
|
37
|
+
import { useUserIdentity } from "src/contexts/userIdentityContext/userIdentityContext";
|
|
38
|
+
|
|
39
|
+
export enum SpiffyMetricsEventName {
|
|
40
|
+
BundleLoaded = "Bundle Loaded",
|
|
41
|
+
ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
|
|
42
|
+
ChatFloatingButtonVisible = "Chat Floating Button Visible",
|
|
43
|
+
ChatComponentVisible = "Chat Component Visible",
|
|
44
|
+
ChatComponentExpanded = "Chat Component Expanded",
|
|
45
|
+
ChatComponentCollapsed = "Chat Component Collapsed",
|
|
46
|
+
ChatUserMessageInput = "Chat User Message Input",
|
|
47
|
+
ChatSuggestionClicked = "Chat Suggestion Clicked",
|
|
48
|
+
ChatAssistantResponse = "Chat Assistant Response",
|
|
49
|
+
ProductCardClicked = "Product Card Clicked",
|
|
50
|
+
ProductReviewCardClicked = "Product Review Card Clicked",
|
|
51
|
+
AddToCartClicked = "Add to Cart Clicked",
|
|
52
|
+
PromptCardClicked = "Prompt Card Clicked",
|
|
53
|
+
SupportedEvent = "Supported Event",
|
|
54
|
+
SearchBackToResponseClicked = "Search Back to Response Clicked",
|
|
55
|
+
PerformanceMetrics = "Performance Metrics",
|
|
56
|
+
SearchBarClicked = "Search Bar Clicked",
|
|
57
|
+
OrderLookupStarted = "Order Lookup Started",
|
|
58
|
+
OrderLookupFormSubmitted = "Order Lookup Form Submitted",
|
|
59
|
+
SearchComponentVisible = "Search Component Visible",
|
|
60
|
+
SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked", // This is the scrolling list of suggestion buttons in global search
|
|
61
|
+
SearchInputStarted = "Search Input Started",
|
|
62
|
+
SearchQuerySubmitted = "Search Query Submitted",
|
|
63
|
+
// SearchAutocompleteViewed = 'Search Autocomplete Viewed', // TODO: add this when autocomplete is added
|
|
64
|
+
// SearchAutocompleteClicked = 'Search Autocomplete Clicked', // TODO: add this when autocomplete is added
|
|
65
|
+
SearchResultsViewed = "Search Results Viewed",
|
|
66
|
+
SearchTimeToFirstClick = "Search Time to First Click",
|
|
67
|
+
SearchZeroResultsRate = "Search Zero Results Rate",
|
|
68
|
+
SearchFilterClicked = "Search Filter Clicked",
|
|
69
|
+
SearchSortClicked = "Search Sort Clicked",
|
|
70
|
+
}
|
|
39
71
|
|
|
40
|
-
|
|
72
|
+
interface TrackEventParams {
|
|
73
|
+
eventName: SpiffyMetricsEventName;
|
|
74
|
+
eventProps?: Record<string, unknown>;
|
|
75
|
+
eventGroups?: Record<string, unknown>;
|
|
76
|
+
alsoSendToGoogleAnalytics?: boolean;
|
|
77
|
+
}
|
|
41
78
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
Logger.logInfo('AmplitudeContext: window is not defined');
|
|
79
|
+
interface AmplitudeContextType {
|
|
80
|
+
trackEvent: (params: TrackEventParams) => Promise<void>;
|
|
81
|
+
isReady: boolean;
|
|
82
|
+
setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
|
|
47
83
|
}
|
|
48
84
|
|
|
85
|
+
const AmplitudeContext = createContext<AmplitudeContextType | null>(null);
|
|
86
|
+
|
|
49
87
|
export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({
|
|
50
88
|
children,
|
|
51
89
|
}) => {
|
|
@@ -315,7 +353,7 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({
|
|
|
315
353
|
});
|
|
316
354
|
const encoder = new TextEncoder();
|
|
317
355
|
const data = encoder.encode(eventData);
|
|
318
|
-
|
|
356
|
+
// calculate a hash of the event properties to use as the insert_id so that duplicate events
|
|
319
357
|
// are automatically dropped by Amplitude
|
|
320
358
|
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
|
321
359
|
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import React, { createContext, useContext, useCallback, useMemo } from "react";
|
|
2
2
|
import { useAtomValue } from "jotai";
|
|
3
3
|
import { cdnUrlAtom } from "../../atoms/envive/enviveConfig";
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
interface CdnContextType {
|
|
6
|
+
cdnUrl: string;
|
|
7
|
+
getCdnBasePath: () => string;
|
|
8
|
+
getAssetURL: (assetName: string, orgShortName: string) => string;
|
|
9
|
+
}
|
|
5
10
|
|
|
6
11
|
const CdnContext = createContext<CdnContextType | null>(null);
|
|
7
12
|
|