@envive-ai/react-hooks 0.3.3 → 0.3.5
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/_virtual/rolldown_runtime.cjs +2 -0
- package/dist/_virtual/rolldown_runtime.js +29 -0
- package/dist/application/commerce-api.cjs +12 -4
- package/dist/application/commerce-api.js +12 -4
- package/dist/application/models/api/userEvent.d.cts +4 -2
- package/dist/application/models/api/userEvent.d.ts +4 -2
- package/dist/application/models/chatElementDisplayLocationV3.cjs +24 -0
- package/dist/application/models/chatElementDisplayLocationV3.d.cts +21 -0
- package/dist/application/models/chatElementDisplayLocationV3.d.ts +21 -0
- package/dist/application/models/chatElementDisplayLocationV3.js +23 -0
- package/dist/application/models/colorsConfigV3.cjs +26 -0
- package/dist/application/models/colorsConfigV3.d.cts +22 -0
- package/dist/application/models/colorsConfigV3.d.ts +22 -0
- package/dist/application/models/colorsConfigV3.js +24 -0
- package/dist/application/models/featureGates.cjs +6 -1
- package/dist/application/models/featureGates.d.cts +6 -1
- package/dist/application/models/featureGates.d.ts +6 -1
- package/dist/application/models/featureGates.js +6 -1
- package/dist/application/models/frontendConfig.d.cts +4 -2
- package/dist/application/models/frontendConfig.d.ts +4 -2
- package/dist/application/models/frontendConfigV3.d.cts +14 -0
- package/dist/application/models/frontendConfigV3.d.ts +14 -0
- package/dist/application/models/guards/api/isApiFormResponse.cjs +1 -1
- package/dist/application/models/guards/api/isApiFormResponse.js +1 -1
- package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.cjs +1 -1
- package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +1 -1
- package/dist/application/models/guards/api/isApiOrderResponseAttributes.cjs +1 -1
- package/dist/application/models/guards/api/isApiOrderResponseAttributes.js +1 -1
- package/dist/application/models/guards/api/isApiPDPEventAttributes.cjs +2 -2
- package/dist/application/models/guards/api/isApiPDPEventAttributes.js +2 -2
- package/dist/application/models/guards/api/isApiProductResponseAttributes.cjs +1 -1
- package/dist/application/models/guards/api/isApiProductResponseAttributes.js +1 -1
- package/dist/application/models/guards/api/isApiResponse.cjs +1 -1
- package/dist/application/models/guards/api/isApiResponse.js +1 -1
- package/dist/application/models/index.cjs +3 -0
- package/dist/application/models/index.d.cts +4 -3
- package/dist/application/models/index.d.ts +4 -3
- package/dist/application/models/index.js +3 -2
- package/dist/application/models/utils/snakeToCamelTransformer.cjs +2 -1
- package/dist/application/models/utils/snakeToCamelTransformer.d.cts +7 -2
- package/dist/application/models/utils/snakeToCamelTransformer.d.ts +7 -2
- package/dist/application/models/utils/snakeToCamelTransformer.js +2 -2
- package/dist/application/utils/analyticsUtils.cjs +6 -5
- package/dist/application/utils/analyticsUtils.d.cts +1 -1
- package/dist/application/utils/analyticsUtils.d.ts +1 -1
- package/dist/application/utils/analyticsUtils.js +4 -3
- package/dist/application/utils/elementObserver.cjs +1 -1
- package/dist/application/utils/elementObserver.js +1 -1
- package/dist/application/utils/index.d.cts +1 -1
- package/dist/application/utils/index.d.ts +1 -1
- package/dist/application/utils/widgetTextFromApiWidgetTextResponse.cjs +14 -0
- package/dist/application/utils/widgetTextFromApiWidgetTextResponse.js +13 -0
- package/dist/application/utils/widgetTextRequestToApiRequest.cjs +30 -0
- package/dist/application/utils/widgetTextRequestToApiRequest.js +29 -0
- package/dist/atoms/amplitude/amplitudeTrackEventAtom.cjs +1 -1
- package/dist/atoms/amplitude/amplitudeTrackEventAtom.js +1 -1
- package/dist/atoms/app/index.cjs +6 -3
- package/dist/atoms/app/index.d.cts +3 -3
- package/dist/atoms/app/index.d.ts +3 -3
- package/dist/atoms/app/index.js +4 -5
- package/dist/atoms/app/variant.cjs +6 -1
- package/dist/atoms/app/variant.d.cts +21 -6
- package/dist/atoms/app/variant.d.ts +21 -6
- package/dist/atoms/app/variant.js +4 -2
- package/dist/atoms/chat/chatState.cjs +9 -4
- package/dist/atoms/chat/chatState.d.cts +25 -18
- package/dist/atoms/chat/chatState.d.ts +25 -18
- package/dist/atoms/chat/chatState.js +6 -3
- package/dist/atoms/chat/form.cjs +4 -4
- package/dist/atoms/chat/form.d.cts +2 -2
- package/dist/atoms/chat/form.d.ts +2 -2
- package/dist/atoms/chat/index.cjs +32 -30
- package/dist/atoms/chat/index.d.cts +5 -5
- package/dist/atoms/chat/index.d.ts +4 -4
- package/dist/atoms/chat/index.js +2 -2
- package/dist/atoms/chat/lastMessage.cjs +4 -4
- package/dist/atoms/chat/lastMessage.d.cts +2 -2
- package/dist/atoms/chat/lastMessage.d.ts +2 -2
- package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
- package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
- package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
- package/dist/atoms/chat/replies.cjs +9 -8
- package/dist/atoms/chat/replies.d.cts +3 -3
- package/dist/atoms/chat/replies.d.ts +3 -3
- package/dist/atoms/chat/replies.js +3 -2
- package/dist/atoms/chat/suggestions.cjs +6 -6
- package/dist/atoms/chat/suggestions.d.cts +2 -2
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/envive/enviveConfig.cjs +5 -12
- package/dist/atoms/envive/enviveConfig.js +5 -12
- package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
- package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
- package/dist/atoms/org/customerService.d.cts +6 -6
- package/dist/atoms/org/customerService.d.ts +6 -6
- package/dist/atoms/org/graphqlConfig.cjs +1 -3
- package/dist/atoms/org/graphqlConfig.d.cts +6 -9
- package/dist/atoms/org/graphqlConfig.d.ts +6 -9
- package/dist/atoms/org/graphqlConfig.js +2 -3
- package/dist/atoms/org/index.cjs +2 -3
- package/dist/atoms/org/index.d.cts +2 -2
- package/dist/atoms/org/index.d.ts +2 -2
- package/dist/atoms/org/index.js +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
- package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
- package/dist/atoms/search/chatSearch.cjs +7 -7
- package/dist/atoms/search/chatSearch.d.cts +20 -18
- package/dist/atoms/search/chatSearch.d.ts +20 -18
- package/dist/atoms/search/productRetrievalAPI.cjs +1 -7
- package/dist/atoms/search/productRetrievalAPI.js +1 -7
- package/dist/atoms/search/productRetrievalAdapter.cjs +4 -4
- package/dist/atoms/search/productRetrievalAdapter.js +4 -4
- package/dist/atoms/search/searchAPI.cjs +1 -1
- package/dist/atoms/search/searchAPI.d.cts +15 -14
- package/dist/atoms/search/searchAPI.d.ts +15 -14
- package/dist/atoms/search/searchAPI.js +1 -1
- package/dist/atoms/search/types.d.cts +1 -1
- package/dist/atoms/search/types.d.ts +1 -1
- package/dist/atoms/search/utils.d.ts +1 -1
- package/dist/atoms/widget/chatPreviewLoading.cjs +23 -0
- package/dist/atoms/widget/chatPreviewLoading.d.cts +26 -0
- package/dist/atoms/widget/chatPreviewLoading.d.ts +26 -0
- package/dist/atoms/widget/chatPreviewLoading.js +22 -0
- package/dist/atoms/widget/index.cjs +3 -0
- package/dist/atoms/widget/index.d.cts +2 -0
- package/dist/atoms/widget/index.d.ts +2 -0
- package/dist/atoms/widget/index.js +3 -0
- package/dist/contexts/amplitudeContext/amplitudeContext.cjs +40 -227
- package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +4 -39
- package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +4 -39
- package/dist/contexts/amplitudeContext/amplitudeContext.js +44 -230
- package/dist/contexts/amplitudeContext/index.cjs +2 -1
- package/dist/contexts/amplitudeContext/index.d.cts +2 -1
- package/dist/contexts/amplitudeContext/index.d.ts +2 -1
- package/dist/contexts/amplitudeContext/index.js +2 -1
- package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +3 -2
- package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +2 -1
- package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +2 -1
- package/dist/contexts/enviveConfigContext/enviveConfigContext.js +3 -2
- package/dist/contexts/enviveContext/enviveContext.cjs +70 -16
- package/dist/contexts/enviveContext/enviveContext.d.cts +10 -1
- package/dist/contexts/enviveContext/enviveContext.d.ts +10 -1
- package/dist/contexts/enviveContext/enviveContext.js +72 -18
- package/dist/contexts/enviveContext/types.d.ts +1 -1
- package/dist/contexts/enviveCssContext/enviveCssContext.cjs +96 -24
- package/dist/contexts/enviveCssContext/enviveCssContext.js +96 -24
- package/dist/contexts/featureFlagContext/featureFlagContext.cjs +1 -1
- package/dist/contexts/featureFlagContext/featureFlagContext.js +1 -1
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +6 -8
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +2 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +2 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +6 -8
- package/dist/contexts/graphqlContext/graphqlContext.cjs +151 -8
- package/dist/contexts/graphqlContext/graphqlContext.d.cts +17 -5
- package/dist/contexts/graphqlContext/graphqlContext.d.ts +17 -5
- package/dist/contexts/graphqlContext/graphqlContext.js +151 -8
- package/dist/contexts/graphqlContext/index.d.cts +2 -2
- package/dist/contexts/graphqlContext/index.d.ts +2 -2
- package/dist/contexts/graphqlContext/mockV3Config.cjs +250 -0
- package/dist/contexts/graphqlContext/mockV3Config.js +249 -0
- package/dist/contexts/hardcopyContext/hardcopyContext.cjs +144 -24
- package/dist/contexts/hardcopyContext/hardcopyContext.d.cts +4 -3
- package/dist/contexts/hardcopyContext/hardcopyContext.d.ts +4 -3
- package/dist/contexts/hardcopyContext/hardcopyContext.js +145 -25
- package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +7 -8
- package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +8 -9
- package/dist/contexts/pageContext/index.cjs +1 -0
- package/dist/contexts/pageContext/index.d.cts +2 -2
- package/dist/contexts/pageContext/index.d.ts +2 -2
- package/dist/contexts/pageContext/index.js +2 -2
- package/dist/contexts/pageContext/mapping.cjs +95 -1
- package/dist/contexts/pageContext/mapping.d.cts +6 -3
- package/dist/contexts/pageContext/mapping.d.ts +6 -3
- package/dist/contexts/pageContext/mapping.js +94 -2
- package/dist/contexts/pageContext/pageContext.cjs +59 -11
- package/dist/contexts/pageContext/pageContext.d.cts +6 -2
- package/dist/contexts/pageContext/pageContext.d.ts +6 -2
- package/dist/contexts/pageContext/pageContext.js +61 -13
- package/dist/contexts/pageContext/types.d.cts +6 -2
- package/dist/contexts/pageContext/types.d.ts +6 -2
- package/dist/contexts/salesAgentContext/chatAPI.cjs +9 -3
- package/dist/contexts/salesAgentContext/chatAPI.d.cts +4 -1
- package/dist/contexts/salesAgentContext/chatAPI.d.ts +4 -1
- package/dist/contexts/salesAgentContext/chatAPI.js +9 -3
- package/dist/contexts/salesAgentContext/index.d.cts +2 -2
- package/dist/contexts/salesAgentContext/index.d.ts +2 -2
- package/dist/contexts/salesAgentContext/salesAgentContext.cjs +68 -26
- package/dist/contexts/salesAgentContext/salesAgentContext.d.cts +2 -2
- package/dist/contexts/salesAgentContext/salesAgentContext.d.ts +2 -2
- package/dist/contexts/salesAgentContext/salesAgentContext.js +67 -25
- package/dist/contexts/salesAgentContext/salesAgentService.cjs +49 -10
- package/dist/contexts/salesAgentContext/salesAgentService.js +47 -8
- package/dist/contexts/salesAgentContext/statusCodeError.cjs +14 -0
- package/dist/contexts/salesAgentContext/statusCodeError.js +13 -0
- package/dist/contexts/searchContext/searchContext.cjs +1 -1
- package/dist/contexts/searchContext/searchContext.js +1 -1
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
- package/dist/contexts/types.cjs +2 -13
- package/dist/contexts/types.d.cts +12 -16
- package/dist/contexts/types.d.ts +12 -16
- package/dist/contexts/types.js +3 -13
- package/dist/contexts/typesV3.cjs +128 -0
- package/dist/contexts/typesV3.d.cts +273 -0
- package/dist/contexts/typesV3.d.ts +273 -0
- package/dist/contexts/typesV3.js +116 -0
- package/dist/contexts/uiConfigContext/index.cjs +4 -0
- package/dist/contexts/uiConfigContext/index.d.cts +2 -0
- package/dist/contexts/uiConfigContext/index.d.ts +2 -0
- package/dist/contexts/uiConfigContext/index.js +3 -0
- package/dist/contexts/uiConfigContext/uiConfigContext.cjs +44 -0
- package/dist/contexts/uiConfigContext/uiConfigContext.d.cts +15 -0
- package/dist/contexts/uiConfigContext/uiConfigContext.d.ts +15 -0
- package/dist/contexts/uiConfigContext/uiConfigContext.js +42 -0
- package/dist/contexts/userIdentityContext/userIdentityContext.cjs +1 -1
- package/dist/contexts/userIdentityContext/userIdentityContext.js +1 -1
- package/dist/contexts/widgetConfigContext/index.cjs +4 -0
- package/dist/contexts/widgetConfigContext/index.d.cts +2 -0
- package/dist/contexts/widgetConfigContext/index.d.ts +2 -0
- package/dist/contexts/widgetConfigContext/index.js +3 -0
- package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +67 -0
- package/dist/contexts/widgetConfigContext/widgetConfigContext.d.cts +19 -0
- package/dist/contexts/widgetConfigContext/widgetConfigContext.d.ts +19 -0
- package/dist/contexts/widgetConfigContext/widgetConfigContext.js +65 -0
- package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.cts +1 -1
- package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.ts +1 -1
- package/dist/hooks/AppDetails/useAppDetails.cjs +2 -4
- package/dist/hooks/AppDetails/useAppDetails.js +3 -5
- package/dist/hooks/ChatToggle/useChatToggle.cjs +6 -5
- package/dist/hooks/ChatToggle/useChatToggle.d.cts +5 -5
- package/dist/hooks/ChatToggle/useChatToggle.d.ts +5 -5
- package/dist/hooks/ChatToggle/useChatToggle.js +3 -2
- package/dist/hooks/ElementObserver/useElementObserver.cjs +10 -10
- package/dist/hooks/ElementObserver/useElementObserver.js +10 -10
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +3 -3
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
- package/dist/hooks/GraphQLConfig/index.cjs +1 -1
- package/dist/hooks/GraphQLConfig/index.d.cts +2 -2
- package/dist/hooks/GraphQLConfig/index.d.ts +2 -2
- package/dist/hooks/GraphQLConfig/index.js +2 -2
- package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +27 -24
- package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.cts +5 -4
- package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.ts +5 -4
- package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +27 -24
- package/dist/hooks/Search/useSearch.cjs +11 -10
- package/dist/hooks/Search/useSearch.js +7 -6
- package/dist/hooks/Search/useSearchInput.cjs +4 -4
- package/dist/hooks/Search/useSearchInput.js +1 -1
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +5 -4
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +1 -1
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +1 -1
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +3 -2
- package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.cjs +3 -2
- package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +3 -2
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/merchants/domInsertion.cjs +1 -1
- package/dist/merchants/domInsertion.d.cts +1 -1
- package/dist/merchants/domInsertion.d.ts +1 -1
- package/dist/merchants/domInsertion.js +1 -1
- package/dist/node_modules/classnames/index.cjs +52 -0
- package/dist/node_modules/classnames/index.js +49 -0
- package/dist/packages/components-v3/dist/ChatHeader/ChatHeader.cjs +2 -0
- package/dist/packages/components-v3/dist/ChatHeader/ChatHeader.js +4 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/CloseButton.cjs +16 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/CloseButton.js +17 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/Handle.cjs +6 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/Handle.js +8 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/Layout.cjs +4 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/Layout.js +6 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/Logo.cjs +3 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/Logo.js +5 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/Toggle.cjs +7 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/Toggle.js +9 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/ToggleItem.cjs +6 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/ToggleItem.js +8 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/index.cjs +6 -0
- package/dist/packages/components-v3/dist/ChatHeader/components/index.js +8 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.cjs +22 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.js +23 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetHandleProperties.cjs +58 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetHandleProperties.js +59 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +8 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetLayoutProperties.js +9 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +3 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleProperties.cjs +12 -0
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleProperties.js +13 -0
- package/dist/packages/components-v3/dist/ChatHeader/index.cjs +2 -0
- package/dist/packages/components-v3/dist/ChatHeader/index.js +4 -0
- package/dist/packages/components-v3/dist/ChatHeader/types/index.cjs +11 -0
- package/dist/packages/components-v3/dist/ChatHeader/types/index.js +10 -0
- package/dist/packages/components-v3/dist/Container/Container.cjs +11 -0
- package/dist/packages/components-v3/dist/Container/Container.js +12 -0
- package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.js +3 -0
- package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.js +3 -0
- package/dist/packages/components-v3/dist/Container/index.cjs +1 -0
- package/dist/packages/components-v3/dist/Container/index.js +3 -0
- package/dist/packages/components-v3/dist/Image/Image.cjs +16 -0
- package/dist/packages/components-v3/dist/Image/Image.js +17 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.js +3 -0
- package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.cjs +2 -0
- package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.js +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.cjs +2 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.js +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/Layout.cjs +15 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/Layout.js +16 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.cjs +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.js +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.cjs +1 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.js +3 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/index.cjs +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/index.js +6 -0
- package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.js +3 -0
- package/dist/packages/components-v3/dist/ImageGallery/index.cjs +2 -0
- package/dist/packages/components-v3/dist/ImageGallery/index.js +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/types/types.cjs +13 -0
- package/dist/packages/components-v3/dist/ImageGallery/types/types.js +12 -0
- package/dist/packages/components-v3/dist/PromptButton/PromptButton.cjs +12 -0
- package/dist/packages/components-v3/dist/PromptButton/PromptButton.js +13 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Icon.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Icon.js +3 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Label.cjs +3 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Label.js +5 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Layout.cjs +12 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Layout.js +13 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Loading.cjs +9 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Loading.js +10 -0
- package/dist/packages/components-v3/dist/PromptButton/components/index.cjs +4 -0
- package/dist/packages/components-v3/dist/PromptButton/components/index.js +6 -0
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.js +3 -0
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.cjs +8 -0
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.js +9 -0
- package/dist/packages/components-v3/dist/PromptButton/index.cjs +2 -0
- package/dist/packages/components-v3/dist/PromptButton/index.js +4 -0
- package/dist/packages/components-v3/dist/PromptButton/types/index.cjs +13 -0
- package/dist/packages/components-v3/dist/PromptButton/types/index.js +12 -0
- package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.cjs +12 -0
- package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.js +14 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.cjs +9 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.js +10 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.cjs +11 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.js +12 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.cjs +4 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.js +6 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.cjs +4 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.js +6 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/index.cjs +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/index.js +5 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.cjs +5 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.js +7 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.js +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.cjs +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.js +5 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.js +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.js +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.js +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/index.cjs +2 -0
- package/dist/packages/components-v3/dist/PromptCarousel/index.js +4 -0
- package/dist/packages/components-v3/dist/PromptCarousel/types/types.cjs +19 -0
- package/dist/packages/components-v3/dist/PromptCarousel/types/types.js +17 -0
- package/dist/packages/components-v3/dist/Stack/Stack.cjs +36 -0
- package/dist/packages/components-v3/dist/Stack/Stack.js +36 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.cjs +27 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.js +26 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.cjs +20 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.js +19 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.cjs +19 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.js +18 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.cjs +16 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.js +15 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.cjs +21 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.js +20 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.cjs +38 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.js +38 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.cjs +13 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.js +12 -0
- package/dist/packages/components-v3/dist/Stack/index.cjs +1 -0
- package/dist/packages/components-v3/dist/Stack/index.js +3 -0
- package/dist/packages/components-v3/dist/Stack/utils/constants.cjs +42 -0
- package/dist/packages/components-v3/dist/Stack/utils/constants.js +41 -0
- package/dist/packages/components-v3/dist/Tokens/index.cjs +11 -0
- package/dist/packages/components-v3/dist/Tokens/index.js +13 -0
- package/dist/packages/components-v3/dist/Typography/Typography.cjs +15 -0
- package/dist/packages/components-v3/dist/Typography/Typography.js +16 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/index.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/index.js +3 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/WelcomeMessage.cjs +2 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/WelcomeMessage.js +4 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.cjs +14 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.js +15 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.cjs +3 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.js +5 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Text.cjs +3 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Text.js +5 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Title.cjs +3 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Title.js +5 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/index.cjs +4 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/components/index.js +6 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetContainerProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetContainerProperties.js +3 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetSparkleIconProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetSparkleIconProperties.js +3 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/index.cjs +2 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/index.js +4 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/types/types.cjs +14 -0
- package/dist/packages/components-v3/dist/WelcomeMessage/types/types.js +14 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.cjs +12 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.js +13 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +3 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/index.cjs +2 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/index.js +4 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/types/types.cjs +13 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/types/types.js +12 -0
- package/dist/packages/components-v3/dist/src/models/colorsConfig.cjs +26 -0
- package/dist/packages/components-v3/dist/src/models/colorsConfig.js +25 -0
- package/dist/packages/components-v3/dist/tokens/aspectRatio/aspectRatio.cjs +16 -0
- package/dist/packages/components-v3/dist/tokens/aspectRatio/aspectRatio.js +17 -0
- package/dist/packages/components-v3/dist/tokens/breakpoints/breakpoints.cjs +25 -0
- package/dist/packages/components-v3/dist/tokens/breakpoints/breakpoints.js +23 -0
- package/dist/packages/components-v3/dist/tokens/colors/colors.cjs +51 -0
- package/dist/packages/components-v3/dist/tokens/colors/colors.js +51 -0
- package/dist/packages/components-v3/dist/tokens/radius/radius.cjs +64 -0
- package/dist/packages/components-v3/dist/tokens/radius/radius.js +65 -0
- package/dist/packages/components-v3/dist/tokens/theme/theme.cjs +13 -0
- package/dist/packages/components-v3/dist/tokens/theme/theme.js +12 -0
- package/dist/packages/components-v3/dist/tokens/typography/fontFamily.cjs +25 -0
- package/dist/packages/components-v3/dist/tokens/typography/fontFamily.js +25 -0
- package/dist/packages/components-v3/dist/tokens/typography/fontSize.cjs +37 -0
- package/dist/packages/components-v3/dist/tokens/typography/fontSize.js +38 -0
- package/dist/packages/components-v3/dist/tokens/typography/fontWeight.cjs +17 -0
- package/dist/packages/components-v3/dist/tokens/typography/fontWeight.js +18 -0
- package/dist/packages/components-v3/dist/tokens/typography/letterSpacing.cjs +15 -0
- package/dist/packages/components-v3/dist/tokens/typography/letterSpacing.js +16 -0
- package/dist/packages/components-v3/dist/tokens/typography/lineHeight.cjs +31 -0
- package/dist/packages/components-v3/dist/tokens/typography/lineHeight.js +32 -0
- package/dist/packages/components-v3/dist/tokens/typography/typography.cjs +5 -0
- package/dist/packages/components-v3/dist/tokens/typography/typography.js +7 -0
- package/dist/packages/components-v3/dist/tokens/utils.cjs +7 -0
- package/dist/packages/components-v3/dist/tokens/utils.js +6 -0
- package/dist/packages/components-v3/dist/utils/useCheckIsMobile.cjs +1 -0
- package/dist/packages/components-v3/dist/utils/useCheckIsMobile.js +3 -0
- package/dist/packages/components-v3/dist/utils/useResponsiveValue.cjs +57 -0
- package/dist/packages/components-v3/dist/utils/useResponsiveValue.js +56 -0
- package/dist/packages/icons/dist/FourPointStar.cjs +8 -0
- package/dist/packages/icons/dist/FourPointStar.js +9 -0
- package/dist/packages/icons/dist/IconCloseRounded.cjs +22 -0
- package/dist/packages/icons/dist/IconCloseRounded.js +22 -0
- package/dist/packages/icons/dist/IconCloseSharp.cjs +31 -0
- package/dist/packages/icons/dist/IconCloseSharp.js +31 -0
- package/dist/packages/icons/dist/IconCloseTransparent.cjs +24 -0
- package/dist/packages/icons/dist/IconCloseTransparent.js +24 -0
- package/dist/packages/icons/dist/Sparkles.cjs +8 -0
- package/dist/packages/icons/dist/Sparkles.js +9 -0
- package/dist/packages/icons/dist/_virtual/rolldown_runtime.cjs +28 -0
- package/dist/packages/icons/dist/_virtual/rolldown_runtime.js +26 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +697 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js +697 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs +44 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +44 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react.development.cjs +1529 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react.development.js +1529 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.cjs +330 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.js +330 -0
- package/dist/packages/icons/dist/node_modules/react/index.cjs +14 -0
- package/dist/packages/icons/dist/node_modules/react/index.js +14 -0
- package/dist/packages/icons/dist/node_modules/react/jsx-runtime.cjs +14 -0
- package/dist/packages/icons/dist/node_modules/react/jsx-runtime.js +14 -0
- package/dist/services/amplitudeService/amplitudeService.cjs +204 -0
- package/dist/services/amplitudeService/amplitudeService.d.cts +75 -0
- package/dist/services/amplitudeService/amplitudeService.d.ts +75 -0
- package/dist/services/amplitudeService/amplitudeService.js +202 -0
- package/dist/services/amplitudeService/index.cjs +4 -0
- package/dist/services/amplitudeService/index.d.cts +2 -0
- package/dist/services/amplitudeService/index.d.ts +2 -0
- package/dist/services/amplitudeService/index.js +3 -0
- package/dist/services/enviveConfigService/enviveConfigService.cjs +36 -0
- package/dist/services/enviveConfigService/enviveConfigService.d.cts +43 -0
- package/dist/services/enviveConfigService/enviveConfigService.d.ts +43 -0
- package/dist/services/enviveConfigService/enviveConfigService.js +36 -0
- package/dist/services/enviveConfigService/index.cjs +3 -0
- package/dist/services/enviveConfigService/index.d.cts +2 -0
- package/dist/services/enviveConfigService/index.d.ts +2 -0
- package/dist/services/enviveConfigService/index.js +3 -0
- package/dist/types/customerService.cjs +20 -0
- package/dist/types/customerService.js +19 -0
- package/dist/types/enviveConfig.d.cts +29 -0
- package/dist/types/enviveConfig.d.ts +29 -0
- package/dist/types/index.d.cts +2 -1
- package/dist/types/index.d.ts +2 -1
- package/package.json +36 -8
- package/src/application/commerce-api.ts +14 -1
- package/src/application/models/api/userEvent.ts +3 -1
- package/src/application/models/api/widgetText.ts +9 -0
- package/src/application/models/api/widgetTextRequest.ts +10 -0
- package/src/application/models/chatElementDisplayLocationV3.ts +18 -0
- package/src/application/models/colorsConfigV3.ts +26 -0
- package/src/application/models/featureGates.ts +6 -0
- package/src/application/models/frontendConfig.ts +5 -0
- package/src/application/models/frontendConfigV3.ts +10 -0
- package/src/application/models/guards/api/isApiPDPEventAttributes.ts +5 -1
- package/src/application/models/index.ts +1 -0
- package/src/application/models/utils/snakeToCamelTransformer.ts +1 -1
- package/src/application/utils/elementObserver.ts +2 -2
- package/src/application/utils/widgetTextFromApiWidgetTextResponse.ts +30 -0
- package/src/application/utils/widgetTextRequestToApiRequest.ts +45 -0
- package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -8
- package/src/atoms/app/index.ts +9 -3
- package/src/atoms/app/variant.ts +8 -2
- package/src/atoms/chat/chatState.ts +10 -2
- package/src/atoms/envive/enviveConfig.ts +5 -11
- package/src/atoms/org/graphqlConfig.ts +0 -1
- package/src/atoms/search/productRetrievalAPI.ts +0 -8
- package/src/atoms/search/productRetrievalAdapter.ts +6 -10
- package/src/atoms/widget/chatPreviewLoading.ts +36 -0
- package/src/atoms/widget/index.ts +1 -0
- package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +196 -187
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +56 -334
- package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +3 -0
- package/src/contexts/enviveContext/enviveContext.tsx +103 -27
- package/src/contexts/enviveCssContext/enviveCssContext.tsx +121 -22
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +12 -11
- package/src/contexts/graphqlContext/graphqlContext.tsx +250 -13
- package/src/contexts/graphqlContext/mockV3Config.ts +250 -0
- package/src/contexts/hardcopyContext/hardcopyContext.tsx +159 -21
- package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +6 -6
- package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +5 -13
- package/src/contexts/pageContext/__tests__/pageContext.test.tsx +141 -75
- package/src/contexts/pageContext/mapping.ts +188 -2
- package/src/contexts/pageContext/pageContext.tsx +68 -14
- package/src/contexts/pageContext/types.ts +5 -2
- package/src/contexts/salesAgentContext/chatAPI.ts +10 -0
- package/src/contexts/salesAgentContext/salesAgentContext.tsx +104 -45
- package/src/contexts/salesAgentContext/salesAgentService.ts +91 -4
- package/src/contexts/salesAgentContext/statusCodeError.ts +10 -0
- package/src/contexts/searchContext/__tests__/searchContext.test.tsx +8 -2
- package/src/contexts/types.ts +15 -19
- package/src/contexts/typesV3.ts +348 -0
- package/src/contexts/uiConfigContext/__tests__/uiConfigContext.test.tsx +329 -0
- package/src/contexts/uiConfigContext/index.ts +1 -0
- package/src/contexts/uiConfigContext/uiConfigContext.tsx +44 -0
- package/src/contexts/widgetConfigContext/__tests__/widgetConfigContext.test.tsx +512 -0
- package/src/contexts/widgetConfigContext/index.ts +1 -0
- package/src/contexts/widgetConfigContext/widgetConfigContext.tsx +84 -0
- package/src/hooks/AppDetails/useAppDetails.ts +2 -2
- package/src/hooks/ChatToggle/useChatToggle.ts +4 -4
- package/src/hooks/ElementObserver/useElementObserver.ts +9 -9
- package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +22 -21
- package/src/hooks/Search/__tests__/useSearch.test.tsx +15 -6
- package/src/hooks/Search/useSearch.tsx +6 -5
- package/src/merchants/domInsertion.ts +0 -16
- package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +558 -0
- package/src/services/amplitudeService/amplitudeService.ts +324 -0
- package/src/services/amplitudeService/index.ts +1 -0
- package/src/services/enviveConfigService/enviveConfigService.ts +72 -0
- package/src/services/enviveConfigService/index.ts +1 -0
- package/src/types/enviveConfig.ts +27 -0
- package/src/types/index.ts +1 -0
- package/dist/hooks/ChatToggleAnalytics/index.cjs +0 -3
- package/dist/hooks/ChatToggleAnalytics/index.d.cts +0 -2
- package/dist/hooks/ChatToggleAnalytics/index.d.ts +0 -2
- package/dist/hooks/ChatToggleAnalytics/index.js +0 -3
- package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.cjs +0 -19
- package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.cts +0 -9
- package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.ts +0 -9
- package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.js +0 -18
- package/src/application/utils/cdnUtils.ts +0 -8
- package/src/config/divIds.ts +0 -31
- package/src/config/locators/components/chat/entrypoints.ts +0 -13
- package/src/config/locators/components/chat/preview.ts +0 -12
- package/src/config/locators/components/report-issue.ts +0 -21
- package/src/config/socialProofClasses.ts +0 -12
- package/src/events/registerAnalyticsListeners.ts +0 -44
- package/src/hooks/ChatToggleAnalytics/index.ts +0 -1
- package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +0 -15
- package/src/types/FilterAttribute.ts +0 -32
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
|
+
import { FrontendConfigV3 } from 'src/application/models/frontendConfigV3';
|
|
2
3
|
import { useNewOrgConfig } from 'src/hooks/NewOrgConfig';
|
|
4
|
+
import { CamelCasedPropertiesDeep } from 'src/application/models/utilityTypes';
|
|
5
|
+
import { ColorMapping } from '../types';
|
|
6
|
+
import {
|
|
7
|
+
AspectRatioCSSVar,
|
|
8
|
+
BorderRadiusCSSVar,
|
|
9
|
+
ButtonColorsVars,
|
|
10
|
+
ColorsNamesVars,
|
|
11
|
+
ConfigVersionEnum,
|
|
12
|
+
FontFamilyCSSVar,
|
|
13
|
+
FontSizeCSSVar,
|
|
14
|
+
FontWeightCSSVar,
|
|
15
|
+
LetterSpacingCSSVar,
|
|
16
|
+
LineHeightCSSVar,
|
|
17
|
+
ThemeCSSVar,
|
|
18
|
+
} from '../typesV3';
|
|
3
19
|
|
|
4
20
|
interface EnviveCssProviderProps {
|
|
5
21
|
children: ReactNode;
|
|
@@ -7,37 +23,120 @@ interface EnviveCssProviderProps {
|
|
|
7
23
|
|
|
8
24
|
export const EnviveCssProvider: React.FC<EnviveCssProviderProps> = ({ children }) => {
|
|
9
25
|
const { colorsConfig, frontendConfig, loading } = useNewOrgConfig();
|
|
26
|
+
|
|
27
|
+
const configVersion = frontendConfig?.uiConfigs?.version;
|
|
28
|
+
|
|
10
29
|
let merchantThemeCss = `* {}`;
|
|
11
|
-
if (colorsConfig && !loading) {
|
|
30
|
+
if (colorsConfig && !loading && configVersion !== ConfigVersionEnum.V3) {
|
|
31
|
+
const colorConfigV2 = colorsConfig as CamelCasedPropertiesDeep<ColorMapping>;
|
|
12
32
|
merchantThemeCss = `
|
|
13
33
|
* {
|
|
14
|
-
--spiffy-colors-text-primary: ${
|
|
15
|
-
--spiffy-colors-text-secondary: ${
|
|
16
|
-
--spiffy-colors-text-accent: ${
|
|
17
|
-
--spiffy-colors-text-link: ${
|
|
18
|
-
--spiffy-colors-text-light: ${
|
|
19
|
-
--spiffy-colors-background-primary: ${
|
|
20
|
-
--spiffy-colors-background-secondary: ${
|
|
21
|
-
--spiffy-colors-background-secondary-dark: ${
|
|
22
|
-
--spiffy-colors-background-tertiary: ${
|
|
23
|
-
--spiffy-colors-background-dark: ${
|
|
24
|
-
--spiffy-colors-background-light: ${
|
|
25
|
-
--spiffy-colors-background-saturated: ${
|
|
26
|
-
--spiffy-colors-border-light: ${
|
|
27
|
-
--spiffy-colors-border-medium: ${
|
|
28
|
-
--spiffy-colors-border-dark: ${
|
|
29
|
-
--spiffy-colors-border-outline: ${
|
|
30
|
-
--spiffy-colors-accent-primary: ${
|
|
31
|
-
--spiffy-colors-accent-secondary: ${
|
|
34
|
+
--spiffy-colors-text-primary: ${colorConfigV2.textPrimary};
|
|
35
|
+
--spiffy-colors-text-secondary: ${colorConfigV2.textSecondary};
|
|
36
|
+
--spiffy-colors-text-accent: ${colorConfigV2.textAccent};
|
|
37
|
+
--spiffy-colors-text-link: ${colorConfigV2.textLink};
|
|
38
|
+
--spiffy-colors-text-light: ${colorConfigV2.textLight};
|
|
39
|
+
--spiffy-colors-background-primary: ${colorConfigV2.backgroundPrimary};
|
|
40
|
+
--spiffy-colors-background-secondary: ${colorConfigV2.backgroundSecondary};
|
|
41
|
+
--spiffy-colors-background-secondary-dark: ${colorConfigV2.backgroundSecondaryDark};
|
|
42
|
+
--spiffy-colors-background-tertiary: ${colorConfigV2.backgroundTertiary};
|
|
43
|
+
--spiffy-colors-background-dark: ${colorConfigV2.backgroundDark};
|
|
44
|
+
--spiffy-colors-background-light: ${colorConfigV2.backgroundLight};
|
|
45
|
+
--spiffy-colors-background-saturated: ${colorConfigV2.backgroundSaturated};
|
|
46
|
+
--spiffy-colors-border-light: ${colorConfigV2.borderLight};
|
|
47
|
+
--spiffy-colors-border-medium: ${colorConfigV2.borderMedium};
|
|
48
|
+
--spiffy-colors-border-dark: ${colorConfigV2.borderDark};
|
|
49
|
+
--spiffy-colors-border-outline: ${colorConfigV2.borderOutline};
|
|
50
|
+
--spiffy-colors-accent-primary: ${colorConfigV2.accentPrimary};
|
|
51
|
+
--spiffy-colors-accent-secondary: ${colorConfigV2.accentSecondary};
|
|
52
|
+
}`;
|
|
53
|
+
} else if (colorsConfig && frontendConfig && !loading && configVersion === ConfigVersionEnum.V3) {
|
|
54
|
+
const configV3 = frontendConfig as FrontendConfigV3;
|
|
55
|
+
merchantThemeCss = `
|
|
56
|
+
* {
|
|
57
|
+
--${ColorsNamesVars.TextPrimary}: ${colorsConfig.textPrimary};
|
|
58
|
+
--${ColorsNamesVars.TextSecondary}: ${colorsConfig.textSecondary};
|
|
59
|
+
--${ColorsNamesVars.TextAccent}: ${colorsConfig.textAccent};
|
|
60
|
+
--${ColorsNamesVars.TextLink}: ${colorsConfig.textLink};
|
|
61
|
+
--${ColorsNamesVars.TextLight}: ${colorsConfig.textLight};
|
|
62
|
+
--${ColorsNamesVars.BackgroundPrimary}: ${colorsConfig.backgroundPrimary};
|
|
63
|
+
--${ColorsNamesVars.BackgroundSecondary}: ${colorsConfig.backgroundSecondary};
|
|
64
|
+
--${ColorsNamesVars.BackgroundTertiary}: ${colorsConfig.backgroundTertiary};
|
|
65
|
+
--${ColorsNamesVars.BackgroundDark}: ${colorsConfig.backgroundDark};
|
|
66
|
+
--${ColorsNamesVars.BackgroundLight}: ${colorsConfig.backgroundLight};
|
|
67
|
+
--${ColorsNamesVars.BorderLight}: ${colorsConfig.borderLight};
|
|
68
|
+
--${ColorsNamesVars.BorderMedium}: ${colorsConfig.borderMedium};
|
|
69
|
+
--${ColorsNamesVars.BorderDark}: ${colorsConfig.borderDark};
|
|
70
|
+
--${ColorsNamesVars.AccentPrimary}: ${colorsConfig.accentPrimary};
|
|
71
|
+
--${ColorsNamesVars.AccentSecondary}: ${colorsConfig.accentSecondary};
|
|
72
|
+
|
|
73
|
+
--${ButtonColorsVars.LightButtonBackgroundColor}: ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.lightButtonBackgroundColor};
|
|
74
|
+
--${ButtonColorsVars.LightButtonIconColor}: ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.lightButtonIconColor};
|
|
75
|
+
--${ButtonColorsVars.DarkButtonBackgroundColor}: ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.darkButtonBackgroundColor};
|
|
76
|
+
--${ButtonColorsVars.DarkButtonIconColor}: ${configV3.uiConfigs?.lookAndFeel?.buttonColors?.darkButtonIconColor};
|
|
77
|
+
|
|
78
|
+
--${FontFamilyCSSVar.Title}: ${configV3.uiConfigs?.lookAndFeel?.typography?.titleFontFamily};
|
|
79
|
+
--${FontFamilyCSSVar.Header}: ${configV3.uiConfigs?.lookAndFeel?.typography?.headerFontFamily};
|
|
80
|
+
--${FontFamilyCSSVar.Body}: ${configV3.uiConfigs?.lookAndFeel?.typography?.bodyFontFamily};
|
|
81
|
+
|
|
82
|
+
--${FontSizeCSSVar.T1}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.t1};
|
|
83
|
+
--${FontSizeCSSVar.T2}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.t2};
|
|
84
|
+
--${FontSizeCSSVar.T3}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.t3};
|
|
85
|
+
--${FontSizeCSSVar.H1}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.h1};
|
|
86
|
+
--${FontSizeCSSVar.H2}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.h2};
|
|
87
|
+
--${FontSizeCSSVar.H3}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.h3};
|
|
88
|
+
--${FontSizeCSSVar.B1}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.b1};
|
|
89
|
+
--${FontSizeCSSVar.B2}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.b2};
|
|
90
|
+
--${FontSizeCSSVar.B3}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.b3};
|
|
91
|
+
--${FontSizeCSSVar.B4}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.b4};
|
|
92
|
+
--${FontSizeCSSVar.B5}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.b5};
|
|
93
|
+
--${FontSizeCSSVar.L1}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.l1};
|
|
94
|
+
--${FontSizeCSSVar.L2}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontSize?.l2};
|
|
95
|
+
|
|
96
|
+
--${FontWeightCSSVar.RG}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontWeight?.rg};
|
|
97
|
+
--${FontWeightCSSVar.MD}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontWeight?.md};
|
|
98
|
+
--${FontWeightCSSVar.SB}: ${configV3.uiConfigs?.lookAndFeel?.typography?.fontWeight?.sb};
|
|
99
|
+
|
|
100
|
+
--${LetterSpacingCSSVar.Tight0}: ${configV3.uiConfigs?.lookAndFeel?.typography?.letterSpacing?.['0']};
|
|
101
|
+
--${LetterSpacingCSSVar.Wide1}: ${configV3.uiConfigs?.lookAndFeel?.typography?.letterSpacing?.['wide-1']};
|
|
102
|
+
|
|
103
|
+
--${LineHeightCSSVar.LineHeight124}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[124]};
|
|
104
|
+
--${LineHeightCSSVar.LineHeight120}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[120]};
|
|
105
|
+
--${LineHeightCSSVar.LineHeight118}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[118]};
|
|
106
|
+
--${LineHeightCSSVar.LineHeight116}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[116]};
|
|
107
|
+
--${LineHeightCSSVar.LineHeight114}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[114]};
|
|
108
|
+
--${LineHeightCSSVar.LineHeight148}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[148]};
|
|
109
|
+
--${LineHeightCSSVar.LineHeight140}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[140]};
|
|
110
|
+
--${LineHeightCSSVar.LineHeight128}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[128]};
|
|
111
|
+
--${LineHeightCSSVar.LineHeight130}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[130]};
|
|
112
|
+
--${LineHeightCSSVar.LineHeight133}: ${configV3.uiConfigs?.lookAndFeel?.typography?.lineHeight?.[133]};
|
|
113
|
+
|
|
114
|
+
--${ThemeCSSVar.GlobalCustom}: ${configV3.uiConfigs?.lookAndFeel?.theme};
|
|
115
|
+
|
|
116
|
+
--${AspectRatioCSSVar.GlobalCustom}: ${configV3.uiConfigs?.lookAndFeel?.imageAspectRatio};
|
|
117
|
+
|
|
118
|
+
--${BorderRadiusCSSVar.GlobalCustom}: ${configV3.uiConfigs?.lookAndFeel?.elementRadius}px;
|
|
32
119
|
}`;
|
|
33
120
|
}
|
|
34
|
-
|
|
121
|
+
|
|
122
|
+
const hasV3ConfigEdited = document.getElementById('merchant-css-config-edited') !== null;
|
|
123
|
+
|
|
35
124
|
return (
|
|
36
125
|
<>
|
|
37
126
|
{frontendConfig ? (
|
|
38
|
-
<style id="merchant-css-overrides">
|
|
127
|
+
<style id="merchant-css-overrides">
|
|
128
|
+
{frontendConfig.merchantOverrideCss ? `${frontendConfig.merchantOverrideCss}` : ''}
|
|
129
|
+
</style>
|
|
130
|
+
) : null}
|
|
131
|
+
{colorsConfig &&
|
|
132
|
+
((!hasV3ConfigEdited && configVersion === ConfigVersionEnum.V3) ||
|
|
133
|
+
configVersion !== ConfigVersionEnum.V3) ? (
|
|
134
|
+
<style
|
|
135
|
+
id={
|
|
136
|
+
configVersion === ConfigVersionEnum.V3 ? 'merchant-css-config' : 'merchant-css-colors'
|
|
137
|
+
}
|
|
138
|
+
>{`${merchantThemeCss}`}</style>
|
|
39
139
|
) : null}
|
|
40
|
-
{colorsConfig ? <style id="merchant-css-colors">{`${merchantThemeCss}`}</style> : null}
|
|
41
140
|
|
|
42
141
|
{children}
|
|
43
142
|
</>
|
|
@@ -26,13 +26,9 @@ export class FeatureFlagService {
|
|
|
26
26
|
return gateValue.value;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
gate => gate.name === FeatureGates.IsClientSessionEnabled && gate.value === true,
|
|
33
|
-
).length > 0;
|
|
34
|
-
return isEnabled;
|
|
35
|
-
};
|
|
29
|
+
// Ensure that standard overrides work as expected
|
|
30
|
+
isClientSessionEnabled = (): boolean =>
|
|
31
|
+
this.isFeatureGateEnabled(FeatureGates.IsClientSessionEnabled);
|
|
36
32
|
|
|
37
33
|
getFeatureFlags = (): Record<string, boolean> => {
|
|
38
34
|
return Object.fromEntries(
|
|
@@ -51,18 +47,23 @@ export interface FeatureFlagContextType {
|
|
|
51
47
|
const FeatureFlagServiceContext = createContext<FeatureFlagContextType | undefined>(undefined);
|
|
52
48
|
|
|
53
49
|
interface FeatureFlagServiceProviderProps {
|
|
54
|
-
|
|
50
|
+
featureFlagService: FeatureFlagService;
|
|
55
51
|
children: ReactNode;
|
|
56
52
|
}
|
|
57
53
|
|
|
58
54
|
export const FeatureFlagServiceProvider: React.FC<FeatureFlagServiceProviderProps> = ({
|
|
59
|
-
|
|
55
|
+
featureFlagService: inputService,
|
|
60
56
|
children,
|
|
61
57
|
}) => {
|
|
62
|
-
const
|
|
58
|
+
const contextValue = useMemo(
|
|
59
|
+
() => ({
|
|
60
|
+
featureFlagService: inputService,
|
|
61
|
+
}),
|
|
62
|
+
[inputService],
|
|
63
|
+
);
|
|
63
64
|
|
|
64
65
|
return (
|
|
65
|
-
<FeatureFlagServiceContext.Provider value={
|
|
66
|
+
<FeatureFlagServiceContext.Provider value={contextValue}>
|
|
66
67
|
{children}
|
|
67
68
|
</FeatureFlagServiceContext.Provider>
|
|
68
69
|
);
|
|
@@ -11,7 +11,22 @@ import { ColorMapping } from 'src/application/models/colorsConfig';
|
|
|
11
11
|
import { FrontendConfig } from 'src/application/models/frontendConfig';
|
|
12
12
|
import Logger from 'src/application/logging/logger';
|
|
13
13
|
import { configVersion } from 'src/types/config-versions';
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
CamelCasedPropertiesDeep,
|
|
16
|
+
transformSnakeToCamel,
|
|
17
|
+
validateAndTransformMountingConfig,
|
|
18
|
+
validateAndTransformPageVariants,
|
|
19
|
+
} from 'src/application/models';
|
|
20
|
+
import { FrontendConfigV3 } from 'src/application/models/frontendConfigV3';
|
|
21
|
+
import { ColorMappingV3 } from 'src/application/models/colorsConfigV3';
|
|
22
|
+
import { mockV3ColorsConfig, mockV3FrontendConfig } from './mockV3Config';
|
|
23
|
+
import { ConfigVersionEnum, Position, WidgetConfigV3 } from '../typesV3';
|
|
24
|
+
import {
|
|
25
|
+
OrgPageConfig,
|
|
26
|
+
PageVariantConfig,
|
|
27
|
+
PageVariantTestType,
|
|
28
|
+
WidgetMountingConfig,
|
|
29
|
+
} from '../types';
|
|
15
30
|
|
|
16
31
|
interface BaseMeConfigQueryResponse {
|
|
17
32
|
me: {
|
|
@@ -28,16 +43,21 @@ interface BaseMeConfigQueryResponse {
|
|
|
28
43
|
}
|
|
29
44
|
export type ColorsConfigResponse = CamelCasedPropertiesDeep<ColorMapping>;
|
|
30
45
|
export type FrontendConfigResponse = CamelCasedPropertiesDeep<FrontendConfig>;
|
|
46
|
+
export type ColorsConfigV3Response = CamelCasedPropertiesDeep<ColorMappingV3>;
|
|
47
|
+
export type FrontendConfigV3Response = CamelCasedPropertiesDeep<FrontendConfigV3>;
|
|
31
48
|
|
|
32
49
|
export type GraphQlConfigValues = {
|
|
33
|
-
colorsConfig?: ColorsConfigResponse;
|
|
34
|
-
frontendConfig?: CamelCasedPropertiesDeep<FrontendConfig>;
|
|
50
|
+
colorsConfig?: ColorsConfigResponse | ColorsConfigV3Response;
|
|
51
|
+
frontendConfig?: CamelCasedPropertiesDeep<FrontendConfig | FrontendConfigV3>;
|
|
52
|
+
orgPageConfig?: OrgPageConfig;
|
|
35
53
|
};
|
|
36
54
|
|
|
37
55
|
interface GraphQLContextValue {
|
|
38
56
|
executeQuery: <T>(query: string, variables?: Record<string, unknown>) => Promise<T>;
|
|
39
57
|
getOrgId: () => Promise<string | undefined>;
|
|
40
58
|
getColorsAndFrontendConfig: () => Promise<GraphQlConfigValues>;
|
|
59
|
+
getV3Config: () => Promise<GraphQlConfigValues>;
|
|
60
|
+
getConfig: () => Promise<GraphQlConfigValues>;
|
|
41
61
|
isReady: boolean;
|
|
42
62
|
}
|
|
43
63
|
|
|
@@ -49,6 +69,7 @@ const colorsAndFrontendConfigQuery = () => `
|
|
|
49
69
|
getProductsConfigByVersion(version: $version) {
|
|
50
70
|
frontend { values }
|
|
51
71
|
colors { values }
|
|
72
|
+
v_three_config { values }
|
|
52
73
|
}
|
|
53
74
|
}
|
|
54
75
|
}
|
|
@@ -56,13 +77,126 @@ const colorsAndFrontendConfigQuery = () => `
|
|
|
56
77
|
|
|
57
78
|
type GraphQLProviderProps = {
|
|
58
79
|
children: ReactNode;
|
|
80
|
+
requestV3Config?: boolean;
|
|
81
|
+
mockV3ConfigToDeprecatedConfig?: boolean;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const DEFAULT_PAGE_VARIANTS: PageVariantConfig[] = [
|
|
85
|
+
{
|
|
86
|
+
variantId: 'plp',
|
|
87
|
+
variantType: 'plp',
|
|
88
|
+
plpIdExtractor: 'url-resolver-plp-id',
|
|
89
|
+
widgetMounting: [],
|
|
90
|
+
variantTests: [
|
|
91
|
+
{
|
|
92
|
+
testType: PageVariantTestType.UrlResolver,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
variantId: 'pdp',
|
|
98
|
+
variantType: 'pdp',
|
|
99
|
+
productIdExtractor: 'url-resolver-product-id',
|
|
100
|
+
widgetMounting: [],
|
|
101
|
+
variantTests: [
|
|
102
|
+
{
|
|
103
|
+
testType: PageVariantTestType.UrlResolver,
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
|
|
109
|
+
const mapPositionToCamelCase = (position: string): Position => {
|
|
110
|
+
if (position === 'bottom-left') {
|
|
111
|
+
return 'bottomLeft';
|
|
112
|
+
}
|
|
113
|
+
if (position === 'middle-left') {
|
|
114
|
+
return 'middleLeft';
|
|
115
|
+
}
|
|
116
|
+
if (position === 'middle-right') {
|
|
117
|
+
return 'middleRight';
|
|
118
|
+
}
|
|
119
|
+
if (position === 'bottom-right') {
|
|
120
|
+
return 'bottomRight';
|
|
121
|
+
}
|
|
122
|
+
throw new Error(`Invalid position: ${position}`);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* This function is used to do some additional cleanup of the v3 frontend config to ensure that the config is in the correct format.
|
|
127
|
+
*/
|
|
128
|
+
const v3FrontendConfigCleanup = (
|
|
129
|
+
v3RootConfig: FrontendConfigV3Response,
|
|
130
|
+
): FrontendConfigV3Response => {
|
|
131
|
+
const { uiConfigs } = v3RootConfig;
|
|
132
|
+
if (!uiConfigs) {
|
|
133
|
+
return v3RootConfig;
|
|
134
|
+
}
|
|
135
|
+
const { floatingButton, lookAndFeel } = uiConfigs as any;
|
|
136
|
+
if (!floatingButton || !lookAndFeel) {
|
|
137
|
+
return v3RootConfig;
|
|
138
|
+
}
|
|
139
|
+
const { fontSize, lineHeight } = lookAndFeel.typography as any;
|
|
140
|
+
return {
|
|
141
|
+
...v3RootConfig,
|
|
142
|
+
uiConfigs: {
|
|
143
|
+
...uiConfigs,
|
|
144
|
+
floatingButton: {
|
|
145
|
+
...floatingButton,
|
|
146
|
+
position: mapPositionToCamelCase(
|
|
147
|
+
v3RootConfig.uiConfigs?.floatingButton?.position as string,
|
|
148
|
+
),
|
|
149
|
+
},
|
|
150
|
+
lookAndFeel: {
|
|
151
|
+
...lookAndFeel,
|
|
152
|
+
chatHeaderLogoDarkSrc: lookAndFeel.chatHeaderLogoDarkSrc || lookAndFeel.chatHeaderLogoSrc,
|
|
153
|
+
chatHeaderLogoLightSrc: lookAndFeel.chatHeaderLogoLightSrc || lookAndFeel.chatHeaderLogoSrc,
|
|
154
|
+
typography: {
|
|
155
|
+
...lookAndFeel.typography,
|
|
156
|
+
fontSize: {
|
|
157
|
+
// The fonts sizes are defined differently in the backend config
|
|
158
|
+
// so we need to map the values to the correct camel case keys
|
|
159
|
+
b1: fontSize?.b1 || fontSize?.b_1,
|
|
160
|
+
b2: fontSize?.b2 || fontSize?.b_2,
|
|
161
|
+
b3: fontSize?.b3 || fontSize?.b_3,
|
|
162
|
+
b4: fontSize?.b4 || fontSize?.b_4,
|
|
163
|
+
b5: fontSize?.b5 || fontSize?.b_5,
|
|
164
|
+
h1: fontSize?.h1 || fontSize?.h_1,
|
|
165
|
+
h2: fontSize?.h2 || fontSize?.h_2,
|
|
166
|
+
h3: fontSize?.h3 || fontSize?.h_3,
|
|
167
|
+
l1: fontSize?.l1 || fontSize?.l_1,
|
|
168
|
+
l2: fontSize?.l2 || fontSize?.l_2,
|
|
169
|
+
t1: fontSize?.t1 || fontSize?.t_1,
|
|
170
|
+
t2: fontSize?.t2 || fontSize?.t_2,
|
|
171
|
+
t3: fontSize?.t3 || fontSize?.t_3,
|
|
172
|
+
},
|
|
173
|
+
lineHeight: {
|
|
174
|
+
...lookAndFeel.typography.lineHeight,
|
|
175
|
+
'114': lineHeight?.lh_114 || lineHeight?.[114],
|
|
176
|
+
'116': lineHeight?.lh_116 || lineHeight?.[116],
|
|
177
|
+
'118': lineHeight?.lh_118 || lineHeight?.[118],
|
|
178
|
+
'120': lineHeight?.lh_120 || lineHeight?.[120],
|
|
179
|
+
'124': lineHeight?.lh_124 || lineHeight?.[124],
|
|
180
|
+
'128': lineHeight?.lh_128 || lineHeight?.[128],
|
|
181
|
+
'130': lineHeight?.lh_130 || lineHeight?.[130],
|
|
182
|
+
'133': lineHeight?.lh_133 || lineHeight?.[133],
|
|
183
|
+
'140': lineHeight?.lh_140 || lineHeight?.[140],
|
|
184
|
+
'148': lineHeight?.lh_148 || lineHeight?.[148],
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
};
|
|
59
190
|
};
|
|
60
191
|
|
|
61
|
-
export const GraphQLProvider = ({
|
|
192
|
+
export const GraphQLProvider = ({
|
|
193
|
+
children,
|
|
194
|
+
requestV3Config = false,
|
|
195
|
+
mockV3ConfigToDeprecatedConfig = false,
|
|
196
|
+
}: GraphQLProviderProps) => {
|
|
62
197
|
const apiKey = useAtomValue(orgLevelApiKeyAtom);
|
|
63
198
|
const baseUrl = useAtomValue(baseUrlAtom);
|
|
64
|
-
|
|
65
|
-
const isReady = Boolean(apiKey && baseUrl);
|
|
199
|
+
const isReady = useMemo(() => Boolean(apiKey && baseUrl), [apiKey, baseUrl]);
|
|
66
200
|
|
|
67
201
|
const executeQuery = useCallback(
|
|
68
202
|
async (query: string, variables?: Record<string, unknown>) => {
|
|
@@ -98,6 +232,79 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
|
|
|
98
232
|
return validateGraphQLOrgId(response.me.org?.id);
|
|
99
233
|
}, [executeQuery]);
|
|
100
234
|
|
|
235
|
+
const getV3Config = useCallback(async (): Promise<GraphQlConfigValues> => {
|
|
236
|
+
try {
|
|
237
|
+
const query = await colorsAndFrontendConfigQuery();
|
|
238
|
+
if (!query) {
|
|
239
|
+
throw new Error('Colors and frontend config query is not defined');
|
|
240
|
+
}
|
|
241
|
+
const response = await executeQuery(query);
|
|
242
|
+
|
|
243
|
+
// We may update this root config location in the future
|
|
244
|
+
const v3RootConfig = response.me.getProductsConfigByVersion?.v_three_config?.values;
|
|
245
|
+
|
|
246
|
+
const v3FrontendConfig = v3FrontendConfigCleanup(
|
|
247
|
+
transformSnakeToCamel(v3RootConfig) as FrontendConfigV3Response,
|
|
248
|
+
);
|
|
249
|
+
|
|
250
|
+
const v3MountingConfigsArray = (transformSnakeToCamel(v3RootConfig?.mounting_configs) ??
|
|
251
|
+
[]) as unknown as { key: string; config: WidgetMountingConfig }[];
|
|
252
|
+
|
|
253
|
+
const v3MountingConfigs = v3MountingConfigsArray.reduce(
|
|
254
|
+
(acc, { key, config }) => {
|
|
255
|
+
acc[key] = validateAndTransformMountingConfig(config, key);
|
|
256
|
+
return acc;
|
|
257
|
+
},
|
|
258
|
+
{} as Record<string, WidgetMountingConfig>,
|
|
259
|
+
);
|
|
260
|
+
|
|
261
|
+
const v3widgetConfigsArray = (transformSnakeToCamel(v3RootConfig?.widget_configs) ??
|
|
262
|
+
[]) as unknown as WidgetConfigV3[];
|
|
263
|
+
const v3WidgetConfigs = Object.fromEntries(
|
|
264
|
+
v3widgetConfigsArray?.map(({ widgetConfigId, ...rest }: WidgetConfigV3) => [
|
|
265
|
+
widgetConfigId,
|
|
266
|
+
{ widgetConfigId, ...rest } as WidgetConfigV3,
|
|
267
|
+
]),
|
|
268
|
+
) as Record<string, WidgetConfigV3>;
|
|
269
|
+
const v3pageVariants: PageVariantConfig[] = Array.isArray(v3RootConfig?.page_variants)
|
|
270
|
+
? v3RootConfig?.page_variants.map(validateAndTransformPageVariants)
|
|
271
|
+
: DEFAULT_PAGE_VARIANTS;
|
|
272
|
+
|
|
273
|
+
const v3ColorsConfig = transformSnakeToCamel(v3RootConfig?.colors?.values);
|
|
274
|
+
|
|
275
|
+
// If the v3 root config is not found and we are configured to return the deprecated config, we will return the mocked config
|
|
276
|
+
if (!v3RootConfig && mockV3ConfigToDeprecatedConfig) {
|
|
277
|
+
const isSemanticColors = !window.location.href.includes('globals=merchant');
|
|
278
|
+
const colorsConfig = mockV3ColorsConfig;
|
|
279
|
+
const frontendConfig = mockV3FrontendConfig;
|
|
280
|
+
return {
|
|
281
|
+
colorsConfig: isSemanticColors
|
|
282
|
+
? (colorsConfig as ColorsConfigV3Response)
|
|
283
|
+
: (v3ColorsConfig as ColorsConfigV3Response),
|
|
284
|
+
frontendConfig: frontendConfig as FrontendConfigV3Response,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
return {
|
|
289
|
+
colorsConfig: v3ColorsConfig as ColorsConfigV3Response,
|
|
290
|
+
frontendConfig: {
|
|
291
|
+
...(v3FrontendConfig as FrontendConfigV3Response),
|
|
292
|
+
// Need to replace the automatic widget configs with the object based ones
|
|
293
|
+
widgetConfigs: v3WidgetConfigs,
|
|
294
|
+
},
|
|
295
|
+
orgPageConfig: {
|
|
296
|
+
pageVariants: v3pageVariants,
|
|
297
|
+
widgetConfigs: v3WidgetConfigs,
|
|
298
|
+
mountingConfigs: v3MountingConfigs,
|
|
299
|
+
},
|
|
300
|
+
// TODO: Add widgets and other config here
|
|
301
|
+
};
|
|
302
|
+
} catch (err) {
|
|
303
|
+
Logger.logError('Error fetching graphql colors and frontend config', err);
|
|
304
|
+
return { colorsConfig: undefined, frontendConfig: undefined };
|
|
305
|
+
}
|
|
306
|
+
}, [executeQuery, mockV3ConfigToDeprecatedConfig]);
|
|
307
|
+
|
|
101
308
|
const getColorsAndFrontendConfig = useCallback(async (): Promise<GraphQlConfigValues> => {
|
|
102
309
|
try {
|
|
103
310
|
const query = await colorsAndFrontendConfigQuery();
|
|
@@ -105,13 +312,33 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
|
|
|
105
312
|
throw new Error('Colors and frontend config query is not defined');
|
|
106
313
|
}
|
|
107
314
|
const response = await executeQuery(query);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
315
|
+
if (
|
|
316
|
+
response.me.getProductsConfigByVersion?.version !== ConfigVersionEnum.V3 &&
|
|
317
|
+
!mockV3ConfigToDeprecatedConfig
|
|
318
|
+
) {
|
|
319
|
+
const colorsConfig = response.me.getProductsConfigByVersion?.colors?.values;
|
|
320
|
+
const frontendConfig = response.me.getProductsConfigByVersion?.frontend?.values;
|
|
321
|
+
const transformedColorConfig = transformSnakeToCamel(colorsConfig);
|
|
322
|
+
const transformedFrontendConfig = transformSnakeToCamel(frontendConfig);
|
|
323
|
+
return {
|
|
324
|
+
colorsConfig: transformedColorConfig as ColorsConfigResponse,
|
|
325
|
+
frontendConfig: transformedFrontendConfig as FrontendConfigResponse,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
// TODO: REMOVE MOCKED CONFIG ONCE WE HAVE THE NEW CONFIG IMPLEMENTED ON BACKEND
|
|
329
|
+
const merchantColorsConfig = response.me.getProductsConfigByVersion?.colors?.values;
|
|
330
|
+
const transformedMerchantColorConfig = transformSnakeToCamel(merchantColorsConfig);
|
|
331
|
+
|
|
332
|
+
const isSemanticColors = !window.location.href.includes('globals=merchant');
|
|
333
|
+
|
|
334
|
+
const colorsConfig = mockV3ColorsConfig;
|
|
335
|
+
const frontendConfig = mockV3FrontendConfig;
|
|
336
|
+
|
|
112
337
|
return {
|
|
113
|
-
colorsConfig:
|
|
114
|
-
|
|
338
|
+
colorsConfig: isSemanticColors
|
|
339
|
+
? (colorsConfig as ColorsConfigV3Response)
|
|
340
|
+
: (transformedMerchantColorConfig as ColorsConfigV3Response),
|
|
341
|
+
frontendConfig: frontendConfig as FrontendConfigV3Response,
|
|
115
342
|
};
|
|
116
343
|
} catch (err) {
|
|
117
344
|
Logger.logError('Error fetching graphql colors and frontend config', err);
|
|
@@ -119,14 +346,24 @@ export const GraphQLProvider = ({ children }: GraphQLProviderProps) => {
|
|
|
119
346
|
}
|
|
120
347
|
}, [executeQuery]);
|
|
121
348
|
|
|
349
|
+
const getConfig = useCallback(async (): Promise<GraphQlConfigValues> => {
|
|
350
|
+
console.log('GraphQLProvider: getConfig: requestV3Config', requestV3Config);
|
|
351
|
+
if (requestV3Config) {
|
|
352
|
+
return getV3Config();
|
|
353
|
+
}
|
|
354
|
+
return getColorsAndFrontendConfig();
|
|
355
|
+
}, [getColorsAndFrontendConfig, getV3Config, requestV3Config]);
|
|
356
|
+
|
|
122
357
|
const value = useMemo(
|
|
123
358
|
() => ({
|
|
124
359
|
executeQuery,
|
|
125
360
|
getOrgId,
|
|
126
361
|
getColorsAndFrontendConfig,
|
|
362
|
+
getV3Config,
|
|
363
|
+
getConfig,
|
|
127
364
|
isReady,
|
|
128
365
|
}),
|
|
129
|
-
[executeQuery, getOrgId, getColorsAndFrontendConfig, isReady],
|
|
366
|
+
[executeQuery, getOrgId, getColorsAndFrontendConfig, getV3Config, getConfig, isReady],
|
|
130
367
|
);
|
|
131
368
|
|
|
132
369
|
return <GraphQLContext.Provider value={value}>{children}</GraphQLContext.Provider>;
|