@shopgate/engage 7.27.3-alpha.15 → 7.27.3-alpha.17
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/a11y/components/LiveMessage/index.js +1 -1
- package/a11y/components/LiveMessenger/helpers.js +1 -1
- package/a11y/components/LiveMessenger/index.js +2 -2
- package/a11y/components/Navigation/index.js +1 -1
- package/a11y/components/Section/index.js +3 -3
- package/a11y/components/VisuallyHidden/index.js +1 -1
- package/a11y/components/index.js +1 -1
- package/a11y/index.js +4 -1
- package/account/constants/index.js +1 -1
- package/account/index.js +1 -1
- package/app-rating/actions/showModal.js +3 -3
- package/app-rating/helpers/index.js +1 -1
- package/app-rating/subscriptions/index.js +6 -11
- package/back-in-stock/actions/index.js +1 -1
- package/back-in-stock/components/BackInStockButton/index.js +3 -3
- package/back-in-stock/components/CharacteristicsButton/index.js +1 -1
- package/back-in-stock/components/ProductInfoBackInStockButton/index.js +1 -1
- package/back-in-stock/components/Subscriptions/components/List/index.js +2 -2
- package/back-in-stock/components/Subscriptions/components/Subscription/index.js +2 -2
- package/back-in-stock/components/Subscriptions/index.js +1 -1
- package/back-in-stock/providers/BackInStockSubscriptionsProvider.context.js +1 -1
- package/back-in-stock/providers/BackInStockSubscriptionsProvider.js +1 -1
- package/back-in-stock/selectors/index.js +3 -5
- package/back-in-stock/streams/index.js +1 -1
- package/back-in-stock/subscriptions/index.js +2 -2
- package/cart/index.js +5 -10
- package/category/components/CategoryList/index.js +2 -2
- package/category/components/CategoryList/style.js +1 -1
- package/category/index.js +7 -1
- package/checkout/index.js +5 -6
- package/components/ChipLayout/index.js +7 -7
- package/components/ChipLayout/spec.js +1 -1
- package/components/ChipLayout/style.js +2 -2
- package/components/ConditionalWrapper/index.js +5 -1
- package/components/Footer/Footer.js +23 -4
- package/components/Footer/Footer.style.js +7 -1
- package/components/Form/Builder/Builder.constants.js +1 -1
- package/components/Form/Builder/Builder.js +37 -53
- package/components/Form/Builder/ElementCheckbox.js +2 -2
- package/components/Form/Builder/ElementRadio.js +2 -2
- package/components/Form/Builder/ElementSelect.js +3 -3
- package/components/Form/Builder/ElementText.js +4 -4
- package/components/Form/Builder/classes/ActionListener.constants.js +2 -2
- package/components/Form/Builder/classes/ActionListener.js +15 -72
- package/components/Form/Builder/helpers/buildCountryList.js +3 -3
- package/components/Form/Builder/helpers/buildFormDefaults.js +1 -1
- package/components/Form/Builder/helpers/buildProvinceList.js +1 -1
- package/components/Form/Form.js +8 -11
- package/components/Form/index.js +1 -1
- package/components/IntersectionVisibility/index.js +6 -13
- package/components/Logo/index.js +2 -2
- package/components/Logo/spec.js +1 -1
- package/components/Logo/style.js +1 -1
- package/components/MessageBar/index.js +7 -1
- package/components/MessageBar/spec.js +1 -0
- package/components/MessageBar/style.js +2 -0
- package/components/NavigationHandler/connector.js +1 -1
- package/components/NavigationHandler/index.js +6 -6
- package/components/NavigationHandler/spec.js +1 -1
- package/components/Picker/components/Button/index.js +1 -1
- package/components/Picker/components/List/index.js +2 -2
- package/components/Picker/components/Modal/index.js +7 -7
- package/components/Picker/index.js +10 -19
- package/components/Picker/spec.js +2 -2
- package/components/PickerUtilize/components/Button/index.js +1 -1
- package/components/PickerUtilize/index.js +6 -8
- package/components/PickerUtilize/spec.js +1 -2
- package/components/QuantityInput/QuantityInput.js +4 -5
- package/components/RangeSlider/components/Handle/index.js +2 -2
- package/components/RangeSlider/components/Handle/style.js +1 -1
- package/components/RangeSlider/helper.js +3 -3
- package/components/RangeSlider/index.js +23 -35
- package/components/RangeSlider/spec.js +4 -4
- package/components/ScrollHeader/index.js +5 -22
- package/components/ScrollHeader/style.js +1 -1
- package/components/SheetDrawer/index.js +3 -4
- package/components/SheetList/components/Item/index.js +5 -5
- package/components/SheetList/components/Item/spec.js +2 -2
- package/components/SheetList/components/Item/style.js +1 -1
- package/components/SheetList/index.js +4 -4
- package/components/SheetList/spec.js +1 -1
- package/components/SheetList/style.js +1 -1
- package/components/SnackBarContainer/index.js +1 -1
- package/components/Switch/index.js +1 -1
- package/components/TimeBoundary/index.js +8 -10
- package/components/TimeBoundary/spec.js +3 -3
- package/components/VideoPlayer/index.js +6 -9
- package/components/View/components/Above/index.js +1 -1
- package/components/View/components/Below/index.js +1 -1
- package/components/View/components/Content/index.js +13 -13
- package/components/View/components/Content/style.js +1 -1
- package/components/View/context.js +1 -1
- package/components/View/index.js +5 -5
- package/components/View/provider.js +7 -24
- package/components/View/style.js +6 -1
- package/components/index.js +4 -4
- package/core/action-creators/appPermissions.js +1 -1
- package/core/action-creators/index.js +1 -1
- package/core/actions/getGeolocation.js +2 -2
- package/core/actions/grantAppTrackingTransparencyPermission.js +1 -3
- package/core/actions/grantGeolocationPermissions.js +2 -6
- package/core/actions/grantPermissions.js +4 -16
- package/core/actions/grantPushPermissions.js +3 -4
- package/core/actions/index.js +2 -2
- package/core/actions/requestAppPermission.js +2 -7
- package/core/actions/requestAppPermissionStatus.js +2 -7
- package/core/actions/updateStatusBarBackground.js +3 -3
- package/core/classes/GeolocationRequest.js +4 -8
- package/core/collections/AppInitialization.js +6 -4
- package/core/config/ThemeConfigResolver.js +3 -3
- package/core/constants/appFeatures.js +1 -1
- package/core/constants/geolocationRequest.js +1 -1
- package/core/constants/index.js +3 -3
- package/core/contexts/AppContext.js +1 -1
- package/core/helpers/appFeatures.js +9 -21
- package/core/helpers/baseUrl.js +1 -1
- package/core/helpers/getFullImageSource.js +2 -21
- package/core/helpers/i18n.js +5 -10
- package/core/helpers/index.js +3 -3
- package/core/helpers/updateLegacyNavigationBar.js +2 -5
- package/core/hocs/withApp.js +1 -1
- package/core/hocs/withCurrentProduct.js +3 -3
- package/core/hocs/withForwardedRef.js +1 -1
- package/core/hocs/withNavigation.js +1 -1
- package/core/hocs/withRoute.js +1 -1
- package/core/hocs/withTheme.js +3 -42
- package/core/hocs/withWidgetSettings.js +1 -1
- package/core/hocs/withWidgetStyles.js +1 -1
- package/core/hooks/html/useLoadImage.js +1 -1
- package/core/hooks/useTheme.js +2 -38
- package/core/hooks/useWidgetStyles.js +1 -1
- package/core/index.js +11 -5
- package/core/initialization/index.js +4 -19
- package/core/providers/AppProvider.js +9 -9
- package/core/reducers/index.js +1 -1
- package/core/selectors/index.js +1 -1
- package/core/streams/app.js +1 -1
- package/core/streams/index.js +1 -1
- package/core/subscriptions/app.js +3 -4
- package/favorites/components/Item/Item.js +9 -13
- package/favorites/components/Item/ItemCharacteristics.js +2 -2
- package/favorites/components/List/List.js +15 -19
- package/favorites/components/ListChooser/ListChooser.js +2 -2
- package/favorites/components/ListChooser/ListChooserItem.js +5 -4
- package/favorites/components/Lists/Lists.js +13 -17
- package/favorites/components/Lists/ListsModal.js +4 -3
- package/favorites/components/RemoveButton/RemoveButton.js +2 -2
- package/favorites/constants/Portals.js +2 -1
- package/favorites/constants/constants.js +1 -0
- package/favorites/index.js +2 -2
- package/filter/components/FilterItem/index.js +2 -2
- package/filter/components/FilterItem/spec.js +1 -1
- package/filter/components/PriceSlider/components/Label/index.js +3 -3
- package/filter/components/PriceSlider/components/Label/spec.js +1 -1
- package/filter/components/PriceSlider/index.js +8 -8
- package/filter/components/PriceSlider/spec.js +1 -1
- package/filter/components/PriceSlider/style.js +1 -1
- package/filter/helpers/buildFilterParamsForFetchFiltersRequest.js +2 -2
- package/filter/helpers/buildInitialFilters.js +2 -2
- package/filter/helpers/buildUpdatedFilters.js +2 -2
- package/filter/helpers/translateFilterLabel.js +3 -3
- package/filter/index.js +7 -2
- package/orders/index.js +1 -1
- package/package.json +18 -26
- package/page/index.js +4 -2
- package/product/components/Characteristics/Characteristic/components/Sheet/index.js +4 -16
- package/product/components/Characteristics/Characteristic/components/SheetItem/index.js +3 -8
- package/product/components/Characteristics/Characteristic/components/SheetItem/style.js +1 -1
- package/product/components/Characteristics/Characteristic/components/VariantAvailability/connector.js +9 -0
- package/product/components/Characteristics/Characteristic/components/VariantAvailability/index.js +5 -0
- package/product/components/Characteristics/Characteristic/index.js +6 -15
- package/product/components/Characteristics/Characteristic/style.js +1 -1
- package/product/components/Characteristics/Swatch/index.js +6 -8
- package/product/components/Characteristics/index.js +3 -10
- package/product/components/Characteristics/transition.js +1 -1
- package/product/components/Description/index.js +6 -5
- package/product/components/Description/style.js +1 -1
- package/product/components/EffectivityDates/helpers.js +5 -5
- package/product/components/EffectivityDates/index.js +2 -2
- package/product/components/EffectivityDates/style.js +1 -1
- package/product/components/Header/PriceStriked/index.js +5 -2
- package/product/components/Header/PriceStriked/style.js +1 -1
- package/product/components/Header/Shipping/components/Label/index.js +3 -3
- package/product/components/Header/Shipping/components/Label/style.js +1 -1
- package/product/components/Header/Shipping/index.js +1 -1
- package/product/components/Header/Shipping/spec.js +1 -1
- package/product/components/Header/Tiers/components/Tier/index.js +2 -2
- package/product/components/Header/Tiers/components/Tier/spec.js +1 -1
- package/product/components/Header/Tiers/index.js +1 -1
- package/product/components/Header/Tiers/spec.js +1 -1
- package/product/components/MapPriceHint/index.js +1 -1
- package/product/components/Media/FeaturedMedia.js +2 -2
- package/product/components/Media/MediaImage.js +3 -3
- package/product/components/Media/MediaPlaceholder.js +1 -1
- package/product/components/MediaSlider/components/MediaImage/index.js +1 -1
- package/product/components/MediaSlider/components/MediaVideo/index.js +1 -1
- package/product/components/MediaSlider/index.js +4 -4
- package/product/components/Options/components/Content/index.js +8 -8
- package/product/components/Options/components/Content/spec.js +2 -2
- package/product/components/Options/components/Option/index.js +2 -2
- package/product/components/Options/components/TextOption/components/OptionInfo/index.js +3 -3
- package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +1 -1
- package/product/components/Options/components/TextOption/components/OptionInfo/style.js +1 -1
- package/product/components/Options/components/TextOption/index.js +7 -19
- package/product/components/Options/components/TextOption/style.js +1 -1
- package/product/components/Options/index.js +2 -2
- package/product/components/OrderQuantityHint/index.js +2 -3
- package/product/components/OrderQuantityHint/style.js +1 -1
- package/product/components/PriceDifference/index.js +1 -1
- package/product/components/PriceDifference/style.js +1 -1
- package/product/components/ProductBadges/index.js +2 -2
- package/product/components/ProductCard/index.js +3 -12
- package/product/components/ProductCard/style.js +1 -1
- package/product/components/ProductCharacteristics/context.js +1 -1
- package/product/components/ProductCharacteristics/helpers/index.js +1 -1
- package/product/components/ProductCharacteristics/index.js +16 -30
- package/product/components/ProductDiscountBadge/index.js +2 -2
- package/product/components/ProductDiscountBadge/spec.js +2 -2
- package/product/components/ProductDiscountBadge/style.js +1 -1
- package/product/components/ProductGridPrice/index.js +3 -3
- package/product/components/ProductGridPrice/style.js +1 -1
- package/product/components/ProductImage/index.js +13 -17
- package/product/components/ProductImage/spec.js +1 -1
- package/product/components/ProductList/components/Item/index.js +2 -2
- package/product/components/ProductList/components/Iterator/index.js +1 -1
- package/product/components/ProductList/components/Layout/index.js +1 -1
- package/product/components/ProductList/index.js +2 -2
- package/product/components/ProductProperties/Content.js +4 -4
- package/product/components/ProductProperties/Group.js +1 -1
- package/product/components/ProductProperties/GroupedProperties.js +2 -2
- package/product/components/ProductProperties/Lists.js +1 -1
- package/product/components/ProductProperties/ProductProperties.js +2 -2
- package/product/components/ProductProperties/Row.js +1 -1
- package/product/components/ProductProperties/Rows.js +2 -2
- package/product/components/ProductProperties/Wrapper.js +1 -1
- package/product/components/ProductProperties/helpers/getGroupsFromProperties.js +2 -7
- package/product/components/ProductProperties/style.js +1 -1
- package/product/{providers/Product → components/ProductProvider}/index.js +1 -1
- package/product/components/ProductSlider/index.js +2 -3
- package/product/components/ProductSlider/spec.js +1 -1
- package/product/components/QuantityPicker/helpers.js +5 -0
- package/product/components/QuantityPicker/index.js +3 -4
- package/product/components/Rating/index.js +3 -3
- package/product/components/Rating/spec.js +2 -2
- package/product/components/RelationsSlider/RelationsSheet.js +2 -2
- package/product/components/RelationsSlider/RelationsSlider.js +1 -1
- package/product/components/RelationsSlider/RelationsSliderContent.js +1 -1
- package/product/components/RelationsSlider/style.js +1 -1
- package/product/components/Swatch/Swatch.js +1 -1
- package/product/components/Swatch/SwatchContent.js +1 -1
- package/product/components/Swatch/VariantSwatch.js +1 -1
- package/product/components/Swatch/style.js +1 -1
- package/product/components/Swatches/Swatches.js +1 -1
- package/product/components/UnitQuantityPicker/ProductUnitQuantityPicker.js +6 -3
- package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +13 -11
- package/product/components/UnitQuantityPicker/UnitQuantityPickerWithSection.js +2 -5
- package/product/components/UnitQuantityPicker/index.js +1 -1
- package/product/components/context.js +1 -1
- package/product/constants/index.js +1 -2
- package/product/helpers/index.js +2 -2
- package/product/helpers/redirects.js +2 -2
- package/product/hocs/withMapPricing.js +4 -4
- package/product/hocs/withPriceCalculation.js +2 -2
- package/product/hocs/withProductListEntry.js +1 -1
- package/product/hocs/withProductListType.js +1 -1
- package/product/hooks/useLoadProductImage.js +1 -1
- package/product/index.js +11 -4
- package/product/providers/ProductListEntry/context.js +1 -1
- package/product/providers/ProductListEntry/index.js +1 -1
- package/product/providers/ProductListType/context.js +1 -2
- package/product/providers/ProductListType/index.js +1 -2
- package/product/selectors/product.js +6 -75
- package/product/selectors/variants.js +1 -4
- package/push-opt-in/action-creators/pushOptIn.js +1 -2
- package/push-opt-in/actions/pushOptInModal.js +3 -3
- package/push-opt-in/components/PushOptInModal/index.js +6 -3
- package/push-opt-in/components/PushOptInModal/push-opt-in.svg +58 -58
- package/push-opt-in/reducers/optInModal.js +2 -2
- package/push-opt-in/reducers/optInTrigger.js +2 -2
- package/push-opt-in/selectors/optInModal.js +2 -5
- package/push-opt-in/selectors/optInTrigger.js +2 -4
- package/push-opt-in/subscriptions/index.js +1 -1
- package/push-opt-in/subscriptions/optInTrigger.js +6 -6
- package/reviews/components/Reviews/components/AllReviewsLink/index.js +1 -1
- package/reviews/components/Reviews/components/Header/components/AverageRating/index.js +6 -8
- package/reviews/components/Reviews/components/Header/components/NoReviews/index.js +3 -3
- package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/index.js +3 -3
- package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/style.js +1 -1
- package/reviews/components/Reviews/components/Header/components/WriteReviewLink/index.js +3 -3
- package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +2 -2
- package/reviews/components/Reviews/components/Header/index.js +4 -6
- package/reviews/components/Reviews/components/Header/spec.js +2 -2
- package/reviews/components/Reviews/components/List/components/Info/components/Author/index.js +1 -1
- package/reviews/components/Reviews/components/List/components/Info/components/ReviewDate/index.js +1 -1
- package/reviews/components/Reviews/components/List/components/Info/index.js +2 -2
- package/reviews/components/Reviews/components/List/components/Info/style.js +1 -1
- package/reviews/components/Reviews/components/List/components/Rating/index.js +1 -1
- package/reviews/components/Reviews/components/List/components/Review/index.js +1 -1
- package/reviews/components/Reviews/components/List/components/Text/index.js +1 -1
- package/reviews/components/Reviews/components/List/components/Title/index.js +1 -1
- package/reviews/components/Reviews/components/List/index.js +3 -3
- package/reviews/components/Reviews/components/List/spec.js +1 -1
- package/reviews/components/Reviews/components/RatingCount/index.js +1 -1
- package/reviews/components/Reviews/components/RatingCount/spec.js +1 -1
- package/reviews/components/Reviews/components/RatingCount/style.js +1 -1
- package/reviews/components/Reviews/components/ReviewsInfo/index.js +4 -3
- package/reviews/components/Reviews/connector.js +6 -2
- package/reviews/components/Reviews/index.js +1 -1
- package/reviews/components/Reviews/mock.js +6 -2
- package/reviews/components/Reviews/spec.js +3 -4
- package/reviews/index.js +6 -3
- package/scanner/index.js +6 -1
- package/search/index.js +6 -1
- package/tracking/action-creators/cookieConsent.js +2 -2
- package/tracking/actions/cookieConsent.js +5 -17
- package/tracking/components/CookieConsentModal/connector.js +5 -3
- package/tracking/components/CookieConsentModal/index.js +6 -3
- package/tracking/components/CookieConsentModal/tracking-opt-in.svg +14 -14
- package/tracking/components/PrivacySettings/connector.js +5 -3
- package/tracking/components/PrivacySettings/index.js +2 -2
- package/tracking/selectors/cookieConsent.js +5 -10
- package/tracking/streams/cookieConsent.js +3 -10
- package/tracking/subscriptions/analytics.js +4 -5
- package/tracking/subscriptions/cookieConsent.js +10 -6
- package/user/index.js +2 -2
- package/a11y/action-creators/index.js +0 -9
- package/a11y/components/FocusTrap/index.js +0 -1
- package/a11y/components/ModalStateTracker/index.js +0 -14
- package/a11y/constants/index.js +0 -1
- package/a11y/helpers/index.js +0 -1
- package/a11y/hooks/index.js +0 -37
- package/a11y/reducers/index.js +0 -6
- package/a11y/selectors/index.js +0 -8
- package/a11y/styles.js +0 -2
- package/account/actions/addContacts.js +0 -4
- package/account/actions/deleteContact.js +0 -5
- package/account/actions/deleteCustomer.js +0 -4
- package/account/actions/fetchContacts.js +0 -4
- package/account/actions/fetchCustomer.js +0 -4
- package/account/actions/updateContact.js +0 -4
- package/account/actions/updateCustomer.js +0 -4
- package/account/components/Account/Account.connector.js +0 -5
- package/account/components/Account/Account.js +0 -4
- package/account/components/Account/Account.style.js +0 -1
- package/account/components/Account/index.js +0 -1
- package/account/components/Profile/Profile.config.js +0 -11
- package/account/components/Profile/Profile.constraints.js +0 -1
- package/account/components/Profile/Profile.js +0 -1
- package/account/components/Profile/Profile.provider.js +0 -22
- package/account/components/Profile/ProfileAddressBook.js +0 -6
- package/account/components/Profile/ProfileAddressCard.js +0 -3
- package/account/components/Profile/ProfileForm.js +0 -3
- package/account/components/Profile/ProfileHeader.js +0 -3
- package/account/components/Profile/index.js +0 -1
- package/account/components/ProfileContact/ProfileContact.config.js +0 -11
- package/account/components/ProfileContact/ProfileContact.constraints.js +0 -5
- package/account/components/ProfileContact/ProfileContact.js +0 -13
- package/account/components/ProfileContact/index.js +0 -1
- package/account/components/index.js +0 -1
- package/account/constants/actions.js +0 -1
- package/account/constants/pipelines.js +0 -1
- package/account/helper/form.js +0 -61
- package/account/reducers/index.js +0 -6
- package/account/selectors/contacts.js +0 -7
- package/account/selectors/customer.js +0 -7
- package/cart/cart.constants.js +0 -1
- package/cart/cart.context.js +0 -1
- package/cart/cart.helpers.js +0 -15
- package/cart/cart.hooks.js +0 -4
- package/cart/cart.selectors.js +0 -34
- package/cart/cart.types.js +0 -1
- package/cart/components/CartHeaderWide/CartHeaderWide.js +0 -3
- package/cart/components/CartHeaderWide/CartHeaderWide.style.js +0 -1
- package/cart/components/CartHeaderWide/index.js +0 -1
- package/cart/components/CartItem/CartItem.hooks.js +0 -7
- package/cart/components/CartItem/CartItem.js +0 -7
- package/cart/components/CartItem/CartItem.style.js +0 -1
- package/cart/components/CartItem/CartItemCoupon.connector.js +0 -7
- package/cart/components/CartItem/CartItemCoupon.js +0 -20
- package/cart/components/CartItem/CartItemCoupon.style.js +0 -5
- package/cart/components/CartItem/CartItemCoupon.types.js +0 -0
- package/cart/components/CartItem/CartItemCouponCode.js +0 -5
- package/cart/components/CartItem/CartItemCouponDelete.js +0 -5
- package/cart/components/CartItem/CartItemCouponDelete.style.js +0 -1
- package/cart/components/CartItem/CartItemCouponFreeShipping.js +0 -5
- package/cart/components/CartItem/CartItemCouponIcon.js +0 -4
- package/cart/components/CartItem/CartItemCouponLayout.js +0 -6
- package/cart/components/CartItem/CartItemCouponLayout.style.js +0 -5
- package/cart/components/CartItem/CartItemCouponPrice.js +0 -5
- package/cart/components/CartItem/CartItemCouponPrice.style.js +0 -1
- package/cart/components/CartItem/CartItemCouponTitle.js +0 -5
- package/cart/components/CartItem/CartItemCouponTitle.style.js +0 -1
- package/cart/components/CartItem/CartItemProduct.js +0 -5
- package/cart/components/CartItem/CartItemProduct.style.js +0 -1
- package/cart/components/CartItem/CartItemProductLayout.js +0 -6
- package/cart/components/CartItem/CartItemProductLayout.style.js +0 -1
- package/cart/components/CartItem/CartItemProductLayoutWide.js +0 -4
- package/cart/components/CartItem/CartItemProductLayoutWide.style.js +0 -1
- package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.js +0 -4
- package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.style.js +0 -1
- package/cart/components/CartItem/CartItemProductLayoutWideOrderDetails.js +0 -3
- package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +0 -4
- package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.style.js +0 -1
- package/cart/components/CartItem/CartItemProductOrderDetails.js +0 -3
- package/cart/components/CartItem/CartItemProductOrderDetails.style.js +0 -1
- package/cart/components/CartItem/CartItemProductPriceCaption.js +0 -4
- package/cart/components/CartItem/CartItemProductPriceCaption.style.js +0 -1
- package/cart/components/CartItem/CartItemProductPriceList.js +0 -5
- package/cart/components/CartItem/CartItemProductPriceListPromotion.js +0 -10
- package/cart/components/CartItem/CartItemProductProvider.connector.js +0 -9
- package/cart/components/CartItem/CartItemProductProvider.context.js +0 -1
- package/cart/components/CartItem/CartItemProductProvider.js +0 -12
- package/cart/components/CartItem/CartItemProductProvider.types.js +0 -1
- package/cart/components/CartItem/CartItemProductProviderLegacy.js +0 -22
- package/cart/components/CartItem/CartItemProductTitle.js +0 -7
- package/cart/components/CartItem/CartItemProductTitle.style.js +0 -1
- package/cart/components/CartItem/CartItemProvider.connector.js +0 -3
- package/cart/components/CartItem/CartItemProvider.context.js +0 -1
- package/cart/components/CartItem/CartItemProvider.js +0 -5
- package/cart/components/CartItem/CartItemQuantityPicker.js +0 -38
- package/cart/components/CartItem/CartItemQuantityPicker.style.js +0 -1
- package/cart/components/CartItem/CartItemSubstitution.connector.js +0 -5
- package/cart/components/CartItem/CartItemSubstitution.js +0 -5
- package/cart/components/CartItem/CartItemSubstitution.style.js +0 -1
- package/cart/components/CartItem/index.js +0 -1
- package/cart/components/CartItems/CartItem.connector.js +0 -4
- package/cart/components/CartItems/CartItemCard.js +0 -5
- package/cart/components/CartItems/CartItemCard.style.js +0 -1
- package/cart/components/CartItems/CartItemCardReservation.js +0 -5
- package/cart/components/CartItems/CartItemCardReservationAccordion.js +0 -4
- package/cart/components/CartItems/CartItemCardReservationLabel.js +0 -5
- package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +0 -3
- package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.style.js +0 -1
- package/cart/components/CartItems/CartItemGroup.js +0 -5
- package/cart/components/CartItems/CartItemGroup.style.js +0 -1
- package/cart/components/CartItems/CartItemGroupReservation.js +0 -5
- package/cart/components/CartItems/CartItemGroupReservationLabel.js +0 -5
- package/cart/components/CartItems/CartItemGroupShipping.js +0 -4
- package/cart/components/CartItems/CartItems.js +0 -5
- package/cart/components/CartItems/CartItems.style.js +0 -1
- package/cart/components/CartItems/CartItemsHeaderWide.connector.js +0 -3
- package/cart/components/CartItems/CartItemsHeaderWide.js +0 -3
- package/cart/components/CartItems/CartItemsHeaderWide.style.js +0 -1
- package/cart/components/CartItems/CartItemsSubscription.connector.js +0 -5
- package/cart/components/CartItems/CartItemsSubstitution.js +0 -5
- package/cart/components/CartItems/index.js +0 -1
- package/cart/components/CartSummaryWide/CartSummaryWide.connector.js +0 -4
- package/cart/components/CartSummaryWide/CartSummaryWide.js +0 -4
- package/cart/components/CartSummaryWide/CartSummaryWide.style.js +0 -1
- package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.connector.js +0 -5
- package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +0 -4
- package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.style.js +0 -1
- package/cart/components/CartSummaryWide/CartSummaryWideFooter.js +0 -3
- package/cart/components/CartSummaryWide/index.js +0 -1
- package/cart/components/PaymentBar/PaymentBar.js +0 -5
- package/cart/components/PaymentBar/PaymentBarAppliedPromotions.connector.js +0 -5
- package/cart/components/PaymentBar/PaymentBarAppliedPromotions.js +0 -3
- package/cart/components/PaymentBar/PaymentBarCheckoutButton.connector.js +0 -5
- package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +0 -5
- package/cart/components/PaymentBar/PaymentBarCheckoutButton.style.js +0 -1
- package/cart/components/PaymentBar/PaymentBarContent.js +0 -4
- package/cart/components/PaymentBar/PaymentBarContent.style.js +0 -1
- package/cart/components/PaymentBar/PaymentBarDiscounts.connector.js +0 -5
- package/cart/components/PaymentBar/PaymentBarDiscounts.js +0 -4
- package/cart/components/PaymentBar/PaymentBarGrandTotal.connector.js +0 -5
- package/cart/components/PaymentBar/PaymentBarGrandTotal.js +0 -4
- package/cart/components/PaymentBar/PaymentBarPromotionCouponMessages.js +0 -4
- package/cart/components/PaymentBar/PaymentBarPromotionCoupons.connector.js +0 -8
- package/cart/components/PaymentBar/PaymentBarPromotionCoupons.js +0 -3
- package/cart/components/PaymentBar/PaymentBarPromotionalText.js +0 -4
- package/cart/components/PaymentBar/PaymentBarReserveButton.connector.js +0 -1
- package/cart/components/PaymentBar/PaymentBarReserveButton.js +0 -7
- package/cart/components/PaymentBar/PaymentBarShippingCost.connector.js +0 -5
- package/cart/components/PaymentBar/PaymentBarShippingCost.js +0 -3
- package/cart/components/PaymentBar/PaymentBarSubTotal.connector.js +0 -5
- package/cart/components/PaymentBar/PaymentBarSubTotal.js +0 -3
- package/cart/components/PaymentBar/PaymentBarTax.connector.js +0 -5
- package/cart/components/PaymentBar/PaymentBarTax.js +0 -4
- package/cart/components/PaymentBar/index.js +0 -1
- package/cart/components/Substitution/connector.js +0 -5
- package/cart/components/Substitution/index.js +0 -9
- package/cart/components/Substitution/style.js +0 -1
- package/cart/components/SupplementalContent/SupplementalContent.connector.js +0 -4
- package/cart/components/SupplementalContent/SupplementalContent.js +0 -5
- package/cart/components/SupplementalContent/SupplementalContent.styles.js +0 -1
- package/cart/components/SupplementalContent/index.js +0 -1
- package/cart/streams/index.js +0 -1
- package/category/actions/index.js +0 -1
- package/category/components/CategoryImage/connector.js +0 -5
- package/category/components/CategoryImage/index.js +0 -5
- package/category/components/index.js +0 -1
- package/category/constants/index.js +0 -1
- package/category/helpers/index.js +0 -1
- package/category/selectors/index.js +0 -2
- package/category/streams/index.js +0 -1
- package/checkout/action-creators/addCheckoutCampaign.js +0 -5
- package/checkout/action-creators/clearCheckoutCampaign.js +0 -5
- package/checkout/action-creators/clearCheckoutOrder.js +0 -4
- package/checkout/action-creators/index.js +0 -1
- package/checkout/action-creators/validationErrorsCheckout.js +0 -5
- package/checkout/actions/errorCheckout.js +0 -17
- package/checkout/actions/fetchCheckoutOrder.js +0 -4
- package/checkout/actions/fetchPaymentMethods.js +0 -4
- package/checkout/actions/index.js +0 -1
- package/checkout/actions/initializeCheckout.js +0 -4
- package/checkout/actions/prepareCheckout.js +0 -8
- package/checkout/actions/submitCheckoutOrder.js +0 -5
- package/checkout/actions/updateCheckoutOrder.js +0 -5
- package/checkout/components/AddressBook/AddressBook.js +0 -5
- package/checkout/components/AddressBook/AddressList.js +0 -9
- package/checkout/components/AddressBook/index.js +0 -1
- package/checkout/components/AddressBookContact/AddressBookContact.js +0 -5
- package/checkout/components/AddressBookContact/index.js +0 -1
- package/checkout/components/Checkout/Checkout.js +0 -4
- package/checkout/components/Checkout/CheckoutActions.js +0 -4
- package/checkout/components/Checkout/CheckoutAddress.js +0 -6
- package/checkout/components/Checkout/CheckoutHeader.js +0 -4
- package/checkout/components/Checkout/CheckoutPickupContactForm.config.js +0 -8
- package/checkout/components/Checkout/CheckoutPickupContactForm.js +0 -4
- package/checkout/components/Checkout/CheckoutSection.js +0 -4
- package/checkout/components/Checkout/CheckoutSectionInfo.js +0 -4
- package/checkout/components/Checkout/CheckoutSectionMessages.js +0 -4
- package/checkout/components/Checkout/CheckoutSummary.js +0 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.connector.js +0 -3
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +0 -7
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmationBilledTo.js +0 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmationOrderContact.js +0 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmationOrderSummary.js +0 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmationPickUpContact.js +0 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmationPickupNotes.js +0 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmationSection.js +0 -4
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmationShippedTo.js +0 -4
- package/checkout/components/CheckoutConfirmation/index.js +0 -1
- package/checkout/components/GuestCheckout/GuestCheckout.js +0 -4
- package/checkout/components/GuestCheckout/GuestCheckoutOptIn.config.js +0 -4
- package/checkout/components/GuestCheckout/GuestCheckoutOptIn.js +0 -3
- package/checkout/components/GuestCheckout/GuestCheckoutPickup.js +0 -4
- package/checkout/components/GuestCheckout/GuestCheckoutPickupNotes.config.js +0 -4
- package/checkout/components/GuestCheckout/GuestCheckoutPickupNotes.js +0 -4
- package/checkout/components/PaymentMethodButton/PaymentMethodButton.js +0 -5
- package/checkout/components/PaymentMethodButton/index.js +0 -1
- package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +0 -4
- package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.style.js +0 -1
- package/checkout/components/ResponsiveBackButton/index.js +0 -1
- package/checkout/components/ShippingMethods/ShippingMethod.js +0 -5
- package/checkout/components/ShippingMethods/ShippingMethods.js +0 -23
- package/checkout/components/ShippingMethods/connector.js +0 -7
- package/checkout/components/ShippingMethods/index.js +0 -1
- package/checkout/components/SupplementalContent/SupplementalContent.connector.js +0 -4
- package/checkout/components/SupplementalContent/SupplementalContent.js +0 -5
- package/checkout/components/SupplementalContent/SupplementalContent.styles.js +0 -1
- package/checkout/components/SupplementalContent/index.js +0 -1
- package/checkout/components/index.js +0 -1
- package/checkout/constants/actionTypes.js +0 -1
- package/checkout/constants/errorCodes.js +0 -1
- package/checkout/constants/index.js +0 -1
- package/checkout/constants/routes.js +0 -1
- package/checkout/helpers/index.js +0 -34
- package/checkout/hooks/common.js +0 -7
- package/checkout/paymentMethods/context.js +0 -1
- package/checkout/paymentMethods/index.js +0 -28
- package/checkout/paymentMethods/paypal/PaypalButton.js +0 -5
- package/checkout/paymentMethods/paypal/PaypalButtonApp.js +0 -4
- package/checkout/paymentMethods/paypal/PaypalButtonWeb.js +0 -8
- package/checkout/paymentMethods/paypal/PaypalPayButton.js +0 -12
- package/checkout/paymentMethods/paypal/PaypalProvider.js +0 -6
- package/checkout/paymentMethods/paypal/index.js +0 -1
- package/checkout/paymentMethods/paypal/paypal_logo.png +0 -0
- package/checkout/paymentMethods/paypal/sdk.js +0 -9
- package/checkout/paymentMethods/stripe/StripeButton.connector.js +0 -6
- package/checkout/paymentMethods/stripe/StripeButton.js +0 -5
- package/checkout/paymentMethods/stripe/StripeCreditCard.js +0 -10
- package/checkout/paymentMethods/stripe/StripePayButton.js +0 -6
- package/checkout/paymentMethods/stripe/StripeProvider.connector.js +0 -6
- package/checkout/paymentMethods/stripe/StripeProvider.context.js +0 -1
- package/checkout/paymentMethods/stripe/StripeProvider.js +0 -33
- package/checkout/paymentMethods/stripe/applepay.svg +0 -84
- package/checkout/paymentMethods/stripe/googlepay.png +0 -0
- package/checkout/paymentMethods/stripe/index.js +0 -1
- package/checkout/paymentMethods/stripe/sdk.js +0 -9
- package/checkout/providers/AddressBookProvider.context.js +0 -1
- package/checkout/providers/AddressBookProvider.js +0 -11
- package/checkout/providers/CheckoutProvider.connector.js +0 -7
- package/checkout/providers/CheckoutProvider.constraints.js +0 -1
- package/checkout/providers/CheckoutProvider.context.js +0 -1
- package/checkout/providers/CheckoutProvider.js +0 -28
- package/checkout/reducers/index.js +0 -6
- package/checkout/selectors/campaign.js +0 -5
- package/checkout/selectors/guestCheckout.js +0 -5
- package/checkout/selectors/order.js +0 -59
- package/checkout/selectors/payment.js +0 -17
- package/checkout/selectors/route.js +0 -4
- package/checkout/streams/index.js +0 -1
- package/checkout/subscriptions/index.js +0 -3
- package/components/BrandingColorBanner/BrandingColorBanner.js +0 -5
- package/components/BrandingColorBanner/index.js +0 -1
- package/components/ConditionalWrapper/ConditionalWrapper.js +0 -10
- package/components/ConnectedReactPortal/index.js +0 -13
- package/components/Footer/constants.js +0 -1
- package/components/Footer/helpers.js +0 -75
- package/components/Form/Builder/ElementMultiSelect.js +0 -6
- package/components/Form/Builder/ElementPhoneNumber.js +0 -20
- package/components/Form/Builder/FormHelper.js +0 -5
- package/components/Form/Builder/helpers/common.js +0 -6
- package/components/Form/Builder/stylePresets.js +0 -1
- package/components/Logo/connector.js +0 -4
- package/components/Menu/components/Item/index.js +0 -8
- package/components/Menu/components/Item/style.js +0 -4
- package/components/Menu/components/Position/index.js +0 -16
- package/components/Menu/components/Position/style.js +0 -1
- package/components/Menu/index.js +0 -12
- package/components/Menu/style.js +0 -1
- package/components/MessageBar/MessageBar.js +0 -9
- package/components/MessageBar/MessageBar.style.js +0 -11
- package/components/QuantityLabel/QuantityLabel.js +0 -4
- package/components/QuantityLabel/index.js +0 -1
- package/components/Radio/Radio.js +0 -5
- package/components/Radio/index.js +0 -1
- package/components/RadioCard/RadioCard.js +0 -9
- package/components/RadioCard/index.js +0 -1
- package/components/RadioGroup/RadioGroup.context.js +0 -1
- package/components/RadioGroup/RadioGroup.js +0 -4
- package/components/RadioGroup/index.js +0 -1
- package/components/RadioGroup/useRadioGroup.js +0 -4
- package/components/ResponsiveContainer/ResponsiveContainer.js +0 -6
- package/components/ResponsiveContainer/breakpoints.js +0 -14
- package/components/ResponsiveContainer/condition.js +0 -6
- package/components/ResponsiveContainer/hooks.js +0 -20
- package/components/ResponsiveContainer/index.js +0 -1
- package/components/ResponsiveContainer/listener.js +0 -10
- package/components/ResponsiveContainer/mediaQuery.js +0 -8
- package/components/SideNavigation/SideNavigation.hooks.js +0 -4
- package/components/SideNavigation/SideNavigation.js +0 -4
- package/components/SideNavigation/SideNavigationCategories.connector.js +0 -8
- package/components/SideNavigation/SideNavigationCategories.js +0 -4
- package/components/SideNavigation/SideNavigationCategories.style.js +0 -1
- package/components/SideNavigation/SideNavigationCategoriesItem.connector.js +0 -8
- package/components/SideNavigation/SideNavigationCategoriesItem.js +0 -5
- package/components/SideNavigation/SideNavigationCategoriesItem.style.js +0 -2
- package/components/SideNavigation/SideNavigationCategoriesItemChildren.js +0 -5
- package/components/SideNavigation/SideNavigationContent.js +0 -3
- package/components/SideNavigation/SideNavigationContent.style.js +0 -4
- package/components/SideNavigation/SideNavigationItem.js +0 -4
- package/components/SideNavigation/SideNavigationItem.style.js +0 -4
- package/components/SideNavigation/SideNavigationLinks.js +0 -4
- package/components/SideNavigation/SideNavigationLinksLegal.connector.js +0 -4
- package/components/SideNavigation/SideNavigationLinksLegal.js +0 -5
- package/components/SideNavigation/SideNavigationLinksQuicklinks.connector.js +0 -4
- package/components/SideNavigation/SideNavigationLinksQuicklinks.js +0 -5
- package/components/SideNavigation/SideNavigationNestedItem.js +0 -4
- package/components/SideNavigation/SideNavigationProvider.connector.js +0 -8
- package/components/SideNavigation/SideNavigationProvider.context.js +0 -1
- package/components/SideNavigation/SideNavigationProvider.js +0 -4
- package/components/SideNavigation/index.js +0 -1
- package/components/SideNavigation/selectors.js +0 -17
- package/components/Tabs/TabContext.js +0 -7
- package/components/Tabs/components/Tab.js +0 -11
- package/components/Tabs/components/Tab.style.js +0 -1
- package/components/Tabs/components/TabIndicator.js +0 -5
- package/components/Tabs/components/TabIndicator.style.js +0 -1
- package/components/Tabs/components/TabPanel.js +0 -5
- package/components/Tabs/components/Tabs.js +0 -11
- package/components/Tabs/components/Tabs.style.js +0 -2
- package/components/Tabs/debounce.js +0 -11
- package/components/Tabs/index.js +0 -1
- package/components/Tabs/ownerDocument.js +0 -4
- package/components/Tabs/ownerWindow.js +0 -4
- package/components/Tabs/useEventCallback.js +0 -6
- package/components/TextLink/TextLink.js +0 -5
- package/components/TextLink/TextLink.style.js +0 -1
- package/components/Toggle/index.js +0 -5
- package/components/Toggle/style.js +0 -1
- package/core/action-creators/merchantSettings.js +0 -5
- package/core/action-creators/optIns.js +0 -37
- package/core/action-creators/shopSettings.js +0 -9
- package/core/classes/GeolocationRequestApp.js +0 -16
- package/core/classes/GeolocationRequestBrowser.js +0 -8
- package/core/config/config.action-creators.js +0 -12
- package/core/config/config.actions.js +0 -3
- package/core/config/config.constants.js +0 -1
- package/core/config/config.reducers.js +0 -6
- package/core/config/config.selectors.js +0 -39
- package/core/config/config.streams.js +0 -1
- package/core/config/config.subscriptions.js +0 -4
- package/core/config/config.types.js +0 -0
- package/core/config/index.js +0 -1
- package/core/constants/deviceTypes.js +0 -1
- package/core/constants/merchantSettings.js +0 -1
- package/core/constants/optIns.js +0 -1
- package/core/constants/pipelines.js +0 -1
- package/core/constants/shopSettings.js +0 -2
- package/core/contexts/ThemeResourcesContext.d.ts +0 -60
- package/core/contexts/ThemeResourcesContext.js +0 -3
- package/core/contexts/index.js +0 -1
- package/core/events/index.js +0 -1
- package/core/helpers/androidNavigationBar.js +0 -12
- package/core/helpers/appPermissions.js +0 -58
- package/core/helpers/bridge.js +0 -4
- package/core/helpers/deviceType.js +0 -5
- package/core/helpers/environment.js +0 -4
- package/core/helpers/errorBehavior.js +0 -32
- package/core/helpers/featureFlag.js +0 -11
- package/core/helpers/googleMaps.js +0 -8
- package/core/helpers/isIOSTheme.js +0 -4
- package/core/helpers/isTouchDevice.js +0 -4
- package/core/helpers/nl2br.js +0 -1
- package/core/helpers/scrollContainer.js +0 -4
- package/core/helpers/string.js +0 -9
- package/core/helpers/svgToDataUrl.js +0 -9
- package/core/hocs/index.js +0 -1
- package/core/hocs/withThemeResources.js +0 -16
- package/core/hooks/events/index.js +0 -1
- package/core/hooks/events/useLongPress.d.ts +0 -68
- package/core/hooks/events/useLongPress.js +0 -13
- package/core/hooks/events/useScrollDirectionChange.d.ts +0 -74
- package/core/hooks/events/useScrollDirectionChange.js +0 -18
- package/core/hooks/index.js +0 -1
- package/core/hooks/layout/index.js +0 -1
- package/core/hooks/layout/useElementSize.d.ts +0 -46
- package/core/hooks/layout/useElementSize.js +0 -18
- package/core/hooks/useAsyncMemo.js +0 -12
- package/core/hooks/useFormState.js +0 -27
- package/core/hooks/usePrevious.js +0 -2
- package/core/hooks/useScrollTo.js +0 -5
- package/core/hooks/useThemeResources.js +0 -21
- package/core/providers/ThemeResourcesProvider.js +0 -15
- package/core/providers/index.js +0 -1
- package/core/reducers/merchantSettings.js +0 -6
- package/core/reducers/shopSettings.js +0 -6
- package/core/selectors/merchantSettings.js +0 -10
- package/core/selectors/shopSettings.js +0 -25
- package/core/streams/optIns.js +0 -13
- package/core/validation/index.js +0 -1
- package/core/validation/validation.hooks.js +0 -4
- package/core/validation/validation.js +0 -12
- package/development/action-creators/index.js +0 -1
- package/development/action-creators/settings.js +0 -9
- package/development/action-creators/storage.js +0 -6
- package/development/components/DevelopmentTools/DevelopmentTools.js +0 -6
- package/development/components/DevelopmentTools/Shortcuts.js +0 -4
- package/development/components/DevelopmentTools/hooks.js +0 -8
- package/development/components/DevelopmentTools/index.js +0 -1
- package/development/components/SimulatedInsets/SimulatedInsetBottom.js +0 -7
- package/development/components/SimulatedInsets/SimulatedInsetTop.js +0 -12
- package/development/components/SimulatedInsets/SimulatedInsets.js +0 -6
- package/development/components/SimulatedInsets/index.js +0 -1
- package/development/components/index.js +0 -1
- package/development/constants/actionTypes.js +0 -1
- package/development/constants/index.js +0 -1
- package/development/reducers/index.js +0 -1
- package/development/reducers/settings.js +0 -10
- package/development/reducers/storage.js +0 -9
- package/development/selectors/index.js +0 -1
- package/development/selectors/settings.js +0 -21
- package/development/selectors/storage.js +0 -16
- package/development/streams/index.js +0 -1
- package/development/streams/insets.js +0 -4
- package/development/subscriptions/index.js +0 -6
- package/favorites/components/CommentDialog/CommentDialog.js +0 -12
- package/favorites/components/CommentDialog/index.js +0 -1
- package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +0 -8
- package/favorites/components/FavoriteButtonWide/index.js +0 -1
- package/favorites/components/Item/ItemNotes.js +0 -7
- package/favorites/components/Item/ItemQuantity.js +0 -7
- package/favorites/components/ItemFulfillmentMethod/ItemFulfillmentMethod.js +0 -4
- package/favorites/components/ItemFulfillmentMethod/index.js +0 -1
- package/favorites/components/List/ListAccordionHeader.js +0 -8
- package/favorites/components/List/ListAccordionLabel.js +0 -5
- package/favorites/components/List/ListContent.js +0 -8
- package/favorites/components/List/ListItemWrapper.js +0 -6
- package/favorites/components/List/styles.js +0 -1
- package/favorites/constants/index.js +0 -1
- package/filter/actions/index.js +0 -1
- package/filter/components/FilterPageContent/components/ApplyButton/index.js +0 -7
- package/filter/components/FilterPageContent/components/ApplyButton/spec.js +0 -1
- package/filter/components/FilterPageContent/components/ApplyButton/style.js +0 -1
- package/filter/components/FilterPageContent/components/ResetButton/index.js +0 -7
- package/filter/components/FilterPageContent/components/ResetButton/spec.js +0 -1
- package/filter/components/FilterPageContent/components/ResetButton/style.js +0 -1
- package/filter/components/FilterPageContent/components/Selector/components/Selected/index.js +0 -7
- package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +0 -1
- package/filter/components/FilterPageContent/components/Selector/components/Selected/style.js +0 -1
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +0 -7
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +0 -1
- package/filter/components/FilterPageContent/components/Selector/components/Toggle/style.js +0 -1
- package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +0 -7
- package/filter/components/FilterPageContent/components/Selector/components/ValueButton/spec.js +0 -1
- package/filter/components/FilterPageContent/components/Selector/components/ValueButton/style.js +0 -1
- package/filter/components/FilterPageContent/components/Selector/index.js +0 -19
- package/filter/components/FilterPageContent/components/Selector/spec.js +0 -1
- package/filter/components/FilterPageContent/components/Selector/style.js +0 -1
- package/filter/components/FilterPageContent/index.js +0 -6
- package/filter/components/FilterPageContentWithProvider/index.js +0 -16
- package/filter/components/index.js +0 -1
- package/filter/constants/index.js +0 -1
- package/filter/constants/sort.js +0 -11
- package/filter/helpers/index.js +0 -1
- package/filter/hocs/index.js +0 -1
- package/filter/hocs/withSort.js +0 -16
- package/filter/hooks/filterPage.js +0 -5
- package/filter/hooks/index.js +0 -4
- package/filter/providers/FilterPageProvider.context.js +0 -54
- package/filter/providers/FilterPageProvider.js +0 -98
- package/filter/providers/SortProvider.connector.js +0 -3
- package/filter/providers/SortProvider.context.js +0 -1
- package/filter/providers/SortProvider.helpers.js +0 -8
- package/filter/providers/SortProvider.js +0 -6
- package/filter/providers/index.js +0 -1
- package/filter/selectors/index.js +0 -17
- package/filter/streams/index.js +0 -1
- package/i18n/countries.helpers.js +0 -6
- package/i18n/countries.hooks.js +0 -6
- package/i18n/index.js +0 -1
- package/i18n/locale/cs-cz/countries.json +0 -255
- package/i18n/locale/de-de/countries.json +0 -255
- package/i18n/locale/el-gr/countries.json +0 -255
- package/i18n/locale/en-us/countries.json +0 -255
- package/i18n/locale/es-es/countries.json +0 -255
- package/i18n/locale/fi-fi/countries.json +0 -255
- package/i18n/locale/fr-fr/countries.json +0 -255
- package/i18n/locale/hu-hu/countries.json +0 -255
- package/i18n/locale/it-it/countries.json +0 -255
- package/i18n/locale/nl-nl/countries.json +0 -255
- package/i18n/locale/pl-pl/countries.json +0 -255
- package/i18n/locale/pt-pt/countries.json +0 -255
- package/i18n/locale/ro-ro/countries.json +0 -255
- package/i18n/locale/sv-se/countries.json +0 -255
- package/locations/action-creators/errorInventories.js +0 -7
- package/locations/action-creators/errorLocations.js +0 -6
- package/locations/action-creators/errorProductInventories.js +0 -7
- package/locations/action-creators/errorProductLocations.js +0 -6
- package/locations/action-creators/index.js +0 -1
- package/locations/action-creators/provideProductAlternativeLocation.js +0 -5
- package/locations/action-creators/receiveInventories.js +0 -5
- package/locations/action-creators/receiveLocations.js +0 -6
- package/locations/action-creators/receiveProductInventories.js +0 -7
- package/locations/action-creators/receiveProductLocations.js +0 -7
- package/locations/action-creators/requestInventories.js +0 -6
- package/locations/action-creators/requestLocations.js +0 -5
- package/locations/action-creators/requestProductInventories.js +0 -6
- package/locations/action-creators/requestProductLocations.js +0 -5
- package/locations/action-creators/selectGlobalLocation.js +0 -5
- package/locations/action-creators/selectLocation.js +0 -6
- package/locations/action-creators/setStoreFinderSearchRadius.js +0 -5
- package/locations/action-creators/setUserGeolocation.js +0 -5
- package/locations/action-creators/setUserSearchCountryCode.js +0 -7
- package/locations/action-creators/setUserSearchGeolocation.js +0 -8
- package/locations/action-creators/setUserSearchPostalCode.js +0 -7
- package/locations/action-creators/storeFormInput.js +0 -5
- package/locations/action-creators/storeFulfillmentMethod.js +0 -5
- package/locations/action-creators/submitReservationError.js +0 -5
- package/locations/action-creators/submitReservationRequest.js +0 -5
- package/locations/action-creators/submitReservationSuccess.js +0 -5
- package/locations/actions/fetchDefaultLocation.js +0 -4
- package/locations/actions/fetchFulfillmentSlots.js +0 -6
- package/locations/actions/fetchInventories.js +0 -6
- package/locations/actions/fetchLocations.js +0 -19
- package/locations/actions/fetchProductInventories.js +0 -7
- package/locations/actions/fetchProductLocations.js +0 -12
- package/locations/actions/index.js +0 -5
- package/locations/actions/sendDefaultLocationCode.js +0 -6
- package/locations/actions/setUserGeolocation.js +0 -1
- package/locations/actions/setUserSearchGeolocation.js +0 -1
- package/locations/actions/submitReservation.js +0 -5
- package/locations/assets/leaflet.css +0 -765
- package/locations/components/Cart/CartChangeFulfillmentMethod.connector.js +0 -4
- package/locations/components/Cart/CartChangeFulfillmentMethod.js +0 -8
- package/locations/components/Cart/CartChangeFulfillmentMethod.types.js +0 -0
- package/locations/components/Cart/CartContextMenuChangeFulfillment.js +0 -6
- package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.js +0 -5
- package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.style.js +0 -1
- package/locations/components/Cart/CartContextMenuItemChangeFulfillment.connector.js +0 -4
- package/locations/components/Cart/CartContextMenuItemChangeFulfillment.js +0 -6
- package/locations/components/Cart/CartContextMenuItemChangeLocation.js +0 -7
- package/locations/components/Cart/CartItemProductChangeLocation.connector.js +0 -5
- package/locations/components/Cart/CartItemProductChangeLocation.js +0 -11
- package/locations/components/Cart/CartItemProductChangeLocation.types.js +0 -0
- package/locations/components/Cart/index.js +0 -1
- package/locations/components/ChangeLocationButton/ChangeLocationButton.js +0 -4
- package/locations/components/ChangeLocationButton/ChangeLocationButton.style.js +0 -2
- package/locations/components/ChangeLocationButton/index.js +0 -1
- package/locations/components/FulfillmentPath/FulfillmentPath.js +0 -4
- package/locations/components/FulfillmentPath/FulfillmentPath.style.js +0 -2
- package/locations/components/FulfillmentPath/FulfillmentPathItem.js +0 -6
- package/locations/components/FulfillmentPath/index.js +0 -1
- package/locations/components/FulfillmentPathSelector/FulfillmentPathSelector.js +0 -14
- package/locations/components/FulfillmentPathSelector/FulfillmentPathSelector.style.js +0 -1
- package/locations/components/FulfillmentPathSelector/index.js +0 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelector.connector.js +0 -9
- package/locations/components/FulfillmentSelector/FulfillmentSelector.context.js +0 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelector.hooks.js +0 -3
- package/locations/components/FulfillmentSelector/FulfillmentSelector.js +0 -20
- package/locations/components/FulfillmentSelector/FulfillmentSelector.style.js +0 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelector.types.js +0 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelectorAddToCart.js +0 -10
- package/locations/components/FulfillmentSelector/FulfillmentSelectorAlternativeLocation.js +0 -8
- package/locations/components/FulfillmentSelector/FulfillmentSelectorBOPIS.js +0 -4
- package/locations/components/FulfillmentSelector/FulfillmentSelectorDirectShip.js +0 -5
- package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.js +0 -4
- package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.style.js +0 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.js +0 -4
- package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.style.js +0 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.js +0 -8
- package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.style.js +0 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.js +0 -4
- package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.style.js +0 -1
- package/locations/components/FulfillmentSelector/FulfillmentSelectorLocationMethodNotAvailable.js +0 -3
- package/locations/components/FulfillmentSelector/FulfillmentSelectorROPIS.js +0 -4
- package/locations/components/FulfillmentSelector/index.js +0 -1
- package/locations/components/FulfillmentSheet/FulfillmentSheet.js +0 -6
- package/locations/components/FulfillmentSheet/FulfillmentSheet.style.js +0 -1
- package/locations/components/FulfillmentSheet/FulfillmentSheetContent.js +0 -6
- package/locations/components/FulfillmentSheet/index.js +0 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +0 -28
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.connector.js +0 -8
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.context.js +0 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.js +0 -9
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.connector.js +0 -4
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +0 -4
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +0 -3
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.style.js +0 -1
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +0 -3
- package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.style.js +0 -1
- package/locations/components/FulfillmentSlotSwitcher/index.js +0 -1
- package/locations/components/FulfillmentSlotSwitcher/time.js +0 -5
- package/locations/components/GlobalLocationSelector/GlobalLocationSelector.js +0 -16
- package/locations/components/GlobalLocationSelector/index.js +0 -1
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.connector.js +0 -8
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.js +0 -3
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +0 -3
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.style.js +0 -1
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +0 -3
- package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.style.js +0 -1
- package/locations/components/GlobalLocationSwitcher/index.js +0 -1
- package/locations/components/ReservationResponses/ReservationError.js +0 -4
- package/locations/components/ReservationResponses/ReservationResponse.style.js +0 -1
- package/locations/components/ReservationResponses/ReservationSuccess.js +0 -4
- package/locations/components/ReservationResponses/index.js +0 -1
- package/locations/components/ReserveForm/ReserveForm.constraints.js +0 -1
- package/locations/components/ReserveForm/ReserveForm.js +0 -10
- package/locations/components/ReserveForm/ReserveForm.style.js +0 -1
- package/locations/components/ReserveForm/ReserveFormPhone.connector.js +0 -3
- package/locations/components/ReserveForm/ReserveFormPhone.js +0 -5
- package/locations/components/ReserveForm/ReserveFormPhone.types.js +0 -0
- package/locations/components/ReserveForm/index.js +0 -1
- package/locations/components/StockInfo/StockInfo.defaultSettings.js +0 -1
- package/locations/components/StockInfo/StockInfo.js +0 -8
- package/locations/components/StockInfo/StockInfoInventory.js +0 -9
- package/locations/components/StockInfo/index.js +0 -1
- package/locations/components/StockInfoLists/index.js +0 -9
- package/locations/components/StoreDetails/components/FindMoreStores.js +0 -4
- package/locations/components/StoreDetails/components/GetDirectionsButton.js +0 -7
- package/locations/components/StoreDetails/components/StoreDetails.js +0 -5
- package/locations/components/StoreDetails/components/StoreFinderMap.js +0 -20
- package/locations/components/StoreDetails/components/StoreFinderMap.style.js +0 -1
- package/locations/components/StoreDetails/components/StoreLocationMap.js +0 -4
- package/locations/components/StoreDetails/components/StoresNearby.js +0 -4
- package/locations/components/StoreDetails/components/StoresNearbyListItem.js +0 -9
- package/locations/components/StoreDetails/index.js +0 -4
- package/locations/components/StoreFinder/Store.context.js +0 -1
- package/locations/components/StoreFinder/StoreFinder.js +0 -3
- package/locations/components/StoreFinder/StoreFinder.style.js +0 -1
- package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.connector.js +0 -4
- package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +0 -4
- package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.style.js +0 -1
- package/locations/components/StoreFinder/StoreFinderLocation.js +0 -3
- package/locations/components/StoreFinder/StoreFinderLocation.style.js +0 -1
- package/locations/components/StoreFinder/StoreFinderLocationDetails.js +0 -3
- package/locations/components/StoreFinder/StoreFinderLocationDetails.style.js +0 -1
- package/locations/components/StoreFinder/StoreFinderLocationHeader.js +0 -3
- package/locations/components/StoreFinder/StoreFinderLocationHeader.style.js +0 -1
- package/locations/components/StoreFinder/StoreFinderLocationHeaderPhoneNumber.js +0 -4
- package/locations/components/StoreFinder/StoreFinderLocations.js +0 -5
- package/locations/components/StoreFinder/StoreFinderLocations.style.js +0 -1
- package/locations/components/StoreFinder/StoreFinderSearch.js +0 -3
- package/locations/components/StoreFinder/StoreFinderSearch.style.js +0 -1
- package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +0 -5
- package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +0 -8
- package/locations/components/StoreFinder/index.js +0 -1
- package/locations/components/StoreList/Store.context.js +0 -1
- package/locations/components/StoreList/Store.style.js +0 -1
- package/locations/components/StoreList/StoreAddress.js +0 -7
- package/locations/components/StoreList/StoreAddressShort.js +0 -7
- package/locations/components/StoreList/StoreCard.js +0 -4
- package/locations/components/StoreList/StoreDetails.js +0 -4
- package/locations/components/StoreList/StoreDetailsLine.js +0 -8
- package/locations/components/StoreList/StoreDistance.js +0 -7
- package/locations/components/StoreList/StoreHeader.js +0 -4
- package/locations/components/StoreList/StoreHoursToday.js +0 -7
- package/locations/components/StoreList/StoreList.js +0 -4
- package/locations/components/StoreList/StoreListLocations.js +0 -4
- package/locations/components/StoreList/StoreListProduct.js +0 -4
- package/locations/components/StoreList/StoreListProduct.style.js +0 -1
- package/locations/components/StoreList/StoreListProductInfo.js +0 -4
- package/locations/components/StoreList/StoreListProductName.js +0 -4
- package/locations/components/StoreList/StoreListSearch.connector.js +0 -7
- package/locations/components/StoreList/StoreListSearch.js +0 -23
- package/locations/components/StoreList/StoreListSearch.style.js +0 -1
- package/locations/components/StoreList/StoreListSearchRadius.connector.js +0 -7
- package/locations/components/StoreList/StoreListSearchRadius.js +0 -4
- package/locations/components/StoreList/StoreListSearchRadius.style.js +0 -1
- package/locations/components/StoreList/StoreOpeningHours.js +0 -7
- package/locations/components/StoreList/StoreOpeningHoursLine.js +0 -7
- package/locations/components/StoreList/StorePhoneNumber.js +0 -6
- package/locations/components/StoreList/StoreSelectLocationButton.js +0 -4
- package/locations/components/StoreList/index.js +0 -1
- package/locations/components/index.js +0 -1
- package/locations/constants/ActionTypes.js +0 -10
- package/locations/constants/Pipelines.js +0 -1
- package/locations/constants/Portals.js +0 -2
- package/locations/constants/Stages.js +0 -1
- package/locations/constants/index.js +0 -7
- package/locations/constants/routes.js +0 -1
- package/locations/helpers/createOrder.js +0 -28
- package/locations/helpers/formatDistance.js +0 -9
- package/locations/helpers/getAvailabilitySettings.js +0 -12
- package/locations/helpers/index.js +0 -1
- package/locations/helpers/productInventory.js +0 -7
- package/locations/helpers/showInventoryInLists.js +0 -7
- package/locations/index.js +0 -9
- package/locations/locations.context.js +0 -1
- package/locations/locations.hooks.js +0 -4
- package/locations/locations.streams.js +0 -1
- package/locations/locations.types.js +0 -1
- package/locations/providers/FulfillmentProvider.connector.js +0 -10
- package/locations/providers/FulfillmentProvider.js +0 -49
- package/locations/providers/FulfillmentProvider.types.js +0 -1
- package/locations/providers/StoreDetailsContext.js +0 -1
- package/locations/providers/StoreDetailsProvider.js +0 -4
- package/locations/providers/StoreFinder.connector.js +0 -3
- package/locations/providers/StoreFinderProvider.js +0 -7
- package/locations/providers/index.js +0 -1
- package/locations/reducers/index.js +0 -1
- package/locations/reducers/storage.js +0 -24
- package/locations/reducers/storeFinderSearch.js +0 -6
- package/locations/reducers/user.js +0 -5
- package/locations/reducers/userFormInput.js +0 -8
- package/locations/reducers/userSearch.js +0 -6
- package/locations/selectors/index.js +0 -145
- package/locations/subscriptions.js +0 -27
- package/login/action-creators/index.js +0 -1
- package/login/action-creators/resetPassword.js +0 -14
- package/login/actions/index.js +0 -1
- package/login/actions/resetPassword.js +0 -5
- package/login/components/ForgotPassword/ForgotPassword.connector.js +0 -5
- package/login/components/ForgotPassword/ForgotPassword.js +0 -5
- package/login/components/ForgotPassword/ForgotPassword.style.js +0 -1
- package/login/components/ForgotPassword/index.js +0 -1
- package/login/constants/actions.js +0 -1
- package/login/constants/index.js +0 -1
- package/login/constants/pipelines.js +0 -1
- package/login/constants/routes.js +0 -1
- package/login/index.js +0 -1
- package/orders/action-creators/index.js +0 -1
- package/orders/action-creators/orderDetails.js +0 -22
- package/orders/action-creators/orders.js +0 -21
- package/orders/actions/cancelOrder.js +0 -8
- package/orders/actions/fetchOrderDetails.js +0 -10
- package/orders/actions/fetchOrderHistory.js +0 -7
- package/orders/actions/index.js +0 -1
- package/orders/components/OrderDetails/OrderDetails.js +0 -4
- package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +0 -3
- package/orders/components/OrderDetails/OrderDetailsAuthenticate.style.js +0 -1
- package/orders/components/OrderDetails/OrderDetailsAuthenticateForm.config.js +0 -8
- package/orders/components/OrderDetails/OrderDetailsContent.js +0 -3
- package/orders/components/OrderDetails/OrderDetailsContent.style.js +0 -1
- package/orders/components/OrderDetails/OrderDetailsOrder.js +0 -4
- package/orders/components/OrderDetails/OrderDetailsOrder.style.js +0 -1
- package/orders/components/OrderDetails/OrderDetailsOrderHeader.js +0 -4
- package/orders/components/OrderDetails/OrderDetailsOrderHeader.style.js +0 -1
- package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.connector.js +0 -3
- package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.js +0 -4
- package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.style.js +0 -1
- package/orders/components/OrderDetails/index.js +0 -1
- package/orders/components/OrderHistory/OrderHistory.js +0 -4
- package/orders/components/OrderHistory/OrderHistory.style.js +0 -1
- package/orders/components/OrderHistory/OrderHistoryList.js +0 -9
- package/orders/components/OrderHistory/OrderHistoryList.style.js +0 -1
- package/orders/components/OrderHistory/OrderHistoryLoader.js +0 -4
- package/orders/components/OrderHistory/OrderHistoryTable.js +0 -9
- package/orders/components/OrderHistory/OrderHistoryTable.style.js +0 -1
- package/orders/components/OrderHistory/index.js +0 -1
- package/orders/components/index.js +0 -1
- package/orders/constants/actionTypes.js +0 -1
- package/orders/constants/index.js +0 -1
- package/orders/constants/pipelines.js +0 -1
- package/orders/constants/routes.js +0 -1
- package/orders/constants/status.js +0 -12
- package/orders/helpers/index.js +0 -1
- package/orders/helpers/orderDetails.js +0 -5
- package/orders/helpers/orderStatus.js +0 -15
- package/orders/hooks/index.js +0 -7
- package/orders/providers/OrderDetailsPrivateProvider.connector.js +0 -11
- package/orders/providers/OrderDetailsPrivateProvider.js +0 -5
- package/orders/providers/OrderDetailsProvider.connector.js +0 -11
- package/orders/providers/OrderDetailsProvider.constraints.js +0 -1
- package/orders/providers/OrderDetailsProvider.context.js +0 -1
- package/orders/providers/OrderDetailsProvider.js +0 -11
- package/orders/providers/OrderHistoryProvider.connector.js +0 -9
- package/orders/providers/OrderHistoryProvider.context.js +0 -1
- package/orders/providers/OrderHistoryProvider.js +0 -4
- package/orders/reducers/index.js +0 -1
- package/orders/reducers/orders.js +0 -7
- package/orders/reducers/ordersById.js +0 -7
- package/orders/reducers/ordersByNumber.js +0 -7
- package/orders/selectors/index.js +0 -27
- package/orders/subscriptions/index.js +0 -4
- package/page/actions/index.js +0 -1
- package/page/components/NotFound.js +0 -3
- package/page/components/index.js +0 -1
- package/page/selectors/index.js +0 -7
- package/product/collections/index.js +0 -1
- package/product/components/Availability/Availability.connector.js +0 -5
- package/product/components/Availability/Availability.js +0 -6
- package/product/components/Availability/Availability.style.js +0 -1
- package/product/components/Availability/index.js +0 -1
- package/product/components/Header/index.js +0 -1
- package/product/components/PriceInfo/PriceInfo.connector.js +0 -4
- package/product/components/PriceInfo/PriceInfo.js +0 -4
- package/product/components/PriceInfo/index.js +0 -1
- package/product/components/ProductImage/ProductImagePlaceholder.js +0 -5
- package/product/components/ProductImage/connector.js +0 -5
- package/product/components/ProductName/ProductName.js +0 -4
- package/product/components/ProductName/ProductNameContent.js +0 -4
- package/product/components/ProductName/index.js +0 -1
- package/product/components/ProductProperties/ListsHTML.js +0 -5
- package/product/components/ProductProperties/RowHTML.js +0 -5
- package/product/components/ProductVariants/VariantAvailability.connector.js +0 -5
- package/product/components/ProductVariants/VariantAvailability.js +0 -5
- package/product/components/ProductVariants/index.js +0 -1
- package/product/components/QuantityPicker/hooks.js +0 -5
- package/product/components/UnitQuantityPicker/CartUnitQuantityPicker.js +0 -4
- package/product/components/UnitQuantityPicker/styles.js +0 -1
- package/product/components/index.js +0 -1
- package/product/contexts/index.js +0 -1
- package/product/hocs/index.js +0 -1
- package/product/hocs/withProduct.js +0 -6
- package/product/hocs/withProductListEntryProduct.js +0 -12
- package/product/hooks/index.js +0 -1
- package/product/product.types.js +0 -0
- package/product/providers/index.js +0 -1
- package/product/streams/index.js +0 -1
- package/push-opt-in/subscriptions/optInTracking.js +0 -4
- package/registration/action-creators/index.js +0 -18
- package/registration/actions/index.js +0 -1
- package/registration/actions/submitRegistration.js +0 -4
- package/registration/components/GuestRegistration/GuestRegistration.js +0 -4
- package/registration/components/GuestRegistration/GuestRegistrationContent.js +0 -4
- package/registration/components/GuestRegistration/GuestRegistrationFormPickup.config.js +0 -8
- package/registration/components/GuestRegistration/GuestRegistrationFormPickup.js +0 -4
- package/registration/components/Registration/Registration.js +0 -4
- package/registration/components/Registration/RegistrationContent.js +0 -4
- package/registration/components/Registration/RegistrationContent.style.js +0 -2
- package/registration/components/Registration/RegistrationFormActions.js +0 -5
- package/registration/components/Registration/RegistrationFormBase.config.js +0 -4
- package/registration/components/Registration/RegistrationFormBase.js +0 -4
- package/registration/components/Registration/RegistrationFormBilling.config.js +0 -5
- package/registration/components/Registration/RegistrationFormBilling.js +0 -5
- package/registration/components/Registration/RegistrationFormExtra.config.js +0 -5
- package/registration/components/Registration/RegistrationFormExtra.js +0 -5
- package/registration/components/Registration/RegistrationFormShipping.config.js +0 -5
- package/registration/components/Registration/RegistrationFormShipping.js +0 -5
- package/registration/components/Registration/RegistrationFormToggle.js +0 -4
- package/registration/components/index.js +0 -1
- package/registration/constants/actionTypes.js +0 -1
- package/registration/constants/index.js +0 -1
- package/registration/constants/pipelines.js +0 -1
- package/registration/hooks/index.js +0 -5
- package/registration/index.js +0 -2
- package/registration/providers/GuestRegistrationProvider.actions.js +0 -4
- package/registration/providers/GuestRegistrationProvider.connector.js +0 -7
- package/registration/providers/GuestRegistrationProvider.constraints.js +0 -18
- package/registration/providers/GuestRegistrationProvider.context.js +0 -1
- package/registration/providers/GuestRegistrationProvider.js +0 -22
- package/registration/providers/RegistrationProvider.actions.js +0 -8
- package/registration/providers/RegistrationProvider.connector.js +0 -6
- package/registration/providers/RegistrationProvider.constraints.js +0 -27
- package/registration/providers/RegistrationProvider.context.js +0 -1
- package/registration/providers/RegistrationProvider.js +0 -17
- package/registration/streams/index.js +0 -4
- package/registration/subscriptions/index.js +0 -5
- package/reviews/actions/index.js +0 -1
- package/reviews/components/index.js +0 -1
- package/reviews/constants/index.js +0 -1
- package/reviews/selectors/index.js +0 -1
- package/reviews/streams/index.js +0 -1
- package/scanner/action-creators/index.js +0 -1
- package/scanner/actions/index.js +0 -1
- package/scanner/classes/index.js +0 -1
- package/scanner/constants/index.js +0 -1
- package/scanner/helpers/index.js +0 -1
- package/scanner/streams/index.js +0 -1
- package/search/actions/index.js +0 -1
- package/search/constants/index.js +0 -1
- package/search/helpers/index.js +0 -1
- package/search/selectors/index.js +0 -1
- package/search/streams/index.js +0 -1
- package/styles/helpers/cssCustomProperties.js +0 -16
- package/styles/helpers/index.js +0 -1
- package/styles/helpers/initCSSCustomProperties.js +0 -10
- package/styles/helpers/loadCustomStyles.js +0 -6
- package/styles/helpers/setPageBackgroundColor.js +0 -5
- package/styles/helpers/setPageContentWidth.js +0 -5
- package/styles/helpers/setViewportHeight.js +0 -3
- package/styles/helpers/toggleBodyScroll.js +0 -5
- package/styles/helpers/updatePageInsets.js +0 -15
- package/styles/index.js +0 -1
- package/styles/reset/form.js +0 -8
- package/styles/reset/index.js +0 -1
- package/styles/reset/media.js +0 -1
- package/styles/reset/root.js +0 -3
- package/styles/reset/table.js +0 -1
- package/styles/reset/typography.js +0 -1
- package/tracking/helpers/index.js +0 -1
- package/types.js +0 -0
- package/user/selectors/data.js +0 -10
- /package/product/components/{ProductVariants/VariantAvailability.style.js → Characteristics/Characteristic/components/VariantAvailability/style.js} +0 -0
- /package/product/{providers/Product → components/ProductProvider}/connector.js +0 -0
package/core/reducers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{default as app}from"./app";
|
package/core/selectors/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export*from"./app";// --------------- CLIENT --------------- //
|
|
2
2
|
export*from'@shopgate/pwa-common/selectors/client';// --------------- ROUTER --------------- //
|
|
3
3
|
export*from'@shopgate/pwa-common/selectors/router';export*from'@shopgate/pwa-common/selectors/history';// --------------- URL --------------- //
|
|
4
4
|
export*from'@shopgate/pwa-common/selectors/url';// --------------- MENU --------------- //
|
package/core/streams/app.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _toArray(arr){return _arrayWithHoles(arr)||_iterableToArray(arr)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _toArray(arr){return _arrayWithHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import{Observable}from'rxjs/Observable';import{ACTION_RESET}from'@virtuous/conductor';import{main$}from'@shopgate/pwa-common/streams/main';import{routeDidEnter$}from'@shopgate/pwa-common/streams';import{routeDidEnter}from'@shopgate/pwa-common/action-creators';import{getRouterStack}from'@shopgate/engage/core/selectors';import{RELOAD_APP}from"../constants";import{historyReset}from"../actions";/**
|
|
2
2
|
* Gets triggered when the app is supposed to be reloaded
|
|
3
3
|
* @type {Observable}
|
|
4
4
|
*/export var reloadApp$=main$.filter(function(_ref){var action=_ref.action;return action.type===RELOAD_APP;}).switchMap(function(params){var dispatch=params.dispatch,getState=params.getState;var _getRouterStack=getRouterStack(getState()),_getRouterStack2=_toArray(_getRouterStack),initialRoute=_getRouterStack2[0],otherRoutes=_getRouterStack2.slice(1);if(!otherRoutes.length){// When the initial route is the only route inside the router stack, routeDidEnter$ will
|
package/core/streams/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export*from"./app";export*from"./appPermissions";export*from
|
|
1
|
+
export*from"./app";export*from"./appPermissions";export*from'@shopgate/pwa-common/streams/main';export*from'@shopgate/pwa-common/streams/error';// --------------- APP --------------- //
|
|
2
2
|
export*from'@shopgate/pwa-common/streams/app';// --------------- CLIENT --------------- //
|
|
3
3
|
export*from'@shopgate/pwa-common/streams/client';// --------------- ROUTER --------------- //
|
|
4
4
|
export*from'@shopgate/pwa-common/streams/router';
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import{appWillStart$}from'@shopgate/
|
|
1
|
+
import{appWillStart$}from'@shopgate/pwa-common/streams';import{configuration}from'@shopgate/engage/core/collections';import{CONFIGURATION_COLLECTION_KEY_BASE_URL}from'@shopgate/engage/core/constants';import{reloadApp$}from"../streams";import{reloadApp}from"../action-creators";/**
|
|
2
2
|
* App subscriptions
|
|
3
3
|
* @param {Function} subscribe The subscribe function
|
|
4
|
-
*/export default function app(subscribe){subscribe(appWillStart$,function(_ref){var dispatch=_ref.dispatch
|
|
5
|
-
window.reloadSGApp=function(){dispatch(reloadApp());};
|
|
6
|
-
updateAndroidNavigationBarColor({color:androidNavigationBarDefaultColor});}});subscribe(reloadApp$,function(){// A deployed app can only be reloaded on the base url. So we first set this as current route
|
|
4
|
+
*/export default function app(subscribe){subscribe(appWillStart$,function(_ref){var dispatch=_ref.dispatch;// Add global function to enable PWA reload from the console
|
|
5
|
+
window.reloadSGApp=function(){dispatch(reloadApp());};});subscribe(reloadApp$,function(){// A deployed app can only be reloaded on the base url. So we first set this as current route
|
|
7
6
|
// before the reload happens.
|
|
8
7
|
window.history.replaceState({},null,configuration.get(CONFIGURATION_COLLECTION_KEY_BASE_URL));window.location.reload();});}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
* @param {
|
|
5
|
-
* @
|
|
6
|
-
*/var
|
|
1
|
+
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useCallback,useMemo,useLayoutEffect,useState}from'react';import PropTypes from'prop-types';import{connect}from'react-redux';import{css}from'glamor';import classNames from'classnames';import{MODAL_VARIANT_SELECT}from'@shopgate/pwa-ui-shared/Dialog/constants';import{ProductImage,ITEM_PATH,isBaseProduct as isBaseProductSelector,isProductOrderable,hasProductVariants,ProductListEntryProvider}from'@shopgate/engage/product';import{bin2hex,showModal as showModalAction,historyPush as historyPushAction,getThemeSettings,i18n}from'@shopgate/engage/core';import{Link,SurroundPortals}from'@shopgate/engage/components';import{FAVORITES_PRODUCT_NAME,FAVORITES_PRODUCT_PRICE,FAVORITES_ADD_TO_CART}from'@shopgate/engage/favorites';import AvailableText from'@shopgate/pwa-ui-shared/Availability';import Price from'@shopgate/pwa-ui-shared/Price';import PriceInfo from'@shopgate/pwa-ui-shared/PriceInfo';import PriceStriked from'@shopgate/pwa-ui-shared/PriceStriked';import AddToCart from'@shopgate/pwa-ui-shared/AddToCartButton';import Remove from"../RemoveButton";import ItemCharacteristics from"./ItemCharacteristics";import{FAVORITES_LIST_ITEM,FAVORITES_LIST_ITEM_ACTIONS,FAVORITES_AVAILABILITY_TEXT}from"../../constants/Portals";/**
|
|
2
|
+
* The extended component props.
|
|
3
|
+
* @param {Object} state The current application state.
|
|
4
|
+
* @param {Object} props The current component props.
|
|
5
|
+
* @return {Object} The populated component props.
|
|
6
|
+
*/var mapStateToProps=function mapStateToProps(state,props){return{isBaseProduct:isBaseProductSelector(state,props),hasVariants:hasProductVariants(state,props),isOrderable:isProductOrderable(state,props)};};var mapDispatchToProps={showModal:showModalAction,historyPush:historyPushAction};var styles={root:css({display:'flex',position:'relative','&:not(:last-child)':{marginBottom:48},'&:last-child':{marginBottom:16}}).toString(),imageContainer:css({flex:0.4,marginRight:18,maxWidth:170,minWidth:126}).toString(),infoContainer:css({flex:1,display:'flex',flexDirection:'column',minWidth:0}).toString(),innerInfoContainer:css({flex:1,display:'flex',flexDirection:'row',minWidth:0}),infoContainerLeft:css({flex:1,display:'flex',flexDirection:'column',minWidth:0}),infoContainerRight:css({display:'flex',flexDirection:'column',minWidth:0,marginLeft:8,alignItems:'flex-end'}),infoContainerRightTaxDisclaimer:css({marginRight:8}),title:css({fontSize:17,color:'var(--color-text-high-emphasis)',fontWeight:600,whiteSpace:'nowrap',overflow:'hidden',textOverflow:'ellipsis',marginBottom:10}),actions:css({position:'absolute',bottom:-24,display:'flex',flexDirection:'row',justifyContent:'space-between',alignItems:'center',width:90}).toString(),basePrice:css({fontSize:'0.6875rem',textAlign:'right'}).toString(),availability:css({fontSize:14,fontWeight:400}).toString()};/**
|
|
7
7
|
* Favorite Item component
|
|
8
|
-
* @return {JSX
|
|
9
|
-
*/var FavoriteItem=function FavoriteItem(_ref){var _product$price,_product$price2,_product$price3;var listId=_ref.listId,product=_ref.product,
|
|
10
|
-
showModal({title:null,type:MODAL_VARIANT_SELECT,message:'favorites.modal.message',confirm:'favorites.modal.confirm',dismiss:'common.cancel',params:{productId:product.id}});return false;}
|
|
11
|
-
historyPush({pathname:productLink});return false;}broadcastLiveMessage('product.adding_item',{params:{count:1}});return addToCart(e);},[addToCart,hasVariants,historyPush,isBaseProduct,isRopeProductOrderable,product.id,productLink,showModal]);var commonPortalProps=useMemo(function(){var availability=product.availability,id=product.id,name=product.name;return{availability:availability,characteristics:characteristics,id:id,name:name,price:defaultPrice,listId:listId};},[characteristics,defaultPrice,listId,product]);var ctaPortalProps=useMemo(function(){return{isLoading:false,noShadow:false,listId:listId,isBaseProduct:isBaseProduct,isDisabled:isDisabled,productId:product.id,handleRemoveFromCart:remove,handleAddToCart:handleAddToCart};},[handleAddToCart,isBaseProduct,isDisabled,listId,product.id,remove]);var handleChangeQuantity=useCallback(function(newQuantity){// Do nothing when quantity didn't change
|
|
12
|
-
if(newQuantity===quantity)return;updateFavoriteItem(product.id,listId,newQuantity,notes);},[listId,notes,product.id,quantity,updateFavoriteItem]);var handleDeleteComment=useCallback(function(event){event.preventDefault();event.stopPropagation();updateFavoriteItem(product.id,listId,quantity,'');setTimeout(function(){if(notesButtonRef===null||notesButtonRef===void 0?void 0:notesButtonRef.current){// Focus the add button after item deletion to improve a11y
|
|
13
|
-
notesButtonRef.current.focus();}broadcastLiveMessage('favorites.comments.removed');},300);},[listId,product.id,quantity,updateFavoriteItem]);return React.createElement(ProductListEntryProvider,{productId:product.id},React.createElement(SurroundPortals,{portalName:FAVORITES_LIST_ITEM,portalProps:product},React.createElement("div",{className:classNames(styles.root,'engage__favorites__item')},React.createElement(Link,{className:classNames(styles.imageContainer,'engage__favorites__item__image-container'),component:"div",href:productLink,"aria-hidden":true},React.createElement(ProductImage,{className:classNames('engage__favorites__item__image'),src:product.featuredImageBaseUrl,resolutions:gridResolutions})),React.createElement("div",{className:classNames(styles.infoContainer,'engage__favorites__item__info-container')},React.createElement("div",{className:classNames(styles.infoContainerRow)},React.createElement("div",{className:styles.titleWrapper},React.createElement(SurroundPortals,{portalName:FAVORITES_PRODUCT_NAME,portalProps:commonPortalProps},React.createElement(TextLink,{href:productLink,tag:"span",className:classNames(styles.titleContainer,'engage__favorites__item__title-container')},React.createElement("span",{className:styles.title// eslint-disable-next-line react/no-danger
|
|
14
|
-
,dangerouslySetInnerHTML:{__html:"".concat(product.name)}})))),React.createElement("div",{className:styles.removeContainer},React.createElement(Remove,{onClick:remove}))),React.createElement(ItemCharacteristics,{characteristics:characteristics}),!hasNewServices()?React.createElement(SurroundPortals,{portalName:FAVORITES_AVAILABILITY_TEXT,portalProps:commonPortalProps},React.createElement(AvailableText,{text:commonPortalProps.availability.text,state:commonPortalProps.availability.state,showWhenAvailable:true,className:styles.availability})):React.createElement(StockInfoLists,{product:product}),React.createElement("div",{className:styles.infoContainerRow},React.createElement("div",{className:styles.quantityContainer},React.createElement(SurroundPortals,{portalName:FAVORITES_QUANTITY,portalProps:commonPortalProps},React.createElement(ItemQuantity,{quantity:internalQuantity,onChange:handleChangeQuantity})),React.createElement(SurroundPortals,{portalName:FAVORITES_PRODUCT_PRICE,portalProps:commonPortalProps},React.createElement("div",{className:styles.priceContainer},React.createElement("div",{className:styles.priceContainerInner},hasStrikePrice?React.createElement(PriceStriked,{value:specialPrice,currency:currency}):null,React.createElement(Price,{currency:currency,discounted:hasStrikePrice,unitPrice:defaultPrice,className:styles.price})),React.createElement(PriceInfo,{product:product,currency:currency,className:styles.priceInfo})))),React.createElement(SurroundPortals,{portalName:FAVORITES_ADD_TO_CART,portalProps:ctaPortalProps},React.createElement(AddToCart,{onClick:handleAddToCart,isLoading:false,isDisabled:isDisabled,"aria-label":i18n.text('product.add_to_cart')}))),React.createElement(SurroundPortals,{portalName:FAVORITES_NOTES,portalProps:commonPortalProps},React.createElement(ItemNotes,{notes:notes,onClickDeleteComment:handleDeleteComment,onClickOpenComment:handleOpenComment,notesButtonRef:notesButtonRef}))))));};FavoriteItem.defaultProps={isBaseProduct:true,isOrderable:true,isRopeProductOrderable:true,hasVariants:false,notes:undefined,quantity:1};export default connect(makeMapStateToProps,mapDispatchToProps)(FavoriteItem);
|
|
8
|
+
* @return {JSX}
|
|
9
|
+
*/var FavoriteItem=function FavoriteItem(_ref){var _product$price,_product$price2,_product$price3,_product$price4;var listId=_ref.listId,product=_ref.product,remove=_ref.remove,addToCart=_ref.addToCart,isBaseProduct=_ref.isBaseProduct,isOrderable=_ref.isOrderable,hasVariants=_ref.hasVariants,showModal=_ref.showModal;var _ref2=getThemeSettings('AppImages')||{},gridResolutions=_ref2.ListImage;var _useState=useState(!isOrderable&&!hasVariants),_useState2=_slicedToArray(_useState,2),isDisabled=_useState2[0],setIsDisabled=_useState2[1];var currency=((_product$price=product.price)===null||_product$price===void 0?void 0:_product$price.currency)||'EUR';var defaultPrice=((_product$price2=product.price)===null||_product$price2===void 0?void 0:_product$price2.unitPrice)||0;var specialPrice=(_product$price3=product.price)===null||_product$price3===void 0?void 0:_product$price3.unitPriceStriked;var hasStrikePrice=((_product$price4=product.price)===null||_product$price4===void 0?void 0:_product$price4.discount)>0;var characteristics=(product===null||product===void 0?void 0:product.characteristics)||[];var productLink="".concat(ITEM_PATH,"/").concat(bin2hex(product.id));useLayoutEffect(function(){setIsDisabled(!isOrderable&&!hasVariants);},[hasVariants,isOrderable]);var handleAddToCart=useCallback(function(e){e.preventDefault();e.stopPropagation();if(isBaseProduct&&hasVariants){// Called for a parent product. Users needs to confirm the navigation to the PDP
|
|
10
|
+
showModal({title:null,type:MODAL_VARIANT_SELECT,message:'favorites.modal.message',confirm:'favorites.modal.confirm',dismiss:'common.cancel',params:{productId:product.id}});return false;}return addToCart(e);},[addToCart,hasVariants,isBaseProduct,product.id,showModal]);var commonPortalProps=useMemo(function(){var availability=product.availability,id=product.id,name=product.name;return{availability:availability,characteristics:characteristics,id:id,name:name,listId:listId};},[characteristics,listId,product]);var ctaPortalProps=useMemo(function(){return{isLoading:false,noShadow:false,listId:listId,isBaseProduct:isBaseProduct,isDisabled:isDisabled,productId:product.id,handleRemoveFromCart:remove,handleAddToCart:handleAddToCart};},[handleAddToCart,isBaseProduct,isDisabled,listId,product.id,remove]);var taxDisclaimer=false;var priceClassNames=classNames(styles.infoContainerRight,_defineProperty({},styles.infoContainerRightTaxDisclaimer,taxDisclaimer));return/*#__PURE__*/React.createElement(ProductListEntryProvider,{productId:product.id},/*#__PURE__*/React.createElement(SurroundPortals,{portalName:FAVORITES_LIST_ITEM,portalProps:product},/*#__PURE__*/React.createElement("div",{className:styles.root},/*#__PURE__*/React.createElement(Link,{className:styles.imageContainer,component:"div",href:productLink},/*#__PURE__*/React.createElement(ProductImage,{src:product.featuredImageBaseUrl,resolutions:gridResolutions})),/*#__PURE__*/React.createElement(Link,{className:styles.infoContainer,component:"div",href:productLink},/*#__PURE__*/React.createElement(SurroundPortals,{portalName:FAVORITES_PRODUCT_NAME,portalProps:commonPortalProps},/*#__PURE__*/React.createElement("span",{className:styles.title},product.name)),/*#__PURE__*/React.createElement("div",{className:styles.innerInfoContainer},/*#__PURE__*/React.createElement("div",{className:styles.infoContainerLeft},/*#__PURE__*/React.createElement(ItemCharacteristics,{characteristics:characteristics}),/*#__PURE__*/React.createElement(SurroundPortals,{portalName:FAVORITES_AVAILABILITY_TEXT,portalProps:commonPortalProps},/*#__PURE__*/React.createElement(AvailableText,{text:commonPortalProps.availability.text,state:commonPortalProps.availability.state,showWhenAvailable:true,className:styles.availability}))),/*#__PURE__*/React.createElement("div",{className:priceClassNames},/*#__PURE__*/React.createElement(SurroundPortals,{portalName:FAVORITES_PRODUCT_PRICE,portalProps:commonPortalProps},hasStrikePrice?/*#__PURE__*/React.createElement(PriceStriked,{value:specialPrice,currency:currency}):null,/*#__PURE__*/React.createElement(Price,{currency:currency,discounted:hasStrikePrice,taxDisclaimer:taxDisclaimer,unitPrice:defaultPrice}),!!product.price.info&&/*#__PURE__*/React.createElement(PriceInfo,{text:product.price.info,className:styles.basePrice}))))),/*#__PURE__*/React.createElement("div",{className:styles.actions},/*#__PURE__*/React.createElement(SurroundPortals,{portalName:FAVORITES_LIST_ITEM_ACTIONS,portalProps:ctaPortalProps},/*#__PURE__*/React.createElement(Remove,{onClick:remove}),/*#__PURE__*/React.createElement(SurroundPortals,{portalName:FAVORITES_ADD_TO_CART,portalProps:ctaPortalProps},/*#__PURE__*/React.createElement(AddToCart,{onClick:handleAddToCart,isLoading:false,isDisabled:isDisabled,"aria-label":i18n.text('product.add_to_cart')})))))));};FavoriteItem.defaultProps={isBaseProduct:true,isOrderable:true,hasVariants:false};export default connect(mapStateToProps,mapDispatchToProps)(FavoriteItem);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import PropTypes from'prop-types';import{css}from'glamor';var styles={property:css({fontSize:14,color:'var(--color-text-
|
|
1
|
+
import React from'react';import PropTypes from'prop-types';import{css}from'glamor';var styles={property:css({fontSize:14,color:'var(--color-text-low-emphasis)',fontWeight:400,whiteSpace:'nowrap',overflow:'hidden',textOverflow:'ellipsis'})};/**
|
|
2
2
|
* @param {Object} props The component props
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var ItemCharacteristics=function ItemCharacteristics(_ref){var characteristics=_ref.characteristics;if(!characteristics||characteristics.length===0){return null;}return
|
|
4
|
+
*/var ItemCharacteristics=function ItemCharacteristics(_ref){var characteristics=_ref.characteristics;if(!characteristics||characteristics.length===0){return null;}return/*#__PURE__*/React.createElement("ul",null,characteristics.map(function(_ref2){var label=_ref2.label,value=_ref2.value;return/*#__PURE__*/React.createElement("li",{key:"".concat(label,"-").concat(value),className:styles.property},label,': ',value);}));};ItemCharacteristics.defaultProps={characteristics:null};export default ItemCharacteristics;
|
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}import React,{Fragment,useCallback,useEffect,useState}from'react';import PropTypes from'prop-types';import{connect}from'react-redux';import{css}from'glamor';import{i18n,showModal}from'@shopgate/engage/core';import{themeConfig}from'@shopgate/pwa-common/helpers/config';import{Accordion,Card,ContextMenu,SurroundPortals,RippleButton}from'@shopgate/engage/components';import{getFavoritesCount,makeGetFavoritesIdsByList,getHasMultipleFavoritesListsSupport}from'@shopgate/engage/favorites';import{ProductListTypeProvider}from'@shopgate/engage/product';import{FAVORITES_LIST_CONTEXT_MENU}from"../../constants/Portals";import Item from"../Item";import{ProductProvider}from"../../../product";import{FAVORITES_SHOW_LIMIT}from"../../constants/constants";var colors=themeConfig.colors,variables=themeConfig.variables;var styles={root:css({margin:'8px 8px 10px'}).toString(),rootNoFavoritesLists:css({background:colors.light,flexGrow:1,paddingTop:variables.gap.xsmall,paddingLeft:'16px',paddingRight:'16px'}).toString(),title:css({flex:1,textOverflow:'ellipsis',overflow:'hidden',whiteSpace:'nowrap'}).toString(),divider:css({height:1,width:'calc(100% + 32px)',backgroundColor:'rgb(234, 234, 234)',marginLeft:-16,marginRight:-16,marginBottom:16}).toString(),spacer:css({height:1,width:'calc(100% + 32px)',marginLeft:-16,marginRight:-16,marginBottom:16}).toString(),loadMoreButton:css({width:'calc(100% - 32px)',margin:'16px 16px 0 16px',borderRadius:5}).toString()};/**
|
|
2
|
+
* Favorite List Label component
|
|
3
|
+
* @return {JSX}
|
|
4
|
+
*/var FavoriteListLabel=function FavoriteListLabel(_ref){var id=_ref.id,title=_ref.title,rename=_ref.rename,remove=_ref.remove,disableRemoveList=_ref.disableRemoveList;return/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement("span",{className:styles.title},title),/*#__PURE__*/React.createElement(SurroundPortals,{portalName:FAVORITES_LIST_CONTEXT_MENU,portalProps:{id:id}},/*#__PURE__*/React.createElement(ContextMenu,null,/*#__PURE__*/React.createElement(ContextMenu.Item,{onClick:rename},i18n.text('favorites.rename_list')),/*#__PURE__*/React.createElement(ContextMenu.Item,{onClick:remove,disabled:disableRemoveList},i18n.text('favorites.remove_list')))));};/**
|
|
5
|
+
* The content of a favorites list
|
|
6
|
+
* @returns {JSX}
|
|
7
|
+
*/var FavoritesListContent=function FavoritesListContent(_ref2){var id=_ref2.id,productIds=_ref2.productIds,_addToCart=_ref2.addToCart,removeItem=_ref2.removeItem,shouldShowLoadMoreButton=_ref2.shouldShowLoadMoreButton,loadMore=_ref2.loadMore,hasMultipleFavoritesListsSupport=_ref2.hasMultipleFavoritesListsSupport;return/*#__PURE__*/ (/**
|
|
8
|
+
* TODO find a way to indicate loading of the list. products are fetched via the ProductProvider,
|
|
9
|
+
* so there is not a reliable way to determine if product fetching is done, since we might not
|
|
10
|
+
* receive a product for every list item.
|
|
11
|
+
*/React.createElement(React.Fragment,null,hasMultipleFavoritesListsSupport?/*#__PURE__*/React.createElement("div",{className:styles.divider}):/*#__PURE__*/React.createElement("div",{className:styles.spacer}),productIds.length===0?/*#__PURE__*/React.createElement("span",null,i18n.text('favorites.empty')):null,/*#__PURE__*/React.createElement(ProductListTypeProvider,{type:"favoritesList"},productIds.map(function(_ref3){var productId=_ref3.productId;return/*#__PURE__*/React.createElement(ProductProvider,{productId:productId,key:productId},function(_ref4){var product=_ref4.product;return product?/*#__PURE__*/React.createElement(Item,{key:product.id,product:product,listId:id,productId:product.id,addToCart:function addToCart(e){e.preventDefault();e.stopPropagation();return _addToCart(product);},remove:function remove(e){e.preventDefault();e.stopPropagation();removeItem(product.id);}}):null;});})),shouldShowLoadMoreButton&&/*#__PURE__*/React.createElement(RippleButton,{type:"primary",className:styles.loadMoreButton,onClick:loadMore},i18n.text('favorites.load_more_button')),/*#__PURE__*/React.createElement("div",{className:styles.spacer})));};FavoritesListContent.defaultProps={hasMultipleFavoritesListsSupport:false};/**
|
|
2
12
|
* @param {Object} _ State
|
|
3
13
|
* @param {Object} props Props
|
|
4
14
|
* @returns {Object}
|
|
5
|
-
*/var makeMapStateToProps=function makeMapStateToProps(_,
|
|
15
|
+
*/var makeMapStateToProps=function makeMapStateToProps(_,_ref5){var id=_ref5.id;var getFavoritesIds=makeGetFavoritesIdsByList(function(){return id;});return function(state){return{favoriteIds:getFavoritesIds(state),favoritesCount:getFavoritesCount(state),hasMultipleFavoritesListsSupport:getHasMultipleFavoritesListsSupport(state)};};};/**
|
|
6
16
|
* @param {Object} dispatch Dispatch
|
|
7
17
|
* @param {Object} props The component props
|
|
8
18
|
* @returns {Object}
|
|
9
|
-
*/var mapDispatchToProps=function mapDispatchToProps(dispatch,props){return{remove:function(){var _remove=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(id){var confirmed;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return dispatch(showModal({message:'favorites.delete_list_modal.message',title:'favorites.delete_list_modal.title',params:{name:props.name}}));case 2:confirmed=_context.sent;if(confirmed){props.remove(id);}case 4:case"end":return _context.stop();}},_callee);}));function remove(_x){return _remove.apply(this,arguments);}return remove;}()};};/**
|
|
19
|
+
*/var mapDispatchToProps=function mapDispatchToProps(dispatch,props){return{remove:function(){var _remove=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(id){var confirmed;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return dispatch(showModal({message:'favorites.delete_list_modal.message',title:'favorites.delete_list_modal.title',params:{name:props.name}}));case 2:confirmed=_context.sent;if(confirmed){props.remove(id);}case 4:case"end":return _context.stop();}}},_callee);}));function remove(_x){return _remove.apply(this,arguments);}return remove;}()};};/**
|
|
10
20
|
* Favorite List component
|
|
11
|
-
* @return {JSX
|
|
12
|
-
*/var FavoriteList=function FavoriteList(
|
|
13
|
-
* The getFavoriteIds pipeline doesn't return full products, but only product ids. Product data
|
|
14
|
-
* is selected inside the ListContent component via the ProductProvider. To avoid requests with
|
|
15
|
-
* huge response data, the favlist items are splitted into chunks, so that the ProductProvider
|
|
16
|
-
* only has to request fresh data for each chunk.
|
|
17
|
-
*
|
|
18
|
-
* As long as not all products from the list are shown, a "Load More" button is presented to the
|
|
19
|
-
* user, which will add an additional chunk of product ids to the ListContent component.
|
|
20
|
-
*/if(useGetFavoriteIdsPipeline){return items.slice(0,offset);}// When the getFavorites pipeline is used, no special handling is necessary. "items" can passed
|
|
21
|
-
// the the ListContent component as they are.
|
|
22
|
-
return items;},[items,offset,useGetFavoriteIdsPipeline]);var allFavoritesLoaded=useMemo(function(){if(useGetFavoriteIdsPipeline){return items.length-filteredItems.length>0;}/**
|
|
23
|
-
* In case of getFavorites pipeline is used, and all favorites are always loaded, "false" as
|
|
24
|
-
* return value might seem a bit weird, but the value is actually used to determine if the
|
|
25
|
-
* load more button is supposed to be shown (not needed if all favorites are already present).
|
|
26
|
-
*/return false;},[filteredItems.length,items.length,useGetFavoriteIdsPipeline]);var _useState3=useState(allFavoritesLoaded),_useState4=_slicedToArray(_useState3,2),showLoadMoreButton=_useState4[0],setShowLoadMoreButton=_useState4[1];var handleLoadMore=useCallback(function(){setOffset(offset+FAVORITES_SHOW_LIMIT);},[offset]);useEffect(function(){setShowLoadMoreButton(allFavoritesLoaded);},[offset,allFavoritesLoaded]);return React.createElement(ConditionalWrapper,{condition:hasMultipleFavoritesListsSupport,wrapperFalsy:function wrapperFalsy(children){return React.createElement("div",{className:styles.rootNoFavoritesLists},children);},wrapper:function wrapper(children){return React.createElement(Card,{className:styles.root},React.createElement(Accordion,{className:"",renderAdditionalHeaderContent:function renderAdditionalHeaderContent(){return React.createElement(ListAccordionHeader,{rename:function rename(newName){return _rename(id,newName);},remove:remove,id:id});},renderLabel:function renderLabel(){return React.createElement(ListAccordionLabel,{title:name});},chevronPosition:"left",startOpened:true},children));}},React.createElement(ListContent,{listId:id,items:filteredItems,removeItem:removeItem,addToCart:addToCart,onLoadMore:handleLoadMore,showLoadMoreButton:showLoadMoreButton}));};FavoriteList.defaultProps={hasMultipleFavoritesListsSupport:false,useGetFavoriteIdsPipeline:false};export default connect(makeMapStateToProps,mapDispatchToProps)(FavoriteList);
|
|
21
|
+
* @return {JSX}
|
|
22
|
+
*/var FavoriteList=function FavoriteList(_ref6){var id=_ref6.id,name=_ref6.name,favoriteIds=_ref6.favoriteIds,_rename=_ref6.rename,remove=_ref6.remove,removeItem=_ref6.removeItem,addToCart=_ref6.addToCart,disableRemoveList=_ref6.disableRemoveList,hasMultipleFavoritesListsSupport=_ref6.hasMultipleFavoritesListsSupport;var _useState=useState(FAVORITES_SHOW_LIMIT),_useState2=_slicedToArray(_useState,2),offset=_useState2[0],setOffset=_useState2[1];var productIds=favoriteIds.slice(0,offset).map(function(productId){return{productId:productId};});var allFavoritesLoaded=favoriteIds.length-productIds.length>0;var _useState3=useState(allFavoritesLoaded),_useState4=_slicedToArray(_useState3,2),shouldShowLoadMoreButton=_useState4[0],setShouldShowLoadMoreButton=_useState4[1];var loadMore=useCallback(function(){setOffset(offset+FAVORITES_SHOW_LIMIT);},[offset]);useEffect(function(){setShouldShowLoadMoreButton(allFavoritesLoaded);},[offset,allFavoritesLoaded]);return hasMultipleFavoritesListsSupport?/*#__PURE__*/React.createElement(Card,{className:styles.root},/*#__PURE__*/React.createElement(Accordion,{className:"",openWithChevron:true,renderLabel:function renderLabel(){return/*#__PURE__*/React.createElement(FavoriteListLabel,{id:id,title:name,rename:function rename(newName){return _rename(id,newName);},remove:remove,disableRemoveList:disableRemoveList});},chevronPosition:"left",startOpened:true,testId:id},/*#__PURE__*/React.createElement(FavoritesListContent,{addToCart:addToCart,id:id,loadMore:loadMore,productIds:productIds,removeItem:removeItem,shouldShowLoadMoreButton:shouldShowLoadMoreButton,hasMultipleFavoritesListsSupport:hasMultipleFavoritesListsSupport}))):/*#__PURE__*/React.createElement("div",{className:styles.rootNoFavoritesLists},/*#__PURE__*/React.createElement(FavoritesListContent,{addToCart:addToCart,id:id,loadMore:loadMore,productIds:productIds,removeItem:removeItem,shouldShowLoadMoreButton:shouldShowLoadMoreButton}));};FavoriteList.defaultProps={hasMultipleFavoritesListsSupport:false};export default connect(makeMapStateToProps,mapDispatchToProps)(FavoriteList);
|
|
@@ -6,5 +6,5 @@ import React from'react';import PropTypes from'prop-types';import{connect}from'r
|
|
|
6
6
|
* @returns {Object}
|
|
7
7
|
*/var mapDispatchToProps=function mapDispatchToProps(dispatch){return{close:function close(){return dispatch(closeFavoritesListChooser());},toggle:function toggle(){return dispatch(toggleFavorite.apply(void 0,arguments));}};};/**
|
|
8
8
|
* @param {Object} props Props.
|
|
9
|
-
* @returns {JSX
|
|
10
|
-
*/var ListChooser=function ListChooser(_ref){var settings=_ref.settings,lists=_ref.lists,close=_ref.close,toggle=_ref.toggle;var isVisible=!!settings;var productId=settings===null||settings===void 0?void 0:settings.productId;var withRelatives=settings===null||settings===void 0?void 0:settings.withRelatives;return
|
|
9
|
+
* @returns {JSX}
|
|
10
|
+
*/var ListChooser=function ListChooser(_ref){var settings=_ref.settings,lists=_ref.lists,close=_ref.close,toggle=_ref.toggle;var isVisible=!!settings;var productId=settings===null||settings===void 0?void 0:settings.productId;var withRelatives=settings===null||settings===void 0?void 0:settings.withRelatives;return/*#__PURE__*/React.createElement(SheetDrawer,{isOpen:isVisible,title:i18n.text('favorites.list_chooser.title'),onDidClose:close},/*#__PURE__*/React.createElement(SheetList,null,lists.map(function(list){return/*#__PURE__*/React.createElement(SheetList.Item,{key:list.id,title:list.name,onClick:function onClick(){close();toggle(productId,list.id,withRelatives);},rightComponent:/*#__PURE__*/React.createElement(ListChooserItem,{listId:list.id,productId:productId})});})));};ListChooser.defaultProps={settings:null,lists:[]};export default connect(mapStateToProps,mapDispatchToProps)(ListChooser);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import React from'react';import PropTypes from'prop-types';import{connect}from'react-redux';import{css}from'glamor';import{makeIsProductOnSpecificFavoriteList}from'@shopgate/pwa-common-commerce/favorites/selectors';import{i18n}from'@shopgate/engage/core';import{
|
|
1
|
+
import React from'react';import PropTypes from'prop-types';import{connect}from'react-redux';import{css}from'glamor';import{makeIsProductOnSpecificFavoriteList}from'@shopgate/pwa-common-commerce/favorites/selectors';import{i18n}from'@shopgate/engage/core';import{themeConfig}from'@shopgate/pwa-common/helpers/config';/**
|
|
2
|
+
* @param {Object} state State.
|
|
2
3
|
* @returns {Object}
|
|
3
|
-
*/var makeMapStateToProps=function makeMapStateToProps(){var getIsOnList=makeIsProductOnSpecificFavoriteList(function(_,props){return props.productId;},function(_,props){return props.listId;});return function(state,props){return{isOnList:getIsOnList(state,props)
|
|
4
|
+
*/var makeMapStateToProps=function makeMapStateToProps(){var getIsOnList=makeIsProductOnSpecificFavoriteList(function(_,props){return props.productId;},function(_,props){return props.listId;});return function(state,props){return{isOnList:getIsOnList(state,props)};};};var styles={remove:css({color:"var(--color-state-alert, ".concat(themeConfig.colors.error,")")}).toString(),add:css({color:'var(--color-state-ok)'}).toString()};/**
|
|
4
5
|
* @param {Object} props Props.
|
|
5
|
-
* @returns {JSX
|
|
6
|
-
*/var ListChooserItem=function ListChooserItem(_ref){var isOnList=_ref.isOnList
|
|
6
|
+
* @returns {JSX}
|
|
7
|
+
*/var ListChooserItem=function ListChooserItem(_ref){var isOnList=_ref.isOnList;return isOnList?/*#__PURE__*/React.createElement("span",{className:styles.remove},i18n.text('favorites.list_chooser.remove')):/*#__PURE__*/React.createElement("span",{className:styles.add},i18n.text('favorites.list_chooser.add'));};export default connect(makeMapStateToProps)(ListChooserItem);
|
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e
|
|
1
|
+
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useCallback,useRef}from'react';import PropTypes from'prop-types';import{connect}from'react-redux';import{css}from'glamor';import{RippleButton,SurroundPortals}from'@shopgate/engage/components';import{i18n}from'@shopgate/engage/core';import{getFavoritesLists,isInitialLoading,getHasMultipleFavoritesListsSupport,addFavoritesList,updateFavoritesList,removeFavoritesList,removeFavorites}from'@shopgate/engage/favorites';import{addProductsToCart}from'@shopgate/engage/cart';import List from"../List";import ListsModal from"./ListsModal";import{FAVORITES_LIST_ADD_BUTTON,FAVORITES_LIST}from"../../constants/Portals";/**
|
|
2
|
+
* TODO
|
|
3
|
+
*
|
|
4
|
+
* This constant originally comes from PWA 7 shopSettings. If another mode is requested in the
|
|
5
|
+
* future, this needs to be set dynamically.
|
|
6
|
+
*/var WISHLIST_MODE_PERSIST_ON_ADD='persistOnAdd';/**
|
|
2
7
|
* @param {Object} state State
|
|
3
8
|
* @param {Object} props Props
|
|
4
9
|
* @returns {Object}
|
|
5
|
-
*/var
|
|
10
|
+
*/var mapStateToProps=function mapStateToProps(state){return{isInitializing:isInitialLoading(state),lists:getFavoritesLists(state),wishlistMode:WISHLIST_MODE_PERSIST_ON_ADD,hasMultipleFavoritesListsSupport:getHasMultipleFavoritesListsSupport(state)};};/**
|
|
6
11
|
* @param {Object} dispatch Dispatch
|
|
7
12
|
* @returns {Object}
|
|
8
|
-
*/var mapDispatchToProps=function mapDispatchToProps(dispatch){return{addList:function addList(name){return dispatch(addFavoritesList(name));},updateList:function updateList(id,name){return dispatch(updateFavoritesList(id,name));},removeList:function removeList(id){return dispatch(removeFavoritesList(id));},removeItem:function removeItem(listId,productId){return dispatch(removeFavorites(productId,false,listId));},addToCart:function addToCart(){return dispatch(addProductsToCart.apply(void 0,arguments));}
|
|
13
|
+
*/var mapDispatchToProps=function mapDispatchToProps(dispatch){return{addList:function addList(name){return dispatch(addFavoritesList(name));},updateList:function updateList(id,name){return dispatch(updateFavoritesList(id,name));},removeList:function removeList(id){return dispatch(removeFavoritesList(id));},removeItem:function removeItem(listId,productId){return dispatch(removeFavorites(productId,false,listId));},addToCart:function addToCart(){return dispatch(addProductsToCart.apply(void 0,arguments));}};};var styles={root:css({}),addButton:css({width:'calc(100% - 32px)',margin:16,borderRadius:5}).toString()};/**
|
|
9
14
|
* @param {Object} props Props
|
|
10
15
|
* @returns {Object}
|
|
11
|
-
*/var FavoriteLists=function FavoriteLists(_ref){var addList=_ref.addList,updateList=_ref.updateList,removeList=_ref.removeList,_removeItem=_ref.removeItem,addToCart=_ref.addToCart,
|
|
12
|
-
var promiseRef=useRef(null);var
|
|
13
|
-
setFOMethodChooser(false);// Handle cancellation.
|
|
14
|
-
if(!method){return;}setFulfillmentMethod(method);// Direct ship.
|
|
15
|
-
if(method==='directShip'){addToCart([{productId:activeProductId,quantity:1}]);promiseRef.current.resolve();return;}// Open the sheet
|
|
16
|
-
fetchLocations(activeProductId,userSearch);setTimeout(function(){openSheet({callback:function callback(state){var _promiseRef$current2;if(state){var _promiseRef$current;return(_promiseRef$current=promiseRef.current)===null||_promiseRef$current===void 0?void 0:_promiseRef$current.resolve();}return(_promiseRef$current2=promiseRef.current)===null||_promiseRef$current2===void 0?void 0:_promiseRef$current2.reject();},fulfillmentPath:MULTI_LINE_RESERVE,stage:STAGE_SELECT_STORE});},10);},[activeProductId,addToCart,fetchLocations,userSearch]);var handleAddToCart=useCallback(function(listId,product){var quantity=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;// Create promise to inform add to cart button when ready.
|
|
16
|
+
*/var FavoriteLists=function FavoriteLists(_ref){var addList=_ref.addList,updateList=_ref.updateList,removeList=_ref.removeList,_removeItem=_ref.removeItem,addToCart=_ref.addToCart,wishlistMode=_ref.wishlistMode,lists=_ref.lists,isInitializing=_ref.isInitializing,hasMultipleFavoritesListsSupport=_ref.hasMultipleFavoritesListsSupport;// Add to cart state.
|
|
17
|
+
var promiseRef=useRef(null);var handleAddToCart=useCallback(function(listId,product){// Create promise to inform add to cart button when ready.
|
|
17
18
|
var promise=new Promise(function(_resolve,reject){promiseRef.current={resolve:function resolve(){// Remove item from wishlist after adding to cart.
|
|
18
|
-
if(wishlistMode!==WISHLIST_MODE_PERSIST_ON_ADD){_removeItem(listId,product.id);}_resolve();},reject:reject};})
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
if(activeFulfillmentMethod&&activeLocation){addToCart([{productId:product.id,quantity:quantity,fulfillment:{method:activeFulfillmentMethod,location:{code:activeLocation.code,name:activeLocation.name||''}}}]);promiseRef.current.resolve();return promise;}// Location not set but FO method is set.
|
|
22
|
-
setActiveProductId(product.id);if(activeFulfillmentMethod&&!activeLocation){handleAddToCartWithMethod(activeFulfillmentMethod);return promise;}if(!activeFulfillmentMethod&&!activeFulfillmentMethod){// Long path is required <- fo method and location unset.
|
|
23
|
-
setFulfillmentMethods(shopFulfillmentMethods);setFOMethodChooser(true);return promise;}// Short path is required <- fo method is unset.
|
|
24
|
-
setFulfillmentMethods(availableFulfillmentMethods);setFOMethodChooser(true);return promise;},[addToCart,fulfillmentMethod,handleAddToCartWithMethod,preferredFulfillmentMethod,preferredLocation,_removeItem,shopFulfillmentMethods,wishlistMode]);var handleMethodClose=useCallback(function(){setFOMethodChooser(false);promiseRef.current.reject();},[]);// Modal for renaming and adding.
|
|
25
|
-
var _useState9=useState(false),_useState10=_slicedToArray(_useState9,2),modalOpen=_useState10[0],setModalOpen=_useState10[1];var _useState11=useState(null),_useState12=_slicedToArray(_useState11,2),modalType=_useState12[0],setModalType=_useState12[1];var _useState13=useState(null),_useState14=_slicedToArray(_useState13,2),modalTarget=_useState14[0],setModalTarget=_useState14[1];var openAddModal=useCallback(function(){setModalOpen(true);setModalType('add_list');setModalTarget(null);},[]);var openRenameModal=useCallback(function(code){setModalOpen(true);setModalType('rename_list');setModalTarget(code);},[]);var closeModal=useCallback(function(){setModalOpen(false);setModalType(null);setModalTarget(null);},[]);var confirmModal=useCallback(function(name){if(modalType==='add_list'){addList(name);}else if(modalType==='rename_list'){updateList(modalTarget,name);}closeModal();},[addList,closeModal,modalTarget,modalType,updateList]);if(isInitializing){return null;}return React.createElement("div",{className:styles.root},lists.map(function(list){return React.createElement(SurroundPortals,{key:list.id,portalName:FAVORITES_LIST,portalProps:list},React.createElement(List,{id:list.id,name:list.name,rename:openRenameModal,remove:function remove(){return removeList(list.id);},removeItem:function removeItem(productId){return _removeItem(list.id,productId);},addToCart:function addToCart(product,quantity){return handleAddToCart(list.id,product,quantity);},hasMultipleFavoritesListsSupport:hasMultipleFavoritesListsSupport}));}),modalOpen?React.createElement(ListsModal,{type:modalType,onDismiss:closeModal,onConfirm:confirmModal}):null,activeProductId?React.createElement(FulfillmentSheet,{productId:activeProductId,fulfillmentMethod:fulfillmentMethod}):null,React.createElement(CommentDialog,null),React.createElement(ItemFulfillmentMethod,{isOpen:foMethodChooser,methods:fulfillmentMethods,onSelect:handleAddToCartWithMethod,onClose:handleMethodClose}),React.createElement(SurroundPortals,{portalName:FAVORITES_LIST_ADD_BUTTON},hasMultipleFavoritesListsSupport?React.createElement(RippleButton,{type:"primary",className:styles.addButton,onClick:openAddModal,disabled:false},i18n.text('favorites.add_list')):null));};FavoriteLists.defaultProps={lists:[],userSearch:{},preferredFulfillmentMethod:null,shopFulfillmentMethods:[],preferredLocation:null,isInitializing:true};export default connect(makeMapStateToProps,mapDispatchToProps)(FavoriteLists);
|
|
19
|
+
if(wishlistMode!==WISHLIST_MODE_PERSIST_ON_ADD){_removeItem(listId,product.id);}_resolve();},reject:reject};});// If all options are already configured immediately add it to the cart.
|
|
20
|
+
addToCart([{productId:product.id,quantity:1}]);promiseRef.current.resolve();return promise;},[addToCart,_removeItem,wishlistMode]);// Modal for renaming and adding.
|
|
21
|
+
var _useState=useState(false),_useState2=_slicedToArray(_useState,2),modalOpen=_useState2[0],setModalOpen=_useState2[1];var _useState3=useState(null),_useState4=_slicedToArray(_useState3,2),modalType=_useState4[0],setModalType=_useState4[1];var _useState5=useState(null),_useState6=_slicedToArray(_useState5,2),modalTarget=_useState6[0],setModalTarget=_useState6[1];var openAddModal=useCallback(function(){setModalOpen(true);setModalType('add_list');setModalTarget(null);},[]);var openRenameModal=useCallback(function(code){setModalOpen(true);setModalType('rename_list');setModalTarget(code);},[]);var closeModal=useCallback(function(){setModalOpen(false);setModalType(null);setModalTarget(null);},[]);var confirmModal=useCallback(function(name){if(modalType==='add_list'){addList(name);}else if(modalType==='rename_list'){updateList(modalTarget,name);}closeModal();},[addList,closeModal,modalTarget,modalType,updateList]);if(isInitializing){return null;}return/*#__PURE__*/React.createElement("div",{className:styles.root},lists.map(function(list){return/*#__PURE__*/React.createElement(SurroundPortals,{key:list.id,portalName:FAVORITES_LIST,portalProps:list},/*#__PURE__*/React.createElement(List,{id:list.id,name:list.name,rename:openRenameModal,remove:function remove(){return removeList(list.id);},removeItem:function removeItem(productId){return _removeItem(list.id,productId);},addToCart:function addToCart(product){return handleAddToCart(list.id,product);},disableRemoveList:lists.length<2}));}),modalOpen?/*#__PURE__*/React.createElement(ListsModal,{type:modalType,onDismiss:closeModal,onConfirm:confirmModal}):null,/*#__PURE__*/React.createElement(SurroundPortals,{portalName:FAVORITES_LIST_ADD_BUTTON},hasMultipleFavoritesListsSupport?/*#__PURE__*/React.createElement(RippleButton,{type:"primary",className:styles.addButton,onClick:openAddModal,disabled:false},i18n.text('favorites.add_list')):null));};FavoriteLists.defaultProps={lists:[],isInitializing:true,hasMultipleFavoritesListsSupport:false};export default connect(mapStateToProps,mapDispatchToProps)(FavoriteLists);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useCallback}from'react';import PropTypes from'prop-types';import{Dialog,TextField}from'@shopgate/engage/components';import{i18n}from'@shopgate/engage/core';import{css}from'glamor';var styles={root:css({display:'flex',flexDirection:'column'}),textField:css({textAlign:'left'})};/**
|
|
2
2
|
* @param {Object} props Props
|
|
3
3
|
* @returns {Object}
|
|
4
|
-
*/var ListsModal=function ListsModal(_ref){var type=_ref.type,onConfirm=_ref.onConfirm,onDismiss=_ref.onDismiss;var _useState=useState(''),_useState2=_slicedToArray(_useState,2),input=_useState2[0],setInput=_useState2[1];var _useState3=useState(null),_useState4=_slicedToArray(_useState3,2),error=_useState4[0],setError=_useState4[1];var onConfirmWrapped=useCallback(function(){if(input.length===0){setError(i18n.text('favorites.errors.invalid_name'));return;}onConfirm(input);},[input,onConfirm]);var onChange=useCallback(function(value){setInput(value);},[])
|
|
5
|
-
|
|
4
|
+
*/var ListsModal=function ListsModal(_ref){var type=_ref.type,onConfirm=_ref.onConfirm,onDismiss=_ref.onDismiss;var _useState=useState(''),_useState2=_slicedToArray(_useState,2),input=_useState2[0],setInput=_useState2[1];var _useState3=useState(null),_useState4=_slicedToArray(_useState3,2),error=_useState4[0],setError=_useState4[1];var onConfirmWrapped=useCallback(function(){if(input.length===0){setError(i18n.text('favorites.errors.invalid_name'));return;}onConfirm(input);},[input,onConfirm]);var onChange=useCallback(function(value){setInput(value);},[]);/**
|
|
5
|
+
* Submit handler for the text input
|
|
6
|
+
*/var handleKeyPress=useCallback(function(e){if(e.key==='Enter'){onConfirmWrapped();}},[onConfirmWrapped]);return/*#__PURE__*/React.createElement(Dialog,{onConfirm:onConfirmWrapped,onDismiss:onDismiss,modal:{title:i18n.text("favorites.".concat(type,"_modal.title")),dismiss:i18n.text("favorites.".concat(type,"_modal.dismiss")),confirm:i18n.text("favorites.".concat(type,"_modal.confirm")),content:/*#__PURE__*/React.createElement("div",{className:styles.root},/*#__PURE__*/React.createElement("span",null,i18n.text("favorites.".concat(type,"_modal.message"))),/*#__PURE__*/React.createElement(TextField,{name:"name",label:i18n.text("favorites.".concat(type,"_modal.label")),onChange:onChange,value:input,errorText:error||undefined,className:styles.textField,maxlength:"25",onKeyPress:handleKeyPress}))}});};export default ListsModal;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import PropTypes from'prop-types';import{css}from'glamor';import{i18n}from'@shopgate/engage/core';import{Ripple}from'@shopgate/engage/components';import
|
|
1
|
+
import React from'react';import PropTypes from'prop-types';import{css}from'glamor';import{i18n}from'@shopgate/engage/core';import{Ripple}from'@shopgate/engage/components';import CrossIcon from'@shopgate/pwa-ui-shared/icons/CrossIcon';import{themeShadows,themeColors}from'@shopgate/pwa-common/helpers/config';var styles={root:css({display:'flex',position:'relative',background:themeColors.light,borderRadius:'50%',padding:0,fontSize:20,lineHeight:1,color:"var(--color-secondary, ".concat(themeColors.accent,")"),outline:0,boxShadow:themeShadows.buttons.elevated,height:32,width:32,justifyContent:'center',alignItems:'center'}).toString()};/**
|
|
2
2
|
* The remove favorites button component.
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var RemoveButton=function RemoveButton(_ref){var onClick=_ref.onClick;return
|
|
4
|
+
*/var RemoveButton=function RemoveButton(_ref){var onClick=_ref.onClick;return/*#__PURE__*/React.createElement("button",{className:styles.root,onClick:onClick,type:"button","aria-label":i18n.text('favorites.remove')},/*#__PURE__*/React.createElement(Ripple,null,/*#__PURE__*/React.createElement(CrossIcon,{className:styles.icon})));};export default RemoveButton;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
// @flow
|
|
2
|
+
import{FAVORITES}from'@shopgate/pwa-common-commerce/favorites/constants/Portals';export var FAVORITES_LIST="".concat(FAVORITES,".list");export var FAVORITES_LIST_ADD_BUTTON="".concat(FAVORITES,".list-add-button");export var FAVORITES_LIST_CONTEXT_MENU="".concat(FAVORITES,".list-context-menu");export var FAVORITES_LIST_ITEM_ACTIONS="".concat(FAVORITES,".list-item-actions");export var FAVORITES_LIST_ITEM="".concat(FAVORITES,".list-item");export var FAVORITES_AVAILABILITY_TEXT="".concat(FAVORITES,".availability-text");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var FAVORITES_SHOW_LIMIT=10;
|
package/favorites/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @module favorites */ // ACTIONS
|
|
2
|
-
export{default as fetchFavorites}from'@shopgate/pwa-common-commerce/favorites/actions/fetchFavorites';export{default as fetchFavoritesLists}from'@shopgate/pwa-common-commerce/favorites/actions/
|
|
2
|
+
export{default as fetchFavorites}from'@shopgate/pwa-common-commerce/favorites/actions/fetchFavorites';export{default as fetchFavoritesLists}from'@shopgate/pwa-common-commerce/favorites/actions/fetchFavoritesLists';export{default as addFavoritesList}from'@shopgate/pwa-common-commerce/favorites/actions/addFavoritesList';export{default as updateFavoritesList}from'@shopgate/pwa-common-commerce/favorites/actions/updateFavoritesList';export{default as removeFavoritesList}from'@shopgate/pwa-common-commerce/favorites/actions/removeFavoritesList';export{addFavorite,removeFavorites,requestSync as toggleFavorites,toggleFavoriteWithListChooser,toggleFavorite}from'@shopgate/pwa-common-commerce/favorites/actions/toggleFavorites';// CONSTANTS
|
|
3
3
|
export*from'@shopgate/pwa-common-commerce/favorites/constants/index';export*from'@shopgate/pwa-common-commerce/favorites/constants/Pipelines';export*from'@shopgate/pwa-common-commerce/favorites/constants/Portals';export*from"./constants/Portals";// SELECTORS
|
|
4
4
|
export*from'@shopgate/pwa-common-commerce/favorites/selectors';// STREAMS
|
|
5
|
-
export*from'@shopgate/pwa-common-commerce/favorites/streams';
|
|
5
|
+
export*from'@shopgate/pwa-common-commerce/favorites/streams';export{default as FavoriteLists}from"./components/Lists";export{default as FavoritesListChooser}from"./components/ListChooser";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from'react';import PropTypes from'prop-types';import styles from"./style";/**
|
|
2
|
-
* Wraps a single
|
|
2
|
+
* Wraps a single fiter page item.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
4
|
* @returns {JSX}
|
|
5
|
-
*/var FilterItem=function FilterItem(_ref){var children=_ref.children;return
|
|
5
|
+
*/var FilterItem=function FilterItem(_ref){var children=_ref.children;return/*#__PURE__*/React.createElement("div",{className:styles},children);};export default FilterItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from'react';import{shallow}from'enzyme';import Item from"./index";describe('Filter: <Item />',function(){it('should render',function(){var wrapper=shallow(React.createElement(Item,null
|
|
1
|
+
import React from'react';import{shallow}from'enzyme';import Item from"./index";describe('Filter: <Item />',function(){it('should render',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(Item,null,/*#__PURE__*/React.createElement("div",null,"Some")));expect(wrapper).toMatchSnapshot();});});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e
|
|
1
|
+
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{memo,useState,useEffect,useRef}from'react';import PropTypes from'prop-types';import appConfig from'@shopgate/pwa-common/helpers/config';import{I18n}from'@shopgate/engage/components';import{i18n}from'@shopgate/engage/core';import styles from"../../style";var currency=appConfig.currency;/**
|
|
2
2
|
* The filter price range slider label component.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
|
-
* @returns {JSX
|
|
4
|
+
* @returns {JSX}
|
|
5
5
|
*/function Label(props){var priceLength=props.priceLength,priceMax=props.priceMax,priceMin=props.priceMin,onChange=props.onChange;var _useState=useState(priceMin),_useState2=_slicedToArray(_useState,2),minValue=_useState2[0],setMinValue=_useState2[1];var _useState3=useState(priceMax),_useState4=_slicedToArray(_useState3,2),maxValue=_useState4[0],setMaxValue=_useState4[1];var _useState5=useState(0),_useState6=_slicedToArray(_useState5,2),minOffset=_useState6[0],setMinOffset=_useState6[1];var _useState7=useState(0),_useState8=_slicedToArray(_useState7,2),maxOffset=_useState8[0],setMMaxOffset=_useState8[1];var minRef=useRef(null);var maxRef=useRef(null);// Set new values, when prices change from outside.
|
|
6
6
|
useEffect(function(){setMinValue(priceMin);setMaxValue(priceMax);},[priceMin,priceMax]);// Store the leftOffset when the reference changes.
|
|
7
7
|
useEffect(function(){setMinOffset(minRef.current.offsetLeft);setMMaxOffset(maxRef.current.offsetLeft);},[minRef,maxRef]);/**
|
|
@@ -13,4 +13,4 @@ useEffect(function(){setMinOffset(minRef.current.offsetLeft);setMMaxOffset(maxRe
|
|
|
13
13
|
*/function handleChangeMin(_ref2){var target=_ref2.target;setMinValue(target.value);if(target.value){onChange([parseInt(target.value,10)*100,parseInt(maxValue,10)*100]);}}/**
|
|
14
14
|
* Handles the change of the maximum price field.
|
|
15
15
|
* @param {SyntheticEvent} event The change event object.
|
|
16
|
-
*/function handleChangeMax(_ref3){var target=_ref3.target;setMaxValue(target.value);if(target.value){onChange([parseInt(minValue,10)*100,parseInt(target.value,10)*100]);}}var currencySymbol=Intl.NumberFormat('en-US',{style:'currency',currency:currency}).format('0').replace('0.00','');return
|
|
16
|
+
*/function handleChangeMax(_ref3){var target=_ref3.target;setMaxValue(target.value);if(target.value){onChange([parseInt(minValue,10)*100,parseInt(target.value,10)*100]);}}var currencySymbol=Intl.NumberFormat('en-US',{style:'currency',currency:currency}).format('0').replace('0.00','');return/*#__PURE__*/React.createElement("div",{className:styles.editableContainer},/*#__PURE__*/React.createElement("span",{className:styles.srOnly},i18n.text('price.range',{fromPrice:i18n.price(priceMin,currency,false),toPrice:i18n.price(priceMax,currency,false)})),/*#__PURE__*/React.createElement(I18n.Text,{string:"price.range","aria-hidden":true},/*#__PURE__*/React.createElement(I18n.Placeholder,{forKey:"fromPrice"},/*#__PURE__*/React.createElement("span",{className:styles.price,style:{minWidth:priceLength},ref:minRef},/*#__PURE__*/React.createElement(I18n.Price,{price:priceMin,currency:currency,fractions:false}))),/*#__PURE__*/React.createElement(I18n.Placeholder,{forKey:"toPrice"},/*#__PURE__*/React.createElement("span",{className:styles.price,style:{minWidth:priceLength},ref:maxRef},/*#__PURE__*/React.createElement(I18n.Price,{price:priceMax,currency:currency,fractions:false})))),/*#__PURE__*/React.createElement("span",{"aria-hidden":true,hidden:true,id:"price-slider-currency-label"},currencySymbol),/*#__PURE__*/React.createElement("input",{type:"text",id:"priceMin",name:"priceMin",value:minValue,onChange:handleChangeMin,onClick:handleFieldClick,style:{width:priceLength,left:minOffset},className:styles.editableField,"aria-label":i18n.text('price.range_from'),"aria-describedby":"price-slider-currency-label"}),/*#__PURE__*/React.createElement("input",{type:"text",id:"priceMax",name:"priceMax",value:maxValue,onChange:handleChangeMax,onClick:handleFieldClick,style:{width:priceLength,left:maxOffset},className:styles.editableField,"aria-label":i18n.text('price.range_to'),"aria-describedby":"price-slider-currency-label"}));}export default/*#__PURE__*/memo(Label);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from'react';import{shallow}from'enzyme';import Label from"./index";
|
|
1
|
+
import React from'react';import{shallow}from'enzyme';import Label from"./index";describe('PriceSlider: <Label />',function(){it('should render',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(Label,{priceLength:"5",priceMax:999,priceMin:25,onChange:function onChange(){}}));expect(wrapper).toMatchSnapshot();});});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
function _typeof(obj){
|
|
1
|
+
function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{PureComponent}from'react';import PropTypes from'prop-types';import isEqual from'lodash/isEqual';import{RangeSlider}from'@shopgate/engage/components';import{FilterItem}from'@shopgate/engage/filter';import Label from"./components/Label";import styles from"./style";/**
|
|
2
2
|
* The PriceSlider component.
|
|
3
|
-
*/var PriceSlider=/*#__PURE__*/function(_PureComponent){
|
|
3
|
+
*/var PriceSlider=/*#__PURE__*/function(_PureComponent){_inherits(PriceSlider,_PureComponent);var _super=_createSuper(PriceSlider);/**
|
|
4
4
|
* The constructor.
|
|
5
5
|
* @param {Object} props The component props.
|
|
6
|
-
*/function PriceSlider(props){var
|
|
7
|
-
* The callback function that is given to the RangeSlider.
|
|
8
|
-
* @param {Array} value The lower and upper boundary of the set range.
|
|
9
|
-
*/_defineProperty(_this2,"onChange",function(value){var roundedValue=[Math.floor(value[0]),Math.ceil(value[1])];_this2.setState({value:value});_this2.props.onChange(_this2.props.id,roundedValue);});var initialValue=[props.min,props.max];if(Array.isArray(props.value)&&props.value.length>0){initialValue=props.value;}_this2.state={value:initialValue};return _this2;}/**
|
|
6
|
+
*/function PriceSlider(props){var _this;_classCallCheck(this,PriceSlider);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"onChange",function(value){var roundedValue=[Math.floor(value[0]),Math.ceil(value[1])];_this.setState({value:value});_this.props.onChange(_this.props.id,roundedValue);});var initialValue=props.value||[props.min,props.max];_this.state={value:initialValue};return _this;}/**
|
|
10
7
|
* Updates the value state.
|
|
11
8
|
* @param {Object} nextProps The next component props.
|
|
12
|
-
*/
|
|
9
|
+
*/_createClass(PriceSlider,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){if(!isEqual(nextProps.value,this.props.value)){this.setState({value:nextProps.value});}}/**
|
|
10
|
+
* The callback function that is given to the RangeSlider.
|
|
11
|
+
* @param {Array} value The lower and upper boundary of the set range.
|
|
12
|
+
*/},{key:"render",value:/**
|
|
13
13
|
* Renders the component (template).
|
|
14
14
|
* @returns {JSX}
|
|
15
15
|
*/function render(){var _this$props=this.props,min=_this$props.min,max=_this$props.max;/**
|
|
@@ -19,4 +19,4 @@ function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="s
|
|
|
19
19
|
* Calculate the necessary maximum size for the price value.
|
|
20
20
|
* The size is 2 characters more than the max possible number length
|
|
21
21
|
* to reserve space for the currency symbol and a little spacing around.
|
|
22
|
-
*/var priceLength="".concat((max/100).toString().length+2,"ch");return
|
|
22
|
+
*/var priceLength="".concat((max/100).toString().length+2,"ch");return/*#__PURE__*/React.createElement(FilterItem,null,/*#__PURE__*/React.createElement("div",{className:styles.wrapper,"data-test-id":"priceRangeSlider"},/*#__PURE__*/React.createElement(Label,{priceLength:priceLength,priceMax:priceMax,priceMin:priceMin,onChange:this.onChange}),/*#__PURE__*/React.createElement(RangeSlider,{classNames:styles.rangeSlider,easing:"exponential",factor:3,max:max,min:min,onChange:this.onChange,value:this.state.value})));}}]);return PriceSlider;}(PureComponent);_defineProperty(PriceSlider,"defaultProps",{max:100,min:0,onChange:function onChange(){},value:null});export default PriceSlider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from'react';import{shallow}from'enzyme';import PriceSlider from"./index";
|
|
1
|
+
import React from'react';import{shallow}from'enzyme';import PriceSlider from"./index";describe('Filter: <PriceSlider />',function(){it('should render with default props',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(PriceSlider,{id:"foo"}));expect(wrapper).toMatchSnapshot();});it('should render with custom props',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(PriceSlider,{id:"foo",values:[5,50]}));expect(wrapper).toMatchSnapshot();});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var shadows=themeConfig.shadows,colors=themeConfig.colors,variables=themeConfig.variables;var wrapper=css({padding:"".concat(variables.gap.big*0.75,"px ").concat(variables.gap.big,"px")}).toString();var price=css({color:colors.accent,display:'inline-block',fontWeight:500,textAlign:'center'}).toString();var editableContainer=css({position:'relative'});var editableField=css({position:'absolute',top:0,left:0,textAlign:'center',background:'transparent',zIndex:2,textIndent:-800,outline:'none',padding:0,margin:0,border:'1px solid transparent',borderRadius:3,lineHeight:1,':focus':{background:colors.light,textIndent:0,borderColor:colors.shade5}});var rangeSlider={container:css({paddingTop:variables.gap.big,paddingBottom:variables.gap.big}).toString(),outerRange:css({background:colors.darkGray,height:8,position:'relative'}).toString(),range:css({background:colors.accent,position:'absolute',height:'100%',marginLeft:variables.gap.small,marginRight:variables.gap.small}).toString(),handleInner:css({background:colors.light,boxShadow:shadows.filter.priceSlider,borderRadius:'50%',width:variables.gap.big*1.5,height:variables.gap.big*1.5}).toString(),handleOuter:css({}).toString()};var srOnly=css({position:'absolute',width:1,height:1,padding:0,margin:-1,overflow:'hidden',clip:'rect(0, 0, 0, 0)',whiteSpace:'nowrap',border:0});export default{wrapper:wrapper,price:price,rangeSlider:rangeSlider,editableContainer:editableContainer,editableField:editableField,srOnly:srOnly};
|
|
@@ -2,8 +2,8 @@ var _excluded=["useForFetchFilters"],_excluded2=["useForFetchFilters"];function
|
|
|
2
2
|
* Creates the filter params to be used with a fetchFilters request.
|
|
3
3
|
* @param {Object} filters All configured filters
|
|
4
4
|
* @return {Object}
|
|
5
|
-
*/var buildFilterParamsForFetchFiltersRequest=function buildFilterParamsForFetchFiltersRequest(){var filters=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(!isPlainObject(filters)){return null;}var sanitizedFilters=Object.keys(filters).reduce(function(acc,filterId){var filter=filters[filterId];if(filter
|
|
5
|
+
*/var buildFilterParamsForFetchFiltersRequest=function buildFilterParamsForFetchFiltersRequest(){var filters=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(!isPlainObject(filters)){return null;}var sanitizedFilters=Object.keys(filters).reduce(function(acc,filterId){var filter=filters[filterId];if(filter!==null&&filter!==void 0&&filter.useForFetchFilters){// flag is set on filter level - remove flag and add to the result object
|
|
6
6
|
var useForFetchFilters=filter.useForFetchFilters,sanitizedFilter=_objectWithoutProperties(filter,_excluded);acc[filterId]=sanitizedFilter;}else if(Array.isArray(filter.value)){// check for flags on value level
|
|
7
|
-
var _sanitizedFilter=_extends({},filter,{value:filter.value.reduce(function(valueAcc,currentValue){var useForFetchFilters=currentValue.useForFetchFilters,sanitizedValue=_objectWithoutProperties(currentValue,_excluded2);if(currentValue
|
|
7
|
+
var _sanitizedFilter=_extends({},filter,{value:filter.value.reduce(function(valueAcc,currentValue){var useForFetchFilters=currentValue.useForFetchFilters,sanitizedValue=_objectWithoutProperties(currentValue,_excluded2);if(currentValue!==null&¤tValue!==void 0&¤tValue.useForFetchFilters){// flag is set on value level - consider value for the results object
|
|
8
8
|
valueAcc.push(sanitizedValue);}return valueAcc;},[])});if(_sanitizedFilter.value.length){// only add the filter when it has values that are supposed to be used for a filter request
|
|
9
9
|
acc[filterId]=_sanitizedFilter;}}return acc;},{});return Object.keys(sanitizedFilters).length?sanitizedFilters:null;};export default buildFilterParamsForFetchFiltersRequest;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{FILTER_TYPE_RANGE}from'@shopgate/engage/filter
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{FILTER_TYPE_RANGE}from'@shopgate/engage/filter';/**
|
|
2
2
|
* @param {Object} filters The available filters.
|
|
3
3
|
* @param {Object} activeFilters The selected filters.
|
|
4
4
|
* @returns {Object}
|
|
5
|
-
*/export default function buildInitialFilters(filters,activeFilters){var defaults={};if(!filters){return defaults;}filters.forEach(function(filter){var id=filter.id,maximum=filter.maximum,minimum=filter.minimum,type=filter.type;defaults[id]={type:type,value:type===FILTER_TYPE_RANGE?[minimum,maximum]:[]};});return _extends({},defaults,
|
|
5
|
+
*/export default function buildInitialFilters(filters,activeFilters){var defaults={};if(!filters){return defaults;}filters.forEach(function(filter){var id=filter.id,maximum=filter.maximum,minimum=filter.minimum,type=filter.type;defaults[id]={type:type,value:type===FILTER_TYPE_RANGE?[minimum,maximum]:[]};});return _extends({},defaults,activeFilters);}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e
|
|
1
|
+
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}/**
|
|
2
2
|
* @param {Object} initialFilters The filters before they where modified.
|
|
3
3
|
* @param {Object} updatedFilters The filters after they where modified.
|
|
4
4
|
* @return {Object}
|
|
5
5
|
*/export default function buildUpdatedFilters(initialFilters,updatedFilters){// Create a set of active filters by combining state and updatedFilters.
|
|
6
|
-
var activeFilters=_extends({},initialFilters,
|
|
6
|
+
var activeFilters=_extends({},initialFilters,updatedFilters);return Object.keys(activeFilters).reduce(function(result,filterId){var filter=activeFilters[filterId];if(filterId==='display_amount'){var _filter$value=_slicedToArray(filter.value,2),min=_filter$value[0],max=_filter$value[1];// Take care that the values for the display amount reflect the state of the price slider.
|
|
7
7
|
filter.value=[Math.floor(min/100)*100,Math.ceil(max/100)*100];}if(filter.value.length){// Only add filters with selected values.
|
|
8
8
|
return _extends({},result===null?{}:result,_defineProperty({},filterId,filter));}return result;},null);}
|