@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
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
+
const require_newOrgConfigAtom = require('./newOrgConfigAtom-D6R-7HCk.cjs');
|
|
3
|
+
const require_chatSearch = require('./chatSearch-DpnpRWAW.cjs');
|
|
4
|
+
const require_types = require('./types-CxObxLKs.cjs');
|
|
5
|
+
const require_searchServiceAdapter = require('./searchServiceAdapter-DEv1tTn0.cjs');
|
|
6
|
+
let jotai = require("jotai");
|
|
7
|
+
jotai = require_chunk.__toESM(jotai);
|
|
8
|
+
|
|
9
|
+
//#region src/atoms/search/searchAPI.ts
|
|
10
|
+
const searchAtom = (0, jotai.atom)({
|
|
11
|
+
data: null,
|
|
12
|
+
loading: false,
|
|
13
|
+
error: null,
|
|
14
|
+
lastQuery: null
|
|
15
|
+
});
|
|
16
|
+
const searchProductSortingAtom = (0, jotai.atom)(require_types.ProductSorting.FEATURED);
|
|
17
|
+
const searchSelectedFiltersAtom = (0, jotai.atom)([]);
|
|
18
|
+
const createFilterOption = (filterId, filterItemId, displayName) => ({
|
|
19
|
+
id: `${filterId}:${filterItemId}`,
|
|
20
|
+
displayName,
|
|
21
|
+
filterId,
|
|
22
|
+
filterItemId
|
|
23
|
+
});
|
|
24
|
+
const internalSearchParamsAtom = (0, jotai.atom)({
|
|
25
|
+
id: null,
|
|
26
|
+
query: null
|
|
27
|
+
});
|
|
28
|
+
const searchParamsAtom = (0, jotai.atom)((get) => get(internalSearchParamsAtom), (_, set, value) => {
|
|
29
|
+
set(internalSearchParamsAtom, value);
|
|
30
|
+
});
|
|
31
|
+
const internalSearchSystemStateAtom = (0, jotai.atom)(false);
|
|
32
|
+
const searchSystemAtom = (0, jotai.atom)((get) => get(internalSearchSystemStateAtom), (get, set, value) => {
|
|
33
|
+
if (value === get(internalSearchSystemStateAtom)) return;
|
|
34
|
+
const stateChangeHandler = () => {
|
|
35
|
+
const params = new URLSearchParams(window.location.search);
|
|
36
|
+
if (params.get("es") === "true") {
|
|
37
|
+
const id = params.get("esi");
|
|
38
|
+
const query = params.get("esq");
|
|
39
|
+
set(searchParamsAtom, {
|
|
40
|
+
id,
|
|
41
|
+
query
|
|
42
|
+
});
|
|
43
|
+
} else set(searchParamsAtom, {
|
|
44
|
+
id: null,
|
|
45
|
+
query: null
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
if (value) {
|
|
49
|
+
set(internalSearchSystemStateAtom, true);
|
|
50
|
+
window.addEventListener("popstate", stateChangeHandler);
|
|
51
|
+
stateChangeHandler();
|
|
52
|
+
} else {
|
|
53
|
+
set(internalSearchSystemStateAtom, false);
|
|
54
|
+
window.removeEventListener("popstate", stateChangeHandler);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const filteredSearchProductsAtom = (0, jotai.atom)((get) => {
|
|
58
|
+
const searchData = get(searchAtom).data;
|
|
59
|
+
const sorting = get(searchProductSortingAtom);
|
|
60
|
+
const selectedFilters = get(searchSelectedFiltersAtom);
|
|
61
|
+
const newOrgConfig = get(require_newOrgConfigAtom.newOrgConfigAtom);
|
|
62
|
+
if (!searchData?.products || !newOrgConfig?.frontendConfig?.uiConfigs?.searchConfig) return [];
|
|
63
|
+
const filteredProducts = require_chatSearch.ProductFilters.filterProducts(searchData.products, newOrgConfig.frontendConfig.uiConfigs.searchConfig.searchFilterConfig, selectedFilters, newOrgConfig.frontendConfig.uiConfigs.searchConfig.additiveDynamicFilters);
|
|
64
|
+
return require_chatSearch.ProductSorter.sort(filteredProducts, sorting);
|
|
65
|
+
});
|
|
66
|
+
const searchFiltersAtom = (0, jotai.atom)((get) => {
|
|
67
|
+
const searchData = get(searchAtom).data;
|
|
68
|
+
const selectedFilters = get(searchSelectedFiltersAtom);
|
|
69
|
+
const newOrgConfig = get(require_newOrgConfigAtom.newOrgConfigAtom);
|
|
70
|
+
if (!searchData?.products || !newOrgConfig?.frontendConfig?.uiConfigs?.searchConfig) return [];
|
|
71
|
+
return require_chatSearch.ProductFilters.getFiltersForProducts(searchData.products, newOrgConfig.frontendConfig.uiConfigs.searchConfig.searchFilterConfig, selectedFilters);
|
|
72
|
+
});
|
|
73
|
+
const addSearchFilterAtom = (0, jotai.atom)(null, (get, set, filter) => {
|
|
74
|
+
const current = get(searchSelectedFiltersAtom);
|
|
75
|
+
if (!current.some((f) => f.id === filter.id)) set(searchSelectedFiltersAtom, [...current, filter]);
|
|
76
|
+
});
|
|
77
|
+
const removeSearchFilterAtom = (0, jotai.atom)(null, (get, set, filterId) => {
|
|
78
|
+
const current = get(searchSelectedFiltersAtom);
|
|
79
|
+
set(searchSelectedFiltersAtom, current.filter((f) => f.id !== filterId));
|
|
80
|
+
});
|
|
81
|
+
const clearSearchFiltersAtom = (0, jotai.atom)(null, (_, set) => {
|
|
82
|
+
set(searchSelectedFiltersAtom, []);
|
|
83
|
+
});
|
|
84
|
+
const performSearchAtom = (0, jotai.atom)(null, async (get, set, params, allowRedirect = false) => {
|
|
85
|
+
const currentState = get(searchAtom);
|
|
86
|
+
const redirectSearchResultsUrl = get(require_newOrgConfigAtom.newOrgConfigAtom)?.frontendConfig?.uiConfigs?.searchConfig?.redirectSearchResultsUrl;
|
|
87
|
+
if (allowRedirect && redirectSearchResultsUrl) {
|
|
88
|
+
const redirectUrl = new URL(redirectSearchResultsUrl);
|
|
89
|
+
redirectUrl.searchParams.set("es", "true");
|
|
90
|
+
redirectUrl.searchParams.set("esq", params.query);
|
|
91
|
+
window.location.href = redirectUrl.toString();
|
|
92
|
+
} else {
|
|
93
|
+
const url = new URL(window.location.href);
|
|
94
|
+
url.searchParams.set("es", "true");
|
|
95
|
+
url.searchParams.set("esq", params.query);
|
|
96
|
+
window.history.pushState({}, "", url);
|
|
97
|
+
window.dispatchEvent(new PopStateEvent("popstate", { state: {} }));
|
|
98
|
+
}
|
|
99
|
+
window.dispatchEvent(new PopStateEvent("popstate", { state: {} }));
|
|
100
|
+
if (currentState.loading) return;
|
|
101
|
+
set(searchAtom, {
|
|
102
|
+
data: null,
|
|
103
|
+
loading: true,
|
|
104
|
+
error: null,
|
|
105
|
+
lastQuery: params.query
|
|
106
|
+
});
|
|
107
|
+
try {
|
|
108
|
+
const result = await require_searchServiceAdapter.getSearchServiceFunction()(params);
|
|
109
|
+
set(searchAtom, {
|
|
110
|
+
data: result,
|
|
111
|
+
loading: false,
|
|
112
|
+
error: null,
|
|
113
|
+
lastQuery: params.query
|
|
114
|
+
});
|
|
115
|
+
} catch (error) {
|
|
116
|
+
const errorMessage = error instanceof Error ? error.message : "An unknown error occurred";
|
|
117
|
+
set(searchAtom, {
|
|
118
|
+
data: null,
|
|
119
|
+
loading: false,
|
|
120
|
+
error: errorMessage,
|
|
121
|
+
lastQuery: params.query
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
//#endregion
|
|
127
|
+
Object.defineProperty(exports, 'addSearchFilterAtom', {
|
|
128
|
+
enumerable: true,
|
|
129
|
+
get: function () {
|
|
130
|
+
return addSearchFilterAtom;
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
Object.defineProperty(exports, 'clearSearchFiltersAtom', {
|
|
134
|
+
enumerable: true,
|
|
135
|
+
get: function () {
|
|
136
|
+
return clearSearchFiltersAtom;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
Object.defineProperty(exports, 'createFilterOption', {
|
|
140
|
+
enumerable: true,
|
|
141
|
+
get: function () {
|
|
142
|
+
return createFilterOption;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
Object.defineProperty(exports, 'filteredSearchProductsAtom', {
|
|
146
|
+
enumerable: true,
|
|
147
|
+
get: function () {
|
|
148
|
+
return filteredSearchProductsAtom;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
Object.defineProperty(exports, 'internalSearchSystemStateAtom', {
|
|
152
|
+
enumerable: true,
|
|
153
|
+
get: function () {
|
|
154
|
+
return internalSearchSystemStateAtom;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
Object.defineProperty(exports, 'performSearchAtom', {
|
|
158
|
+
enumerable: true,
|
|
159
|
+
get: function () {
|
|
160
|
+
return performSearchAtom;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
Object.defineProperty(exports, 'removeSearchFilterAtom', {
|
|
164
|
+
enumerable: true,
|
|
165
|
+
get: function () {
|
|
166
|
+
return removeSearchFilterAtom;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
Object.defineProperty(exports, 'searchAtom', {
|
|
170
|
+
enumerable: true,
|
|
171
|
+
get: function () {
|
|
172
|
+
return searchAtom;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
Object.defineProperty(exports, 'searchFiltersAtom', {
|
|
176
|
+
enumerable: true,
|
|
177
|
+
get: function () {
|
|
178
|
+
return searchFiltersAtom;
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
Object.defineProperty(exports, 'searchParamsAtom', {
|
|
182
|
+
enumerable: true,
|
|
183
|
+
get: function () {
|
|
184
|
+
return searchParamsAtom;
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
Object.defineProperty(exports, 'searchProductSortingAtom', {
|
|
188
|
+
enumerable: true,
|
|
189
|
+
get: function () {
|
|
190
|
+
return searchProductSortingAtom;
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
Object.defineProperty(exports, 'searchSelectedFiltersAtom', {
|
|
194
|
+
enumerable: true,
|
|
195
|
+
get: function () {
|
|
196
|
+
return searchSelectedFiltersAtom;
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
Object.defineProperty(exports, 'searchSystemAtom', {
|
|
200
|
+
enumerable: true,
|
|
201
|
+
get: function () {
|
|
202
|
+
return searchSystemAtom;
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLUQyM0lOU05nLmNqcyIsIm5hbWVzIjpbIlByb2R1Y3RTb3J0aW5nIiwibmV3T3JnQ29uZmlnQXRvbSIsIlByb2R1Y3RGaWx0ZXJzIiwiUHJvZHVjdFNvcnRlciIsImdldFNlYXJjaFNlcnZpY2VGdW5jdGlvbiIsImVycm9yOiB1bmtub3duIl0sInNvdXJjZXMiOlsiLi4vc3JjL2F0b21zL3NlYXJjaC9zZWFyY2hBUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBTZWFyY2hQYXJhbXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoXCI7XG5pbXBvcnQgeyBQcm9kdWN0U29ydGluZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBQcm9kdWN0RmlsdGVycyB9IGZyb20gXCIuL3Byb2R1Y3RGaWx0ZXJzXCI7XG5pbXBvcnQgeyBQcm9kdWN0U29ydGVyIH0gZnJvbSBcIi4vcHJvZHVjdFNvcnRlclwiO1xuaW1wb3J0IHsgbmV3T3JnQ29uZmlnQXRvbSB9IGZyb20gXCIuLi9vcmdcIjtcbmltcG9ydCB7IGdldFNlYXJjaFNlcnZpY2VGdW5jdGlvbiB9IGZyb20gXCIuL3NlYXJjaFNlcnZpY2VBZGFwdGVyXCI7XG5cbmV4cG9ydCB0eXBlIFNlbGVjdGVkRmlsdGVyT3B0aW9uID0ge1xuICBpZDogc3RyaW5nOyAvLyBcImZpbHRlcklkOmZpbHRlckl0ZW1JZFwiIC0gbWFpbnRhaW5zIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIGNvbXBhcmlzb25zXG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGZpbHRlcklkOiBzdHJpbmc7IC8vIEZpbHRlciBjYXRlZ29yeVxuICBmaWx0ZXJJdGVtSWQ6IHN0cmluZzsgLy8gRmlsdGVyIHZhbHVlXG59O1xuXG5pbnRlcmZhY2UgU2VhcmNoU3RhdGUge1xuICBkYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdFF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgY29uc3Qgc2VhcmNoQXRvbSA9IGF0b208U2VhcmNoU3RhdGU+KHtcbiAgZGF0YTogbnVsbCxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGVycm9yOiBudWxsLFxuICBsYXN0UXVlcnk6IG51bGwsXG59KTtcblxuZXhwb3J0IGNvbnN0IHNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSA9IGF0b208UHJvZHVjdFNvcnRpbmc+KFxuICBQcm9kdWN0U29ydGluZy5GRUFUVVJFRFxuKTtcbmV4cG9ydCBjb25zdCBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tID0gYXRvbTxTZWxlY3RlZEZpbHRlck9wdGlvbltdPihbXSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVGaWx0ZXJPcHRpb24gPSAoXG4gIGZpbHRlcklkOiBzdHJpbmcsXG4gIGZpbHRlckl0ZW1JZDogc3RyaW5nLFxuICBkaXNwbGF5TmFtZTogc3RyaW5nXG4pOiBTZWxlY3RlZEZpbHRlck9wdGlvbiA9PiAoe1xuICBpZDogYCR7ZmlsdGVySWR9OiR7ZmlsdGVySXRlbUlkfWAsXG4gIGRpc3BsYXlOYW1lLFxuICBmaWx0ZXJJZCxcbiAgZmlsdGVySXRlbUlkLFxufSk7XG5cbmNvbnN0IGludGVybmFsU2VhcmNoUGFyYW1zQXRvbSA9IGF0b208e1xuICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG59Pih7XG4gIGlkOiBudWxsLFxuICBxdWVyeTogbnVsbCxcbn0pO1xuXG5leHBvcnQgY29uc3Qgc2VhcmNoUGFyYW1zQXRvbSA9IGF0b20oXG4gIChnZXQpID0+IGdldChpbnRlcm5hbFNlYXJjaFBhcmFtc0F0b20pLFxuICAoXywgc2V0LCB2YWx1ZTogeyBpZDogc3RyaW5nIHwgbnVsbDsgcXVlcnk6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgIHNldChpbnRlcm5hbFNlYXJjaFBhcmFtc0F0b20sIHZhbHVlKTtcbiAgfVxuKTtcbmV4cG9ydCBjb25zdCBpbnRlcm5hbFNlYXJjaFN5c3RlbVN0YXRlQXRvbSA9IGF0b208Ym9vbGVhbj4oZmFsc2UpO1xuXG5leHBvcnQgY29uc3Qgc2VhcmNoU3lzdGVtQXRvbSA9IGF0b20oXG4gIChnZXQpID0+IGdldChpbnRlcm5hbFNlYXJjaFN5c3RlbVN0YXRlQXRvbSksXG4gIChnZXQsIHNldCwgdmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAodmFsdWUgPT09IGdldChpbnRlcm5hbFNlYXJjaFN5c3RlbVN0YXRlQXRvbSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RhdGVDaGFuZ2VIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgICAgIGlmIChwYXJhbXMuZ2V0KFwiZXNcIikgPT09IFwidHJ1ZVwiKSB7XG4gICAgICAgIGNvbnN0IGlkID0gcGFyYW1zLmdldChcImVzaVwiKTtcbiAgICAgICAgY29uc3QgcXVlcnkgPSBwYXJhbXMuZ2V0KFwiZXNxXCIpO1xuICAgICAgICBzZXQoc2VhcmNoUGFyYW1zQXRvbSwgeyBpZCwgcXVlcnkgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXQoc2VhcmNoUGFyYW1zQXRvbSwgeyBpZDogbnVsbCwgcXVlcnk6IG51bGwgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHNldChpbnRlcm5hbFNlYXJjaFN5c3RlbVN0YXRlQXRvbSwgdHJ1ZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInBvcHN0YXRlXCIsIHN0YXRlQ2hhbmdlSGFuZGxlcik7XG4gICAgICAvLyBBbHNvIHRyaWdnZXIgdGhlIGhhc2ggY2hhbmdlIGhhbmRsZXIgdG8gc2V0IHRoZSBpbml0aWFsIHN0YXRlXG4gICAgICBzdGF0ZUNoYW5nZUhhbmRsZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0KGludGVybmFsU2VhcmNoU3lzdGVtU3RhdGVBdG9tLCBmYWxzZSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvcHN0YXRlXCIsIHN0YXRlQ2hhbmdlSGFuZGxlcik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZmlsdGVyZWRTZWFyY2hQcm9kdWN0c0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3Qgc2VhcmNoRGF0YSA9IGdldChzZWFyY2hBdG9tKS5kYXRhO1xuICBjb25zdCBzb3J0aW5nID0gZ2V0KHNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSk7XG4gIGNvbnN0IHNlbGVjdGVkRmlsdGVycyA9IGdldChzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgbmV3T3JnQ29uZmlnID0gZ2V0KG5ld09yZ0NvbmZpZ0F0b20pO1xuXG4gIGlmIChcbiAgICAhc2VhcmNoRGF0YT8ucHJvZHVjdHMgfHxcbiAgICAhbmV3T3JnQ29uZmlnPy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWdcbiAgKVxuICAgIHJldHVybiBbXTtcblxuICBjb25zdCBmaWx0ZXJlZFByb2R1Y3RzID0gUHJvZHVjdEZpbHRlcnMuZmlsdGVyUHJvZHVjdHMoXG4gICAgc2VhcmNoRGF0YS5wcm9kdWN0cyxcbiAgICBuZXdPcmdDb25maWcuZnJvbnRlbmRDb25maWcudWlDb25maWdzLnNlYXJjaENvbmZpZy5zZWFyY2hGaWx0ZXJDb25maWcsXG4gICAgc2VsZWN0ZWRGaWx0ZXJzLFxuICAgIG5ld09yZ0NvbmZpZy5mcm9udGVuZENvbmZpZy51aUNvbmZpZ3Muc2VhcmNoQ29uZmlnLmFkZGl0aXZlRHluYW1pY0ZpbHRlcnNcbiAgKTtcblxuICByZXR1cm4gUHJvZHVjdFNvcnRlci5zb3J0KGZpbHRlcmVkUHJvZHVjdHMsIHNvcnRpbmcpO1xufSk7XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hGaWx0ZXJzQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBzZWFyY2hEYXRhID0gZ2V0KHNlYXJjaEF0b20pLmRhdGE7XG4gIGNvbnN0IHNlbGVjdGVkRmlsdGVycyA9IGdldChzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgbmV3T3JnQ29uZmlnID0gZ2V0KG5ld09yZ0NvbmZpZ0F0b20pO1xuXG4gIGlmIChcbiAgICAhc2VhcmNoRGF0YT8ucHJvZHVjdHMgfHxcbiAgICAhbmV3T3JnQ29uZmlnPy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWdcbiAgKVxuICAgIHJldHVybiBbXTtcblxuICByZXR1cm4gUHJvZHVjdEZpbHRlcnMuZ2V0RmlsdGVyc0ZvclByb2R1Y3RzKFxuICAgIHNlYXJjaERhdGEucHJvZHVjdHMsXG4gICAgbmV3T3JnQ29uZmlnLmZyb250ZW5kQ29uZmlnLnVpQ29uZmlncy5zZWFyY2hDb25maWcuc2VhcmNoRmlsdGVyQ29uZmlnLFxuICAgIHNlbGVjdGVkRmlsdGVyc1xuICApO1xufSk7XG5cbmV4cG9ydCBjb25zdCBhZGRTZWFyY2hGaWx0ZXJBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCBmaWx0ZXI6IFNlbGVjdGVkRmlsdGVyT3B0aW9uKSA9PiB7XG4gICAgY29uc3QgY3VycmVudCA9IGdldChzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tKTtcbiAgICBpZiAoIWN1cnJlbnQuc29tZSgoZikgPT4gZi5pZCA9PT0gZmlsdGVyLmlkKSkge1xuICAgICAgc2V0KHNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b20sIFsuLi5jdXJyZW50LCBmaWx0ZXJdKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCBmaWx0ZXJJZDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgY3VycmVudCA9IGdldChzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tKTtcbiAgICBzZXQoXG4gICAgICBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tLFxuICAgICAgY3VycmVudC5maWx0ZXIoKGYpID0+IGYuaWQgIT09IGZpbHRlcklkKVxuICAgICk7XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBjbGVhclNlYXJjaEZpbHRlcnNBdG9tID0gYXRvbShudWxsLCAoXywgc2V0KSA9PiB7XG4gIHNldChzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tLCBbXSk7XG59KTtcblxuZXhwb3J0IGNvbnN0IHBlcmZvcm1TZWFyY2hBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgYXN5bmMgKGdldCwgc2V0LCBwYXJhbXM6IFNlYXJjaFBhcmFtcywgYWxsb3dSZWRpcmVjdCA9IGZhbHNlKSA9PiB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gZ2V0KHNlYXJjaEF0b20pO1xuICAgIGNvbnN0IG5ld09yZ0NvbmZpZyA9IGdldChuZXdPcmdDb25maWdBdG9tKTtcbiAgICBjb25zdCByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmwgPVxuICAgICAgbmV3T3JnQ29uZmlnPy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5zZWFyY2hDb25maWdcbiAgICAgICAgPy5yZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw7XG5cbiAgICBpZiAoYWxsb3dSZWRpcmVjdCAmJiByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmwpIHtcbiAgICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gbmV3IFVSTChyZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmwpO1xuICAgICAgcmVkaXJlY3RVcmwuc2VhcmNoUGFyYW1zLnNldChcImVzXCIsIFwidHJ1ZVwiKTtcbiAgICAgIHJlZGlyZWN0VXJsLnNlYXJjaFBhcmFtcy5zZXQoXCJlc3FcIiwgcGFyYW1zLnF1ZXJ5KTtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcmVkaXJlY3RVcmwudG9TdHJpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlIFVSTCBhbmQgbWFudWFsbHkgdHJpZ2dlciBzdGF0ZSBjaGFuZ2UgKHNpbmNlIHB1c2hTdGF0ZSBkb2Vzbid0IHRyaWdnZXIgcG9wc3RhdGUpXG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KFwiZXNcIiwgXCJ0cnVlXCIpO1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoXCJlc3FcIiwgcGFyYW1zLnF1ZXJ5KTtcbiAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSwgXCJcIiwgdXJsKTtcblxuICAgICAgLy8gTWFudWFsbHkgdHJpZ2dlciBwYWdlIHZhcmlhbnQgcmUtZXZhbHVhdGlvbiBieSBkaXNwYXRjaGluZyBhIHBvcHN0YXRlIGV2ZW50XG4gICAgICAvLyBUaGlzIGVuc3VyZXMgdGhlIHBhZ2UgdmFyaWFudCBzeXN0ZW0gZGV0ZWN0cyB0aGUgVVJMIGNoYW5nZSBhbmQgbW91bnRzIHNlYXJjaCByZXN1bHRzXG4gICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgUG9wU3RhdGVFdmVudChcInBvcHN0YXRlXCIsIHsgc3RhdGU6IHt9IH0pKTtcbiAgICB9XG5cbiAgICAvLyBNYW51YWxseSB0cmlnZ2VyIHBhZ2UgdmFyaWFudCByZS1ldmFsdWF0aW9uIGJ5IGRpc3BhdGNoaW5nIGEgcG9wc3RhdGUgZXZlbnRcbiAgICAvLyBUaGlzIGVuc3VyZXMgdGhlIHBhZ2UgdmFyaWFudCBzeXN0ZW0gZGV0ZWN0cyB0aGUgVVJMIGNoYW5nZSBhbmQgbW91bnRzIHNlYXJjaCByZXN1bHRzXG4gICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IFBvcFN0YXRlRXZlbnQoXCJwb3BzdGF0ZVwiLCB7IHN0YXRlOiB7fSB9KSk7XG4gICAgaWYgKGN1cnJlbnRTdGF0ZS5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47IC8vIFByZXZlbnQgY29uY3VycmVudCBzZWFyY2hlc1xuICAgIH1cblxuICAgIHNldChzZWFyY2hBdG9tLCB7XG4gICAgICBkYXRhOiBudWxsLFxuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgICAgbGFzdFF1ZXJ5OiBwYXJhbXMucXVlcnksXG4gICAgfSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlYXJjaFNlcnZpY2VGdW5jdGlvbiA9IGdldFNlYXJjaFNlcnZpY2VGdW5jdGlvbigpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2VhcmNoU2VydmljZUZ1bmN0aW9uKHBhcmFtcyk7XG4gICAgICBzZXQoc2VhcmNoQXRvbSwge1xuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgbGFzdFF1ZXJ5OiBwYXJhbXMucXVlcnksXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID1cbiAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBcIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWRcIjtcbiAgICAgIHNldChzZWFyY2hBdG9tLCB7XG4gICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBlcnJvcjogZXJyb3JNZXNzYWdlLFxuICAgICAgICBsYXN0UXVlcnk6IHBhcmFtcy5xdWVyeSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBc0JBLE1BQWEsNkJBQStCO0NBQzFDLE1BQU07Q0FDTixTQUFTO0NBQ1QsT0FBTztDQUNQLFdBQVc7Q0FDWixDQUFDO0FBRUYsTUFBYSwyQ0FDWEEsNkJBQWUsU0FDaEI7QUFDRCxNQUFhLDRDQUF5RCxFQUFFLENBQUM7QUFFekUsTUFBYSxzQkFDWCxVQUNBLGNBQ0EsaUJBQzBCO0NBQzFCLElBQUksR0FBRyxTQUFTLEdBQUc7Q0FDbkI7Q0FDQTtDQUNBO0NBQ0Q7QUFFRCxNQUFNLDJDQUdIO0NBQ0QsSUFBSTtDQUNKLE9BQU87Q0FDUixDQUFDO0FBRUYsTUFBYSxvQ0FDVixRQUFRLElBQUkseUJBQXlCLEdBQ3JDLEdBQUcsS0FBSyxVQUF1RDtBQUM5RCxLQUFJLDBCQUEwQixNQUFNO0VBRXZDO0FBQ0QsTUFBYSxnREFBOEMsTUFBTTtBQUVqRSxNQUFhLG9DQUNWLFFBQVEsSUFBSSw4QkFBOEIsR0FDMUMsS0FBSyxLQUFLLFVBQW1CO0FBQzVCLEtBQUksVUFBVSxJQUFJLDhCQUE4QixDQUM5QztDQUVGLE1BQU0sMkJBQTJCO0VBQy9CLE1BQU0sU0FBUyxJQUFJLGdCQUFnQixPQUFPLFNBQVMsT0FBTztBQUMxRCxNQUFJLE9BQU8sSUFBSSxLQUFLLEtBQUssUUFBUTtHQUMvQixNQUFNLEtBQUssT0FBTyxJQUFJLE1BQU07R0FDNUIsTUFBTSxRQUFRLE9BQU8sSUFBSSxNQUFNO0FBQy9CLE9BQUksa0JBQWtCO0lBQUU7SUFBSTtJQUFPLENBQUM7UUFFcEMsS0FBSSxrQkFBa0I7R0FBRSxJQUFJO0dBQU0sT0FBTztHQUFNLENBQUM7O0FBR3BELEtBQUksT0FBTztBQUNULE1BQUksK0JBQStCLEtBQUs7QUFDeEMsU0FBTyxpQkFBaUIsWUFBWSxtQkFBbUI7QUFFdkQsc0JBQW9CO1FBQ2Y7QUFDTCxNQUFJLCtCQUErQixNQUFNO0FBQ3pDLFNBQU8sb0JBQW9CLFlBQVksbUJBQW1COztFQUcvRDtBQUVELE1BQWEsOENBQW1DLFFBQVE7Q0FDdEQsTUFBTSxhQUFhLElBQUksV0FBVyxDQUFDO0NBQ25DLE1BQU0sVUFBVSxJQUFJLHlCQUF5QjtDQUM3QyxNQUFNLGtCQUFrQixJQUFJLDBCQUEwQjtDQUN0RCxNQUFNLGVBQWUsSUFBSUMsMENBQWlCO0FBRTFDLEtBQ0UsQ0FBQyxZQUFZLFlBQ2IsQ0FBQyxjQUFjLGdCQUFnQixXQUFXLGFBRTFDLFFBQU8sRUFBRTtDQUVYLE1BQU0sbUJBQW1CQyxrQ0FBZSxlQUN0QyxXQUFXLFVBQ1gsYUFBYSxlQUFlLFVBQVUsYUFBYSxvQkFDbkQsaUJBQ0EsYUFBYSxlQUFlLFVBQVUsYUFBYSx1QkFDcEQ7QUFFRCxRQUFPQyxpQ0FBYyxLQUFLLGtCQUFrQixRQUFRO0VBQ3BEO0FBRUYsTUFBYSxxQ0FBMEIsUUFBUTtDQUM3QyxNQUFNLGFBQWEsSUFBSSxXQUFXLENBQUM7Q0FDbkMsTUFBTSxrQkFBa0IsSUFBSSwwQkFBMEI7Q0FDdEQsTUFBTSxlQUFlLElBQUlGLDBDQUFpQjtBQUUxQyxLQUNFLENBQUMsWUFBWSxZQUNiLENBQUMsY0FBYyxnQkFBZ0IsV0FBVyxhQUUxQyxRQUFPLEVBQUU7QUFFWCxRQUFPQyxrQ0FBZSxzQkFDcEIsV0FBVyxVQUNYLGFBQWEsZUFBZSxVQUFVLGFBQWEsb0JBQ25ELGdCQUNEO0VBQ0Q7QUFFRixNQUFhLHNDQUNYLE9BQ0MsS0FBSyxLQUFLLFdBQWlDO0NBQzFDLE1BQU0sVUFBVSxJQUFJLDBCQUEwQjtBQUM5QyxLQUFJLENBQUMsUUFBUSxNQUFNLE1BQU0sRUFBRSxPQUFPLE9BQU8sR0FBRyxDQUMxQyxLQUFJLDJCQUEyQixDQUFDLEdBQUcsU0FBUyxPQUFPLENBQUM7RUFHekQ7QUFFRCxNQUFhLHlDQUNYLE9BQ0MsS0FBSyxLQUFLLGFBQXFCO0NBQzlCLE1BQU0sVUFBVSxJQUFJLDBCQUEwQjtBQUM5QyxLQUNFLDJCQUNBLFFBQVEsUUFBUSxNQUFNLEVBQUUsT0FBTyxTQUFTLENBQ3pDO0VBRUo7QUFFRCxNQUFhLHlDQUE4QixPQUFPLEdBQUcsUUFBUTtBQUMzRCxLQUFJLDJCQUEyQixFQUFFLENBQUM7RUFDbEM7QUFFRixNQUFhLG9DQUNYLE1BQ0EsT0FBTyxLQUFLLEtBQUssUUFBc0IsZ0JBQWdCLFVBQVU7Q0FDL0QsTUFBTSxlQUFlLElBQUksV0FBVztDQUVwQyxNQUFNLDJCQURlLElBQUlELDBDQUFpQixFQUUxQixnQkFBZ0IsV0FBVyxjQUNyQztBQUVOLEtBQUksaUJBQWlCLDBCQUEwQjtFQUM3QyxNQUFNLGNBQWMsSUFBSSxJQUFJLHlCQUF5QjtBQUNyRCxjQUFZLGFBQWEsSUFBSSxNQUFNLE9BQU87QUFDMUMsY0FBWSxhQUFhLElBQUksT0FBTyxPQUFPLE1BQU07QUFDakQsU0FBTyxTQUFTLE9BQU8sWUFBWSxVQUFVO1FBQ3hDO0VBRUwsTUFBTSxNQUFNLElBQUksSUFBSSxPQUFPLFNBQVMsS0FBSztBQUN6QyxNQUFJLGFBQWEsSUFBSSxNQUFNLE9BQU87QUFDbEMsTUFBSSxhQUFhLElBQUksT0FBTyxPQUFPLE1BQU07QUFDekMsU0FBTyxRQUFRLFVBQVUsRUFBRSxFQUFFLElBQUksSUFBSTtBQUlyQyxTQUFPLGNBQWMsSUFBSSxjQUFjLFlBQVksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7O0FBS3BFLFFBQU8sY0FBYyxJQUFJLGNBQWMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsRSxLQUFJLGFBQWEsUUFDZjtBQUdGLEtBQUksWUFBWTtFQUNkLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFdBQVcsT0FBTztFQUNuQixDQUFDO0FBQ0YsS0FBSTtFQUVGLE1BQU0sU0FBUyxNQURlRyx1REFBMEIsQ0FDYixPQUFPO0FBQ2xELE1BQUksWUFBWTtHQUNkLE1BQU07R0FDTixTQUFTO0dBQ1QsT0FBTztHQUNQLFdBQVcsT0FBTztHQUNuQixDQUFDO1VBQ0tDLE9BQWdCO0VBQ3ZCLE1BQU0sZUFDSixpQkFBaUIsUUFBUSxNQUFNLFVBQVU7QUFDM0MsTUFBSSxZQUFZO0dBQ2QsTUFBTTtHQUNOLFNBQVM7R0FDVCxPQUFPO0dBQ1AsV0FBVyxPQUFPO0dBQ25CLENBQUM7O0VBR1AifQ==
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
//#region src/types/search-filter-types.d.ts
|
|
2
|
+
type ModalSheetProps = {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
closeModal: () => void;
|
|
6
|
+
desktopWidth?: number;
|
|
7
|
+
mobileFullHeight?: number;
|
|
8
|
+
animationDuration?: number;
|
|
9
|
+
headerProps: ModalSheetHeaderProps;
|
|
10
|
+
footerProps?: ModalSheetFooterProps;
|
|
11
|
+
showOverlay?: boolean;
|
|
12
|
+
};
|
|
13
|
+
type ModalSheetHeaderProps = {
|
|
14
|
+
headerVariant?: ModalSheetHeaderVariant;
|
|
15
|
+
headerContent: React.ReactNode;
|
|
16
|
+
handleHeaderClick?: () => void;
|
|
17
|
+
};
|
|
18
|
+
type ModalSheetFooterProps = {
|
|
19
|
+
footerContent: React.ReactNode;
|
|
20
|
+
footerClassName?: string;
|
|
21
|
+
};
|
|
22
|
+
type ModalSheetHeaderVariant = "primary";
|
|
23
|
+
type CloseIconVariant = "light" | "tertiary" | "dark";
|
|
24
|
+
type ModalSheetCloseIconProps = {
|
|
25
|
+
closeIconVariant: CloseIconVariant;
|
|
26
|
+
closeIcon?: React.ReactNode;
|
|
27
|
+
closeModal?: () => void;
|
|
28
|
+
iconSize?: string;
|
|
29
|
+
};
|
|
30
|
+
type SearchFilterProps = {
|
|
31
|
+
filters: SearchFilterDatum[];
|
|
32
|
+
selectFilterItem: SelectFilterItem;
|
|
33
|
+
clearAllFilters: () => void;
|
|
34
|
+
productCount: number;
|
|
35
|
+
isOpen: boolean;
|
|
36
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
37
|
+
applyFiltersUnchangedClasses: string;
|
|
38
|
+
applyFiltersChangedClasses: string;
|
|
39
|
+
headerContent?: React.ReactNode;
|
|
40
|
+
footerContent?: React.ReactNode;
|
|
41
|
+
filterButtonText?: string;
|
|
42
|
+
headerClassName?: string;
|
|
43
|
+
radioButtonFillColor: string;
|
|
44
|
+
radioButtonHoverColor?: string;
|
|
45
|
+
radioButtonUncheckedBorderColor?: string;
|
|
46
|
+
filterCloseIconVariant: CloseIconVariant;
|
|
47
|
+
};
|
|
48
|
+
type SelectFilterItem = ({
|
|
49
|
+
filterId,
|
|
50
|
+
filterItemId,
|
|
51
|
+
isSelected,
|
|
52
|
+
displayName
|
|
53
|
+
}: {
|
|
54
|
+
filterId: string;
|
|
55
|
+
filterItemId: string;
|
|
56
|
+
isSelected: boolean;
|
|
57
|
+
displayName: string;
|
|
58
|
+
}) => void;
|
|
59
|
+
type SelectedFilterItemDatum = {
|
|
60
|
+
filterId: string;
|
|
61
|
+
filterItemId: string;
|
|
62
|
+
};
|
|
63
|
+
type SearchFilterDatum = {
|
|
64
|
+
filterId: string;
|
|
65
|
+
displayName: string;
|
|
66
|
+
items: SearchFilterItemDatum[];
|
|
67
|
+
};
|
|
68
|
+
type SearchFilterItemDatum = {
|
|
69
|
+
filterItemId: string;
|
|
70
|
+
displayName: string;
|
|
71
|
+
productCount: number;
|
|
72
|
+
isSelected: boolean;
|
|
73
|
+
};
|
|
74
|
+
type SearchFilterHeaderProps = {
|
|
75
|
+
closeModal: () => void;
|
|
76
|
+
productCount: number;
|
|
77
|
+
headerClassName: string;
|
|
78
|
+
filterCloseIconVariant: CloseIconVariant;
|
|
79
|
+
};
|
|
80
|
+
type FilterProps = {
|
|
81
|
+
filter: SearchFilterDatum;
|
|
82
|
+
selectFilterItem: SelectFilterItem;
|
|
83
|
+
radioButtonFillColor?: string;
|
|
84
|
+
radioButtonHoverColor?: string;
|
|
85
|
+
radioButtonUncheckedBorderColor?: string;
|
|
86
|
+
};
|
|
87
|
+
type FilterItemProps = {
|
|
88
|
+
filterId: string;
|
|
89
|
+
filterItem: SearchFilterItemDatum;
|
|
90
|
+
selectFilterItem: SelectFilterItem;
|
|
91
|
+
};
|
|
92
|
+
type FilterFooterProps = {
|
|
93
|
+
closeModal: () => void;
|
|
94
|
+
clearAllFilters: () => void;
|
|
95
|
+
filterCount: number;
|
|
96
|
+
hasFiltersChanged: boolean;
|
|
97
|
+
applyFiltersUnchangedClasses: string;
|
|
98
|
+
applyFiltersChangedClasses: string;
|
|
99
|
+
};
|
|
100
|
+
//#endregion
|
|
101
|
+
export { CloseIconVariant, FilterFooterProps, FilterItemProps, FilterProps, ModalSheetCloseIconProps, ModalSheetFooterProps, ModalSheetHeaderProps, ModalSheetHeaderVariant, ModalSheetProps, SearchFilterDatum, SearchFilterHeaderProps, SearchFilterItemDatum, SearchFilterProps, SelectFilterItem, SelectedFilterItemDatum };
|
|
102
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci10eXBlcy1CSXRLdGV6Zi5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMvc2VhcmNoLWZpbHRlci10eXBlcy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1vZGFsU2hlZXRQcm9wcyA9IHtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGlzT3BlbjogYm9vbGVhbjtcbiAgICBjbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuICAgIGRlc2t0b3BXaWR0aD86IG51bWJlcjtcbiAgICBtb2JpbGVGdWxsSGVpZ2h0PzogbnVtYmVyO1xuICAgIGFuaW1hdGlvbkR1cmF0aW9uPzogbnVtYmVyO1xuICAgIGhlYWRlclByb3BzOiBNb2RhbFNoZWV0SGVhZGVyUHJvcHM7XG4gICAgZm9vdGVyUHJvcHM/OiBNb2RhbFNoZWV0Rm9vdGVyUHJvcHM7XG4gICAgc2hvd092ZXJsYXk/OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIE1vZGFsU2hlZXRIZWFkZXJQcm9wcyA9IHtcbiAgICBoZWFkZXJWYXJpYW50PzogTW9kYWxTaGVldEhlYWRlclZhcmlhbnQ7XG4gICAgaGVhZGVyQ29udGVudDogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGhhbmRsZUhlYWRlckNsaWNrPzogKCkgPT4gdm9pZDtcbn07XG5leHBvcnQgdHlwZSBNb2RhbFNoZWV0Rm9vdGVyUHJvcHMgPSB7XG4gICAgZm9vdGVyQ29udGVudDogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGZvb3RlckNsYXNzTmFtZT86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBNb2RhbFNoZWV0SGVhZGVyVmFyaWFudCA9IFwicHJpbWFyeVwiO1xuZXhwb3J0IHR5cGUgQ2xvc2VJY29uVmFyaWFudCA9IFwibGlnaHRcIiB8IFwidGVydGlhcnlcIiB8IFwiZGFya1wiO1xuZXhwb3J0IHR5cGUgTW9kYWxTaGVldENsb3NlSWNvblByb3BzID0ge1xuICAgIGNsb3NlSWNvblZhcmlhbnQ6IENsb3NlSWNvblZhcmlhbnQ7XG4gICAgY2xvc2VJY29uPzogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGNsb3NlTW9kYWw/OiAoKSA9PiB2b2lkO1xuICAgIGljb25TaXplPzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlclByb3BzID0ge1xuICAgIGZpbHRlcnM6IFNlYXJjaEZpbHRlckRhdHVtW107XG4gICAgc2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbTtcbiAgICBjbGVhckFsbEZpbHRlcnM6ICgpID0+IHZvaWQ7XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgaXNPcGVuOiBib29sZWFuO1xuICAgIHNldElzT3BlbjogKGlzT3BlbjogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBhcHBseUZpbHRlcnNVbmNoYW5nZWRDbGFzc2VzOiBzdHJpbmc7XG4gICAgYXBwbHlGaWx0ZXJzQ2hhbmdlZENsYXNzZXM6IHN0cmluZztcbiAgICBoZWFkZXJDb250ZW50PzogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGZvb3RlckNvbnRlbnQ/OiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgZmlsdGVyQnV0dG9uVGV4dD86IHN0cmluZztcbiAgICBoZWFkZXJDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgcmFkaW9CdXR0b25GaWxsQ29sb3I6IHN0cmluZztcbiAgICByYWRpb0J1dHRvbkhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gICAgcmFkaW9CdXR0b25VbmNoZWNrZWRCb3JkZXJDb2xvcj86IHN0cmluZztcbiAgICBmaWx0ZXJDbG9zZUljb25WYXJpYW50OiBDbG9zZUljb25WYXJpYW50O1xufTtcbmV4cG9ydCB0eXBlIFNlbGVjdEZpbHRlckl0ZW0gPSAoeyBmaWx0ZXJJZCwgZmlsdGVySXRlbUlkLCBpc1NlbGVjdGVkLCBkaXNwbGF5TmFtZSwgfToge1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xufSkgPT4gdm9pZDtcbmV4cG9ydCB0eXBlIFNlbGVjdGVkRmlsdGVySXRlbURhdHVtID0ge1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyRGF0dW0gPSB7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGl0ZW1zOiBTZWFyY2hGaWx0ZXJJdGVtRGF0dW1bXTtcbn07XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJJdGVtRGF0dW0gPSB7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwcm9kdWN0Q291bnQ6IG51bWJlcjtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlckhlYWRlclByb3BzID0ge1xuICAgIGNsb3NlTW9kYWw6ICgpID0+IHZvaWQ7XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgaGVhZGVyQ2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgZmlsdGVyQ2xvc2VJY29uVmFyaWFudDogQ2xvc2VJY29uVmFyaWFudDtcbn07XG5leHBvcnQgdHlwZSBGaWx0ZXJQcm9wcyA9IHtcbiAgICBmaWx0ZXI6IFNlYXJjaEZpbHRlckRhdHVtO1xuICAgIHNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW07XG4gICAgcmFkaW9CdXR0b25GaWxsQ29sb3I/OiBzdHJpbmc7XG4gICAgcmFkaW9CdXR0b25Ib3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIHJhZGlvQnV0dG9uVW5jaGVja2VkQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgRmlsdGVySXRlbVByb3BzID0ge1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZmlsdGVySXRlbTogU2VhcmNoRmlsdGVySXRlbURhdHVtO1xuICAgIHNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW07XG59O1xuZXhwb3J0IHR5cGUgRmlsdGVyRm9vdGVyUHJvcHMgPSB7XG4gICAgY2xvc2VNb2RhbDogKCkgPT4gdm9pZDtcbiAgICBjbGVhckFsbEZpbHRlcnM6ICgpID0+IHZvaWQ7XG4gICAgZmlsdGVyQ291bnQ6IG51bWJlcjtcbiAgICBoYXNGaWx0ZXJzQ2hhbmdlZDogYm9vbGVhbjtcbiAgICBhcHBseUZpbHRlcnNVbmNoYW5nZWRDbGFzc2VzOiBzdHJpbmc7XG4gICAgYXBwbHlGaWx0ZXJzQ2hhbmdlZENsYXNzZXM6IHN0cmluZztcbn07XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLGtCQUFrQjtDQUFDO09BQUEsTUFBQTtPQUFBO09BQUE7Q0FBQTtBQUM5QixJQUFXLHdCQUFrQjtDQUFBO09BQUE7T0FBQSxNQUFBO0NBQUE7QUFDN0IsSUFBVyx3QkFBUSxDQUFBLFdBQUEsTUFBQSxVQUFBO0FBQ25CLElBQVcsMEJBQWUsQ0FBQSxJQUFBO0FBQzFCLElBQVcsbUJBQWMsQ0FBQSxJQUFBO0FBQ3pCLElBQVcsMkJBQWtCO0NBQUE7T0FBQTtPQUFBLE1BQUE7Q0FBQTtBQUM3QixJQUFXLG9CQUFtQjtDQUFBO09BQUE7T0FBQTtPQUFBLE1BQUE7T0FBQSxNQUFBO09BQUE7Q0FBQTtBQUM5QixJQUFXLG1CQUFtQjtDQUFDO09BQU87T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN0QyxJQUFXLDBCQUEwQixDQUFDLElBQUM7QUFDdkMsSUFBVyxvQkFBYyxDQUFBLFdBQUEsc0JBQUE7QUFDekIsSUFBQyx3QkFBQSxDQUFBLElBQUE7QUFDRCxJQUFXLDBCQUF5QixDQUFBLFdBQUEsaUJBQUE7QUFDcEMsSUFBVyxjQUFjO0NBQUM7T0FBVztPQUFNO0NBQUE7QUFDM0MsSUFBVyxrQkFBa0I7Q0FBQztPQUFJO09BQUE7Q0FBQTtBQUNsQyxJQUFXLG9CQUFvQixDQUFDLElBQUUifQ==
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
//#region src/types/search-filter-types.d.ts
|
|
2
|
+
type ModalSheetProps = {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
closeModal: () => void;
|
|
6
|
+
desktopWidth?: number;
|
|
7
|
+
mobileFullHeight?: number;
|
|
8
|
+
animationDuration?: number;
|
|
9
|
+
headerProps: ModalSheetHeaderProps;
|
|
10
|
+
footerProps?: ModalSheetFooterProps;
|
|
11
|
+
showOverlay?: boolean;
|
|
12
|
+
};
|
|
13
|
+
type ModalSheetHeaderProps = {
|
|
14
|
+
headerVariant?: ModalSheetHeaderVariant;
|
|
15
|
+
headerContent: React.ReactNode;
|
|
16
|
+
handleHeaderClick?: () => void;
|
|
17
|
+
};
|
|
18
|
+
type ModalSheetFooterProps = {
|
|
19
|
+
footerContent: React.ReactNode;
|
|
20
|
+
footerClassName?: string;
|
|
21
|
+
};
|
|
22
|
+
type ModalSheetHeaderVariant = "primary";
|
|
23
|
+
type CloseIconVariant = "light" | "tertiary" | "dark";
|
|
24
|
+
type ModalSheetCloseIconProps = {
|
|
25
|
+
closeIconVariant: CloseIconVariant;
|
|
26
|
+
closeIcon?: React.ReactNode;
|
|
27
|
+
closeModal?: () => void;
|
|
28
|
+
iconSize?: string;
|
|
29
|
+
};
|
|
30
|
+
type SearchFilterProps = {
|
|
31
|
+
filters: SearchFilterDatum[];
|
|
32
|
+
selectFilterItem: SelectFilterItem;
|
|
33
|
+
clearAllFilters: () => void;
|
|
34
|
+
productCount: number;
|
|
35
|
+
isOpen: boolean;
|
|
36
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
37
|
+
applyFiltersUnchangedClasses: string;
|
|
38
|
+
applyFiltersChangedClasses: string;
|
|
39
|
+
headerContent?: React.ReactNode;
|
|
40
|
+
footerContent?: React.ReactNode;
|
|
41
|
+
filterButtonText?: string;
|
|
42
|
+
headerClassName?: string;
|
|
43
|
+
radioButtonFillColor: string;
|
|
44
|
+
radioButtonHoverColor?: string;
|
|
45
|
+
radioButtonUncheckedBorderColor?: string;
|
|
46
|
+
filterCloseIconVariant: CloseIconVariant;
|
|
47
|
+
};
|
|
48
|
+
type SelectFilterItem = ({
|
|
49
|
+
filterId,
|
|
50
|
+
filterItemId,
|
|
51
|
+
isSelected,
|
|
52
|
+
displayName
|
|
53
|
+
}: {
|
|
54
|
+
filterId: string;
|
|
55
|
+
filterItemId: string;
|
|
56
|
+
isSelected: boolean;
|
|
57
|
+
displayName: string;
|
|
58
|
+
}) => void;
|
|
59
|
+
type SelectedFilterItemDatum = {
|
|
60
|
+
filterId: string;
|
|
61
|
+
filterItemId: string;
|
|
62
|
+
};
|
|
63
|
+
type SearchFilterDatum = {
|
|
64
|
+
filterId: string;
|
|
65
|
+
displayName: string;
|
|
66
|
+
items: SearchFilterItemDatum[];
|
|
67
|
+
};
|
|
68
|
+
type SearchFilterItemDatum = {
|
|
69
|
+
filterItemId: string;
|
|
70
|
+
displayName: string;
|
|
71
|
+
productCount: number;
|
|
72
|
+
isSelected: boolean;
|
|
73
|
+
};
|
|
74
|
+
type SearchFilterHeaderProps = {
|
|
75
|
+
closeModal: () => void;
|
|
76
|
+
productCount: number;
|
|
77
|
+
headerClassName: string;
|
|
78
|
+
filterCloseIconVariant: CloseIconVariant;
|
|
79
|
+
};
|
|
80
|
+
type FilterProps = {
|
|
81
|
+
filter: SearchFilterDatum;
|
|
82
|
+
selectFilterItem: SelectFilterItem;
|
|
83
|
+
radioButtonFillColor?: string;
|
|
84
|
+
radioButtonHoverColor?: string;
|
|
85
|
+
radioButtonUncheckedBorderColor?: string;
|
|
86
|
+
};
|
|
87
|
+
type FilterItemProps = {
|
|
88
|
+
filterId: string;
|
|
89
|
+
filterItem: SearchFilterItemDatum;
|
|
90
|
+
selectFilterItem: SelectFilterItem;
|
|
91
|
+
};
|
|
92
|
+
type FilterFooterProps = {
|
|
93
|
+
closeModal: () => void;
|
|
94
|
+
clearAllFilters: () => void;
|
|
95
|
+
filterCount: number;
|
|
96
|
+
hasFiltersChanged: boolean;
|
|
97
|
+
applyFiltersUnchangedClasses: string;
|
|
98
|
+
applyFiltersChangedClasses: string;
|
|
99
|
+
};
|
|
100
|
+
//#endregion
|
|
101
|
+
export { CloseIconVariant, FilterFooterProps, FilterItemProps, FilterProps, ModalSheetCloseIconProps, ModalSheetFooterProps, ModalSheetHeaderProps, ModalSheetHeaderVariant, ModalSheetProps, SearchFilterDatum, SearchFilterHeaderProps, SearchFilterItemDatum, SearchFilterProps, SelectFilterItem, SelectedFilterItemDatum };
|
|
102
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci10eXBlcy1mWmY5MVBkdy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy9zZWFyY2gtZmlsdGVyLXR5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTW9kYWxTaGVldFByb3BzID0ge1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgaXNPcGVuOiBib29sZWFuO1xuICAgIGNsb3NlTW9kYWw6ICgpID0+IHZvaWQ7XG4gICAgZGVza3RvcFdpZHRoPzogbnVtYmVyO1xuICAgIG1vYmlsZUZ1bGxIZWlnaHQ/OiBudW1iZXI7XG4gICAgYW5pbWF0aW9uRHVyYXRpb24/OiBudW1iZXI7XG4gICAgaGVhZGVyUHJvcHM6IE1vZGFsU2hlZXRIZWFkZXJQcm9wcztcbiAgICBmb290ZXJQcm9wcz86IE1vZGFsU2hlZXRGb290ZXJQcm9wcztcbiAgICBzaG93T3ZlcmxheT86IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgTW9kYWxTaGVldEhlYWRlclByb3BzID0ge1xuICAgIGhlYWRlclZhcmlhbnQ/OiBNb2RhbFNoZWV0SGVhZGVyVmFyaWFudDtcbiAgICBoZWFkZXJDb250ZW50OiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgaGFuZGxlSGVhZGVyQ2xpY2s/OiAoKSA9PiB2b2lkO1xufTtcbmV4cG9ydCB0eXBlIE1vZGFsU2hlZXRGb290ZXJQcm9wcyA9IHtcbiAgICBmb290ZXJDb250ZW50OiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgZm9vdGVyQ2xhc3NOYW1lPzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIE1vZGFsU2hlZXRIZWFkZXJWYXJpYW50ID0gXCJwcmltYXJ5XCI7XG5leHBvcnQgdHlwZSBDbG9zZUljb25WYXJpYW50ID0gXCJsaWdodFwiIHwgXCJ0ZXJ0aWFyeVwiIHwgXCJkYXJrXCI7XG5leHBvcnQgdHlwZSBNb2RhbFNoZWV0Q2xvc2VJY29uUHJvcHMgPSB7XG4gICAgY2xvc2VJY29uVmFyaWFudDogQ2xvc2VJY29uVmFyaWFudDtcbiAgICBjbG9zZUljb24/OiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgY2xvc2VNb2RhbD86ICgpID0+IHZvaWQ7XG4gICAgaWNvblNpemU/OiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyUHJvcHMgPSB7XG4gICAgZmlsdGVyczogU2VhcmNoRmlsdGVyRGF0dW1bXTtcbiAgICBzZWxlY3RGaWx0ZXJJdGVtOiBTZWxlY3RGaWx0ZXJJdGVtO1xuICAgIGNsZWFyQWxsRmlsdGVyczogKCkgPT4gdm9pZDtcbiAgICBwcm9kdWN0Q291bnQ6IG51bWJlcjtcbiAgICBpc09wZW46IGJvb2xlYW47XG4gICAgc2V0SXNPcGVuOiAoaXNPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIGFwcGx5RmlsdGVyc1VuY2hhbmdlZENsYXNzZXM6IHN0cmluZztcbiAgICBhcHBseUZpbHRlcnNDaGFuZ2VkQ2xhc3Nlczogc3RyaW5nO1xuICAgIGhlYWRlckNvbnRlbnQ/OiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgZm9vdGVyQ29udGVudD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICBmaWx0ZXJCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIGhlYWRlckNsYXNzTmFtZT86IHN0cmluZztcbiAgICByYWRpb0J1dHRvbkZpbGxDb2xvcjogc3RyaW5nO1xuICAgIHJhZGlvQnV0dG9uSG92ZXJDb2xvcj86IHN0cmluZztcbiAgICByYWRpb0J1dHRvblVuY2hlY2tlZEJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGZpbHRlckNsb3NlSWNvblZhcmlhbnQ6IENsb3NlSWNvblZhcmlhbnQ7XG59O1xuZXhwb3J0IHR5cGUgU2VsZWN0RmlsdGVySXRlbSA9ICh7IGZpbHRlcklkLCBmaWx0ZXJJdGVtSWQsIGlzU2VsZWN0ZWQsIGRpc3BsYXlOYW1lLCB9OiB7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59KSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgU2VsZWN0ZWRGaWx0ZXJJdGVtRGF0dW0gPSB7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJEYXR1bSA9IHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgaXRlbXM6IFNlYXJjaEZpbHRlckl0ZW1EYXR1bVtdO1xufTtcbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlckl0ZW1EYXR1bSA9IHtcbiAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIHByb2R1Y3RDb3VudDogbnVtYmVyO1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVySGVhZGVyUHJvcHMgPSB7XG4gICAgY2xvc2VNb2RhbDogKCkgPT4gdm9pZDtcbiAgICBwcm9kdWN0Q291bnQ6IG51bWJlcjtcbiAgICBoZWFkZXJDbGFzc05hbWU6IHN0cmluZztcbiAgICBmaWx0ZXJDbG9zZUljb25WYXJpYW50OiBDbG9zZUljb25WYXJpYW50O1xufTtcbmV4cG9ydCB0eXBlIEZpbHRlclByb3BzID0ge1xuICAgIGZpbHRlcjogU2VhcmNoRmlsdGVyRGF0dW07XG4gICAgc2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbTtcbiAgICByYWRpb0J1dHRvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICByYWRpb0J1dHRvbkhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gICAgcmFkaW9CdXR0b25VbmNoZWNrZWRCb3JkZXJDb2xvcj86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBGaWx0ZXJJdGVtUHJvcHMgPSB7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBmaWx0ZXJJdGVtOiBTZWFyY2hGaWx0ZXJJdGVtRGF0dW07XG4gICAgc2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbTtcbn07XG5leHBvcnQgdHlwZSBGaWx0ZXJGb290ZXJQcm9wcyA9IHtcbiAgICBjbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuICAgIGNsZWFyQWxsRmlsdGVyczogKCkgPT4gdm9pZDtcbiAgICBmaWx0ZXJDb3VudDogbnVtYmVyO1xuICAgIGhhc0ZpbHRlcnNDaGFuZ2VkOiBib29sZWFuO1xuICAgIGFwcGx5RmlsdGVyc1VuY2hhbmdlZENsYXNzZXM6IHN0cmluZztcbiAgICBhcHBseUZpbHRlcnNDaGFuZ2VkQ2xhc3Nlczogc3RyaW5nO1xufTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQVcsa0JBQWtCO0NBQUM7T0FBQSxNQUFBO09BQUE7T0FBQTtDQUFBO0FBQzlCLElBQVcsd0JBQWtCO0NBQUE7T0FBQTtPQUFBLE1BQUE7Q0FBQTtBQUM3QixJQUFXLHdCQUFRLENBQUEsV0FBQSxNQUFBLFVBQUE7QUFDbkIsSUFBVywwQkFBZSxDQUFBLElBQUE7QUFDMUIsSUFBVyxtQkFBYyxDQUFBLElBQUE7QUFDekIsSUFBVywyQkFBa0I7Q0FBQTtPQUFBO09BQUEsTUFBQTtDQUFBO0FBQzdCLElBQVcsb0JBQW1CO0NBQUE7T0FBQTtPQUFBO09BQUEsTUFBQTtPQUFBLE1BQUE7T0FBQTtDQUFBO0FBQzlCLElBQVcsbUJBQW1CO0NBQUM7T0FBTztPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3RDLElBQVcsMEJBQTBCLENBQUMsSUFBQztBQUN2QyxJQUFXLG9CQUFjLENBQUEsV0FBQSxzQkFBQTtBQUN6QixJQUFDLHdCQUFBLENBQUEsSUFBQTtBQUNELElBQVcsMEJBQXlCLENBQUEsV0FBQSxpQkFBQTtBQUNwQyxJQUFXLGNBQWM7Q0FBQztPQUFXO09BQU07Q0FBQTtBQUMzQyxJQUFXLGtCQUFrQjtDQUFDO09BQUk7T0FBQTtDQUFBO0FBQ2xDLElBQVcsb0JBQW9CLENBQUMsSUFBRSJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CamelCasedPropertiesDeep } from "./index-Dfwnna1j.js";
|
|
2
|
+
import { ProductSearchResponse, ProductSearchResponseAttributes, SearchResponseProduct } from "@spiffy-ai/commerce-api-client";
|
|
3
|
+
|
|
4
|
+
//#region src/application/models/api/search.d.ts
|
|
5
|
+
interface ProductSearchResponse$1 extends CamelCasedPropertiesDeep<ProductSearchResponse> {}
|
|
6
|
+
interface ProductSearchResponseAttributes$1 extends CamelCasedPropertiesDeep<ProductSearchResponseAttributes> {}
|
|
7
|
+
interface SearchResult {
|
|
8
|
+
products: SearchResponseProduct[];
|
|
9
|
+
filters: string[];
|
|
10
|
+
generatedQuery?: string;
|
|
11
|
+
totalProductCount: number;
|
|
12
|
+
searchResponseId: string;
|
|
13
|
+
}
|
|
14
|
+
interface SearchParams {
|
|
15
|
+
query: string;
|
|
16
|
+
limit?: number;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { ProductSearchResponse$1 as ProductSearchResponse, ProductSearchResponseAttributes$1 as ProductSearchResponseAttributes, SearchParams, SearchResult };
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW51V1duUlJWLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZHVjdFNlYXJjaFJlc3BvbnNlIGFzIEFwaVByb2R1Y3RTZWFyY2hSZXNwb25zZSwgUHJvZHVjdFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlcyBhcyBBcGlQcm9kdWN0U2VhcmNoUmVzcG9uc2VBdHRyaWJ1dGVzLCBTZWFyY2hSZXNwb25zZVByb2R1Y3QgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0U2VhcmNoUmVzcG9uc2UgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpUHJvZHVjdFNlYXJjaFJlc3BvbnNlPiB7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpUHJvZHVjdFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHQge1xuICAgIHByb2R1Y3RzOiBTZWFyY2hSZXNwb25zZVByb2R1Y3RbXTtcbiAgICBmaWx0ZXJzOiBzdHJpbmdbXTtcbiAgICBnZW5lcmF0ZWRRdWVyeT86IHN0cmluZztcbiAgICB0b3RhbFByb2R1Y3RDb3VudDogbnVtYmVyO1xuICAgIHNlYXJjaFJlc3BvbnNlSWQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUGFyYW1zIHtcbiAgICBxdWVyeTogc3RyaW5nO1xuICAgIGxpbWl0PzogbnVtYmVyO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUEsSUFBVywwQkFBd0I7Q0FBQztPQUFXO09BQWdDO0NBQW1CO0FBQ2xHLElBQUEsb0NBQUE7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNBLElBQVcsZUFBZSxDQUFDLFdBQVcsc0JBQXNCO0FBQzVELElBQUEsZUFBQSxDQUFBLElBQUEifQ==
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { logger_default } from "./logger-W3lqg-4b.js";
|
|
2
|
+
import { baseUrlAtom } from "./enviveConfig-DZBohDpc.js";
|
|
3
|
+
import { SessionRestartRequired, UnsupportedProductException } from "./utils-jYtD3hmA.js";
|
|
4
|
+
import { useEnviveConfig } from "./enviveConfigContext-DrDjCems.js";
|
|
5
|
+
import { clearSearchServiceFunction, setSearchServiceFunction } from "./searchServiceAdapter-WyCU55NV.js";
|
|
6
|
+
import { useAppDetails } from "./useAppDetails-PUfYwCjK.js";
|
|
7
|
+
import { Configuration, ResponseCategory, ResponseError, SearchApi } from "@spiffy-ai/commerce-api-client";
|
|
8
|
+
import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
|
|
9
|
+
import { useAtomValue } from "jotai";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
|
|
12
|
+
//#region src/contexts/searchContext/searchContext.tsx
|
|
13
|
+
const transformProductResponses = (products) => products.map((data) => ({
|
|
14
|
+
id: data.id,
|
|
15
|
+
responseId: data.response_id,
|
|
16
|
+
category: ResponseCategory.Product,
|
|
17
|
+
description: data.description,
|
|
18
|
+
imageUrl: data.image_url,
|
|
19
|
+
imageUrls: data.image_urls,
|
|
20
|
+
title: data.title,
|
|
21
|
+
url: data.url,
|
|
22
|
+
originalPrice: data.original_price,
|
|
23
|
+
salePrice: data.sale_price,
|
|
24
|
+
averageRating: data.average_rating,
|
|
25
|
+
numberReviews: data.number_reviews,
|
|
26
|
+
metadata: data.metadata,
|
|
27
|
+
isForGrid: data.is_for_grid,
|
|
28
|
+
colors: data.colors,
|
|
29
|
+
sizes: data.sizes,
|
|
30
|
+
filters: data.filters
|
|
31
|
+
}));
|
|
32
|
+
async function errorResponseBody(error) {
|
|
33
|
+
try {
|
|
34
|
+
return await error.response.json();
|
|
35
|
+
} catch {
|
|
36
|
+
return {};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async function throwSessionRestartRequiredIf(errorMsg, error) {
|
|
40
|
+
if (!(error instanceof ResponseError)) {
|
|
41
|
+
logger_default.logInfo(errorMsg, error);
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
const errorResponse = await errorResponseBody(error);
|
|
45
|
+
if (errorResponse?.message?.toLowerCase() === "unsupported product" || errorResponse?.app_code?.toUpperCase() === "PRODUCT_NOT_FOUND") throw new UnsupportedProductException();
|
|
46
|
+
else if (errorResponse?.app_code?.toUpperCase() === "RESTART_SESSION" || errorResponse?.sub_code?.toUpperCase() === "NOT_FOUND") {
|
|
47
|
+
logger_default.logInfo("Session does not exist. Re-start session", error, error.response, errorResponse);
|
|
48
|
+
throw new SessionRestartRequired();
|
|
49
|
+
}
|
|
50
|
+
logger_default.logInfo(errorMsg, error);
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
const SearchContext = createContext(void 0);
|
|
54
|
+
const SearchProvider = ({ children }) => {
|
|
55
|
+
const { orgLevelApiKey, publicKey } = useEnviveConfig();
|
|
56
|
+
const apiKey = orgLevelApiKey || publicKey;
|
|
57
|
+
const appDetails = useAppDetails();
|
|
58
|
+
const baseUrl = useAtomValue(baseUrlAtom);
|
|
59
|
+
const isReady = Boolean(apiKey && appDetails && baseUrl);
|
|
60
|
+
const searchApi = useMemo(() => {
|
|
61
|
+
if (!isReady) return null;
|
|
62
|
+
const config = new Configuration({
|
|
63
|
+
accessToken: apiKey,
|
|
64
|
+
basePath: baseUrl,
|
|
65
|
+
headers: {
|
|
66
|
+
"Content-Type": "application/json",
|
|
67
|
+
Accept: "application/json"
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return new SearchApi(config);
|
|
71
|
+
}, [
|
|
72
|
+
apiKey,
|
|
73
|
+
baseUrl,
|
|
74
|
+
isReady
|
|
75
|
+
]);
|
|
76
|
+
const searchProducts = useCallback(async (params) => {
|
|
77
|
+
if (!isReady || !searchApi) throw new Error("SearchService not ready - missing dependencies");
|
|
78
|
+
try {
|
|
79
|
+
const { products, filters, search_response_id: searchResponseId } = await searchApi.v1SearchQueryGet({
|
|
80
|
+
query: params.query,
|
|
81
|
+
limit: params.limit,
|
|
82
|
+
org_id: appDetails.orgId,
|
|
83
|
+
user_id: appDetails.userId
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
products: transformProductResponses(products) || [],
|
|
87
|
+
filters: filters || [],
|
|
88
|
+
totalProductCount: products?.length || 0,
|
|
89
|
+
searchResponseId: searchResponseId || ""
|
|
90
|
+
};
|
|
91
|
+
} catch (error) {
|
|
92
|
+
await throwSessionRestartRequiredIf("Failed to search products", error);
|
|
93
|
+
return {
|
|
94
|
+
products: [],
|
|
95
|
+
filters: [],
|
|
96
|
+
totalProductCount: 0,
|
|
97
|
+
searchResponseId: ""
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}, [
|
|
101
|
+
searchApi,
|
|
102
|
+
isReady,
|
|
103
|
+
appDetails
|
|
104
|
+
]);
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
if (isReady) setSearchServiceFunction(searchProducts);
|
|
107
|
+
else clearSearchServiceFunction();
|
|
108
|
+
return () => {
|
|
109
|
+
clearSearchServiceFunction();
|
|
110
|
+
};
|
|
111
|
+
}, [searchProducts, isReady]);
|
|
112
|
+
const value = useMemo(() => ({
|
|
113
|
+
searchProducts,
|
|
114
|
+
isReady
|
|
115
|
+
}), [searchProducts, isReady]);
|
|
116
|
+
return /* @__PURE__ */ jsx(SearchContext.Provider, {
|
|
117
|
+
value,
|
|
118
|
+
children
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
const useSearchService = () => {
|
|
122
|
+
const context = useContext(SearchContext);
|
|
123
|
+
if (!context) throw new Error("useSearchService must be used within a SearchProvider");
|
|
124
|
+
return context;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
//#endregion
|
|
128
|
+
export { SearchProvider, useSearchService };
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoQ29udGV4dC1CUFQ0NHVrLS5qcyIsIm5hbWVzIjpbIlNlYXJjaFByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJjb25maWc6IENvbmZpZ3VyYXRpb24iXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvc2VhcmNoQ29udGV4dC9zZWFyY2hDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZU1lbW8sXG4gIHVzZUVmZmVjdCxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUgfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb24sXG4gIFJlc3BvbnNlQ2F0ZWdvcnksXG4gIFJlc3BvbnNlRXJyb3IsXG4gIFNlYXJjaEFwaSxcbn0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgYmFzZVVybEF0b20gfSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCBMb2dnZXIgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlclwiO1xuaW1wb3J0IHsgdXNlQXBwRGV0YWlscyB9IGZyb20gXCJzcmMvaG9va3MvQXBwRGV0YWlscy91c2VBcHBEZXRhaWxzXCI7XG5pbXBvcnQgeyB1c2VFbnZpdmVDb25maWcgfSBmcm9tIFwic3JjL2NvbnRleHRzL2Vudml2ZUNvbmZpZ0NvbnRleHQvZW52aXZlQ29uZmlnQ29udGV4dFwiO1xuaW1wb3J0IHsgU2Vzc2lvblJlc3RhcnRSZXF1aXJlZCB9IGZyb20gXCJzcmMvdHlwZXMvZXhjZXB0aW9ucy9zZXNzaW9uRXhjZXB0aW9uc1wiO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRQcm9kdWN0RXhjZXB0aW9uIH0gZnJvbSBcInNyYy90eXBlcy9leGNlcHRpb25zL3Vuc3VwcG9ydGVkUHJvZHVjdEV4Y2VwdGlvbnNcIjtcbmltcG9ydCB7IFNlYXJjaFBhcmFtcywgU2VhcmNoUmVzdWx0IH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3NlYXJjaFwiO1xuaW1wb3J0IHtcbiAgY2xlYXJTZWFyY2hTZXJ2aWNlRnVuY3Rpb24sXG4gIHNldFNlYXJjaFNlcnZpY2VGdW5jdGlvbixcbn0gZnJvbSBcInNyYy9hdG9tcy9zZWFyY2gvc2VhcmNoU2VydmljZUFkYXB0ZXJcIjtcblxuY29uc3QgdHJhbnNmb3JtUHJvZHVjdFJlc3BvbnNlcyA9IChwcm9kdWN0czogU2VhcmNoUmVzdWx0W1wicHJvZHVjdHNcIl0pID0+XG4gIHByb2R1Y3RzLm1hcCgoZGF0YSkgPT4gKHtcbiAgICBpZDogZGF0YS5pZCxcbiAgICByZXNwb25zZUlkOiBkYXRhLnJlc3BvbnNlX2lkLFxuICAgIGNhdGVnb3J5OiBSZXNwb25zZUNhdGVnb3J5LlByb2R1Y3QsXG4gICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXG4gICAgaW1hZ2VVcmw6IGRhdGEuaW1hZ2VfdXJsLFxuICAgIGltYWdlVXJsczogZGF0YS5pbWFnZV91cmxzLFxuICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxuICAgIHVybDogZGF0YS51cmwsXG4gICAgb3JpZ2luYWxQcmljZTogZGF0YS5vcmlnaW5hbF9wcmljZSxcbiAgICBzYWxlUHJpY2U6IGRhdGEuc2FsZV9wcmljZSxcbiAgICBhdmVyYWdlUmF0aW5nOiBkYXRhLmF2ZXJhZ2VfcmF0aW5nLFxuICAgIG51bWJlclJldmlld3M6IGRhdGEubnVtYmVyX3Jldmlld3MsXG4gICAgbWV0YWRhdGE6IGRhdGEubWV0YWRhdGEsXG4gICAgaXNGb3JHcmlkOiBkYXRhLmlzX2Zvcl9ncmlkLFxuICAgIGNvbG9yczogZGF0YS5jb2xvcnMsXG4gICAgc2l6ZXM6IGRhdGEuc2l6ZXMsXG4gICAgZmlsdGVyczogZGF0YS5maWx0ZXJzLFxuICB9KSk7XG5cbmFzeW5jIGZ1bmN0aW9uIGVycm9yUmVzcG9uc2VCb2R5KGVycm9yOiBSZXNwb25zZUVycm9yKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGVycm9yLnJlc3BvbnNlLmpzb24oKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHRocm93U2Vzc2lvblJlc3RhcnRSZXF1aXJlZElmKGVycm9yTXNnOiBzdHJpbmcsIGVycm9yOiB1bmtub3duKSB7XG4gIGlmICghKGVycm9yIGluc3RhbmNlb2YgUmVzcG9uc2VFcnJvcikpIHtcbiAgICBMb2dnZXIubG9nSW5mbyhlcnJvck1zZywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG5cbiAgY29uc3QgZXJyb3JSZXNwb25zZSA9IGF3YWl0IGVycm9yUmVzcG9uc2VCb2R5KGVycm9yKTtcbiAgaWYgKFxuICAgIGVycm9yUmVzcG9uc2U/Lm1lc3NhZ2U/LnRvTG93ZXJDYXNlKCkgPT09IFwidW5zdXBwb3J0ZWQgcHJvZHVjdFwiIHx8XG4gICAgZXJyb3JSZXNwb25zZT8uYXBwX2NvZGU/LnRvVXBwZXJDYXNlKCkgPT09IFwiUFJPRFVDVF9OT1RfRk9VTkRcIlxuICApIHtcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRQcm9kdWN0RXhjZXB0aW9uKCk7XG4gIH0gZWxzZSBpZiAoXG4gICAgZXJyb3JSZXNwb25zZT8uYXBwX2NvZGU/LnRvVXBwZXJDYXNlKCkgPT09IFwiUkVTVEFSVF9TRVNTSU9OXCIgfHxcbiAgICBlcnJvclJlc3BvbnNlPy5zdWJfY29kZT8udG9VcHBlckNhc2UoKSA9PT0gXCJOT1RfRk9VTkRcIlxuICApIHtcbiAgICBMb2dnZXIubG9nSW5mbyhcbiAgICAgIFwiU2Vzc2lvbiBkb2VzIG5vdCBleGlzdC4gUmUtc3RhcnQgc2Vzc2lvblwiLFxuICAgICAgZXJyb3IsXG4gICAgICBlcnJvci5yZXNwb25zZSxcbiAgICAgIGVycm9yUmVzcG9uc2VcbiAgICApO1xuICAgIHRocm93IG5ldyBTZXNzaW9uUmVzdGFydFJlcXVpcmVkKCk7XG4gIH1cblxuICBMb2dnZXIubG9nSW5mbyhlcnJvck1zZywgZXJyb3IpO1xuICB0aHJvdyBlcnJvcjtcbn1cblxuaW50ZXJmYWNlIFNlYXJjaENvbnRleHRWYWx1ZSB7XG4gIHNlYXJjaFByb2R1Y3RzOiAocGFyYW1zOiBTZWFyY2hQYXJhbXMpID0+IFByb21pc2U8U2VhcmNoUmVzdWx0PjtcbiAgaXNSZWFkeTogYm9vbGVhbjtcbn1cblxuY29uc3QgU2VhcmNoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8U2VhcmNoQ29udGV4dFZhbHVlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgU2VhcmNoUHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9PiA9ICh7XG4gIGNoaWxkcmVuLFxufSkgPT4ge1xuICBjb25zdCB7IG9yZ0xldmVsQXBpS2V5LCBwdWJsaWNLZXkgfSA9IHVzZUVudml2ZUNvbmZpZygpO1xuICBjb25zdCBhcGlLZXkgPSBvcmdMZXZlbEFwaUtleSB8fCBwdWJsaWNLZXk7IC8vIFJlcGxpY2F0ZSBhcGlLZXlBdG9tIGxvZ2ljXG4gIGNvbnN0IGFwcERldGFpbHMgPSB1c2VBcHBEZXRhaWxzKCk7XG4gIGNvbnN0IGJhc2VVcmwgPSB1c2VBdG9tVmFsdWUoYmFzZVVybEF0b20pO1xuXG4gIGNvbnN0IGlzUmVhZHkgPSBCb29sZWFuKGFwaUtleSAmJiBhcHBEZXRhaWxzICYmIGJhc2VVcmwpO1xuXG4gIGNvbnN0IHNlYXJjaEFwaSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghaXNSZWFkeSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBjb25maWc6IENvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbih7XG4gICAgICBhY2Nlc3NUb2tlbjogYXBpS2V5LFxuICAgICAgYmFzZVBhdGg6IGJhc2VVcmwsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFNlYXJjaEFwaShjb25maWcpO1xuICB9LCBbYXBpS2V5LCBiYXNlVXJsLCBpc1JlYWR5XSk7XG5cbiAgY29uc3Qgc2VhcmNoUHJvZHVjdHMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGFyYW1zOiBTZWFyY2hQYXJhbXMpOiBQcm9taXNlPFNlYXJjaFJlc3VsdD4gPT4ge1xuICAgICAgaWYgKCFpc1JlYWR5IHx8ICFzZWFyY2hBcGkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2VhcmNoU2VydmljZSBub3QgcmVhZHkgLSBtaXNzaW5nIGRlcGVuZGVuY2llc1wiKTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZWFyY2hBcGkudjFTZWFyY2hRdWVyeUdldCh7XG4gICAgICAgICAgcXVlcnk6IHBhcmFtcy5xdWVyeSxcbiAgICAgICAgICBsaW1pdDogcGFyYW1zLmxpbWl0LFxuICAgICAgICAgIG9yZ19pZDogYXBwRGV0YWlscy5vcmdJZCxcbiAgICAgICAgICB1c2VyX2lkOiBhcHBEZXRhaWxzLnVzZXJJZCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBwcm9kdWN0cyxcbiAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgIHNlYXJjaF9yZXNwb25zZV9pZDogc2VhcmNoUmVzcG9uc2VJZCxcbiAgICAgICAgfSA9IHJlc3BvbnNlO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvZHVjdHM6IHRyYW5zZm9ybVByb2R1Y3RSZXNwb25zZXMocHJvZHVjdHMpIHx8IFtdLFxuICAgICAgICAgIGZpbHRlcnM6IGZpbHRlcnMgfHwgW10sXG4gICAgICAgICAgdG90YWxQcm9kdWN0Q291bnQ6IHByb2R1Y3RzPy5sZW5ndGggfHwgMCxcbiAgICAgICAgICBzZWFyY2hSZXNwb25zZUlkOiBzZWFyY2hSZXNwb25zZUlkIHx8IFwiXCIsXG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBhd2FpdCB0aHJvd1Nlc3Npb25SZXN0YXJ0UmVxdWlyZWRJZihcIkZhaWxlZCB0byBzZWFyY2ggcHJvZHVjdHNcIiwgZXJyb3IpO1xuICAgICAgICAvLyBUaGlzIHBhcnQgd2lsbCBub3QgYmUgcmVhY2hlZCBpZiBhbiBleGNlcHRpb24gaXMgdGhyb3duLCBidXQgaXQncyByZXF1aXJlZCBmb3IgdHlwZSBzYWZldHlcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgICAgZmlsdGVyczogW10sXG4gICAgICAgICAgdG90YWxQcm9kdWN0Q291bnQ6IDAsXG4gICAgICAgICAgc2VhcmNoUmVzcG9uc2VJZDogXCJcIixcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZWFyY2hBcGksIGlzUmVhZHksIGFwcERldGFpbHNdXG4gICk7XG5cbiAgLy8gUmVnaXN0ZXIgdGhlIHNlYXJjaCBmdW5jdGlvbiB3aXRoIHRoZSBhZGFwdGVyIGZvciB1c2UgaW4gYXRvbXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgc2V0U2VhcmNoU2VydmljZUZ1bmN0aW9uKHNlYXJjaFByb2R1Y3RzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJTZWFyY2hTZXJ2aWNlRnVuY3Rpb24oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJTZWFyY2hTZXJ2aWNlRnVuY3Rpb24oKTtcbiAgICB9O1xuICB9LCBbc2VhcmNoUHJvZHVjdHMsIGlzUmVhZHldKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHNlYXJjaFByb2R1Y3RzLFxuICAgICAgaXNSZWFkeSxcbiAgICB9KSxcbiAgICBbc2VhcmNoUHJvZHVjdHMsIGlzUmVhZHldXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2VhcmNoQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L1NlYXJjaENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlU2VhcmNoU2VydmljZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoU2VhcmNoQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInVzZVNlYXJjaFNlcnZpY2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFNlYXJjaFByb3ZpZGVyXCIpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBMEJBLE1BQU0sNkJBQTZCLGFBQ2pDLFNBQVMsS0FBSyxVQUFVO0NBQ3RCLElBQUksS0FBSztDQUNULFlBQVksS0FBSztDQUNqQixVQUFVLGlCQUFpQjtDQUMzQixhQUFhLEtBQUs7Q0FDbEIsVUFBVSxLQUFLO0NBQ2YsV0FBVyxLQUFLO0NBQ2hCLE9BQU8sS0FBSztDQUNaLEtBQUssS0FBSztDQUNWLGVBQWUsS0FBSztDQUNwQixXQUFXLEtBQUs7Q0FDaEIsZUFBZSxLQUFLO0NBQ3BCLGVBQWUsS0FBSztDQUNwQixVQUFVLEtBQUs7Q0FDZixXQUFXLEtBQUs7Q0FDaEIsUUFBUSxLQUFLO0NBQ2IsT0FBTyxLQUFLO0NBQ1osU0FBUyxLQUFLO0NBQ2YsRUFBRTtBQUVMLGVBQWUsa0JBQWtCLE9BQXNCO0FBQ3JELEtBQUk7QUFDRixTQUFPLE1BQU0sTUFBTSxTQUFTLE1BQU07U0FDNUI7QUFDTixTQUFPLEVBQUU7OztBQUliLGVBQWUsOEJBQThCLFVBQWtCLE9BQWdCO0FBQzdFLEtBQUksRUFBRSxpQkFBaUIsZ0JBQWdCO0FBQ3JDLGlCQUFPLFFBQVEsVUFBVSxNQUFNO0FBQy9CLFFBQU07O0NBR1IsTUFBTSxnQkFBZ0IsTUFBTSxrQkFBa0IsTUFBTTtBQUNwRCxLQUNFLGVBQWUsU0FBUyxhQUFhLEtBQUsseUJBQzFDLGVBQWUsVUFBVSxhQUFhLEtBQUssb0JBRTNDLE9BQU0sSUFBSSw2QkFBNkI7VUFFdkMsZUFBZSxVQUFVLGFBQWEsS0FBSyxxQkFDM0MsZUFBZSxVQUFVLGFBQWEsS0FBSyxhQUMzQztBQUNBLGlCQUFPLFFBQ0wsNENBQ0EsT0FDQSxNQUFNLFVBQ04sY0FDRDtBQUNELFFBQU0sSUFBSSx3QkFBd0I7O0FBR3BDLGdCQUFPLFFBQVEsVUFBVSxNQUFNO0FBQy9CLE9BQU07O0FBUVIsTUFBTSxnQkFBZ0IsY0FBOEMsT0FBVTtBQUU5RSxNQUFhQSxrQkFBMkQsRUFDdEUsZUFDSTtDQUNKLE1BQU0sRUFBRSxnQkFBZ0IsY0FBYyxpQkFBaUI7Q0FDdkQsTUFBTSxTQUFTLGtCQUFrQjtDQUNqQyxNQUFNLGFBQWEsZUFBZTtDQUNsQyxNQUFNLFVBQVUsYUFBYSxZQUFZO0NBRXpDLE1BQU0sVUFBVSxRQUFRLFVBQVUsY0FBYyxRQUFRO0NBRXhELE1BQU0sWUFBWSxjQUFjO0FBQzlCLE1BQUksQ0FBQyxRQUFTLFFBQU87RUFFckIsTUFBTUMsU0FBd0IsSUFBSSxjQUFjO0dBQzlDLGFBQWE7R0FDYixVQUFVO0dBQ1YsU0FBUztJQUNQLGdCQUFnQjtJQUNoQixRQUFRO0lBQ1Q7R0FDRixDQUFDO0FBQ0YsU0FBTyxJQUFJLFVBQVUsT0FBTztJQUMzQjtFQUFDO0VBQVE7RUFBUztFQUFRLENBQUM7Q0FFOUIsTUFBTSxpQkFBaUIsWUFDckIsT0FBTyxXQUFnRDtBQUNyRCxNQUFJLENBQUMsV0FBVyxDQUFDLFVBQ2YsT0FBTSxJQUFJLE1BQU0saURBQWlEO0FBR25FLE1BQUk7R0FPRixNQUFNLEVBQ0osVUFDQSxTQUNBLG9CQUFvQixxQkFUTCxNQUFNLFVBQVUsaUJBQWlCO0lBQ2hELE9BQU8sT0FBTztJQUNkLE9BQU8sT0FBTztJQUNkLFFBQVEsV0FBVztJQUNuQixTQUFTLFdBQVc7SUFDckIsQ0FBQztBQU9GLFVBQU87SUFDTCxVQUFVLDBCQUEwQixTQUFTLElBQUksRUFBRTtJQUNuRCxTQUFTLFdBQVcsRUFBRTtJQUN0QixtQkFBbUIsVUFBVSxVQUFVO0lBQ3ZDLGtCQUFrQixvQkFBb0I7SUFDdkM7V0FDTSxPQUFPO0FBQ2QsU0FBTSw4QkFBOEIsNkJBQTZCLE1BQU07QUFFdkUsVUFBTztJQUNMLFVBQVUsRUFBRTtJQUNaLFNBQVMsRUFBRTtJQUNYLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbkI7O0lBR0w7RUFBQztFQUFXO0VBQVM7RUFBVyxDQUNqQztBQUdELGlCQUFnQjtBQUNkLE1BQUksUUFDRiwwQkFBeUIsZUFBZTtNQUV4Qyw2QkFBNEI7QUFHOUIsZUFBYTtBQUNYLCtCQUE0Qjs7SUFFN0IsQ0FBQyxnQkFBZ0IsUUFBUSxDQUFDO0NBRTdCLE1BQU0sUUFBUSxlQUNMO0VBQ0w7RUFDQTtFQUNELEdBQ0QsQ0FBQyxnQkFBZ0IsUUFBUSxDQUMxQjtBQUVELFFBQ0Usb0JBQUMsY0FBYztFQUFnQjtFQUFRO0dBQWtDOztBQUk3RSxNQUFhLHlCQUF5QjtDQUNwQyxNQUFNLFVBQVUsV0FBVyxjQUFjO0FBQ3pDLEtBQUksQ0FBQyxRQUNILE9BQU0sSUFBSSxNQUFNLHdEQUF3RDtBQUUxRSxRQUFPIn0=
|