@shopgate/engage 7.32.0-beta.2 → 7.32.0-beta.20
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/account/components/Profile/Profile.provider.d.ts +1 -1
- package/account/components/Profile/ProfileAddressBook.d.ts.map +1 -1
- package/account/components/Profile/ProfileAddressBook.js +13 -22
- package/account/components/Profile/ProfileAddressCard.d.ts.map +1 -1
- package/account/components/Profile/ProfileAddressCard.js +9 -18
- package/account/components/Profile/ProfileForm.d.ts.map +1 -1
- package/account/components/Profile/ProfileForm.js +15 -42
- package/account/components/ProfileContact/ProfileContact.js +13 -21
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts +2 -1
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts.map +1 -1
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.js +61 -5
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts +7 -1
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts.map +1 -1
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.js +14 -2
- package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts +15 -2
- package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts.map +1 -1
- package/admin-preview/constants/index.d.ts +9 -22
- package/admin-preview/constants/index.d.ts.map +1 -1
- package/admin-preview/constants/index.js +10 -27
- package/admin-preview/{detection.d.ts → helpers/_internal/detection.d.ts} +12 -8
- package/admin-preview/helpers/_internal/detection.d.ts.map +1 -0
- package/admin-preview/helpers/_internal/detection.js +93 -0
- package/admin-preview/helpers/_internal/origins.d.ts +20 -0
- package/admin-preview/helpers/_internal/origins.d.ts.map +1 -0
- package/admin-preview/helpers/_internal/origins.js +72 -0
- package/admin-preview/helpers/index.d.ts +20 -0
- package/admin-preview/helpers/index.d.ts.map +1 -1
- package/admin-preview/helpers/index.js +26 -2
- package/admin-preview/hooks/index.d.ts +9 -7
- package/admin-preview/hooks/index.d.ts.map +1 -1
- package/admin-preview/hooks/index.js +21 -18
- package/admin-preview/initialization/_internal/initialFrontendSettings.d.ts +32 -0
- package/admin-preview/initialization/_internal/initialFrontendSettings.d.ts.map +1 -0
- package/admin-preview/initialization/_internal/initialFrontendSettings.js +43 -0
- package/admin-preview/initialization/awaitInitialFrontendSettings.d.ts +23 -0
- package/admin-preview/initialization/awaitInitialFrontendSettings.d.ts.map +1 -0
- package/admin-preview/initialization/awaitInitialFrontendSettings.js +88 -0
- package/back-in-stock/components/BackInStockButton/index.js +5 -5
- package/back-in-stock/components/Subscriptions/components/Subscription/index.js +2 -5
- package/cart/components/CartItem/CartItemProductLayout.js +2 -1
- package/cart/components/CartItem/CartItemProductLayoutWide.js +2 -2
- package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +7 -14
- package/cart/components/CartItem/CartItemQuantityPicker.js +3 -2
- package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +6 -24
- package/cart/components/CartItems/CartItems.js +8 -10
- package/cart/components/CartItems/CartItemsSubstitution.js +3 -2
- package/cart/components/CartSummaryWide/CartSummaryWide.js +2 -2
- package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +9 -23
- package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +8 -30
- package/cart/components/PaymentBar/testUtils/mockFactories.js +4 -11
- package/category/components/CategoryImage/index.js +24 -17
- package/checkout/components/AddressBook/AddressList.js +14 -23
- package/checkout/components/Checkout/CheckoutActions.js +4 -3
- package/checkout/components/Checkout/CheckoutAddress.js +8 -0
- package/checkout/components/Checkout/CheckoutSection.js +6 -2
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +6 -7
- package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +7 -17
- package/components/Badge/Badge.d.ts +30 -0
- package/components/Badge/Badge.d.ts.map +1 -0
- package/components/Badge/Badge.js +49 -0
- package/components/Badge/index.d.ts +3 -0
- package/components/Badge/index.d.ts.map +1 -0
- package/components/Badge/index.js +1 -0
- package/components/Card/Card.d.ts +27 -0
- package/components/Card/Card.d.ts.map +1 -0
- package/components/Card/Card.js +57 -0
- package/components/Card/index.d.ts +4 -0
- package/components/Card/index.d.ts.map +1 -0
- package/components/Card/index.js +2 -0
- package/components/Card/useCardAppearance.d.ts +11 -0
- package/components/Card/useCardAppearance.d.ts.map +1 -0
- package/components/Card/useCardAppearance.js +22 -0
- package/components/ChipLayout/index.js +2 -4
- package/components/NavigationHandler/connector.js +1 -1
- package/components/NavigationHandler/index.d.ts +2 -2
- package/components/Paper/Paper.d.ts +48 -0
- package/components/Paper/Paper.d.ts.map +1 -0
- package/components/Paper/Paper.js +64 -0
- package/components/Paper/index.d.ts +3 -0
- package/components/Paper/index.d.ts.map +1 -0
- package/components/Paper/index.js +1 -0
- package/components/RadioCard/RadioCard.d.ts.map +1 -1
- package/components/RadioCard/RadioCard.js +2 -1
- package/components/SheetList/components/Item/index.js +8 -8
- package/components/Tabs/components/Tab.d.ts.map +1 -1
- package/components/Tabs/components/Tab.js +14 -16
- package/components/Typography/Typography.d.ts +1 -1
- package/components/Typography/Typography.d.ts.map +1 -1
- package/components/Typography/Typography.js +2 -0
- package/components/View/components/Content/index.d.ts.map +1 -1
- package/components/View/components/Content/index.js +4 -1
- package/components/constants.d.ts +6 -0
- package/components/constants.d.ts.map +1 -0
- package/components/index.d.ts +6 -1
- package/components/index.d.ts.map +1 -1
- package/components/index.js +6 -2
- package/components/v2/Button/Button.d.ts +24 -13
- package/components/v2/Button/Button.d.ts.map +1 -1
- package/components/v2/Button/Button.js +139 -41
- package/components/v2/ButtonBase/ButtonBase.d.ts +50 -10
- package/components/v2/ButtonBase/ButtonBase.d.ts.map +1 -1
- package/components/v2/ButtonBase/ButtonBase.js +192 -17
- package/components/v2/ButtonBase/hooks.d.ts +0 -1
- package/components/v2/ButtonBase/hooks.d.ts.map +1 -1
- package/components/v2/ButtonBase/hooks.js +36 -12
- package/components/v2/ButtonGroup/ButtonGroup.d.ts +11 -5
- package/components/v2/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/components/v2/ButtonGroup/ButtonGroup.js +49 -26
- package/components/v2/CircularProgress/CircularProgress.d.ts.map +1 -1
- package/components/v2/CircularProgress/CircularProgress.js +10 -5
- package/components/v2/IconButton/IconButton.d.ts +72 -0
- package/components/v2/IconButton/IconButton.d.ts.map +1 -0
- package/components/v2/IconButton/IconButton.js +169 -0
- package/components/v2/IconButton/index.d.ts +3 -0
- package/components/v2/IconButton/index.d.ts.map +1 -0
- package/components/v2/IconButton/index.js +1 -0
- package/components/v2/index.d.ts +1 -0
- package/components/v2/index.d.ts.map +1 -1
- package/components/v2/index.js +1 -0
- package/core/helpers/getFullImageSource.d.ts +5 -1
- package/core/helpers/getFullImageSource.d.ts.map +1 -1
- package/core/helpers/getFullImageSource.js +30 -14
- package/core/helpers/i18n.d.ts +4 -0
- package/core/helpers/i18n.d.ts.map +1 -1
- package/core/helpers/i18n.js +3 -0
- package/core/hooks/events/appEvents.d.ts +31 -46
- package/core/hooks/events/appEvents.d.ts.map +1 -0
- package/core/hooks/events/appEvents.js +26 -29
- package/core/hooks/events/index.d.ts +4 -4
- package/core/hooks/events/index.d.ts.map +1 -1
- package/core/hooks/events/useLongPress.d.ts +55 -58
- package/core/hooks/events/useLongPress.d.ts.map +1 -0
- package/core/hooks/events/useLongPress.js +23 -16
- package/core/hooks/events/usePressHandler.d.ts +32 -21
- package/core/hooks/events/usePressHandler.d.ts.map +1 -1
- package/core/hooks/events/usePressHandler.js +12 -10
- package/core/hooks/events/useScrollDirectionChange.d.ts +72 -61
- package/core/hooks/events/useScrollDirectionChange.d.ts.map +1 -0
- package/core/hooks/events/useScrollDirectionChange.js +36 -43
- package/core/hooks/html/useLoadImage.d.ts +3 -3
- package/core/hooks/html/useLoadImage.d.ts.map +1 -1
- package/core/hooks/html/useLoadImage.js +2 -2
- package/core/hooks/useLocalStorage.d.ts +8 -0
- package/core/hooks/useLocalStorage.d.ts.map +1 -1
- package/core/hooks/useLocalStorage.js +22 -15
- package/core/hooks/useNavigation.d.ts +10 -2
- package/core/hooks/useNavigation.d.ts.map +1 -1
- package/core/hooks/useNavigation.js +1 -2
- package/core/initialization/fetchSettings.d.ts +12 -0
- package/core/initialization/fetchSettings.d.ts.map +1 -0
- package/core/initialization/fetchSettings.js +134 -0
- package/core/initialization/index.d.ts +33 -2
- package/core/initialization/index.d.ts.map +1 -1
- package/core/initialization/index.js +44 -103
- package/core/router/conductor.d.ts +9 -0
- package/core/router/helpers.d.ts +28 -15
- package/core/router/helpers.d.ts.map +1 -1
- package/core/router/helpers.js +8 -8
- package/development/action-creators/index.d.ts +3 -0
- package/development/action-creators/index.d.ts.map +1 -0
- package/development/action-creators/settings.d.ts +45 -0
- package/development/action-creators/settings.d.ts.map +1 -0
- package/development/action-creators/settings.js +21 -10
- package/development/action-creators/storage.d.ts +17 -0
- package/development/action-creators/storage.d.ts.map +1 -0
- package/development/action-creators/storage.js +7 -4
- package/development/components/ClientInformation/ClientInformation.d.ts +6 -0
- package/development/components/ClientInformation/ClientInformation.d.ts.map +1 -0
- package/development/components/ClientInformation/ClientInformation.js +7 -4
- package/development/components/ClientInformation/actions.d.ts +6 -0
- package/development/components/ClientInformation/actions.d.ts.map +1 -0
- package/development/components/ClientInformation/actions.js +1 -1
- package/development/components/ClientInformation/index.d.ts +2 -0
- package/development/components/ClientInformation/index.d.ts.map +1 -0
- package/development/components/DevelopmentSettings/DevelopmentSettings.d.ts +16 -0
- package/development/components/DevelopmentSettings/DevelopmentSettings.d.ts.map +1 -0
- package/development/components/DevelopmentSettings/DevelopmentSettings.js +43 -30
- package/development/components/DevelopmentSettings/index.d.ts +2 -0
- package/development/components/DevelopmentSettings/index.d.ts.map +1 -0
- package/development/components/DevelopmentTools/DevelopmentTools.d.ts +10 -0
- package/development/components/DevelopmentTools/DevelopmentTools.d.ts.map +1 -0
- package/development/components/DevelopmentTools/DevelopmentTools.js +8 -8
- package/development/components/DevelopmentTools/Shortcuts.d.ts +6 -0
- package/development/components/DevelopmentTools/Shortcuts.d.ts.map +1 -0
- package/development/components/DevelopmentTools/Shortcuts.js +0 -1
- package/development/components/DevelopmentTools/hooks.d.ts +8 -0
- package/development/components/DevelopmentTools/hooks.d.ts.map +1 -0
- package/development/components/DevelopmentTools/hooks.js +2 -3
- package/development/components/DevelopmentTools/index.d.ts +2 -0
- package/development/components/DevelopmentTools/index.d.ts.map +1 -0
- package/development/components/SimulatedInsets/SimulatedInsetBottom.d.ts +7 -0
- package/development/components/SimulatedInsets/SimulatedInsetBottom.d.ts.map +1 -0
- package/development/components/SimulatedInsets/SimulatedInsetBottom.js +1 -6
- package/development/components/SimulatedInsets/SimulatedInsetTop.d.ts +7 -0
- package/development/components/SimulatedInsets/SimulatedInsetTop.d.ts.map +1 -0
- package/development/components/SimulatedInsets/SimulatedInsetTop.js +2 -7
- package/development/components/SimulatedInsets/SimulatedInsets.d.ts +13 -0
- package/development/components/SimulatedInsets/SimulatedInsets.d.ts.map +1 -0
- package/development/components/SimulatedInsets/SimulatedInsets.js +2 -7
- package/development/components/SimulatedInsets/index.d.ts +2 -0
- package/development/components/SimulatedInsets/index.d.ts.map +1 -0
- package/development/components/SimulatedInsets/types.d.ts +15 -0
- package/development/components/SimulatedInsets/types.d.ts.map +1 -0
- package/development/components/SimulatedInsets/types.js +1 -0
- package/development/components/index.d.ts +3 -0
- package/development/components/index.d.ts.map +1 -0
- package/development/constants/actionTypes.d.ts +6 -0
- package/development/constants/actionTypes.d.ts.map +1 -0
- package/development/constants/actionTypes.js +2 -1
- package/development/constants/index.d.ts +2 -0
- package/development/constants/index.d.ts.map +1 -0
- package/development/reducers/index.d.ts +24 -0
- package/development/reducers/index.d.ts.map +1 -0
- package/development/reducers/settings.d.ts +17 -0
- package/development/reducers/settings.d.ts.map +1 -0
- package/development/reducers/settings.js +48 -35
- package/development/reducers/storage.d.ts +17 -0
- package/development/reducers/storage.d.ts.map +1 -0
- package/development/reducers/storage.js +24 -24
- package/development/selectors/index.d.ts +3 -0
- package/development/selectors/index.d.ts.map +1 -0
- package/development/selectors/settings.d.ts +52 -0
- package/development/selectors/settings.d.ts.map +1 -0
- package/development/selectors/settings.js +21 -11
- package/development/selectors/storage.d.ts +10 -0
- package/development/selectors/storage.d.ts.map +1 -0
- package/development/selectors/storage.js +6 -18
- package/development/streams/index.d.ts +2 -0
- package/development/streams/index.d.ts.map +1 -0
- package/development/streams/insets.d.ts +8 -0
- package/development/streams/insets.d.ts.map +1 -0
- package/development/streams/insets.js +1 -3
- package/development/subscriptions/index.d.ts +15 -0
- package/development/subscriptions/index.d.ts.map +1 -0
- package/development/subscriptions/index.js +6 -2
- package/development/types/development.d.ts +68 -0
- package/development/types/development.d.ts.map +1 -0
- package/development/types/development.js +1 -0
- package/development/types/index.d.ts +2 -0
- package/development/types/index.d.ts.map +1 -0
- package/development/types/index.js +1 -0
- package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +7 -17
- package/favorites/components/Item/Item.d.ts +1 -1
- package/favorites/components/Item/Item.d.ts.map +1 -1
- package/favorites/components/Item/Item.js +2 -5
- package/favorites/components/List/List.d.ts +1 -1
- package/favorites/components/List/List.d.ts.map +1 -1
- package/favorites/components/List/List.js +0 -1
- package/favorites/components/List/ListContent.js +4 -5
- package/favorites/components/Lists/Lists.js +4 -5
- package/filter/components/FilterItem/index.js +12 -2
- package/filter/components/FilterPageContent/components/ApplyButton/index.d.ts +21 -0
- package/filter/components/FilterPageContent/components/ApplyButton/index.d.ts.map +1 -0
- package/filter/components/FilterPageContent/components/ApplyButton/index.js +27 -56
- package/filter/components/FilterPageContent/components/FilterButtonBar/index.d.ts +8 -0
- package/filter/components/FilterPageContent/components/FilterButtonBar/index.d.ts.map +1 -0
- package/filter/components/FilterPageContent/components/FilterButtonBar/index.js +63 -0
- package/filter/components/FilterPageContent/components/ResetButton/index.d.ts +17 -0
- package/filter/components/FilterPageContent/components/ResetButton/index.d.ts.map +1 -0
- package/filter/components/FilterPageContent/components/ResetButton/index.js +26 -46
- package/filter/components/FilterPageContent/components/Selector/components/Selected/index.d.ts +19 -0
- package/filter/components/FilterPageContent/components/Selector/components/Selected/index.d.ts.map +1 -0
- package/filter/components/FilterPageContent/components/Selector/components/Selected/index.js +25 -46
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.d.ts +14 -0
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.d.ts.map +1 -0
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +13 -46
- package/filter/components/FilterPageContent/components/Selector/components/ValueCheckbox/index.d.ts +25 -0
- package/filter/components/FilterPageContent/components/Selector/components/ValueCheckbox/index.d.ts.map +1 -0
- package/filter/components/FilterPageContent/components/Selector/components/ValueCheckbox/index.js +77 -0
- package/filter/components/FilterPageContent/components/Selector/index.d.ts +43 -0
- package/filter/components/FilterPageContent/components/Selector/index.d.ts.map +1 -0
- package/filter/components/FilterPageContent/components/Selector/index.js +52 -40
- package/filter/components/FilterPageContent/index.d.ts +16 -0
- package/filter/components/FilterPageContent/index.d.ts.map +1 -0
- package/filter/components/FilterPageContent/index.js +51 -57
- package/filter/components/PriceSlider/components/Label/index.js +86 -94
- package/filter/components/PriceSlider/index.js +43 -30
- package/filter/helpers/buildFilterParamsForFetchFiltersRequest.d.ts +8 -0
- package/filter/helpers/buildFilterParamsForFetchFiltersRequest.d.ts.map +1 -0
- package/filter/helpers/buildInitialFilters.d.ts +7 -0
- package/filter/helpers/buildInitialFilters.d.ts.map +1 -0
- package/filter/helpers/buildUpdatedFilters.d.ts +7 -0
- package/filter/helpers/buildUpdatedFilters.d.ts.map +1 -0
- package/filter/helpers/index.d.ts +5 -0
- package/filter/helpers/index.d.ts.map +1 -0
- package/filter/helpers/translateFilterLabel.d.ts +8 -0
- package/filter/helpers/translateFilterLabel.d.ts.map +1 -0
- package/filter/providers/FilterPageProvider.context.d.ts +157 -0
- package/filter/providers/FilterPageProvider.context.d.ts.map +1 -0
- package/filter/providers/FilterPageProvider.d.ts +24 -0
- package/filter/providers/FilterPageProvider.d.ts.map +1 -0
- package/filter/providers/FilterPageProvider.js +77 -132
- package/locations/components/ChangeLocationButton/ChangeLocationButton.js +10 -14
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +4 -8
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +1 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +8 -13
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +10 -10
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +12 -16
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +9 -10
- package/locations/components/ReserveForm/ReserveForm.js +6 -7
- package/locations/components/StoreDetails/components/GetDirectionsButton.js +2 -4
- package/locations/components/StoreDetails/components/StoreDetails.js +5 -10
- package/locations/components/StoreDetails/components/StoresNearbyListItem.js +13 -21
- package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +5 -11
- package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +5 -11
- package/locations/components/StoreList/StoreListProduct.js +2 -3
- package/locations/components/StoreList/StoreListSearch.js +1 -0
- package/locations/components/StoreList/StoreSelectLocationButton.js +5 -11
- package/login/components/ForgotPassword/ForgotPassword.js +11 -23
- package/mocks/date.js +31 -0
- package/mocks/index.js +3 -0
- package/mocks/pipelineRequest.js +1 -0
- package/mocks/subscriptions.js +1 -0
- package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +5 -7
- package/orders/components/OrderHistory/OrderHistoryList.d.ts.map +1 -1
- package/orders/components/OrderHistory/OrderHistoryList.js +8 -9
- package/orders/components/OrderHistory/OrderHistoryTable.d.ts.map +1 -1
- package/orders/components/OrderHistory/OrderHistoryTable.js +4 -0
- package/package.json +9 -9
- package/page/components/NotFound.d.ts +7 -0
- package/page/components/NotFound.d.ts.map +1 -0
- package/page/components/NotFound.js +8 -8
- package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.d.ts +52 -0
- package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.d.ts.map +1 -0
- package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.js +4 -4
- package/page/components/ResponsiveWidgetImage/index.d.ts +2 -0
- package/page/components/ResponsiveWidgetImage/index.d.ts.map +1 -0
- package/page/components/WidgetRichText/WidgetRichText.d.ts +25 -0
- package/page/components/WidgetRichText/WidgetRichText.d.ts.map +1 -0
- package/page/components/WidgetRichText/index.d.ts +2 -0
- package/page/components/WidgetRichText/index.d.ts.map +1 -0
- package/page/components/WidgetVideo/WidgetVideo.d.ts +43 -0
- package/page/components/WidgetVideo/WidgetVideo.d.ts.map +1 -0
- package/page/components/WidgetVideo/WidgetVideo.js +33 -39
- package/page/components/WidgetVideo/index.d.ts +2 -0
- package/page/components/WidgetVideo/index.d.ts.map +1 -0
- package/page/components/Widgets/Overlay.d.ts +17 -0
- package/page/components/Widgets/Overlay.d.ts.map +1 -0
- package/page/components/Widgets/Overlay.js +24 -38
- package/page/components/Widgets/Tooltip.d.ts +20 -0
- package/page/components/Widgets/Tooltip.d.ts.map +1 -0
- package/page/components/Widgets/Tooltip.js +6 -10
- package/page/components/Widgets/Widget.d.ts +32 -0
- package/page/components/Widgets/Widget.d.ts.map +1 -0
- package/page/components/Widgets/Widget.js +14 -28
- package/page/components/Widgets/WidgetContext.d.ts +32 -38
- package/page/components/Widgets/WidgetContext.d.ts.map +1 -0
- package/page/components/Widgets/WidgetContext.js +2 -8
- package/page/components/Widgets/WidgetProvider.d.ts +29 -0
- package/page/components/Widgets/WidgetProvider.d.ts.map +1 -0
- package/page/components/Widgets/WidgetProvider.js +8 -15
- package/page/components/Widgets/Widgets.d.ts +16 -0
- package/page/components/Widgets/Widgets.d.ts.map +1 -0
- package/page/components/Widgets/Widgets.js +5 -12
- package/page/components/Widgets/WidgetsPreviewContext.d.ts +21 -0
- package/page/components/Widgets/WidgetsPreviewContext.d.ts.map +1 -0
- package/page/components/Widgets/WidgetsPreviewContext.js +5 -7
- package/page/components/Widgets/WidgetsPreviewProvider.d.ts +18 -0
- package/page/components/Widgets/WidgetsPreviewProvider.d.ts.map +1 -0
- package/page/components/Widgets/WidgetsPreviewProvider.js +5 -6
- package/page/components/Widgets/constants.d.ts +18 -0
- package/page/components/Widgets/constants.d.ts.map +1 -0
- package/page/components/Widgets/constants.js +24 -2
- package/page/components/Widgets/events.d.ts +38 -0
- package/page/components/Widgets/events.d.ts.map +1 -0
- package/page/components/Widgets/events.js +8 -12
- package/page/components/Widgets/helpers.d.ts +69 -0
- package/page/components/Widgets/helpers.d.ts.map +1 -0
- package/page/components/Widgets/helpers.js +58 -13
- package/page/components/Widgets/hooks.d.ts +13 -0
- package/page/components/Widgets/hooks.d.ts.map +1 -0
- package/page/components/Widgets/hooks.js +18 -12
- package/page/components/Widgets/index.d.ts +3 -0
- package/page/components/Widgets/index.d.ts.map +1 -0
- package/page/components/Widgets/types.d.ts +138 -114
- package/page/components/Widgets/types.d.ts.map +1 -0
- package/page/components/Widgets/types.js +1 -0
- package/page/components/index.d.ts +5 -0
- package/page/components/index.d.ts.map +1 -0
- package/page/constants/actionTypes.d.ts +4 -0
- package/page/constants/actionTypes.d.ts.map +1 -0
- package/page/constants/index.d.ts +25 -0
- package/page/constants/index.d.ts.map +1 -0
- package/page/constants/index.js +5 -3
- package/page/helpers/index.d.ts +70 -62
- package/page/helpers/index.d.ts.map +1 -0
- package/page/helpers/index.js +31 -29
- package/page/hooks/index.d.ts +54 -53
- package/page/hooks/index.d.ts.map +1 -0
- package/page/hooks/index.js +20 -15
- package/page/selectors/index.d.ts +32 -0
- package/page/selectors/index.d.ts.map +1 -0
- package/page/widget.config.schema.json +54 -0
- package/page/widgets/Button/Button.js +2 -3
- package/page/widgets/CategoryList/CategoryList.js +2 -1
- package/page/widgets/HeroBanner/config.json +6 -0
- package/page/widgets/Image/config.json +6 -0
- package/page/widgets/ImageRow/config.json +6 -0
- package/page/widgets/ImageSlider/config.json +6 -0
- package/page/widgets/ImageSlider/hooks.js +4 -2
- package/page/widgets/NestedCategoryFilter/NestedCategoryFilter.js +8 -8
- package/page/widgets/ProductList/ProductList.js +18 -14
- package/page/widgets/ProductSlider/ProductSlider.js +1 -15
- package/page/widgets/README.md +92 -0
- package/page/widgets/Video/Video.d.ts +6 -0
- package/page/widgets/Video/Video.d.ts.map +1 -0
- package/page/widgets/Video/Video.js +0 -2
- package/page/widgets/Video/config.json +6 -0
- package/page/widgets/Video/hooks.d.ts +53 -0
- package/page/widgets/Video/hooks.d.ts.map +1 -0
- package/page/widgets/Video/hooks.js +4 -12
- package/page/widgets/Video/index.d.ts +2 -0
- package/page/widgets/Video/index.d.ts.map +1 -0
- package/product/components/Description/index.js +0 -2
- package/product/components/FilterBar/components/Content/components/FilterButton/index.js +38 -46
- package/product/components/FilterBar/components/Content/components/FilterChips/components/FilterChip/index.d.ts +38 -0
- package/product/components/FilterBar/components/Content/components/FilterChips/components/FilterChip/index.d.ts.map +1 -0
- package/product/components/FilterBar/components/Content/components/FilterChips/components/FilterChip/index.js +88 -0
- package/product/components/FilterBar/components/Content/components/FilterChips/index.js +54 -35
- package/product/components/FilterBar/components/Content/components/Sort/index.js +1 -1
- package/product/components/FilterBar/components/Content/index.js +7 -3
- package/product/components/FilterBar/index.js +11 -22
- package/product/components/Media/FeaturedMedia.js +7 -1
- package/product/components/Media/MediaImage.js +24 -23
- package/product/components/Media/MediaPlaceholder.js +4 -7
- package/product/components/MediaSlider/components/MediaImage/index.js +6 -2
- package/product/components/MediaSlider/constants.js +1 -12
- package/product/components/OrderQuantityHint/index.js +16 -1
- package/product/components/ProductCard/index.js +36 -23
- package/product/components/ProductFilters/index.js +2 -6
- package/product/components/ProductGrid/components/Item/components/ItemDetails/index.js +12 -4
- package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/index.js +0 -1
- package/product/components/ProductGrid/components/Item/components/ItemImage/index.js +3 -6
- package/product/components/ProductGrid/components/Item/components/ItemName/index.js +6 -1
- package/product/components/ProductGrid/components/Item/index.js +10 -2
- package/product/components/ProductGrid/components/Layout/index.js +19 -4
- package/product/components/ProductGrid/constants.d.ts +2 -0
- package/product/components/ProductGrid/constants.d.ts.map +1 -0
- package/product/components/ProductGrid/constants.js +1 -0
- package/product/components/ProductGrid/hooks.d.ts +11 -0
- package/product/components/ProductGrid/hooks.d.ts.map +1 -0
- package/product/components/ProductGrid/hooks.js +48 -0
- package/product/components/ProductGrid/index.js +3 -6
- package/product/components/ProductGridPrice/index.js +0 -6
- package/product/components/ProductImage/ProductImage.d.ts +42 -0
- package/product/components/ProductImage/ProductImage.d.ts.map +1 -0
- package/product/components/ProductImage/ProductImage.js +158 -0
- package/product/components/ProductImage/ProductImagePlaceholder.d.ts +23 -0
- package/product/components/ProductImage/ProductImagePlaceholder.d.ts.map +1 -0
- package/product/components/ProductImage/ProductImagePlaceholder.js +12 -17
- package/product/components/ProductImage/constants.d.ts +7 -0
- package/product/components/ProductImage/constants.d.ts.map +1 -0
- package/product/components/ProductImage/constants.js +6 -0
- package/product/components/ProductImage/hooks.d.ts +8 -0
- package/product/components/ProductImage/hooks.d.ts.map +1 -0
- package/product/components/ProductImage/hooks.js +32 -0
- package/product/components/ProductImage/index.d.ts +3 -0
- package/product/components/ProductImage/index.d.ts.map +1 -0
- package/product/components/ProductImage/index.js +1 -201
- package/product/components/ProductList/components/Item/index.js +5 -3
- package/product/components/ProductList/components/Layout/index.js +8 -20
- package/product/components/ProductRatingStars/ProductRatingStars.d.ts.map +1 -1
- package/product/components/ProductRatingStars/ProductRatingStars.js +4 -17
- package/product/components/ProductSlider/constants.d.ts +3 -0
- package/product/components/ProductSlider/constants.d.ts.map +1 -0
- package/product/components/ProductSlider/constants.js +2 -0
- package/product/components/ProductSlider/hooks.d.ts +7 -0
- package/product/components/ProductSlider/hooks.d.ts.map +1 -0
- package/product/components/ProductSlider/hooks.js +40 -0
- package/product/components/ProductSlider/index.js +8 -8
- package/product/components/Rating/index.js +12 -21
- package/product/components/RelationsSlider/RelationsSliderContent.js +3 -2
- package/product/components/RelationsSlider/constants.d.ts +3 -0
- package/product/components/RelationsSlider/constants.d.ts.map +1 -0
- package/product/components/RelationsSlider/constants.js +2 -1
- package/product/components/RelationsSlider/hooks.d.ts +6 -0
- package/product/components/RelationsSlider/hooks.d.ts.map +1 -0
- package/product/components/RelationsSlider/hooks.js +34 -0
- package/product/components/UnitQuantityPicker/UnitQuantityPicker.d.ts.map +1 -1
- package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +15 -33
- package/product/helpers/index.js +29 -11
- package/product/hooks/index.js +3 -1
- package/product/hooks/useLoadProductImage.js +4 -2
- package/product/hooks/useShowEmptyRatingStars.d.ts +7 -0
- package/product/hooks/useShowEmptyRatingStars.d.ts.map +1 -0
- package/product/hooks/useShowEmptyRatingStars.js +21 -0
- package/product/index.js +0 -1
- package/product/selectors/mocks/productProperties.mock.js +49 -0
- package/push-opt-in/components/PushOptInModal/index.js +4 -4
- package/registration/components/Registration/RegistrationFormActions.js +4 -4
- package/reviews/components/Reviews/components/AllReviewsLink/index.js +6 -6
- package/reviews/components/Reviews/components/Header/components/WriteReviewLink/index.js +4 -3
- package/settings/action-creators/appSettings.d.ts +3 -3
- package/settings/action-creators/appSettings.d.ts.map +1 -1
- package/settings/constants/appSettings.d.ts +3 -0
- package/settings/constants/appSettings.d.ts.map +1 -1
- package/settings/constants/appSettings.js +6 -1
- package/settings/constants/imageSettings.d.ts +52 -0
- package/settings/constants/imageSettings.d.ts.map +1 -0
- package/settings/constants/imageSettings.js +69 -0
- package/settings/helpers/index.d.ts +3 -0
- package/settings/helpers/index.d.ts.map +1 -0
- package/settings/helpers/index.js +1 -0
- package/settings/helpers/resolveImageSettings.d.ts +70 -0
- package/settings/helpers/resolveImageSettings.d.ts.map +1 -0
- package/settings/helpers/resolveImageSettings.js +171 -0
- package/settings/helpers/toImageQuality.d.ts +7 -0
- package/settings/helpers/toImageQuality.d.ts.map +1 -0
- package/settings/helpers/toImageQuality.js +44 -0
- package/settings/helpers/toThumborColor.d.ts +15 -0
- package/settings/helpers/toThumborColor.d.ts.map +1 -0
- package/settings/helpers/toThumborColor.js +51 -0
- package/settings/hooks/index.d.ts +2 -0
- package/settings/hooks/index.d.ts.map +1 -0
- package/settings/hooks/index.js +1 -0
- package/settings/hooks/useImageSettings.d.ts +28 -0
- package/settings/hooks/useImageSettings.d.ts.map +1 -0
- package/settings/hooks/useImageSettings.js +39 -0
- package/settings/reducers/appSettings.d.ts.map +1 -1
- package/settings/reducers/appSettings.js +123 -8
- package/settings/reducers/index.d.ts +3 -3
- package/settings/selectors/appSettings.d.ts +122 -1
- package/settings/selectors/appSettings.d.ts.map +1 -1
- package/settings/selectors/appSettings.js +80 -1
- package/settings/types/appSettings.d.ts +279 -0
- package/settings/types/appSettings.d.ts.map +1 -1
- package/settings/types/appSettings.js +133 -1
- package/styles/helpers/index.d.ts +2 -0
- package/styles/helpers/index.js +2 -0
- package/styles/helpers/loadFontCss.d.ts +22 -0
- package/styles/helpers/loadFontCss.d.ts.map +1 -0
- package/styles/helpers/loadFontCss.js +138 -0
- package/styles/helpers/loadThemeCss.d.ts +14 -0
- package/styles/helpers/loadThemeCss.d.ts.map +1 -0
- package/styles/helpers/loadThemeCss.js +123 -0
- package/styles/index.d.ts +1 -1
- package/styles/index.d.ts.map +1 -1
- package/styles/reset/root.js +23 -4
- package/styles/reset/typographyCustomProps.d.ts +12 -0
- package/styles/reset/typographyCustomProps.d.ts.map +1 -0
- package/styles/reset/typographyCustomProps.js +11 -0
- package/styles/theme/createDefaultThemeOptions/index.d.ts +11 -1
- package/styles/theme/createDefaultThemeOptions/index.d.ts.map +1 -1
- package/styles/theme/createDefaultThemeOptions/index.js +129 -10
- package/styles/theme/createTheme/createComponents.types.d.ts +118 -4
- package/styles/theme/createTheme/createComponents.types.d.ts.map +1 -1
- package/styles/theme/createTheme/createComponents.types.js +122 -8
- package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.d.ts.map +1 -1
- package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.js +13 -3
- package/styles/theme/createTheme/createPalette.types.d.ts +5 -0
- package/styles/theme/createTheme/createPalette.types.d.ts.map +1 -1
- package/styles/theme/createTheme/createPalette.types.js +7 -2
- package/styles/theme/createTheme/createShape.d.ts +3 -0
- package/styles/theme/createTheme/createShape.d.ts.map +1 -1
- package/styles/theme/createTheme/createThemeFromColorScheme.d.ts +3 -1
- package/styles/theme/createTheme/createThemeFromColorScheme.d.ts.map +1 -1
- package/styles/theme/createTheme/createThemeFromColorScheme.js +6 -3
- package/styles/theme/createTheme/createTypography.d.ts +4 -2
- package/styles/theme/createTheme/createTypography.js +60 -18
- package/styles/theme/createTheme/helpers/cssVarsParser.d.ts.map +1 -1
- package/styles/theme/createTheme/helpers/cssVarsParser.js +10 -3
- package/styles/theme/createTheme/index.d.ts +2 -1
- package/styles/theme/createTheme/index.d.ts.map +1 -1
- package/styles/theme/createTheme/index.js +3 -1
- package/styles/theme/createTheme/shadows.d.ts +11 -1
- package/styles/theme/createTheme/shadows.d.ts.map +1 -1
- package/styles/theme/createTheme/shadows.js +41 -7
- package/styles/theme/createTheme/types.d.ts +16 -5
- package/styles/theme/createTheme/types.d.ts.map +1 -1
- package/styles/theme/createTheme/types.js +8 -3
- package/styles/theme/hooks/useColorScheme.d.ts +4 -3
- package/styles/theme/hooks/useColorScheme.d.ts.map +1 -1
- package/styles/theme/hooks/useColorScheme.js +4 -3
- package/styles/theme/hooks/useMediaQuery.d.ts +7 -0
- package/styles/theme/hooks/useMediaQuery.d.ts.map +1 -1
- package/styles/theme/hooks/useMediaQuery.js +5 -5
- package/styles/theme/hooks/useTheme.js +1 -1
- package/styles/theme/index.d.ts +4 -1
- package/styles/theme/index.d.ts.map +1 -1
- package/styles/theme/providers/ColorSchemeContext.d.ts +40 -0
- package/styles/theme/providers/ColorSchemeContext.d.ts.map +1 -0
- package/styles/theme/providers/ColorSchemeContext.js +14 -0
- package/styles/theme/providers/ThemeContext.d.ts +3 -0
- package/styles/theme/providers/ThemeContext.d.ts.map +1 -0
- package/styles/theme/providers/ThemeContext.js +2 -0
- package/styles/theme/providers/ThemeProvider.d.ts +3 -13
- package/styles/theme/providers/ThemeProvider.d.ts.map +1 -1
- package/styles/theme/providers/ThemeProvider.js +86 -13
- package/styles/theme/utils/color.d.ts +12 -12
- package/styles/theme/utils/color.d.ts.map +1 -1
- package/tracking/components/CookieConsentModal/index.js +3 -4
- package/tracking/components/PrivacySettings/index.js +3 -3
- package/admin-preview/detection.d.ts.map +0 -1
- package/admin-preview/detection.js +0 -166
- package/cart/components/PaymentBar/PaymentBarReserveButton.connector.js +0 -6
- package/cart/components/PaymentBar/PaymentBarReserveButton.js +0 -71
- package/components/ChipLayout/spec.js +0 -41
- package/components/Logo/spec.js +0 -12
- package/components/NavigationHandler/spec.js +0 -84
- package/components/Picker/spec.js +0 -94
- package/components/PickerUtilize/spec.js +0 -35
- package/components/RangeSlider/spec.js +0 -190
- package/components/SheetList/components/Item/spec.js +0 -101
- package/components/SheetList/spec.js +0 -43
- package/components/TimeBoundary/spec.js +0 -83
- package/filter/components/FilterItem/spec.js +0 -14
- package/filter/components/FilterPageContent/components/ApplyButton/spec.js +0 -46
- package/filter/components/FilterPageContent/components/ResetButton/spec.js +0 -29
- package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +0 -26
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +0 -34
- package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +0 -69
- package/filter/components/FilterPageContent/components/Selector/components/ValueButton/spec.js +0 -32
- package/filter/components/FilterPageContent/components/Selector/spec.js +0 -33
- package/filter/components/PriceSlider/components/Label/spec.js +0 -26
- package/filter/components/PriceSlider/spec.js +0 -30
- package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.connector.js +0 -16
- package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +0 -52
- package/product/collections/index.js +0 -1
- package/product/components/EffectivityDates/constants.d.ts +0 -3
- package/product/components/EffectivityDates/constants.d.ts.map +0 -1
- package/product/components/EffectivityDates/helpers.d.ts +0 -6
- package/product/components/EffectivityDates/helpers.d.ts.map +0 -1
- package/product/components/FilterBar/components/Content/components/FilterChips/connector.js +0 -22
- package/product/components/FilterBar/components/Content/spec.js +0 -136
- package/product/components/Header/Shipping/spec.js +0 -36
- package/product/components/Header/Tiers/components/Tier/spec.js +0 -48
- package/product/components/Header/Tiers/spec.js +0 -64
- package/product/components/Media/helpers.d.ts +0 -2
- package/product/components/Media/helpers.d.ts.map +0 -1
- package/product/components/Options/components/Content/spec.js +0 -73
- package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +0 -72
- package/product/components/ProductDiscountBadge/spec.js +0 -58
- package/product/components/ProductGrid/components/Item/components/ItemDetails/spec.js +0 -73
- package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/spec.js +0 -33
- package/product/components/ProductGrid/components/Item/components/ItemImage/spec.js +0 -16
- package/product/components/ProductGrid/components/Item/components/ItemName/spec.js +0 -21
- package/product/components/ProductGrid/components/Item/components/ItemPrice/spec.js +0 -37
- package/product/components/ProductGrid/spec.js +0 -52
- package/product/components/ProductImage/connector.js +0 -12
- package/product/components/ProductImage/spec.js +0 -87
- package/product/components/ProductSlider/spec.js +0 -37
- package/product/components/Rating/connector.js +0 -26
- package/product/components/Rating/spec.js +0 -58
- package/product/helpers/index.d.ts +0 -13
- package/product/helpers/index.d.ts.map +0 -1
- package/product/helpers/redirects.d.ts +0 -2
- package/product/helpers/redirects.d.ts.map +0 -1
- package/product/selectors/helpers/filterProperties.d.ts +0 -8
- package/product/selectors/helpers/filterProperties.d.ts.map +0 -1
- package/product/selectors/helpers/index.d.ts +0 -3
- package/product/selectors/helpers/index.d.ts.map +0 -1
- package/product/selectors/helpers/wrapMemoizedSelector.d.ts +0 -2
- package/product/selectors/helpers/wrapMemoizedSelector.d.ts.map +0 -1
- package/product/selectors/product.d.ts +0 -112
- package/product/selectors/product.d.ts.map +0 -1
- package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +0 -52
- package/reviews/components/Reviews/components/Header/spec.js +0 -78
- package/reviews/components/Reviews/components/List/spec.js +0 -108
- package/reviews/components/Reviews/components/RatingCount/spec.js +0 -38
- package/reviews/components/Reviews/spec.js +0 -101
- package/tsconfig.build.json +0 -26
- package/tsconfig.json +0 -19
|
@@ -2,7 +2,7 @@ import React, { useMemo, useState, useEffect } from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { makeStyles, useResponsiveValue } from '@shopgate/engage/styles';
|
|
4
4
|
import { useParallax } from 'react-scroll-parallax';
|
|
5
|
-
import {
|
|
5
|
+
import { isAdminPreviewActive } from '@shopgate/engage/admin-preview/helpers';
|
|
6
6
|
import { parseImageUrl } from "../../helpers";
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -13,7 +13,7 @@ import { parseImageUrl } from "../../helpers";
|
|
|
13
13
|
/**
|
|
14
14
|
* @typedef {Object} CustomResponsiveImageProps
|
|
15
15
|
* @property {boolean} [enableParallax] Whether to enable the parallax effect.
|
|
16
|
-
* @property {number} [borderRadius] The border radius to apply to the image.
|
|
16
|
+
* @property {number|string} [borderRadius] The border radius to apply to the image.
|
|
17
17
|
* @property {Breakpoint} [breakpoint] The breakpoint from which on a higher resolution image should
|
|
18
18
|
* be loaded.
|
|
19
19
|
* @property {boolean} [isBanner] Whether the image is used as a banner (full width and height of
|
|
@@ -129,7 +129,7 @@ const ResponsiveWidgetImage = ({
|
|
|
129
129
|
[classes.container]: !isBanner
|
|
130
130
|
}),
|
|
131
131
|
style: {
|
|
132
|
-
borderRadius
|
|
132
|
+
borderRadius,
|
|
133
133
|
...(!isBanner && enableParallax ? {
|
|
134
134
|
aspectRatio: containerRatio
|
|
135
135
|
} : {})
|
|
@@ -143,7 +143,7 @@ const ResponsiveWidgetImage = ({
|
|
|
143
143
|
// height 0 until a resize forces the browser to re-evaluate. Load eagerly there; keep lazy
|
|
144
144
|
// loading for the live app.
|
|
145
145
|
,
|
|
146
|
-
loading:
|
|
146
|
+
loading: isAdminPreviewActive() ? 'eager' : 'lazy',
|
|
147
147
|
className: cx(classes.preventSave, classes.image, {
|
|
148
148
|
[classes.banner]: isBanner
|
|
149
149
|
}, className),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../page/components/ResponsiveWidgetImage/index.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export default WidgetRichText;
|
|
2
|
+
/**
|
|
3
|
+
* @param {Object} props The component props.
|
|
4
|
+
* @param {string} props.content The rich text content.
|
|
5
|
+
* @param {string} [props.className] An optional class name.
|
|
6
|
+
* @returns {JSX.Element}
|
|
7
|
+
*/
|
|
8
|
+
declare function WidgetRichText({ content, className, }: {
|
|
9
|
+
content: string;
|
|
10
|
+
className?: string | undefined;
|
|
11
|
+
}): JSX.Element;
|
|
12
|
+
declare namespace WidgetRichText {
|
|
13
|
+
namespace propTypes {
|
|
14
|
+
let className: PropTypes.Requireable<string>;
|
|
15
|
+
let content: PropTypes.Requireable<string>;
|
|
16
|
+
}
|
|
17
|
+
namespace defaultProps {
|
|
18
|
+
let content_1: string;
|
|
19
|
+
export { content_1 as content };
|
|
20
|
+
let className_1: null;
|
|
21
|
+
export { className_1 as className };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
import PropTypes from 'prop-types';
|
|
25
|
+
//# sourceMappingURL=WidgetRichText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetRichText.d.ts","sourceRoot":"","sources":["../../../../page/components/WidgetRichText/WidgetRichText.jsx"],"names":[],"mappings":";AA2DA;;;;;GAKG;AACH,yDAJG;IAAsB,OAAO,EAArB,MAAM;IACS,SAAS;CAChC,GAAU,GAAG,CAAC,OAAO,CAmBvB;;;;;;;;;;;;;sBAjFqB,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../page/components/WidgetRichText/index.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props of the {@link WidgetVideo} component.
|
|
3
|
+
*/
|
|
4
|
+
export interface WidgetVideoProps {
|
|
5
|
+
/**
|
|
6
|
+
* Whether the video is used in a banner.
|
|
7
|
+
*/
|
|
8
|
+
isBanner?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* The video URL.
|
|
11
|
+
*/
|
|
12
|
+
url?: string | null;
|
|
13
|
+
/**
|
|
14
|
+
* Whether the video is muted.
|
|
15
|
+
*/
|
|
16
|
+
muted?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the video is looping.
|
|
19
|
+
*/
|
|
20
|
+
loop?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the video controls are shown.
|
|
23
|
+
*/
|
|
24
|
+
controls?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the video should autoplay.
|
|
27
|
+
*/
|
|
28
|
+
autoplay?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The border radius value.
|
|
31
|
+
*/
|
|
32
|
+
borderRadius?: number | string;
|
|
33
|
+
/**
|
|
34
|
+
* The link URL.
|
|
35
|
+
*/
|
|
36
|
+
link?: string | null;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The WidgetVideo component is used to display a video in a widget.
|
|
40
|
+
*/
|
|
41
|
+
declare const WidgetVideo: ({ isBanner, url, muted, loop, controls, autoplay, borderRadius, link, }: WidgetVideoProps) => import("react").JSX.Element | null;
|
|
42
|
+
export default WidgetVideo;
|
|
43
|
+
//# sourceMappingURL=WidgetVideo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetVideo.d.ts","sourceRoot":"","sources":["../../../../page/components/WidgetVideo/WidgetVideo.tsx"],"names":[],"mappings":"AAsDA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,QAAA,MAAM,WAAW,GAAI,yEASlB,gBAAgB,uCAsFlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useEffect, useMemo, useState, useRef } from 'react';
|
|
2
2
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
3
3
|
import { useReduceMotion } from '@shopgate/engage/a11y/hooks';
|
|
4
4
|
import { usePrevious, useAppEventOnReturnFromBackground } from '@shopgate/engage/core/hooks';
|
|
5
|
-
import { ConditionalWrapper, Link } from '@shopgate/engage/components';
|
|
6
|
-
import PropTypes from 'prop-types';
|
|
5
|
+
import { ConditionalWrapper, Link as EngageLink } from '@shopgate/engage/components';
|
|
7
6
|
import { isHttpsUrl } from "../../helpers";
|
|
7
|
+
|
|
8
|
+
// `Link` is a redux-connected component whose react-redux connect() typing resolves its own props
|
|
9
|
+
// (href/children) to `never`; alias it to its actual usable prop shape.
|
|
8
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const Link = EngageLink;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Style parameters for the widget video.
|
|
15
|
+
*/
|
|
16
|
+
|
|
9
17
|
const useStyles = makeStyles()((_theme, {
|
|
10
18
|
borderRadius
|
|
11
19
|
}) => ({
|
|
@@ -36,28 +44,22 @@ const useStyles = makeStyles()((_theme, {
|
|
|
36
44
|
}
|
|
37
45
|
}));
|
|
38
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Props of the {@link WidgetVideo} component.
|
|
49
|
+
*/
|
|
50
|
+
|
|
39
51
|
/**
|
|
40
52
|
* The WidgetVideo component is used to display a video in a widget.
|
|
41
|
-
* @param {Object} props The component props.
|
|
42
|
-
* @param {boolean} props.isBanner Whether the video is used in a banner.
|
|
43
|
-
* @param {string} props.url The video URL.
|
|
44
|
-
* @param {boolean} props.muted Whether the video is muted.
|
|
45
|
-
* @param {boolean} props.loop Whether the video is looping.
|
|
46
|
-
* @param {boolean} props.controls Whether the video controls are shown.
|
|
47
|
-
* @param {boolean} props.autoplay Whether the video should autoplay.
|
|
48
|
-
* @param {number} props.borderRadius The border radius value.
|
|
49
|
-
* @param {string} props.link The link URL.
|
|
50
|
-
* @returns {JSX.Element}
|
|
51
53
|
*/
|
|
52
54
|
const WidgetVideo = ({
|
|
53
|
-
isBanner,
|
|
54
|
-
url,
|
|
55
|
-
muted,
|
|
56
|
-
loop,
|
|
57
|
-
controls,
|
|
58
|
-
autoplay,
|
|
59
|
-
borderRadius,
|
|
60
|
-
link
|
|
55
|
+
isBanner = false,
|
|
56
|
+
url = null,
|
|
57
|
+
muted = false,
|
|
58
|
+
loop = false,
|
|
59
|
+
controls = false,
|
|
60
|
+
autoplay = false,
|
|
61
|
+
borderRadius = 0,
|
|
62
|
+
link = null
|
|
61
63
|
}) => {
|
|
62
64
|
const reduceMotion = useReduceMotion();
|
|
63
65
|
const autoplayValue = reduceMotion ? false : isBanner || autoplay;
|
|
@@ -68,7 +70,7 @@ const WidgetVideo = ({
|
|
|
68
70
|
borderRadius
|
|
69
71
|
});
|
|
70
72
|
const [hasError, setHasError] = useState(false);
|
|
71
|
-
const videoRef =
|
|
73
|
+
const videoRef = useRef(null);
|
|
72
74
|
const prevUrl = usePrevious(url);
|
|
73
75
|
const isValidUrl = useMemo(() => url ? isHttpsUrl(url) : false, [url]);
|
|
74
76
|
const showControls = useMemo(() => {
|
|
@@ -81,25 +83,27 @@ const WidgetVideo = ({
|
|
|
81
83
|
|
|
82
84
|
// Resume video playback when app returned from background
|
|
83
85
|
useAppEventOnReturnFromBackground(() => {
|
|
84
|
-
|
|
86
|
+
const video = videoRef.current;
|
|
87
|
+
if (!video || reduceMotion || !autoplayValue) {
|
|
85
88
|
return;
|
|
86
89
|
}
|
|
87
|
-
|
|
90
|
+
video.play();
|
|
88
91
|
});
|
|
89
92
|
useEffect(() => {
|
|
90
|
-
|
|
93
|
+
const video = videoRef.current;
|
|
94
|
+
if (!video) {
|
|
91
95
|
return;
|
|
92
96
|
}
|
|
93
97
|
if (reduceMotion) {
|
|
94
98
|
// Pause playback when reduced motion settings changed after video was rendered
|
|
95
|
-
|
|
99
|
+
video.pause();
|
|
96
100
|
return;
|
|
97
101
|
}
|
|
98
102
|
if (autoplayValue) {
|
|
99
|
-
|
|
103
|
+
video.play();
|
|
100
104
|
} else {
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
video.pause();
|
|
106
|
+
video.currentTime = 0;
|
|
103
107
|
}
|
|
104
108
|
}, [autoplayValue, reduceMotion]);
|
|
105
109
|
useEffect(() => {
|
|
@@ -146,14 +150,4 @@ const WidgetVideo = ({
|
|
|
146
150
|
})
|
|
147
151
|
});
|
|
148
152
|
};
|
|
149
|
-
WidgetVideo.defaultProps = {
|
|
150
|
-
isBanner: false,
|
|
151
|
-
link: null,
|
|
152
|
-
url: null,
|
|
153
|
-
muted: false,
|
|
154
|
-
loop: false,
|
|
155
|
-
controls: false,
|
|
156
|
-
autoplay: false,
|
|
157
|
-
borderRadius: 0
|
|
158
|
-
};
|
|
159
153
|
export default WidgetVideo;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../page/components/WidgetVideo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props of the {@link Overlay} component.
|
|
4
|
+
*/
|
|
5
|
+
export interface OverlayProps {
|
|
6
|
+
/**
|
|
7
|
+
* The reference to the container element that holds the widgets.
|
|
8
|
+
*/
|
|
9
|
+
containerRef: RefObject<HTMLDivElement>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The Overlay component is used to highlight the active widget when preview mode is active.
|
|
13
|
+
* It also visualizes the margins of the widget and the borders to its sibling widgets.
|
|
14
|
+
*/
|
|
15
|
+
declare const Overlay: ({ containerRef, }: OverlayProps) => import("react").JSX.Element | null;
|
|
16
|
+
export default Overlay;
|
|
17
|
+
//# sourceMappingURL=Overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EACqC,KAAK,SAAS,EACzD,MAAM,OAAO,CAAC;AA+Ff;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,QAAA,MAAM,OAAO,GAAI,mBAEd,YAAY,uCAmNd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
1
|
+
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
3
2
|
import { makeStyles, keyframes, colorToRgba } from '@shopgate/engage/styles';
|
|
4
3
|
import { useRoute } from '@shopgate/engage/core/hooks';
|
|
5
4
|
import { getScrollContainer } from "./helpers";
|
|
@@ -7,19 +6,15 @@ import { useWidgetPreviewEvent } from "./events";
|
|
|
7
6
|
import { useWidgetsPreview } from "./hooks";
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @property {number} top Style for the top position of the overlay.
|
|
12
|
-
* @property {number} left Style for the left position of the overlay.
|
|
13
|
-
* @property {number} width Style for the width of the overlay.
|
|
14
|
-
* @property {number} height Style for the height of the overlay.
|
|
9
|
+
* Position and dimensions of a single overlay rectangle.
|
|
15
10
|
*/
|
|
16
11
|
|
|
17
12
|
/**
|
|
18
|
-
*
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*
|
|
13
|
+
* Styles for the four margin overlays surrounding the active widget.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Style parameters for the overlay.
|
|
23
18
|
*/
|
|
24
19
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
25
20
|
const useStyles = makeStyles({
|
|
@@ -62,13 +57,13 @@ const useStyles = makeStyles({
|
|
|
62
57
|
}
|
|
63
58
|
}));
|
|
64
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Props of the {@link Overlay} component.
|
|
62
|
+
*/
|
|
63
|
+
|
|
65
64
|
/**
|
|
66
65
|
* The Overlay component is used to highlight the active widget when preview mode is active.
|
|
67
66
|
* It also visualizes the margins of the widget and the borders to its sibling widgets.
|
|
68
|
-
* @param {Object} props The component props.
|
|
69
|
-
* @param {React.Ref<HTMLDivElement>} props.containerRef The reference to the container element that
|
|
70
|
-
* holds the widgets.
|
|
71
|
-
* @returns {JSX.Element|null}
|
|
72
67
|
*/
|
|
73
68
|
const Overlay = ({
|
|
74
69
|
containerRef
|
|
@@ -84,17 +79,10 @@ const Overlay = ({
|
|
|
84
79
|
activeWidget
|
|
85
80
|
} = useWidgetsPreview();
|
|
86
81
|
|
|
87
|
-
|
|
88
|
-
* State to hold the style for the main overlay that highlights the active widget.
|
|
89
|
-
* @type {[OverlayStyle|null, React.Dispatch<React.SetStateAction<OverlayStyle|null>>]}
|
|
90
|
-
*/
|
|
82
|
+
// State to hold the style for the main overlay that highlights the active widget.
|
|
91
83
|
const [mainOverlayStyle, setMainOverlayStyle] = useState(null);
|
|
92
84
|
|
|
93
|
-
|
|
94
|
-
* State to hold the styles for the margin overlays that visualize the widget margins.
|
|
95
|
-
* @type {[MarginOverlayStyles|null,
|
|
96
|
-
* React.Dispatch<React.SetStateAction<MarginOverlayStyles|null>>]}
|
|
97
|
-
*/
|
|
85
|
+
// State to hold the styles for the margin overlays that visualize the widget margins.
|
|
98
86
|
const [marginOverlays, setMarginOverlays] = useState(null);
|
|
99
87
|
const [isFlashing, setIsFlashing] = useState(false);
|
|
100
88
|
const {
|
|
@@ -105,14 +93,7 @@ const Overlay = ({
|
|
|
105
93
|
marginOverlayColor,
|
|
106
94
|
isFlashing
|
|
107
95
|
});
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* @type {import('react').MutableRefObject<ResizeObserver|null>}
|
|
111
|
-
*/
|
|
112
96
|
const resizeRef = useRef(null);
|
|
113
|
-
/**
|
|
114
|
-
* @type {import('react').MutableRefObject<MutationObserver|null>}
|
|
115
|
-
*/
|
|
116
97
|
const mutationRef = useRef(null);
|
|
117
98
|
|
|
118
99
|
/**
|
|
@@ -128,6 +109,9 @@ const Overlay = ({
|
|
|
128
109
|
return;
|
|
129
110
|
}
|
|
130
111
|
const scrollContainer = getScrollContainer();
|
|
112
|
+
if (!scrollContainer) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
131
115
|
|
|
132
116
|
// Get the computed styles of the active widget to calculate margins
|
|
133
117
|
const styles = window.getComputedStyle(target);
|
|
@@ -191,33 +175,34 @@ const Overlay = ({
|
|
|
191
175
|
if (!containerEl) return undefined;
|
|
192
176
|
|
|
193
177
|
// Create a ResizeObserver to watch for size changes of children
|
|
194
|
-
|
|
178
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
195
179
|
// Whenever any observed child resizes, update overlay
|
|
196
180
|
updateOverlay();
|
|
197
181
|
});
|
|
182
|
+
resizeRef.current = resizeObserver;
|
|
198
183
|
|
|
199
184
|
// Observe all existing children
|
|
200
185
|
Array.from(containerEl.children).forEach(child => {
|
|
201
186
|
if (child.nodeType === Node.ELEMENT_NODE) {
|
|
202
|
-
|
|
187
|
+
resizeObserver.observe(child);
|
|
203
188
|
}
|
|
204
189
|
});
|
|
205
190
|
|
|
206
191
|
// Create one MutationObserver on the container to watch for changes in the DOM
|
|
207
|
-
|
|
192
|
+
const mutationObserver = new MutationObserver(mutations => {
|
|
208
193
|
for (const mutation of mutations) {
|
|
209
194
|
if (mutation.type === 'childList') {
|
|
210
195
|
// Handle newly added nodes - observe them for size changes
|
|
211
196
|
mutation.addedNodes.forEach(node => {
|
|
212
197
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
213
|
-
|
|
198
|
+
resizeObserver.observe(node);
|
|
214
199
|
}
|
|
215
200
|
});
|
|
216
201
|
|
|
217
202
|
// Handle removed nodes - remove them from observation
|
|
218
203
|
mutation.removedNodes.forEach(node => {
|
|
219
204
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
220
|
-
|
|
205
|
+
resizeObserver.unobserve(node);
|
|
221
206
|
}
|
|
222
207
|
});
|
|
223
208
|
|
|
@@ -231,11 +216,12 @@ const Overlay = ({
|
|
|
231
216
|
}
|
|
232
217
|
}
|
|
233
218
|
});
|
|
219
|
+
mutationRef.current = mutationObserver;
|
|
234
220
|
|
|
235
221
|
// Start observing:
|
|
236
222
|
// - childList:true → to catch added/removed children
|
|
237
223
|
// - subtree:true + attributes:true → to catch any class/style changes in descendants
|
|
238
|
-
|
|
224
|
+
mutationObserver.observe(containerEl, {
|
|
239
225
|
childList: true,
|
|
240
226
|
subtree: true,
|
|
241
227
|
attributes: true,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props of the {@link Tooltip} component.
|
|
4
|
+
*/
|
|
5
|
+
export interface TooltipProps {
|
|
6
|
+
/**
|
|
7
|
+
* The child elements to wrap.
|
|
8
|
+
*/
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* The tooltip text to display.
|
|
12
|
+
*/
|
|
13
|
+
text?: string | null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* AI generated Tooltip component to display additional information on hover.
|
|
17
|
+
*/
|
|
18
|
+
declare function Tooltip({ children, text }: TooltipProps): import("react").JSX.Element;
|
|
19
|
+
export default Tooltip;
|
|
20
|
+
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EACwB,KAAK,SAAS,EAC5C,MAAM,OAAO,CAAC;AAwDf;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,iBAAS,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,YAAY,+BA0IhD;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useState, useRef, useEffect } from 'react';
|
|
2
2
|
import ReactDOM from 'react-dom';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
import { Typography } from '@shopgate/engage/components';
|
|
5
4
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
6
5
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -56,12 +55,12 @@ const useStyles = makeStyles()(theme => ({
|
|
|
56
55
|
}
|
|
57
56
|
}));
|
|
58
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Props of the {@link Tooltip} component.
|
|
60
|
+
*/
|
|
61
|
+
|
|
59
62
|
/**
|
|
60
63
|
* AI generated Tooltip component to display additional information on hover.
|
|
61
|
-
* @param {Object} props The component props.
|
|
62
|
-
* @param {React.ReactNode} props.children The child elements to wrap.
|
|
63
|
-
* @param {string} props.text The tooltip text to display.
|
|
64
|
-
* @returns {JSX.Element}
|
|
65
64
|
*/
|
|
66
65
|
function Tooltip({
|
|
67
66
|
children,
|
|
@@ -80,7 +79,7 @@ function Tooltip({
|
|
|
80
79
|
top: 0
|
|
81
80
|
});
|
|
82
81
|
const [arrowLeft, setArrowLeft] = useState(null);
|
|
83
|
-
const [positionState, setPositionState] = useState('top');
|
|
82
|
+
const [positionState, setPositionState] = useState('top');
|
|
84
83
|
const tooltipId = useRef(Math.random().toString(36).slice(2, 11));
|
|
85
84
|
|
|
86
85
|
// Handle mounting/unmounting and trigger fade animation
|
|
@@ -196,7 +195,4 @@ function Tooltip({
|
|
|
196
195
|
}), document.body)]
|
|
197
196
|
});
|
|
198
197
|
}
|
|
199
|
-
Tooltip.defaultProps = {
|
|
200
|
-
text: null
|
|
201
|
-
};
|
|
202
198
|
export default Tooltip;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ComponentType } from 'react';
|
|
2
|
+
import { type WidgetDefinition } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Props of the {@link Widget} component.
|
|
5
|
+
*/
|
|
6
|
+
export interface WidgetProps {
|
|
7
|
+
/**
|
|
8
|
+
* The widget component to render.
|
|
9
|
+
*/
|
|
10
|
+
component: ComponentType<{
|
|
11
|
+
settings?: WidgetDefinition['widgetConfig'];
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* The widget definition data.
|
|
15
|
+
*/
|
|
16
|
+
definition: WidgetDefinition;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the widget is in preview mode.
|
|
19
|
+
*/
|
|
20
|
+
isPreview: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the widget is a legacy custom widget provided by an extension that's configured
|
|
23
|
+
* via an HTML comment inside a HTML widget.
|
|
24
|
+
*/
|
|
25
|
+
isCustomLegacyWidget?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The Widget component.
|
|
29
|
+
*/
|
|
30
|
+
declare const Widget: ({ component: Component, definition, isPreview, isCustomLegacyWidget, }: WidgetProps) => import("react").JSX.Element | null;
|
|
31
|
+
export default Widget;
|
|
32
|
+
//# sourceMappingURL=Widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Widget.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/Widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAC2B,KAAK,aAAa,EACnD,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,KAAK,gBAAgB,EAAqB,MAAM,SAAS,CAAC;AAuCnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;KAAE,CAAC,CAAC;IAC1E;;OAEG;IACH,UAAU,EAAE,gBAAgB,CAAC;IAC7B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,QAAA,MAAM,MAAM,GAAI,wEAKb,WAAW,uCAwEb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { Suspense, useCallback, useMemo } from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
3
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
4
4
|
import { VisibilityOffIcon, TimeIcon, Loading } from '@shopgate/engage/components';
|
|
5
5
|
import { usePressHandler } from '@shopgate/engage/core/hooks';
|
|
6
|
+
import { getWidgetMediaMargins } from '@shopgate/engage/settings/selectors/appSettings';
|
|
6
7
|
import WidgetProvider from "./WidgetProvider";
|
|
7
8
|
import { dispatchWidgetPreviewEvent } from "./events";
|
|
8
9
|
import { useWidgetsPreview } from "./hooks";
|
|
10
|
+
import { getAppliedMediaMargins, resolveWidgetLayout } from "./helpers";
|
|
9
11
|
import Tooltip from "./Tooltip";
|
|
10
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
13
|
const useStyles = makeStyles()((theme, {
|
|
@@ -46,38 +48,24 @@ const useStyles = makeStyles()((theme, {
|
|
|
46
48
|
}));
|
|
47
49
|
|
|
48
50
|
/**
|
|
49
|
-
* @
|
|
50
|
-
*/
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* @typedef {import('./types').ScheduledStatus} ScheduledStatus
|
|
51
|
+
* Props of the {@link Widget} component.
|
|
54
52
|
*/
|
|
55
53
|
|
|
56
54
|
/**
|
|
57
55
|
* The Widget component.
|
|
58
|
-
* @param {Object} props The component props.
|
|
59
|
-
* @param {React.ComponentType} props.component The widget component to render.
|
|
60
|
-
* @param {WidgetDefinition} props.definition The widget definition data.
|
|
61
|
-
* @param {boolean} props.isPreview Whether the widget is in preview mode.
|
|
62
|
-
* @param {boolean} props.isCustomLegacyWidget Whether the widget is a legacy custom widget provided
|
|
63
|
-
* by an extension that's configured via an HTML comment inside a HTML widget.
|
|
64
|
-
* @returns {JSX.Element}
|
|
65
56
|
*/
|
|
66
57
|
const Widget = ({
|
|
67
58
|
component: Component,
|
|
68
59
|
definition,
|
|
69
60
|
isPreview,
|
|
70
|
-
isCustomLegacyWidget
|
|
61
|
+
isCustomLegacyWidget = false
|
|
71
62
|
}) => {
|
|
63
|
+
const mediaMargins = useSelector(getWidgetMediaMargins);
|
|
64
|
+
const layout = useMemo(() => resolveWidgetLayout(definition?.layout, getAppliedMediaMargins(definition?.widgetConfigDefinitionCode), mediaMargins), [definition, mediaMargins]);
|
|
72
65
|
const {
|
|
73
66
|
classes,
|
|
74
67
|
cx
|
|
75
|
-
} = useStyles(
|
|
76
|
-
marginTop: definition?.layout?.marginTop ?? 0,
|
|
77
|
-
marginBottom: definition?.layout?.marginBottom ?? 0,
|
|
78
|
-
marginLeft: definition?.layout?.marginLeft ?? 0,
|
|
79
|
-
marginRight: definition?.layout?.marginRight ?? 0
|
|
80
|
-
});
|
|
68
|
+
} = useStyles(layout);
|
|
81
69
|
const {
|
|
82
70
|
setActiveWidget,
|
|
83
71
|
activeWidget
|
|
@@ -100,10 +88,10 @@ const Widget = ({
|
|
|
100
88
|
[classes.preview]: isPreview
|
|
101
89
|
}),
|
|
102
90
|
style: {
|
|
103
|
-
marginTop:
|
|
104
|
-
marginBottom:
|
|
105
|
-
marginLeft:
|
|
106
|
-
marginRight:
|
|
91
|
+
marginTop: layout.marginTop || undefined,
|
|
92
|
+
marginBottom: layout.marginBottom || undefined,
|
|
93
|
+
marginLeft: layout.marginLeft || undefined,
|
|
94
|
+
marginRight: layout.marginRight || undefined
|
|
107
95
|
},
|
|
108
96
|
"data-widget-name": definition.widgetConfigDefinitionCode,
|
|
109
97
|
...(isPreview && {
|
|
@@ -127,6 +115,7 @@ const Widget = ({
|
|
|
127
115
|
}), /*#__PURE__*/_jsx(WidgetProvider, {
|
|
128
116
|
definition: definition,
|
|
129
117
|
isPreview: isPreview,
|
|
118
|
+
layout: layout,
|
|
130
119
|
children: /*#__PURE__*/_jsx(Suspense, {
|
|
131
120
|
fallback: /*#__PURE__*/_jsx(Loading, {}),
|
|
132
121
|
children: /*#__PURE__*/_jsx(Component, {
|
|
@@ -138,7 +127,4 @@ const Widget = ({
|
|
|
138
127
|
})]
|
|
139
128
|
});
|
|
140
129
|
};
|
|
141
|
-
Widget.defaultProps = {
|
|
142
|
-
isCustomLegacyWidget: false
|
|
143
|
-
};
|
|
144
130
|
export default Widget;
|