@envive-ai/react-hooks 0.1.6 → 0.1.8
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-BU6uJT74.js +15 -0
- package/dist/NewOrgConfig-DmidHiyj.cjs +20 -0
- package/dist/SystemSettingsContext-BbobkM82.cjs +20 -0
- package/dist/SystemSettingsContext-gtrccL_q.js +13 -0
- package/dist/TrackComponentVisibleEvent-CqjMiZCS.cjs +59 -0
- package/dist/TrackComponentVisibleEvent-D9kpqKM4.js +52 -0
- package/dist/amplitudeContext-B73xamNe.d.cts +52 -0
- package/dist/amplitudeContext-BhhYPJSL.d.ts +52 -0
- package/dist/amplitudeContext-Dr1jHI13.cjs +309 -0
- package/dist/amplitudeContext-YRS1QOO3.js +287 -0
- package/dist/api-DYjHj_hR.cjs +239 -0
- package/dist/api-d5uWvb3-.js +166 -0
- package/dist/{app-CjsQ2_n-.js → app-B9r0MF9n.js} +7 -7
- package/dist/{app-CnKRZ9RW.cjs → app-Bgr-mAvr.cjs} +10 -10
- package/dist/application/models/graphql/index.cjs +2 -1
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/graphql/index.js +2 -1
- package/dist/application/models/guards/api/index.cjs +3 -1
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/api/index.js +3 -1
- package/dist/application/models/guards/utils.cjs +3 -0
- package/dist/application/models/guards/utils.d.cts +2 -0
- package/dist/application/models/guards/utils.d.ts +2 -0
- package/dist/application/models/guards/utils.js +3 -0
- package/dist/application/models/index.cjs +13 -10
- package/dist/application/models/index.d.cts +9 -4
- package/dist/application/models/index.d.ts +12 -7
- package/dist/application/models/index.js +11 -7
- package/dist/application/models/utilityTypes/index.cjs +1 -1
- package/dist/application/models/utilityTypes/index.d.ts +1 -1
- package/dist/application/models/utilityTypes/index.js +1 -1
- package/dist/application/models/variantInfo/index.cjs +1 -1
- package/dist/application/models/variantInfo/index.d.cts +1 -1
- package/dist/application/models/variantInfo/index.d.ts +1 -1
- package/dist/application/models/variantInfo/index.js +1 -1
- package/dist/application/utils/index.cjs +47 -40
- package/dist/application/utils/index.d.cts +13 -8
- package/dist/application/utils/index.d.ts +15 -10
- package/dist/application/utils/index.js +20 -13
- package/dist/{atomStore-D8pjE1vL.js → atomStore-BuopbV9k.js} +1 -1
- package/dist/{atomStore-B4jIaDPd.cjs → atomStore-CZKe3itM.cjs} +1 -1
- package/dist/atoms/app/index.cjs +14 -9
- package/dist/atoms/app/index.d.cts +16 -11
- package/dist/atoms/app/index.d.ts +19 -14
- package/dist/atoms/app/index.js +14 -9
- package/dist/atoms/atomStore/index.cjs +2 -2
- package/dist/atoms/atomStore/index.d.cts +1 -1
- package/dist/atoms/atomStore/index.js +2 -2
- package/dist/atoms/chat/index.cjs +35 -28
- package/dist/atoms/chat/index.d.cts +36 -31
- package/dist/atoms/chat/index.d.ts +39 -34
- package/dist/atoms/chat/index.js +21 -14
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +5 -5
- package/dist/atoms/globalSearch/index.d.ts +6 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +6 -14
- package/dist/atoms/org/index.d.cts +28 -32
- package/dist/atoms/org/index.d.ts +31 -35
- package/dist/atoms/org/index.js +5 -11
- package/dist/atoms/search/index.cjs +46 -34
- package/dist/atoms/search/index.d.cts +10 -4
- package/dist/atoms/search/index.d.ts +13 -7
- package/dist/atoms/search/index.js +28 -16
- 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 +3 -0
- package/dist/atoms/search/utils.d.cts +5 -0
- package/dist/atoms/search/utils.d.ts +5 -0
- package/dist/atoms/search/utils.js +3 -0
- package/dist/cdnContext-CVgXkdV2.cjs +53 -0
- package/dist/cdnContext-DdE6VPIF.js +38 -0
- package/dist/chat-BNDYKsqF.js +258 -0
- package/dist/{chat-BubCW1as.cjs → chat-BkjIKhc5.cjs} +1 -1
- package/dist/chat-Br5FhtRs.cjs +394 -0
- package/dist/{chat-CV6MXeID.js → chat-CgLypC3w.js} +1 -1
- package/dist/chatElementDisplayLocation-BwiXrkN7.d.ts +25 -0
- package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
- package/dist/chatSearch-BiF2__V0.js +295 -0
- package/dist/chatSearch-BrzfJOto.cjs +418 -0
- package/dist/chatState-BDsqKE-B.cjs +120 -0
- package/dist/chatState-ie771Hwy.js +34 -0
- package/dist/commerce-api-Dz1jxPOJ.js +311 -0
- package/dist/commerce-api-KoiUki51.cjs +318 -0
- package/dist/{components-Cw9WjA6g.cjs → components-Cby-Cma3.cjs} +1 -1
- package/dist/{components-B4T3Uzth.js → components-D1mg1-Br.js} +1 -1
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.cts +1 -1
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/chat/index.js +1 -1
- package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.cts +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/components/index.js +1 -1
- package/dist/config/locators/components/search/index.d.cts +1 -1
- package/dist/config/locators/index.cjs +42 -22
- package/dist/config/locators/index.d.cts +2 -2
- package/dist/config/locators/index.d.ts +3 -3
- package/dist/config/locators/index.js +25 -5
- package/dist/contexts/amplitudeContext/index.cjs +22 -0
- package/dist/contexts/amplitudeContext/index.d.cts +2 -0
- package/dist/contexts/amplitudeContext/index.d.ts +2 -0
- package/dist/contexts/amplitudeContext/index.js +20 -0
- package/dist/contexts/cdnContext/index.cjs +7 -0
- package/dist/contexts/cdnContext/index.d.cts +15 -0
- package/dist/contexts/cdnContext/index.d.ts +15 -0
- package/dist/contexts/cdnContext/index.js +6 -0
- package/dist/contexts/chatContext/index.cjs +331 -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 +324 -0
- package/dist/contexts/enviveConfigContext/index.cjs +7 -0
- package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
- package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
- package/dist/contexts/enviveConfigContext/index.js +6 -0
- package/dist/contexts/enviveCssContext/index.cjs +66 -0
- package/dist/contexts/enviveCssContext/index.d.cts +10 -0
- package/dist/contexts/enviveCssContext/index.d.ts +10 -0
- package/dist/contexts/enviveCssContext/index.js +63 -0
- package/dist/contexts/featureFlagContext/index.cjs +107 -0
- package/dist/contexts/featureFlagContext/index.d.cts +20 -0
- package/dist/contexts/featureFlagContext/index.d.ts +20 -0
- package/dist/contexts/featureFlagContext/index.js +103 -0
- package/dist/contexts/featureFlagServiceContext/index.cjs +6 -0
- package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
- package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
- package/dist/contexts/featureFlagServiceContext/index.js +5 -0
- package/dist/contexts/graphqlContext/index.cjs +16 -0
- package/dist/contexts/graphqlContext/index.d.cts +13 -0
- package/dist/contexts/graphqlContext/index.d.ts +13 -0
- package/dist/contexts/graphqlContext/index.js +15 -0
- package/dist/contexts/localStorageContext/index.cjs +6 -0
- package/dist/contexts/localStorageContext/index.d.cts +30 -0
- package/dist/contexts/localStorageContext/index.d.ts +30 -0
- package/dist/contexts/localStorageContext/index.js +4 -0
- package/dist/contexts/newOrgConfigContext/index.cjs +20 -0
- package/dist/contexts/newOrgConfigContext/index.d.cts +31 -0
- package/dist/contexts/newOrgConfigContext/index.d.ts +31 -0
- package/dist/contexts/newOrgConfigContext/index.js +19 -0
- package/dist/contexts/searchContext/index.cjs +24 -0
- package/dist/contexts/searchContext/index.d.cts +16 -0
- package/dist/contexts/searchContext/index.d.ts +16 -0
- package/dist/contexts/searchContext/index.js +23 -0
- package/dist/contexts/sessionStorageContext/index.cjs +5 -0
- package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
- package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
- package/dist/contexts/sessionStorageContext/index.js +4 -0
- package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
- package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
- package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
- package/dist/contexts/shopifyUrlContext/index.js +4 -0
- package/dist/contexts/systemSettingsContext/index.cjs +8 -0
- package/dist/contexts/systemSettingsContext/index.d.cts +37 -0
- package/dist/contexts/systemSettingsContext/index.d.ts +37 -0
- package/dist/contexts/systemSettingsContext/index.js +6 -0
- package/dist/contexts/types.cjs +7 -0
- package/dist/contexts/types.d.cts +4 -0
- package/dist/contexts/types.d.ts +4 -0
- package/dist/contexts/types.js +3 -0
- package/dist/contexts/userIdentityContext/index.cjs +27 -0
- package/dist/contexts/userIdentityContext/index.d.cts +2 -0
- package/dist/contexts/userIdentityContext/index.d.ts +2 -0
- package/dist/contexts/userIdentityContext/index.js +26 -0
- package/dist/domObserver-B19-69gW.js +285 -0
- package/dist/domObserver-CwieVNgj.cjs +304 -0
- package/dist/enviveConfig-BQB14yuH.js +62 -0
- package/dist/enviveConfig-DAA9sozZ.cjs +130 -0
- package/dist/enviveConfigContext-BCpBKqsz.js +45 -0
- package/dist/enviveConfigContext-Btg5JUMG.cjs +60 -0
- package/dist/events/index.cjs +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.js +1 -1
- package/dist/{events-BrLpaNxh.js → events-BHJJjPDN.js} +1 -1
- package/dist/{events-DwT6cEwI.cjs → events-B_fJZf9E.cjs} +1 -1
- package/dist/featureFlagServiceContext-Bcx5yh4S.cjs +56 -0
- package/dist/featureFlagServiceContext-Cpw8omUr.d.ts +23 -0
- package/dist/featureFlagServiceContext-Cvn6fcdB.d.cts +23 -0
- package/dist/featureFlagServiceContext-_tXX5iro.js +42 -0
- package/dist/featureGates-2Zea2D2S.js +27 -0
- package/dist/featureGates-BY2Zy7x_.cjs +33 -0
- package/dist/frontendConfig-DnMZfvcA.d.cts +857 -0
- package/dist/frontendConfig-Dqxbqo8G.d.ts +857 -0
- package/dist/{globalSearch-BFvEg53C.cjs → globalSearch-C94-vEVh.cjs} +1 -1
- package/dist/{globalSearch-B6THR7Jx.js → globalSearch-Dlbnfasm.js} +1 -1
- package/dist/graphql-DRLWdYEk.js +36 -0
- package/dist/graphql-xPDT7ZkK.cjs +53 -0
- package/dist/graphqlConfig-B4ddz1vH.cjs +39 -0
- package/dist/graphqlConfig-BnjOdeX7.js +14 -0
- package/dist/graphqlContext-B-9g2vOb.js +96 -0
- package/dist/graphqlContext-B7PEKDJs.cjs +111 -0
- package/dist/hooks/AmplitudeOperations/index.cjs +22 -0
- package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
- package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
- package/dist/hooks/AmplitudeOperations/index.js +22 -0
- package/dist/hooks/AppDetails/index.cjs +19 -0
- package/dist/hooks/AppDetails/index.d.cts +27 -0
- package/dist/hooks/AppDetails/index.d.ts +27 -0
- package/dist/hooks/AppDetails/index.js +19 -0
- package/dist/hooks/BlockBackButton/index.cjs +29 -0
- package/dist/hooks/BlockBackButton/index.d.cts +5 -0
- package/dist/hooks/BlockBackButton/index.d.ts +5 -0
- package/dist/hooks/BlockBackButton/index.js +27 -0
- package/dist/hooks/CdnOperations/index.cjs +24 -0
- package/dist/hooks/CdnOperations/index.d.cts +7 -0
- package/dist/hooks/CdnOperations/index.d.ts +7 -0
- package/dist/hooks/CdnOperations/index.js +22 -0
- package/dist/hooks/ChatToggle/index.cjs +64 -0
- package/dist/hooks/ChatToggle/index.d.cts +12 -0
- package/dist/hooks/ChatToggle/index.d.ts +12 -0
- package/dist/hooks/ChatToggle/index.js +62 -0
- package/dist/hooks/ChatToggleAnalytics/index.cjs +38 -0
- package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
- package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
- package/dist/hooks/ChatToggleAnalytics/index.js +36 -0
- package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
- package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
- package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
- package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
- package/dist/hooks/Debounce/index.cjs +3 -0
- package/dist/hooks/Debounce/index.d.cts +5 -0
- package/dist/hooks/Debounce/index.d.ts +5 -0
- package/dist/hooks/Debounce/index.js +3 -0
- package/dist/hooks/ElementObserver/index.cjs +179 -0
- package/dist/hooks/ElementObserver/index.d.cts +29 -0
- package/dist/hooks/ElementObserver/index.d.ts +29 -0
- package/dist/hooks/ElementObserver/index.js +177 -0
- package/dist/hooks/GrabAndScroll/index.cjs +99 -0
- package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
- package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
- package/dist/hooks/GrabAndScroll/index.js +97 -0
- package/dist/hooks/GraphQLConfig/index.cjs +17 -0
- package/dist/hooks/GraphQLConfig/index.d.cts +15 -0
- package/dist/hooks/GraphQLConfig/index.d.ts +15 -0
- package/dist/hooks/GraphQLConfig/index.js +16 -0
- package/dist/hooks/IdentifyUser/index.cjs +60 -0
- package/dist/hooks/IdentifyUser/index.d.cts +10 -0
- package/dist/hooks/IdentifyUser/index.d.ts +10 -0
- package/dist/hooks/IdentifyUser/index.js +58 -0
- package/dist/hooks/ImageResolver/index.cjs +55 -0
- package/dist/hooks/ImageResolver/index.d.cts +7 -0
- package/dist/hooks/ImageResolver/index.d.ts +7 -0
- package/dist/hooks/ImageResolver/index.js +53 -0
- package/dist/hooks/Intersection/index.cjs +3 -0
- package/dist/hooks/Intersection/index.d.cts +7 -0
- package/dist/hooks/Intersection/index.d.ts +7 -0
- package/dist/hooks/Intersection/index.js +3 -0
- package/dist/hooks/IsSmallScreen/index.cjs +22 -0
- package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
- package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
- package/dist/hooks/IsSmallScreen/index.js +20 -0
- package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
- package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
- package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
- package/dist/hooks/LocalStorageOperations/index.js +74 -0
- package/dist/hooks/MessageFilter/index.cjs +54 -0
- package/dist/hooks/MessageFilter/index.d.cts +30 -0
- package/dist/hooks/MessageFilter/index.d.ts +30 -0
- package/dist/hooks/MessageFilter/index.js +54 -0
- package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
- package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
- package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
- package/dist/hooks/MessageScrollObserver/index.js +34 -0
- package/dist/hooks/NewOrgConfig/index.cjs +20 -0
- package/dist/hooks/NewOrgConfig/index.d.cts +23 -0
- package/dist/hooks/NewOrgConfig/index.d.ts +23 -0
- package/dist/hooks/NewOrgConfig/index.js +20 -0
- package/dist/hooks/Search/index.cjs +326 -0
- package/dist/hooks/Search/index.d.cts +61 -0
- package/dist/hooks/Search/index.d.ts +61 -0
- package/dist/hooks/Search/index.js +323 -0
- package/dist/hooks/SearchOperations/index.cjs +102 -0
- package/dist/hooks/SearchOperations/index.d.cts +22 -0
- package/dist/hooks/SearchOperations/index.d.ts +22 -0
- package/dist/hooks/SearchOperations/index.js +99 -0
- package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
- package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
- package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
- package/dist/hooks/SessionStorageOperations/index.js +28 -0
- package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
- package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
- package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
- package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
- package/dist/hooks/SnapCalculator/index.cjs +29 -0
- package/dist/hooks/SnapCalculator/index.d.cts +12 -0
- package/dist/hooks/SnapCalculator/index.d.ts +12 -0
- package/dist/hooks/SnapCalculator/index.js +27 -0
- package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
- package/dist/hooks/SystemSettingsContext/index.d.cts +23 -0
- package/dist/hooks/SystemSettingsContext/index.d.ts +23 -0
- package/dist/hooks/SystemSettingsContext/index.js +7 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +22 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.js +22 -0
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +62 -0
- package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
- package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
- package/dist/hooks/UpdateAnalyticsProps/index.js +59 -0
- package/dist/hooks/utils.cjs +8 -0
- package/dist/hooks/utils.d.cts +13 -0
- package/dist/hooks/utils.d.ts +13 -0
- package/dist/hooks/utils.js +3 -0
- package/dist/index-B9HUPS_i.d.cts +186 -0
- package/dist/{index-CcIG01PJ.d.ts → index-BN-3ctk_.d.ts} +2 -2
- package/dist/index-BNiYL8h0.d.cts +28 -0
- package/dist/{index-BDPWBU3h.d.cts → index-BW6pHibZ.d.cts} +1 -1
- package/dist/index-BirtCYN3.d.ts +186 -0
- package/dist/index-Bmub8e38.d.cts +1 -1
- package/dist/{index-Cqg6ltII.d.ts → index-BoYC9XLW.d.ts} +1 -1
- package/dist/index-C9zXP5bg.d.ts +28 -0
- package/dist/index-CESxqFso.d.cts +1 -1
- package/dist/index-CK_J3QMY.d.ts +676 -0
- package/dist/index-C_MIfxF0.d.cts +676 -0
- package/dist/index-CiWEYzXl.d.cts +1 -1
- package/dist/{index-C6KdON7d.d.ts → index-Da0UzyI9.d.ts} +1 -1
- package/dist/{index-ylUiJvnr.d.ts → index-Dr_c2DDq.d.ts} +1 -1
- package/dist/{index-PGF8BvxQ.d.ts → index-DsiilEj-.d.ts} +1 -1
- package/dist/{index-Byb45OPg.d.cts → index-MOOZ2oxZ.d.cts} +1 -1
- package/dist/{index-DOii3C6b.d.ts → index-ghzD_356.d.ts} +1 -1
- package/dist/{index-B0NW9KTj.d.cts → index-hdbCEjYy.d.cts} +1 -1
- package/dist/interceptors/index.cjs +2 -1
- package/dist/interceptors/index.d.cts +10 -10
- package/dist/interceptors/index.d.ts +13 -13
- package/dist/interceptors/index.js +2 -1
- package/dist/interceptors/types.cjs +1 -0
- package/dist/interceptors/types.d.cts +13 -0
- package/dist/interceptors/types.d.ts +13 -0
- package/dist/interceptors/types.js +3 -0
- package/dist/localStorageContext-DiTziaPa.js +95 -0
- package/dist/localStorageContext-S38L0OSP.cjs +115 -0
- package/dist/logger-CkhQayOW.js +20 -0
- package/dist/logger-DQ0WfCcD.cjs +26 -0
- package/dist/{models-BkXg5eIP.cjs → models-C48U9q70.js} +220 -458
- package/dist/models-Ctn-pmug.cjs +1537 -0
- package/dist/newOrgConfigAtom-D6R-7HCk.cjs +15 -0
- package/dist/newOrgConfigAtom-bn1lnljf.js +8 -0
- package/dist/newOrgConfigContext-D3WoaBVU.cjs +68 -0
- package/dist/newOrgConfigContext-rWOYz0E8.js +53 -0
- package/dist/{nodeSelector-Dm4S-10n.d.cts → nodeSelector-B3bPtEjX.d.cts} +1 -1
- package/dist/{nodeSelector-BxrS2S_k.d.ts → nodeSelector-D5gjDWZ3.d.ts} +1 -1
- package/dist/org-CIhjzxWr.cjs +43 -0
- package/dist/org-CeWXnpwF.js +12 -0
- package/dist/{orgAnalyticsConfig-ClrFy2qH.js → orgAnalyticsConfig-BC4_sEmn.js} +1 -1
- package/dist/{orgAnalyticsConfig-BJ2A1RZ-.cjs → orgAnalyticsConfig-DsGbyFhO.cjs} +1 -1
- package/dist/search--NZPZkK3.cjs +205 -0
- package/dist/search-BLShhjvR.d.ts +20 -0
- package/dist/search-CxZl7iQF.js +126 -0
- package/dist/{search-filter-types-fZf91Pdw.d.ts → search-filter-types-DPgeG8FS.d.ts} +1 -1
- package/dist/{search-filter-types-DosbseF3.d.cts → search-filter-types-_mprCnBi.d.cts} +1 -1
- package/dist/search-y-ioX5Mz.d.cts +20 -0
- package/dist/searchContext-C4Glr8Nv.cjs +145 -0
- package/dist/searchContext-VnjhV7Lk.js +129 -0
- package/dist/searchServiceAdapter-DEv1tTn0.cjs +34 -0
- package/dist/searchServiceAdapter-WyCU55NV.js +16 -0
- package/dist/sessionStorageContext-BJ05_j7l.cjs +66 -0
- package/dist/sessionStorageContext-Dp_bhXQP.js +52 -0
- package/dist/shopifyUrlContext-CGqpJl1o.js +61 -0
- package/dist/shopifyUrlContext-Cob4L7Dt.cjs +75 -0
- package/dist/spiffyWidgets-BuS00VaQ.d.cts +20 -0
- package/dist/spiffyWidgets-GILaqHv6.d.ts +20 -0
- package/dist/systemSettingsContext-BDKWrrco.cjs +60 -0
- package/dist/systemSettingsContext-Dqng3YSZ.js +39 -0
- package/dist/{test-types-C9b_OdfO.d.ts → test-types-EzMFw_U3.d.ts} +1 -1
- package/dist/{test-types-CgVJtwUr.d.cts → test-types-ThQiO_cc.d.cts} +1 -1
- package/dist/types/index.cjs +33 -5
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +30 -3
- package/dist/types-BUeRbZUk.d.cts +10 -0
- package/dist/types-BwNrLPSZ.cjs +106 -0
- package/dist/types-CMuTSKrW.d.ts +10 -0
- package/dist/types-CS0Hrzja.js +30 -0
- package/dist/types-CxObxLKs.cjs +48 -0
- package/dist/types-D3uOF0Oy.js +76 -0
- package/dist/types-fsXBIQwO.d.ts +51 -0
- package/dist/types-zuWLkBJ3.d.cts +51 -0
- package/dist/types.d.cts +15 -0
- package/dist/types.d.ts +15 -0
- package/dist/unsupportedProductExceptions-CKiri_vO.cjs +32 -0
- package/dist/unsupportedProductExceptions-ClxlJ6cU.js +20 -0
- package/dist/urlsParser-D1nsJgQG.cjs +78 -0
- package/dist/urlsParser-DzEetiey.js +42 -0
- package/dist/useAmplitudeOperations-BSsyvkQ2.cjs +41 -0
- package/dist/useAmplitudeOperations-BottjwT9.js +34 -0
- package/dist/useAppDetails-BpiBxS_5.cjs +38 -0
- package/dist/useAppDetails-DDNIsM46.js +30 -0
- package/dist/useDebounce-BaIp-A1W.cjs +26 -0
- package/dist/useDebounce-CxPj9WmE.js +19 -0
- package/dist/useGraphQLConfig-DZ0ZannB.js +63 -0
- package/dist/useGraphQLConfig-Dw8dDh3T.cjs +76 -0
- package/dist/useIntersection-B4J9UhaG.js +21 -0
- package/dist/useIntersection-DKWc5MY6.cjs +28 -0
- package/dist/{useMessageInterceptor-B87e3yu3.cjs → useMessageInterceptor-CstX10ih.cjs} +3 -3
- package/dist/{useMessageInterceptor-Bb7YRaWk.js → useMessageInterceptor-D5oAekXn.js} +2 -2
- package/dist/userIdentityContext-D2oFVFzo.d.cts +20 -0
- package/dist/userIdentityContext-DPFkCSCu.cjs +125 -0
- package/dist/userIdentityContext-Z65zM-Ae.js +109 -0
- package/dist/userIdentityContext-wYRpgkaJ.d.ts +20 -0
- package/dist/utilityTypes-DynzxjK3.js +1 -0
- package/dist/utilityTypes-xb8SjKSV.cjs +0 -0
- package/dist/utils-2SWrJ12w.cjs +29 -0
- package/dist/utils-B1xLx9S8.d.ts +15 -0
- package/dist/utils-B3x_9JTY.d.cts +15 -0
- package/dist/utils-BZtSmwgh.d.cts +22 -0
- package/dist/utils-Bcz5kAgP.js +92 -0
- package/dist/utils-CEKzBcN2.js +27 -0
- package/dist/utils-CMqFfqZx.cjs +130 -0
- package/dist/utils-CVovRwlw.js +606 -0
- package/dist/utils-CqBxIpEV.js +23 -0
- package/dist/utils-CsMbZmRw.cjs +33 -0
- package/dist/utils-DzPSXtmD.cjs +715 -0
- package/dist/utils-bxOCg2i9.d.ts +22 -0
- package/dist/variantInfo-B7IwRpCg.cjs +0 -0
- package/dist/variantInfo-BtOYUGWa.js +1 -0
- package/package.json +191 -7
- package/src/application/models/index.ts +0 -1
- package/src/application/utils/analyticsUtils.ts +1 -1
- package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
- package/src/atoms/app/index.ts +1 -1
- package/src/atoms/chat/chatState.ts +1 -1
- package/src/atoms/chat/replies.ts +1 -1
- package/src/atoms/org/graphqlConfig.ts +1 -39
- package/src/atoms/org/index.ts +0 -1
- package/src/atoms/org/newOrgConfigAtom.ts +2 -6
- package/src/contexts/{amplitudeContext.tsx → amplitudeContext/amplitudeContext.tsx} +1 -2
- package/src/contexts/amplitudeContext/index.ts +1 -0
- package/src/contexts/{cdnContext.tsx → cdnContext/cdnContext.tsx} +1 -1
- package/src/contexts/cdnContext/index.ts +1 -0
- package/src/contexts/{chatContext.tsx → chatContext/chatContext.tsx} +3 -3
- package/src/contexts/chatContext/index.ts +1 -0
- package/src/contexts/{enviveConfigContext.tsx → enviveConfigContext/enviveConfigContext.tsx} +1 -1
- package/src/contexts/enviveConfigContext/index.ts +1 -0
- package/src/contexts/{enviveCssContext.tsx → enviveCssContext/enviveCssContext.tsx} +1 -1
- package/src/contexts/enviveCssContext/index.ts +1 -0
- package/src/contexts/{featureFlagContext.tsx → featureFlagContext/featureFlagContext.tsx} +1 -1
- package/src/contexts/featureFlagContext/index.ts +1 -0
- package/src/contexts/featureFlagServiceContext/index.ts +1 -0
- package/src/contexts/graphqlContext/index.ts +1 -0
- package/src/contexts/localStorageContext/index.ts +1 -0
- package/src/contexts/{localStorageContext.tsx → localStorageContext/localStorageContext.tsx} +2 -2
- package/src/contexts/newOrgConfigContext/index.ts +1 -0
- package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +70 -0
- package/src/contexts/searchContext/index.ts +1 -0
- package/src/contexts/{searchContext.tsx → searchContext/searchContext.tsx} +5 -5
- package/src/contexts/sessionStorageContext/index.ts +1 -0
- package/src/contexts/{sessionStorageContext.tsx → sessionStorageContext/sessionStorageContext.tsx} +1 -1
- package/src/contexts/shopifyUrlContext/index.ts +1 -0
- package/src/contexts/systemSettingsContext/index.ts +1 -0
- package/src/contexts/userIdentityContext/index.ts +1 -0
- package/src/events/registerAnalyticsListeners.ts +2 -2
- package/src/favicon.ico +0 -0
- package/src/hooks/AmplitudeOperations/index.ts +1 -0
- package/src/hooks/{useAmplitudeOperations.ts → AmplitudeOperations/useAmplitudeOperations.ts} +1 -1
- package/src/hooks/AppDetails/index.ts +1 -0
- package/src/hooks/{useAppDetails.ts → AppDetails/useAppDetails.ts} +1 -3
- package/src/hooks/BlockBackButton/index.ts +1 -0
- package/src/hooks/CdnOperations/index.ts +1 -0
- package/src/hooks/{useCdnOperations.ts → CdnOperations/useCdnOperations.ts} +1 -1
- package/src/hooks/ChatToggle/index.ts +1 -0
- package/src/hooks/{useChatToggle.ts → ChatToggle/useChatToggle.ts} +1 -1
- package/src/hooks/ChatToggleAnalytics/index.ts +1 -0
- package/src/hooks/{useChatToggleAnalytics.ts → ChatToggleAnalytics/useChatToggleAnalytics.ts} +1 -1
- package/src/hooks/CustomerSupportHandoff/index.ts +1 -0
- package/src/hooks/Debounce/index.ts +1 -0
- package/src/hooks/ElementObserver/index.ts +1 -0
- package/src/hooks/GrabAndScroll/index.ts +1 -0
- package/src/hooks/GraphQLConfig/index.ts +1 -0
- package/src/hooks/{useGraphQLConfig.ts → GraphQLConfig/useGraphQLConfig.ts} +1 -1
- package/src/hooks/IdentifyUser/index.ts +1 -0
- package/src/hooks/{useIdentifyUser.ts → IdentifyUser/useIdentifyUser.ts} +1 -1
- package/src/hooks/ImageResolver/index.ts +1 -0
- package/src/hooks/Intersection/index.ts +1 -0
- package/src/hooks/IsSmallScreen/index.ts +1 -0
- package/src/hooks/LocalStorageOperations/index.ts +1 -0
- package/src/hooks/{useLocalStorageOperations.ts → LocalStorageOperations/useLocalStorageOperations.ts} +2 -2
- package/src/hooks/MessageFilter/index.ts +1 -0
- package/src/hooks/MessageScrollObserver/index.ts +1 -0
- package/src/hooks/NewOrgConfig/index.ts +1 -0
- package/src/hooks/{useNewOrgConfig.ts → NewOrgConfig/useNewOrgConfig.ts} +1 -1
- package/src/hooks/Search/index.ts +1 -0
- package/src/hooks/{useSearch.tsx → Search/useSearch.tsx} +5 -4
- package/src/hooks/SearchOperations/index.ts +1 -0
- package/src/hooks/SessionStorageOperations/index.ts +1 -0
- package/src/hooks/{useSessionStorageOperations.ts → SessionStorageOperations/useSessionStorageOperations.ts} +1 -1
- package/src/hooks/ShopifyUrlOperations/index.ts +1 -0
- package/src/hooks/{useShopifyUrlOperations.ts → ShopifyUrlOperations/useShopifyUrlOperations.ts} +1 -1
- package/src/hooks/SnapCalculator/index.ts +1 -0
- package/src/hooks/SystemSettingsContext/index.ts +1 -0
- package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +14 -0
- package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -0
- package/src/hooks/{useTrackComponentVisibleEvent.ts → TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts} +2 -2
- package/src/hooks/UpdateAnalyticsProps/index.ts +1 -0
- package/src/hooks/{useUpdateAnalyticsProps.ts → UpdateAnalyticsProps/useUpdateAnalyticsProps.ts} +1 -1
- package/dist/amplitudeContext-CHzas7Cf.d.cts +0 -52
- package/dist/amplitudeContext-D-7fmVh1.cjs +0 -356
- package/dist/amplitudeContext-hY3caPC6.js +0 -322
- package/dist/amplitudeContext-tJ4y-SzX.d.ts +0 -52
- package/dist/api-DjeZXxl_.js +0 -207
- package/dist/api-_JaUnIUj.cjs +0 -292
- package/dist/bandolier-DYEz4-8C.js +0 -1229
- package/dist/bandolier-o_-xrbOV.cjs +0 -1229
- package/dist/carpe-CsG5jCcl.cjs +0 -607
- package/dist/carpe-DONk00bZ.js +0 -605
- package/dist/cdnUtils-32v8bDX9.cjs +0 -16
- package/dist/cdnUtils-E4tLBt2g.js +0 -11
- package/dist/chat-CO7cRkaq.cjs +0 -506
- package/dist/chat-hcRc4RRd.js +0 -285
- package/dist/contexts/index.cjs +0 -57
- package/dist/contexts/index.d.cts +0 -10
- package/dist/contexts/index.d.ts +0 -10
- package/dist/contexts/index.js +0 -23
- package/dist/contexts-B4ihTBsV.cjs +0 -2980
- package/dist/contexts-DGlr7M1o.js +0 -2596
- package/dist/coterie-CKB93qfz.cjs +0 -239
- package/dist/coterie-DHcj2fRE.js +0 -239
- package/dist/custservice-types-Dy0kc9TW.cjs +0 -35
- package/dist/custservice-types-mnIunabv.js +0 -23
- package/dist/default-BnB4p0Se.cjs +0 -234
- package/dist/default-D6f5Dyt7.js +0 -199
- package/dist/default-ZKkE5zT4.cjs +0 -4
- package/dist/default-legGZJwI.js +0 -4
- package/dist/divIds-2dJlU3z8.cjs +0 -117
- package/dist/divIds-BUrN2vY-.js +0 -21
- package/dist/dreamlandBaby-BiRYYFav.js +0 -346
- package/dist/dreamlandBaby-zuvmfzfD.cjs +0 -346
- package/dist/embedded-BJLWIriJ.js +0 -23
- package/dist/embedded-Dl79TJLC.cjs +0 -131
- package/dist/entrypoints-Bs3pn6EV.js +0 -7
- package/dist/entrypoints-Dqi5pzWH.cjs +0 -19
- package/dist/enviveConfig-BccuzS2a.cjs +0 -240
- package/dist/enviveConfig-CzhTz8Aa.js +0 -152
- package/dist/fiveCbd-DwTTwC2j.cjs +0 -613
- package/dist/fiveCbd-Dz2NouOF.js +0 -613
- package/dist/forLoveAndLemons-DqSdyD6S.js +0 -665
- package/dist/forLoveAndLemons-Ud6mPrV3.cjs +0 -667
- package/dist/graphql-BNW60InJ.cjs +0 -128
- package/dist/graphql-CjB8wHzm.js +0 -74
- package/dist/graphqlConfig-CYt6tWII.js +0 -30
- package/dist/graphqlConfig-DicykC-o.cjs +0 -61
- package/dist/greenpan-B_EbPkSP.js +0 -397
- package/dist/greenpan-kPE4fJgd.cjs +0 -397
- package/dist/grooveLife-Ckuir319.js +0 -342
- package/dist/grooveLife-DKSEQp1F.cjs +0 -342
- package/dist/homegrownCannabis-BVPa2pqe.js +0 -410
- package/dist/homegrownCannabis-BwIAkxuA.cjs +0 -410
- package/dist/hooks/index.cjs +0 -63
- package/dist/hooks/index.d.cts +0 -314
- package/dist/hooks/index.d.ts +0 -314
- package/dist/hooks/index.js +0 -23
- package/dist/index-BMPtlgac.d.ts +0 -191
- package/dist/index-C7pGDl1A.d.ts +0 -1609
- package/dist/index-C9lgsCWp.d.cts +0 -203
- package/dist/index-Cc-wBCn6.d.ts +0 -203
- package/dist/index-DTu2X-YS.d.cts +0 -1609
- package/dist/index-OEifcBsm.d.cts +0 -191
- package/dist/jackArcher-B39OEIj6.cjs +0 -727
- package/dist/jackArcher-BwkWGybC.js +0 -727
- package/dist/jordanCraig-CxRH_jLi.js +0 -1786
- package/dist/jordanCraig-RwmWw-jM.cjs +0 -1786
- package/dist/kindredBravely-D78VwL20.cjs +0 -490
- package/dist/kindredBravely-DQDpAzdl.js +0 -490
- package/dist/kutFromTheKloth-TcXQkIti.js +0 -369
- package/dist/kutFromTheKloth-dXRrNti0.cjs +0 -369
- package/dist/larryAndSerges-Bh5XEXsZ.js +0 -262
- package/dist/larryAndSerges-COdBzOzu.cjs +0 -262
- package/dist/leapsAndRebounds-BbXnqkl5.cjs +0 -360
- package/dist/leapsAndRebounds-mjCaH1k-.js +0 -360
- package/dist/longevityrx-DdV3v26F.cjs +0 -320
- package/dist/longevityrx-DfPDfvAt.js +0 -320
- package/dist/lookOptic-DgXFGBPP.cjs +0 -282
- package/dist/lookOptic-FgVW1afF.js +0 -282
- package/dist/mantraBrand-C5gVm3rk.cjs +0 -750
- package/dist/mantraBrand-uV8HCDR8.js +0 -750
- package/dist/medterra-BtDpr1Hw.cjs +0 -583
- package/dist/medterra-DgzE7-mj.js +0 -583
- package/dist/modells-CJjsxOIR.js +0 -484
- package/dist/modells-Ck5KbRFj.cjs +0 -484
- package/dist/models-UZ6HszfZ.js +0 -1281
- package/dist/org-C2RrBVQR.cjs +0 -81
- package/dist/org-xMytX--e.js +0 -38
- package/dist/pressedFloral-Bteoboms.js +0 -661
- package/dist/pressedFloral-CexgV-xy.cjs +0 -661
- package/dist/search-BMOAmrmY.js +0 -459
- package/dist/search-Df0Ifneg.cjs +0 -672
- package/dist/skinPerfection-BGzq9lq-.cjs +0 -334
- package/dist/skinPerfection-BlvcEcUE.js +0 -334
- package/dist/snapSupplements-CbbGzAgO.cjs +0 -285
- package/dist/snapSupplements-kcsPAOm9.js +0 -285
- package/dist/socialProofClasses-Db8gzsfi.cjs +0 -40
- package/dist/socialProofClasses-kwDvwLOZ.js +0 -10
- package/dist/spanx-B4WFA_rI.js +0 -661
- package/dist/spanx-BWoE4F8b.cjs +0 -663
- package/dist/spanxStaging-BOrOjhXn.js +0 -845
- package/dist/spanxStaging-BfdfIug4.cjs +0 -848
- package/dist/suggestionBarV2-types-IMMOmCir.js +0 -10
- package/dist/suggestionBarV2-types-nnGNgFvR.cjs +0 -16
- package/dist/supergoop-22dd5_BS.js +0 -323
- package/dist/supergoop-B-a4cku2.cjs +0 -323
- package/dist/types--pr1GQQx.js +0 -154
- package/dist/types-BVSyY3Hk.cjs +0 -196
- package/dist/uniqueVintage-CJXiNNe7.js +0 -1211
- package/dist/uniqueVintage-D0jzJWlo.cjs +0 -1213
- package/dist/userIdentityContext-BPqvVIg0.d.cts +0 -20
- package/dist/userIdentityContext-wbCRmlzp.d.ts +0 -20
- package/dist/utils-C9ZSCx12.js +0 -888
- package/dist/utils-D5HO61hG.cjs +0 -1016
- package/dist/venaCbd-Bhhu_qUf.cjs +0 -365
- package/dist/venaCbd-CanovPS_.js +0 -365
- package/dist/westonJonBoucher-BC0x1ktI.cjs +0 -422
- package/dist/westonJonBoucher-BUu1_wP1.js +0 -422
- package/dist/wineEnthusiast-BlCryfil.cjs +0 -940
- package/dist/wineEnthusiast-Ck1x5iJq.js +0 -940
- package/dist/wolfMattress-D9Mjq-HP.js +0 -372
- package/dist/wolfMattress-JssghhC-.cjs +0 -372
- package/dist/wolfTactical-C6exYhL7.cjs +0 -349
- package/dist/wolfTactical-CnV3KQdI.js +0 -349
- package/src/application/models/supportedOrgs.ts +0 -161
- package/src/atoms/org/orgPageConfig.ts +0 -42
- package/src/contexts/index.ts +0 -16
- package/src/contexts/newOrgConfigContext.tsx +0 -104
- package/src/contexts/orgConfigContext.tsx +0 -106
- package/src/hooks/index.ts +0 -27
- package/src/hooks/useSystemSettingsContext.ts +0 -12
- package/src/merchants/bandolier/bandolier.ts +0 -1371
- package/src/merchants/carpe/carpe.ts +0 -653
- package/src/merchants/coterie/coterie.ts +0 -277
- package/src/merchants/default.ts +0 -196
- package/src/merchants/dreamlandBaby/dreamlandBaby.ts +0 -381
- package/src/merchants/fiveCbd/fiveCbd.ts +0 -691
- package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +0 -751
- package/src/merchants/greenpan/greenpan.ts +0 -434
- package/src/merchants/grooveLife/grooveLife.ts +0 -392
- package/src/merchants/homegrownCannabis/homegrownCannabis.ts +0 -474
- package/src/merchants/init-merchant.sh +0 -53
- package/src/merchants/jackArcher/jackArcher.ts +0 -989
- package/src/merchants/jordanCraig/jordanCraig.ts +0 -1927
- package/src/merchants/kindredBravely/kindredBravely.ts +0 -538
- package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +0 -421
- package/src/merchants/larryAndSerges/larryAndSerges.ts +0 -318
- package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +0 -424
- package/src/merchants/longevityrx/longevityrx.ts +0 -374
- package/src/merchants/lookOptic/lookOptic.ts +0 -323
- package/src/merchants/mantraBrand/mantraBrand.ts +0 -844
- package/src/merchants/medterra/medterra.ts +0 -673
- package/src/merchants/modells/modells.ts +0 -543
- package/src/merchants/pressedFloral/pressedFloral.ts +0 -728
- package/src/merchants/skinPerfection/skinPerfection.ts +0 -385
- package/src/merchants/snapSupplements/snapSupplements.ts +0 -328
- package/src/merchants/spanx/spanx.ts +0 -810
- package/src/merchants/spanx/spanxStaging.ts +0 -936
- package/src/merchants/supergoop/supergoop.ts +0 -375
- package/src/merchants/uniqueVintage/uniqueVintage.ts +0 -1314
- package/src/merchants/venaCbd/venaCbd.ts +0 -407
- package/src/merchants/westonJonBoucher/westonJonBoucher.ts +0 -473
- package/src/merchants/wineEnthusiast/wineEnthusiast.ts +0 -990
- package/src/merchants/wolfMattress/wolfMattress.ts +0 -411
- package/src/merchants/wolfTactical/wolfTactical.ts +0 -383
- /package/dist/{atomStore-KSoFS3Jj.cjs → AmplitudeOperations-CNyxbBY6.cjs} +0 -0
- /package/dist/{atomStore-CZnUUsrr.js → AmplitudeOperations-Oa2efWtF.js} +0 -0
- /package/dist/{locators-fBXS_pxP.js → atomStore-BS6qtYZF.js} +0 -0
- /package/dist/{locators-0YYZu9n4.cjs → atomStore-BjRyLFEx.cjs} +0 -0
- /package/dist/{utilityTypes-8sETsYPk.js → types-DtTnp0o0.js} +0 -0
- /package/dist/{utilityTypes-COShxVir.cjs → types-a8gm_IaQ.cjs} +0 -0
- /package/dist/{variantInfo-orXoPBCU.cjs → types.cjs} +0 -0
- /package/dist/{variantInfo-DbVxA1yE.js → types.js} +0 -0
- /package/src/contexts/{featureFlagServiceContext.tsx → featureFlagServiceContext/featureFlagServiceContext.tsx} +0 -0
- /package/src/contexts/{graphqlContext.tsx → graphqlContext/graphqlContext.tsx} +0 -0
- /package/src/contexts/{shopifyUrlContext.tsx → shopifyUrlContext/shopifyUrlContext.tsx} +0 -0
- /package/src/contexts/{systemSettingsContext.tsx → systemSettingsContext/systemSettingsContext.tsx} +0 -0
- /package/src/contexts/{userIdentityContext.tsx → userIdentityContext/userIdentityContext.tsx} +0 -0
- /package/src/hooks/{useBlockBackButton.ts → BlockBackButton/useBlockBackButton.ts} +0 -0
- /package/src/hooks/{useCustomerSupportHandoff.ts → CustomerSupportHandoff/useCustomerSupportHandoff.ts} +0 -0
- /package/src/hooks/{useDebounce.ts → Debounce/useDebounce.ts} +0 -0
- /package/src/hooks/{useElementObserver.ts → ElementObserver/useElementObserver.ts} +0 -0
- /package/src/hooks/{useGrabAndScroll.ts → GrabAndScroll/useGrabAndScroll.ts} +0 -0
- /package/src/hooks/{useImageResolver.ts → ImageResolver/useImageResolver.ts} +0 -0
- /package/src/hooks/{useIntersection.ts → Intersection/useIntersection.ts} +0 -0
- /package/src/hooks/{useIsSmallScreen.ts → IsSmallScreen/useIsSmallScreen.ts} +0 -0
- /package/src/hooks/{useMessageFilter.ts → MessageFilter/useMessageFilter.ts} +0 -0
- /package/src/hooks/{useMessageScrollObserver.ts → MessageScrollObserver/useMessageScrollObserver.ts} +0 -0
- /package/src/hooks/{useSearchOperations.ts → SearchOperations/useSearchOperations.ts} +0 -0
- /package/src/hooks/{useSnapCalculator.ts → SnapCalculator/useSnapCalculator.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useMemo } from "react";
|
|
2
1
|
import { ResponseCategory } from "@spiffy-ai/commerce-api-client";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/interceptors/useMessageInterceptor.ts
|
|
5
5
|
const useMessageInterceptor = () => {
|
|
@@ -22,4 +22,4 @@ const useMessageInterceptor = () => {
|
|
|
22
22
|
|
|
23
23
|
//#endregion
|
|
24
24
|
export { useMessageInterceptor };
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTWVzc2FnZUludGVyY2VwdG9yLUQ1b0Fla1huLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlcmNlcHRvcnMvdXNlTWVzc2FnZUludGVyY2VwdG9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1UeXBlLCBSZXNwb25zZUNhdGVnb3J5IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgTWVzc2FnZUludGVyY2VwdG9yIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZU1lc3NhZ2VJbnRlcmNlcHRvciA9ICgpID0+IHtcbiAgY29uc3QgaW50ZXJjZXB0b3JNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBpbnRlcmNlcHRvcnMgPSBuZXcgTWFwPEZvcm1UeXBlLCBNZXNzYWdlSW50ZXJjZXB0b3I+KCk7XG4gICAgLy8gRm9ybSBlc2NhbGF0aW9uIGludGVyY2VwdG9yIHJlbW92ZWQgYXMgcGVyIHVzZXIgaW5zdHJ1Y3Rpb25cbiAgICByZXR1cm4gaW50ZXJjZXB0b3JzO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaW50ZXJjZXB0ID0gKHJlc3BvbnNlPzogUmVzcG9uc2UpID0+IHtcbiAgICBpZiAocmVzcG9uc2U/LmNhdGVnb3J5ID09PSBSZXNwb25zZUNhdGVnb3J5LkZvcm0pIHtcbiAgICAgIGNvbnN0IGZvcm1UeXBlID0gcmVzcG9uc2UuYXR0cmlidXRlcy5mb3JtQ2F0ZWdvcnk/LmZvcm1UeXBlO1xuICAgICAgaWYgKGZvcm1UeXBlKSB7XG4gICAgICAgIGNvbnN0IGludGVyY2VwdG9yID0gaW50ZXJjZXB0b3JNYXAuZ2V0KGZvcm1UeXBlKTtcbiAgICAgICAgaW50ZXJjZXB0b3I/LmV4ZWN1dGUocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm4gaW50ZXJjZXB0b3I/LmJsb2NrRXhlY3V0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgaW50ZXJjZXB0LFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLE1BQWEsOEJBQThCO0NBQ3pDLE1BQU0saUJBQWlCLGNBQWM7QUFHbkMseUJBRnFCLElBQUksS0FBbUM7SUFHM0QsRUFBRSxDQUFDO0NBRU4sTUFBTSxhQUFhLGFBQXdCO0FBQ3pDLE1BQUksVUFBVSxhQUFhLGlCQUFpQixNQUFNO0dBQ2hELE1BQU0sV0FBVyxTQUFTLFdBQVcsY0FBYztBQUNuRCxPQUFJLFVBQVU7SUFDWixNQUFNLGNBQWMsZUFBZSxJQUFJLFNBQVM7QUFDaEQsaUJBQWEsUUFBUSxTQUFTO0FBQzlCLFdBQU8sYUFBYSxnQkFBZ0I7OztBQUl4QyxTQUFPOztBQUdULFFBQU8sRUFDTCxXQUNEIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/contexts/userIdentityContext/userIdentityContext.d.ts
|
|
4
|
+
interface UserIdentityContextType {
|
|
5
|
+
identifyUser: () => Promise<void>;
|
|
6
|
+
getUserIdOrDefault: () => string;
|
|
7
|
+
getUserIdOverrideFromLocalStorage: () => string | undefined;
|
|
8
|
+
getUserIdDefaultFromLocalStorage: () => string | undefined;
|
|
9
|
+
setUserIdDefaultInLocalStorage: (userId: string) => string;
|
|
10
|
+
setUserIdOverrideInLocalStorage: (userId: string) => string;
|
|
11
|
+
clearUserIdOverrideInLocalStorage: () => void;
|
|
12
|
+
isReady: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare const UserIdentityProvider: React.FC<{
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
}>;
|
|
17
|
+
declare const useUserIdentity: () => UserIdentityContextType;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { UserIdentityContextType, UserIdentityProvider, useUserIdentity };
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcklkZW50aXR5Q29udGV4dC1EMm9GVkZ6by5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvdXNlcklkZW50aXR5Q29udGV4dC91c2VySWRlbnRpdHlDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZXhwb3J0IGludGVyZmFjZSBVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB7XG4gICAgaWRlbnRpZnlVc2VyOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGdldFVzZXJJZE9yRGVmYXVsdDogKCkgPT4gc3RyaW5nO1xuICAgIGdldFVzZXJJZE92ZXJyaWRlRnJvbUxvY2FsU3RvcmFnZTogKCkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGdldFVzZXJJZERlZmF1bHRGcm9tTG9jYWxTdG9yYWdlOiAoKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgc2V0VXNlcklkRGVmYXVsdEluTG9jYWxTdG9yYWdlOiAodXNlcklkOiBzdHJpbmcpID0+IHN0cmluZztcbiAgICBzZXRVc2VySWRPdmVycmlkZUluTG9jYWxTdG9yYWdlOiAodXNlcklkOiBzdHJpbmcpID0+IHN0cmluZztcbiAgICBjbGVhclVzZXJJZE92ZXJyaWRlSW5Mb2NhbFN0b3JhZ2U6ICgpID0+IHZvaWQ7XG4gICAgaXNSZWFkeTogYm9vbGVhbjtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFVzZXJJZGVudGl0eVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn0+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlVXNlcklkZW50aXR5OiAoKSA9PiBVc2VySWRlbnRpdHlDb250ZXh0VHlwZTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVywwQkFBMEIsQ0FBQyxXQUFHLFFBQUE7QUFDekMsSUFBVyx1QkFBdUI7Q0FBQztPQUFFLE1BQUE7T0FBQSxNQUFBO0NBQUE7QUFDckMsSUFBVyxrQkFBa0IsQ0FBQyxXQUFNLHdCQUFBIn0=
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
+
const require_logger = require('./logger-DQ0WfCcD.cjs');
|
|
3
|
+
const require_localStorageContext = require('./localStorageContext-S38L0OSP.cjs');
|
|
4
|
+
const require_commerce_api = require('./commerce-api-KoiUki51.cjs');
|
|
5
|
+
let uuid = require("uuid");
|
|
6
|
+
uuid = require_chunk.__toESM(uuid);
|
|
7
|
+
let react = require("react");
|
|
8
|
+
react = require_chunk.__toESM(react);
|
|
9
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
|
+
react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
|
|
11
|
+
let ua_parser_js = require("ua-parser-js");
|
|
12
|
+
ua_parser_js = require_chunk.__toESM(ua_parser_js);
|
|
13
|
+
|
|
14
|
+
//#region src/contexts/userIdentityContext/userIdentityContext.tsx
|
|
15
|
+
const getUserAgentDetails = () => {
|
|
16
|
+
const result = new ua_parser_js.default().getResult();
|
|
17
|
+
return {
|
|
18
|
+
os: result?.os?.name,
|
|
19
|
+
osVersion: result?.os?.version,
|
|
20
|
+
deviceBrand: result?.device?.vendor,
|
|
21
|
+
deviceManufacturer: result?.device?.vendor,
|
|
22
|
+
deviceModel: result?.device?.model,
|
|
23
|
+
browser: result?.browser?.name,
|
|
24
|
+
browserVersion: result?.browser?.version,
|
|
25
|
+
userAgent: result?.ua
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const UserIdentityContext = (0, react.createContext)(void 0);
|
|
29
|
+
const UserIdentityProvider = ({ children }) => {
|
|
30
|
+
const { getItem, setItem, isAvailable: localStorageIsReady } = require_localStorageContext.useLocalStorage();
|
|
31
|
+
const [isReady, setIsReady] = (0, react.useState)(false);
|
|
32
|
+
(0, react.useEffect)(() => {
|
|
33
|
+
setIsReady(localStorageIsReady);
|
|
34
|
+
}, [localStorageIsReady]);
|
|
35
|
+
const USER_ID_OVERRIDE_KEY = "v1-spiffy-user-id-override";
|
|
36
|
+
const USER_ID_DEFAULT_KEY = "v1-spiffy-user-id-default";
|
|
37
|
+
const getUserIdOverrideFromLocalStorage = (0, react.useCallback)(() => {
|
|
38
|
+
return getItem(USER_ID_OVERRIDE_KEY) ?? void 0;
|
|
39
|
+
}, [getItem]);
|
|
40
|
+
const getUserIdDefaultFromLocalStorage = (0, react.useCallback)(() => {
|
|
41
|
+
return getItem(USER_ID_DEFAULT_KEY) ?? void 0;
|
|
42
|
+
}, [getItem]);
|
|
43
|
+
const setUserIdDefaultInLocalStorage = (0, react.useCallback)((userId) => {
|
|
44
|
+
require_logger.logger_default.logInfo(`setUserIdDefaultInLocalStorage - Setting user_id=${userId}`);
|
|
45
|
+
setItem(USER_ID_DEFAULT_KEY, userId);
|
|
46
|
+
return userId;
|
|
47
|
+
}, [setItem, USER_ID_DEFAULT_KEY]);
|
|
48
|
+
const setUserIdOverrideInLocalStorage = (0, react.useCallback)((userId) => {
|
|
49
|
+
require_logger.logger_default.logInfo(`setUserIdOverrideInLocalStorage - Setting user_id=${userId}`);
|
|
50
|
+
setItem(USER_ID_OVERRIDE_KEY, userId);
|
|
51
|
+
return userId;
|
|
52
|
+
}, [setItem, USER_ID_OVERRIDE_KEY]);
|
|
53
|
+
const clearUserIdOverrideInLocalStorage = (0, react.useCallback)(() => {
|
|
54
|
+
require_logger.logger_default.logInfo(`clearUserIdOverrideInLocalStorage - Clearing user_id`);
|
|
55
|
+
setItem(USER_ID_OVERRIDE_KEY, "");
|
|
56
|
+
}, [setItem, USER_ID_OVERRIDE_KEY]);
|
|
57
|
+
const getUserIdOrDefault = (0, react.useCallback)(() => {
|
|
58
|
+
const userIdOverride = getUserIdOverrideFromLocalStorage();
|
|
59
|
+
if (userIdOverride) return userIdOverride;
|
|
60
|
+
const defaultUserId = getUserIdDefaultFromLocalStorage();
|
|
61
|
+
if (defaultUserId) return defaultUserId;
|
|
62
|
+
return setUserIdDefaultInLocalStorage(`spiffy-user-id-${(0, uuid.v4)()}`);
|
|
63
|
+
}, [
|
|
64
|
+
getUserIdOverrideFromLocalStorage,
|
|
65
|
+
getUserIdDefaultFromLocalStorage,
|
|
66
|
+
setUserIdDefaultInLocalStorage
|
|
67
|
+
]);
|
|
68
|
+
const identifyUser = (0, react.useCallback)(async () => {
|
|
69
|
+
if (!isReady) {
|
|
70
|
+
require_logger.logger_default.logWarn("[UserIdentityContext] Context not ready, skipping identifyUser", void 0);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const cdpUserId = "UNKNOWN_CDP_USER_ID";
|
|
75
|
+
const userId = getUserIdOrDefault();
|
|
76
|
+
const userAgentDetails = getUserAgentDetails();
|
|
77
|
+
await require_commerce_api.commerce_api_default.identifyUser(userId, cdpUserId, userAgentDetails);
|
|
78
|
+
} catch (error) {
|
|
79
|
+
require_logger.logger_default.logError("[spiffy-ai] Error identifying user", error);
|
|
80
|
+
}
|
|
81
|
+
}, [isReady, getUserIdOrDefault]);
|
|
82
|
+
const value = (0, react.useMemo)(() => ({
|
|
83
|
+
identifyUser,
|
|
84
|
+
getUserIdOrDefault,
|
|
85
|
+
getUserIdOverrideFromLocalStorage,
|
|
86
|
+
getUserIdDefaultFromLocalStorage,
|
|
87
|
+
setUserIdDefaultInLocalStorage,
|
|
88
|
+
setUserIdOverrideInLocalStorage,
|
|
89
|
+
clearUserIdOverrideInLocalStorage,
|
|
90
|
+
isReady
|
|
91
|
+
}), [
|
|
92
|
+
identifyUser,
|
|
93
|
+
getUserIdOrDefault,
|
|
94
|
+
getUserIdOverrideFromLocalStorage,
|
|
95
|
+
getUserIdDefaultFromLocalStorage,
|
|
96
|
+
setUserIdDefaultInLocalStorage,
|
|
97
|
+
setUserIdOverrideInLocalStorage,
|
|
98
|
+
clearUserIdOverrideInLocalStorage,
|
|
99
|
+
isReady
|
|
100
|
+
]);
|
|
101
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(UserIdentityContext.Provider, {
|
|
102
|
+
value,
|
|
103
|
+
children
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
const useUserIdentity = () => {
|
|
107
|
+
const context = (0, react.useContext)(UserIdentityContext);
|
|
108
|
+
if (!context) throw new Error("useUserIdentity must be used within a UserIdentityProvider");
|
|
109
|
+
return context;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
//#endregion
|
|
113
|
+
Object.defineProperty(exports, 'UserIdentityProvider', {
|
|
114
|
+
enumerable: true,
|
|
115
|
+
get: function () {
|
|
116
|
+
return UserIdentityProvider;
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
Object.defineProperty(exports, 'useUserIdentity', {
|
|
120
|
+
enumerable: true,
|
|
121
|
+
get: function () {
|
|
122
|
+
return useUserIdentity;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcklkZW50aXR5Q29udGV4dC1EUEZrQ1NDdS5janMiLCJuYW1lcyI6WyJVQVBhcnNlciIsIlVzZXJJZGVudGl0eVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ1c2VMb2NhbFN0b3JhZ2UiLCJDb21tZXJjZUFwaUNsaWVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy91c2VySWRlbnRpdHlDb250ZXh0L3VzZXJJZGVudGl0eUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgVUFQYXJzZXIgZnJvbSBcInVhLXBhcnNlci1qc1wiO1xuaW1wb3J0IExvZ2dlciBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyXCI7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGlcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgQ2xpZW50RGV0YWlscyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NsaWVudERldGFpbHNcIjtcbmltcG9ydCB7IHVzZUxvY2FsU3RvcmFnZSB9IGZyb20gXCJzcmMvY29udGV4dHMvbG9jYWxTdG9yYWdlQ29udGV4dFwiO1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gZnJvbSB0aGUgb3JpZ2luYWwgc2VydmljZVxuY29uc3QgZ2V0VXNlckFnZW50RGV0YWlscyA9ICgpOiBDbGllbnREZXRhaWxzID0+IHtcbiAgY29uc3QgdWFQYXJzZXIgPSBuZXcgVUFQYXJzZXIoKTtcbiAgY29uc3QgcmVzdWx0ID0gdWFQYXJzZXIuZ2V0UmVzdWx0KCk7XG5cbiAgcmV0dXJuIHtcbiAgICBvczogcmVzdWx0Py5vcz8ubmFtZSxcbiAgICBvc1ZlcnNpb246IHJlc3VsdD8ub3M/LnZlcnNpb24sXG4gICAgZGV2aWNlQnJhbmQ6IHJlc3VsdD8uZGV2aWNlPy52ZW5kb3IsXG4gICAgZGV2aWNlTWFudWZhY3R1cmVyOiByZXN1bHQ/LmRldmljZT8udmVuZG9yLFxuICAgIGRldmljZU1vZGVsOiByZXN1bHQ/LmRldmljZT8ubW9kZWwsXG4gICAgYnJvd3NlcjogcmVzdWx0Py5icm93c2VyPy5uYW1lLFxuICAgIGJyb3dzZXJWZXJzaW9uOiByZXN1bHQ/LmJyb3dzZXI/LnZlcnNpb24sXG4gICAgdXNlckFnZW50OiByZXN1bHQ/LnVhLFxuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB7XG4gIGlkZW50aWZ5VXNlcjogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZ2V0VXNlcklkT3JEZWZhdWx0OiAoKSA9PiBzdHJpbmc7XG4gIGdldFVzZXJJZE92ZXJyaWRlRnJvbUxvY2FsU3RvcmFnZTogKCkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBnZXRVc2VySWREZWZhdWx0RnJvbUxvY2FsU3RvcmFnZTogKCkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBzZXRVc2VySWREZWZhdWx0SW5Mb2NhbFN0b3JhZ2U6ICh1c2VySWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICBzZXRVc2VySWRPdmVycmlkZUluTG9jYWxTdG9yYWdlOiAodXNlcklkOiBzdHJpbmcpID0+IHN0cmluZztcbiAgY2xlYXJVc2VySWRPdmVycmlkZUluTG9jYWxTdG9yYWdlOiAoKSA9PiB2b2lkO1xuICBpc1JlYWR5OiBib29sZWFuO1xufVxuXG5jb25zdCBVc2VySWRlbnRpdHlDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4oXG4gIHVuZGVmaW5lZFxuKTtcblxuZXhwb3J0IGNvbnN0IFVzZXJJZGVudGl0eVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoe1xuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3Qge1xuICAgIGdldEl0ZW0sXG4gICAgc2V0SXRlbSxcbiAgICBpc0F2YWlsYWJsZTogbG9jYWxTdG9yYWdlSXNSZWFkeSxcbiAgfSA9IHVzZUxvY2FsU3RvcmFnZSgpO1xuXG4gIGNvbnN0IFtpc1JlYWR5LCBzZXRJc1JlYWR5XSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIEFzc3VtaW5nIENvbW1lcmNlQXBpQ2xpZW50IGFuZCBvdGhlciBkZXBlbmRlbmNpZXMgYXJlIHJlYWR5IGlmIGxvY2FsU3RvcmFnZSBpcy5cbiAgICAvLyBJbiBhIG1vcmUgY29tcGxleCBzY2VuYXJpbywgeW91IG1pZ2h0IGhhdmUgbW9yZSBjaGVja3MgaGVyZS5cbiAgICBzZXRJc1JlYWR5KGxvY2FsU3RvcmFnZUlzUmVhZHkpO1xuICB9LCBbbG9jYWxTdG9yYWdlSXNSZWFkeV0pO1xuXG4gIGNvbnN0IFVTRVJfSURfT1ZFUlJJREVfS0VZID0gXCJ2MS1zcGlmZnktdXNlci1pZC1vdmVycmlkZVwiO1xuICBjb25zdCBVU0VSX0lEX0RFRkFVTFRfS0VZID0gXCJ2MS1zcGlmZnktdXNlci1pZC1kZWZhdWx0XCI7XG5cbiAgY29uc3QgZ2V0VXNlcklkT3ZlcnJpZGVGcm9tTG9jYWxTdG9yYWdlID0gdXNlQ2FsbGJhY2soKCk6XG4gICAgfCBzdHJpbmdcbiAgICB8IHVuZGVmaW5lZCA9PiB7XG4gICAgcmV0dXJuIGdldEl0ZW0oVVNFUl9JRF9PVkVSUklERV9LRVkpID8/IHVuZGVmaW5lZDtcbiAgfSwgW2dldEl0ZW1dKTtcblxuICBjb25zdCBnZXRVc2VySWREZWZhdWx0RnJvbUxvY2FsU3RvcmFnZSA9IHVzZUNhbGxiYWNrKCgpOlxuICAgIHwgc3RyaW5nXG4gICAgfCB1bmRlZmluZWQgPT4ge1xuICAgIHJldHVybiBnZXRJdGVtKFVTRVJfSURfREVGQVVMVF9LRVkpID8/IHVuZGVmaW5lZDtcbiAgfSwgW2dldEl0ZW1dKTtcblxuICBjb25zdCBzZXRVc2VySWREZWZhdWx0SW5Mb2NhbFN0b3JhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAodXNlcklkOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgICAgTG9nZ2VyLmxvZ0luZm8oXG4gICAgICAgIGBzZXRVc2VySWREZWZhdWx0SW5Mb2NhbFN0b3JhZ2UgLSBTZXR0aW5nIHVzZXJfaWQ9JHt1c2VySWR9YFxuICAgICAgKTtcbiAgICAgIHNldEl0ZW0oVVNFUl9JRF9ERUZBVUxUX0tFWSwgdXNlcklkKTtcbiAgICAgIC8vIHdpbmRvdy5kaXNwYXRjaEV2ZW50IGlzIGhhbmRsZWQgYnkgdXNlTG9jYWxTdG9yYWdlIG5vd1xuICAgICAgcmV0dXJuIHVzZXJJZDtcbiAgICB9LFxuICAgIFtzZXRJdGVtLCBVU0VSX0lEX0RFRkFVTFRfS0VZXVxuICApO1xuXG4gIGNvbnN0IHNldFVzZXJJZE92ZXJyaWRlSW5Mb2NhbFN0b3JhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAodXNlcklkOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgICAgTG9nZ2VyLmxvZ0luZm8oXG4gICAgICAgIGBzZXRVc2VySWRPdmVycmlkZUluTG9jYWxTdG9yYWdlIC0gU2V0dGluZyB1c2VyX2lkPSR7dXNlcklkfWBcbiAgICAgICk7XG4gICAgICBzZXRJdGVtKFVTRVJfSURfT1ZFUlJJREVfS0VZLCB1c2VySWQpO1xuICAgICAgLy8gd2luZG93LmRpc3BhdGNoRXZlbnQgaXMgaGFuZGxlZCBieSB1c2VMb2NhbFN0b3JhZ2Ugbm93XG4gICAgICByZXR1cm4gdXNlcklkO1xuICAgIH0sXG4gICAgW3NldEl0ZW0sIFVTRVJfSURfT1ZFUlJJREVfS0VZXVxuICApO1xuXG4gIGNvbnN0IGNsZWFyVXNlcklkT3ZlcnJpZGVJbkxvY2FsU3RvcmFnZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBMb2dnZXIubG9nSW5mbyhgY2xlYXJVc2VySWRPdmVycmlkZUluTG9jYWxTdG9yYWdlIC0gQ2xlYXJpbmcgdXNlcl9pZGApO1xuICAgIC8vIExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlKCk/LnJlbW92ZUl0ZW0oVVNFUl9JRF9PVkVSUklERV9LRVkpO1xuICAgIC8vIHdpbmRvdy5kaXNwYXRjaEV2ZW50IGlzIGhhbmRsZWQgYnkgdXNlTG9jYWxTdG9yYWdlIG5vd1xuICAgIHNldEl0ZW0oVVNFUl9JRF9PVkVSUklERV9LRVksIFwiXCIpOyAvLyBTZXQgdG8gZW1wdHkgc3RyaW5nIHRvIGNsZWFyXG4gIH0sIFtzZXRJdGVtLCBVU0VSX0lEX09WRVJSSURFX0tFWV0pO1xuXG4gIGNvbnN0IGdldFVzZXJJZE9yRGVmYXVsdCA9IHVzZUNhbGxiYWNrKCgpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHVzZXJJZE92ZXJyaWRlID0gZ2V0VXNlcklkT3ZlcnJpZGVGcm9tTG9jYWxTdG9yYWdlKCk7XG4gICAgaWYgKHVzZXJJZE92ZXJyaWRlKSB7XG4gICAgICByZXR1cm4gdXNlcklkT3ZlcnJpZGU7XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdFVzZXJJZCA9IGdldFVzZXJJZERlZmF1bHRGcm9tTG9jYWxTdG9yYWdlKCk7XG4gICAgaWYgKGRlZmF1bHRVc2VySWQpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VXNlcklkO1xuICAgIH1cblxuICAgIHJldHVybiBzZXRVc2VySWREZWZhdWx0SW5Mb2NhbFN0b3JhZ2UoYHNwaWZmeS11c2VyLWlkLSR7dXVpZCgpfWApO1xuICB9LCBbXG4gICAgZ2V0VXNlcklkT3ZlcnJpZGVGcm9tTG9jYWxTdG9yYWdlLFxuICAgIGdldFVzZXJJZERlZmF1bHRGcm9tTG9jYWxTdG9yYWdlLFxuICAgIHNldFVzZXJJZERlZmF1bHRJbkxvY2FsU3RvcmFnZSxcbiAgXSk7XG5cbiAgY29uc3QgaWRlbnRpZnlVc2VyID0gdXNlQ2FsbGJhY2soYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmICghaXNSZWFkeSkge1xuICAgICAgTG9nZ2VyLmxvZ1dhcm4oXG4gICAgICAgIFwiW1VzZXJJZGVudGl0eUNvbnRleHRdIENvbnRleHQgbm90IHJlYWR5LCBza2lwcGluZyBpZGVudGlmeVVzZXJcIixcbiAgICAgICAgdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAvLyBUZW1wb3JhcmlseSBjb21tZW50ZWQgb3V0IHVudGlsIFdpbmRvd0RhdGFMYXllclNlcnZpY2UgaXMgcmVzb2x2ZWRcbiAgICAgIC8vIGNvbnN0IGNkcFVzZXJJZCA9IFdpbmRvd0RhdGFMYXllclNlcnZpY2UuZ2V0R29vZ2xlQW5hbHl0aWNzQ2xpZW50SWQoKTtcbiAgICAgIGNvbnN0IGNkcFVzZXJJZCA9IFwiVU5LTk9XTl9DRFBfVVNFUl9JRFwiOyAvLyBQbGFjZWhvbGRlclxuICAgICAgY29uc3QgdXNlcklkID0gZ2V0VXNlcklkT3JEZWZhdWx0KCk7XG4gICAgICBjb25zdCB1c2VyQWdlbnREZXRhaWxzID0gZ2V0VXNlckFnZW50RGV0YWlscygpO1xuXG4gICAgICBpZiAoIWNkcFVzZXJJZCkge1xuICAgICAgICBMb2dnZXIubG9nV2FybihcbiAgICAgICAgICBcIltzcGlmZnktYWldIE5vIEdBIENsaWVudCBJRCBmb3VuZCwgc2tpcHBpbmcgaWRlbnRpZnlVc2VyXCIsXG4gICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuaWRlbnRpZnlVc2VyKHVzZXJJZCwgY2RwVXNlcklkLCB1c2VyQWdlbnREZXRhaWxzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgTG9nZ2VyLmxvZ0Vycm9yKFwiW3NwaWZmeS1haV0gRXJyb3IgaWRlbnRpZnlpbmcgdXNlclwiLCBlcnJvcik7XG4gICAgfVxuICB9LCBbaXNSZWFkeSwgZ2V0VXNlcklkT3JEZWZhdWx0XSk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBpZGVudGlmeVVzZXIsXG4gICAgICBnZXRVc2VySWRPckRlZmF1bHQsXG4gICAgICBnZXRVc2VySWRPdmVycmlkZUZyb21Mb2NhbFN0b3JhZ2UsXG4gICAgICBnZXRVc2VySWREZWZhdWx0RnJvbUxvY2FsU3RvcmFnZSxcbiAgICAgIHNldFVzZXJJZERlZmF1bHRJbkxvY2FsU3RvcmFnZSxcbiAgICAgIHNldFVzZXJJZE92ZXJyaWRlSW5Mb2NhbFN0b3JhZ2UsXG4gICAgICBjbGVhclVzZXJJZE92ZXJyaWRlSW5Mb2NhbFN0b3JhZ2UsXG4gICAgICBpc1JlYWR5LFxuICAgIH0pLFxuICAgIFtcbiAgICAgIGlkZW50aWZ5VXNlcixcbiAgICAgIGdldFVzZXJJZE9yRGVmYXVsdCxcbiAgICAgIGdldFVzZXJJZE92ZXJyaWRlRnJvbUxvY2FsU3RvcmFnZSxcbiAgICAgIGdldFVzZXJJZERlZmF1bHRGcm9tTG9jYWxTdG9yYWdlLFxuICAgICAgc2V0VXNlcklkRGVmYXVsdEluTG9jYWxTdG9yYWdlLFxuICAgICAgc2V0VXNlcklkT3ZlcnJpZGVJbkxvY2FsU3RvcmFnZSxcbiAgICAgIGNsZWFyVXNlcklkT3ZlcnJpZGVJbkxvY2FsU3RvcmFnZSxcbiAgICAgIGlzUmVhZHksXG4gICAgXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFVzZXJJZGVudGl0eUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1VzZXJJZGVudGl0eUNvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlVXNlcklkZW50aXR5ID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChVc2VySWRlbnRpdHlDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJ1c2VVc2VySWRlbnRpdHkgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFVzZXJJZGVudGl0eVByb3ZpZGVyXCJcbiAgICApO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBTSw0QkFBMkM7Q0FFL0MsTUFBTSxTQURXLElBQUlBLHNCQUFVLENBQ1AsV0FBVztBQUVuQyxRQUFPO0VBQ0wsSUFBSSxRQUFRLElBQUk7RUFDaEIsV0FBVyxRQUFRLElBQUk7RUFDdkIsYUFBYSxRQUFRLFFBQVE7RUFDN0Isb0JBQW9CLFFBQVEsUUFBUTtFQUNwQyxhQUFhLFFBQVEsUUFBUTtFQUM3QixTQUFTLFFBQVEsU0FBUztFQUMxQixnQkFBZ0IsUUFBUSxTQUFTO0VBQ2pDLFdBQVcsUUFBUTtFQUNwQjs7QUFjSCxNQUFNLCtDQUNKLE9BQ0Q7QUFFRCxNQUFhQyx3QkFBaUUsRUFDNUUsZUFDSTtDQUNKLE1BQU0sRUFDSixTQUNBLFNBQ0EsYUFBYSx3QkFDWEMsNkNBQWlCO0NBRXJCLE1BQU0sQ0FBQyxTQUFTLGtDQUF1QixNQUFNO0FBRTdDLDRCQUFnQjtBQUdkLGFBQVcsb0JBQW9CO0lBQzlCLENBQUMsb0JBQW9CLENBQUM7Q0FFekIsTUFBTSx1QkFBdUI7Q0FDN0IsTUFBTSxzQkFBc0I7Q0FFNUIsTUFBTSxpRUFFVztBQUNmLFNBQU8sUUFBUSxxQkFBcUIsSUFBSTtJQUN2QyxDQUFDLFFBQVEsQ0FBQztDQUViLE1BQU0sZ0VBRVc7QUFDZixTQUFPLFFBQVEsb0JBQW9CLElBQUk7SUFDdEMsQ0FBQyxRQUFRLENBQUM7Q0FFYixNQUFNLHlEQUNILFdBQTJCO0FBQzFCLGdDQUFPLFFBQ0wsb0RBQW9ELFNBQ3JEO0FBQ0QsVUFBUSxxQkFBcUIsT0FBTztBQUVwQyxTQUFPO0lBRVQsQ0FBQyxTQUFTLG9CQUFvQixDQUMvQjtDQUVELE1BQU0sMERBQ0gsV0FBMkI7QUFDMUIsZ0NBQU8sUUFDTCxxREFBcUQsU0FDdEQ7QUFDRCxVQUFRLHNCQUFzQixPQUFPO0FBRXJDLFNBQU87SUFFVCxDQUFDLFNBQVMscUJBQXFCLENBQ2hDO0NBRUQsTUFBTSxpRUFBc0Q7QUFDMUQsZ0NBQU8sUUFBUSx1REFBdUQ7QUFHdEUsVUFBUSxzQkFBc0IsR0FBRztJQUNoQyxDQUFDLFNBQVMscUJBQXFCLENBQUM7Q0FFbkMsTUFBTSxrREFBK0M7RUFDbkQsTUFBTSxpQkFBaUIsbUNBQW1DO0FBQzFELE1BQUksZUFDRixRQUFPO0VBR1QsTUFBTSxnQkFBZ0Isa0NBQWtDO0FBQ3hELE1BQUksY0FDRixRQUFPO0FBR1QsU0FBTywrQkFBK0IsZ0NBQXdCLEdBQUc7SUFDaEU7RUFDRDtFQUNBO0VBQ0E7RUFDRCxDQUFDO0NBRUYsTUFBTSxzQ0FBMkIsWUFBMkI7QUFDMUQsTUFBSSxDQUFDLFNBQVM7QUFDWixpQ0FBTyxRQUNMLGtFQUNBLE9BQ0Q7QUFDRDs7QUFHRixNQUFJO0dBR0YsTUFBTSxZQUFZO0dBQ2xCLE1BQU0sU0FBUyxvQkFBb0I7R0FDbkMsTUFBTSxtQkFBbUIscUJBQXFCO0FBVTlDLFNBQU1DLDBDQUFrQixhQUFhLFFBQVEsV0FBVyxpQkFBaUI7V0FDbEUsT0FBTztBQUNkLGlDQUFPLFNBQVMsc0NBQXNDLE1BQU07O0lBRTdELENBQUMsU0FBUyxtQkFBbUIsQ0FBQztDQUVqQyxNQUFNLGtDQUNHO0VBQ0w7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELEdBQ0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsQ0FDRjtBQUVELFFBQ0UsMkNBQUMsb0JBQW9CO0VBQWdCO0VBQ2xDO0dBQzRCOztBQUluQyxNQUFhLHdCQUF3QjtDQUNuQyxNQUFNLGdDQUFxQixvQkFBb0I7QUFDL0MsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQ1IsNkRBQ0Q7QUFFSCxRQUFPIn0=
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { logger_default } from "./logger-CkhQayOW.js";
|
|
2
|
+
import { useLocalStorage } from "./localStorageContext-DiTziaPa.js";
|
|
3
|
+
import { commerce_api_default } from "./commerce-api-Dz1jxPOJ.js";
|
|
4
|
+
import { v4 } from "uuid";
|
|
5
|
+
import React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import UAParser from "ua-parser-js";
|
|
8
|
+
|
|
9
|
+
//#region src/contexts/userIdentityContext/userIdentityContext.tsx
|
|
10
|
+
const getUserAgentDetails = () => {
|
|
11
|
+
const result = new UAParser().getResult();
|
|
12
|
+
return {
|
|
13
|
+
os: result?.os?.name,
|
|
14
|
+
osVersion: result?.os?.version,
|
|
15
|
+
deviceBrand: result?.device?.vendor,
|
|
16
|
+
deviceManufacturer: result?.device?.vendor,
|
|
17
|
+
deviceModel: result?.device?.model,
|
|
18
|
+
browser: result?.browser?.name,
|
|
19
|
+
browserVersion: result?.browser?.version,
|
|
20
|
+
userAgent: result?.ua
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
const UserIdentityContext = createContext(void 0);
|
|
24
|
+
const UserIdentityProvider = ({ children }) => {
|
|
25
|
+
const { getItem, setItem, isAvailable: localStorageIsReady } = useLocalStorage();
|
|
26
|
+
const [isReady, setIsReady] = useState(false);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
setIsReady(localStorageIsReady);
|
|
29
|
+
}, [localStorageIsReady]);
|
|
30
|
+
const USER_ID_OVERRIDE_KEY = "v1-spiffy-user-id-override";
|
|
31
|
+
const USER_ID_DEFAULT_KEY = "v1-spiffy-user-id-default";
|
|
32
|
+
const getUserIdOverrideFromLocalStorage = useCallback(() => {
|
|
33
|
+
return getItem(USER_ID_OVERRIDE_KEY) ?? void 0;
|
|
34
|
+
}, [getItem]);
|
|
35
|
+
const getUserIdDefaultFromLocalStorage = useCallback(() => {
|
|
36
|
+
return getItem(USER_ID_DEFAULT_KEY) ?? void 0;
|
|
37
|
+
}, [getItem]);
|
|
38
|
+
const setUserIdDefaultInLocalStorage = useCallback((userId) => {
|
|
39
|
+
logger_default.logInfo(`setUserIdDefaultInLocalStorage - Setting user_id=${userId}`);
|
|
40
|
+
setItem(USER_ID_DEFAULT_KEY, userId);
|
|
41
|
+
return userId;
|
|
42
|
+
}, [setItem, USER_ID_DEFAULT_KEY]);
|
|
43
|
+
const setUserIdOverrideInLocalStorage = useCallback((userId) => {
|
|
44
|
+
logger_default.logInfo(`setUserIdOverrideInLocalStorage - Setting user_id=${userId}`);
|
|
45
|
+
setItem(USER_ID_OVERRIDE_KEY, userId);
|
|
46
|
+
return userId;
|
|
47
|
+
}, [setItem, USER_ID_OVERRIDE_KEY]);
|
|
48
|
+
const clearUserIdOverrideInLocalStorage = useCallback(() => {
|
|
49
|
+
logger_default.logInfo(`clearUserIdOverrideInLocalStorage - Clearing user_id`);
|
|
50
|
+
setItem(USER_ID_OVERRIDE_KEY, "");
|
|
51
|
+
}, [setItem, USER_ID_OVERRIDE_KEY]);
|
|
52
|
+
const getUserIdOrDefault = useCallback(() => {
|
|
53
|
+
const userIdOverride = getUserIdOverrideFromLocalStorage();
|
|
54
|
+
if (userIdOverride) return userIdOverride;
|
|
55
|
+
const defaultUserId = getUserIdDefaultFromLocalStorage();
|
|
56
|
+
if (defaultUserId) return defaultUserId;
|
|
57
|
+
return setUserIdDefaultInLocalStorage(`spiffy-user-id-${v4()}`);
|
|
58
|
+
}, [
|
|
59
|
+
getUserIdOverrideFromLocalStorage,
|
|
60
|
+
getUserIdDefaultFromLocalStorage,
|
|
61
|
+
setUserIdDefaultInLocalStorage
|
|
62
|
+
]);
|
|
63
|
+
const identifyUser = useCallback(async () => {
|
|
64
|
+
if (!isReady) {
|
|
65
|
+
logger_default.logWarn("[UserIdentityContext] Context not ready, skipping identifyUser", void 0);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
const cdpUserId = "UNKNOWN_CDP_USER_ID";
|
|
70
|
+
const userId = getUserIdOrDefault();
|
|
71
|
+
const userAgentDetails = getUserAgentDetails();
|
|
72
|
+
await commerce_api_default.identifyUser(userId, cdpUserId, userAgentDetails);
|
|
73
|
+
} catch (error) {
|
|
74
|
+
logger_default.logError("[spiffy-ai] Error identifying user", error);
|
|
75
|
+
}
|
|
76
|
+
}, [isReady, getUserIdOrDefault]);
|
|
77
|
+
const value = useMemo(() => ({
|
|
78
|
+
identifyUser,
|
|
79
|
+
getUserIdOrDefault,
|
|
80
|
+
getUserIdOverrideFromLocalStorage,
|
|
81
|
+
getUserIdDefaultFromLocalStorage,
|
|
82
|
+
setUserIdDefaultInLocalStorage,
|
|
83
|
+
setUserIdOverrideInLocalStorage,
|
|
84
|
+
clearUserIdOverrideInLocalStorage,
|
|
85
|
+
isReady
|
|
86
|
+
}), [
|
|
87
|
+
identifyUser,
|
|
88
|
+
getUserIdOrDefault,
|
|
89
|
+
getUserIdOverrideFromLocalStorage,
|
|
90
|
+
getUserIdDefaultFromLocalStorage,
|
|
91
|
+
setUserIdDefaultInLocalStorage,
|
|
92
|
+
setUserIdOverrideInLocalStorage,
|
|
93
|
+
clearUserIdOverrideInLocalStorage,
|
|
94
|
+
isReady
|
|
95
|
+
]);
|
|
96
|
+
return /* @__PURE__ */ jsx(UserIdentityContext.Provider, {
|
|
97
|
+
value,
|
|
98
|
+
children
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
const useUserIdentity = () => {
|
|
102
|
+
const context = useContext(UserIdentityContext);
|
|
103
|
+
if (!context) throw new Error("useUserIdentity must be used within a UserIdentityProvider");
|
|
104
|
+
return context;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
//#endregion
|
|
108
|
+
export { UserIdentityProvider, useUserIdentity };
|
|
109
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcklkZW50aXR5Q29udGV4dC1aNjV6TS1BZS5qcyIsIm5hbWVzIjpbIlVzZXJJZGVudGl0eVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ1dWlkIiwiQ29tbWVyY2VBcGlDbGllbnQiXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvdXNlcklkZW50aXR5Q29udGV4dC91c2VySWRlbnRpdHlDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUNvbnRleHQsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFVBUGFyc2VyIGZyb20gXCJ1YS1wYXJzZXItanNcIjtcbmltcG9ydCBMb2dnZXIgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlclwiO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gXCJzcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCB7IENsaWVudERldGFpbHMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jbGllbnREZXRhaWxzXCI7XG5pbXBvcnQgeyB1c2VMb2NhbFN0b3JhZ2UgfSBmcm9tIFwic3JjL2NvbnRleHRzL2xvY2FsU3RvcmFnZUNvbnRleHRcIjtcblxuLy8gSGVscGVyIGZ1bmN0aW9uIGZyb20gdGhlIG9yaWdpbmFsIHNlcnZpY2VcbmNvbnN0IGdldFVzZXJBZ2VudERldGFpbHMgPSAoKTogQ2xpZW50RGV0YWlscyA9PiB7XG4gIGNvbnN0IHVhUGFyc2VyID0gbmV3IFVBUGFyc2VyKCk7XG4gIGNvbnN0IHJlc3VsdCA9IHVhUGFyc2VyLmdldFJlc3VsdCgpO1xuXG4gIHJldHVybiB7XG4gICAgb3M6IHJlc3VsdD8ub3M/Lm5hbWUsXG4gICAgb3NWZXJzaW9uOiByZXN1bHQ/Lm9zPy52ZXJzaW9uLFxuICAgIGRldmljZUJyYW5kOiByZXN1bHQ/LmRldmljZT8udmVuZG9yLFxuICAgIGRldmljZU1hbnVmYWN0dXJlcjogcmVzdWx0Py5kZXZpY2U/LnZlbmRvcixcbiAgICBkZXZpY2VNb2RlbDogcmVzdWx0Py5kZXZpY2U/Lm1vZGVsLFxuICAgIGJyb3dzZXI6IHJlc3VsdD8uYnJvd3Nlcj8ubmFtZSxcbiAgICBicm93c2VyVmVyc2lvbjogcmVzdWx0Py5icm93c2VyPy52ZXJzaW9uLFxuICAgIHVzZXJBZ2VudDogcmVzdWx0Py51YSxcbiAgfTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlcklkZW50aXR5Q29udGV4dFR5cGUge1xuICBpZGVudGlmeVVzZXI6ICgpID0+IFByb21pc2U8dm9pZD47XG4gIGdldFVzZXJJZE9yRGVmYXVsdDogKCkgPT4gc3RyaW5nO1xuICBnZXRVc2VySWRPdmVycmlkZUZyb21Mb2NhbFN0b3JhZ2U6ICgpID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZ2V0VXNlcklkRGVmYXVsdEZyb21Mb2NhbFN0b3JhZ2U6ICgpID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgc2V0VXNlcklkRGVmYXVsdEluTG9jYWxTdG9yYWdlOiAodXNlcklkOiBzdHJpbmcpID0+IHN0cmluZztcbiAgc2V0VXNlcklkT3ZlcnJpZGVJbkxvY2FsU3RvcmFnZTogKHVzZXJJZDogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIGNsZWFyVXNlcklkT3ZlcnJpZGVJbkxvY2FsU3RvcmFnZTogKCkgPT4gdm9pZDtcbiAgaXNSZWFkeTogYm9vbGVhbjtcbn1cblxuY29uc3QgVXNlcklkZW50aXR5Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8VXNlcklkZW50aXR5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+KFxuICB1bmRlZmluZWRcbik7XG5cbmV4cG9ydCBjb25zdCBVc2VySWRlbnRpdHlQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+ID0gKHtcbiAgY2hpbGRyZW4sXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBnZXRJdGVtLFxuICAgIHNldEl0ZW0sXG4gICAgaXNBdmFpbGFibGU6IGxvY2FsU3RvcmFnZUlzUmVhZHksXG4gIH0gPSB1c2VMb2NhbFN0b3JhZ2UoKTtcblxuICBjb25zdCBbaXNSZWFkeSwgc2V0SXNSZWFkeV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBBc3N1bWluZyBDb21tZXJjZUFwaUNsaWVudCBhbmQgb3RoZXIgZGVwZW5kZW5jaWVzIGFyZSByZWFkeSBpZiBsb2NhbFN0b3JhZ2UgaXMuXG4gICAgLy8gSW4gYSBtb3JlIGNvbXBsZXggc2NlbmFyaW8sIHlvdSBtaWdodCBoYXZlIG1vcmUgY2hlY2tzIGhlcmUuXG4gICAgc2V0SXNSZWFkeShsb2NhbFN0b3JhZ2VJc1JlYWR5KTtcbiAgfSwgW2xvY2FsU3RvcmFnZUlzUmVhZHldKTtcblxuICBjb25zdCBVU0VSX0lEX09WRVJSSURFX0tFWSA9IFwidjEtc3BpZmZ5LXVzZXItaWQtb3ZlcnJpZGVcIjtcbiAgY29uc3QgVVNFUl9JRF9ERUZBVUxUX0tFWSA9IFwidjEtc3BpZmZ5LXVzZXItaWQtZGVmYXVsdFwiO1xuXG4gIGNvbnN0IGdldFVzZXJJZE92ZXJyaWRlRnJvbUxvY2FsU3RvcmFnZSA9IHVzZUNhbGxiYWNrKCgpOlxuICAgIHwgc3RyaW5nXG4gICAgfCB1bmRlZmluZWQgPT4ge1xuICAgIHJldHVybiBnZXRJdGVtKFVTRVJfSURfT1ZFUlJJREVfS0VZKSA/PyB1bmRlZmluZWQ7XG4gIH0sIFtnZXRJdGVtXSk7XG5cbiAgY29uc3QgZ2V0VXNlcklkRGVmYXVsdEZyb21Mb2NhbFN0b3JhZ2UgPSB1c2VDYWxsYmFjaygoKTpcbiAgICB8IHN0cmluZ1xuICAgIHwgdW5kZWZpbmVkID0+IHtcbiAgICByZXR1cm4gZ2V0SXRlbShVU0VSX0lEX0RFRkFVTFRfS0VZKSA/PyB1bmRlZmluZWQ7XG4gIH0sIFtnZXRJdGVtXSk7XG5cbiAgY29uc3Qgc2V0VXNlcklkRGVmYXVsdEluTG9jYWxTdG9yYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHVzZXJJZDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICAgIExvZ2dlci5sb2dJbmZvKFxuICAgICAgICBgc2V0VXNlcklkRGVmYXVsdEluTG9jYWxTdG9yYWdlIC0gU2V0dGluZyB1c2VyX2lkPSR7dXNlcklkfWBcbiAgICAgICk7XG4gICAgICBzZXRJdGVtKFVTRVJfSURfREVGQVVMVF9LRVksIHVzZXJJZCk7XG4gICAgICAvLyB3aW5kb3cuZGlzcGF0Y2hFdmVudCBpcyBoYW5kbGVkIGJ5IHVzZUxvY2FsU3RvcmFnZSBub3dcbiAgICAgIHJldHVybiB1c2VySWQ7XG4gICAgfSxcbiAgICBbc2V0SXRlbSwgVVNFUl9JRF9ERUZBVUxUX0tFWV1cbiAgKTtcblxuICBjb25zdCBzZXRVc2VySWRPdmVycmlkZUluTG9jYWxTdG9yYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHVzZXJJZDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICAgIExvZ2dlci5sb2dJbmZvKFxuICAgICAgICBgc2V0VXNlcklkT3ZlcnJpZGVJbkxvY2FsU3RvcmFnZSAtIFNldHRpbmcgdXNlcl9pZD0ke3VzZXJJZH1gXG4gICAgICApO1xuICAgICAgc2V0SXRlbShVU0VSX0lEX09WRVJSSURFX0tFWSwgdXNlcklkKTtcbiAgICAgIC8vIHdpbmRvdy5kaXNwYXRjaEV2ZW50IGlzIGhhbmRsZWQgYnkgdXNlTG9jYWxTdG9yYWdlIG5vd1xuICAgICAgcmV0dXJuIHVzZXJJZDtcbiAgICB9LFxuICAgIFtzZXRJdGVtLCBVU0VSX0lEX09WRVJSSURFX0tFWV1cbiAgKTtcblxuICBjb25zdCBjbGVhclVzZXJJZE92ZXJyaWRlSW5Mb2NhbFN0b3JhZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgTG9nZ2VyLmxvZ0luZm8oYGNsZWFyVXNlcklkT3ZlcnJpZGVJbkxvY2FsU3RvcmFnZSAtIENsZWFyaW5nIHVzZXJfaWRgKTtcbiAgICAvLyBMb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldExvY2FsU3RvcmFnZSgpPy5yZW1vdmVJdGVtKFVTRVJfSURfT1ZFUlJJREVfS0VZKTtcbiAgICAvLyB3aW5kb3cuZGlzcGF0Y2hFdmVudCBpcyBoYW5kbGVkIGJ5IHVzZUxvY2FsU3RvcmFnZSBub3dcbiAgICBzZXRJdGVtKFVTRVJfSURfT1ZFUlJJREVfS0VZLCBcIlwiKTsgLy8gU2V0IHRvIGVtcHR5IHN0cmluZyB0byBjbGVhclxuICB9LCBbc2V0SXRlbSwgVVNFUl9JRF9PVkVSUklERV9LRVldKTtcblxuICBjb25zdCBnZXRVc2VySWRPckRlZmF1bHQgPSB1c2VDYWxsYmFjaygoKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCB1c2VySWRPdmVycmlkZSA9IGdldFVzZXJJZE92ZXJyaWRlRnJvbUxvY2FsU3RvcmFnZSgpO1xuICAgIGlmICh1c2VySWRPdmVycmlkZSkge1xuICAgICAgcmV0dXJuIHVzZXJJZE92ZXJyaWRlO1xuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRVc2VySWQgPSBnZXRVc2VySWREZWZhdWx0RnJvbUxvY2FsU3RvcmFnZSgpO1xuICAgIGlmIChkZWZhdWx0VXNlcklkKSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFVzZXJJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gc2V0VXNlcklkRGVmYXVsdEluTG9jYWxTdG9yYWdlKGBzcGlmZnktdXNlci1pZC0ke3V1aWQoKX1gKTtcbiAgfSwgW1xuICAgIGdldFVzZXJJZE92ZXJyaWRlRnJvbUxvY2FsU3RvcmFnZSxcbiAgICBnZXRVc2VySWREZWZhdWx0RnJvbUxvY2FsU3RvcmFnZSxcbiAgICBzZXRVc2VySWREZWZhdWx0SW5Mb2NhbFN0b3JhZ2UsXG4gIF0pO1xuXG4gIGNvbnN0IGlkZW50aWZ5VXNlciA9IHVzZUNhbGxiYWNrKGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBpZiAoIWlzUmVhZHkpIHtcbiAgICAgIExvZ2dlci5sb2dXYXJuKFxuICAgICAgICBcIltVc2VySWRlbnRpdHlDb250ZXh0XSBDb250ZXh0IG5vdCByZWFkeSwgc2tpcHBpbmcgaWRlbnRpZnlVc2VyXCIsXG4gICAgICAgIHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgLy8gVGVtcG9yYXJpbHkgY29tbWVudGVkIG91dCB1bnRpbCBXaW5kb3dEYXRhTGF5ZXJTZXJ2aWNlIGlzIHJlc29sdmVkXG4gICAgICAvLyBjb25zdCBjZHBVc2VySWQgPSBXaW5kb3dEYXRhTGF5ZXJTZXJ2aWNlLmdldEdvb2dsZUFuYWx5dGljc0NsaWVudElkKCk7XG4gICAgICBjb25zdCBjZHBVc2VySWQgPSBcIlVOS05PV05fQ0RQX1VTRVJfSURcIjsgLy8gUGxhY2Vob2xkZXJcbiAgICAgIGNvbnN0IHVzZXJJZCA9IGdldFVzZXJJZE9yRGVmYXVsdCgpO1xuICAgICAgY29uc3QgdXNlckFnZW50RGV0YWlscyA9IGdldFVzZXJBZ2VudERldGFpbHMoKTtcblxuICAgICAgaWYgKCFjZHBVc2VySWQpIHtcbiAgICAgICAgTG9nZ2VyLmxvZ1dhcm4oXG4gICAgICAgICAgXCJbc3BpZmZ5LWFpXSBObyBHQSBDbGllbnQgSUQgZm91bmQsIHNraXBwaW5nIGlkZW50aWZ5VXNlclwiLFxuICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LmlkZW50aWZ5VXNlcih1c2VySWQsIGNkcFVzZXJJZCwgdXNlckFnZW50RGV0YWlscyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIExvZ2dlci5sb2dFcnJvcihcIltzcGlmZnktYWldIEVycm9yIGlkZW50aWZ5aW5nIHVzZXJcIiwgZXJyb3IpO1xuICAgIH1cbiAgfSwgW2lzUmVhZHksIGdldFVzZXJJZE9yRGVmYXVsdF0pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgaWRlbnRpZnlVc2VyLFxuICAgICAgZ2V0VXNlcklkT3JEZWZhdWx0LFxuICAgICAgZ2V0VXNlcklkT3ZlcnJpZGVGcm9tTG9jYWxTdG9yYWdlLFxuICAgICAgZ2V0VXNlcklkRGVmYXVsdEZyb21Mb2NhbFN0b3JhZ2UsXG4gICAgICBzZXRVc2VySWREZWZhdWx0SW5Mb2NhbFN0b3JhZ2UsXG4gICAgICBzZXRVc2VySWRPdmVycmlkZUluTG9jYWxTdG9yYWdlLFxuICAgICAgY2xlYXJVc2VySWRPdmVycmlkZUluTG9jYWxTdG9yYWdlLFxuICAgICAgaXNSZWFkeSxcbiAgICB9KSxcbiAgICBbXG4gICAgICBpZGVudGlmeVVzZXIsXG4gICAgICBnZXRVc2VySWRPckRlZmF1bHQsXG4gICAgICBnZXRVc2VySWRPdmVycmlkZUZyb21Mb2NhbFN0b3JhZ2UsXG4gICAgICBnZXRVc2VySWREZWZhdWx0RnJvbUxvY2FsU3RvcmFnZSxcbiAgICAgIHNldFVzZXJJZERlZmF1bHRJbkxvY2FsU3RvcmFnZSxcbiAgICAgIHNldFVzZXJJZE92ZXJyaWRlSW5Mb2NhbFN0b3JhZ2UsXG4gICAgICBjbGVhclVzZXJJZE92ZXJyaWRlSW5Mb2NhbFN0b3JhZ2UsXG4gICAgICBpc1JlYWR5LFxuICAgIF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxVc2VySWRlbnRpdHlDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Vc2VySWRlbnRpdHlDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVVzZXJJZGVudGl0eSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoVXNlcklkZW50aXR5Q29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwidXNlVXNlcklkZW50aXR5IG11c3QgYmUgdXNlZCB3aXRoaW4gYSBVc2VySWRlbnRpdHlQcm92aWRlclwiXG4gICAgKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWdCQSxNQUFNLDRCQUEyQztDQUUvQyxNQUFNLFNBRFcsSUFBSSxVQUFVLENBQ1AsV0FBVztBQUVuQyxRQUFPO0VBQ0wsSUFBSSxRQUFRLElBQUk7RUFDaEIsV0FBVyxRQUFRLElBQUk7RUFDdkIsYUFBYSxRQUFRLFFBQVE7RUFDN0Isb0JBQW9CLFFBQVEsUUFBUTtFQUNwQyxhQUFhLFFBQVEsUUFBUTtFQUM3QixTQUFTLFFBQVEsU0FBUztFQUMxQixnQkFBZ0IsUUFBUSxTQUFTO0VBQ2pDLFdBQVcsUUFBUTtFQUNwQjs7QUFjSCxNQUFNLHNCQUFzQixjQUMxQixPQUNEO0FBRUQsTUFBYUEsd0JBQWlFLEVBQzVFLGVBQ0k7Q0FDSixNQUFNLEVBQ0osU0FDQSxTQUNBLGFBQWEsd0JBQ1gsaUJBQWlCO0NBRXJCLE1BQU0sQ0FBQyxTQUFTLGNBQWMsU0FBUyxNQUFNO0FBRTdDLGlCQUFnQjtBQUdkLGFBQVcsb0JBQW9CO0lBQzlCLENBQUMsb0JBQW9CLENBQUM7Q0FFekIsTUFBTSx1QkFBdUI7Q0FDN0IsTUFBTSxzQkFBc0I7Q0FFNUIsTUFBTSxvQ0FBb0Msa0JBRXpCO0FBQ2YsU0FBTyxRQUFRLHFCQUFxQixJQUFJO0lBQ3ZDLENBQUMsUUFBUSxDQUFDO0NBRWIsTUFBTSxtQ0FBbUMsa0JBRXhCO0FBQ2YsU0FBTyxRQUFRLG9CQUFvQixJQUFJO0lBQ3RDLENBQUMsUUFBUSxDQUFDO0NBRWIsTUFBTSxpQ0FBaUMsYUFDcEMsV0FBMkI7QUFDMUIsaUJBQU8sUUFDTCxvREFBb0QsU0FDckQ7QUFDRCxVQUFRLHFCQUFxQixPQUFPO0FBRXBDLFNBQU87SUFFVCxDQUFDLFNBQVMsb0JBQW9CLENBQy9CO0NBRUQsTUFBTSxrQ0FBa0MsYUFDckMsV0FBMkI7QUFDMUIsaUJBQU8sUUFDTCxxREFBcUQsU0FDdEQ7QUFDRCxVQUFRLHNCQUFzQixPQUFPO0FBRXJDLFNBQU87SUFFVCxDQUFDLFNBQVMscUJBQXFCLENBQ2hDO0NBRUQsTUFBTSxvQ0FBb0Msa0JBQWtCO0FBQzFELGlCQUFPLFFBQVEsdURBQXVEO0FBR3RFLFVBQVEsc0JBQXNCLEdBQUc7SUFDaEMsQ0FBQyxTQUFTLHFCQUFxQixDQUFDO0NBRW5DLE1BQU0scUJBQXFCLGtCQUEwQjtFQUNuRCxNQUFNLGlCQUFpQixtQ0FBbUM7QUFDMUQsTUFBSSxlQUNGLFFBQU87RUFHVCxNQUFNLGdCQUFnQixrQ0FBa0M7QUFDeEQsTUFBSSxjQUNGLFFBQU87QUFHVCxTQUFPLCtCQUErQixrQkFBa0JDLElBQU0sR0FBRztJQUNoRTtFQUNEO0VBQ0E7RUFDQTtFQUNELENBQUM7Q0FFRixNQUFNLGVBQWUsWUFBWSxZQUEyQjtBQUMxRCxNQUFJLENBQUMsU0FBUztBQUNaLGtCQUFPLFFBQ0wsa0VBQ0EsT0FDRDtBQUNEOztBQUdGLE1BQUk7R0FHRixNQUFNLFlBQVk7R0FDbEIsTUFBTSxTQUFTLG9CQUFvQjtHQUNuQyxNQUFNLG1CQUFtQixxQkFBcUI7QUFVOUMsU0FBTUMscUJBQWtCLGFBQWEsUUFBUSxXQUFXLGlCQUFpQjtXQUNsRSxPQUFPO0FBQ2Qsa0JBQU8sU0FBUyxzQ0FBc0MsTUFBTTs7SUFFN0QsQ0FBQyxTQUFTLG1CQUFtQixDQUFDO0NBRWpDLE1BQU0sUUFBUSxlQUNMO0VBQ0w7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELEdBQ0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsQ0FDRjtBQUVELFFBQ0Usb0JBQUMsb0JBQW9CO0VBQWdCO0VBQ2xDO0dBQzRCOztBQUluQyxNQUFhLHdCQUF3QjtDQUNuQyxNQUFNLFVBQVUsV0FBVyxvQkFBb0I7QUFDL0MsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQ1IsNkRBQ0Q7QUFFSCxRQUFPIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/contexts/userIdentityContext/userIdentityContext.d.ts
|
|
4
|
+
interface UserIdentityContextType {
|
|
5
|
+
identifyUser: () => Promise<void>;
|
|
6
|
+
getUserIdOrDefault: () => string;
|
|
7
|
+
getUserIdOverrideFromLocalStorage: () => string | undefined;
|
|
8
|
+
getUserIdDefaultFromLocalStorage: () => string | undefined;
|
|
9
|
+
setUserIdDefaultInLocalStorage: (userId: string) => string;
|
|
10
|
+
setUserIdOverrideInLocalStorage: (userId: string) => string;
|
|
11
|
+
clearUserIdOverrideInLocalStorage: () => void;
|
|
12
|
+
isReady: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare const UserIdentityProvider: React.FC<{
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
}>;
|
|
17
|
+
declare const useUserIdentity: () => UserIdentityContextType;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { UserIdentityContextType, UserIdentityProvider, useUserIdentity };
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcklkZW50aXR5Q29udGV4dC13WVJwZ2thSi5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy91c2VySWRlbnRpdHlDb250ZXh0L3VzZXJJZGVudGl0eUNvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIHtcbiAgICBpZGVudGlmeVVzZXI6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgZ2V0VXNlcklkT3JEZWZhdWx0OiAoKSA9PiBzdHJpbmc7XG4gICAgZ2V0VXNlcklkT3ZlcnJpZGVGcm9tTG9jYWxTdG9yYWdlOiAoKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgZ2V0VXNlcklkRGVmYXVsdEZyb21Mb2NhbFN0b3JhZ2U6ICgpID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBzZXRVc2VySWREZWZhdWx0SW5Mb2NhbFN0b3JhZ2U6ICh1c2VySWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIHNldFVzZXJJZE92ZXJyaWRlSW5Mb2NhbFN0b3JhZ2U6ICh1c2VySWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIGNsZWFyVXNlcklkT3ZlcnJpZGVJbkxvY2FsU3RvcmFnZTogKCkgPT4gdm9pZDtcbiAgICBpc1JlYWR5OiBib29sZWFuO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgVXNlcklkZW50aXR5UHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VVc2VySWRlbnRpdHk6ICgpID0+IFVzZXJJZGVudGl0eUNvbnRleHRUeXBlO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFXLDBCQUEwQixDQUFDLFdBQUcsUUFBQTtBQUN6QyxJQUFXLHVCQUF1QjtDQUFDO09BQUUsTUFBQTtPQUFBLE1BQUE7Q0FBQTtBQUNyQyxJQUFXLGtCQUFrQixDQUFDLFdBQU0sd0JBQUEifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/atoms/search/utils.ts
|
|
3
|
+
const formatFilterDisplayName = (displayName) => {
|
|
4
|
+
const sizes = [
|
|
5
|
+
"xxxs",
|
|
6
|
+
"xxs",
|
|
7
|
+
"xs",
|
|
8
|
+
"s",
|
|
9
|
+
"m",
|
|
10
|
+
"l",
|
|
11
|
+
"xl",
|
|
12
|
+
"xxl",
|
|
13
|
+
"xxxl",
|
|
14
|
+
"xxxxl"
|
|
15
|
+
];
|
|
16
|
+
return displayName.toLowerCase().split(" ").map((word) => {
|
|
17
|
+
if (sizes.includes(word)) return word.toUpperCase();
|
|
18
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
19
|
+
}).join(" ").replace(/Iphone/g, "iPhone");
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
Object.defineProperty(exports, 'formatFilterDisplayName', {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () {
|
|
26
|
+
return formatFilterDisplayName;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMtMlNXckoxMncuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9zZWFyY2gvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZvcm1hdEZpbHRlckRpc3BsYXlOYW1lID0gKGRpc3BsYXlOYW1lOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qgc2l6ZXMgPSBbJ3h4eHMnLCAneHhzJywgJ3hzJywgJ3MnLCAnbScsICdsJywgJ3hsJywgJ3h4bCcsICd4eHhsJywgJ3h4eHhsJ107XG5cbiAgY29uc3QgcHJvY2Vzc2VkV29yZHMgPSBkaXNwbGF5TmFtZVxuICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgLnNwbGl0KCcgJylcbiAgICAubWFwKCh3b3JkKSA9PiB7XG4gICAgICBpZiAoc2l6ZXMuaW5jbHVkZXMod29yZCkpIHtcbiAgICAgICAgcmV0dXJuIHdvcmQudG9VcHBlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKTtcbiAgICB9KTtcblxuICBjb25zdCB0aXRsZUNhc2VkTmFtZSA9IHByb2Nlc3NlZFdvcmRzLmpvaW4oJyAnKTtcblxuICAvLyBGaW5hbCByZXBsYWNlbWVudHMgZm9yIHNwZWNpYWwgY2FzZXNcbiAgcmV0dXJuIHRpdGxlQ2FzZWROYW1lLnJlcGxhY2UoL0lwaG9uZS9nLCAnaVBob25lJyk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQWEsMkJBQTJCLGdCQUF3QjtDQUM5RCxNQUFNLFFBQVE7RUFBQztFQUFRO0VBQU87RUFBTTtFQUFLO0VBQUs7RUFBSztFQUFNO0VBQU87RUFBUTtFQUFRO0FBZWhGLFFBYnVCLFlBQ3BCLGFBQWEsQ0FDYixNQUFNLElBQUksQ0FDVixLQUFLLFNBQVM7QUFDYixNQUFJLE1BQU0sU0FBUyxLQUFLLENBQ3RCLFFBQU8sS0FBSyxhQUFhO0FBRTNCLFNBQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEdBQUcsS0FBSyxNQUFNLEVBQUU7R0FDbkQsQ0FFa0MsS0FBSyxJQUFJLENBR3pCLFFBQVEsV0FBVyxTQUFTIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/application/models/guards/utils.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Checks if an object has a property of a specific type
|
|
4
|
+
*
|
|
5
|
+
* @param obj - The object to check
|
|
6
|
+
* @param prop - The property name to check
|
|
7
|
+
* @param type - The expected type of the property
|
|
8
|
+
* @param isOptional - Whether the property is optional (defaults to false)
|
|
9
|
+
*
|
|
10
|
+
* @returns boolean indicating if the object has the property of the specified type
|
|
11
|
+
*/
|
|
12
|
+
declare const hasPropertyOfType: <T extends object>(obj: unknown, prop: keyof T, type: "string" | "number" | "boolean" | "object" | "array", isOptional?: boolean) => obj is T;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { hasPropertyOfType };
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMtQjF4THg5UzguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy91dGlscy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2hlY2tzIGlmIGFuIG9iamVjdCBoYXMgYSBwcm9wZXJ0eSBvZiBhIHNwZWNpZmljIHR5cGVcbiAqXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBjaGVja1xuICogQHBhcmFtIHByb3AgLSBUaGUgcHJvcGVydHkgbmFtZSB0byBjaGVja1xuICogQHBhcmFtIHR5cGUgLSBUaGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgcHJvcGVydHlcbiAqIEBwYXJhbSBpc09wdGlvbmFsIC0gV2hldGhlciB0aGUgcHJvcGVydHkgaXMgb3B0aW9uYWwgKGRlZmF1bHRzIHRvIGZhbHNlKVxuICpcbiAqIEByZXR1cm5zIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgb2YgdGhlIHNwZWNpZmllZCB0eXBlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGhhc1Byb3BlcnR5T2ZUeXBlOiA8VCBleHRlbmRzIG9iamVjdD4ob2JqOiB1bmtub3duLCBwcm9wOiBrZXlvZiBULCB0eXBlOiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiYm9vbGVhblwiIHwgXCJvYmplY3RcIiB8IFwiYXJyYXlcIiwgaXNPcHRpb25hbD86IGJvb2xlYW4pID0+IG9iaiBpcyBUO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBRSxvQkFBQTtDQUFBO09BQUE7T0FBQTtDQUFBIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/application/models/guards/utils.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Checks if an object has a property of a specific type
|
|
4
|
+
*
|
|
5
|
+
* @param obj - The object to check
|
|
6
|
+
* @param prop - The property name to check
|
|
7
|
+
* @param type - The expected type of the property
|
|
8
|
+
* @param isOptional - Whether the property is optional (defaults to false)
|
|
9
|
+
*
|
|
10
|
+
* @returns boolean indicating if the object has the property of the specified type
|
|
11
|
+
*/
|
|
12
|
+
declare const hasPropertyOfType: <T extends object>(obj: unknown, prop: keyof T, type: "string" | "number" | "boolean" | "object" | "array", isOptional?: boolean) => obj is T;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { hasPropertyOfType };
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMtQjN4XzlKVFkuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENoZWNrcyBpZiBhbiBvYmplY3QgaGFzIGEgcHJvcGVydHkgb2YgYSBzcGVjaWZpYyB0eXBlXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gY2hlY2tcbiAqIEBwYXJhbSBwcm9wIC0gVGhlIHByb3BlcnR5IG5hbWUgdG8gY2hlY2tcbiAqIEBwYXJhbSB0eXBlIC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0gaXNPcHRpb25hbCAtIFdoZXRoZXIgdGhlIHByb3BlcnR5IGlzIG9wdGlvbmFsIChkZWZhdWx0cyB0byBmYWxzZSlcbiAqXG4gKiBAcmV0dXJucyBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIG9iamVjdCBoYXMgdGhlIHByb3BlcnR5IG9mIHRoZSBzcGVjaWZpZWQgdHlwZVxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBoYXNQcm9wZXJ0eU9mVHlwZTogPFQgZXh0ZW5kcyBvYmplY3Q+KG9iajogdW5rbm93biwgcHJvcDoga2V5b2YgVCwgdHlwZTogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCIgfCBcImJvb2xlYW5cIiB8IFwib2JqZWN0XCIgfCBcImFycmF5XCIsIGlzT3B0aW9uYWw/OiBib29sZWFuKSA9PiBvYmogaXMgVDtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUUsb0JBQUE7Q0FBQTtPQUFBO09BQUE7Q0FBQSJ9
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { UserEvent } from "./index-C_MIfxF0.cjs";
|
|
2
|
+
import { SearchResult } from "./search-y-ioX5Mz.cjs";
|
|
3
|
+
import { VariantInfo } from "./index-hdbCEjYy.cjs";
|
|
4
|
+
|
|
5
|
+
//#region src/hooks/utils.d.ts
|
|
6
|
+
declare const isElementPartiallyVisible: (el?: HTMLDivElement | null) => boolean;
|
|
7
|
+
declare const createAppLoadedEvent: () => UserEvent;
|
|
8
|
+
declare const createVisitUserEvent: ({
|
|
9
|
+
variantInfo
|
|
10
|
+
}: {
|
|
11
|
+
variantInfo: VariantInfo;
|
|
12
|
+
}) => UserEvent | undefined;
|
|
13
|
+
declare const isWithinBusinessHours: (startTime: string, endTime: string, timeZone: string) => boolean;
|
|
14
|
+
declare enum SearchResultsState {
|
|
15
|
+
Loading = 0,
|
|
16
|
+
Results = 1,
|
|
17
|
+
NoResults = 2,
|
|
18
|
+
}
|
|
19
|
+
declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMtQlp0U213Z2guZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3NlYXJjaFwiO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0VsZW1lbnRQYXJ0aWFsbHlWaXNpYmxlOiAoZWw/OiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVBcHBMb2FkZWRFdmVudDogKCkgPT4gVXNlckV2ZW50O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlVmlzaXRVc2VyRXZlbnQ6ICh7IHZhcmlhbnRJbmZvLCB9OiB7XG4gICAgdmFyaWFudEluZm86IFZhcmlhbnRJbmZvO1xufSkgPT4gVXNlckV2ZW50IHwgdW5kZWZpbmVkO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNXaXRoaW5CdXNpbmVzc0hvdXJzOiAoc3RhcnRUaW1lOiBzdHJpbmcsIGVuZFRpbWU6IHN0cmluZywgdGltZVpvbmU6IHN0cmluZykgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGVudW0gU2VhcmNoUmVzdWx0c1N0YXRlIHtcbiAgICBMb2FkaW5nID0gMCxcbiAgICBSZXN1bHRzID0gMSxcbiAgICBOb1Jlc3VsdHMgPSAyXG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBnZXRTZWFyY2hSZXN1bHRzU3RhdGU6IChpc0xvYWRpbmdTZWFyY2g6IGJvb2xlYW4sIHNlYXJjaERhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGwpID0+IFNlYXJjaFJlc3VsdHNTdGF0ZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxJQUFXLDRCQUE0QixDQUFDLFNBQVMsZUFBZTtBQUNoRSxJQUFXLHVCQUF1QixDQUFDLFNBQVMsVUFBVTtBQUN0RCxJQUFXLHVCQUF1QjtDQUFDO09BQVM7T0FBa0I7T0FBQTtDQUFBO0FBQzlELElBQVcsd0JBQWlCLENBQUEsRUFBQTtBQUM1QixJQUFXLHFCQUFnQixDQUFBLEVBQUE7QUFDM0IsSUFBVyx3QkFBd0I7Q0FBQztPQUFTO09BQW9CO0NBQW1CIn0=
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { PLPAttributeCategory, UserEventCategory } from "@spiffy-ai/commerce-api-client";
|
|
2
|
+
import { v4 } from "uuid";
|
|
3
|
+
|
|
4
|
+
//#region src/hooks/utils.ts
|
|
5
|
+
const isElementPartiallyVisible = (el) => {
|
|
6
|
+
if (!el) return false;
|
|
7
|
+
const rect = el.getBoundingClientRect();
|
|
8
|
+
const windowHeight = window.innerHeight || document.documentElement.clientHeight;
|
|
9
|
+
const windowWidth = window.innerWidth || document.documentElement.clientWidth;
|
|
10
|
+
const verticallyVisible = Math.round(rect.top) < windowHeight && Math.round(rect.bottom) > 0;
|
|
11
|
+
const horizontallyVisible = Math.round(rect.left) < windowWidth && Math.round(rect.right) > 0;
|
|
12
|
+
return verticallyVisible && horizontallyVisible;
|
|
13
|
+
};
|
|
14
|
+
const createAppLoadedEvent = () => ({
|
|
15
|
+
eventId: v4(),
|
|
16
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
17
|
+
category: UserEventCategory.AppLoaded
|
|
18
|
+
});
|
|
19
|
+
const createVisitUserEvent = ({ variantInfo }) => {
|
|
20
|
+
if (variantInfo.variant === "pdp" && variantInfo.productId != null) return {
|
|
21
|
+
eventId: v4(),
|
|
22
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
23
|
+
category: UserEventCategory.PdpVisit,
|
|
24
|
+
attributes: {
|
|
25
|
+
productId: variantInfo.productId,
|
|
26
|
+
parentProductId: variantInfo.parentProductId ?? "",
|
|
27
|
+
url: variantInfo.url ?? ""
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
if (variantInfo.variant === "plp" && variantInfo.plpId != null) return {
|
|
31
|
+
eventId: v4(),
|
|
32
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
33
|
+
category: UserEventCategory.PlpVisit,
|
|
34
|
+
attributes: {
|
|
35
|
+
category: PLPAttributeCategory.Id,
|
|
36
|
+
attributes: { id: variantInfo.plpId }
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
if (variantInfo.variant === "page_visit") return {
|
|
40
|
+
eventId: v4(),
|
|
41
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
42
|
+
category: UserEventCategory.PageVisit,
|
|
43
|
+
attributes: {
|
|
44
|
+
url: variantInfo.url,
|
|
45
|
+
pageVisitCategory: variantInfo.pageVisitCategory
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const parseTime = (time, timeZone) => {
|
|
50
|
+
const times = time.match(/^([0-1]?\d):([0-5]\d)(AM|PM)$/i);
|
|
51
|
+
const hours = times?.[1];
|
|
52
|
+
const minutes = times?.[2];
|
|
53
|
+
const period = times?.[3];
|
|
54
|
+
if (hours && minutes && period) {
|
|
55
|
+
const date = /* @__PURE__ */ new Date();
|
|
56
|
+
let adjustedHours = 0;
|
|
57
|
+
if (period.toUpperCase() === "PM" && hours !== "12") adjustedHours = parseInt(hours) + 12;
|
|
58
|
+
if (period.toUpperCase() === "AM" && hours !== "12") adjustedHours = parseInt(hours);
|
|
59
|
+
const formattedDate = `${date.toISOString().split("T")[0]}T${String(adjustedHours).padStart(2, "0")}:${minutes}:00`;
|
|
60
|
+
return /* @__PURE__ */ new Date(`${formattedDate}${timeZone}`);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const isWithinBusinessHours = (startTime, endTime, timeZone) => {
|
|
64
|
+
const start = parseTime(startTime, timeZone);
|
|
65
|
+
let end = parseTime(endTime, timeZone);
|
|
66
|
+
if (!start || !end) return false;
|
|
67
|
+
let now = /* @__PURE__ */ new Date();
|
|
68
|
+
if (end < start) {
|
|
69
|
+
end = new Date(end.getTime() + 1440 * 60 * 1e3);
|
|
70
|
+
now = new Date(now.getTime() + 1440 * 60 * 1e3);
|
|
71
|
+
}
|
|
72
|
+
if (end.getUTCDate() > start.getUTCDate()) {
|
|
73
|
+
const crossingMidnight = new Date(now.getTime() + 1440 * 60 * 1e3);
|
|
74
|
+
return start <= now || crossingMidnight <= end;
|
|
75
|
+
}
|
|
76
|
+
return now >= start && now <= end;
|
|
77
|
+
};
|
|
78
|
+
let SearchResultsState = /* @__PURE__ */ function(SearchResultsState$1) {
|
|
79
|
+
SearchResultsState$1[SearchResultsState$1["Loading"] = 0] = "Loading";
|
|
80
|
+
SearchResultsState$1[SearchResultsState$1["Results"] = 1] = "Results";
|
|
81
|
+
SearchResultsState$1[SearchResultsState$1["NoResults"] = 2] = "NoResults";
|
|
82
|
+
return SearchResultsState$1;
|
|
83
|
+
}({});
|
|
84
|
+
const getSearchResultsState = (isLoadingSearch, searchData) => {
|
|
85
|
+
if (isLoadingSearch) return SearchResultsState.Loading;
|
|
86
|
+
if (searchData) return SearchResultsState.Results;
|
|
87
|
+
return SearchResultsState.NoResults;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
//#endregion
|
|
91
|
+
export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMtQmN6NWtBZ1AuanMiLCJuYW1lcyI6WyJ1dWlkIl0sInNvdXJjZXMiOlsiLi4vc3JjL2hvb2tzL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFBMUEF0dHJpYnV0ZUNhdGVnb3J5LFxuICBVc2VyRXZlbnRDYXRlZ29yeSxcbn0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3NlYXJjaFwiO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSBcInV1aWRcIjtcblxuZXhwb3J0IGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGUgPSAoZWw/OiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IHtcbiAgaWYgKCFlbCkgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3Qgd2luZG93SGVpZ2h0ID1cbiAgICB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIGNvbnN0IHZlcnRpY2FsbHlWaXNpYmxlID1cbiAgICBNYXRoLnJvdW5kKHJlY3QudG9wKSA8IHdpbmRvd0hlaWdodCAmJiBNYXRoLnJvdW5kKHJlY3QuYm90dG9tKSA+IDA7XG4gIGNvbnN0IGhvcml6b250YWxseVZpc2libGUgPVxuICAgIE1hdGgucm91bmQocmVjdC5sZWZ0KSA8IHdpbmRvd1dpZHRoICYmIE1hdGgucm91bmQocmVjdC5yaWdodCkgPiAwO1xuICByZXR1cm4gdmVydGljYWxseVZpc2libGUgJiYgaG9yaXpvbnRhbGx5VmlzaWJsZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBcHBMb2FkZWRFdmVudCA9ICgpOiBVc2VyRXZlbnQgPT4gKHtcbiAgZXZlbnRJZDogdXVpZCgpLFxuICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkFwcExvYWRlZCxcbn0pO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlVmlzaXRVc2VyRXZlbnQgPSAoe1xuICB2YXJpYW50SW5mbyxcbn06IHtcbiAgdmFyaWFudEluZm86IFZhcmlhbnRJbmZvO1xufSk6IFVzZXJFdmVudCB8IHVuZGVmaW5lZCA9PiB7XG4gIC8vIHRoaXMgaXMgYSBwZHAgdmlzaXQgZXZlbnRcbiAgaWYgKHZhcmlhbnRJbmZvLnZhcmlhbnQgPT09IFwicGRwXCIgJiYgdmFyaWFudEluZm8ucHJvZHVjdElkICE9IG51bGwpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXZlbnRJZDogdXVpZCgpLFxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGRwVmlzaXQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIHByb2R1Y3RJZDogdmFyaWFudEluZm8ucHJvZHVjdElkLFxuICAgICAgICBwYXJlbnRQcm9kdWN0SWQ6IHZhcmlhbnRJbmZvLnBhcmVudFByb2R1Y3RJZCA/PyBcIlwiLFxuICAgICAgICB1cmw6IHZhcmlhbnRJbmZvLnVybCA/PyBcIlwiLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gdGhpcyBpcyBhIHBscCB2aXNpdCBldmVudFxuICBpZiAodmFyaWFudEluZm8udmFyaWFudCA9PT0gXCJwbHBcIiAmJiB2YXJpYW50SW5mby5wbHBJZCAhPSBudWxsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGV2ZW50SWQ6IHV1aWQoKSxcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBscFZpc2l0LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBjYXRlZ29yeTogUExQQXR0cmlidXRlQ2F0ZWdvcnkuSWQsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBpZDogdmFyaWFudEluZm8ucGxwSWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBpZiAodmFyaWFudEluZm8udmFyaWFudCA9PT0gXCJwYWdlX3Zpc2l0XCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXZlbnRJZDogdXVpZCgpLFxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICB1cmw6IHZhcmlhbnRJbmZvLnVybCxcbiAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IHZhcmlhbnRJbmZvLnBhZ2VWaXNpdENhdGVnb3J5LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBwYXJzZVRpbWUgPSAodGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHRpbWVzID0gdGltZS5tYXRjaCgvXihbMC0xXT9cXGQpOihbMC01XVxcZCkoQU18UE0pJC9pKTtcbiAgY29uc3QgaG91cnMgPSB0aW1lcz8uWzFdO1xuICBjb25zdCBtaW51dGVzID0gdGltZXM/LlsyXTtcbiAgY29uc3QgcGVyaW9kID0gdGltZXM/LlszXTtcblxuICBpZiAoaG91cnMgJiYgbWludXRlcyAmJiBwZXJpb2QpIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcblxuICAgIC8vIEFkanVzdCBob3VycyBmb3IgQU0vUE1cbiAgICBsZXQgYWRqdXN0ZWRIb3VycyA9IDA7XG4gICAgaWYgKHBlcmlvZC50b1VwcGVyQ2FzZSgpID09PSBcIlBNXCIgJiYgaG91cnMgIT09IFwiMTJcIikge1xuICAgICAgYWRqdXN0ZWRIb3VycyA9IHBhcnNlSW50KGhvdXJzKSArIDEyO1xuICAgIH1cblxuICAgIGlmIChwZXJpb2QudG9VcHBlckNhc2UoKSA9PT0gXCJBTVwiICYmIGhvdXJzICE9PSBcIjEyXCIpIHtcbiAgICAgIGFkanVzdGVkSG91cnMgPSBwYXJzZUludChob3Vycyk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSBkYXRlIHN0cmluZyB3aXRoIHRpbWUgem9uZVxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBgJHtkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdfVQke1N0cmluZyhcbiAgICAgIGFkanVzdGVkSG91cnNcbiAgICApLnBhZFN0YXJ0KDIsIFwiMFwiKX06JHttaW51dGVzfTowMGA7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGAke2Zvcm1hdHRlZERhdGV9JHt0aW1lWm9uZX1gKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VycyA9IChcbiAgc3RhcnRUaW1lOiBzdHJpbmcsXG4gIGVuZFRpbWU6IHN0cmluZyxcbiAgdGltZVpvbmU6IHN0cmluZ1xuKSA9PiB7XG4gIC8vIFBhcnNlIHN0YXJ0IGFuZCBlbmQgdGltZXNcbiAgY29uc3Qgc3RhcnQgPSBwYXJzZVRpbWUoc3RhcnRUaW1lLCB0aW1lWm9uZSk7XG4gIGxldCBlbmQgPSBwYXJzZVRpbWUoZW5kVGltZSwgdGltZVpvbmUpO1xuXG4gIGlmICghc3RhcnQgfHwgIWVuZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xuXG4gIC8vIElmIHRoZSBlbmQgZGF0ZSBpcyBncmVhdGVyIHRoYW4gdGhlIHN0YXJ0IGRhdGUsIGFkZCBhIGRheSB0byBib3RoIG9mIHRoZW1cbiAgLy8gVGhpcyBoYW5kbGVzIGNvbmZpZ3VyYXRpb25zIHN1Y2ggYXMgc3RhcnRUaW1lID0gMTA6MDBQTSBhbmQgZW5kVGltZSA9IDc6MDBBTVxuICBpZiAoZW5kIDwgc3RhcnQpIHtcbiAgICBlbmQgPSBuZXcgRGF0ZShlbmQuZ2V0VGltZSgpICsgMjQgKiA2MCAqIDYwICogMTAwMCk7XG4gICAgbm93ID0gbmV3IERhdGUobm93LmdldFRpbWUoKSArIDI0ICogNjAgKiA2MCAqIDEwMDApO1xuICB9XG5cbiAgLy8gSWYgdGhlIGRhdGUgY29udmVyc2lvbiBzaGlmdHMgdGhlIGVuZCBkYXRlIHRvIHRoZSBuZXh0IGRheSwgY29uc2lkZXIgY29tcGFyaW5nIGl0IGFjcm9zcyBtaWRuaWdodFxuICBpZiAoZW5kLmdldFVUQ0RhdGUoKSA+IHN0YXJ0LmdldFVUQ0RhdGUoKSkge1xuICAgIGNvbnN0IGNyb3NzaW5nTWlkbmlnaHQgPSBuZXcgRGF0ZShub3cuZ2V0VGltZSgpICsgMjQgKiA2MCAqIDYwICogMTAwMCk7XG4gICAgcmV0dXJuIHN0YXJ0IDw9IG5vdyB8fCBjcm9zc2luZ01pZG5pZ2h0IDw9IGVuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IHRpbWUgZmFsbHMgYmV0d2VlbiBzdGFydCBhbmQgZW5kXG4gIHJldHVybiBub3cgPj0gc3RhcnQgJiYgbm93IDw9IGVuZDtcbn07XG5cbmV4cG9ydCBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gIExvYWRpbmcsXG4gIFJlc3VsdHMsXG4gIE5vUmVzdWx0cyxcbn1cblxuZXhwb3J0IGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZSA9IChcbiAgaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLFxuICBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsXG4pOiBTZWFyY2hSZXN1bHRzU3RhdGUgPT4ge1xuICBpZiAoaXNMb2FkaW5nU2VhcmNoKSB7XG4gICAgcmV0dXJuIFNlYXJjaFJlc3VsdHNTdGF0ZS5Mb2FkaW5nO1xuICB9XG4gIGlmIChzZWFyY2hEYXRhKSB7XG4gICAgcmV0dXJuIFNlYXJjaFJlc3VsdHNTdGF0ZS5SZXN1bHRzO1xuICB9XG4gIHJldHVybiBTZWFyY2hSZXN1bHRzU3RhdGUuTm9SZXN1bHRzO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQVFBLE1BQWEsNkJBQTZCLE9BQStCO0FBQ3ZFLEtBQUksQ0FBQyxHQUFJLFFBQU87Q0FFaEIsTUFBTSxPQUFPLEdBQUcsdUJBQXVCO0NBQ3ZDLE1BQU0sZUFDSixPQUFPLGVBQWUsU0FBUyxnQkFBZ0I7Q0FDakQsTUFBTSxjQUFjLE9BQU8sY0FBYyxTQUFTLGdCQUFnQjtDQUNsRSxNQUFNLG9CQUNKLEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxnQkFBZ0IsS0FBSyxNQUFNLEtBQUssT0FBTyxHQUFHO0NBQ25FLE1BQU0sc0JBQ0osS0FBSyxNQUFNLEtBQUssS0FBSyxHQUFHLGVBQWUsS0FBSyxNQUFNLEtBQUssTUFBTSxHQUFHO0FBQ2xFLFFBQU8scUJBQXFCOztBQUc5QixNQUFhLDhCQUF5QztDQUNwRCxTQUFTQSxJQUFNO0NBQ2YsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtDQUNuQyxVQUFVLGtCQUFrQjtDQUM3QjtBQUVELE1BQWEsd0JBQXdCLEVBQ25DLGtCQUcyQjtBQUUzQixLQUFJLFlBQVksWUFBWSxTQUFTLFlBQVksYUFBYSxLQUM1RCxRQUFPO0VBQ0wsU0FBU0EsSUFBTTtFQUNmLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7RUFDbkMsVUFBVSxrQkFBa0I7RUFDNUIsWUFBWTtHQUNWLFdBQVcsWUFBWTtHQUN2QixpQkFBaUIsWUFBWSxtQkFBbUI7R0FDaEQsS0FBSyxZQUFZLE9BQU87R0FDekI7RUFDRjtBQUlILEtBQUksWUFBWSxZQUFZLFNBQVMsWUFBWSxTQUFTLEtBQ3hELFFBQU87RUFDTCxTQUFTQSxJQUFNO0VBQ2YsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtFQUNuQyxVQUFVLGtCQUFrQjtFQUM1QixZQUFZO0dBQ1YsVUFBVSxxQkFBcUI7R0FDL0IsWUFBWSxFQUNWLElBQUksWUFBWSxPQUNqQjtHQUNGO0VBQ0Y7QUFHSCxLQUFJLFlBQVksWUFBWSxhQUMxQixRQUFPO0VBQ0wsU0FBU0EsSUFBTTtFQUNmLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7RUFDbkMsVUFBVSxrQkFBa0I7RUFDNUIsWUFBWTtHQUNWLEtBQUssWUFBWTtHQUNqQixtQkFBbUIsWUFBWTtHQUNoQztFQUNGOztBQUtMLE1BQU0sYUFBYSxNQUFjLGFBQXFCO0NBQ3BELE1BQU0sUUFBUSxLQUFLLE1BQU0saUNBQWlDO0NBQzFELE1BQU0sUUFBUSxRQUFRO0NBQ3RCLE1BQU0sVUFBVSxRQUFRO0NBQ3hCLE1BQU0sU0FBUyxRQUFRO0FBRXZCLEtBQUksU0FBUyxXQUFXLFFBQVE7RUFDOUIsTUFBTSx1QkFBTyxJQUFJLE1BQU07RUFHdkIsSUFBSSxnQkFBZ0I7QUFDcEIsTUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLFVBQVUsS0FDN0MsaUJBQWdCLFNBQVMsTUFBTSxHQUFHO0FBR3BDLE1BQUksT0FBTyxhQUFhLEtBQUssUUFBUSxVQUFVLEtBQzdDLGlCQUFnQixTQUFTLE1BQU07RUFJakMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FDM0QsY0FDRCxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxRQUFRO0FBQzlCLHlCQUFPLElBQUksS0FBSyxHQUFHLGdCQUFnQixXQUFXOzs7QUFJbEQsTUFBYSx5QkFDWCxXQUNBLFNBQ0EsYUFDRztDQUVILE1BQU0sUUFBUSxVQUFVLFdBQVcsU0FBUztDQUM1QyxJQUFJLE1BQU0sVUFBVSxTQUFTLFNBQVM7QUFFdEMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUNiLFFBQU87Q0FHVCxJQUFJLHNCQUFNLElBQUksTUFBTTtBQUlwQixLQUFJLE1BQU0sT0FBTztBQUNmLFFBQU0sSUFBSSxLQUFLLElBQUksU0FBUyxHQUFHLE9BQVUsS0FBSyxJQUFLO0FBQ25ELFFBQU0sSUFBSSxLQUFLLElBQUksU0FBUyxHQUFHLE9BQVUsS0FBSyxJQUFLOztBQUlyRCxLQUFJLElBQUksWUFBWSxHQUFHLE1BQU0sWUFBWSxFQUFFO0VBQ3pDLE1BQU0sbUJBQW1CLElBQUksS0FBSyxJQUFJLFNBQVMsR0FBRyxPQUFVLEtBQUssSUFBSztBQUN0RSxTQUFPLFNBQVMsT0FBTyxvQkFBb0I7O0FBSTdDLFFBQU8sT0FBTyxTQUFTLE9BQU87O0FBR2hDLElBQVksb0VBQUw7QUFDTDtBQUNBO0FBQ0E7OztBQUdGLE1BQWEseUJBQ1gsaUJBQ0EsZUFDdUI7QUFDdkIsS0FBSSxnQkFDRixRQUFPLG1CQUFtQjtBQUU1QixLQUFJLFdBQ0YsUUFBTyxtQkFBbUI7QUFFNUIsUUFBTyxtQkFBbUIifQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/application/models/guards/utils.ts
|
|
2
|
+
/**
|
|
3
|
+
* Checks if an object has a property of a specific type
|
|
4
|
+
*
|
|
5
|
+
* @param obj - The object to check
|
|
6
|
+
* @param prop - The property name to check
|
|
7
|
+
* @param type - The expected type of the property
|
|
8
|
+
* @param isOptional - Whether the property is optional (defaults to false)
|
|
9
|
+
*
|
|
10
|
+
* @returns boolean indicating if the object has the property of the specified type
|
|
11
|
+
*/
|
|
12
|
+
const hasPropertyOfType = (obj, prop, type, isOptional = false) => {
|
|
13
|
+
try {
|
|
14
|
+
if (obj == null || typeof obj !== "object") return false;
|
|
15
|
+
if (!(prop in obj)) return isOptional;
|
|
16
|
+
const value = obj[prop];
|
|
17
|
+
if (isOptional && value == null) return true;
|
|
18
|
+
if (type === "array") return Array.isArray(value);
|
|
19
|
+
return typeof value === type;
|
|
20
|
+
} catch (err) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { hasPropertyOfType };
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMtQ0VLekJjTjIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDaGVja3MgaWYgYW4gb2JqZWN0IGhhcyBhIHByb3BlcnR5IG9mIGEgc3BlY2lmaWMgdHlwZVxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGNoZWNrXG4gKiBAcGFyYW0gcHJvcCAtIFRoZSBwcm9wZXJ0eSBuYW1lIHRvIGNoZWNrXG4gKiBAcGFyYW0gdHlwZSAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSBwcm9wZXJ0eVxuICogQHBhcmFtIGlzT3B0aW9uYWwgLSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBvcHRpb25hbCAoZGVmYXVsdHMgdG8gZmFsc2UpXG4gKlxuICogQHJldHVybnMgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSBvZiB0aGUgc3BlY2lmaWVkIHR5cGVcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1Byb3BlcnR5T2ZUeXBlID0gPFQgZXh0ZW5kcyBvYmplY3Q+KFxuICBvYmo6IHVua25vd24sXG4gIHByb3A6IGtleW9mIFQsXG4gIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnYm9vbGVhbicgfCAnb2JqZWN0JyB8ICdhcnJheScsXG4gIGlzT3B0aW9uYWw6IGJvb2xlYW4gPSBmYWxzZSxcbik6IG9iaiBpcyBUID0+IHtcbiAgdHJ5IHtcbiAgICBpZiAob2JqID09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBJZiBwcm9wZXJ0eSBpcyBub3QgcHJlc2VudCwgaXQncyB2YWxpZCBmb3IgYW4gb3B0aW9uYWwgcHJvcGVydHlcbiAgICBpZiAoIShwcm9wIGluIG9iaikpIHtcbiAgICAgIHJldHVybiBpc09wdGlvbmFsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gKG9iaiBhcyBUKVtwcm9wXTtcblxuICAgIC8vIEZvciBvcHRpb25hbCBwcm9wZXJ0aWVzLCBudWxsIG9yIHVuZGVmaW5lZCB2YWx1ZXMgYXJlIHZhbGlkXG4gICAgaWYgKGlzT3B0aW9uYWwgJiYgdmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSB0eXBlO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBzd2FsbG93IHRoZSBlcnJvciBhcyBpdCBzaG91bGQgYmUgcmVwb3J0ZWQgaW4gbW9yZSBkZXRhaWwgYnkgdGhlIGNhbGxlclxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFVQSxNQUFhLHFCQUNYLEtBQ0EsTUFDQSxNQUNBLGFBQXNCLFVBQ1Q7QUFDYixLQUFJO0FBQ0YsTUFBSSxPQUFPLFFBQVEsT0FBTyxRQUFRLFNBQ2hDLFFBQU87QUFJVCxNQUFJLEVBQUUsUUFBUSxLQUNaLFFBQU87RUFHVCxNQUFNLFFBQVMsSUFBVTtBQUd6QixNQUFJLGNBQWMsU0FBUyxLQUN6QixRQUFPO0FBR1QsTUFBSSxTQUFTLFFBQ1gsUUFBTyxNQUFNLFFBQVEsTUFBTTtBQUc3QixTQUFPLE9BQU8sVUFBVTtVQUNqQixLQUFLO0FBRVosU0FBTyJ9
|