@shopgate/engage 7.31.4-beta.1 → 7.32.0-beta.2
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.d.ts +1 -1
- 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 +9 -11
- package/account/components/Profile/ProfileAddressCard.d.ts.map +1 -1
- package/account/components/Profile/ProfileAddressCard.js +36 -33
- package/account/components/Profile/ProfileForm.js +4 -4
- package/account/components/Profile/ProfileHeader.d.ts.map +1 -1
- package/account/components/Profile/ProfileHeader.js +8 -9
- package/account/components/ProfileContact/ProfileContact.js +4 -3
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts +7 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts.map +1 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.js +42 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts +20 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts.map +1 -0
- package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.js +49 -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 +14 -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 +27 -0
- package/admin-preview/constants/index.d.ts.map +1 -0
- package/admin-preview/constants/index.js +31 -0
- package/admin-preview/detection.d.ts +49 -0
- package/admin-preview/detection.d.ts.map +1 -0
- package/admin-preview/detection.js +166 -0
- package/admin-preview/helpers/index.d.ts +16 -0
- package/admin-preview/helpers/index.d.ts.map +1 -0
- package/admin-preview/helpers/index.js +19 -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/back-in-stock/components/BackInStockButton/index.js +16 -19
- package/back-in-stock/components/Subscriptions/components/Subscription/index.js +20 -21
- 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 +4 -8
- package/cart/components/CartItem/CartItemProductLayoutWide.js +19 -14
- package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.js +5 -3
- package/cart/components/CartItem/CartItemProductLayoutWideOrderDetails.js +18 -12
- package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +1 -1
- 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 +2 -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 +3 -3
- 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 +2 -4
- package/cart/components/CartItems/CartItemsHeaderWide.js +43 -18
- package/cart/components/CartSummaryWide/CartSummaryWide.js +9 -16
- package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +4 -8
- package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +6 -10
- 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/PaymentBarReserveButton.js +6 -10
- package/cart/components/PaymentBar/testUtils/mockFactories.js +64 -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/CategoryList/index.js +4 -8
- package/checkout/components/AddressBook/AddressList.js +9 -10
- package/checkout/components/AddressBookContact/AddressBookContact.js +6 -6
- package/checkout/components/Checkout/CheckoutAddress.js +25 -15
- package/checkout/components/Checkout/CheckoutHeader.js +9 -11
- package/checkout/components/Checkout/CheckoutPickupContactForm.js +2 -2
- package/checkout/components/Checkout/CheckoutSection.js +22 -15
- package/checkout/components/Checkout/CheckoutSectionInfo.js +14 -17
- package/checkout/components/Checkout/CheckoutSectionMessages.js +5 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +15 -14
- 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 +2 -2
- 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/ChipLayout/index.js +4 -4
- 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/index.d.ts +2 -2
- 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/Picker/spec.js +48 -41
- 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/PickerUtilize/spec.js +6 -3
- package/components/Radio/Radio.js +6 -5
- package/components/ResponsiveContainer/breakpoints.js +2 -2
- package/components/ScrollHeader/index.js +3 -3
- package/components/SheetList/components/Item/index.js +11 -16
- 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/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 +2 -2
- package/components/View/index.d.ts.map +1 -1
- package/components/View/index.js +1 -5
- package/components/v2/Button/Button.d.ts +1 -1
- package/components/v2/ButtonBase/Ripple.d.ts +2 -1
- package/components/v2/ButtonBase/Ripple.d.ts.map +1 -1
- 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/scrollContainer.js +2 -2
- package/core/initialization/index.js +2 -1
- 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 +3 -2
- 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 +6 -7
- package/favorites/components/Item/Item.d.ts.map +1 -1
- package/favorites/components/Item/Item.js +19 -17
- 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.map +1 -1
- package/favorites/components/List/List.js +1 -5
- package/favorites/components/ListChooser/ListChooserItem.js +1 -1
- package/favorites/components/Lists/Lists.js +15 -3
- 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/FilterItem/spec.js +3 -3
- package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +5 -5
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +3 -3
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +5 -5
- package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +4 -5
- package/filter/components/FilterPageContent/components/Selector/spec.js +3 -3
- package/filter/components/PriceSlider/components/Label/index.js +9 -13
- package/filter/components/PriceSlider/components/Label/spec.js +12 -3
- package/filter/components/PriceSlider/index.js +4 -9
- package/filter/components/PriceSlider/spec.js +10 -5
- package/filter/selectors/index.js +2 -2
- package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.js +1 -1
- package/locations/components/ChangeLocationButton/ChangeLocationButton.js +1 -1
- 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 +22 -21
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.connector.js +1 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.connector.js +1 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +4 -4
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +14 -18
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +12 -15
- package/locations/components/GlobalLocationSelector/GlobalLocationSelector.js +1 -1
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.connector.js +1 -1
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +13 -17
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +12 -12
- package/locations/components/ReservationResponses/ReservationError.js +9 -6
- package/locations/components/ReservationResponses/ReservationSuccess.js +14 -9
- package/locations/components/ReserveForm/ReserveForm.js +6 -5
- 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 +3 -5
- package/locations/components/StoreDetails/components/StoreDetails.js +24 -26
- 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 +24 -10
- package/locations/components/StoreFinder/StoreFinder.js +1 -1
- package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +5 -5
- 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 +3 -3
- package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +3 -3
- 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 +2 -3
- package/locations/components/StoreList/StoreListProductInfo.js +9 -6
- package/locations/components/StoreList/StoreListProductName.js +4 -3
- package/locations/components/StoreList/StoreListSearch.js +10 -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 +3 -3
- 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 +16 -16
- package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +1 -1
- 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 +4 -8
- package/orders/components/OrderHistory/OrderHistoryTable.js +1 -1
- package/package.json +12 -11
- package/page/components/NotFound.js +8 -7
- package/page/components/WidgetHeadline/WidgetHeadline.js +4 -3
- package/page/components/WidgetRichText/WidgetRichText.js +1 -1
- package/page/components/Widgets/Tooltip.js +7 -8
- package/page/components/Widgets/Widget.js +4 -4
- package/page/components/Widgets/constants.js +0 -5
- package/page/components/Widgets/hooks.js +5 -96
- package/page/constants/index.js +5 -2
- package/page/selectors/index.js +2 -1
- package/page/widgets/HTML/HTML.js +5 -9
- package/page/widgets/NestedCategoryFilter/NestedCategoryFilter.js +0 -5
- 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/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 +6 -7
- 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/Shipping/spec.js +7 -8
- package/product/components/Header/Tiers/components/Tier/index.js +3 -3
- package/product/components/Header/Tiers/components/Tier/spec.js +4 -4
- package/product/components/Header/Tiers/index.js +5 -3
- package/product/components/Header/Tiers/spec.js +7 -7
- package/product/components/MapPriceHint/index.js +8 -7
- package/product/components/Media/MediaImage.js +2 -2
- package/product/components/Media/MediaPlaceholder.js +3 -4
- package/product/components/Options/components/TextOption/components/OptionInfo/index.js +18 -18
- package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +30 -21
- package/product/components/Options/components/TextOption/index.js +8 -11
- package/product/components/OrderQuantityHint/index.js +10 -16
- 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 +4 -5
- package/product/components/ProductDiscountBadge/index.js +3 -3
- package/product/components/ProductDiscountBadge/spec.js +5 -5
- package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/index.js +1 -1
- package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/spec.js +7 -7
- package/product/components/ProductGrid/components/Item/components/ItemImage/spec.js +3 -3
- package/product/components/ProductGrid/components/Item/components/ItemName/index.js +3 -4
- package/product/components/ProductGrid/components/Item/components/ItemName/spec.js +3 -3
- package/product/components/ProductGrid/components/Item/components/ItemPrice/spec.js +4 -4
- package/product/components/ProductGrid/components/Item/index.js +1 -5
- package/product/components/ProductGridPrice/index.js +9 -15
- package/product/components/ProductImage/ProductImagePlaceholder.js +9 -12
- package/product/components/ProductImage/index.js +6 -8
- package/product/components/ProductList/components/Item/index.js +5 -9
- package/product/components/ProductList/components/Layout/index.js +1 -1
- 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/ProductSlider/spec.js +5 -5
- package/product/components/Rating/spec.js +9 -8
- package/product/components/RelationsSlider/RelationsSheet.js +1 -5
- package/product/components/RelationsSlider/RelationsSliderContent.js +4 -4
- 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 +9 -12
- package/push-opt-in/components/PushOptInModal/index.js +14 -14
- package/registration/components/GuestRegistration/GuestRegistrationFormPickup.js +2 -2
- package/registration/components/Registration/RegistrationContent.js +2 -1
- 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/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/spec.js +43 -26
- package/reviews/components/Reviews/components/Header/spec.js +47 -29
- 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/List/spec.js +68 -29
- package/reviews/components/Reviews/components/RatingCount/index.js +13 -15
- package/reviews/components/Reviews/components/RatingCount/spec.js +25 -5
- package/reviews/components/Reviews/components/ReviewsInfo/index.js +9 -9
- package/reviews/components/Reviews/spec.js +56 -28
- 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 +2 -0
- package/settings/constants/appSettings.d.ts.map +1 -0
- package/settings/constants/appSettings.js +1 -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/reducers/appSettings.d.ts +18 -0
- package/settings/reducers/appSettings.d.ts.map +1 -0
- package/settings/reducers/appSettings.js +42 -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 +44 -0
- package/settings/selectors/appSettings.d.ts.map +1 -0
- package/settings/selectors/appSettings.js +23 -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 +32 -0
- package/settings/types/appSettings.d.ts.map +1 -0
- package/settings/types/appSettings.js +1 -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/theme/createDefaultThemeOptions/index.d.ts.map +1 -1
- package/styles/theme/createDefaultThemeOptions/index.js +72 -3
- package/styles/theme/createTheme/createComponents.types.d.ts +169 -0
- package/styles/theme/createTheme/createComponents.types.d.ts.map +1 -1
- package/styles/theme/createTheme/createComponents.types.js +169 -0
- package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.d.ts.map +1 -1
- package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.js +28 -2
- package/styles/theme/createTheme/createPalette.types.d.ts +15 -7
- package/styles/theme/createTheme/createPalette.types.d.ts.map +1 -1
- package/styles/theme/createTheme/createPalette.types.js +16 -8
- package/styles/theme/createTheme/createSpacing.js +4 -1
- package/styles/theme/createTheme/createThemeFromColorScheme.d.ts +9 -2
- package/styles/theme/createTheme/createThemeFromColorScheme.d.ts.map +1 -1
- package/styles/theme/createTheme/createThemeFromColorScheme.js +10 -1
- 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 +1 -1
- package/styles/theme/createTheme/index.d.ts.map +1 -1
- package/styles/theme/createTheme/index.js +2 -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/transitions.d.ts +4 -0
- package/styles/theme/createTheme/transitions.js +3 -1
- package/styles/theme/createTheme/types.d.ts +32 -5
- package/styles/theme/createTheme/types.d.ts.map +1 -1
- package/styles/theme/createTheme/types.js +8 -1
- 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/index.d.ts +1 -0
- 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/ThemeProvider.d.ts +3 -3
- package/styles/theme/providers/ThemeProvider.d.ts.map +1 -1
- package/styles/theme/providers/ThemeProvider.js +13 -15
- package/tracking/components/CookieConsentModal/index.js +12 -12
- package/tracking/components/PrivacySettings/index.js +4 -4
- package/tracking/selectors/cookieConsent.js +2 -2
- package/tsconfig.json +1 -0
|
@@ -3,14 +3,10 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { i18n, hasNewServices } from '@shopgate/engage/core/helpers';
|
|
4
4
|
import { UIEvents } from '@shopgate/engage/core';
|
|
5
5
|
import { useWidgetSettings } from '@shopgate/engage/core/hooks';
|
|
6
|
-
import { makeStyles } from '@shopgate/engage/styles';
|
|
7
|
-
import { themeConfig } from '@shopgate/engage';
|
|
6
|
+
import { makeStyles, useTheme } from '@shopgate/engage/styles';
|
|
8
7
|
import { RippleButton, QuantityInput } from '@shopgate/engage/components';
|
|
9
8
|
import { broadcastLiveMessage } from '@shopgate/engage/a11y/helpers';
|
|
10
9
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
|
-
const {
|
|
12
|
-
colors
|
|
13
|
-
} = themeConfig;
|
|
14
10
|
const useStyles = makeStyles()((theme, {
|
|
15
11
|
inputColor,
|
|
16
12
|
inputBgColor,
|
|
@@ -40,8 +36,8 @@ const useStyles = makeStyles()((theme, {
|
|
|
40
36
|
display: 'flex',
|
|
41
37
|
alignItems: 'center',
|
|
42
38
|
width: '100%',
|
|
43
|
-
fontSize:
|
|
44
|
-
backgroundColor:
|
|
39
|
+
fontSize: theme.typography.body1.fontSize,
|
|
40
|
+
backgroundColor: theme.components.input.background,
|
|
45
41
|
...(inputColor && {
|
|
46
42
|
color: `${inputColor}`
|
|
47
43
|
}),
|
|
@@ -140,6 +136,7 @@ const UnitQuantityPicker = ({
|
|
|
140
136
|
toggleTabBarOnFocus,
|
|
141
137
|
quantityLabel
|
|
142
138
|
}) => {
|
|
139
|
+
const theme = useTheme();
|
|
143
140
|
const widgetDefaults = useMemo(() => {
|
|
144
141
|
if (hasNewServices()) {
|
|
145
142
|
// The widget configuration was introduced with CCP-2449 in PWA6. It's inactive for now
|
|
@@ -148,13 +145,13 @@ const UnitQuantityPicker = ({
|
|
|
148
145
|
return {};
|
|
149
146
|
}
|
|
150
147
|
return {
|
|
151
|
-
buttonColor:
|
|
152
|
-
buttonBgColor:
|
|
153
|
-
inputColor:
|
|
154
|
-
inputBgColor:
|
|
148
|
+
buttonColor: theme.palette.primary.contrastText,
|
|
149
|
+
buttonBgColor: theme.palette.primary.main,
|
|
150
|
+
inputColor: theme.palette.text.primary,
|
|
151
|
+
inputBgColor: theme.palette.grey.light,
|
|
155
152
|
showLabel: true
|
|
156
153
|
};
|
|
157
|
-
}, []);
|
|
154
|
+
}, [theme]);
|
|
158
155
|
const {
|
|
159
156
|
buttonColor = widgetDefaults.buttonColor,
|
|
160
157
|
buttonBgColor = widgetDefaults.buttonBgColor,
|
|
@@ -2,24 +2,21 @@ 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, Button, Modal } from '@shopgate/engage/components';
|
|
6
|
-
import { appConfig
|
|
5
|
+
import { Grid, I18n, Button, Modal, Typography } from '@shopgate/engage/components';
|
|
6
|
+
import { appConfig } from '@shopgate/engage';
|
|
7
7
|
import pushImage from "./push-opt-in.svg";
|
|
8
8
|
import connect from "./connector";
|
|
9
9
|
import { svgToDataUrl } from "../../../core";
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
const {
|
|
12
|
-
colors
|
|
13
|
-
} = themeConfig;
|
|
14
|
-
const useStyles = makeStyles()(() => ({
|
|
11
|
+
const useStyles = makeStyles()(theme => ({
|
|
15
12
|
modalContent: {
|
|
16
13
|
width: '100%'
|
|
17
14
|
},
|
|
18
15
|
modalLayout: {
|
|
19
|
-
backgroundColor:
|
|
16
|
+
backgroundColor: theme.palette.background.surface
|
|
20
17
|
},
|
|
21
18
|
container: {
|
|
22
|
-
backgroundColor:
|
|
19
|
+
backgroundColor: theme.palette.background.surface,
|
|
23
20
|
textAlign: 'center',
|
|
24
21
|
padding: '30px',
|
|
25
22
|
justifyContent: 'center',
|
|
@@ -27,8 +24,6 @@ const useStyles = makeStyles()(() => ({
|
|
|
27
24
|
flexDirection: 'column'
|
|
28
25
|
},
|
|
29
26
|
title: {
|
|
30
|
-
fontWeight: 'bold',
|
|
31
|
-
fontSize: '1.35rem',
|
|
32
27
|
paddingTop: '30px',
|
|
33
28
|
paddingBottom: '30px'
|
|
34
29
|
},
|
|
@@ -45,7 +40,7 @@ const useStyles = makeStyles()(() => ({
|
|
|
45
40
|
marginTop: '30px'
|
|
46
41
|
},
|
|
47
42
|
buttonText: {
|
|
48
|
-
color:
|
|
43
|
+
color: theme.palette.text.secondary
|
|
49
44
|
}
|
|
50
45
|
}));
|
|
51
46
|
|
|
@@ -117,10 +112,15 @@ const PushOptInModal = ({
|
|
|
117
112
|
className: cx(classes.image, 'push-opt-in-modal__image'),
|
|
118
113
|
alt: "",
|
|
119
114
|
"aria-hidden": "true"
|
|
120
|
-
}), /*#__PURE__*/_jsx(
|
|
115
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
116
|
+
variant: "h3",
|
|
117
|
+
component: "div",
|
|
118
|
+
fontWeight: "bold",
|
|
121
119
|
className: cx(classes.title, 'push-opt-in-modal__title'),
|
|
122
|
-
|
|
123
|
-
|
|
120
|
+
children: /*#__PURE__*/_jsx(I18n.Text, {
|
|
121
|
+
string: modalTitle || 'pushOptInModal.title',
|
|
122
|
+
id: "pushOptInDialogTitle"
|
|
123
|
+
})
|
|
124
124
|
}), /*#__PURE__*/_jsx(I18n.Text, {
|
|
125
125
|
className: cx('push-opt-in-modal__message'),
|
|
126
126
|
string: modalMessage || 'pushOptInModal.message',
|
|
@@ -22,13 +22,13 @@ const useStyles = makeStyles()(theme => ({
|
|
|
22
22
|
},
|
|
23
23
|
' .guestFormPickupPerson .label span': {
|
|
24
24
|
color: theme.palette.text.primary,
|
|
25
|
-
fontWeight:
|
|
25
|
+
fontWeight: theme.typography.fontWeightBold
|
|
26
26
|
},
|
|
27
27
|
' .guestFormPickupPerson .radioGroup': {
|
|
28
28
|
marginTop: theme.spacing(1),
|
|
29
29
|
flexDirection: 'row',
|
|
30
30
|
' .uncheckedIcon': {
|
|
31
|
-
color:
|
|
31
|
+
color: theme.palette.text.secondary
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
...StylePresets.getOutlinedFormFields(theme)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
2
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
3
|
-
import { isIOSTheme
|
|
3
|
+
import { isIOSTheme } from '@shopgate/engage/core';
|
|
4
|
+
import { SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/settings/constants/shopSettings';
|
|
4
5
|
import RegistrationFormBase from "./RegistrationFormBase";
|
|
5
6
|
import RegistrationFormBilling from "./RegistrationFormBilling";
|
|
6
7
|
import RegistrationFormShipping from "./RegistrationFormShipping";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { i18n
|
|
1
|
+
import { i18n } from '@shopgate/engage/core';
|
|
2
|
+
import { SHOP_SETTING_REGISTRATION_MODE_SIMPLE, SHOP_SETTING_REGISTRATION_MODE_EXTENDED } from '@shopgate/engage/settings/constants/shopSettings';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Generates form configuration.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EVALIDATION } from '@shopgate/engage/core';
|
|
2
2
|
import { updateCheckoutOrder } from '@shopgate/engage/checkout/actions';
|
|
3
3
|
import { extractAttributes, convertPipelineValidationErrors } from '@shopgate/engage/account/helper/form';
|
|
4
|
-
import { getMerchantCustomerAttributes } from '@shopgate/engage/
|
|
4
|
+
import { getMerchantCustomerAttributes } from '@shopgate/engage/settings/selectors/merchantSettings';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Submits guest registration form data.
|
|
@@ -2,11 +2,12 @@ import { connect } from 'react-redux';
|
|
|
2
2
|
import { getShopSettings, getConfigFetching } from '@shopgate/engage/core/config';
|
|
3
3
|
import { hasDirectShipItems } from '@shopgate/engage/cart';
|
|
4
4
|
import { getPreferredLocationAddress } from '@shopgate/engage/locations/selectors';
|
|
5
|
-
import { getMerchantCustomerAttributes } from '@shopgate/engage/
|
|
5
|
+
import { getMerchantCustomerAttributes } from '@shopgate/engage/settings/selectors/merchantSettings';
|
|
6
6
|
import { getCheckoutBillingAddress, getCheckoutShippingAddress, getCheckoutPickupAddress, getCheckoutOrderCustomer, getIsReserveOnly, isPickupAndBillingEquals, isShippingBillingEquals, getIsShippingAddressSelectionEnabled, getIsPickupContactSelectionEnabled } from '@shopgate/engage/checkout/selectors/order';
|
|
7
7
|
import { getNeedsPaymentForOrder } from '@shopgate/engage/checkout/selectors/payment';
|
|
8
8
|
import { prepareCheckout } from '@shopgate/engage/checkout/actions';
|
|
9
|
-
import { historyPush, historyPop, makeIsLastStackEntry
|
|
9
|
+
import { historyPush, historyPop, makeIsLastStackEntry } from '@shopgate/engage/core';
|
|
10
|
+
import { getNumberOfAddressLines } from '@shopgate/engage/settings/selectors/shopSettings';
|
|
10
11
|
import { submitGuestRegistration } from "./GuestRegistrationProvider.actions";
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -5,7 +5,8 @@ import identity from 'lodash/identity';
|
|
|
5
5
|
import appConfig from '@shopgate/pwa-common/helpers/config';
|
|
6
6
|
import { useFormState } from '@shopgate/engage/core/hooks/useFormState';
|
|
7
7
|
import { useScrollTo } from '@shopgate/engage/core/hooks/useScrollTo';
|
|
8
|
-
import { LoadingProvider, i18n, useAsyncMemo, useRoute
|
|
8
|
+
import { LoadingProvider, i18n, useAsyncMemo, useRoute } from '@shopgate/engage/core';
|
|
9
|
+
import { SHOP_SETTING_REGISTRATION_MODE_EXTENDED } from '@shopgate/engage/settings/constants/shopSettings';
|
|
9
10
|
import { ADDRESS_TYPE_SHIPPING, ADDRESS_TYPE_PICKUP } from '@shopgate/engage/checkout';
|
|
10
11
|
import { extractDefaultValues } from "../../account/helper/form";
|
|
11
12
|
import { GUEST_CHECKOUT_PATTERN, GUEST_CHECKOUT_PAYMENT_PATTERN } from "../../checkout/constants/routes";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { EVALIDATION
|
|
1
|
+
import { EVALIDATION } from '@shopgate/engage/core';
|
|
2
|
+
import { getRegistrationMode } from '@shopgate/engage/settings/selectors/shopSettings';
|
|
3
|
+
import { SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/settings/constants/shopSettings';
|
|
2
4
|
import { extractAttributes, convertPipelineValidationErrors } from '@shopgate/engage/account/helper/form';
|
|
3
|
-
import { getMerchantCustomerAttributes } from '@shopgate/engage/
|
|
5
|
+
import { getMerchantCustomerAttributes } from '@shopgate/engage/settings/selectors/merchantSettings';
|
|
4
6
|
import { submitRegistration as submit } from "../actions";
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { connect } from 'react-redux';
|
|
2
2
|
import { getShopSettings, getConfigFetching } from '@shopgate/engage/core/config';
|
|
3
|
-
import { getNumberOfAddressLines, getRegistrationMode } from '@shopgate/engage/
|
|
3
|
+
import { getNumberOfAddressLines, getRegistrationMode } from '@shopgate/engage/settings/selectors/shopSettings';
|
|
4
4
|
import { hasDirectShipItems } from '@shopgate/engage/cart';
|
|
5
5
|
import { getPreferredLocationAddress } from '@shopgate/engage/locations/selectors';
|
|
6
|
-
import { getMerchantCustomerAttributes } from '@shopgate/engage/
|
|
6
|
+
import { getMerchantCustomerAttributes } from '@shopgate/engage/settings/selectors/merchantSettings';
|
|
7
7
|
import { submitRegistration } from "./RegistrationProvider.actions";
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SHOP_SETTING_REGISTRATION_MODE_EXTENDED, SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/
|
|
1
|
+
import { SHOP_SETTING_REGISTRATION_MODE_EXTENDED, SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/settings/constants/shopSettings';
|
|
2
2
|
import { generateFormConstraints } from '@shopgate/engage/account/helper/form';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useMemo, useState, useEffect, useCallback } from 'react';
|
|
2
2
|
import { REGISTER_PATH } from '@shopgate/pwa-common/constants/RoutePaths';
|
|
3
|
-
import { LoadingProvider, i18n, useRoute
|
|
3
|
+
import { LoadingProvider, i18n, useRoute } from '@shopgate/engage/core';
|
|
4
|
+
import { SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/settings/constants/shopSettings';
|
|
4
5
|
import { useFormState } from '@shopgate/engage/core/hooks/useFormState';
|
|
5
6
|
import appConfig from '@shopgate/pwa-common/helpers/config';
|
|
6
7
|
import PropTypes from 'prop-types';
|
|
@@ -8,7 +8,7 @@ import WriteReviewLink from "../WriteReviewLink";
|
|
|
8
8
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
const useStyles = makeStyles()(theme => ({
|
|
10
10
|
container: {
|
|
11
|
-
fontWeight:
|
|
11
|
+
fontWeight: theme.typography.fontWeightMedium,
|
|
12
12
|
margin: 0
|
|
13
13
|
},
|
|
14
14
|
noReviews: {
|
|
@@ -8,11 +8,11 @@ import WriteReviewLink from "../WriteReviewLink";
|
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
const useStyles = makeStyles()(theme => ({
|
|
10
10
|
container: {
|
|
11
|
-
fontWeight:
|
|
11
|
+
fontWeight: theme.typography.fontWeightMedium,
|
|
12
12
|
margin: 0
|
|
13
13
|
},
|
|
14
14
|
withTopGapContainer: {
|
|
15
|
-
fontWeight:
|
|
15
|
+
fontWeight: theme.typography.fontWeightMedium,
|
|
16
16
|
margin: 0,
|
|
17
17
|
marginTop: theme.spacing(4)
|
|
18
18
|
},
|
|
@@ -24,7 +24,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
24
24
|
marginBottom: -2
|
|
25
25
|
},
|
|
26
26
|
averageRatingNumber: {
|
|
27
|
-
color:
|
|
27
|
+
color: theme.palette.primary.main,
|
|
28
28
|
marginLeft: theme.spacing(1)
|
|
29
29
|
},
|
|
30
30
|
averageRatingText: {
|
|
@@ -1,35 +1,52 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import configureStore from 'redux-mock-store';
|
|
4
|
-
import { mount } from 'enzyme';
|
|
5
|
-
import { mockedStateWithAll } from '@shopgate/pwa-common-commerce/reviews/mock';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
6
3
|
import WriteReviewLink from "./index";
|
|
4
|
+
|
|
5
|
+
/* eslint-disable react/prop-types */
|
|
7
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
jest.mock('@shopgate/engage/components', () => ({
|
|
8
|
+
I18n: {
|
|
9
|
+
Text: ({
|
|
10
|
+
string
|
|
11
|
+
}) => /*#__PURE__*/_jsx("span", {
|
|
12
|
+
children: string
|
|
13
|
+
})
|
|
14
|
+
}
|
|
15
|
+
}));
|
|
16
|
+
jest.mock('@shopgate/pwa-ui-shared/ButtonLink', () => {
|
|
17
|
+
function ButtonLink(props) {
|
|
18
|
+
const {
|
|
19
|
+
children,
|
|
20
|
+
href,
|
|
21
|
+
noGap,
|
|
22
|
+
...rest
|
|
23
|
+
} = props;
|
|
24
|
+
return /*#__PURE__*/_jsx("a", {
|
|
25
|
+
href: href,
|
|
26
|
+
...rest,
|
|
27
|
+
"data-no-gap": String(noGap),
|
|
28
|
+
children: children
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return ButtonLink;
|
|
32
|
+
});
|
|
10
33
|
|
|
11
34
|
/**
|
|
12
|
-
* Creates component
|
|
13
|
-
* @
|
|
14
|
-
* @return {ReactWrapper}
|
|
35
|
+
* Creates component.
|
|
36
|
+
* @return {void}
|
|
15
37
|
*/
|
|
16
|
-
const createComponent =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
children: /*#__PURE__*/_jsx(WriteReviewLink, {
|
|
20
|
-
productId: "foo"
|
|
21
|
-
})
|
|
22
|
-
});
|
|
23
|
-
return mount(Component);
|
|
24
|
-
};
|
|
38
|
+
const createComponent = () => render(/*#__PURE__*/_jsx(WriteReviewLink, {
|
|
39
|
+
productId: "foo"
|
|
40
|
+
}));
|
|
25
41
|
describe('<WriteReviewLink>', () => {
|
|
26
|
-
let component = null;
|
|
27
|
-
beforeEach(() => {
|
|
28
|
-
jest.resetModules();
|
|
29
|
-
});
|
|
30
42
|
it('should render when current product is set', () => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
43
|
+
createComponent();
|
|
44
|
+
const link = screen.getByRole('link', {
|
|
45
|
+
name: 'reviews.button_add'
|
|
46
|
+
});
|
|
47
|
+
expect(link).toHaveAttribute('href', '/item/666f6f/write_review');
|
|
48
|
+
expect(screen.getByText('reviews.button_add')).toBeTruthy();
|
|
34
49
|
});
|
|
35
|
-
});
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
/* eslint-enable react/prop-types */
|
|
@@ -1,60 +1,78 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { mount } from 'enzyme';
|
|
4
|
-
import configureStore from 'redux-mock-store';
|
|
5
|
-
import mockRenderOptions from '@shopgate/pwa-common/helpers/mocks/mockRenderOptions';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
6
3
|
import { mockProductId, mockedStateWithoutReview, mockedStateWithAll } from '@shopgate/pwa-common-commerce/reviews/mock';
|
|
7
4
|
import Header from "./index";
|
|
8
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
const
|
|
10
|
-
|
|
6
|
+
const mockNoReviews = jest.fn(props => /*#__PURE__*/_jsx("div", {
|
|
7
|
+
"data-testid": "no-reviews",
|
|
8
|
+
"data-product-id": props.productId
|
|
9
|
+
}));
|
|
10
|
+
const mockReviewsExcerpt = jest.fn(props => /*#__PURE__*/_jsx("div", {
|
|
11
|
+
"data-testid": "reviews-excerpt",
|
|
12
|
+
"data-product-id": props.productId,
|
|
13
|
+
"data-average": String(props.average),
|
|
14
|
+
"data-count": String(props.count),
|
|
15
|
+
"data-with-top-gap": String(props.withTopGap)
|
|
16
|
+
}));
|
|
17
|
+
jest.mock("./connector", () => component => component);
|
|
18
|
+
jest.mock("./components/NoReviews", () => props => mockNoReviews(props));
|
|
19
|
+
jest.mock("./components/ReviewsExcerpt", () => props => mockReviewsExcerpt(props));
|
|
11
20
|
|
|
12
21
|
/**
|
|
13
|
-
* Creates component with provided
|
|
14
|
-
* @param {Object}
|
|
15
|
-
* @
|
|
16
|
-
* @return {ReactWrapper}
|
|
22
|
+
* Creates component with provided props.
|
|
23
|
+
* @param {Object} props Header props.
|
|
24
|
+
* @returns {object} Render result.
|
|
17
25
|
*/
|
|
18
|
-
const createComponent = (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
...props
|
|
22
|
-
})
|
|
23
|
-
}), mockRenderOptions);
|
|
26
|
+
const createComponent = (props = {}) => render(/*#__PURE__*/_jsx(Header, {
|
|
27
|
+
...props
|
|
28
|
+
}));
|
|
24
29
|
describe('<Header />', () => {
|
|
25
|
-
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
jest.clearAllMocks();
|
|
32
|
+
});
|
|
26
33
|
it('should render empty', () => {
|
|
27
34
|
const productId = mockProductId;
|
|
28
35
|
const {
|
|
29
36
|
rating
|
|
30
37
|
} = mockedStateWithoutReview.product.productsById[productId].productData;
|
|
31
|
-
|
|
38
|
+
createComponent({
|
|
32
39
|
productId,
|
|
33
40
|
rating
|
|
34
41
|
});
|
|
35
|
-
expect(
|
|
36
|
-
expect(
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
expect(screen.getByTestId('no-reviews')).toHaveAttribute('data-product-id', productId);
|
|
43
|
+
expect(mockNoReviews).toHaveBeenCalledWith(expect.objectContaining({
|
|
44
|
+
productId
|
|
45
|
+
}));
|
|
46
|
+
expect(screen.queryByTestId('reviews-excerpt')).toBeNull();
|
|
39
47
|
});
|
|
40
48
|
it('should render rating summary', () => {
|
|
41
49
|
const productId = mockProductId;
|
|
42
50
|
const {
|
|
43
51
|
rating
|
|
44
52
|
} = mockedStateWithAll.product.productsById[productId].productData;
|
|
45
|
-
|
|
53
|
+
createComponent({
|
|
46
54
|
productId,
|
|
47
55
|
rating
|
|
48
56
|
});
|
|
49
|
-
expect(
|
|
50
|
-
expect(
|
|
51
|
-
expect(
|
|
52
|
-
expect(
|
|
57
|
+
expect(screen.getByTestId('reviews-excerpt')).toHaveAttribute('data-product-id', productId);
|
|
58
|
+
expect(screen.getByTestId('reviews-excerpt')).toHaveAttribute('data-average', String(rating.average));
|
|
59
|
+
expect(screen.getByTestId('reviews-excerpt')).toHaveAttribute('data-count', String(rating.count));
|
|
60
|
+
expect(mockReviewsExcerpt).toHaveBeenCalledWith(expect.objectContaining({
|
|
61
|
+
productId,
|
|
62
|
+
average: rating.average,
|
|
63
|
+
count: rating.count,
|
|
64
|
+
withTopGap: false
|
|
65
|
+
}));
|
|
66
|
+
expect(screen.queryByTestId('no-reviews')).toBeNull();
|
|
53
67
|
});
|
|
54
68
|
it('should render null when no review is provided', () => {
|
|
55
|
-
|
|
69
|
+
const {
|
|
70
|
+
container
|
|
71
|
+
} = createComponent({
|
|
56
72
|
productId: 'some-id'
|
|
57
73
|
});
|
|
58
|
-
expect(
|
|
74
|
+
expect(container.firstChild).toBeNull();
|
|
75
|
+
expect(screen.queryByTestId('no-reviews')).toBeNull();
|
|
76
|
+
expect(screen.queryByTestId('reviews-excerpt')).toBeNull();
|
|
59
77
|
});
|
|
60
78
|
});
|
|
@@ -1,41 +1,31 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import {
|
|
3
|
+
import { Typography } from '@shopgate/engage/components';
|
|
4
4
|
import ReviewDate from "./components/ReviewDate";
|
|
5
5
|
import Author from "./components/Author";
|
|
6
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
-
const useStyles = makeStyles()({
|
|
8
|
-
root: {
|
|
9
|
-
color: 'var(--color-text-medium-emphasis)',
|
|
10
|
-
fontSize: 14
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
6
|
|
|
14
7
|
/**
|
|
15
8
|
* Review Info Component.
|
|
16
9
|
* @param {Object} props The props.
|
|
17
10
|
* @returns {JSX}
|
|
18
11
|
*/
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
13
|
const Info = ({
|
|
20
14
|
review
|
|
21
|
-
}) =>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
})]
|
|
36
|
-
})
|
|
37
|
-
);
|
|
38
|
-
};
|
|
15
|
+
}) =>
|
|
16
|
+
/*#__PURE__*/
|
|
17
|
+
// eslint-disable-next-line jsx-a11y/aria-role
|
|
18
|
+
_jsxs(Typography, {
|
|
19
|
+
variant: "body2",
|
|
20
|
+
component: "div",
|
|
21
|
+
color: "textSecondary",
|
|
22
|
+
role: "text",
|
|
23
|
+
children: [/*#__PURE__*/_jsx(ReviewDate, {
|
|
24
|
+
date: review.date
|
|
25
|
+
}), ' ', /*#__PURE__*/_jsx(Author, {
|
|
26
|
+
author: review.author
|
|
27
|
+
})]
|
|
28
|
+
});
|
|
39
29
|
Info.defaultProps = {
|
|
40
30
|
review: null
|
|
41
31
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
+
import { Typography } from '@shopgate/engage/components';
|
|
3
4
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
6
|
const useStyles = makeStyles()({
|
|
6
7
|
root: {
|
|
7
|
-
fontSize: 14,
|
|
8
8
|
fontStyle: 'italic',
|
|
9
9
|
whiteSpace: 'pre-line'
|
|
10
10
|
}
|
|
@@ -24,7 +24,9 @@ const Text = ({
|
|
|
24
24
|
if (!review) {
|
|
25
25
|
return null;
|
|
26
26
|
}
|
|
27
|
-
return /*#__PURE__*/_jsx(
|
|
27
|
+
return /*#__PURE__*/_jsx(Typography, {
|
|
28
|
+
variant: "body2",
|
|
29
|
+
component: "div",
|
|
28
30
|
className: classes.root,
|
|
29
31
|
children: `"${review}"`
|
|
30
32
|
});
|
|
@@ -2,12 +2,12 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
const useStyles = makeStyles()({
|
|
5
|
+
const useStyles = makeStyles()(theme => ({
|
|
6
6
|
root: {
|
|
7
|
-
fontWeight:
|
|
7
|
+
fontWeight: theme.typography.fontWeightMedium,
|
|
8
8
|
lineHeight: '20px'
|
|
9
9
|
}
|
|
10
|
-
});
|
|
10
|
+
}));
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Review Title Component.
|
|
@@ -3,20 +3,16 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { SurroundPortals } from '@shopgate/engage/components';
|
|
4
4
|
import { PRODUCT_REVIEWS_ENTRY } from '@shopgate/engage/product';
|
|
5
5
|
import { makeStyles } from '@shopgate/engage/styles';
|
|
6
|
-
import { themeConfig } from '@shopgate/pwa-common/helpers/config';
|
|
7
6
|
import Title from "./components/Title";
|
|
8
7
|
import Rating from "./components/Rating";
|
|
9
8
|
import Text from "./components/Text";
|
|
10
9
|
import Info from "./components/Info";
|
|
11
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
const {
|
|
13
|
-
colors
|
|
14
|
-
} = themeConfig;
|
|
15
11
|
const useStyles = makeStyles()(theme => ({
|
|
16
12
|
item: {
|
|
17
13
|
marginLeft: theme.spacing(2),
|
|
18
14
|
padding: theme.spacing(2, 2, 2, 0),
|
|
19
|
-
borderTop: `1px solid ${
|
|
15
|
+
borderTop: `1px solid ${theme.components.border.light}`
|
|
20
16
|
}
|
|
21
17
|
}));
|
|
22
18
|
|