@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
|
@@ -1,42 +1,36 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
* Whether the widget is rendered in preview mode
|
|
33
|
-
*/
|
|
34
|
-
isPreview: boolean;
|
|
1
|
+
import { type WidgetDefinitionVisibility, type WidgetLayout } from './types';
|
|
2
|
+
export { type WidgetDefinition } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Context value provided by the {@link WidgetContext} for a single widget instance.
|
|
5
|
+
*/
|
|
6
|
+
export interface WidgetContextType<C = Record<string, unknown>> {
|
|
7
|
+
/**
|
|
8
|
+
* The unique code of the widget instance.
|
|
9
|
+
*/
|
|
10
|
+
code: string;
|
|
11
|
+
/**
|
|
12
|
+
* The name of the widget.
|
|
13
|
+
*/
|
|
14
|
+
name: string;
|
|
15
|
+
/**
|
|
16
|
+
* The widget configuration.
|
|
17
|
+
*/
|
|
18
|
+
config: C;
|
|
19
|
+
/**
|
|
20
|
+
* The resolved margins of the widget container.
|
|
21
|
+
*/
|
|
22
|
+
layout: WidgetLayout;
|
|
23
|
+
/**
|
|
24
|
+
* The widget visibility settings.
|
|
25
|
+
*/
|
|
26
|
+
visibility: WidgetDefinitionVisibility;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the widget is rendered in preview mode.
|
|
29
|
+
*/
|
|
30
|
+
isPreview: boolean;
|
|
35
31
|
}
|
|
36
|
-
|
|
37
32
|
/**
|
|
38
33
|
* React context for widgets.
|
|
39
34
|
*/
|
|
40
|
-
declare const WidgetContext: Context<WidgetContextType
|
|
41
|
-
|
|
42
|
-
export default WidgetContext;
|
|
35
|
+
export declare const WidgetContext: import("react").Context<WidgetContextType<Record<string, unknown>>>;
|
|
36
|
+
//# sourceMappingURL=WidgetContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetContext.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/WidgetContext.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IACV;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,UAAU,EAAE,0BAA0B,CAAC;IACvC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,qEAA4D,CAAC"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import { createContext } from 'react';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @
|
|
4
|
+
* Context value provided by the {@link WidgetContext} for a single widget instance.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* @property {WidgetDefinition['code']} code The unique widget code.
|
|
10
|
-
* @property {WidgetDefinition['widgetConfig']} config The widget configuration.
|
|
11
|
-
* @property {WidgetDefinition['layout']} layout The widget layout settings.
|
|
12
|
-
* @property {WidgetDefinition['visibility']} visibility The widget visibility settings.
|
|
8
|
+
* React context for widgets.
|
|
13
9
|
*/
|
|
14
|
-
|
|
15
|
-
/** @type {React.Context<WidgetContextType>} */
|
|
16
10
|
export const WidgetContext = /*#__PURE__*/createContext({});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type WidgetDefinition, type WidgetLayout } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Props of the {@link WidgetProvider} component.
|
|
5
|
+
*/
|
|
6
|
+
export interface WidgetProviderProps {
|
|
7
|
+
/**
|
|
8
|
+
* The child components to render.
|
|
9
|
+
*/
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* The widget definition data.
|
|
13
|
+
*/
|
|
14
|
+
definition: WidgetDefinition;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the widget is in preview mode.
|
|
17
|
+
*/
|
|
18
|
+
isPreview: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* The resolved margins of the widget container.
|
|
21
|
+
*/
|
|
22
|
+
layout: WidgetLayout;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The WidgetProvider component provides the context for a single widget.
|
|
26
|
+
*/
|
|
27
|
+
declare const WidgetProvider: ({ children, definition, isPreview, layout, }: WidgetProviderProps) => import("react").JSX.Element;
|
|
28
|
+
export default WidgetProvider;
|
|
29
|
+
//# sourceMappingURL=WidgetProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetProvider.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/WidgetProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,UAAU,EAAE,gBAAgB,CAAC;IAC7B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,QAAA,MAAM,cAAc,GAAI,8CAErB,mBAAmB,gCAoBrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,29 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
1
|
+
import { useMemo } from 'react';
|
|
3
2
|
import { WidgetContext } from "./WidgetContext";
|
|
4
3
|
|
|
5
|
-
/** @typedef {import('./WidgetContext').WidgetContextType} WidgetContextType */
|
|
6
|
-
/** @typedef {import('./WidgetContext').WidgetDefinition} WidgetDefinition */
|
|
7
|
-
|
|
8
4
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @param {Object} props The component props.
|
|
11
|
-
* @param {WidgetDefinition} props.definition The widget definition data.
|
|
12
|
-
* @param {boolean} props.isPreview Whether the widget is in preview mode.
|
|
13
|
-
* @param {React.ReactNode} props.children The child components to render.
|
|
14
|
-
* @returns {JSX.Element}
|
|
5
|
+
* Props of the {@link WidgetProvider} component.
|
|
15
6
|
*/
|
|
16
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* The WidgetProvider component provides the context for a single widget.
|
|
10
|
+
*/
|
|
17
11
|
const WidgetProvider = ({
|
|
18
12
|
children,
|
|
19
13
|
definition,
|
|
20
|
-
isPreview
|
|
14
|
+
isPreview,
|
|
15
|
+
layout
|
|
21
16
|
}) => {
|
|
22
|
-
/** @type {WidgetContextType} */
|
|
23
17
|
const value = useMemo(() => {
|
|
24
18
|
const {
|
|
25
19
|
widgetConfig,
|
|
26
|
-
layout,
|
|
27
20
|
visibility,
|
|
28
21
|
code,
|
|
29
22
|
widgetConfigDefinitionCode
|
|
@@ -36,7 +29,7 @@ const WidgetProvider = ({
|
|
|
36
29
|
visibility,
|
|
37
30
|
isPreview
|
|
38
31
|
};
|
|
39
|
-
}, [definition, isPreview]);
|
|
32
|
+
}, [definition, isPreview, layout]);
|
|
40
33
|
return /*#__PURE__*/_jsx(WidgetContext.Provider, {
|
|
41
34
|
value: value,
|
|
42
35
|
children: children
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type WidgetDefinition } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Props of the {@link Widgets} component.
|
|
4
|
+
*/
|
|
5
|
+
export interface WidgetsProps {
|
|
6
|
+
/**
|
|
7
|
+
* The list of widgets to render.
|
|
8
|
+
*/
|
|
9
|
+
widgets?: WidgetDefinition[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The Widgets component renders a list of widgets.
|
|
13
|
+
*/
|
|
14
|
+
declare const Widgets: ({ widgets: widgetsProp, }: WidgetsProps) => import("react").JSX.Element | null;
|
|
15
|
+
export default Widgets;
|
|
16
|
+
//# sourceMappingURL=Widgets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Widgets.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/Widgets.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAYhD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,QAAA,MAAM,OAAO,GAAI,2BAEd,YAAY,uCA+Dd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
1
|
+
import { useMemo, useRef } from 'react';
|
|
3
2
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
4
3
|
import { useRoute, useThemeWidgets } from '@shopgate/engage/core/hooks';
|
|
5
4
|
import { PAGE_PREVIEW_PATTERN } from '@shopgate/engage/page/constants';
|
|
@@ -10,10 +9,6 @@ import Widget from "./Widget";
|
|
|
10
9
|
import Overlay from "./Overlay";
|
|
11
10
|
import { checkScheduled } from "./helpers";
|
|
12
11
|
import { usePreviewIframeCommunication } from "./hooks";
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @typedef {import('./types').WidgetDefinition} WidgetDefinition
|
|
16
|
-
*/
|
|
17
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
13
|
const PLACEHOLDER_COMPONENT = '@shopgate/widgetsInternal/Placeholder';
|
|
19
14
|
const useStyles = makeStyles()({
|
|
@@ -24,11 +19,12 @@ const useStyles = makeStyles()({
|
|
|
24
19
|
}
|
|
25
20
|
});
|
|
26
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Props of the {@link Widgets} component.
|
|
24
|
+
*/
|
|
25
|
+
|
|
27
26
|
/**
|
|
28
27
|
* The Widgets component renders a list of widgets.
|
|
29
|
-
* @param {Object} props The component props.
|
|
30
|
-
* @param {Array<WidgetDefinition>} props.widgets The list of widgets to render.
|
|
31
|
-
* @returns {JSX.Element}
|
|
32
28
|
*/
|
|
33
29
|
const Widgets = ({
|
|
34
30
|
widgets: widgetsProp = []
|
|
@@ -85,7 +81,4 @@ const Widgets = ({
|
|
|
85
81
|
})
|
|
86
82
|
});
|
|
87
83
|
};
|
|
88
|
-
Widgets.defaultProps = {
|
|
89
|
-
widgets: null
|
|
90
|
-
};
|
|
91
84
|
export default Widgets;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sets the active widget in the preview context.
|
|
3
|
+
* @param code The code of the widget to set as active.
|
|
4
|
+
* @param highlight Whether to highlight the widget after setting it as active.
|
|
5
|
+
*/
|
|
6
|
+
export type SetActiveWidget = (code: string, highlight?: boolean) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Context value provided by the {@link WidgetsPreviewContext}.
|
|
9
|
+
*/
|
|
10
|
+
export interface WidgetsPreviewContextType {
|
|
11
|
+
/**
|
|
12
|
+
* The code of the currently active widget.
|
|
13
|
+
*/
|
|
14
|
+
activeWidget: string | null;
|
|
15
|
+
/**
|
|
16
|
+
* A function to set the active widget code.
|
|
17
|
+
*/
|
|
18
|
+
setActiveWidget: SetActiveWidget;
|
|
19
|
+
}
|
|
20
|
+
export declare const WidgetsPreviewContext: import("react").Context<WidgetsPreviewContextType>;
|
|
21
|
+
//# sourceMappingURL=WidgetsPreviewContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetsPreviewContext.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/WidgetsPreviewContext.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,eAAO,MAAM,qBAAqB,oDAGhC,CAAC"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import _noop from "lodash/noop";
|
|
2
2
|
import { createContext } from 'react';
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
* @param
|
|
6
|
-
* @param
|
|
5
|
+
* Sets the active widget in the preview context.
|
|
6
|
+
* @param code The code of the widget to set as active.
|
|
7
|
+
* @param highlight Whether to highlight the widget after setting it as active.
|
|
7
8
|
*/
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
|
-
* @
|
|
11
|
-
* @property {string} activeWidget The code of the currently active widget.
|
|
12
|
-
* @property {SetActiveWidget} setActiveWidget A function to set the active widget code
|
|
11
|
+
* Context value provided by the {@link WidgetsPreviewContext}.
|
|
13
12
|
*/
|
|
14
13
|
|
|
15
|
-
/** @type {React.Context<WidgetsPreviewContextType>} */
|
|
16
14
|
export const WidgetsPreviewContext = /*#__PURE__*/createContext({
|
|
17
15
|
activeWidget: null,
|
|
18
16
|
setActiveWidget: _noop
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props of the {@link WidgetsPreviewProvider} component.
|
|
4
|
+
*/
|
|
5
|
+
export interface WidgetsPreviewProviderProps {
|
|
6
|
+
/**
|
|
7
|
+
* The child components to render.
|
|
8
|
+
*/
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The WidgetsPreviewProvider component is used by the Widgets component when it's rendered
|
|
13
|
+
* in preview mode. It provides functionality for the Widget component that's needed when
|
|
14
|
+
* the widgets are rendered in the preview iframe.
|
|
15
|
+
*/
|
|
16
|
+
declare const WidgetsPreviewProvider: ({ children }: WidgetsPreviewProviderProps) => import("react").JSX.Element;
|
|
17
|
+
export default WidgetsPreviewProvider;
|
|
18
|
+
//# sourceMappingURL=WidgetsPreviewProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetsPreviewProvider.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/WidgetsPreviewProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAC2B,KAAK,SAAS,EAC/C,MAAM,OAAO,CAAC;AAOf;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,QAAA,MAAM,sBAAsB,GAAI,cAAc,2BAA2B,gCAyBxE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
1
|
+
import { useMemo, useState, useCallback } from 'react';
|
|
3
2
|
import { useWidgetPreviewEvent, dispatchWidgetPreviewEvent } from "./events";
|
|
4
3
|
import { WidgetsPreviewContext } from "./WidgetsPreviewContext";
|
|
5
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Props of the {@link WidgetsPreviewProvider} component.
|
|
7
|
+
*/
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
9
|
/**
|
|
7
10
|
* The WidgetsPreviewProvider component is used by the Widgets component when it's rendered
|
|
8
11
|
* in preview mode. It provides functionality for the Widget component that's needed when
|
|
9
12
|
* the widgets are rendered in the preview iframe.
|
|
10
|
-
* @param {Object} props The component props.
|
|
11
|
-
* @param {React.ReactNode} props.children The child components to render.
|
|
12
|
-
* @returns {JSX.Element}
|
|
13
13
|
*/
|
|
14
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
14
|
const WidgetsPreviewProvider = ({
|
|
16
15
|
children
|
|
17
16
|
}) => {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type MediaMarginSettings } from '@shopgate/engage/settings/types/appSettings';
|
|
2
|
+
/**
|
|
3
|
+
* Whether to consider vertical margins when calculating the overlay position.
|
|
4
|
+
*/
|
|
5
|
+
export declare const CONSIDER_CONTAINER_MARGINS_ON_SCROLL_DEFAULT = false;
|
|
6
|
+
/**
|
|
7
|
+
* The margin sides of a widget container.
|
|
8
|
+
*/
|
|
9
|
+
export declare const MARGIN_SIDES: readonly ["marginTop", "marginBottom", "marginLeft", "marginRight"];
|
|
10
|
+
/**
|
|
11
|
+
* The media widget margin side that belongs to each margin of a widget container.
|
|
12
|
+
*/
|
|
13
|
+
export declare const MARGIN_SIDE_SETTINGS: Record<typeof MARGIN_SIDES[number], keyof MediaMarginSettings>;
|
|
14
|
+
/**
|
|
15
|
+
* The sides of the media widget margins.
|
|
16
|
+
*/
|
|
17
|
+
export declare const MEDIA_MARGIN_SIDES: (keyof MediaMarginSettings)[];
|
|
18
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,4CAA4C,QAAQ,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,YAAY,qEAAsE,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,OAAO,YAAY,CAAC,MAAM,CAAC,EAC3B,MAAM,mBAAmB,CAM1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,+BAAsC,CAAC"}
|
|
@@ -1,2 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Whether to consider vertical margins when calculating the overlay position.
|
|
3
|
+
*/
|
|
4
|
+
export const CONSIDER_CONTAINER_MARGINS_ON_SCROLL_DEFAULT = false;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The margin sides of a widget container.
|
|
8
|
+
*/
|
|
9
|
+
export const MARGIN_SIDES = ['marginTop', 'marginBottom', 'marginLeft', 'marginRight'];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The media widget margin side that belongs to each margin of a widget container.
|
|
13
|
+
*/
|
|
14
|
+
export const MARGIN_SIDE_SETTINGS = {
|
|
15
|
+
marginTop: 'top',
|
|
16
|
+
marginBottom: 'bottom',
|
|
17
|
+
marginLeft: 'left',
|
|
18
|
+
marginRight: 'right'
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The sides of the media widget margins.
|
|
23
|
+
*/
|
|
24
|
+
export const MEDIA_MARGIN_SIDES = Object.values(MARGIN_SIDE_SETTINGS);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Names of the events that are dispatched in the context of widget preview iframe communication.
|
|
3
|
+
*/
|
|
4
|
+
export type WidgetPreviewEventName = 'highlight-widget' | 'widget-clicked' | 'set-active-widget-id';
|
|
5
|
+
/**
|
|
6
|
+
* Detail payload of a widget preview event.
|
|
7
|
+
*/
|
|
8
|
+
export interface WidgetPreviewEventDetail {
|
|
9
|
+
/**
|
|
10
|
+
* The code of the widget related to the event.
|
|
11
|
+
*/
|
|
12
|
+
widgetCode: string;
|
|
13
|
+
/**
|
|
14
|
+
* Optional payload data related to the event.
|
|
15
|
+
*/
|
|
16
|
+
payload?: unknown;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Handler for a widget preview event.
|
|
20
|
+
*/
|
|
21
|
+
export type WidgetPreviewEventHandler = (event: CustomEvent<WidgetPreviewEventDetail>) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Hook to listen for widget preview events.
|
|
24
|
+
* These events are dispatched in the context of iFrame communication at the widget preview.
|
|
25
|
+
* @param eventName Name of the listened event
|
|
26
|
+
* @param handler A callback function to handle the event
|
|
27
|
+
*/
|
|
28
|
+
export declare const useWidgetPreviewEvent: (eventName: WidgetPreviewEventName, handler: WidgetPreviewEventHandler) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Dispatches widget preview related events.
|
|
31
|
+
* Used to trigger iFrame postMessage events to the parent window or to react on incoming
|
|
32
|
+
* postMessage events from the parent window.
|
|
33
|
+
* @param eventName Name of the event to dispatch
|
|
34
|
+
* @param widgetCode Code of the widget to dispatch the event for
|
|
35
|
+
* @param payload Optional payload to include with the event
|
|
36
|
+
*/
|
|
37
|
+
export declare const dispatchWidgetPreviewEvent: (eventName: WidgetPreviewEventName, widgetCode: string, payload?: unknown) => void;
|
|
38
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/events.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,sBAAsB,CAAC;AAEpG;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC;AAE/F;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,WAAW,sBAAsB,EACjC,SAAS,yBAAyB,SASnC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GACrC,WAAW,sBAAsB,EACjC,YAAY,MAAM,EAClB,UAAS,OAAc,SAUxB,CAAC"}
|
|
@@ -1,26 +1,22 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Names of the events that are dispatched in the context of widget preview iframe communication.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* @property {string} widgetCode The code of the widget related to the event.
|
|
10
|
-
* @property {any} [payload] Optional payload data related to the event.
|
|
8
|
+
* Detail payload of a widget preview event.
|
|
11
9
|
*/
|
|
12
10
|
|
|
13
11
|
/**
|
|
14
|
-
*
|
|
15
|
-
* @param {CustomEvent<WidgetPreviewEventDetail>} event The custom event dispatched for the widget
|
|
16
|
-
* preview.
|
|
12
|
+
* Handler for a widget preview event.
|
|
17
13
|
*/
|
|
18
14
|
|
|
19
15
|
/**
|
|
20
16
|
* Hook to listen for widget preview events.
|
|
21
17
|
* These events are dispatched in the context of iFrame communication at the widget preview.
|
|
22
|
-
* @param
|
|
23
|
-
* @param
|
|
18
|
+
* @param eventName Name of the listened event
|
|
19
|
+
* @param handler A callback function to handle the event
|
|
24
20
|
*/
|
|
25
21
|
export const useWidgetPreviewEvent = (eventName, handler) => {
|
|
26
22
|
useEffect(() => {
|
|
@@ -35,9 +31,9 @@ export const useWidgetPreviewEvent = (eventName, handler) => {
|
|
|
35
31
|
* Dispatches widget preview related events.
|
|
36
32
|
* Used to trigger iFrame postMessage events to the parent window or to react on incoming
|
|
37
33
|
* postMessage events from the parent window.
|
|
38
|
-
* @param
|
|
39
|
-
* @param
|
|
40
|
-
* @param
|
|
34
|
+
* @param eventName Name of the event to dispatch
|
|
35
|
+
* @param widgetCode Code of the widget to dispatch the event for
|
|
36
|
+
* @param payload Optional payload to include with the event
|
|
41
37
|
*/
|
|
42
38
|
export const dispatchWidgetPreviewEvent = (eventName, widgetCode, payload = null) => {
|
|
43
39
|
const event = new CustomEvent(`widget-preview-${eventName}`, {
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type MediaMarginSettings } from '@shopgate/engage/settings/types/appSettings';
|
|
2
|
+
import { type AppliedMediaMargins, type WidgetDefinitionLayout, type WidgetLayout } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the scroll container for the current page. Depending on the PWA mode this can be
|
|
5
|
+
* a scrollable article element or the window.
|
|
6
|
+
* @returns The scroll container element, or null if it could not be found.
|
|
7
|
+
*/
|
|
8
|
+
export declare const getScrollContainer: () => HTMLElement | null;
|
|
9
|
+
/**
|
|
10
|
+
* Parameters for {@link checkScheduled}.
|
|
11
|
+
*/
|
|
12
|
+
export interface ScheduledParams {
|
|
13
|
+
/**
|
|
14
|
+
* The start date of the scheduling in ISO format.
|
|
15
|
+
*/
|
|
16
|
+
from?: string;
|
|
17
|
+
/**
|
|
18
|
+
* The end date of the scheduling in ISO format.
|
|
19
|
+
*/
|
|
20
|
+
to?: string;
|
|
21
|
+
/**
|
|
22
|
+
* The timezone offset in minutes. If not provided, the local timezone offset will be used.
|
|
23
|
+
*/
|
|
24
|
+
timezoneOffset?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The scheduling status of a widget.
|
|
28
|
+
*/
|
|
29
|
+
export interface ScheduledStatus {
|
|
30
|
+
/**
|
|
31
|
+
* Indicates if the widget is scheduled.
|
|
32
|
+
*/
|
|
33
|
+
isScheduled: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Indicates if the widget is currently active within the scheduled time frame.
|
|
36
|
+
*/
|
|
37
|
+
isActive: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Indicates if the scheduled time frame has expired.
|
|
40
|
+
*/
|
|
41
|
+
isExpired: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Retrieves the scheduling status of a widget based on the provided parameters.
|
|
45
|
+
* @param params The parameters for the function.
|
|
46
|
+
* @param params.from The start date of the scheduling in ISO format.
|
|
47
|
+
* @param params.to The end date of the scheduling in ISO format.
|
|
48
|
+
* @param params.timezoneOffset The timezone offset in minutes.
|
|
49
|
+
* @returns An object containing the scheduling status.
|
|
50
|
+
*/
|
|
51
|
+
export declare function checkScheduled({ from, to, timezoneOffset }?: ScheduledParams): ScheduledStatus;
|
|
52
|
+
/**
|
|
53
|
+
* Retrieves the sides on which a widget gets the media widget margins. Widgets declare them in a
|
|
54
|
+
* "config.json" inside their folder, which the build adds to the widget mapping. A widget that
|
|
55
|
+
* declares nothing keeps the margins of its own configuration.
|
|
56
|
+
* @param name The name of the widget.
|
|
57
|
+
* @returns The sides that get the media widget margins.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getAppliedMediaMargins(name: string): AppliedMediaMargins;
|
|
60
|
+
/**
|
|
61
|
+
* Resolves the margins of a widget container. The configuration of the widget instance wins over
|
|
62
|
+
* the media widget margin, which only applies to the sides the widget asked for.
|
|
63
|
+
* @param definitionLayout The layout settings of the widget instance.
|
|
64
|
+
* @param appliedMediaMargins The sides on which the widget gets the media widget margins.
|
|
65
|
+
* @param settings The media widget margins.
|
|
66
|
+
* @returns The resolved margins.
|
|
67
|
+
*/
|
|
68
|
+
export declare function resolveWidgetLayout(definitionLayout: Partial<WidgetDefinitionLayout> | undefined, appliedMediaMargins: AppliedMediaMargins, settings: MediaMarginSettings): WidgetLayout;
|
|
69
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../page/components/Widgets/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAGjB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,WAAW,GAAG,IACwC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,GAAE,eAAoB,GACjD,eAAe,CAqBjB;AAkBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAgBxE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,EAC7D,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,mBAAmB,GAC5B,YAAY,CAUd"}
|
|
@@ -1,33 +1,31 @@
|
|
|
1
|
+
import "core-js/modules/es.array.reduce.js";
|
|
1
2
|
import "core-js/modules/es.string.replace.js";
|
|
3
|
+
import { componentsConfig } from '@shopgate/pwa-common/helpers/config';
|
|
2
4
|
import { PAGE_PREVIEW_PATTERN } from '@shopgate/engage/page/constants';
|
|
5
|
+
import { MARGIN_SIDES, MARGIN_SIDE_SETTINGS, MEDIA_MARGIN_SIDES } from "./constants";
|
|
3
6
|
|
|
4
7
|
/**
|
|
5
8
|
* Retrieves the scroll container for the current page. Depending on the PWA mode this can be
|
|
6
9
|
* a scrollable article element or the window.
|
|
7
|
-
* @returns
|
|
10
|
+
* @returns The scroll container element, or null if it could not be found.
|
|
8
11
|
*/
|
|
9
12
|
export const getScrollContainer = () => document.querySelector(`.route__${PAGE_PREVIEW_PATTERN.replace(/^\/+/, '')}`);
|
|
10
13
|
|
|
11
14
|
/**
|
|
12
|
-
* @
|
|
13
|
-
* @property {string} [from] The start date of the scheduling in ISO format.
|
|
14
|
-
* @property {string} [to] The end date of the scheduling in ISO format.
|
|
15
|
-
* @property {number} [timezoneOffset] The timezone offset in minutes. If not provided, the local
|
|
16
|
-
* timezone offset will be used.
|
|
15
|
+
* Parameters for {@link checkScheduled}.
|
|
17
16
|
*/
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
|
-
*
|
|
21
|
-
* @property {boolean} isScheduled Indicates if the widget is scheduled.
|
|
22
|
-
* @property {boolean} isActive Indicates if the widget is currently active within the
|
|
23
|
-
* scheduled time frame.
|
|
24
|
-
* @property {boolean} isExpired Indicates if the scheduled time frame has expired.
|
|
19
|
+
* The scheduling status of a widget.
|
|
25
20
|
*/
|
|
26
21
|
|
|
27
22
|
/**
|
|
28
23
|
* Retrieves the scheduling status of a widget based on the provided parameters.
|
|
29
|
-
* @param
|
|
30
|
-
* @
|
|
24
|
+
* @param params The parameters for the function.
|
|
25
|
+
* @param params.from The start date of the scheduling in ISO format.
|
|
26
|
+
* @param params.to The end date of the scheduling in ISO format.
|
|
27
|
+
* @param params.timezoneOffset The timezone offset in minutes.
|
|
28
|
+
* @returns An object containing the scheduling status.
|
|
31
29
|
*/
|
|
32
30
|
export function checkScheduled({
|
|
33
31
|
from,
|
|
@@ -50,4 +48,51 @@ export function checkScheduled({
|
|
|
50
48
|
isActive,
|
|
51
49
|
isExpired
|
|
52
50
|
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The widget mapping of the components config, reduced to what the layout resolution reads. The
|
|
55
|
+
* config itself comes from untyped JS, so the shape is described here at the consumption boundary.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Retrieves the sides on which a widget gets the media widget margins. Widgets declare them in a
|
|
60
|
+
* "config.json" inside their folder, which the build adds to the widget mapping. A widget that
|
|
61
|
+
* declares nothing keeps the margins of its own configuration.
|
|
62
|
+
* @param name The name of the widget.
|
|
63
|
+
* @returns The sides that get the media widget margins.
|
|
64
|
+
*/
|
|
65
|
+
export function getAppliedMediaMargins(name) {
|
|
66
|
+
const {
|
|
67
|
+
widgetsV2
|
|
68
|
+
} = componentsConfig;
|
|
69
|
+
const declared = widgetsV2?.[name]?.config?.layout?.applyMediaMargins;
|
|
70
|
+
if (declared === true) {
|
|
71
|
+
return MEDIA_MARGIN_SIDES.reduce((sides, side) => ({
|
|
72
|
+
...sides,
|
|
73
|
+
[side]: true
|
|
74
|
+
}), {});
|
|
75
|
+
}
|
|
76
|
+
if (declared && typeof declared === 'object') {
|
|
77
|
+
return declared;
|
|
78
|
+
}
|
|
79
|
+
return {};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Resolves the margins of a widget container. The configuration of the widget instance wins over
|
|
84
|
+
* the media widget margin, which only applies to the sides the widget asked for.
|
|
85
|
+
* @param definitionLayout The layout settings of the widget instance.
|
|
86
|
+
* @param appliedMediaMargins The sides on which the widget gets the media widget margins.
|
|
87
|
+
* @param settings The media widget margins.
|
|
88
|
+
* @returns The resolved margins.
|
|
89
|
+
*/
|
|
90
|
+
export function resolveWidgetLayout(definitionLayout, appliedMediaMargins, settings) {
|
|
91
|
+
return MARGIN_SIDES.reduce((layout, side) => {
|
|
92
|
+
const mediaSide = MARGIN_SIDE_SETTINGS[side];
|
|
93
|
+
return {
|
|
94
|
+
...layout,
|
|
95
|
+
[side]: definitionLayout?.[side] ?? (appliedMediaMargins?.[mediaSide] ? settings?.[mediaSide] ?? 0 : 0)
|
|
96
|
+
};
|
|
97
|
+
}, {});
|
|
53
98
|
}
|