@shopgate/engage 7.31.6 → 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/Account/Account.d.ts.map +1 -1
- package/account/components/Account/Account.js +4 -3
- package/account/components/Profile/Profile.provider.js +1 -1
- package/account/components/Profile/ProfileAddressBook.d.ts.map +1 -1
- package/account/components/Profile/ProfileAddressBook.js +19 -30
- package/account/components/Profile/ProfileAddressCard.d.ts.map +1 -1
- package/account/components/Profile/ProfileAddressCard.js +43 -49
- package/account/components/Profile/ProfileForm.d.ts.map +1 -1
- package/account/components/Profile/ProfileForm.js +15 -42
- package/account/components/Profile/ProfileHeader.d.ts.map +1 -1
- package/account/components/Profile/ProfileHeader.js +8 -9
- package/account/components/ProfileContact/ProfileContact.js +15 -22
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts +8 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts.map +1 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.js +98 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts +26 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts.map +1 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.js +61 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/index.d.ts +2 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/index.d.ts.map +1 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/index.js +1 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts +27 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts.map +1 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/types.js +1 -0
- package/admin-preview/components/index.d.ts +2 -0
- package/admin-preview/components/index.d.ts.map +1 -0
- package/admin-preview/components/index.js +1 -0
- package/admin-preview/constants/index.d.ts +6 -0
- package/admin-preview/constants/index.d.ts.map +1 -0
- package/admin-preview/constants/index.js +6 -0
- 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 +23 -0
- package/admin-preview/helpers/index.d.ts.map +1 -0
- package/admin-preview/helpers/index.js +27 -0
- package/admin-preview/hooks/index.d.ts +36 -0
- package/admin-preview/hooks/index.d.ts.map +1 -0
- package/admin-preview/hooks/index.js +74 -0
- 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 +19 -22
- package/back-in-stock/components/Subscriptions/components/Subscription/index.js +22 -26
- package/cart/components/CartHeaderWide/CartHeaderWide.js +4 -3
- package/cart/components/CartItem/CartItemCoupon.js +2 -6
- package/cart/components/CartItem/CartItemCouponDelete.js +3 -3
- package/cart/components/CartItem/CartItemCouponLayout.js +1 -1
- package/cart/components/CartItem/CartItemCouponPrice.js +16 -19
- package/cart/components/CartItem/CartItemCouponTitle.js +4 -4
- package/cart/components/CartItem/CartItemProduct.js +2 -6
- package/cart/components/CartItem/CartItemProductLayout.js +6 -9
- package/cart/components/CartItem/CartItemProductLayoutWide.js +21 -16
- package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.js +5 -3
- package/cart/components/CartItem/CartItemProductLayoutWideOrderDetails.js +18 -12
- package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +7 -14
- package/cart/components/CartItem/CartItemProductOrderDetails.js +2 -2
- package/cart/components/CartItem/CartItemProductPriceCaption.js +5 -4
- package/cart/components/CartItem/CartItemProductPriceList.js +18 -12
- package/cart/components/CartItem/CartItemProductPriceListPromotion.js +7 -7
- 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/CartItemProductTitle.js +2 -3
- package/cart/components/CartItem/CartItemQuantityPicker.js +3 -7
- package/cart/components/CartItem/CartItemSubstitution.js +1 -2
- package/cart/components/CartItems/CartItemCard.js +3 -4
- package/cart/components/CartItems/CartItemCardReservationAccordion.js +9 -10
- package/cart/components/CartItems/CartItemCardReservationLabel.js +11 -11
- package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +6 -24
- package/cart/components/CartItems/CartItemGroupReservation.js +4 -3
- package/cart/components/CartItems/CartItemGroupReservationLabel.js +12 -10
- package/cart/components/CartItems/CartItemGroupShipping.js +7 -5
- package/cart/components/CartItems/CartItems.js +8 -12
- package/cart/components/CartItems/CartItemsHeaderWide.js +43 -18
- package/cart/components/CartItems/CartItemsSubstitution.js +3 -2
- package/cart/components/CartSummaryWide/CartSummaryWide.js +9 -16
- package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +9 -27
- package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +8 -34
- package/cart/components/PaymentBar/PaymentBarContent.js +4 -10
- package/cart/components/PaymentBar/PaymentBarPromotionCouponMessages.js +6 -2
- package/cart/components/PaymentBar/PaymentBarPromotionCoupons.js +5 -5
- package/cart/components/PaymentBar/PaymentBarPromotionalText.js +9 -10
- package/cart/components/PaymentBar/testUtils/mockFactories.js +57 -0
- package/cart/components/Substitution/connector.js +1 -1
- package/cart/components/SupplementalContent/SupplementalContent.connector.js +2 -1
- package/cart/components/SupplementalContent/SupplementalContent.js +6 -7
- package/category/components/CategoryImage/connector.js +1 -1
- package/category/components/CategoryImage/index.js +24 -17
- package/category/components/CategoryList/index.js +4 -8
- package/checkout/components/AddressBook/AddressList.js +19 -29
- package/checkout/components/AddressBookContact/AddressBookContact.js +6 -6
- package/checkout/components/Checkout/CheckoutActions.js +4 -3
- package/checkout/components/Checkout/CheckoutAddress.js +33 -15
- package/checkout/components/Checkout/CheckoutHeader.js +9 -11
- package/checkout/components/Checkout/CheckoutPickupContactForm.js +2 -2
- package/checkout/components/Checkout/CheckoutSection.js +26 -15
- package/checkout/components/Checkout/CheckoutSectionInfo.js +14 -17
- package/checkout/components/Checkout/CheckoutSectionMessages.js +5 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +20 -20
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmationSection.js +44 -62
- package/checkout/components/GuestCheckout/GuestCheckoutPickup.js +7 -4
- package/checkout/components/PaymentMethodButton/PaymentMethodButton.js +3 -3
- package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +7 -17
- package/checkout/components/ShippingMethods/ShippingMethod.js +6 -5
- package/checkout/components/ShippingMethods/ShippingMethods.js +11 -8
- package/checkout/components/SupplementalContent/SupplementalContent.connector.js +2 -1
- package/checkout/components/SupplementalContent/SupplementalContent.js +6 -7
- package/checkout/paymentMethods/index.js +5 -4
- package/checkout/paymentMethods/paypal/PaypalPayButton.js +7 -6
- package/checkout/paymentMethods/stripe/StripeCreditCard.js +6 -9
- 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 +6 -8
- package/components/Form/Builder/ElementPhoneNumber.d.ts.map +1 -1
- package/components/Form/Builder/ElementPhoneNumber.js +2 -6
- package/components/Form/Builder/stylePresets.d.ts.map +1 -1
- package/components/Form/Builder/stylePresets.js +12 -17
- package/components/Logo/connector.js +3 -1
- package/components/Logo/index.d.ts.map +1 -1
- package/components/Logo/index.js +3 -6
- package/components/Menu/components/Item/index.d.ts.map +1 -1
- package/components/Menu/components/Item/index.js +5 -17
- package/components/Menu/index.d.ts.map +1 -1
- package/components/Menu/index.js +2 -3
- package/components/MessageBar/MessageBar.d.ts.map +1 -1
- package/components/MessageBar/MessageBar.js +35 -42
- package/components/NavigationHandler/connector.js +1 -1
- 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/Picker/components/Button/index.js +3 -3
- package/components/Picker/components/List/index.js +3 -3
- package/components/Picker/components/Modal/index.d.ts.map +1 -1
- package/components/Picker/components/Modal/index.js +2 -3
- package/components/PickerUtilize/components/Button/index.d.ts.map +1 -1
- package/components/PickerUtilize/components/Button/index.js +6 -10
- package/components/PickerUtilize/index.d.ts +2 -1
- package/components/PickerUtilize/index.d.ts.map +1 -1
- package/components/Radio/Radio.js +6 -5
- package/components/RadioCard/RadioCard.d.ts.map +1 -1
- package/components/RadioCard/RadioCard.js +2 -1
- package/components/ResponsiveContainer/breakpoints.js +2 -2
- package/components/ScrollHeader/index.js +3 -3
- package/components/SheetList/components/Item/index.js +18 -23
- package/components/SheetList/index.d.ts.map +1 -1
- package/components/SheetList/index.js +3 -7
- package/components/SideNavigation/SideNavigationCategories.js +2 -7
- package/components/SideNavigation/SideNavigationCategoriesItem.js +2 -2
- package/components/SideNavigation/SideNavigationContent.js +3 -3
- package/components/SideNavigation/SideNavigationItem.d.ts.map +1 -1
- package/components/SideNavigation/SideNavigationItem.js +3 -4
- package/components/SideNavigation/SideNavigationNestedItem.js +2 -2
- package/components/Switch/index.d.ts.map +1 -1
- package/components/Switch/index.js +6 -7
- package/components/Tabs/components/Tab.d.ts.map +1 -1
- package/components/Tabs/components/Tab.js +14 -16
- package/components/Tabs/components/TabIndicator.js +3 -3
- package/components/TextLink/TextLink.d.ts.map +1 -1
- package/components/TextLink/TextLink.js +8 -26
- package/components/Toggle/index.js +5 -5
- package/components/Typography/Typography.d.ts +87 -124
- package/components/Typography/Typography.d.ts.map +1 -0
- package/components/Typography/Typography.js +72 -57
- package/components/Typography/index.d.ts +2 -1
- package/components/Typography/index.d.ts.map +1 -0
- 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 +6 -3
- package/components/View/index.d.ts.map +1 -1
- package/components/View/index.js +1 -5
- 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/action-creators/merchantSettings.d.ts +1 -1
- package/core/action-creators/merchantSettings.d.ts.map +1 -1
- package/core/action-creators/merchantSettings.js +3 -11
- package/core/action-creators/shopSettings.d.ts +1 -2
- package/core/action-creators/shopSettings.d.ts.map +1 -1
- package/core/action-creators/shopSettings.js +3 -21
- package/core/constants/merchantSettings.d.ts +1 -11
- package/core/constants/merchantSettings.d.ts.map +1 -1
- package/core/constants/merchantSettings.js +3 -11
- package/core/constants/shopSettings.d.ts +1 -27
- package/core/constants/shopSettings.d.ts.map +1 -1
- package/core/constants/shopSettings.js +3 -27
- 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/scrollContainer.js +2 -2
- 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 -102
- 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/core/selectors/merchantSettings.d.ts +1 -20
- package/core/selectors/merchantSettings.d.ts.map +1 -1
- package/core/selectors/merchantSettings.js +3 -33
- package/core/selectors/shopSettings.d.ts +1 -53
- package/core/selectors/shopSettings.d.ts.map +1 -1
- package/core/selectors/shopSettings.js +3 -80
- package/development/components/ClientInformation/ClientInformation.js +5 -3
- package/development/components/DevelopmentSettings/DevelopmentSettings.js +6 -5
- package/development/components/SimulatedInsets/SimulatedInsetBottom.js +3 -3
- package/development/components/SimulatedInsets/SimulatedInsetTop.js +6 -6
- package/favorites/components/CommentDialog/CommentDialog.js +17 -15
- package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +9 -20
- 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 +21 -22
- package/favorites/components/Item/ItemCharacteristics.d.ts.map +1 -1
- package/favorites/components/Item/ItemCharacteristics.js +6 -14
- package/favorites/components/Item/ItemNotes.js +23 -20
- package/favorites/components/Item/ItemQuantity.js +1 -1
- 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 -5
- package/favorites/components/List/ListContent.js +4 -5
- package/favorites/components/ListChooser/ListChooserItem.js +1 -1
- package/favorites/components/Lists/Lists.js +19 -8
- package/favorites/components/Lists/ListsModal.d.ts.map +1 -1
- package/favorites/components/Lists/ListsModal.js +4 -11
- package/favorites/components/RemoveButton/RemoveButton.d.ts.map +1 -1
- package/favorites/components/RemoveButton/RemoveButton.js +1 -2
- package/filter/components/FilterItem/index.js +5 -8
- package/filter/components/FilterPageContent/components/ApplyButton/index.js +8 -10
- package/filter/components/FilterPageContent/components/ResetButton/index.js +8 -6
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +3 -3
- package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +4 -5
- package/filter/components/PriceSlider/components/Label/index.js +9 -13
- package/filter/components/PriceSlider/index.js +9 -9
- package/filter/selectors/index.js +2 -2
- package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.js +1 -1
- package/locations/components/ChangeLocationButton/ChangeLocationButton.js +10 -14
- package/locations/components/FulfillmentPath/FulfillmentPathItem.js +1 -7
- package/locations/components/FulfillmentSelector/FulfillmentSelector.connector.js +2 -2
- package/locations/components/FulfillmentSelector/FulfillmentSelectorAlternativeLocation.js +12 -10
- package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.js +1 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.js +3 -3
- package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.js +4 -4
- package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.js +18 -15
- package/locations/components/FulfillmentSelector/FulfillmentSelectorLocationMethodNotAvailable.js +3 -3
- package/locations/components/FulfillmentSheet/FulfillmentSheetContent.js +4 -8
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +25 -28
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.connector.js +1 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.connector.js +1 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +5 -5
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +19 -28
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +20 -23
- package/locations/components/GlobalLocationSelector/GlobalLocationSelector.js +1 -1
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.connector.js +1 -1
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +18 -28
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +19 -20
- package/locations/components/ReservationResponses/ReservationError.js +9 -6
- package/locations/components/ReservationResponses/ReservationSuccess.js +14 -9
- package/locations/components/ReserveForm/ReserveForm.js +11 -11
- package/locations/components/ReserveForm/ReserveFormPhone.js +7 -9
- package/locations/components/StockInfo/StockInfo.js +4 -2
- package/locations/components/StockInfoLists/index.js +5 -7
- package/locations/components/StoreDetails/components/FindMoreStores.js +11 -12
- package/locations/components/StoreDetails/components/GetDirectionsButton.js +5 -9
- package/locations/components/StoreDetails/components/StoreDetails.js +27 -34
- package/locations/components/StoreDetails/components/StoreFinderMap.js +4 -4
- package/locations/components/StoreDetails/components/StoresNearby.js +5 -3
- package/locations/components/StoreDetails/components/StoresNearbyListItem.js +36 -30
- package/locations/components/StoreFinder/StoreFinder.js +1 -1
- package/locations/components/StoreFinder/StoreFinderLocationDetails.js +7 -6
- package/locations/components/StoreFinder/StoreFinderLocationHeader.js +17 -21
- package/locations/components/StoreFinder/StoreFinderLocations.js +2 -6
- package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +5 -11
- package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +5 -11
- package/locations/components/StoreList/StoreAddress.js +3 -3
- package/locations/components/StoreList/StoreAddressShort.js +10 -12
- package/locations/components/StoreList/StoreDetails.js +1 -2
- package/locations/components/StoreList/StoreDetailsLine.js +3 -3
- package/locations/components/StoreList/StoreDistance.js +6 -17
- package/locations/components/StoreList/StoreHeader.js +7 -7
- package/locations/components/StoreList/StoreHoursToday.js +3 -3
- package/locations/components/StoreList/StoreListLocations.js +20 -18
- package/locations/components/StoreList/StoreListProduct.js +4 -6
- package/locations/components/StoreList/StoreListProductInfo.js +9 -6
- package/locations/components/StoreList/StoreListProductName.js +4 -3
- package/locations/components/StoreList/StoreListSearch.js +11 -11
- package/locations/components/StoreList/StoreListSearchRadius.js +4 -5
- package/locations/components/StoreList/StoreOpeningHours.js +10 -12
- package/locations/components/StoreList/StorePhoneNumber.js +10 -12
- package/locations/components/StoreList/StoreSelectLocationButton.js +5 -11
- package/locations/helpers/showInventoryInLists.js +1 -1
- package/locations/providers/FulfillmentProvider.connector.js +1 -1
- package/locations/reducers/index.js +1 -1
- package/locations/selectors/index.js +2 -1
- package/locations/subscriptions.js +2 -2
- package/login/components/ForgotPassword/ForgotPassword.js +24 -36
- package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +6 -8
- package/orders/components/OrderDetails/OrderDetailsContent.js +5 -4
- package/orders/components/OrderDetails/OrderDetailsOrderHeader.js +7 -8
- package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.js +2 -2
- package/orders/components/OrderHistory/OrderHistoryList.d.ts.map +1 -1
- package/orders/components/OrderHistory/OrderHistoryList.js +9 -14
- package/orders/components/OrderHistory/OrderHistoryTable.d.ts.map +1 -1
- package/orders/components/OrderHistory/OrderHistoryTable.js +5 -1
- package/package.json +11 -10
- package/page/components/NotFound.d.ts +7 -0
- package/page/components/NotFound.d.ts.map +1 -0
- package/page/components/NotFound.js +16 -15
- 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/WidgetHeadline/WidgetHeadline.js +4 -3
- package/page/components/WidgetRichText/WidgetRichText.d.ts +25 -0
- package/page/components/WidgetRichText/WidgetRichText.d.ts.map +1 -0
- package/page/components/WidgetRichText/WidgetRichText.js +1 -1
- 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 +13 -18
- 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 +11 -22
- 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 +1 -4
- 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 +15 -104
- 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 +7 -2
- 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/selectors/index.js +2 -1
- package/page/widgets/Button/Button.js +2 -3
- package/page/widgets/HTML/HTML.js +5 -9
- package/page/widgets/NestedCategoryFilter/NestedCategoryFilter.js +8 -13
- package/page/widgets/NestedCategoryFilter/components/Picker/components/SheetItem/index.js +2 -2
- package/page/widgets/NestedCategoryFilter/components/Picker/index.js +7 -9
- package/page/widgets/Placeholder/Placeholder.js +7 -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/Availability/Availability.js +0 -4
- package/product/components/Characteristics/Characteristic/components/SheetItem/index.js +4 -8
- package/product/components/Characteristics/Characteristic/index.js +9 -12
- package/product/components/Characteristics/Swatch/index.js +3 -7
- package/product/components/Characteristics/transition.js +4 -4
- package/product/components/Description/index.js +5 -8
- package/product/components/EffectivityDates/index.js +23 -17
- package/product/components/FilterBar/components/Content/components/FilterButton/index.js +7 -13
- package/product/components/FilterBar/components/Content/components/Sort/index.js +7 -13
- package/product/components/FilterBar/components/FilterModal/FilterModalContent.js +3 -7
- package/product/components/FilterBar/components/FilterModal/FilterModalTitle.js +13 -12
- package/product/components/FilterBar/index.js +4 -8
- package/product/components/Header/PriceStriked/index.js +4 -8
- package/product/components/Header/Shipping/index.js +3 -3
- package/product/components/Header/Tiers/components/Tier/index.js +3 -3
- package/product/components/Header/Tiers/index.js +5 -3
- package/product/components/MapPriceHint/index.js +8 -7
- package/product/components/Media/FeaturedMedia.js +7 -1
- package/product/components/Media/MediaImage.js +25 -24
- package/product/components/Media/MediaPlaceholder.js +7 -11
- package/product/components/MediaSlider/components/MediaImage/index.js +6 -2
- package/product/components/MediaSlider/constants.js +1 -12
- package/product/components/Options/components/TextOption/components/OptionInfo/index.js +18 -18
- package/product/components/Options/components/TextOption/index.js +8 -11
- package/product/components/OrderQuantityHint/index.js +17 -8
- package/product/components/PriceDifference/index.js +4 -8
- package/product/components/PriceInfo/PriceInfo.connector.js +2 -2
- package/product/components/PriceInfo/PriceInfo.js +3 -4
- package/product/components/ProductCard/index.js +39 -27
- package/product/components/ProductDiscountBadge/index.js +3 -3
- package/product/components/ProductGrid/components/Item/components/ItemDetails/index.js +12 -4
- package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/index.js +1 -1
- package/product/components/ProductGrid/components/Item/components/ItemImage/index.js +3 -6
- package/product/components/ProductGrid/components/Item/components/ItemName/index.js +9 -5
- package/product/components/ProductGrid/components/Item/index.js +10 -6
- 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 +8 -15
- 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 +18 -26
- 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 -203
- package/product/components/ProductList/components/Item/index.js +10 -12
- 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/ProductProperties/Content.js +1 -1
- package/product/components/ProductProperties/Group.js +6 -4
- package/product/components/ProductProperties/GroupedProperties.js +1 -1
- package/product/components/ProductProperties/Wrapper.js +4 -2
- 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 +7 -6
- 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/Swatch/SwatchContent.js +3 -7
- package/product/components/Swatches/Swatches.js +3 -7
- package/product/components/UnitQuantityPicker/ProductUnitQuantityPicker.js +4 -4
- package/product/components/UnitQuantityPicker/UnitQuantityPicker.d.ts.map +1 -1
- package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +24 -45
- 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/push-opt-in/components/PushOptInModal/index.js +17 -17
- package/registration/components/GuestRegistration/GuestRegistrationFormPickup.js +2 -2
- package/registration/components/Registration/RegistrationContent.js +2 -1
- package/registration/components/Registration/RegistrationFormActions.js +4 -4
- package/registration/components/Registration/RegistrationFormBase.config.js +2 -1
- package/registration/providers/GuestRegistrationProvider.actions.js +1 -1
- package/registration/providers/GuestRegistrationProvider.connector.js +3 -2
- package/registration/providers/GuestRegistrationProvider.js +2 -1
- package/registration/providers/RegistrationProvider.actions.js +4 -2
- package/registration/providers/RegistrationProvider.connector.js +2 -2
- package/registration/providers/RegistrationProvider.constraints.js +1 -1
- package/registration/providers/RegistrationProvider.js +2 -1
- package/reviews/components/Reviews/components/AllReviewsLink/index.js +6 -6
- package/reviews/components/Reviews/components/Header/components/NoReviews/index.js +1 -1
- package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/index.js +3 -3
- package/reviews/components/Reviews/components/Header/components/WriteReviewLink/index.js +4 -3
- package/reviews/components/Reviews/components/List/components/Info/index.js +16 -26
- package/reviews/components/Reviews/components/List/components/Text/index.js +4 -2
- package/reviews/components/Reviews/components/List/components/Title/index.js +3 -3
- package/reviews/components/Reviews/components/List/index.js +1 -5
- package/reviews/components/Reviews/components/RatingCount/index.js +13 -15
- package/reviews/components/Reviews/components/ReviewsInfo/index.js +9 -9
- package/settings/action-creators/appSettings.d.ts +12 -0
- package/settings/action-creators/appSettings.d.ts.map +1 -0
- package/settings/action-creators/appSettings.js +10 -0
- package/settings/action-creators/merchantSettings.d.ts +2 -0
- package/settings/action-creators/merchantSettings.d.ts.map +1 -0
- package/settings/action-creators/merchantSettings.js +11 -0
- package/settings/action-creators/shopSettings.d.ts +3 -0
- package/settings/action-creators/shopSettings.d.ts.map +1 -0
- package/settings/action-creators/shopSettings.js +21 -0
- package/settings/constants/appSettings.d.ts +5 -0
- package/settings/constants/appSettings.d.ts.map +1 -0
- package/settings/constants/appSettings.js +6 -0
- 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/constants/merchantSettings.d.ts +12 -0
- package/settings/constants/merchantSettings.d.ts.map +1 -0
- package/settings/constants/merchantSettings.js +11 -0
- package/settings/constants/shopSettings.d.ts +28 -0
- package/settings/constants/shopSettings.d.ts.map +1 -0
- package/settings/constants/shopSettings.js +27 -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 +18 -0
- package/settings/reducers/appSettings.d.ts.map +1 -0
- package/settings/reducers/appSettings.js +134 -0
- package/settings/reducers/index.d.ts +15 -0
- package/settings/reducers/index.d.ts.map +1 -0
- package/{core → settings}/reducers/index.js +4 -3
- package/settings/reducers/merchantSettings.d.ts +18 -0
- package/settings/reducers/merchantSettings.d.ts.map +1 -0
- package/{core → settings}/reducers/merchantSettings.js +9 -3
- package/settings/reducers/shopSettings.d.ts +28 -0
- package/settings/reducers/shopSettings.d.ts.map +1 -0
- package/{core → settings}/reducers/shopSettings.js +10 -4
- package/settings/selectors/appSettings.d.ts +157 -0
- package/settings/selectors/appSettings.d.ts.map +1 -0
- package/settings/selectors/appSettings.js +97 -0
- package/settings/selectors/merchantSettings.d.ts +21 -0
- package/settings/selectors/merchantSettings.d.ts.map +1 -0
- package/settings/selectors/merchantSettings.js +34 -0
- package/settings/selectors/shopSettings.d.ts +54 -0
- package/settings/selectors/shopSettings.d.ts.map +1 -0
- package/settings/selectors/shopSettings.js +81 -0
- package/settings/types/appSettings.d.ts +276 -0
- package/settings/types/appSettings.d.ts.map +1 -0
- package/settings/types/appSettings.js +124 -0
- 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/helpers/setPageBackgroundColor.js +2 -2
- 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 +179 -7
- package/styles/theme/createTheme/createComponents.types.d.ts +266 -0
- package/styles/theme/createTheme/createComponents.types.d.ts.map +1 -1
- package/styles/theme/createTheme/createComponents.types.js +266 -0
- package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.d.ts.map +1 -1
- package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.js +41 -5
- package/styles/theme/createTheme/createPalette.types.d.ts +20 -7
- package/styles/theme/createTheme/createPalette.types.d.ts.map +1 -1
- package/styles/theme/createTheme/createPalette.types.js +23 -10
- 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 +11 -2
- package/styles/theme/createTheme/createThemeFromColorScheme.d.ts.map +1 -1
- package/styles/theme/createTheme/createThemeFromColorScheme.js +16 -4
- package/styles/theme/createTheme/createTypography.d.ts +2 -1
- package/styles/theme/createTheme/createTypography.js +59 -18
- package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.d.ts +2 -1
- package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.d.ts.map +1 -1
- package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.js +84 -6
- 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 -3
- 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 +48 -10
- 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 +90 -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 +14 -15
- package/tracking/components/PrivacySettings/index.js +7 -7
- package/tracking/selectors/cookieConsent.js +2 -2
- package/cart/components/PaymentBar/PaymentBarReserveButton.connector.js +0 -6
- package/cart/components/PaymentBar/PaymentBarReserveButton.js +0 -75
- 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/Media/helpers.d.ts +0 -2
- package/product/components/Media/helpers.d.ts.map +0 -1
- package/product/components/ProductImage/connector.js +0 -12
- 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
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import type { ColorSchemeMode, ColorSchemeName, ShadowSize, TypographyVariant } from '@shopgate/engage/styles/theme';
|
|
2
|
+
export type { ColorSchemeMode, ColorSchemeName, ShadowSize, TypographyVariant, };
|
|
3
|
+
export declare const COLOR_SCHEME_SELECTABLE = "selectable";
|
|
4
|
+
/**
|
|
5
|
+
* What the app settings can configure: a color scheme that is binding, or `selectable` to let
|
|
6
|
+
* visitors pick one themselves. Distinct from the theme's `ColorSchemeMode`, which is what a
|
|
7
|
+
* visitor can pick - `selectable` is a permission rather than an appearance, and maps to the
|
|
8
|
+
* theme's `system` mode.
|
|
9
|
+
*/
|
|
10
|
+
export type DefaultColorSchemeMode = ColorSchemeName | typeof COLOR_SCHEME_SELECTABLE;
|
|
11
|
+
/**
|
|
12
|
+
* Recursively optional variant of `T`. The settings sources send only what a merchant configured,
|
|
13
|
+
* and the admin preview additionally prunes the fields its visibility conditions hide.
|
|
14
|
+
*/
|
|
15
|
+
export type DeepPartial<T> = {
|
|
16
|
+
[K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
|
|
17
|
+
};
|
|
18
|
+
export interface AppSettingsState {
|
|
19
|
+
settings: {
|
|
20
|
+
appSettings: AppSettingsSlice;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The merchant-facing screen sizes for the product list types. Each maps to a theme
|
|
25
|
+
* breakpoint inside the consuming hook (small → xs, medium → sm, large → md).
|
|
26
|
+
*/
|
|
27
|
+
export type ScreenSize = 'small' | 'medium' | 'large';
|
|
28
|
+
/**
|
|
29
|
+
* A value keyed by screen size. Partial: any unset size cascades down to the next smaller
|
|
30
|
+
* defined value (see useResponsiveValue).
|
|
31
|
+
*/
|
|
32
|
+
export type PerScreenSize = Partial<Record<ScreenSize, number>>;
|
|
33
|
+
/**
|
|
34
|
+
* Number of product columns to render, keyed by screen size.
|
|
35
|
+
*/
|
|
36
|
+
export type ProductColumns = PerScreenSize;
|
|
37
|
+
/**
|
|
38
|
+
* Settings for the ProductGrid list type.
|
|
39
|
+
*/
|
|
40
|
+
export interface ProductGridSettings {
|
|
41
|
+
columns: ProductColumns;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Name-clamping shared by the card and tile product surfaces.
|
|
45
|
+
*/
|
|
46
|
+
export interface ProductNameSettings {
|
|
47
|
+
/** Max number of lines the product name is clamped to before an ellipsis. */
|
|
48
|
+
maxLines: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Drop shadow of the card surface.
|
|
52
|
+
*/
|
|
53
|
+
export interface ShadowSettings {
|
|
54
|
+
/** Which preset elevation to draw. `none` renders no shadow at all. */
|
|
55
|
+
size: ShadowSize;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Number of slides to render side by side, keyed by screen size. Fractional values are allowed.
|
|
59
|
+
*/
|
|
60
|
+
export type SlidesPerView = PerScreenSize;
|
|
61
|
+
/**
|
|
62
|
+
* Settings for the ProductSlider list type.
|
|
63
|
+
*/
|
|
64
|
+
export interface ProductSliderSettings {
|
|
65
|
+
slidesPerView: SlidesPerView;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Settings for the product rating stars.
|
|
69
|
+
*/
|
|
70
|
+
export interface ProductRatingSettings {
|
|
71
|
+
/**
|
|
72
|
+
* Whether rating stars are also rendered for products that have no rating yet.
|
|
73
|
+
*/
|
|
74
|
+
showEmptyStars: boolean;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Settings for product presentation across the app.
|
|
78
|
+
*/
|
|
79
|
+
export interface ProductSettings {
|
|
80
|
+
grid: ProductGridSettings;
|
|
81
|
+
slider: ProductSliderSettings;
|
|
82
|
+
rating: ProductRatingSettings;
|
|
83
|
+
/** Product cards (sliders, relations, live shopping). */
|
|
84
|
+
card: {
|
|
85
|
+
productName: ProductNameSettings;
|
|
86
|
+
};
|
|
87
|
+
/** Product grid tiles. */
|
|
88
|
+
tile: {
|
|
89
|
+
productName: ProductNameSettings;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The visual style of the card surface.
|
|
94
|
+
*/
|
|
95
|
+
export type CardStyle = 'shadow' | 'border' | 'flat';
|
|
96
|
+
/**
|
|
97
|
+
* Settings for the themed card surface (checkout sections, address cards, sliders).
|
|
98
|
+
*/
|
|
99
|
+
export interface CardSettings {
|
|
100
|
+
style: CardStyle;
|
|
101
|
+
shadow: ShadowSettings;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* An aspect ratio expressed as width and height parts. Only the proportion matters -
|
|
105
|
+
* { width: 4, height: 5 } and { width: 8, height: 10 } are equivalent.
|
|
106
|
+
*/
|
|
107
|
+
export interface AspectRatio {
|
|
108
|
+
/**
|
|
109
|
+
* The width part of the proportion.
|
|
110
|
+
*/
|
|
111
|
+
width: number;
|
|
112
|
+
/**
|
|
113
|
+
* The height part of the proportion.
|
|
114
|
+
*/
|
|
115
|
+
height: number;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* A single image resolution requested from the image service.
|
|
119
|
+
*/
|
|
120
|
+
export interface ImageResolution {
|
|
121
|
+
/**
|
|
122
|
+
* Width in pixels.
|
|
123
|
+
*/
|
|
124
|
+
width: number;
|
|
125
|
+
/**
|
|
126
|
+
* Height in pixels, derived from the configured aspect ratio.
|
|
127
|
+
*/
|
|
128
|
+
height: number;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* The product image contexts. pdp drives the product detail page, gallery the fullscreen gallery,
|
|
132
|
+
* and list every grid, slider, list and row tile.
|
|
133
|
+
*/
|
|
134
|
+
export type ProductImageContext = 'pdp' | 'gallery' | 'list';
|
|
135
|
+
/**
|
|
136
|
+
* Settings for a single product image context. The pixel dimensions are not configurable - they
|
|
137
|
+
* are derived from the built-in base widths for the context (see PRODUCT_IMAGE_BASE_WIDTHS) so
|
|
138
|
+
* that image weight stays under the theme's control.
|
|
139
|
+
*/
|
|
140
|
+
export interface ProductImageContextSettings {
|
|
141
|
+
/**
|
|
142
|
+
* The aspect ratio images in this context are rendered at.
|
|
143
|
+
*/
|
|
144
|
+
ratio: AspectRatio;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Settings for the product image contexts.
|
|
148
|
+
*/
|
|
149
|
+
export interface ProductImageSettings {
|
|
150
|
+
/**
|
|
151
|
+
* The aspect ratio applied to every context that does not override it.
|
|
152
|
+
*/
|
|
153
|
+
ratio: AspectRatio;
|
|
154
|
+
/**
|
|
155
|
+
* Whether product images get an inset shadow. Applies to the image and to the placeholder that
|
|
156
|
+
* stands in for it, so both keep the same silhouette.
|
|
157
|
+
*/
|
|
158
|
+
showInnerShadow: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Overrides for the product detail page.
|
|
161
|
+
*/
|
|
162
|
+
pdp?: ProductImageContextSettings;
|
|
163
|
+
/**
|
|
164
|
+
* Overrides for the fullscreen gallery.
|
|
165
|
+
*/
|
|
166
|
+
gallery?: ProductImageContextSettings;
|
|
167
|
+
/**
|
|
168
|
+
* Overrides for grid, slider, list and row tiles.
|
|
169
|
+
*/
|
|
170
|
+
list?: ProductImageContextSettings;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Settings for images that are served through the image service.
|
|
174
|
+
*
|
|
175
|
+
* quality, fillColor and fillTransparent sit here rather than under product because they are not
|
|
176
|
+
* product specific - getFullImageSource applies them to every image that goes through the image
|
|
177
|
+
* service, including category images, carrier logos and page builder widget images.
|
|
178
|
+
*/
|
|
179
|
+
export interface ImageSettings {
|
|
180
|
+
/**
|
|
181
|
+
* Compression quality passed to the image service, 1 to 100.
|
|
182
|
+
*/
|
|
183
|
+
quality: number;
|
|
184
|
+
/**
|
|
185
|
+
* The color the image service fills letterboxed areas with. A source may send any CSS color -
|
|
186
|
+
* named, hex 3/6/8, rgb(), rgba(), hsl() - or one of Thumbor's own keywords: 'auto', 'blur',
|
|
187
|
+
* 'transparent'. The value reaches the store untouched and the reducer converts it into a
|
|
188
|
+
* Thumbor color token, so everything reading this field gets a wire-ready value.
|
|
189
|
+
*/
|
|
190
|
+
fillColor: string;
|
|
191
|
+
/**
|
|
192
|
+
* Thumbor's fill_transparent argument - whether transparent areas of the source image are
|
|
193
|
+
* filled too. True is what the legacy 'FFFFFF,1' config expressed.
|
|
194
|
+
*/
|
|
195
|
+
fillTransparent: boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Aspect ratios for the product image contexts.
|
|
198
|
+
*/
|
|
199
|
+
product: ProductImageSettings;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Settings for the app's overall appearance.
|
|
203
|
+
*/
|
|
204
|
+
export interface AppearanceSettings {
|
|
205
|
+
/**
|
|
206
|
+
* The color scheme the app renders in. A binding `light` or `dark` always applies, while
|
|
207
|
+
* `selectable` starts from the operating system preference and lets the visitor pick another.
|
|
208
|
+
*/
|
|
209
|
+
defaultColorSchemeMode: DefaultColorSchemeMode;
|
|
210
|
+
}
|
|
211
|
+
export interface AppSettings {
|
|
212
|
+
navigation: {
|
|
213
|
+
tabBar: {
|
|
214
|
+
variant: 'fixed' | 'floating';
|
|
215
|
+
transition: 'fade' | 'slide';
|
|
216
|
+
showLabels: boolean;
|
|
217
|
+
hideOnScroll: boolean;
|
|
218
|
+
fixed: {
|
|
219
|
+
borderEnabled: boolean;
|
|
220
|
+
};
|
|
221
|
+
favorites: {
|
|
222
|
+
/**
|
|
223
|
+
* Whether the favorites tab bar icon renders the number of favorites within its badge.
|
|
224
|
+
*/
|
|
225
|
+
showCounter: boolean;
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
product: ProductSettings;
|
|
230
|
+
/**
|
|
231
|
+
* Settings for images that are served through the image service.
|
|
232
|
+
*/
|
|
233
|
+
images: ImageSettings;
|
|
234
|
+
cards: CardSettings;
|
|
235
|
+
typography: TypographySettings;
|
|
236
|
+
appearance: AppearanceSettings;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* A font stylesheet to load. The file carries the `@font-face` rules and points its target at the
|
|
240
|
+
* new family itself, e.g. `:root { --sg-typography-h1-fontFamily: 'Recoleta'; }`.
|
|
241
|
+
*/
|
|
242
|
+
export interface FontCssSettings {
|
|
243
|
+
/**
|
|
244
|
+
* Absolute url of the stylesheet.
|
|
245
|
+
*/
|
|
246
|
+
fontCssUrl?: string;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Typography settings. The top level file applies to everything, a variant entry only to that
|
|
250
|
+
* variant. Variant files are loaded after the global one, so they win at equal specificity.
|
|
251
|
+
*/
|
|
252
|
+
export interface TypographySettings extends FontCssSettings {
|
|
253
|
+
/**
|
|
254
|
+
* Per variant font stylesheets, keyed by typography variant.
|
|
255
|
+
*/
|
|
256
|
+
variants: Partial<Record<TypographyVariant, FontCssSettings>>;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* What a settings source actually sends. Every field is optional, so the reducer fills the gaps
|
|
260
|
+
* from its defaults instead of leaving consumers with undefined.
|
|
261
|
+
*/
|
|
262
|
+
export type AppSettingsPayload = DeepPartial<AppSettings>;
|
|
263
|
+
/**
|
|
264
|
+
* The stored app settings slice. Extends the raw {@link AppSettings} values
|
|
265
|
+
* with metadata that is derived by the reducer rather than supplied by a
|
|
266
|
+
* source (admin sync / jsonp).
|
|
267
|
+
*/
|
|
268
|
+
export interface AppSettingsSlice extends AppSettings {
|
|
269
|
+
/**
|
|
270
|
+
* Whether the settings have been hydrated from a source (admin sync / jsonp).
|
|
271
|
+
* While `false` the values are the built-in defaults and should be treated as
|
|
272
|
+
* unreliable, so consumers can fall back to the legacy settings system.
|
|
273
|
+
*/
|
|
274
|
+
isHydrated: boolean;
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=appSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appSettings.d.ts","sourceRoot":"","sources":["../../../settings/types/appSettings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// Re-exported so consumers of these settings do not have to reach into the styles layer, which
|
|
2
|
+
// owns the type because it owns the elevation scale the sizes map to. `TypographyVariant` and the
|
|
3
|
+
// color scheme types are reused for the same reason - the theme owns the variant and scheme lists.
|
|
4
|
+
|
|
5
|
+
export const COLOR_SCHEME_SELECTABLE = 'selectable';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* What the app settings can configure: a color scheme that is binding, or `selectable` to let
|
|
9
|
+
* visitors pick one themselves. Distinct from the theme's `ColorSchemeMode`, which is what a
|
|
10
|
+
* visitor can pick - `selectable` is a permission rather than an appearance, and maps to the
|
|
11
|
+
* theme's `system` mode.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Recursively optional variant of `T`. The settings sources send only what a merchant configured,
|
|
16
|
+
* and the admin preview additionally prunes the fields its visibility conditions hide.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The merchant-facing screen sizes for the product list types. Each maps to a theme
|
|
21
|
+
* breakpoint inside the consuming hook (small → xs, medium → sm, large → md).
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A value keyed by screen size. Partial: any unset size cascades down to the next smaller
|
|
26
|
+
* defined value (see useResponsiveValue).
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Number of product columns to render, keyed by screen size.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Settings for the ProductGrid list type.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Name-clamping shared by the card and tile product surfaces.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Drop shadow of the card surface.
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Number of slides to render side by side, keyed by screen size. Fractional values are allowed.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Settings for the ProductSlider list type.
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Settings for the product rating stars.
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Settings for product presentation across the app.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* The visual style of the card surface.
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Settings for the themed card surface (checkout sections, address cards, sliders).
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* An aspect ratio expressed as width and height parts. Only the proportion matters -
|
|
71
|
+
* { width: 4, height: 5 } and { width: 8, height: 10 } are equivalent.
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* A single image resolution requested from the image service.
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The product image contexts. pdp drives the product detail page, gallery the fullscreen gallery,
|
|
80
|
+
* and list every grid, slider, list and row tile.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Settings for a single product image context. The pixel dimensions are not configurable - they
|
|
85
|
+
* are derived from the built-in base widths for the context (see PRODUCT_IMAGE_BASE_WIDTHS) so
|
|
86
|
+
* that image weight stays under the theme's control.
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Settings for the product image contexts.
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Settings for images that are served through the image service.
|
|
95
|
+
*
|
|
96
|
+
* quality, fillColor and fillTransparent sit here rather than under product because they are not
|
|
97
|
+
* product specific - getFullImageSource applies them to every image that goes through the image
|
|
98
|
+
* service, including category images, carrier logos and page builder widget images.
|
|
99
|
+
*/
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Settings for the app's overall appearance.
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* A font stylesheet to load. The file carries the `@font-face` rules and points its target at the
|
|
107
|
+
* new family itself, e.g. `:root { --sg-typography-h1-fontFamily: 'Recoleta'; }`.
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Typography settings. The top level file applies to everything, a variant entry only to that
|
|
112
|
+
* variant. Variant files are loaded after the global one, so they win at equal specificity.
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* What a settings source actually sends. Every field is optional, so the reducer fills the gaps
|
|
117
|
+
* from its defaults instead of leaving consumers with undefined.
|
|
118
|
+
*/
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* The stored app settings slice. Extends the raw {@link AppSettings} values
|
|
122
|
+
* with metadata that is derived by the reducer rather than supplied by a
|
|
123
|
+
* source (admin sync / jsonp).
|
|
124
|
+
*/
|
|
@@ -4,6 +4,8 @@ export { setPageContentWidth } from "./setPageContentWidth";
|
|
|
4
4
|
export { setViewportHeight } from "./setViewportHeight";
|
|
5
5
|
export { toggleBodyScroll } from "./toggleBodyScroll";
|
|
6
6
|
export { loadCustomStyles } from "./loadCustomStyles";
|
|
7
|
+
export { loadThemeCss } from "./loadThemeCss";
|
|
8
|
+
export { loadFontCss } from "./loadFontCss";
|
|
7
9
|
export * from "./color";
|
|
8
10
|
export { responsiveMediaQuery } from "../../components/ResponsiveContainer/mediaQuery";
|
|
9
11
|
export { responsiveCondition } from "../../components/ResponsiveContainer/condition";
|
package/styles/helpers/index.js
CHANGED
|
@@ -6,6 +6,8 @@ export { setViewportHeight } from "./setViewportHeight";
|
|
|
6
6
|
export { toggleBodyScroll } from "./toggleBodyScroll";
|
|
7
7
|
export { initCSSCustomProps, initCSSCustomPropsFallback } from "./initCSSCustomProperties";
|
|
8
8
|
export { loadCustomStyles } from "./loadCustomStyles";
|
|
9
|
+
export { loadThemeCss } from "./loadThemeCss";
|
|
10
|
+
export { loadFontCss } from "./loadFontCss";
|
|
9
11
|
export * from "./color";
|
|
10
12
|
export { responsiveMediaQuery } from "../../components/ResponsiveContainer/mediaQuery";
|
|
11
13
|
export { responsiveCondition } from "../../components/ResponsiveContainer/condition";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Syncs the font css links in the document with the passed urls. Tags for urls that are no longer
|
|
3
|
+
* configured are removed, and the remaining ones end up in the dom in the order they were passed -
|
|
4
|
+
* so the global file, passed first, stays above the per variant ones however they were ordered
|
|
5
|
+
* before.
|
|
6
|
+
*
|
|
7
|
+
* Idempotent by design: the admin preview re-sends the app settings while a merchant edits them, so
|
|
8
|
+
* this runs again on every settings update. A tag that is already in place is left untouched, and a
|
|
9
|
+
* tag for a url that is still configured is moved rather than recreated, which would re-request the
|
|
10
|
+
* file.
|
|
11
|
+
*
|
|
12
|
+
* A url is only ever loaded once. Configuring the same file globally and for a variant is normal,
|
|
13
|
+
* and a second link tag for it would apply the same `@font-face` rules twice.
|
|
14
|
+
*
|
|
15
|
+
* Resolves once every newly added file settled, and never rejects - a font file is not guaranteed
|
|
16
|
+
* to exist and must not be able to block app start.
|
|
17
|
+
* @param urls The font css urls to load, in cascade order. Duplicates are dropped, keeping the
|
|
18
|
+
* first occurrence so the cascade order is preserved.
|
|
19
|
+
* @returns A promise that resolves once the new files settled.
|
|
20
|
+
*/
|
|
21
|
+
export declare const loadFontCss: (urls?: string[]) => Promise<void>;
|
|
22
|
+
//# sourceMappingURL=loadFontCss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadFontCss.d.ts","sourceRoot":"","sources":["../../../styles/helpers/loadFontCss.ts"],"names":[],"mappings":"AAmGA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,GAAU,OAAM,MAAM,EAAO,KAAG,OAAO,CAAC,IAAI,CAqCnE,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { withScope, captureMessage, Severity as SentrySeverity } from '@sentry/browser';
|
|
2
|
+
const REQUEST_TIMEOUT = 3000;
|
|
3
|
+
const LINK_TAG_CLASS = 'font-css';
|
|
4
|
+
const URL_ATTRIBUTE = 'data-font-css-url';
|
|
5
|
+
const INSERTION_POINT_SELECTOR = 'meta[name="font-css-insertion-point"]';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Reads the font css links that are currently in the document, in document order.
|
|
9
|
+
* @returns The link tags.
|
|
10
|
+
*/
|
|
11
|
+
const getExistingTags = () => Array.from(document.querySelectorAll(`link.${LINK_TAG_CLASS}`));
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Inserts a tag after the passed sibling, or appends it when there is none.
|
|
15
|
+
* @param tag The tag to insert.
|
|
16
|
+
* @param sibling The node to insert after.
|
|
17
|
+
*/
|
|
18
|
+
const insertAfter = (tag, sibling) => {
|
|
19
|
+
if (!sibling) {
|
|
20
|
+
document.head.appendChild(tag);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
sibling.parentNode?.insertBefore(tag, sibling.nextSibling);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Loads a single font css file and inserts its link after the passed sibling. The font css
|
|
28
|
+
* insertion point sits between the emotion one and the theme css one, so these files override the
|
|
29
|
+
* custom properties that theme initialization generates while the theme css file still overrides
|
|
30
|
+
* them in turn. Falls back to appending when the meta is absent.
|
|
31
|
+
*
|
|
32
|
+
* A link applies at its position in the dom rather than at the time it finished loading, so the
|
|
33
|
+
* timeout below only decides how long app start waits - never which styles win. The tag is left in
|
|
34
|
+
* place when it hits, so the file still applies once it eventually loads.
|
|
35
|
+
* @param href The url to load.
|
|
36
|
+
* @param sibling The node to insert after.
|
|
37
|
+
* @returns The inserted link tag and a promise that settles on load, error or timeout.
|
|
38
|
+
*/
|
|
39
|
+
const loadOne = (href, sibling) => {
|
|
40
|
+
const linkTag = document.createElement('link');
|
|
41
|
+
linkTag.rel = 'stylesheet';
|
|
42
|
+
linkTag.type = 'text/css';
|
|
43
|
+
linkTag.href = href;
|
|
44
|
+
linkTag.className = LINK_TAG_CLASS;
|
|
45
|
+
linkTag.setAttribute(URL_ATTRIBUTE, href);
|
|
46
|
+
const settled = new Promise(resolve => {
|
|
47
|
+
let done = false;
|
|
48
|
+
let timeout;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Resolves the promise once, whichever of load / error / timeout comes first.
|
|
52
|
+
*/
|
|
53
|
+
const settle = () => {
|
|
54
|
+
if (done) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
done = true;
|
|
58
|
+
clearTimeout(timeout);
|
|
59
|
+
resolve();
|
|
60
|
+
};
|
|
61
|
+
linkTag.onload = settle;
|
|
62
|
+
linkTag.onerror = () => {
|
|
63
|
+
withScope(scope => {
|
|
64
|
+
scope.setLevel(SentrySeverity.Error);
|
|
65
|
+
scope.setExtra('fontCssUrl', href);
|
|
66
|
+
captureMessage('Fetching font css failed');
|
|
67
|
+
});
|
|
68
|
+
settle();
|
|
69
|
+
};
|
|
70
|
+
timeout = setTimeout(() => {
|
|
71
|
+
withScope(scope => {
|
|
72
|
+
scope.setLevel(SentrySeverity.Warning);
|
|
73
|
+
scope.setExtra('fontCssUrl', href);
|
|
74
|
+
scope.setExtra('timeout', REQUEST_TIMEOUT);
|
|
75
|
+
captureMessage('Fetching font css took too long');
|
|
76
|
+
});
|
|
77
|
+
settle();
|
|
78
|
+
}, REQUEST_TIMEOUT);
|
|
79
|
+
});
|
|
80
|
+
insertAfter(linkTag, sibling);
|
|
81
|
+
return {
|
|
82
|
+
linkTag,
|
|
83
|
+
settled
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Syncs the font css links in the document with the passed urls. Tags for urls that are no longer
|
|
89
|
+
* configured are removed, and the remaining ones end up in the dom in the order they were passed -
|
|
90
|
+
* so the global file, passed first, stays above the per variant ones however they were ordered
|
|
91
|
+
* before.
|
|
92
|
+
*
|
|
93
|
+
* Idempotent by design: the admin preview re-sends the app settings while a merchant edits them, so
|
|
94
|
+
* this runs again on every settings update. A tag that is already in place is left untouched, and a
|
|
95
|
+
* tag for a url that is still configured is moved rather than recreated, which would re-request the
|
|
96
|
+
* file.
|
|
97
|
+
*
|
|
98
|
+
* A url is only ever loaded once. Configuring the same file globally and for a variant is normal,
|
|
99
|
+
* and a second link tag for it would apply the same `@font-face` rules twice.
|
|
100
|
+
*
|
|
101
|
+
* Resolves once every newly added file settled, and never rejects - a font file is not guaranteed
|
|
102
|
+
* to exist and must not be able to block app start.
|
|
103
|
+
* @param urls The font css urls to load, in cascade order. Duplicates are dropped, keeping the
|
|
104
|
+
* first occurrence so the cascade order is preserved.
|
|
105
|
+
* @returns A promise that resolves once the new files settled.
|
|
106
|
+
*/
|
|
107
|
+
export const loadFontCss = async (urls = []) => {
|
|
108
|
+
const wanted = Array.from(new Set(urls));
|
|
109
|
+
const wantedUrls = new Set(wanted);
|
|
110
|
+
const kept = new Map();
|
|
111
|
+
getExistingTags().forEach(tag => {
|
|
112
|
+
const url = tag.getAttribute(URL_ATTRIBUTE) || '';
|
|
113
|
+
if (wantedUrls.has(url) && !kept.has(url)) {
|
|
114
|
+
kept.set(url, tag);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
tag.remove();
|
|
118
|
+
});
|
|
119
|
+
let sibling = document.querySelector(INSERTION_POINT_SELECTOR);
|
|
120
|
+
const pending = [];
|
|
121
|
+
wanted.forEach(url => {
|
|
122
|
+
const existing = kept.get(url);
|
|
123
|
+
if (existing) {
|
|
124
|
+
if (existing.previousElementSibling !== sibling) {
|
|
125
|
+
insertAfter(existing, sibling);
|
|
126
|
+
}
|
|
127
|
+
sibling = existing;
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const {
|
|
131
|
+
linkTag,
|
|
132
|
+
settled
|
|
133
|
+
} = loadOne(url, sibling);
|
|
134
|
+
sibling = linkTag;
|
|
135
|
+
pending.push(settled);
|
|
136
|
+
});
|
|
137
|
+
await Promise.all(pending);
|
|
138
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loads the theme css file. It overrides the css custom properties that are generated during
|
|
3
|
+
* theme initialization, so it has to win the cascade against them - see `insertLinkTag` for how
|
|
4
|
+
* that order is established.
|
|
5
|
+
*
|
|
6
|
+
* A link applies at its position in the dom rather than at the time it finished loading, so the
|
|
7
|
+
* timeout below only decides how long app start waits - never which styles win.
|
|
8
|
+
*
|
|
9
|
+
* Resolves when the file loaded, when it failed, or when REQUEST_TIMEOUT elapsed - it never
|
|
10
|
+
* rejects, since the file is not guaranteed to exist and must not be able to block app start.
|
|
11
|
+
* @returns A promise that resolves once the file settled.
|
|
12
|
+
*/
|
|
13
|
+
export declare const loadThemeCss: () => Promise<void>;
|
|
14
|
+
//# sourceMappingURL=loadThemeCss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadThemeCss.d.ts","sourceRoot":"","sources":["../../../styles/helpers/loadThemeCss.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,QAAO,OAAO,CAAC,IAAI,CAqF1C,CAAC"}
|