@shopgate/engage 7.32.0-beta.1 → 7.32.0-beta.10
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/README.md +0 -1
- 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 +0 -12
- package/admin-preview/constants/index.d.ts.map +1 -1
- package/admin-preview/constants/index.js +0 -16
- package/admin-preview/helpers/_internal/detection.d.ts +53 -0
- package/admin-preview/helpers/_internal/detection.d.ts.map +1 -0
- package/admin-preview/helpers/_internal/detection.js +93 -0
- package/admin-preview/helpers/index.d.ts +7 -0
- package/admin-preview/helpers/index.d.ts.map +1 -1
- package/admin-preview/helpers/index.js +12 -4
- 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 +22 -0
- package/admin-preview/initialization/awaitInitialFrontendSettings.d.ts.map +1 -0
- package/admin-preview/initialization/awaitInitialFrontendSettings.js +84 -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/CartItemProductProvider.connector.js +0 -2
- package/cart/components/CartItem/CartItemProductProvider.js +3 -30
- package/cart/components/CartItem/CartItemProductProvider.types.js +0 -1
- package/cart/components/CartItem/CartItemQuantityPicker.js +1 -0
- 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/PaymentBarContent.js +1 -1
- 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 +48 -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/Logo/index.d.ts.map +1 -1
- package/components/Logo/index.js +3 -6
- 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/PickerUtilize/index.d.ts +2 -1
- package/components/PickerUtilize/index.d.ts.map +1 -1
- 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/View/components/Above/index.d.ts.map +1 -1
- package/components/View/components/Above/index.js +3 -1
- package/components/View/components/Below/index.d.ts.map +1 -1
- package/components/View/components/Below/index.js +3 -1
- package/components/View/components/Content/index.d.ts +2 -1
- 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 +5 -1
- package/components/index.d.ts.map +1 -1
- package/components/index.js +4 -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/Ripple.d.ts +2 -1
- package/components/v2/ButtonBase/Ripple.d.ts.map +1 -1
- 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/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/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/components/DevelopmentSettings/DevelopmentSettings.js +3 -3
- package/development/components/SimulatedInsets/SimulatedInsetBottom.js +3 -3
- package/development/components/SimulatedInsets/SimulatedInsetTop.js +2 -2
- 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 +7 -7
- 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 +17 -6
- package/filter/components/FilterPageContent/components/ApplyButton/index.js +8 -10
- package/filter/components/FilterPageContent/components/ResetButton/index.js +8 -6
- package/filter/components/PriceSlider/index.js +6 -1
- package/locations/components/ChangeLocationButton/ChangeLocationButton.js +10 -14
- package/locations/components/FulfillmentSheet/FulfillmentSheetContent.js +4 -8
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +4 -8
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +1 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +9 -18
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +10 -10
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +9 -19
- 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 +12 -12
- 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 +7 -18
- 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 +25 -0
- package/page/components/Widgets/WidgetProvider.d.ts.map +1 -0
- package/page/components/Widgets/WidgetProvider.js +5 -12
- 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 +5 -0
- package/page/components/Widgets/constants.d.ts.map +1 -0
- package/page/components/Widgets/constants.js +3 -1
- 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 +50 -0
- package/page/components/Widgets/helpers.d.ts.map +1 -0
- package/page/components/Widgets/helpers.js +8 -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 +13 -11
- 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 +111 -113
- 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/widgets/Button/Button.js +2 -3
- 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/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/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 +2 -6
- package/product/components/FilterBar/components/Content/components/Sort/index.js +1 -5
- 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/ProductGrid/components/Item/components/ItemDetails/index.js +12 -4
- 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 -1
- 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/ProductName/ProductName.d.ts +1 -1
- package/product/components/ProductName/ProductName.d.ts.map +1 -1
- package/product/components/ProductName/ProductNameContent.d.ts +2 -1
- package/product/components/ProductName/ProductNameContent.d.ts.map +1 -1
- package/product/components/ProductRatingStars/ProductRatingStars.d.ts +1 -1
- package/product/components/ProductRatingStars/ProductRatingStars.js +2 -4
- 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 +2 -4
- package/product/components/RelationsSlider/RelationsSheet.js +1 -5
- 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 +16 -34
- 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 +100 -8
- package/settings/reducers/index.d.ts +3 -3
- package/settings/selectors/appSettings.d.ts +114 -1
- package/settings/selectors/appSettings.d.ts.map +1 -1
- package/settings/selectors/appSettings.js +75 -1
- package/settings/types/appSettings.d.ts +244 -0
- package/settings/types/appSettings.d.ts.map +1 -1
- package/settings/types/appSettings.js +124 -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/index.js +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.map +1 -1
- package/styles/theme/createDefaultThemeOptions/index.js +107 -4
- package/styles/theme/createTheme/createComponents.d.ts +2 -2
- package/styles/theme/createTheme/createComponents.d.ts.map +1 -1
- package/styles/theme/createTheme/createComponents.js +0 -1
- package/styles/theme/createTheme/createComponents.types.d.ts +117 -0
- package/styles/theme/createTheme/createComponents.types.d.ts.map +1 -1
- package/styles/theme/createTheme/createComponents.types.js +119 -2
- 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/createSpacing.js +4 -1
- package/styles/theme/createTheme/createThemeFromColorScheme.d.ts +4 -2
- 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 +2 -1
- package/styles/theme/createTheme/createTypography.js +59 -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 +5 -2
- package/styles/theme/createTheme/layout.d.ts +23 -0
- package/styles/theme/createTheme/layout.d.ts.map +1 -0
- package/styles/theme/createTheme/layout.js +20 -0
- 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/transitions.d.ts +4 -0
- package/styles/theme/createTheme/transitions.js +3 -1
- package/styles/theme/createTheme/types.d.ts +41 -9
- package/styles/theme/createTheme/types.d.ts.map +1 -1
- package/styles/theme/createTheme/types.js +16 -4
- package/styles/theme/hocs/index.d.ts +2 -0
- package/styles/theme/hocs/index.d.ts.map +1 -0
- package/styles/theme/hocs/index.js +1 -0
- package/styles/theme/hocs/withTheme.d.ts +21 -0
- package/styles/theme/hocs/withTheme.d.ts.map +1 -0
- package/styles/theme/hocs/withTheme.js +33 -0
- 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 +5 -1
- package/styles/theme/index.d.ts.map +1 -1
- package/styles/theme/index.js +2 -1
- package/styles/theme/providers/ActiveBreakpointProvider.d.ts +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 +4 -14
- package/styles/theme/providers/ThemeProvider.d.ts.map +1 -1
- package/styles/theme/providers/ThemeProvider.js +88 -26
- 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/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/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/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/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,4 +1,11 @@
|
|
|
1
1
|
import { type Theme } from '..';
|
|
2
|
+
/**
|
|
3
|
+
* React hook to check if a media query matches the current viewport. Independent of the theme
|
|
4
|
+
* context, so it can be used by the provider that establishes it.
|
|
5
|
+
* @param query A media query string, e.g. '(min-width: 600px)'
|
|
6
|
+
* @returns Returns true if the media query matches, false otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export declare const useMatchMedia: (query: string) => boolean;
|
|
2
9
|
/**
|
|
3
10
|
* @callback ThemeFn
|
|
4
11
|
* @param {Theme} theme The current theme object.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,OAoB7C,CAAC;AAEF;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,QAAA,MAAM,aAAa,GAAI,YAAY,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,KAAG,OASxE,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -2,12 +2,12 @@ import "core-js/modules/es.string.replace.js";
|
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
3
|
import useTheme from "./useTheme";
|
|
4
4
|
/**
|
|
5
|
-
* React hook to check if a media query matches the current viewport.
|
|
6
|
-
*
|
|
5
|
+
* React hook to check if a media query matches the current viewport. Independent of the theme
|
|
6
|
+
* context, so it can be used by the provider that establishes it.
|
|
7
7
|
* @param query A media query string, e.g. '(min-width: 600px)'
|
|
8
8
|
* @returns Returns true if the media query matches, false otherwise.
|
|
9
9
|
*/
|
|
10
|
-
const
|
|
10
|
+
export const useMatchMedia = query => {
|
|
11
11
|
const [match, setMatch] = useState(() => window.matchMedia(query).matches);
|
|
12
12
|
useEffect(() => {
|
|
13
13
|
const queryList = window.matchMedia(query);
|
|
@@ -60,9 +60,9 @@ const useMediaQueryInternal = query => {
|
|
|
60
60
|
const useMediaQuery = queryInput => {
|
|
61
61
|
const theme = useTheme();
|
|
62
62
|
let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;
|
|
63
|
-
// Remove the '@media' prefix if it exists, as
|
|
63
|
+
// Remove the '@media' prefix if it exists, as useMatchMedia expects a plain media query.
|
|
64
64
|
query = query.replace(/^@media( ?)/m, '');
|
|
65
|
-
const match =
|
|
65
|
+
const match = useMatchMedia(query);
|
|
66
66
|
return match;
|
|
67
67
|
};
|
|
68
68
|
export default useMediaQuery;
|
package/styles/theme/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export { default as ThemeProvider } from './providers/ThemeProvider';
|
|
2
2
|
export { createTheme } from './createTheme';
|
|
3
|
-
export
|
|
3
|
+
export { type ShadowSize } from './createTheme/shadows';
|
|
4
|
+
export type { Variant as TypographyVariant } from './createTheme/createTypography';
|
|
5
|
+
export type { Theme, Breakpoint, PaletteColorsWithMain, ColorSchemeName, ColorSchemeMode, } from './createTheme';
|
|
4
6
|
export { useActiveBreakpoint, useMediaQuery, useResponsiveValue, useTheme, useColorScheme, } from './hooks';
|
|
7
|
+
export { withTheme, type WithThemeProps } from './hocs';
|
|
8
|
+
export type { ColorSchemeContextValue } from './providers/ColorSchemeContext';
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../styles/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../styles/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnF,YAAY,EACV,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,GAC3E,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/styles/theme/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default as ThemeProvider } from "./providers/ThemeProvider";
|
|
2
2
|
export { createTheme } from "./createTheme";
|
|
3
|
-
export { useActiveBreakpoint, useMediaQuery, useResponsiveValue, useTheme, useColorScheme } from "./hooks";
|
|
3
|
+
export { useActiveBreakpoint, useMediaQuery, useResponsiveValue, useTheme, useColorScheme } from "./hooks";
|
|
4
|
+
export { withTheme } from "./hocs";
|
|
@@ -4,6 +4,6 @@ export declare const ActiveBreakpointContext: React.Context<Breakpoint | undefin
|
|
|
4
4
|
type ActiveBreakpointProviderProps = {
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
};
|
|
7
|
-
declare const _default: React.MemoExoticComponent<({ children }: ActiveBreakpointProviderProps) =>
|
|
7
|
+
declare const _default: React.MemoExoticComponent<({ children }: ActiveBreakpointProviderProps) => React.JSX.Element>;
|
|
8
8
|
export default _default;
|
|
9
9
|
//# sourceMappingURL=ActiveBreakpointProvider.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type ColorSchemeMode, type ColorSchemeName } from '../createTheme';
|
|
2
|
+
/**
|
|
3
|
+
* A new mode, or an updater that receives the effective one. Null clears the visitor's pick.
|
|
4
|
+
*/
|
|
5
|
+
export type SetColorSchemeMode = ColorSchemeMode | null | ((current: ColorSchemeMode) => ColorSchemeMode | null);
|
|
6
|
+
export interface ColorSchemeContextValue {
|
|
7
|
+
/**
|
|
8
|
+
* The mode in effect: the one the visitor picked, or the configured default while they picked
|
|
9
|
+
* none.
|
|
10
|
+
*/
|
|
11
|
+
mode: ColorSchemeMode;
|
|
12
|
+
/**
|
|
13
|
+
* The mode that applies while the visitor picked none, as configured within the app settings.
|
|
14
|
+
*/
|
|
15
|
+
defaultMode: ColorSchemeMode;
|
|
16
|
+
/**
|
|
17
|
+
* The color scheme that is applied - the mode resolved against the operating system and the
|
|
18
|
+
* configured default. Components style against this one.
|
|
19
|
+
*/
|
|
20
|
+
activeColorScheme: ColorSchemeName | null;
|
|
21
|
+
/**
|
|
22
|
+
* Whether visitors may pick a color scheme themselves. False while the app settings configure a
|
|
23
|
+
* binding color scheme, in which case a stored pick is ignored. Always true in development
|
|
24
|
+
* builds, which have no app settings to configure. A picker should render only where this is
|
|
25
|
+
* true.
|
|
26
|
+
*/
|
|
27
|
+
canSelectColorScheme: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Updates the color scheme. Setting null clears the visitor's pick, so the configured default
|
|
30
|
+
* applies again. Takes effect only while `canSelectColorScheme` is true.
|
|
31
|
+
*/
|
|
32
|
+
setMode: (value: SetColorSchemeMode) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Everything that can be set: the color schemes the active theme styles, plus 'system'. Passing
|
|
35
|
+
* anything else to setMode has no effect.
|
|
36
|
+
*/
|
|
37
|
+
modes: ColorSchemeMode[];
|
|
38
|
+
}
|
|
39
|
+
export declare const ColorSchemeContext: import("react").Context<ColorSchemeContextValue>;
|
|
40
|
+
//# sourceMappingURL=ColorSchemeContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorSchemeContext.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ColorSchemeContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,IAAI,GACJ,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,eAAe,GAAG,IAAI,CAAC,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,WAAW,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,kDAO7B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A new mode, or an updater that receives the effective one. Null clears the visitor's pick.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const ColorSchemeContext = /*#__PURE__*/createContext({
|
|
8
|
+
mode: 'light',
|
|
9
|
+
defaultMode: 'light',
|
|
10
|
+
activeColorScheme: 'light',
|
|
11
|
+
canSelectColorScheme: false,
|
|
12
|
+
setMode: () => undefined,
|
|
13
|
+
modes: ['light']
|
|
14
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,YAAY,gCAAqC,CAAC"}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
* The current color scheme (e.g., 'light' or 'dark')
|
|
5
|
-
*/
|
|
6
|
-
mode: ColorSchemeName;
|
|
7
|
-
/**
|
|
8
|
-
* Function to update the color scheme
|
|
9
|
-
*/
|
|
10
|
-
setMode: React.Dispatch<React.SetStateAction<ColorSchemeName>>;
|
|
11
|
-
}
|
|
12
|
-
export declare const ThemeContext: import("react").Context<Theme>;
|
|
13
|
-
export declare const ColorSchemeContext: import("react").Context<ColorSchemeContextValue>;
|
|
1
|
+
import { type ThemeInternal } from '../createTheme';
|
|
2
|
+
export { ColorSchemeContext, type ColorSchemeContextValue } from './ColorSchemeContext';
|
|
3
|
+
export { ThemeContext } from './ThemeContext';
|
|
14
4
|
type ThemeProviderProps = {
|
|
15
5
|
/**
|
|
16
6
|
* The theme object to provide to the context.
|
|
@@ -18,6 +8,6 @@ type ThemeProviderProps = {
|
|
|
18
8
|
theme: ThemeInternal;
|
|
19
9
|
children: React.ReactNode;
|
|
20
10
|
};
|
|
21
|
-
declare const _default: import("react").MemoExoticComponent<({ children, theme, }: ThemeProviderProps) => import("react
|
|
11
|
+
declare const _default: import("react").MemoExoticComponent<({ children, theme, }: ThemeProviderProps) => import("react").JSX.Element>;
|
|
22
12
|
export default _default;
|
|
23
13
|
//# sourceMappingURL=ThemeProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeProvider.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACgB,KAAK,aAAa,EACxC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAuH9C,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAA;mFArHE,kBAAkB;AAuHrB,wBAAmC"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "core-js/modules/es.array.includes.js";
|
|
2
|
+
import { memo, useCallback, useEffect, useMemo, useLayoutEffect } from 'react';
|
|
3
|
+
import { useSelector } from 'react-redux';
|
|
2
4
|
import useLocalStorage from '@shopgate/engage/core/hooks/useLocalStorage';
|
|
5
|
+
import { logger } from '@shopgate/engage/core/helpers';
|
|
3
6
|
import { GlobalStyles } from '@shopgate/engage/styles';
|
|
4
|
-
import {
|
|
7
|
+
import { isFrontendSettingsAdminPreviewActive } from '@shopgate/engage/admin-preview/helpers';
|
|
5
8
|
import { FrontendSettingsPreviewBridge } from '@shopgate/engage/admin-preview/components';
|
|
9
|
+
// Imported via its module path rather than a settings barrel, to keep this module out of an import
|
|
10
|
+
// cycle - the settings types reach back into the "styles/theme" barrel, which exports this file.
|
|
11
|
+
import { getCanSelectColorScheme, getDefaultColorSchemeMode } from '@shopgate/engage/settings/selectors/appSettings';
|
|
6
12
|
import ActiveBreakpointProvider from "./ActiveBreakpointProvider";
|
|
13
|
+
import { ColorSchemeContext } from "./ColorSchemeContext";
|
|
14
|
+
import { ThemeContext } from "./ThemeContext";
|
|
15
|
+
import { useMatchMedia } from "../hooks/useMediaQuery";
|
|
16
|
+
import { COLOR_SCHEME_SYSTEM } from "../createTheme";
|
|
7
17
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
mode: 'light',
|
|
11
|
-
setMode: () => ''
|
|
12
|
-
});
|
|
18
|
+
export { ColorSchemeContext } from "./ColorSchemeContext";
|
|
19
|
+
export { ThemeContext } from "./ThemeContext";
|
|
13
20
|
|
|
14
21
|
/**
|
|
15
22
|
* The ThemeProvider component provides the theme context to its children.
|
|
@@ -18,32 +25,87 @@ const ThemeProvider = ({
|
|
|
18
25
|
children,
|
|
19
26
|
theme
|
|
20
27
|
}) => {
|
|
21
|
-
|
|
22
|
-
|
|
28
|
+
// The color schemes the active theme actually provides. createTheme() can be configured with only
|
|
29
|
+
// a subset of the possible schemes (it defaults to just `light`), so this list and the validation
|
|
30
|
+
// below are derived from the resolved theme rather than the full COLOR_SCHEME_NAMES tuple.
|
|
31
|
+
// Otherwise the provider could expose and accept a scheme (e.g. `dark`) the theme doesn't style,
|
|
32
|
+
// and setActiveColorScheme would flip the root selector to an unstyled scheme.
|
|
33
|
+
const colorSchemes = useMemo(() => Object.keys(theme.colorSchemes), [theme]);
|
|
34
|
+
const defaultMode = useSelector(getDefaultColorSchemeMode);
|
|
35
|
+
const isColorSchemeSelectable = useSelector(getCanSelectColorScheme);
|
|
36
|
+
|
|
37
|
+
// Whether the merchant lets visitors choose. A binding `light` or `dark` rules a pick out, so one
|
|
38
|
+
// left over from when selecting still was allowed does not keep overriding it. Development builds
|
|
39
|
+
// have no app settings to configure at all, so both schemes stay reachable there.
|
|
40
|
+
const canSelectColorScheme = isColorSchemeSelectable || process.env.NODE_ENV === 'development';
|
|
41
|
+
const prefersDarkColorScheme = useMatchMedia('(prefers-color-scheme: dark)');
|
|
42
|
+
const systemColorScheme = prefersDarkColorScheme ? 'dark' : 'light';
|
|
43
|
+
const [pickedMode, setPersistedMode] = useLocalStorage('persistedColorScheme', {
|
|
44
|
+
// The frontend settings preview runs the app in an iframe on the shop origin. Persisting the
|
|
45
|
+
// color scheme there would write the admin's preview choice into the visitor's own storage and
|
|
46
|
+
// outlive the preview, so the scheme is kept in memory only while previewing.
|
|
47
|
+
persist: !isFrontendSettingsAdminPreviewActive()
|
|
23
48
|
});
|
|
49
|
+
|
|
50
|
+
// The preview forces a scheme through the same setter to show the admin either appearance, which
|
|
51
|
+
// has to work regardless of what the previewed settings configure. It stays out of
|
|
52
|
+
// `canSelectColorScheme`, so the previewed shop offers a picker exactly where visitors get one.
|
|
53
|
+
const isPickApplied = canSelectColorScheme || isFrontendSettingsAdminPreviewActive();
|
|
54
|
+
|
|
55
|
+
// The mode the visitor picked wins where it applies, otherwise the configured one does. Resolving
|
|
56
|
+
// that on every render rather than seeding the storage with it keeps `system` following the
|
|
57
|
+
// operating system and lets the preview apply the merchant's edits live.
|
|
58
|
+
const mode = isPickApplied && pickedMode || defaultMode;
|
|
59
|
+
const resolvedColorScheme = useMemo(() => mode === COLOR_SCHEME_SYSTEM ? systemColorScheme : mode, [mode, systemColorScheme]);
|
|
60
|
+
const isSupportedColorScheme = colorSchemes.includes(resolvedColorScheme);
|
|
61
|
+
const activeColorScheme = isSupportedColorScheme ? resolvedColorScheme : theme.defaultColorScheme ?? null;
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
if (isSupportedColorScheme) return;
|
|
64
|
+
logger.warn(`ThemeProvider: "${resolvedColorScheme}" is not a supported color scheme.`);
|
|
65
|
+
}, [isSupportedColorScheme, resolvedColorScheme]);
|
|
66
|
+
|
|
67
|
+
// What a picker can offer and what setMode accepts. 'system' is not a scheme the theme styles -
|
|
68
|
+
// it resolves to one above - so it is added here rather than derived from the theme.
|
|
69
|
+
const modes = useMemo(() => [].concat(colorSchemes, [COLOR_SCHEME_SYSTEM]), [colorSchemes]);
|
|
70
|
+
|
|
71
|
+
// Wraps the raw storage setter, so an unsupported mode is rejected before it is persisted.
|
|
72
|
+
// Setting null is allowed and clears the stored preference, which returns to the configured one.
|
|
73
|
+
const setMode = useCallback(value => {
|
|
74
|
+
setPersistedMode(currentMode => {
|
|
75
|
+
// An updater is resolved the same way `mode` is, so it sees what the context exposes rather
|
|
76
|
+
// than the storage behind it - which holds no value yet, or one that is currently ignored.
|
|
77
|
+
const effectiveMode = isPickApplied && currentMode || defaultMode;
|
|
78
|
+
const nextMode = typeof value === 'function' ? value(effectiveMode) : value;
|
|
79
|
+
if (nextMode !== null && !modes.includes(nextMode)) {
|
|
80
|
+
logger.warn(`ThemeProvider: "${nextMode}" is not a supported color scheme.`);
|
|
81
|
+
return currentMode;
|
|
82
|
+
}
|
|
83
|
+
return nextMode;
|
|
84
|
+
});
|
|
85
|
+
}, [defaultMode, isPickApplied, modes, setPersistedMode]);
|
|
24
86
|
const colorSchemeContextValue = useMemo(() => ({
|
|
25
|
-
mode
|
|
26
|
-
|
|
27
|
-
|
|
87
|
+
mode,
|
|
88
|
+
defaultMode,
|
|
89
|
+
activeColorScheme,
|
|
90
|
+
canSelectColorScheme,
|
|
91
|
+
setMode,
|
|
92
|
+
modes
|
|
93
|
+
}), [mode, defaultMode, activeColorScheme, canSelectColorScheme, modes, setMode]);
|
|
28
94
|
useLayoutEffect(() => {
|
|
29
95
|
if (!activeColorScheme) return;
|
|
30
96
|
theme.setActiveColorScheme(activeColorScheme);
|
|
31
97
|
}, [activeColorScheme, theme]);
|
|
32
98
|
const styleSheets = useMemo(() => theme.generateStyleSheets(), [theme]);
|
|
33
|
-
return (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
children: children
|
|
42
|
-
}), /*#__PURE__*/_jsx(GlobalStyles, {
|
|
43
|
-
styles: styleSheets
|
|
44
|
-
})]
|
|
99
|
+
return /*#__PURE__*/_jsxs(ColorSchemeContext.Provider, {
|
|
100
|
+
value: colorSchemeContextValue,
|
|
101
|
+
children: [isFrontendSettingsAdminPreviewActive() && /*#__PURE__*/_jsx(FrontendSettingsPreviewBridge, {}), /*#__PURE__*/_jsxs(ThemeContext.Provider, {
|
|
102
|
+
value: theme,
|
|
103
|
+
children: [/*#__PURE__*/_jsx(ActiveBreakpointProvider, {
|
|
104
|
+
children: children
|
|
105
|
+
}), /*#__PURE__*/_jsx(GlobalStyles, {
|
|
106
|
+
styles: styleSheets
|
|
45
107
|
})]
|
|
46
|
-
})
|
|
47
|
-
);
|
|
108
|
+
})]
|
|
109
|
+
});
|
|
48
110
|
};
|
|
49
111
|
export default /*#__PURE__*/memo(ThemeProvider);
|
|
@@ -24,7 +24,7 @@ export declare const getContrastRatio: (color: string, color2: string, backgroun
|
|
|
24
24
|
* @param returnType The type of return value to create. Defaults to 'hex'.
|
|
25
25
|
* @returns The desired color value
|
|
26
26
|
*/
|
|
27
|
-
export declare const toHex: (color: ColorInstance, returnType?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
27
|
+
export declare const toHex: (color: ColorInstance, returnType?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
28
28
|
[key: string]: any;
|
|
29
29
|
}> | ArrayLike<number> | {
|
|
30
30
|
[key: string]: any;
|
|
@@ -48,14 +48,14 @@ export declare const toHex: (color: ColorInstance, returnType?: ColorType) => st
|
|
|
48
48
|
[key: string]: any;
|
|
49
49
|
}> | ArrayLike<number> | {
|
|
50
50
|
[key: string]: any;
|
|
51
|
-
}
|
|
51
|
+
}>;
|
|
52
52
|
/**
|
|
53
53
|
* Converts a passed color to an RGB color
|
|
54
54
|
* @param color The color to convert.
|
|
55
55
|
* @param returnType The type of return value to create. Defaults to 'rgb'.
|
|
56
56
|
* @returns The desired color value
|
|
57
57
|
*/
|
|
58
|
-
export declare const toRgb: (color: ColorInstance, returnType?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
58
|
+
export declare const toRgb: (color: ColorInstance, returnType?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
59
59
|
[key: string]: any;
|
|
60
60
|
}> | ArrayLike<number> | {
|
|
61
61
|
[key: string]: any;
|
|
@@ -79,14 +79,14 @@ export declare const toRgb: (color: ColorInstance, returnType?: ColorType) => st
|
|
|
79
79
|
[key: string]: any;
|
|
80
80
|
}> | ArrayLike<number> | {
|
|
81
81
|
[key: string]: any;
|
|
82
|
-
}
|
|
82
|
+
}>;
|
|
83
83
|
/**
|
|
84
84
|
* Converts a passed color to an HSL color
|
|
85
85
|
* @param color The color to convert.
|
|
86
86
|
* @param returnType The type of return value to create. Defaults to 'hsl'.
|
|
87
87
|
* @returns The desired color value
|
|
88
88
|
*/
|
|
89
|
-
export declare const toHsl: (color: ColorInstance, returnType?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
89
|
+
export declare const toHsl: (color: ColorInstance, returnType?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
90
90
|
[key: string]: any;
|
|
91
91
|
}> | ArrayLike<number> | {
|
|
92
92
|
[key: string]: any;
|
|
@@ -110,7 +110,7 @@ export declare const toHsl: (color: ColorInstance, returnType?: ColorType) => st
|
|
|
110
110
|
[key: string]: any;
|
|
111
111
|
}> | ArrayLike<number> | {
|
|
112
112
|
[key: string]: any;
|
|
113
|
-
}
|
|
113
|
+
}>;
|
|
114
114
|
/**
|
|
115
115
|
* Adds hsl lightness to a color
|
|
116
116
|
* @param color The color to modify.
|
|
@@ -118,7 +118,7 @@ export declare const toHsl: (color: ColorInstance, returnType?: ColorType) => st
|
|
|
118
118
|
* @param type The type of return value to create. Defaults to 'hsl'.
|
|
119
119
|
* @returns The desired color value
|
|
120
120
|
*/
|
|
121
|
-
export declare const addLightness: (color: ColorInstance, value: number, type?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
121
|
+
export declare const addLightness: (color: ColorInstance, value: number, type?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
122
122
|
[key: string]: any;
|
|
123
123
|
}> | ArrayLike<number> | {
|
|
124
124
|
[key: string]: any;
|
|
@@ -142,7 +142,7 @@ export declare const addLightness: (color: ColorInstance, value: number, type?:
|
|
|
142
142
|
[key: string]: any;
|
|
143
143
|
}> | ArrayLike<number> | {
|
|
144
144
|
[key: string]: any;
|
|
145
|
-
}
|
|
145
|
+
}>;
|
|
146
146
|
/**
|
|
147
147
|
* Lightens a color by a given offset
|
|
148
148
|
* @param color The color to modify.
|
|
@@ -150,7 +150,7 @@ export declare const addLightness: (color: ColorInstance, value: number, type?:
|
|
|
150
150
|
* @param type The type of return value to create. Defaults to 'hsl'.
|
|
151
151
|
* @returns The desired color value
|
|
152
152
|
*/
|
|
153
|
-
export declare const lighten: (color: ColorInstance, totalOffset: number, type?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
153
|
+
export declare const lighten: (color: ColorInstance, totalOffset: number, type?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
154
154
|
[key: string]: any;
|
|
155
155
|
}> | ArrayLike<number> | {
|
|
156
156
|
[key: string]: any;
|
|
@@ -174,7 +174,7 @@ export declare const lighten: (color: ColorInstance, totalOffset: number, type?:
|
|
|
174
174
|
[key: string]: any;
|
|
175
175
|
}> | ArrayLike<number> | {
|
|
176
176
|
[key: string]: any;
|
|
177
|
-
}
|
|
177
|
+
}>;
|
|
178
178
|
/**
|
|
179
179
|
* Darkens a color by a given offset
|
|
180
180
|
* @param color The color to modify.
|
|
@@ -182,7 +182,7 @@ export declare const lighten: (color: ColorInstance, totalOffset: number, type?:
|
|
|
182
182
|
* @param type The type of return value to create. Defaults to 'hsl'.
|
|
183
183
|
* @returns The desired color value
|
|
184
184
|
*/
|
|
185
|
-
export declare const darken: (color: ColorInstance, totalOffset: number, type?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
185
|
+
export declare const darken: (color: ColorInstance, totalOffset: number, type?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
|
|
186
186
|
[key: string]: any;
|
|
187
187
|
}> | ArrayLike<number> | {
|
|
188
188
|
[key: string]: any;
|
|
@@ -206,6 +206,6 @@ export declare const darken: (color: ColorInstance, totalOffset: number, type?:
|
|
|
206
206
|
[key: string]: any;
|
|
207
207
|
}> | ArrayLike<number> | {
|
|
208
208
|
[key: string]: any;
|
|
209
|
-
}
|
|
209
|
+
}>;
|
|
210
210
|
export {};
|
|
211
211
|
//# sourceMappingURL=color.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../styles/theme/utils/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D,KAAK,aAAa,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,YAWrC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,mBAAmB,WAYpB,CAAC;AA6BF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../styles/theme/utils/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D,KAAK,aAAa,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,YAWrC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,mBAAmB,WAYpB,CAAC;AA6BF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACuB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACuB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACuB,CAAC;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,aAAa,EACpB,OAAO,MAAM,EACb,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACkC,CAAC;AAC5D;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAClB,OAAO,aAAa,EACpB,aAAa,MAAM,EACnB,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACsC,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GACjB,OAAO,aAAa,EACpB,aAAa,MAAM,EACnB,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACqC,CAAC"}
|
|
@@ -2,7 +2,8 @@ import React, { useMemo, useEffect } from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import throttle from 'lodash/throttle';
|
|
4
4
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
5
|
-
import { Grid, I18n,
|
|
5
|
+
import { Grid, I18n, Modal, Link, ConditionalWrapper, Typography } from '@shopgate/engage/components';
|
|
6
|
+
import { Button } from '@shopgate/engage/components/v2';
|
|
6
7
|
import { appConfig } from '@shopgate/engage';
|
|
7
8
|
import connect from "./connector";
|
|
8
9
|
import cookieImage from "./tracking-opt-in.svg";
|
|
@@ -164,21 +165,19 @@ const CookieConsentModal = ({
|
|
|
164
165
|
className: classes.buttonWrapper,
|
|
165
166
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
166
167
|
onClick: handleAcceptAllCookies,
|
|
167
|
-
|
|
168
|
+
color: "secondary",
|
|
168
169
|
className: cx(classes.button, 'cookie-consent-modal__button-accept-all'),
|
|
169
170
|
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
170
171
|
string: modalButtonAcceptAll || 'cookieConsentModal.buttonAcceptAll'
|
|
171
172
|
})
|
|
172
173
|
}), showRequiredCookiesButton ? /*#__PURE__*/_jsx(Button, {
|
|
173
174
|
onClick: handleAcceptRequiredCookies,
|
|
174
|
-
type: "simple",
|
|
175
175
|
className: cx(classes.button, 'cookie-consent-modal__button-accept-required'),
|
|
176
176
|
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
177
177
|
string: modalButtonOnlyRequired || 'cookieConsentModal.modalButtonOnlyRequired'
|
|
178
178
|
})
|
|
179
179
|
}) : null, /*#__PURE__*/_jsx(Button, {
|
|
180
180
|
onClick: handleOpenPrivacySettings,
|
|
181
|
-
type: "simple",
|
|
182
181
|
className: cx(classes.button, 'cookie-consent-modal__button-open-settings'),
|
|
183
182
|
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
184
183
|
string: modalButtonConfigureSettings || 'cookieConsentModal.buttonConfigure'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useState } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Grid, I18n, Link, Switch, ConditionalWrapper } from '@shopgate/engage/components';
|
|
3
|
+
import { Button } from '@shopgate/engage/components/v2';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
5
6
|
import { appConfig } from '@shopgate/engage';
|
|
@@ -148,7 +149,7 @@ const PrivacySettings = ({
|
|
|
148
149
|
className: classes.buttonWrapper,
|
|
149
150
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
150
151
|
onClick: () => handleAcceptAllCookies(),
|
|
151
|
-
|
|
152
|
+
color: "secondary",
|
|
152
153
|
className: cx(classes.button, 'privacy-settings__button-accept-all'),
|
|
153
154
|
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
154
155
|
string: "cookieConsentModal.buttonAcceptAll"
|
|
@@ -158,7 +159,6 @@ const PrivacySettings = ({
|
|
|
158
159
|
comfortCookiesAccepted: areComfortCookiesSelected,
|
|
159
160
|
statisticsCookiesAccepted: areStatisticsCookiesSelected
|
|
160
161
|
}),
|
|
161
|
-
type: "simple",
|
|
162
162
|
className: cx(classes.button, 'privacy-settings__button-accept-selected'),
|
|
163
163
|
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
164
164
|
string: "cookieConsentModal.modalButtonConfirmSelected"
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import "core-js/modules/es.regexp.flags.js";
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
|
-
import { I18n, SurroundPortals, RippleButton } from '@shopgate/engage/components';
|
|
5
|
-
import { makeStyles } from '@shopgate/engage/styles';
|
|
6
|
-
import { CART_CHECKOUT_BUTTON } from '@shopgate/pwa-common-commerce/cart/constants/Portals';
|
|
7
|
-
import { FulfillmentSheet, STAGE_RESERVE_FORM } from "../../../locations";
|
|
8
|
-
import { CartContext } from "../../cart.context";
|
|
9
|
-
import connect from "./PaymentBarReserveButton.connector";
|
|
10
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
const useStyles = makeStyles()(theme => ({
|
|
12
|
-
button: {
|
|
13
|
-
width: '100%',
|
|
14
|
-
background: theme.components.ctaButton.background,
|
|
15
|
-
color: `${theme.contrastColor(theme.components.ctaButton.background)}!important`
|
|
16
|
-
},
|
|
17
|
-
disabledButton: {
|
|
18
|
-
width: '100%',
|
|
19
|
-
background: theme.palette.action.disabledBackground,
|
|
20
|
-
color: `${theme.contrastColor(theme.palette.action.disabledBackground)}!important`
|
|
21
|
-
}
|
|
22
|
-
}));
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* The reserve button component.
|
|
26
|
-
* @param {Object} props The component props.
|
|
27
|
-
* @param {Function} props.historyReset The history reset function.
|
|
28
|
-
* @return {JSX.Element} The rendered component.
|
|
29
|
-
*/
|
|
30
|
-
const PaymentBarReserveButton = ({
|
|
31
|
-
historyReset
|
|
32
|
-
}) => {
|
|
33
|
-
const {
|
|
34
|
-
classes
|
|
35
|
-
} = useStyles();
|
|
36
|
-
const {
|
|
37
|
-
flags: {
|
|
38
|
-
orderable
|
|
39
|
-
}
|
|
40
|
-
} = React.useContext(CartContext);
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Handles the click on the button.
|
|
44
|
-
*/
|
|
45
|
-
const handleClick = React.useCallback(() => {
|
|
46
|
-
FulfillmentSheet.open({
|
|
47
|
-
stage: STAGE_RESERVE_FORM,
|
|
48
|
-
callback: (_location, _product, orderSuccess) => {
|
|
49
|
-
if (orderSuccess === true) {
|
|
50
|
-
historyReset();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}, [historyReset]);
|
|
55
|
-
return /*#__PURE__*/_jsx(SurroundPortals, {
|
|
56
|
-
portalName: CART_CHECKOUT_BUTTON,
|
|
57
|
-
portalProps: {
|
|
58
|
-
isActive: orderable
|
|
59
|
-
},
|
|
60
|
-
children: /*#__PURE__*/_jsx(RippleButton, {
|
|
61
|
-
onClick: handleClick,
|
|
62
|
-
disabled: !orderable,
|
|
63
|
-
type: "regular",
|
|
64
|
-
className: orderable ? classes.button : classes.disabledButton,
|
|
65
|
-
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
66
|
-
string: "cart.reserve"
|
|
67
|
-
})
|
|
68
|
-
})
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
export default connect(PaymentBarReserveButton);
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { mount } from 'enzyme';
|
|
3
|
-
import Chip from '@shopgate/pwa-ui-shared/Chip';
|
|
4
|
-
import ChipsLayout from "./index";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Since the component uses the <Measure> component it needs an actual
|
|
8
|
-
* browser to be tested as it needs a full browser that supports styling and
|
|
9
|
-
* width/height calculation.
|
|
10
|
-
*/
|
|
11
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
describe('<ChipsLayout />', () => {
|
|
13
|
-
it('should render with one chip', () => {
|
|
14
|
-
const Component = /*#__PURE__*/_jsx(ChipsLayout, {
|
|
15
|
-
children: /*#__PURE__*/_jsx(Chip, {
|
|
16
|
-
id: "some-id",
|
|
17
|
-
children: "foo"
|
|
18
|
-
})
|
|
19
|
-
});
|
|
20
|
-
const wrapper = mount(Component);
|
|
21
|
-
expect(wrapper).toMatchSnapshot();
|
|
22
|
-
expect(wrapper.find(Chip).length).toEqual(1);
|
|
23
|
-
expect(wrapper.find(Chip).at(0).find('button').at(1).text()).toEqual('foo');
|
|
24
|
-
});
|
|
25
|
-
it('should render with two chips', () => {
|
|
26
|
-
const Component = /*#__PURE__*/_jsxs(ChipsLayout, {
|
|
27
|
-
children: [/*#__PURE__*/_jsx(Chip, {
|
|
28
|
-
id: "some-id",
|
|
29
|
-
children: "foo"
|
|
30
|
-
}), /*#__PURE__*/_jsx(Chip, {
|
|
31
|
-
id: "some-other-id",
|
|
32
|
-
children: "bar"
|
|
33
|
-
})]
|
|
34
|
-
});
|
|
35
|
-
const wrapper = mount(Component);
|
|
36
|
-
expect(wrapper).toMatchSnapshot();
|
|
37
|
-
expect(wrapper.find(Chip).length).toEqual(2);
|
|
38
|
-
expect(wrapper.find(Chip).at(0).find('button').at(1).text()).toEqual('foo');
|
|
39
|
-
expect(wrapper.find(Chip).at(1).find('button').at(1).text()).toEqual('bar');
|
|
40
|
-
});
|
|
41
|
-
});
|