@envive-ai/react-hooks 0.2.6-alpha-5 → 0.2.6-alpha-7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AmplitudeOperations-CNFlPr53.cjs → AmplitudeOperations-DbUiR0N_.cjs} +3 -3
- package/dist/{AmplitudeOperations-cmAprPCA.js → AmplitudeOperations-DjqOM3uE.js} +2 -2
- package/dist/{NewOrgConfig-Bicbf8I7.js → NewOrgConfig-C_1T1iOt.js} +2 -2
- package/dist/{NewOrgConfig-6dFyYjJG.cjs → NewOrgConfig-D2Kvqa1z.cjs} +2 -2
- package/dist/{TrackComponentVisibleEvent-BebTjNtS.js → TrackComponentVisibleEvent-BxOhr9Da.js} +4 -4
- package/dist/{TrackComponentVisibleEvent-COwxsJRE.cjs → TrackComponentVisibleEvent-CDbecFPM.cjs} +5 -5
- package/dist/amplitudeContext-BWmXliMI.cjs +243 -0
- package/dist/amplitudeContext-BjMlg5RV.js +227 -0
- package/dist/amplitudeTrackEventAtom-D66l5oFp.js +8 -0
- package/dist/amplitudeTrackEventAtom-f22P2U0u.cjs +15 -0
- package/dist/app-Bs2KxG_8.js +515 -0
- package/dist/app-DSnDDqcW.cjs +570 -0
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/utils.d.ts +1 -1
- package/dist/application/models/index.cjs +2 -2
- package/dist/application/models/index.d.ts +4 -4
- package/dist/application/models/index.js +2 -2
- package/dist/application/utils/index.cjs +5 -14
- package/dist/application/utils/index.d.cts +7 -8
- package/dist/application/utils/index.d.ts +8 -9
- package/dist/application/utils/index.js +5 -14
- package/dist/{atomStore-CZKe3itM.cjs → atomStore-BQVO5haU.cjs} +1 -1
- package/dist/{atomStore-BuopbV9k.js → atomStore-CfzCqWB9.js} +1 -1
- package/dist/atoms/app/index.cjs +17 -19
- package/dist/atoms/app/index.d.cts +7 -7
- package/dist/atoms/app/index.d.ts +7 -7
- package/dist/atoms/app/index.js +12 -14
- package/dist/atoms/atomStore/index.cjs +1 -1
- package/dist/atoms/atomStore/index.d.ts +1 -1
- package/dist/atoms/atomStore/index.js +1 -1
- package/dist/atoms/chat/index.cjs +15 -17
- package/dist/atoms/chat/index.d.cts +33 -34
- package/dist/atoms/chat/index.d.ts +34 -35
- package/dist/atoms/chat/index.js +15 -17
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +6 -6
- package/dist/atoms/globalSearch/index.d.ts +6 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +2 -2
- package/dist/atoms/org/index.d.cts +17 -17
- package/dist/atoms/org/index.d.ts +17 -17
- package/dist/atoms/org/index.js +2 -2
- package/dist/atoms/search/index.cjs +6 -6
- package/dist/atoms/search/index.d.cts +15 -15
- package/dist/atoms/search/index.d.ts +14 -14
- package/dist/atoms/search/index.js +6 -6
- package/dist/atoms/search/utils.cjs +1 -1
- package/dist/atoms/search/utils.d.cts +1 -1
- package/dist/atoms/search/utils.d.ts +1 -1
- package/dist/atoms/search/utils.js +1 -1
- package/dist/{cdnContext-CuZwc-PI.js → cdnContext-CJ2BNLAD.js} +2 -2
- package/dist/{cdnContext-ClAEcKhO.cjs → cdnContext-lkC-AE6A.cjs} +2 -2
- package/dist/chat-C5afTKUY.js +226 -0
- package/dist/{chat-BJL3nXR7.cjs → chat-CCjM6fS_.cjs} +6 -7
- package/dist/{chat-DCGriB7h.cjs → chat-CJ9D8n7g.cjs} +1 -1
- package/dist/{chat-ClvJ9xEj.js → chat-EJbfGWRr.js} +1 -1
- package/dist/chatState-BbI93m6r.js +33 -0
- package/dist/chatState-DlJpHAsW.cjs +119 -0
- package/dist/{common-DQPvV_S_.cjs → common-CuwWqIJ1.cjs} +1 -1
- package/dist/{common-c_4eX0qn.js → common-Df2bwzd2.js} +1 -1
- package/dist/{components-DKwVHIjq.cjs → components-BCfFLf9X.cjs} +1 -1
- package/dist/{components-CDpaMUjK.js → components-QGCWJ26c.js} +1 -1
- package/dist/config/index.cjs +4 -4
- package/dist/config/index.d.cts +4 -4
- package/dist/config/index.d.ts +4 -4
- package/dist/config/index.js +4 -4
- 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/common/index.cjs +1 -1
- package/dist/config/locators/components/common/index.d.cts +1 -1
- package/dist/config/locators/components/common/index.d.ts +1 -1
- package/dist/config/locators/components/common/index.js +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/index.cjs +4 -4
- package/dist/config/locators/index.d.cts +4 -4
- package/dist/config/locators/index.d.ts +4 -4
- package/dist/config/locators/index.js +4 -4
- package/dist/contexts/amplitudeContext/index.cjs +18 -17
- package/dist/contexts/amplitudeContext/index.d.cts +11 -2
- package/dist/contexts/amplitudeContext/index.d.ts +11 -2
- package/dist/contexts/amplitudeContext/index.js +17 -15
- package/dist/contexts/cdnContext/index.cjs +3 -3
- package/dist/contexts/cdnContext/index.d.cts +1 -1
- package/dist/contexts/cdnContext/index.js +3 -3
- package/dist/contexts/enviveConfigContext/index.cjs +3 -3
- package/dist/contexts/enviveConfigContext/index.d.cts +1 -1
- package/dist/contexts/enviveConfigContext/index.js +3 -3
- package/dist/contexts/enviveCssContext/index.cjs +10 -10
- package/dist/contexts/enviveCssContext/index.js +10 -10
- package/dist/contexts/featureFlagContext/index.cjs +4 -4
- package/dist/contexts/featureFlagContext/index.js +4 -4
- package/dist/contexts/featureFlagServiceContext/index.cjs +3 -3
- package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -1
- package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -1
- package/dist/contexts/featureFlagServiceContext/index.js +3 -3
- package/dist/contexts/graphqlContext/index.cjs +4 -4
- package/dist/contexts/graphqlContext/index.js +4 -4
- package/dist/contexts/localStorageContext/index.cjs +2 -2
- package/dist/contexts/localStorageContext/index.d.cts +1 -1
- package/dist/contexts/localStorageContext/index.js +2 -2
- package/dist/contexts/newOrgConfigContext/index.cjs +9 -9
- package/dist/contexts/newOrgConfigContext/index.js +9 -9
- package/dist/contexts/searchContext/index.cjs +18 -19
- package/dist/contexts/searchContext/index.js +18 -19
- package/dist/contexts/sessionStorageContext/index.cjs +1 -1
- package/dist/contexts/sessionStorageContext/index.js +1 -1
- package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
- package/dist/contexts/shopifyUrlContext/index.d.cts +1 -1
- package/dist/contexts/shopifyUrlContext/index.js +2 -2
- package/dist/contexts/systemSettingsContext/index.cjs +3 -3
- package/dist/contexts/systemSettingsContext/index.d.cts +2 -2
- package/dist/contexts/systemSettingsContext/index.js +3 -3
- package/dist/contexts/userIdentityContext/index.cjs +14 -16
- package/dist/contexts/userIdentityContext/index.js +12 -14
- package/dist/{dist-CIM4YRqp.js → dist-C38adNK1.js} +1 -1
- package/dist/{dist-BZX_Mgfn.cjs → dist-VxRI6eQv.cjs} +1 -1
- package/dist/{domObserver-CwieVNgj.cjs → domObserver-C2oQO8vi.cjs} +1 -1
- package/dist/{domObserver-B19-69gW.js → domObserver-DNeeSh1F.js} +1 -1
- package/dist/{enviveConfig-CBnoutoK.js → enviveConfig-Ciq4ASoV.js} +2 -2
- package/dist/{enviveConfig-BwIaVAAm.cjs → enviveConfig-Dp80h9yu.cjs} +2 -2
- package/dist/{enviveConfigContext-B4nejwV9.js → enviveConfigContext-CCjJUmwp.js} +2 -2
- package/dist/{enviveConfigContext-DgewMgYS.cjs → enviveConfigContext-DoYP8KSw.cjs} +2 -2
- package/dist/events/index.cjs +1 -1
- package/dist/events/index.js +1 -1
- package/dist/{events-BHBRLPWS.js → events-CXiS1aTc.js} +1 -1
- package/dist/{events-C8LA-0Tp.cjs → events-DBin1Z7o.cjs} +1 -1
- package/dist/exceptions/index.cjs +1 -1
- package/dist/exceptions/index.d.ts +1 -1
- package/dist/exceptions/index.js +1 -1
- package/dist/{exceptions-BBXmiU8P.cjs → exceptions-BjDgLzGi.cjs} +1 -1
- package/dist/{exceptions--fSXOzkB.js → exceptions-CUGY31Ua.js} +1 -1
- package/dist/{featureFlagServiceContext-B7je7VZV.d.cts → featureFlagServiceContext-ClnlCJV5.d.cts} +1 -1
- package/dist/{featureFlagServiceContext-CZj3qPX7.js → featureFlagServiceContext-Cvp7NlpC.js} +2 -2
- package/dist/{featureFlagServiceContext-DiYIv0jI.d.ts → featureFlagServiceContext-CyPGEe2d.d.ts} +1 -1
- package/dist/{featureFlagServiceContext-BkamHViU.cjs → featureFlagServiceContext-DHtkQAtq.cjs} +2 -2
- package/dist/{globalSearch-C94-vEVh.cjs → globalSearch-Cpc8egsM.cjs} +1 -1
- package/dist/{globalSearch-Dlbnfasm.js → globalSearch-nmrfGLOn.js} +1 -1
- package/dist/{graphqlContext-Capum8x6.js → graphqlContext-0cg9fEUw.js} +3 -3
- package/dist/{graphqlContext-C3HXFiHx.cjs → graphqlContext-ChXlE8Ul.cjs} +3 -3
- package/dist/hooks/AmplitudeOperations/index.cjs +17 -15
- package/dist/hooks/AmplitudeOperations/index.d.cts +1 -1
- package/dist/hooks/AmplitudeOperations/index.js +17 -15
- package/dist/hooks/AppDetails/index.cjs +15 -17
- package/dist/hooks/AppDetails/index.js +15 -17
- package/dist/hooks/BlockBackButton/index.d.cts +1 -1
- package/dist/hooks/CdnOperations/index.cjs +3 -3
- package/dist/hooks/CdnOperations/index.d.cts +1 -1
- package/dist/hooks/CdnOperations/index.d.ts +1 -1
- package/dist/hooks/CdnOperations/index.js +3 -3
- package/dist/hooks/ChatToggle/index.cjs +21 -19
- package/dist/hooks/ChatToggle/index.d.cts +1 -1
- package/dist/hooks/ChatToggle/index.js +20 -18
- package/dist/hooks/ChatToggleAnalytics/index.cjs +19 -17
- package/dist/hooks/ChatToggleAnalytics/index.d.cts +1 -1
- package/dist/hooks/ChatToggleAnalytics/index.js +19 -17
- package/dist/hooks/Debounce/index.d.cts +1 -1
- package/dist/hooks/ElementObserver/index.cjs +1 -1
- package/dist/hooks/ElementObserver/index.d.cts +1 -1
- package/dist/hooks/ElementObserver/index.d.ts +1 -1
- package/dist/hooks/ElementObserver/index.js +1 -1
- package/dist/hooks/GraphQLConfig/index.cjs +5 -5
- package/dist/hooks/GraphQLConfig/index.d.cts +1 -1
- package/dist/hooks/GraphQLConfig/index.js +5 -5
- package/dist/hooks/IdentifyUser/index.cjs +14 -16
- package/dist/hooks/IdentifyUser/index.d.cts +1 -1
- package/dist/hooks/IdentifyUser/index.js +13 -15
- package/dist/hooks/ImageResolver/index.cjs +2 -2
- package/dist/hooks/ImageResolver/index.d.cts +1 -1
- package/dist/hooks/ImageResolver/index.js +2 -2
- package/dist/hooks/Intersection/index.cjs +1 -1
- package/dist/hooks/Intersection/index.js +1 -1
- package/dist/hooks/IsSmallScreen/index.d.cts +1 -1
- package/dist/hooks/LocalStorageOperations/index.cjs +2 -2
- package/dist/hooks/LocalStorageOperations/index.d.cts +1 -1
- package/dist/hooks/LocalStorageOperations/index.js +2 -2
- package/dist/hooks/MessageFilter/index.cjs +1 -1
- package/dist/hooks/MessageFilter/index.d.cts +1 -1
- package/dist/hooks/MessageFilter/index.js +1 -1
- package/dist/hooks/MessageScrollObserver/index.d.cts +1 -1
- package/dist/hooks/NewOrgConfig/index.cjs +10 -10
- package/dist/hooks/NewOrgConfig/index.d.cts +2 -2
- package/dist/hooks/NewOrgConfig/index.d.ts +2 -2
- package/dist/hooks/NewOrgConfig/index.js +10 -10
- package/dist/hooks/Search/index.cjs +25 -23
- package/dist/hooks/Search/index.js +25 -23
- package/dist/hooks/SearchOperations/index.cjs +19 -20
- package/dist/hooks/SearchOperations/index.js +19 -20
- package/dist/hooks/SessionStorageOperations/index.cjs +1 -1
- package/dist/hooks/SessionStorageOperations/index.js +1 -1
- package/dist/hooks/ShopifyUrlOperations/index.cjs +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.js +2 -2
- package/dist/hooks/SystemSettingsContext/index.cjs +3 -3
- package/dist/hooks/SystemSettingsContext/index.d.cts +4 -4
- package/dist/hooks/SystemSettingsContext/index.d.ts +4 -4
- package/dist/hooks/SystemSettingsContext/index.js +3 -3
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +18 -16
- package/dist/hooks/TrackComponentVisibleEvent/index.js +18 -16
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +20 -18
- package/dist/hooks/UpdateAnalyticsProps/index.js +17 -15
- package/dist/hooks/utils.cjs +1 -1
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/hooks/utils.js +1 -1
- package/dist/{index-CAhGZxMI.d.ts → index-5li6ZMDu.d.ts} +1 -1
- package/dist/{index-ca7Qn8o0.d.cts → index-BbqT4BQv.d.cts} +1 -1
- package/dist/{index-w64il54a.d.cts → index-CAJq_8bO.d.cts} +1 -1
- package/dist/index-CMZcE7pk.d.cts +1 -1
- package/dist/{index-BQpWG3Jm.d.cts → index-ChiZg0yw.d.cts} +1 -1
- package/dist/{index-DNccxbJi.d.ts → index-CsmO1rDH.d.ts} +1 -1
- package/dist/{index-Dgu085Lu.d.ts → index-CuihhoIF.d.ts} +2 -2
- package/dist/{index-BR1G8yyg.d.ts → index-DtzPIcQp.d.ts} +1 -1
- package/dist/{index-ZQMda2Iu.d.ts → index-bEjLKG_Q.d.ts} +1 -1
- package/dist/{index-DiIHuPq2.d.ts → index-jFQefHda.d.ts} +1 -1
- package/dist/{index-BO-ZLYtR.d.ts → index-mv7KvWDq.d.ts} +1 -1
- package/dist/{index-ClVBVK15.d.cts → index-npqPeJ1g.d.cts} +1 -1
- package/dist/interceptors/index.cjs +1 -1
- package/dist/interceptors/index.d.cts +1 -1
- package/dist/interceptors/index.d.ts +1 -1
- package/dist/interceptors/index.js +1 -1
- package/dist/{localStorageContext-p_4U0RPI.js → localStorageContext-BFwvuEcf.js} +2 -2
- package/dist/{localStorageContext-CPrkpt8i.cjs → localStorageContext-CWc5xJ6U.cjs} +2 -2
- package/dist/{locators-BMQGmGLq.js → locators-C2fWd-74.js} +1 -1
- package/dist/{locators-DxYdak1F.cjs → locators-Cx3q6Z_h.cjs} +1 -1
- package/dist/{models-L2w8FYCa.js → models-Cw0QcbQv.js} +2 -2
- package/dist/{models-OyYkll03.cjs → models-Dl0_Ujgj.cjs} +2 -2
- package/dist/{newOrgConfigAtom-Dsk0fJNR.js → newOrgConfigAtom-BuQE_zPK.js} +1 -1
- package/dist/{newOrgConfigAtom-hs5A1pbZ.cjs → newOrgConfigAtom-rrYHmp1b.cjs} +1 -1
- package/dist/{newOrgConfigContext-BuqDUkPz.js → newOrgConfigContext-D-gU5ppl.js} +5 -5
- package/dist/{newOrgConfigContext-N4CQzvlH.cjs → newOrgConfigContext-d3RHl430.cjs} +5 -5
- package/dist/{nodeSelector-0gJ8Xayf.d.ts → nodeSelector-BAKg1h_y.d.ts} +1 -1
- package/dist/{nodeSelector-Cj-Xl1LP.d.cts → nodeSelector-BYEAyrsj.d.cts} +1 -1
- package/dist/org-15F128Ah.js +32 -0
- package/dist/org-CIFgIcO4.cjs +111 -0
- package/dist/{search-C_N_oRVZ.js → search--80x6CfL.js} +5 -5
- package/dist/{search-8bPfo07V.cjs → search-Ch6LKNh4.cjs} +5 -5
- package/dist/{searchContext-DdJbpDsU.cjs → searchContext-B0qEUoKb.cjs} +6 -6
- package/dist/{searchContext-BohH5i8s.js → searchContext-BkPoTq1o.js} +6 -6
- package/dist/{searchServiceAdapter-BSPZOg1r.js → searchServiceAdapter-B0h7psvh.js} +1 -1
- package/dist/{searchServiceAdapter-DrjFCiw8.cjs → searchServiceAdapter-BclWy4fE.cjs} +1 -1
- package/dist/{sessionStorageContext-CH37Dkb-.cjs → sessionStorageContext-BuWrJQwc.cjs} +1 -1
- package/dist/{sessionStorageContext-CqrutoVq.js → sessionStorageContext-DvFHbk81.js} +1 -1
- package/dist/{shopifyUrlContext-Ba6MQdNV.cjs → shopifyUrlContext-Bw1kAZ2P.cjs} +2 -2
- package/dist/{shopifyUrlContext-BI3fVtA5.js → shopifyUrlContext-DnJiUmMA.js} +2 -2
- package/dist/src/application/commerce-api.js +408 -0
- package/dist/src/application/logging/logger.js +16 -0
- package/dist/src/application/models/graphql/index.js +3 -0
- package/dist/src/application/models/graphql/queries/getMerchantColorsQuery.js +13 -0
- package/dist/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.js +13 -0
- package/dist/src/application/models/graphql/queries/getMerchantOrgIdQuery.js +10 -0
- package/dist/src/application/models/guards/api/index.js +12 -0
- package/dist/src/application/models/guards/api/isApiFormResponse.js +59 -0
- package/dist/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +22 -0
- package/dist/src/application/models/guards/api/isApiOrderResponseAttributes.js +91 -0
- package/dist/src/application/models/guards/api/isApiOrgConfigResults.js +188 -0
- package/dist/src/application/models/guards/api/isApiOrganizationConfig.js +115 -0
- package/dist/src/application/models/guards/api/isApiPDPEventAttributes.js +16 -0
- package/dist/src/application/models/guards/api/isApiPLPEventAttributes.js +26 -0
- package/dist/src/application/models/guards/api/isApiPageResponseAttributes.js +15 -0
- package/dist/src/application/models/guards/api/isApiProductResponseAttributes.js +65 -0
- package/dist/src/application/models/guards/api/isApiProductSearchAttributes.js +15 -0
- package/dist/src/application/models/guards/api/isApiProductSearchFilterAttributes.js +10 -0
- package/dist/src/application/models/guards/api/isApiQueryTypedEventAttributes.js +4 -0
- package/dist/src/application/models/guards/api/isApiResponse.js +33 -0
- package/dist/src/application/models/guards/api/isApiReviewResponseAttributes.js +22 -0
- package/dist/src/application/models/guards/api/isApiReviewRichInformation.js +23 -0
- package/dist/src/application/models/guards/api/isApiSearchEventAttributes.js +20 -0
- package/dist/src/application/models/guards/api/isApiSuggestion.js +24 -0
- package/dist/src/application/models/guards/api/isApiSuggestionClickedEventAttributes.js +4 -0
- package/dist/src/application/models/guards/api/isApiTextResponseAttributes.js +4 -0
- package/dist/src/application/models/guards/api/isApiUserEvent.js +18 -0
- package/dist/src/application/models/guards/graphQL/isGraphQLColorsConfig.js +41 -0
- package/dist/src/application/models/guards/isBaseEcommerceEvent.js +14 -0
- package/dist/src/application/models/guards/isGA4EcommerceEvent.js +14 -0
- package/dist/src/application/models/guards/isLegacyUAEcommerceEvent.js +14 -0
- package/dist/src/application/models/guards/isMobilePLPChatPlacementParameter.js +4 -0
- package/dist/src/application/models/guards/isSpanxTakeAQuizCtaParameter.js +1 -0
- package/dist/src/application/models/guards/isVariantInfo.js +28 -0
- package/dist/src/application/models/guards/utils.js +34 -0
- package/dist/src/application/models/index.js +34 -0
- package/dist/src/application/models/utils/snakeToCamelTransformer.js +71 -0
- package/dist/src/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.js +65 -0
- package/dist/src/application/models/validators/validateGraphQLColorsConfig.js +9 -0
- package/dist/src/application/models/validators/validateGraphQLFrontendConfig.js +420 -0
- package/dist/src/application/models/validators/validateGraphQLOrgId.js +6 -0
- package/dist/src/application/models/validators/validateMobilePLPChatPlacementParameter.js +9 -0
- package/dist/src/application/models/validators/validateOrgConfigResults.js +44 -0
- package/dist/src/application/models/validators/validateOrganizationConfig.js +34 -0
- package/dist/src/application/models/validators/validateResponse.js +173 -0
- package/dist/src/application/models/validators/validateSuggestion.js +13 -0
- package/dist/src/application/models/validators/validateUserEvent.js +91 -0
- package/dist/src/application/utils/analyticsUtils.js +95 -0
- package/dist/src/application/utils/coreContextToApiContext.js +8 -0
- package/dist/src/application/utils/coreUserEventToApiUserEvent.js +90 -0
- package/dist/src/application/utils/divideArray.js +7 -0
- package/dist/src/application/utils/domObserver.js +85 -0
- package/dist/src/application/utils/elementObserver.js +186 -0
- package/dist/src/application/utils/imageFilter.js +11 -0
- package/dist/src/application/utils/index.js +21 -0
- package/dist/src/application/utils/merchantUtils.js +15 -0
- package/dist/src/application/utils/messageFromFormSubmittedEvent.js +19 -0
- package/dist/src/application/utils/messageFromQueryEvent.js +35 -0
- package/dist/src/application/utils/messageFromResponse.js +123 -0
- package/dist/src/application/utils/messageFromSuggestionEvent.js +27 -0
- package/dist/src/application/utils/mouseEventTypes.js +1 -0
- package/dist/src/application/utils/mutationHelper.js +33 -0
- package/dist/src/application/utils/nextMessageRequestToApiRequest.js +29 -0
- package/dist/src/application/utils/nodeSelector.js +101 -0
- package/dist/src/application/utils/overrides.js +144 -0
- package/dist/src/application/utils/stringUtils.js +47 -0
- package/dist/src/application/utils/supportedEventRequestToApiRequest.js +7 -0
- package/dist/src/application/utils/urlsParser.js +33 -0
- package/dist/src/application/utils/validation.js +5 -0
- package/dist/src/atoms/amplitude/amplitudeTrackEventAtom.js +4 -0
- package/dist/src/atoms/app/index.js +23 -0
- package/dist/src/atoms/app/variant.js +102 -0
- package/dist/src/atoms/atomStore/atomStore.js +28 -0
- package/dist/src/atoms/atomStore/index.js +1 -0
- package/dist/src/atoms/chat/chatState.js +32 -0
- package/dist/src/atoms/chat/form.js +16 -0
- package/dist/src/atoms/chat/index.js +23 -0
- package/dist/src/atoms/chat/lastMessage.js +10 -0
- package/dist/src/atoms/chat/messageQueue.js +68 -0
- package/dist/src/atoms/chat/performanceMetrics.js +70 -0
- package/dist/src/atoms/chat/renderedWidgetRefs.js +24 -0
- package/dist/src/atoms/chat/replies.js +42 -0
- package/dist/src/atoms/chat/suggestions.js +29 -0
- package/dist/src/atoms/envive/enviveConfig.js +67 -0
- package/dist/src/atoms/globalSearch/globalSearch.js +8 -0
- package/dist/src/atoms/globalSearch/index.js +1 -0
- package/dist/src/atoms/org/customerService.js +6 -0
- package/dist/src/atoms/org/graphqlConfig.js +8 -0
- package/dist/src/atoms/org/index.js +4 -0
- package/dist/src/atoms/org/newOrgConfigAtom.js +2 -0
- package/dist/src/atoms/org/orgAnalyticsConfig.js +8 -0
- package/dist/src/atoms/search/index.js +1 -0
- package/dist/src/atoms/search/productFilters.js +163 -0
- package/dist/src/atoms/search/productRetrievalAPI.js +50 -0
- package/dist/src/atoms/search/productRetrievalAdapter.js +14 -0
- package/dist/src/atoms/search/productSorter.js +13 -0
- package/dist/src/atoms/search/searchAPI.js +140 -0
- package/dist/src/atoms/search/searchServiceAdapter.js +14 -0
- package/dist/src/atoms/search/utils.js +15 -0
- package/dist/src/config/index.js +1 -0
- package/dist/src/config/locators/components/chat/entrypoints.js +10 -0
- package/dist/src/config/locators/components/chat/index.js +21 -0
- package/dist/src/config/locators/components/chat/preview.js +11 -0
- package/dist/src/config/locators/components/chat/variants/index.js +12 -0
- package/dist/src/config/locators/components/common/buttons.js +6 -0
- package/dist/src/config/locators/components/common/cards.js +17 -0
- package/dist/src/config/locators/components/common/index.js +4 -0
- package/dist/src/config/locators/components/common/links.js +1 -0
- package/dist/src/config/locators/components/common/tables.js +1 -0
- package/dist/src/config/locators/components/floating-button.js +2 -0
- package/dist/src/config/locators/components/index.js +3 -0
- package/dist/src/config/locators/components/report-issue.js +13 -0
- package/dist/src/config/locators/components/search/index.js +5 -0
- package/dist/src/config/locators/components/shadow-dom.js +1 -0
- package/dist/src/config/locators/embedded.js +20 -0
- package/dist/src/config/locators/index.js +4 -0
- package/dist/src/contexts/amplitudeContext/amplitudeContext.js +271 -0
- package/dist/src/contexts/amplitudeContext/index.js +1 -0
- package/dist/src/contexts/cdnContext/cdnContext.js +28 -0
- package/dist/src/contexts/cdnContext/index.js +1 -0
- package/dist/src/contexts/enviveConfigContext/enviveConfigContext.js +37 -0
- package/dist/src/contexts/enviveConfigContext/index.js +1 -0
- package/dist/src/contexts/enviveCssContext/enviveCssContext.js +31 -0
- package/dist/src/contexts/enviveCssContext/index.js +1 -0
- package/dist/src/contexts/featureFlagContext/featureFlagContext.js +109 -0
- package/dist/src/contexts/featureFlagContext/index.js +1 -0
- package/dist/src/contexts/featureFlagServiceContext/featureFlagServiceContext.js +47 -0
- package/dist/src/contexts/featureFlagServiceContext/index.js +1 -0
- package/dist/src/contexts/graphqlContext/graphqlContext.js +87 -0
- package/dist/src/contexts/graphqlContext/index.js +1 -0
- package/dist/src/contexts/localStorageContext/index.js +1 -0
- package/dist/src/contexts/localStorageContext/localStorageContext.js +95 -0
- package/dist/src/contexts/newOrgConfigContext/index.js +1 -0
- package/dist/src/contexts/newOrgConfigContext/newOrgConfigContext.js +33 -0
- package/dist/src/contexts/searchContext/index.js +1 -0
- package/dist/src/contexts/searchContext/searchContext.js +131 -0
- package/dist/src/contexts/sessionStorageContext/index.js +1 -0
- package/dist/src/contexts/sessionStorageContext/sessionStorageContext.js +43 -0
- package/dist/src/contexts/shopifyUrlContext/index.js +1 -0
- package/dist/src/contexts/shopifyUrlContext/shopifyUrlContext.js +62 -0
- package/dist/src/contexts/systemSettingsContext/index.js +1 -0
- package/dist/src/contexts/systemSettingsContext/systemSettingsContext.js +29 -0
- package/dist/src/contexts/userIdentityContext/index.js +1 -0
- package/dist/src/contexts/userIdentityContext/userIdentityContext.js +118 -0
- package/dist/src/events/index.js +51 -0
- package/dist/src/events/registerAnalyticsListeners.js +32 -0
- package/dist/src/exceptions/index.js +2 -0
- package/dist/src/exceptions/sessionExceptions.js +6 -0
- package/dist/src/exceptions/unsupportedProductExceptions.js +6 -0
- package/dist/src/hooks/AmplitudeOperations/index.js +1 -0
- package/dist/src/hooks/AmplitudeOperations/useAmplitudeOperations.js +24 -0
- package/dist/src/hooks/AppDetails/index.js +1 -0
- package/dist/src/hooks/AppDetails/useAppDetails.js +26 -0
- package/dist/src/hooks/BlockBackButton/index.js +1 -0
- package/dist/src/hooks/BlockBackButton/useBlockBackButton.js +23 -0
- package/dist/src/hooks/CdnOperations/index.js +1 -0
- package/dist/src/hooks/CdnOperations/useCdnOperations.js +13 -0
- package/dist/src/hooks/ChatToggle/index.js +1 -0
- package/dist/src/hooks/ChatToggle/useChatToggle.js +50 -0
- package/dist/src/hooks/ChatToggleAnalytics/index.js +1 -0
- package/dist/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.js +11 -0
- package/dist/src/hooks/CustomerSupportHandoff/index.js +1 -0
- package/dist/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.js +32 -0
- package/dist/src/hooks/Debounce/index.js +1 -0
- package/dist/src/hooks/Debounce/useDebounce.js +13 -0
- package/dist/src/hooks/ElementObserver/index.js +1 -0
- package/dist/src/hooks/ElementObserver/useElementObserver.js +208 -0
- package/dist/src/hooks/GrabAndScroll/index.js +1 -0
- package/dist/src/hooks/GrabAndScroll/useGrabAndScroll.js +105 -0
- package/dist/src/hooks/GraphQLConfig/index.js +1 -0
- package/dist/src/hooks/GraphQLConfig/useGraphQLConfig.js +54 -0
- package/dist/src/hooks/IdentifyUser/index.js +1 -0
- package/dist/src/hooks/IdentifyUser/useIdentifyUser.js +28 -0
- package/dist/src/hooks/ImageResolver/index.js +1 -0
- package/dist/src/hooks/ImageResolver/useImageResolver.js +45 -0
- package/dist/src/hooks/Intersection/index.js +1 -0
- package/dist/src/hooks/Intersection/useIntersection.js +20 -0
- package/dist/src/hooks/IsSmallScreen/index.js +1 -0
- package/dist/src/hooks/IsSmallScreen/useIsSmallScreen.js +16 -0
- package/dist/src/hooks/LocalStorageOperations/index.js +1 -0
- package/dist/src/hooks/LocalStorageOperations/useLocalStorageOperations.js +64 -0
- package/dist/src/hooks/MessageFilter/index.js +1 -0
- package/dist/src/hooks/MessageFilter/useMessageFilter.js +37 -0
- package/dist/src/hooks/MessageScrollObserver/index.js +1 -0
- package/dist/src/hooks/MessageScrollObserver/useMessageScrollObserver.js +35 -0
- package/dist/src/hooks/NewOrgConfig/index.js +1 -0
- package/dist/src/hooks/NewOrgConfig/useNewOrgConfig.js +5 -0
- package/dist/src/hooks/Search/index.js +1 -0
- package/dist/src/hooks/Search/useRecommendedProducts.js +35 -0
- package/dist/src/hooks/Search/useSearch.js +224 -0
- package/dist/src/hooks/Search/useSearchInput.js +192 -0
- package/dist/src/hooks/SearchOperations/index.js +1 -0
- package/dist/src/hooks/SearchOperations/useSearchOperations.js +78 -0
- package/dist/src/hooks/SessionStorageOperations/index.js +1 -0
- package/dist/src/hooks/SessionStorageOperations/useSessionStorageOperations.js +20 -0
- package/dist/src/hooks/ShopifyUrlOperations/index.js +1 -0
- package/dist/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.js +34 -0
- package/dist/src/hooks/SnapCalculator/index.js +1 -0
- package/dist/src/hooks/SnapCalculator/useSnapCalculator.js +22 -0
- package/dist/src/hooks/SystemSettingsContext/index.js +1 -0
- package/dist/src/hooks/SystemSettingsContext/useSystemSettingsContext.js +9 -0
- package/dist/src/hooks/TrackComponentVisibleEvent/index.js +1 -0
- package/dist/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +45 -0
- package/dist/src/hooks/UpdateAnalyticsProps/index.js +1 -0
- package/dist/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +43 -0
- package/dist/src/hooks/utils.js +116 -0
- package/dist/src/interceptors/index.js +1 -0
- package/dist/src/interceptors/useMessageInterceptor.js +24 -0
- package/dist/src/types/ApiResponse.js +1 -0
- package/dist/src/types/FilterAttribute.js +3 -0
- package/dist/src/types/Message.js +24 -0
- package/dist/src/types/Suggestion.js +3 -0
- package/dist/src/types/index.js +4 -0
- package/dist/src/util/colorVar.js +3 -0
- package/dist/src/util/configVersion.js +4 -0
- package/dist/src/util/domInsertion.js +16 -0
- package/dist/{systemSettingsContext-CYce8iqH.cjs → systemSettingsContext-068vQuP2.cjs} +2 -2
- package/dist/{systemSettingsContext-D9BZ9EwQ.js → systemSettingsContext-DPdDfVhj.js} +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/{urlsParser-C-Vzs--G.cjs → urlsParser-bb8ciRFg.cjs} +1 -1
- package/dist/{urlsParser-G7Ocwg0M.js → urlsParser-v_1DKvyf.js} +1 -1
- package/dist/{useAppDetails-CSpw8teP.js → useAppDetails-BPXln8UE.js} +4 -4
- package/dist/{useAppDetails-DNG_-DI9.cjs → useAppDetails-eP2hBuid.cjs} +7 -7
- package/dist/{useGraphQLConfig-D1REGfFB.js → useGraphQLConfig-Btszi6cG.js} +2 -2
- package/dist/{useGraphQLConfig-CKtaLlQ-.cjs → useGraphQLConfig-v9veUbvJ.cjs} +2 -2
- package/dist/{useIntersection-BQMfiS4x.cjs → useIntersection-BcBCa890.cjs} +1 -1
- package/dist/{useIntersection-D-ol9eH8.js → useIntersection-BkMkuJcZ.js} +1 -1
- package/dist/{utils-sosM0bEk.d.ts → utils-BitIIghf.d.ts} +1 -1
- package/dist/{utils-hYTjy7hJ.cjs → utils-CJk5iwQI.cjs} +1 -1
- package/dist/utils-CWzuvlOR.js +607 -0
- package/dist/{utils-BBICrPjW.cjs → utils-CqVRbvfN.cjs} +1 -1
- package/dist/{utils-w4-xONRA.js → utils-DQhbbAnt.js} +1 -1
- package/dist/{utils-D_kATUj6.js → utils-D_nGHczN.js} +1 -1
- package/dist/utils-SjlIHajO.cjs +716 -0
- package/package.json +1 -1
- package/src/application/commerce-api.ts +2 -0
- package/src/application/utils/analyticsUtils.ts +31 -16
- package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
- package/src/atoms/chat/chatState.ts +12 -7
- package/src/atoms/chat/replies.ts +42 -40
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +116 -130
- package/dist/amplitudeContext-CMTvCsJC.d.ts +0 -52
- package/dist/amplitudeContext-ZkerrMUa.d.cts +0 -52
- package/dist/amplitudeTrackEventAtom-D9vs8dpE.cjs +0 -15
- package/dist/amplitudeTrackEventAtom-iEIu11Om.js +0 -8
- package/dist/chat-ChCtIEwh.js +0 -227
- package/dist/chatState-BYB77nbx.cjs +0 -120
- package/dist/chatState-CzH7APPP.js +0 -34
- package/dist/org-C2kLSSe9.cjs +0 -111
- package/dist/org-CIczyLRP.js +0 -32
- package/dist/utils-DGpMn2pp.js +0 -1364
- package/dist/utils-DqxtxrFe.cjs +0 -1546
- /package/dist/{featureFlagServiceContext-DgoR6euC.js → featureFlagServiceContext-CISyb90N.js} +0 -0
- /package/dist/{featureFlagServiceContext-b-rYgf0u.cjs → featureFlagServiceContext-Csgo-MUv.cjs} +0 -0
|
@@ -1,77 +1,47 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import React, {
|
|
2
|
+
createContext,
|
|
3
|
+
useContext,
|
|
4
|
+
useCallback,
|
|
5
|
+
useMemo,
|
|
6
|
+
useEffect,
|
|
7
|
+
} from "react";
|
|
8
|
+
import { useAtomValue } from "jotai";
|
|
9
|
+
import { createInstance } from "@amplitude/analytics-browser";
|
|
10
|
+
import {
|
|
11
|
+
FeatureGates,
|
|
12
|
+
OrgShortName,
|
|
13
|
+
LocalStorageKeys,
|
|
14
|
+
SpiffyEvent,
|
|
15
|
+
AmplitudeContextType,
|
|
16
|
+
SpiffyMetricsEventName,
|
|
17
|
+
TrackEventParams,
|
|
18
|
+
} from "@envive-ai/types";
|
|
5
19
|
import {
|
|
6
20
|
amplitudeApiKeyAtom,
|
|
7
21
|
contextSourceAtom,
|
|
8
22
|
dataResidencyAtom,
|
|
9
23
|
identifyingPrefixAtom,
|
|
10
|
-
} from
|
|
11
|
-
import { useLocalStorage } from
|
|
12
|
-
import { orgAnalyticsGoogleAnalyticsConfigAtom } from
|
|
13
|
-
import { userIdAtom } from
|
|
14
|
-
import { envAtom } from
|
|
15
|
-
import Logger from
|
|
24
|
+
} from "src/atoms/envive/enviveConfig";
|
|
25
|
+
import { useLocalStorage } from "src/contexts/localStorageContext";
|
|
26
|
+
import { orgAnalyticsGoogleAnalyticsConfigAtom } from "src/atoms/org/orgAnalyticsConfig";
|
|
27
|
+
import { userIdAtom } from "src/atoms/app";
|
|
28
|
+
import { envAtom } from "src/atoms/envive/enviveConfig";
|
|
29
|
+
import Logger from "src/application/logging/logger";
|
|
16
30
|
import type {
|
|
17
31
|
BrowserClient,
|
|
18
32
|
EnrichmentPlugin,
|
|
19
33
|
Event,
|
|
20
34
|
ServerZoneType,
|
|
21
|
-
} from
|
|
22
|
-
import { useEnviveConfig } from
|
|
23
|
-
import { useFeatureFlagService } from
|
|
24
|
-
import { EventsDispatcher } from
|
|
25
|
-
|
|
26
|
-
export enum SpiffyMetricsEventName {
|
|
27
|
-
BundleLoaded = 'Bundle Loaded',
|
|
28
|
-
ChatLiveAgentBtnClick = 'Chat Live Agent Btn Click',
|
|
29
|
-
ChatFloatingButtonVisible = 'Chat Floating Button Visible',
|
|
30
|
-
ChatComponentVisible = 'Chat Component Visible',
|
|
31
|
-
ChatComponentExpanded = 'Chat Component Expanded',
|
|
32
|
-
ChatComponentCollapsed = 'Chat Component Collapsed',
|
|
33
|
-
ChatUserMessageInput = 'Chat User Message Input',
|
|
34
|
-
ChatSuggestionClicked = 'Chat Suggestion Clicked',
|
|
35
|
-
ChatAssistantResponse = 'Chat Assistant Response',
|
|
36
|
-
ProductCardClicked = 'Product Card Clicked',
|
|
37
|
-
ProductReviewCardClicked = 'Product Review Card Clicked',
|
|
38
|
-
AddToCartClicked = 'Add to Cart Clicked',
|
|
39
|
-
PromptCardClicked = 'Prompt Card Clicked',
|
|
40
|
-
SupportedEvent = 'Supported Event',
|
|
41
|
-
SearchBackToResponseClicked = 'Search Back to Response Clicked',
|
|
42
|
-
PerformanceMetrics = 'Performance Metrics',
|
|
43
|
-
SearchBarClicked = 'Search Bar Clicked',
|
|
44
|
-
OrderLookupStarted = 'Order Lookup Started',
|
|
45
|
-
OrderLookupFormSubmitted = 'Order Lookup Form Submitted',
|
|
46
|
-
SearchComponentVisible = 'Search Component Visible',
|
|
47
|
-
SearchZeroStateSuggestionClicked = 'Search Zero State Suggestion Clicked', // This is the scrolling list of suggestion buttons in global search
|
|
48
|
-
SearchInputStarted = 'Search Input Started',
|
|
49
|
-
SearchQuerySubmitted = 'Search Query Submitted',
|
|
50
|
-
// SearchAutocompleteViewed = 'Search Autocomplete Viewed', // TODO: add this when autocomplete is added
|
|
51
|
-
// SearchAutocompleteClicked = 'Search Autocomplete Clicked', // TODO: add this when autocomplete is added
|
|
52
|
-
SearchResultsViewed = 'Search Results Viewed',
|
|
53
|
-
SearchTimeToFirstClick = 'Search Time to First Click',
|
|
54
|
-
SearchZeroResultsRate = 'Search Zero Results Rate',
|
|
55
|
-
SearchFilterClicked = 'Search Filter Clicked',
|
|
56
|
-
SearchSortClicked = 'Search Sort Clicked',
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
interface TrackEventParams {
|
|
60
|
-
eventName: SpiffyMetricsEventName;
|
|
61
|
-
eventProps?: Record<string, unknown>;
|
|
62
|
-
eventGroups?: Record<string, unknown>;
|
|
63
|
-
alsoSendToGoogleAnalytics?: boolean;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
interface AmplitudeContextType {
|
|
67
|
-
trackEvent: (params: TrackEventParams) => Promise<void>;
|
|
68
|
-
isReady: boolean;
|
|
69
|
-
setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
|
|
70
|
-
}
|
|
35
|
+
} from "@amplitude/analytics-types";
|
|
36
|
+
import { useEnviveConfig } from "src/contexts/enviveConfigContext/enviveConfigContext";
|
|
37
|
+
import { useFeatureFlagService } from "src/contexts/featureFlagServiceContext/featureFlagServiceContext";
|
|
38
|
+
import { EventsDispatcher } from "src/events";
|
|
71
39
|
|
|
72
40
|
const AmplitudeContext = createContext<AmplitudeContextType | null>(null);
|
|
73
41
|
|
|
74
|
-
export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({
|
|
42
|
+
export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({
|
|
43
|
+
children,
|
|
44
|
+
}) => {
|
|
75
45
|
const userId = useAtomValue(userIdAtom);
|
|
76
46
|
const amplitudeApiKey = useAtomValue(amplitudeApiKeyAtom);
|
|
77
47
|
const dataResidency = useAtomValue(dataResidencyAtom);
|
|
@@ -92,17 +62,15 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
92
62
|
|
|
93
63
|
const { featureFlagService } = useFeatureFlagService();
|
|
94
64
|
|
|
95
|
-
const [amplitudeClient, setAmplitudeClient] = React.useState<
|
|
96
|
-
undefined
|
|
97
|
-
);
|
|
98
|
-
const [internalEventTrackingEnrichment, setInternalEventTrackingEnrichment] = React.useState<
|
|
99
|
-
EnrichmentPlugin | undefined
|
|
65
|
+
const [amplitudeClient, setAmplitudeClient] = React.useState<
|
|
66
|
+
BrowserClient | undefined
|
|
100
67
|
>(undefined);
|
|
101
|
-
const [supplementalDefaultProps, setSupplementalDefaultProps] =
|
|
102
|
-
Record<string, unknown
|
|
103
|
-
>({});
|
|
68
|
+
const [supplementalDefaultProps, setSupplementalDefaultProps] =
|
|
69
|
+
React.useState<Record<string, unknown>>({});
|
|
104
70
|
|
|
105
|
-
const isReady = Boolean(
|
|
71
|
+
const isReady = Boolean(
|
|
72
|
+
userId && featureFlagService && amplitudeApiKey && userId
|
|
73
|
+
);
|
|
106
74
|
|
|
107
75
|
const getDefaultTrackingProps = useCallback((): Record<string, unknown> => {
|
|
108
76
|
const gatesProps = featureGates
|
|
@@ -125,50 +93,56 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
125
93
|
...supplementalDefaultProps,
|
|
126
94
|
// TODO: org_id is not directly available in EnviveConfig. Need to find a new source or derive it.
|
|
127
95
|
// org_id: orgConfig?.org?.org?.id,
|
|
128
|
-
app_id:
|
|
96
|
+
app_id: "commerce-chat-react-component",
|
|
129
97
|
chat_id: getItem(LocalStorageKeys.ChatId),
|
|
130
|
-
env: env ||
|
|
98
|
+
env: env || "unknown",
|
|
131
99
|
app_source: contextSource,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
100
|
+
"org.short_name": orgShortName,
|
|
101
|
+
"user.id": userId,
|
|
102
|
+
"cdp.user_id": null,
|
|
103
|
+
"cdp.provider": null,
|
|
104
|
+
"event.source": "web-browser",
|
|
105
|
+
"event.type": "user-activity",
|
|
106
|
+
"event.id": null,
|
|
107
|
+
"event.channel": "web",
|
|
108
|
+
"event.timestamp": null,
|
|
141
109
|
};
|
|
142
|
-
}, [
|
|
110
|
+
}, [
|
|
111
|
+
featureGates,
|
|
112
|
+
supplementalDefaultProps,
|
|
113
|
+
env,
|
|
114
|
+
contextSource,
|
|
115
|
+
orgShortName,
|
|
116
|
+
userId,
|
|
117
|
+
]);
|
|
143
118
|
|
|
144
119
|
const eventPropsToPrefixedEventProps = useCallback(
|
|
145
120
|
(
|
|
146
121
|
eventName: SpiffyMetricsEventName,
|
|
147
|
-
eventProps: Record<string, unknown
|
|
122
|
+
eventProps: Record<string, unknown>
|
|
148
123
|
): Record<string, unknown> => {
|
|
149
|
-
const prefix = eventName.toLowerCase().replace(/\s+/g,
|
|
150
|
-
return Object.entries(eventProps).reduce(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
},
|
|
155
|
-
{} as Record<string, unknown>,
|
|
156
|
-
);
|
|
124
|
+
const prefix = eventName.toLowerCase().replace(/\s+/g, "_");
|
|
125
|
+
return Object.entries(eventProps).reduce((acc, [key, value]) => {
|
|
126
|
+
acc[`${prefix}.${key}`] = value;
|
|
127
|
+
return acc;
|
|
128
|
+
}, {} as Record<string, unknown>);
|
|
157
129
|
},
|
|
158
|
-
[]
|
|
130
|
+
[]
|
|
159
131
|
);
|
|
160
132
|
|
|
161
133
|
const amplitudeSessionReplayInit = useCallback((): boolean => {
|
|
162
134
|
const isEnabled = Boolean(
|
|
163
135
|
orgShortName === OrgShortName.UniqueVintage &&
|
|
164
136
|
featureFlagService?.isClientSessionEnabled() &&
|
|
165
|
-
featureFlagService?.isFeatureGateEnabled(
|
|
137
|
+
featureFlagService?.isFeatureGateEnabled(
|
|
138
|
+
FeatureGates.IsNewFeatureEnabled
|
|
139
|
+
)
|
|
166
140
|
);
|
|
167
141
|
const sampleRate = 1;
|
|
168
142
|
|
|
169
143
|
try {
|
|
170
144
|
Logger.logDebug(
|
|
171
|
-
`[spiffy-ai] amplitude session-replay initializing isEnabled=${isEnabled} sampleRate=${sampleRate}
|
|
145
|
+
`[spiffy-ai] amplitude session-replay initializing isEnabled=${isEnabled} sampleRate=${sampleRate}`
|
|
172
146
|
);
|
|
173
147
|
|
|
174
148
|
if (!isEnabled) {
|
|
@@ -179,25 +153,24 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
179
153
|
|
|
180
154
|
return isEnabled;
|
|
181
155
|
} catch (e) {
|
|
182
|
-
Logger.logError(
|
|
156
|
+
Logger.logError(
|
|
157
|
+
"[spiffy-ai] Error initializing amplitude session-replay",
|
|
158
|
+
e
|
|
159
|
+
);
|
|
183
160
|
return false;
|
|
184
161
|
}
|
|
185
162
|
}, [orgShortName, featureFlagService]);
|
|
186
163
|
|
|
187
|
-
const
|
|
188
|
-
if (internalEventTrackingEnrichment !== undefined) {
|
|
189
|
-
return internalEventTrackingEnrichment;
|
|
190
|
-
}
|
|
191
|
-
|
|
164
|
+
const eventTrackingEnrichment = useMemo((): EnrichmentPlugin => {
|
|
192
165
|
const enrichment: EnrichmentPlugin = {
|
|
193
|
-
name:
|
|
194
|
-
type:
|
|
166
|
+
name: "page-view-tracking-enrichment",
|
|
167
|
+
type: "enrichment",
|
|
195
168
|
setup: async () => undefined,
|
|
196
169
|
execute: async (event: Event): Promise<Event> => {
|
|
197
170
|
let enrichedEvent: Event;
|
|
198
171
|
|
|
199
172
|
const eventsToEnrich = [
|
|
200
|
-
|
|
173
|
+
"[Amplitude] Page Viewed",
|
|
201
174
|
`[Spiffy] ${SpiffyMetricsEventName.BundleLoaded}`,
|
|
202
175
|
];
|
|
203
176
|
|
|
@@ -205,37 +178,39 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
205
178
|
const globalProperties: Record<string, string> = {};
|
|
206
179
|
|
|
207
180
|
if (publicKey) {
|
|
208
|
-
globalProperties[
|
|
181
|
+
globalProperties["globalProperties.publicKey"] = publicKey;
|
|
209
182
|
}
|
|
210
183
|
if (featureOverrides) {
|
|
211
184
|
Object.entries(featureOverrides).forEach(([key, value]) => {
|
|
212
|
-
globalProperties[`globalProperties.featureOverrides.${key}`] =
|
|
185
|
+
globalProperties[`globalProperties.featureOverrides.${key}`] =
|
|
186
|
+
String(value);
|
|
213
187
|
});
|
|
214
188
|
}
|
|
215
189
|
if (variantUrlOverride) {
|
|
216
|
-
globalProperties[
|
|
190
|
+
globalProperties["globalProperties.variantUrlOverride"] =
|
|
191
|
+
variantUrlOverride;
|
|
217
192
|
}
|
|
218
193
|
if (variantInfoOverride) {
|
|
219
|
-
globalProperties[
|
|
194
|
+
globalProperties["globalProperties.variantInfoOverride"] =
|
|
220
195
|
JSON.stringify(variantInfoOverride);
|
|
221
196
|
}
|
|
222
197
|
if (show != null) {
|
|
223
|
-
globalProperties[
|
|
198
|
+
globalProperties["globalProperties.show"] = String(show);
|
|
224
199
|
}
|
|
225
200
|
|
|
226
201
|
const enabledFeatures = featureFlagService!.getFeatureFlags();
|
|
227
|
-
const enabledFeaturesProperties = Object.entries(
|
|
228
|
-
|
|
229
|
-
|
|
202
|
+
const enabledFeaturesProperties = Object.entries(
|
|
203
|
+
enabledFeatures
|
|
204
|
+
).reduce<Record<string, string>>(
|
|
230
205
|
(acc, [key, value]) => ({
|
|
231
206
|
...acc,
|
|
232
207
|
[`enabledFeatures.${key}`]: `${value}`,
|
|
233
208
|
}),
|
|
234
|
-
{}
|
|
209
|
+
{}
|
|
235
210
|
);
|
|
236
211
|
|
|
237
212
|
const timingProperties = {
|
|
238
|
-
|
|
213
|
+
"timing.enriched_at_ms": window.performance?.now(),
|
|
239
214
|
};
|
|
240
215
|
|
|
241
216
|
enrichedEvent = {
|
|
@@ -257,10 +232,8 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
257
232
|
return enrichedEvent;
|
|
258
233
|
},
|
|
259
234
|
};
|
|
260
|
-
setInternalEventTrackingEnrichment(enrichment);
|
|
261
235
|
return enrichment;
|
|
262
236
|
}, [
|
|
263
|
-
internalEventTrackingEnrichment,
|
|
264
237
|
getDefaultTrackingProps,
|
|
265
238
|
featureFlagService,
|
|
266
239
|
publicKey,
|
|
@@ -274,7 +247,7 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
274
247
|
if (isReady && !amplitudeClient) {
|
|
275
248
|
const currentAmplitudeInstance: BrowserClient = createInstance();
|
|
276
249
|
const isSessionsEnabled = amplitudeSessionReplayInit();
|
|
277
|
-
currentAmplitudeInstance.add(
|
|
250
|
+
currentAmplitudeInstance.add(eventTrackingEnrichment);
|
|
278
251
|
currentAmplitudeInstance.init(amplitudeApiKey!, userId!, {
|
|
279
252
|
serverZone: dataResidency as ServerZoneType,
|
|
280
253
|
trackingOptions: {
|
|
@@ -283,7 +256,7 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
283
256
|
autocapture: {
|
|
284
257
|
attribution: true,
|
|
285
258
|
pageViews: {
|
|
286
|
-
trackHistoryChanges:
|
|
259
|
+
trackHistoryChanges: "pathOnly",
|
|
287
260
|
},
|
|
288
261
|
sessions: isSessionsEnabled,
|
|
289
262
|
formInteractions: false,
|
|
@@ -299,7 +272,7 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
299
272
|
userId,
|
|
300
273
|
dataResidency,
|
|
301
274
|
amplitudeSessionReplayInit,
|
|
302
|
-
|
|
275
|
+
eventTrackingEnrichment,
|
|
303
276
|
]);
|
|
304
277
|
|
|
305
278
|
const trackEvent = useCallback(
|
|
@@ -309,12 +282,12 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
309
282
|
eventGroups,
|
|
310
283
|
alsoSendToGoogleAnalytics = false,
|
|
311
284
|
}: TrackEventParams): Promise<void> => {
|
|
312
|
-
Logger.logDebug(
|
|
285
|
+
Logger.logDebug("Submitting event", eventName);
|
|
313
286
|
try {
|
|
314
287
|
const decoratedEventName = `[Spiffy] ${eventName}`;
|
|
315
288
|
|
|
316
289
|
if (!amplitudeClient) {
|
|
317
|
-
Logger.logWarn(
|
|
290
|
+
Logger.logWarn("amplitude client undefined", undefined, {
|
|
318
291
|
event_name: decoratedEventName,
|
|
319
292
|
});
|
|
320
293
|
return;
|
|
@@ -329,9 +302,11 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
329
302
|
const data = encoder.encode(eventData);
|
|
330
303
|
// calculate a hash of the event properties to use as the insert_id so that duplicate events
|
|
331
304
|
// are automatically dropped by Amplitude
|
|
332
|
-
const hashBuffer = await crypto.subtle.digest(
|
|
305
|
+
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
|
333
306
|
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
334
|
-
const currentInsertId = hashArray
|
|
307
|
+
const currentInsertId = hashArray
|
|
308
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
309
|
+
.join("");
|
|
335
310
|
|
|
336
311
|
Logger.logDebug(`amplitude tracking ${decoratedEventName}`, null, {
|
|
337
312
|
event_name: decoratedEventName,
|
|
@@ -343,17 +318,19 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
343
318
|
{
|
|
344
319
|
...getDefaultTrackingProps(),
|
|
345
320
|
...eventProps,
|
|
346
|
-
...(eventProps
|
|
321
|
+
...(eventProps
|
|
322
|
+
? eventPropsToPrefixedEventProps(eventName, eventProps)
|
|
323
|
+
: {}),
|
|
347
324
|
},
|
|
348
325
|
{
|
|
349
326
|
...eventGroups,
|
|
350
327
|
insert_id: currentInsertId,
|
|
351
|
-
}
|
|
328
|
+
}
|
|
352
329
|
);
|
|
353
330
|
|
|
354
331
|
if (alsoSendToGoogleAnalytics && orgGaConfig) {
|
|
355
332
|
// TODO: Add in windowDataLayerService or context alternative and hook it up here
|
|
356
|
-
Logger.logDebug(
|
|
333
|
+
Logger.logDebug("[spiffy-ai] GA tracking", decoratedEventName);
|
|
357
334
|
if (window.dataLayer) {
|
|
358
335
|
(window.dataLayer as any[]).push({
|
|
359
336
|
event: decoratedEventName,
|
|
@@ -362,13 +339,18 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
362
339
|
}
|
|
363
340
|
}
|
|
364
341
|
} catch (err) {
|
|
365
|
-
Logger.logError(
|
|
342
|
+
Logger.logError("[spiffy-ai] Error tracking event", err, {
|
|
366
343
|
eventName,
|
|
367
344
|
eventProps,
|
|
368
345
|
});
|
|
369
346
|
}
|
|
370
347
|
},
|
|
371
|
-
[
|
|
348
|
+
[
|
|
349
|
+
amplitudeClient,
|
|
350
|
+
getDefaultTrackingProps,
|
|
351
|
+
eventPropsToPrefixedEventProps,
|
|
352
|
+
orgGaConfig,
|
|
353
|
+
]
|
|
372
354
|
);
|
|
373
355
|
|
|
374
356
|
const value = useMemo(
|
|
@@ -378,16 +360,20 @@ export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({ chi
|
|
|
378
360
|
setSupplementalDefaultProps: (props: Record<string, unknown>) =>
|
|
379
361
|
setSupplementalDefaultProps(props),
|
|
380
362
|
}),
|
|
381
|
-
[trackEvent, isReady, setSupplementalDefaultProps]
|
|
363
|
+
[trackEvent, isReady, setSupplementalDefaultProps]
|
|
382
364
|
);
|
|
383
365
|
|
|
384
|
-
return
|
|
366
|
+
return (
|
|
367
|
+
<AmplitudeContext.Provider value={value}>
|
|
368
|
+
{children}
|
|
369
|
+
</AmplitudeContext.Provider>
|
|
370
|
+
);
|
|
385
371
|
};
|
|
386
372
|
|
|
387
373
|
export const useAmplitude = () => {
|
|
388
374
|
const context = useContext(AmplitudeContext);
|
|
389
375
|
if (!context) {
|
|
390
|
-
throw new Error(
|
|
376
|
+
throw new Error("useAmplitude must be used within AmplitudeProvider");
|
|
391
377
|
}
|
|
392
378
|
return context;
|
|
393
379
|
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
//#region src/contexts/amplitudeContext/amplitudeContext.d.ts
|
|
4
|
-
declare enum SpiffyMetricsEventName {
|
|
5
|
-
BundleLoaded = "Bundle Loaded",
|
|
6
|
-
ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
|
|
7
|
-
ChatFloatingButtonVisible = "Chat Floating Button Visible",
|
|
8
|
-
ChatComponentVisible = "Chat Component Visible",
|
|
9
|
-
ChatComponentExpanded = "Chat Component Expanded",
|
|
10
|
-
ChatComponentCollapsed = "Chat Component Collapsed",
|
|
11
|
-
ChatUserMessageInput = "Chat User Message Input",
|
|
12
|
-
ChatSuggestionClicked = "Chat Suggestion Clicked",
|
|
13
|
-
ChatAssistantResponse = "Chat Assistant Response",
|
|
14
|
-
ProductCardClicked = "Product Card Clicked",
|
|
15
|
-
ProductReviewCardClicked = "Product Review Card Clicked",
|
|
16
|
-
AddToCartClicked = "Add to Cart Clicked",
|
|
17
|
-
PromptCardClicked = "Prompt Card Clicked",
|
|
18
|
-
SupportedEvent = "Supported Event",
|
|
19
|
-
SearchBackToResponseClicked = "Search Back to Response Clicked",
|
|
20
|
-
PerformanceMetrics = "Performance Metrics",
|
|
21
|
-
SearchBarClicked = "Search Bar Clicked",
|
|
22
|
-
OrderLookupStarted = "Order Lookup Started",
|
|
23
|
-
OrderLookupFormSubmitted = "Order Lookup Form Submitted",
|
|
24
|
-
SearchComponentVisible = "Search Component Visible",
|
|
25
|
-
SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked",
|
|
26
|
-
// This is the scrolling list of suggestion buttons in global search
|
|
27
|
-
SearchInputStarted = "Search Input Started",
|
|
28
|
-
SearchQuerySubmitted = "Search Query Submitted",
|
|
29
|
-
SearchResultsViewed = "Search Results Viewed",
|
|
30
|
-
SearchTimeToFirstClick = "Search Time to First Click",
|
|
31
|
-
SearchZeroResultsRate = "Search Zero Results Rate",
|
|
32
|
-
SearchFilterClicked = "Search Filter Clicked",
|
|
33
|
-
SearchSortClicked = "Search Sort Clicked",
|
|
34
|
-
}
|
|
35
|
-
interface TrackEventParams {
|
|
36
|
-
eventName: SpiffyMetricsEventName;
|
|
37
|
-
eventProps?: Record<string, unknown>;
|
|
38
|
-
eventGroups?: Record<string, unknown>;
|
|
39
|
-
alsoSendToGoogleAnalytics?: boolean;
|
|
40
|
-
}
|
|
41
|
-
interface AmplitudeContextType {
|
|
42
|
-
trackEvent: (params: TrackEventParams) => Promise<void>;
|
|
43
|
-
isReady: boolean;
|
|
44
|
-
setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
|
|
45
|
-
}
|
|
46
|
-
declare const AmplitudeProvider: React.FC<{
|
|
47
|
-
children: React.ReactNode;
|
|
48
|
-
}>;
|
|
49
|
-
declare const useAmplitude: () => AmplitudeContextType;
|
|
50
|
-
//#endregion
|
|
51
|
-
export { AmplitudeProvider, SpiffyMetricsEventName, useAmplitude };
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC1DTVR2Q3NKQy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHtcbiAgICBCdW5kbGVMb2FkZWQgPSBcIkJ1bmRsZSBMb2FkZWRcIixcbiAgICBDaGF0TGl2ZUFnZW50QnRuQ2xpY2sgPSBcIkNoYXQgTGl2ZSBBZ2VudCBCdG4gQ2xpY2tcIixcbiAgICBDaGF0RmxvYXRpbmdCdXR0b25WaXNpYmxlID0gXCJDaGF0IEZsb2F0aW5nIEJ1dHRvbiBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudFZpc2libGUgPSBcIkNoYXQgQ29tcG9uZW50IFZpc2libGVcIixcbiAgICBDaGF0Q29tcG9uZW50RXhwYW5kZWQgPSBcIkNoYXQgQ29tcG9uZW50IEV4cGFuZGVkXCIsXG4gICAgQ2hhdENvbXBvbmVudENvbGxhcHNlZCA9IFwiQ2hhdCBDb21wb25lbnQgQ29sbGFwc2VkXCIsXG4gICAgQ2hhdFVzZXJNZXNzYWdlSW5wdXQgPSBcIkNoYXQgVXNlciBNZXNzYWdlIElucHV0XCIsXG4gICAgQ2hhdFN1Z2dlc3Rpb25DbGlja2VkID0gXCJDaGF0IFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLFxuICAgIENoYXRBc3Npc3RhbnRSZXNwb25zZSA9IFwiQ2hhdCBBc3Npc3RhbnQgUmVzcG9uc2VcIixcbiAgICBQcm9kdWN0Q2FyZENsaWNrZWQgPSBcIlByb2R1Y3QgQ2FyZCBDbGlja2VkXCIsXG4gICAgUHJvZHVjdFJldmlld0NhcmRDbGlja2VkID0gXCJQcm9kdWN0IFJldmlldyBDYXJkIENsaWNrZWRcIixcbiAgICBBZGRUb0NhcnRDbGlja2VkID0gXCJBZGQgdG8gQ2FydCBDbGlja2VkXCIsXG4gICAgUHJvbXB0Q2FyZENsaWNrZWQgPSBcIlByb21wdCBDYXJkIENsaWNrZWRcIixcbiAgICBTdXBwb3J0ZWRFdmVudCA9IFwiU3VwcG9ydGVkIEV2ZW50XCIsXG4gICAgU2VhcmNoQmFja1RvUmVzcG9uc2VDbGlja2VkID0gXCJTZWFyY2ggQmFjayB0byBSZXNwb25zZSBDbGlja2VkXCIsXG4gICAgUGVyZm9ybWFuY2VNZXRyaWNzID0gXCJQZXJmb3JtYW5jZSBNZXRyaWNzXCIsXG4gICAgU2VhcmNoQmFyQ2xpY2tlZCA9IFwiU2VhcmNoIEJhciBDbGlja2VkXCIsXG4gICAgT3JkZXJMb29rdXBTdGFydGVkID0gXCJPcmRlciBMb29rdXAgU3RhcnRlZFwiLFxuICAgIE9yZGVyTG9va3VwRm9ybVN1Ym1pdHRlZCA9IFwiT3JkZXIgTG9va3VwIEZvcm0gU3VibWl0dGVkXCIsXG4gICAgU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9IFwiU2VhcmNoIENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlU3VnZ2VzdGlvbkNsaWNrZWQgPSBcIlNlYXJjaCBaZXJvIFN0YXRlIFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLC8vIFRoaXMgaXMgdGhlIHNjcm9sbGluZyBsaXN0IG9mIHN1Z2dlc3Rpb24gYnV0dG9ucyBpbiBnbG9iYWwgc2VhcmNoXG4gICAgU2VhcmNoSW5wdXRTdGFydGVkID0gXCJTZWFyY2ggSW5wdXQgU3RhcnRlZFwiLFxuICAgIFNlYXJjaFF1ZXJ5U3VibWl0dGVkID0gXCJTZWFyY2ggUXVlcnkgU3VibWl0dGVkXCIsXG4gICAgU2VhcmNoUmVzdWx0c1ZpZXdlZCA9IFwiU2VhcmNoIFJlc3VsdHMgVmlld2VkXCIsXG4gICAgU2VhcmNoVGltZVRvRmlyc3RDbGljayA9IFwiU2VhcmNoIFRpbWUgdG8gRmlyc3QgQ2xpY2tcIixcbiAgICBTZWFyY2haZXJvUmVzdWx0c1JhdGUgPSBcIlNlYXJjaCBaZXJvIFJlc3VsdHMgUmF0ZVwiLFxuICAgIFNlYXJjaEZpbHRlckNsaWNrZWQgPSBcIlNlYXJjaCBGaWx0ZXIgQ2xpY2tlZFwiLFxuICAgIFNlYXJjaFNvcnRDbGlja2VkID0gXCJTZWFyY2ggU29ydCBDbGlja2VkXCJcbn1cbmludGVyZmFjZSBUcmFja0V2ZW50UGFyYW1zIHtcbiAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gICAgZXZlbnRQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGV2ZW50R3JvdXBzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQW1wbGl0dWRlQ29udGV4dFR5cGUge1xuICAgIHRyYWNrRXZlbnQ6IChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD47XG4gICAgaXNSZWFkeTogYm9vbGVhbjtcbiAgICBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHM6IChwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBBbXBsaXR1ZGVQcm92aWRlcjogUmVhY3QuRkM8e1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZUFtcGxpdHVkZTogKCkgPT4gQW1wbGl0dWRlQ29udGV4dFR5cGU7XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcseUJBQXlCLENBQUMsSUFBSTtBQUN6QyxJQUFJLG1CQUFtQjtDQUFDO09BQVU7T0FBQTtPQUFBO0NBQUE7QUFDbEMsSUFBSSx1QkFBdUI7Q0FBQztPQUFXO09BQWdCO09BQUE7Q0FBQTtBQUN2RCxJQUFXLG9CQUFvQjtDQUFDO09BQVcsTUFBTTtPQUFhLE1BQUE7Q0FBQTtBQUM5RCxJQUFXLGVBQWUsQ0FBQyxXQUFXLHFCQUFhIn0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
//#region src/contexts/amplitudeContext/amplitudeContext.d.ts
|
|
4
|
-
declare enum SpiffyMetricsEventName {
|
|
5
|
-
BundleLoaded = "Bundle Loaded",
|
|
6
|
-
ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
|
|
7
|
-
ChatFloatingButtonVisible = "Chat Floating Button Visible",
|
|
8
|
-
ChatComponentVisible = "Chat Component Visible",
|
|
9
|
-
ChatComponentExpanded = "Chat Component Expanded",
|
|
10
|
-
ChatComponentCollapsed = "Chat Component Collapsed",
|
|
11
|
-
ChatUserMessageInput = "Chat User Message Input",
|
|
12
|
-
ChatSuggestionClicked = "Chat Suggestion Clicked",
|
|
13
|
-
ChatAssistantResponse = "Chat Assistant Response",
|
|
14
|
-
ProductCardClicked = "Product Card Clicked",
|
|
15
|
-
ProductReviewCardClicked = "Product Review Card Clicked",
|
|
16
|
-
AddToCartClicked = "Add to Cart Clicked",
|
|
17
|
-
PromptCardClicked = "Prompt Card Clicked",
|
|
18
|
-
SupportedEvent = "Supported Event",
|
|
19
|
-
SearchBackToResponseClicked = "Search Back to Response Clicked",
|
|
20
|
-
PerformanceMetrics = "Performance Metrics",
|
|
21
|
-
SearchBarClicked = "Search Bar Clicked",
|
|
22
|
-
OrderLookupStarted = "Order Lookup Started",
|
|
23
|
-
OrderLookupFormSubmitted = "Order Lookup Form Submitted",
|
|
24
|
-
SearchComponentVisible = "Search Component Visible",
|
|
25
|
-
SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked",
|
|
26
|
-
// This is the scrolling list of suggestion buttons in global search
|
|
27
|
-
SearchInputStarted = "Search Input Started",
|
|
28
|
-
SearchQuerySubmitted = "Search Query Submitted",
|
|
29
|
-
SearchResultsViewed = "Search Results Viewed",
|
|
30
|
-
SearchTimeToFirstClick = "Search Time to First Click",
|
|
31
|
-
SearchZeroResultsRate = "Search Zero Results Rate",
|
|
32
|
-
SearchFilterClicked = "Search Filter Clicked",
|
|
33
|
-
SearchSortClicked = "Search Sort Clicked",
|
|
34
|
-
}
|
|
35
|
-
interface TrackEventParams {
|
|
36
|
-
eventName: SpiffyMetricsEventName;
|
|
37
|
-
eventProps?: Record<string, unknown>;
|
|
38
|
-
eventGroups?: Record<string, unknown>;
|
|
39
|
-
alsoSendToGoogleAnalytics?: boolean;
|
|
40
|
-
}
|
|
41
|
-
interface AmplitudeContextType {
|
|
42
|
-
trackEvent: (params: TrackEventParams) => Promise<void>;
|
|
43
|
-
isReady: boolean;
|
|
44
|
-
setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
|
|
45
|
-
}
|
|
46
|
-
declare const AmplitudeProvider: React.FC<{
|
|
47
|
-
children: React.ReactNode;
|
|
48
|
-
}>;
|
|
49
|
-
declare const useAmplitude: () => AmplitudeContextType;
|
|
50
|
-
//#endregion
|
|
51
|
-
export { AmplitudeProvider, SpiffyMetricsEventName, useAmplitude };
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC1aa2Vyck1VYS5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB7XG4gICAgQnVuZGxlTG9hZGVkID0gXCJCdW5kbGUgTG9hZGVkXCIsXG4gICAgQ2hhdExpdmVBZ2VudEJ0bkNsaWNrID0gXCJDaGF0IExpdmUgQWdlbnQgQnRuIENsaWNrXCIsXG4gICAgQ2hhdEZsb2F0aW5nQnV0dG9uVmlzaWJsZSA9IFwiQ2hhdCBGbG9hdGluZyBCdXR0b24gVmlzaWJsZVwiLFxuICAgIENoYXRDb21wb25lbnRWaXNpYmxlID0gXCJDaGF0IENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudEV4cGFuZGVkID0gXCJDaGF0IENvbXBvbmVudCBFeHBhbmRlZFwiLFxuICAgIENoYXRDb21wb25lbnRDb2xsYXBzZWQgPSBcIkNoYXQgQ29tcG9uZW50IENvbGxhcHNlZFwiLFxuICAgIENoYXRVc2VyTWVzc2FnZUlucHV0ID0gXCJDaGF0IFVzZXIgTWVzc2FnZSBJbnB1dFwiLFxuICAgIENoYXRTdWdnZXN0aW9uQ2xpY2tlZCA9IFwiQ2hhdCBTdWdnZXN0aW9uIENsaWNrZWRcIixcbiAgICBDaGF0QXNzaXN0YW50UmVzcG9uc2UgPSBcIkNoYXQgQXNzaXN0YW50IFJlc3BvbnNlXCIsXG4gICAgUHJvZHVjdENhcmRDbGlja2VkID0gXCJQcm9kdWN0IENhcmQgQ2xpY2tlZFwiLFxuICAgIFByb2R1Y3RSZXZpZXdDYXJkQ2xpY2tlZCA9IFwiUHJvZHVjdCBSZXZpZXcgQ2FyZCBDbGlja2VkXCIsXG4gICAgQWRkVG9DYXJ0Q2xpY2tlZCA9IFwiQWRkIHRvIENhcnQgQ2xpY2tlZFwiLFxuICAgIFByb21wdENhcmRDbGlja2VkID0gXCJQcm9tcHQgQ2FyZCBDbGlja2VkXCIsXG4gICAgU3VwcG9ydGVkRXZlbnQgPSBcIlN1cHBvcnRlZCBFdmVudFwiLFxuICAgIFNlYXJjaEJhY2tUb1Jlc3BvbnNlQ2xpY2tlZCA9IFwiU2VhcmNoIEJhY2sgdG8gUmVzcG9uc2UgQ2xpY2tlZFwiLFxuICAgIFBlcmZvcm1hbmNlTWV0cmljcyA9IFwiUGVyZm9ybWFuY2UgTWV0cmljc1wiLFxuICAgIFNlYXJjaEJhckNsaWNrZWQgPSBcIlNlYXJjaCBCYXIgQ2xpY2tlZFwiLFxuICAgIE9yZGVyTG9va3VwU3RhcnRlZCA9IFwiT3JkZXIgTG9va3VwIFN0YXJ0ZWRcIixcbiAgICBPcmRlckxvb2t1cEZvcm1TdWJtaXR0ZWQgPSBcIk9yZGVyIExvb2t1cCBGb3JtIFN1Ym1pdHRlZFwiLFxuICAgIFNlYXJjaENvbXBvbmVudFZpc2libGUgPSBcIlNlYXJjaCBDb21wb25lbnQgVmlzaWJsZVwiLFxuICAgIFNlYXJjaFplcm9TdGF0ZVN1Z2dlc3Rpb25DbGlja2VkID0gXCJTZWFyY2ggWmVybyBTdGF0ZSBTdWdnZXN0aW9uIENsaWNrZWRcIiwvLyBUaGlzIGlzIHRoZSBzY3JvbGxpbmcgbGlzdCBvZiBzdWdnZXN0aW9uIGJ1dHRvbnMgaW4gZ2xvYmFsIHNlYXJjaFxuICAgIFNlYXJjaElucHV0U3RhcnRlZCA9IFwiU2VhcmNoIElucHV0IFN0YXJ0ZWRcIixcbiAgICBTZWFyY2hRdWVyeVN1Ym1pdHRlZCA9IFwiU2VhcmNoIFF1ZXJ5IFN1Ym1pdHRlZFwiLFxuICAgIFNlYXJjaFJlc3VsdHNWaWV3ZWQgPSBcIlNlYXJjaCBSZXN1bHRzIFZpZXdlZFwiLFxuICAgIFNlYXJjaFRpbWVUb0ZpcnN0Q2xpY2sgPSBcIlNlYXJjaCBUaW1lIHRvIEZpcnN0IENsaWNrXCIsXG4gICAgU2VhcmNoWmVyb1Jlc3VsdHNSYXRlID0gXCJTZWFyY2ggWmVybyBSZXN1bHRzIFJhdGVcIixcbiAgICBTZWFyY2hGaWx0ZXJDbGlja2VkID0gXCJTZWFyY2ggRmlsdGVyIENsaWNrZWRcIixcbiAgICBTZWFyY2hTb3J0Q2xpY2tlZCA9IFwiU2VhcmNoIFNvcnQgQ2xpY2tlZFwiXG59XG5pbnRlcmZhY2UgVHJhY2tFdmVudFBhcmFtcyB7XG4gICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lO1xuICAgIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBldmVudEdyb3Vwcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3M/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIEFtcGxpdHVkZUNvbnRleHRUeXBlIHtcbiAgICB0cmFja0V2ZW50OiAocGFyYW1zOiBUcmFja0V2ZW50UGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGlzUmVhZHk6IGJvb2xlYW47XG4gICAgc2V0U3VwcGxlbWVudGFsRGVmYXVsdFByb3BzOiAocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgQW1wbGl0dWRlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VBbXBsaXR1ZGU6ICgpID0+IEFtcGxpdHVkZUNvbnRleHRUeXBlO1xuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFXLHlCQUF5QixDQUFDLElBQUk7QUFDekMsSUFBSSxtQkFBbUI7Q0FBQztPQUFVO09BQUE7T0FBQTtDQUFBO0FBQ2xDLElBQUksdUJBQXVCO0NBQUM7T0FBVztPQUFnQjtPQUFBO0NBQUE7QUFDdkQsSUFBVyxvQkFBb0I7Q0FBQztPQUFXLE1BQU07T0FBYSxNQUFBO0NBQUE7QUFDOUQsSUFBVyxlQUFlLENBQUMsV0FBVyxxQkFBYSJ9
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
-
let jotai = require("jotai");
|
|
3
|
-
jotai = require_chunk.__toESM(jotai);
|
|
4
|
-
|
|
5
|
-
//#region src/atoms/amplitude/amplitudeTrackEventAtom.ts
|
|
6
|
-
const amplitudeTrackEventAtom = (0, jotai.atom)(null);
|
|
7
|
-
|
|
8
|
-
//#endregion
|
|
9
|
-
Object.defineProperty(exports, 'amplitudeTrackEventAtom', {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
get: function () {
|
|
12
|
-
return amplitudeTrackEventAtom;
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20tRDl2czhkcEUuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b20udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gXCJzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0XCI7XG5cbmludGVyZmFjZSBUcmFja0V2ZW50UGFyYW1zIHtcbiAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lO1xuICBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGV2ZW50R3JvdXBzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3M/OiBib29sZWFuO1xufVxuXG4vLyBUaGlzIGF0b20gd2lsbCBob2xkIHRoZSB0cmFja0V2ZW50IGZ1bmN0aW9uIGZyb20gdGhlIEFtcGxpdHVkZSBjb250ZXh0LlxuLy8gSXQgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgYnkgYSBSZWFjdCBjb21wb25lbnQgdGhhdCBoYXMgYWNjZXNzIHRvIHRoZSB1c2VBbXBsaXR1ZGUgaG9vay5cbmV4cG9ydCBjb25zdCBhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSA9IGF0b208XG4gICgocGFyYW1zOiBUcmFja0V2ZW50UGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+KSB8IG51bGxcbj4obnVsbCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBWUEsTUFBYSwwQ0FFWCxLQUFLIn0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { atom } from "jotai";
|
|
2
|
-
|
|
3
|
-
//#region src/atoms/amplitude/amplitudeTrackEventAtom.ts
|
|
4
|
-
const amplitudeTrackEventAtom = atom(null);
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
export { amplitudeTrackEventAtom };
|
|
8
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20taUVJdTExT20uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2F0b21zL2FtcGxpdHVkZS9hbXBsaXR1ZGVUcmFja0V2ZW50QXRvbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcblxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5cbi8vIFRoaXMgYXRvbSB3aWxsIGhvbGQgdGhlIHRyYWNrRXZlbnQgZnVuY3Rpb24gZnJvbSB0aGUgQW1wbGl0dWRlIGNvbnRleHQuXG4vLyBJdCBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBieSBhIFJlYWN0IGNvbXBvbmVudCB0aGF0IGhhcyBhY2Nlc3MgdG8gdGhlIHVzZUFtcGxpdHVkZSBob29rLlxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tID0gYXRvbTxcbiAgKChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD4pIHwgbnVsbFxuPihudWxsKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsTUFBYSwwQkFBMEIsS0FFckMsS0FBSyJ9
|