@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
package/page/helpers/index.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
2
|
+
* Configuration of the "Products" widget input.
|
|
5
3
|
*/
|
|
6
4
|
|
|
7
5
|
/**
|
|
8
|
-
* @
|
|
6
|
+
* Return value of {@link getProductSearchParamsFromProductsInputConfig}.
|
|
9
7
|
*/
|
|
10
8
|
|
|
11
|
-
/* eslint-enable max-len */
|
|
12
|
-
|
|
13
9
|
/**
|
|
14
10
|
* Helper to extract relevant search parameters from the widget configuration of the "Products"
|
|
15
11
|
* input.
|
|
16
12
|
* The return value can be used to e.g. parametrize the useWidgetProducts hook.
|
|
17
|
-
* @param
|
|
18
|
-
* @returns
|
|
13
|
+
* @param products Config object of the "Products" input.
|
|
14
|
+
* @returns The extracted product search parameters.
|
|
19
15
|
*/
|
|
20
16
|
export const getProductSearchParamsFromProductsInputConfig = (products = {}) => {
|
|
21
17
|
const {
|
|
@@ -28,8 +24,7 @@ export const getProductSearchParamsFromProductsInputConfig = (products = {}) =>
|
|
|
28
24
|
const mapping = [['brand', brand], ['category', category], ['searchTerm', searchTerm], ['productIds', manualItemNumbers], ['productIds', selectorItemNumbers]];
|
|
29
25
|
|
|
30
26
|
// Pick the first non-undefined value
|
|
31
|
-
|
|
32
|
-
let [productsSearchType, productsSearchValue] = mapping.find(([, value]) => value !== undefined) || ['searchTerm', searchTerm];
|
|
27
|
+
const [productsSearchType, productsSearchValue] = mapping.find(([, value]) => value !== undefined) || ['searchTerm', searchTerm];
|
|
33
28
|
return {
|
|
34
29
|
productsSearchType,
|
|
35
30
|
productsSearchValue
|
|
@@ -38,9 +33,9 @@ export const getProductSearchParamsFromProductsInputConfig = (products = {}) =>
|
|
|
38
33
|
|
|
39
34
|
/**
|
|
40
35
|
* Parses the image URL to return a high resolution version if required.
|
|
41
|
-
* @param
|
|
42
|
-
* @param
|
|
43
|
-
* @returns
|
|
36
|
+
* @param url The original image URL.
|
|
37
|
+
* @param useHighRes Whether to return a high resolution version.
|
|
38
|
+
* @returns The parsed image URL.
|
|
44
39
|
*/
|
|
45
40
|
export const parseImageUrl = (url, useHighRes) => {
|
|
46
41
|
if (!url || !useHighRes) {
|
|
@@ -51,32 +46,39 @@ export const parseImageUrl = (url, useHighRes) => {
|
|
|
51
46
|
};
|
|
52
47
|
|
|
53
48
|
/**
|
|
54
|
-
*
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
*
|
|
49
|
+
* Parameters for {@link resolveBorderRadiusFromWidgetConfig}.
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Retrieves the border radius based on the widget config.
|
|
54
|
+
*
|
|
55
|
+
* `default` follows the app wide corner style, so it is returned as a reference to the theme's
|
|
56
|
+
* shape variable rather than a resolved length.
|
|
57
|
+
* @param params The helper parameters.
|
|
58
|
+
* @param params.borderRadius The border radius option.
|
|
59
|
+
* @param params.borderRadiusCustom The custom border radius value.
|
|
60
|
+
* @returns The resolved border radius as a CSS length.
|
|
59
61
|
*/
|
|
60
62
|
export const resolveBorderRadiusFromWidgetConfig = ({
|
|
61
63
|
borderRadius,
|
|
62
64
|
borderRadiusCustom
|
|
63
65
|
}) => {
|
|
64
|
-
if (borderRadius === 'none') return 0;
|
|
65
|
-
if (borderRadius === 'rounded') return
|
|
66
|
-
if (borderRadius === 'custom' && typeof borderRadiusCustom === 'number') return borderRadiusCustom
|
|
67
|
-
return
|
|
66
|
+
if (borderRadius === 'none') return '0';
|
|
67
|
+
if (borderRadius === 'rounded') return '16px';
|
|
68
|
+
if (borderRadius === 'custom' && typeof borderRadiusCustom === 'number') return `${borderRadiusCustom}px`;
|
|
69
|
+
return 'var(--sg-shape-borderRadius)';
|
|
68
70
|
};
|
|
69
71
|
|
|
70
72
|
/**
|
|
71
|
-
* Validator factory for regular expressions
|
|
72
|
-
* @param
|
|
73
|
-
* @
|
|
73
|
+
* Validator factory for regular expressions.
|
|
74
|
+
* @param regex The regular expression to match.
|
|
75
|
+
* @returns A function that validates if a value matches the regex.
|
|
74
76
|
*/
|
|
75
77
|
export const matchesRegex = regex => val => !val || regex.test(val);
|
|
76
78
|
|
|
77
79
|
/**
|
|
78
|
-
*
|
|
79
|
-
* @param
|
|
80
|
-
* @
|
|
80
|
+
* Validates if a given string is a valid HTTPS URL.
|
|
81
|
+
* @param val The string to validate.
|
|
82
|
+
* @returns True if the string is a valid HTTPS URL, false otherwise.
|
|
81
83
|
*/
|
|
82
|
-
export const isHttpsUrl = matchesRegex(
|
|
84
|
+
export const isHttpsUrl = matchesRegex(/^\s*https:\/\/[^\s/$.?#].[^\s]*\s*$/i);
|
package/page/hooks/index.d.ts
CHANGED
|
@@ -1,60 +1,61 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
1
|
+
import { type WidgetContextType } from '@shopgate/engage/page/components/Widgets';
|
|
3
2
|
/**
|
|
4
3
|
* The useWidget hook provides access to the context that is wrapped around a widget.
|
|
5
4
|
* @returns The widget context.
|
|
6
5
|
*/
|
|
7
|
-
export declare
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
6
|
+
export declare const useWidget: <C = Record<string, unknown>>() => WidgetContextType<C>;
|
|
7
|
+
/**
|
|
8
|
+
* Options for the {@link useWidgetProducts} hook.
|
|
9
|
+
*/
|
|
10
|
+
export interface UseWidgetProductsOptions {
|
|
11
|
+
/**
|
|
12
|
+
* The search value to use for the product search.
|
|
13
|
+
*/
|
|
14
|
+
value: string;
|
|
15
|
+
/**
|
|
16
|
+
* The type of product search to perform.
|
|
17
|
+
*/
|
|
18
|
+
type: 'searchTerm' | 'productIds' | 'brand' | 'category' | 'highlights';
|
|
19
|
+
/**
|
|
20
|
+
* The number of products to return per page.
|
|
21
|
+
* @default 32
|
|
22
|
+
*/
|
|
23
|
+
limit?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Sort order for the products.
|
|
26
|
+
* @default 'relevance'
|
|
27
|
+
*/
|
|
28
|
+
sort?: 'relevance' | 'priceAsc' | 'priceDesc' | 'nameAsc' | 'nameDesc';
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Result of the {@link useWidgetProducts} hook.
|
|
32
|
+
*/
|
|
33
|
+
export interface UseWidgetProductsResult {
|
|
34
|
+
/**
|
|
35
|
+
* Function to fetch the next page of products.
|
|
36
|
+
*/
|
|
37
|
+
fetchNext: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Whether there are more products to fetch.
|
|
40
|
+
*/
|
|
41
|
+
hasNext: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the products are currently being fetched.
|
|
44
|
+
*/
|
|
45
|
+
isFetching: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Number of products available in the current result set.
|
|
48
|
+
*/
|
|
49
|
+
totalResultCount: number;
|
|
50
|
+
/**
|
|
51
|
+
* Array of product results.
|
|
52
|
+
*/
|
|
53
|
+
results: unknown[];
|
|
52
54
|
}
|
|
53
|
-
|
|
54
55
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
56
|
+
* Retrieves the products for the current widget.
|
|
57
|
+
* @param options Hook options.
|
|
58
|
+
* @returns The products and a function to fetch more products.
|
|
57
59
|
*/
|
|
58
|
-
export declare
|
|
59
|
-
|
|
60
|
-
): UseWidgetProductsResult;
|
|
60
|
+
export declare const useWidgetProducts: (options?: UseWidgetProductsOptions) => UseWidgetProductsResult;
|
|
61
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../page/hooks/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAMjG;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAK,iBAAiB,CAAC,CAAC,CAC1B,CAAC;AA2CpD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;IACxE;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;CACxE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAS,wBAAyD,KACjE,uBAyIF,CAAC"}
|
package/page/hooks/index.js
CHANGED
|
@@ -6,21 +6,9 @@ import { transformDisplayOptions } from '@shopgate/engage/core/helpers';
|
|
|
6
6
|
import { fetchProductsByQuery } from '@shopgate/engage/product';
|
|
7
7
|
import { makeGetWidgetProducts } from "../selectors";
|
|
8
8
|
|
|
9
|
-
/**
|
|
10
|
-
* @typedef {import('../components/Widgets/WidgetContext').WidgetContextType WidgetContextType}
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @typedef {import('./index').UseWidgetProductsOptions} UseWidgetProductsOptions
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @typedef {import('./index').UseWidgetProductsResult} UseWidgetProductsResult
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
9
|
/**
|
|
22
10
|
* The useWidget hook provides access to the context that is wrapped around a widget.
|
|
23
|
-
* @returns
|
|
11
|
+
* @returns The widget context.
|
|
24
12
|
*/
|
|
25
13
|
export const useWidget = () => useContext(WidgetContext);
|
|
26
14
|
const REQUEST_TYPE_MAPPING = {
|
|
@@ -31,10 +19,27 @@ const REQUEST_TYPE_MAPPING = {
|
|
|
31
19
|
category: 5
|
|
32
20
|
};
|
|
33
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Shape of the memoized widget products selector result. The underlying selector and its
|
|
24
|
+
* dependencies live in untyped JS, so the shape is described here at the consumption boundary.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Shape of the result returned by the (untyped) `fetchProductsByQuery` thunk.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Options for the {@link useWidgetProducts} hook.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Result of the {@link useWidgetProducts} hook.
|
|
37
|
+
*/
|
|
38
|
+
|
|
34
39
|
/**
|
|
35
40
|
* Retrieves the products for the current widget.
|
|
36
|
-
* @param
|
|
37
|
-
* @returns
|
|
41
|
+
* @param options Hook options.
|
|
42
|
+
* @returns The products and a function to fetch more products.
|
|
38
43
|
*/
|
|
39
44
|
export const useWidgetProducts = (options = {}) => {
|
|
40
45
|
const {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export * from "@shopgate/pwa-common/selectors/page";
|
|
2
|
+
export function makeGetPrivacyPolicyLink(): string | null;
|
|
3
|
+
export function makeGetPage({ type, slug, }: {
|
|
4
|
+
type?: PageType | undefined;
|
|
5
|
+
slug?: string | null | undefined;
|
|
6
|
+
}): Function;
|
|
7
|
+
export function makeGetWidgetsFromPage({ type, slug, dropzone, }: {
|
|
8
|
+
type?: PageType | undefined;
|
|
9
|
+
dropzone?: "cmsWidgetList" | undefined;
|
|
10
|
+
slug?: string | null | undefined;
|
|
11
|
+
}): Function;
|
|
12
|
+
/**
|
|
13
|
+
* Determines whether the new CMS version 2 is enabled.
|
|
14
|
+
*/
|
|
15
|
+
export const getIsCms2Enabled: ((state: any, ...params: any) => boolean) & import("reselect").OutputSelectorFields<(args_0: boolean, args_1: boolean) => boolean, {
|
|
16
|
+
clearCache: () => void;
|
|
17
|
+
}> & {
|
|
18
|
+
clearCache: () => void;
|
|
19
|
+
};
|
|
20
|
+
export function makeGetUnifiedCMSPageData({ slug }: {
|
|
21
|
+
slug: string;
|
|
22
|
+
}): Function;
|
|
23
|
+
export function makeGetWidgetProducts(type: "searchTerm" | "productIds" | "brand" | "category" | "highlights", options: Object, id: string): Function;
|
|
24
|
+
/**
|
|
25
|
+
* List of available page types.
|
|
26
|
+
*/
|
|
27
|
+
export type PageType = "cms" | "category";
|
|
28
|
+
/**
|
|
29
|
+
* List of available dropzone types.
|
|
30
|
+
*/
|
|
31
|
+
export type DropzoneType = "cmsWidgetList";
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../page/selectors/index.js"],"names":[],"mappings":";AAmCO,4CAFM,MAAM,GAAC,IAAI,CAuBvB;AAyBM,6CAJJ;IAA0B,IAAI;IACD,IAAI;CACjC,YAcF;AAYM,kEANJ;IAA0B,IAAI;IACA,QAAQ;IAET,IAAI;CACjC,YAqBF;AAED;;GAEG;AACH;;;;EAIE;AASK,oDAHJ;IAAuB,IAAI,EAAnB,MAAM;CACd,YAwCF;AA2FM,4CANI,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAE,YAAY,WAEhE,MAAM,MACN,MAAM,YAkBhB;;;;uBA5NY,KAAK,GAAG,UAAU;;;;2BAKlB,eAAe"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Widget configuration",
|
|
4
|
+
"description": "Declares how the page builder treats a widget. The file lives next to the widget implementation and is read at build time, so its values are known before the widget itself is loaded.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Path or url of this schema. Enables autocompletion and validation in the editor."
|
|
11
|
+
},
|
|
12
|
+
"layout": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"description": "How the container that the page builder renders around the widget behaves.",
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"properties": {
|
|
17
|
+
"applyMediaMargins": {
|
|
18
|
+
"description": "On which sides the widget gets the media widget margins that merchants configure in the theme settings. Margins configured for a single widget instance in the page builder always win. Widgets that bring their own spacing should leave this out.",
|
|
19
|
+
"default": false,
|
|
20
|
+
"oneOf": [
|
|
21
|
+
{
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"description": "true applies the media widget margins to all four sides, false to none."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "object",
|
|
27
|
+
"description": "Opts in per side. An omitted side does not get the margin.",
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"minProperties": 1,
|
|
30
|
+
"properties": {
|
|
31
|
+
"top": {
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"description": "Whether the widget gets the media widget margin above it."
|
|
34
|
+
},
|
|
35
|
+
"bottom": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"description": "Whether the widget gets the media widget margin below it."
|
|
38
|
+
},
|
|
39
|
+
"left": {
|
|
40
|
+
"type": "boolean",
|
|
41
|
+
"description": "Whether the widget gets the media widget margin on its left. Widgets that are meant to touch the screen edges leave this out."
|
|
42
|
+
},
|
|
43
|
+
"right": {
|
|
44
|
+
"type": "boolean",
|
|
45
|
+
"description": "Whether the widget gets the media widget margin on its right. Widgets that are meant to touch the screen edges leave this out."
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useCallback } from 'react';
|
|
2
|
-
import { Button } from '@shopgate/engage/components';
|
|
2
|
+
import { Button } from '@shopgate/engage/components/v2';
|
|
3
3
|
import { useWidget } from '@shopgate/engage/page/hooks';
|
|
4
4
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
5
5
|
import { useNavigation } from '@shopgate/engage/core';
|
|
@@ -46,9 +46,8 @@ const ButtonWidget = () => {
|
|
|
46
46
|
return /*#__PURE__*/_jsx("div", {
|
|
47
47
|
className: classes.root,
|
|
48
48
|
children: /*#__PURE__*/_jsx(Button, {
|
|
49
|
-
|
|
49
|
+
color: "primary",
|
|
50
50
|
onClick: handleClick,
|
|
51
|
-
wrapContent: false,
|
|
52
51
|
children: /*#__PURE__*/_jsx("span", {
|
|
53
52
|
className: classes.text,
|
|
54
53
|
children: text
|
|
@@ -6,7 +6,8 @@ import WidgetHeadline from "../../components/WidgetHeadline";
|
|
|
6
6
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
const useStyles = makeStyles()(theme => ({
|
|
8
8
|
headline: {
|
|
9
|
-
paddingBottom: theme.spacing(0)
|
|
9
|
+
paddingBottom: theme.spacing(0),
|
|
10
|
+
background: theme.palette.background.surface
|
|
10
11
|
}
|
|
11
12
|
}));
|
|
12
13
|
|
|
@@ -145,11 +145,13 @@ export const useImageSliderWidget = () => {
|
|
|
145
145
|
style: {
|
|
146
146
|
...(layout.marginLeft ? {
|
|
147
147
|
marginLeft: layout.marginLeft * -1,
|
|
148
|
-
paddingLeft: layout.marginLeft
|
|
148
|
+
paddingLeft: layout.marginLeft,
|
|
149
|
+
'--swiper-pagination-inset-left': `${layout.marginLeft}px`
|
|
149
150
|
} : {}),
|
|
150
151
|
...(layout.marginRight ? {
|
|
151
152
|
marginRight: layout.marginRight * -1,
|
|
152
|
-
paddingRight: layout.marginRight
|
|
153
|
+
paddingRight: layout.marginRight,
|
|
154
|
+
'--swiper-pagination-inset-right': `${layout.marginRight}px`
|
|
153
155
|
} : {})
|
|
154
156
|
}
|
|
155
157
|
} : null),
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
|
-
import { I18n
|
|
2
|
+
import { I18n } from '@shopgate/engage/components';
|
|
3
3
|
import { bin2hex } from '@shopgate/engage/core/helpers';
|
|
4
4
|
import { CATEGORY_PATH } from '@shopgate/engage/category';
|
|
5
5
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
6
|
+
import { Button } from '@shopgate/engage/components/v2';
|
|
6
7
|
import { useRoute, usePrevious, useLocalStorage } from '@shopgate/engage/core/hooks';
|
|
7
8
|
import { router } from '@virtuous/conductor';
|
|
8
9
|
import CategoryPicker from "./components/Picker";
|
|
@@ -16,10 +17,8 @@ const useStyles = makeStyles()(theme => ({
|
|
|
16
17
|
paddingBottom: theme.spacing(2)
|
|
17
18
|
},
|
|
18
19
|
buttonContainer: {
|
|
19
|
-
padding: theme.spacing(0, 2)
|
|
20
|
-
|
|
21
|
-
button: {
|
|
22
|
-
width: '100%'
|
|
20
|
+
padding: theme.spacing(0, 2),
|
|
21
|
+
margin: theme.spacing(1, 0)
|
|
23
22
|
}
|
|
24
23
|
}));
|
|
25
24
|
|
|
@@ -142,11 +141,12 @@ const NestedCategoryFilter = () => {
|
|
|
142
141
|
className: "widget__nested-category-filter__headline"
|
|
143
142
|
}) : null, categoryPickers, /*#__PURE__*/_jsx("div", {
|
|
144
143
|
className: cx(classes.buttonContainer, 'widget__nested-category-filter__button-container'),
|
|
145
|
-
children: /*#__PURE__*/_jsx(
|
|
146
|
-
className: cx(classes.button, 'widget__nested-category-filter__CTA-button'),
|
|
144
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
147
145
|
href: `${CATEGORY_PATH}/${bin2hex(state.buttonCategoryId)}`,
|
|
146
|
+
color: "primary",
|
|
147
|
+
fullWidth: true,
|
|
148
|
+
className: "widget__nested-category-filter__CTA-button",
|
|
148
149
|
disabled: !state.buttonCategoryId,
|
|
149
|
-
flat: false,
|
|
150
150
|
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
151
151
|
string: "common.show_products",
|
|
152
152
|
className: "widget__nested-category-filter__CTA-button__text"
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import "core-js/modules/es.regexp.flags.js";
|
|
2
2
|
import React, { useCallback } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { I18n } from '@shopgate/engage/components';
|
|
4
|
+
import { Button } from '@shopgate/engage/components/v2';
|
|
4
5
|
import { ProductGrid } from '@shopgate/engage/product/components';
|
|
5
6
|
import { useWidgetProducts } from '@shopgate/engage/page/hooks';
|
|
6
7
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
7
8
|
import { useProductListWidget } from "./hooks";
|
|
8
9
|
import WidgetHeadline from "../../components/WidgetHeadline";
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
const useStyles = makeStyles()({
|
|
11
|
+
const useStyles = makeStyles()(theme => ({
|
|
11
12
|
root: {
|
|
12
|
-
// Prevent that the ActionButton margin messes with the layout of the sibling widgets
|
|
13
13
|
overflow: 'hidden'
|
|
14
14
|
},
|
|
15
|
+
loadMore: {
|
|
16
|
+
textAlign: 'center',
|
|
17
|
+
margin: theme.spacing(1, 0)
|
|
18
|
+
},
|
|
15
19
|
grid: {
|
|
16
20
|
'&&': {
|
|
17
21
|
marginTop: 0
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
|
-
});
|
|
24
|
+
}));
|
|
21
25
|
|
|
22
26
|
/**
|
|
23
27
|
* The ProductListWidget is used to display product lists.
|
|
@@ -66,16 +70,16 @@ const ProductListWidget = () => {
|
|
|
66
70
|
scope: "widgets",
|
|
67
71
|
infiniteLoad: false,
|
|
68
72
|
className: classes.grid
|
|
69
|
-
}), hasNext && showLoadMore && /*#__PURE__*/_jsx(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
}), hasNext && showLoadMore && /*#__PURE__*/_jsx("div", {
|
|
74
|
+
className: classes.loadMore,
|
|
75
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
76
|
+
variant: "text",
|
|
77
|
+
color: "secondary",
|
|
78
|
+
loading: isFetching,
|
|
79
|
+
onClick: handleFetchNext,
|
|
80
|
+
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
81
|
+
string: "common.load_more"
|
|
82
|
+
})
|
|
79
83
|
})
|
|
80
84
|
})]
|
|
81
85
|
});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import { ProductSlider } from '@shopgate/engage/product/components';
|
|
3
3
|
import { useWidgetProducts } from '@shopgate/engage/page/hooks';
|
|
4
|
-
import { useTheme } from '@shopgate/engage/styles';
|
|
5
4
|
import { useProductSliderWidget } from "./hooks";
|
|
6
5
|
import WidgetHeadline from "../../components/WidgetHeadline";
|
|
7
6
|
|
|
@@ -30,7 +29,6 @@ const ProductSliderWidget = () => {
|
|
|
30
29
|
limit: productCount,
|
|
31
30
|
sort
|
|
32
31
|
});
|
|
33
|
-
const theme = useTheme();
|
|
34
32
|
const productIds = useMemo(() => results?.map(result => result.id), [results]);
|
|
35
33
|
if (!productIds || !productIds.length) {
|
|
36
34
|
return null;
|
|
@@ -41,24 +39,12 @@ const ProductSliderWidget = () => {
|
|
|
41
39
|
}) : null, /*#__PURE__*/_jsx(ProductSlider, {
|
|
42
40
|
productIds: productIds,
|
|
43
41
|
scope: "widgets",
|
|
44
|
-
productItemProps: productItemProps
|
|
45
|
-
slidesPerView: 2.3
|
|
42
|
+
productItemProps: productItemProps
|
|
46
43
|
// Improves interaction with the slider in the CMS preview iframe
|
|
47
44
|
,
|
|
48
45
|
...(isPreview ? {
|
|
49
46
|
touchStartPreventDefault: true
|
|
50
47
|
} : {}),
|
|
51
|
-
breakpoints: {
|
|
52
|
-
[theme.breakpoints.values.sm]: {
|
|
53
|
-
slidesPerView: 3.3
|
|
54
|
-
},
|
|
55
|
-
[theme.breakpoints.values.md]: {
|
|
56
|
-
slidesPerView: 4.3
|
|
57
|
-
},
|
|
58
|
-
[theme.breakpoints.values.lg]: {
|
|
59
|
-
slidesPerView: 5.3
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
48
|
...swiperProps
|
|
63
49
|
})]
|
|
64
50
|
});
|