@shopgate/engage 7.27.3-alpha.16 → 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
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Conditionally wraps React children with another component.
|
|
3
|
+
* @param {Object} props The component props.
|
|
4
|
+
* @returns {JSX}
|
|
5
|
+
*/var ConditionalWrapper=function ConditionalWrapper(_ref){var condition=_ref.condition,wrapper=_ref.wrapper,children=_ref.children;return condition?wrapper(children):children;};export default ConditionalWrapper;
|
|
@@ -1,5 +1,24 @@
|
|
|
1
|
-
|
|
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 Portal from'@shopgate/pwa-common/components/Portal';import UIEvents from'@shopgate/pwa-core/emitters/ui';import{APP_FOOTER_CONTENT_BEFORE,APP_FOOTER_CONTENT_AFTER}from'@shopgate/pwa-common/constants/Portals';import{getAbsoluteHeight,getStyle}from'@shopgate/pwa-common/helpers/dom';import{SHEET_EVENTS}from'@shopgate/pwa-ui-shared/Sheet';import{footer,updateInsetBackgroundColor,updateFooterHeight}from"./Footer.style";var APP_FOOTER_ID='AppFooter';var DATA_IGNORED='data-footer-inset-update-ignore';/**
|
|
2
2
|
* The footer component.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
*/var Footer=/*#__PURE__*/function(_PureComponent){_inherits(Footer,_PureComponent);var _super=_createSuper(Footer);function Footer(){var _this;_classCallCheck(this,Footer);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"ref",/*#__PURE__*/React.createRef());_defineProperty(_assertThisInitialized(_this),"hide",function(){if(_this.ref.current){updateFooterHeight(0);}});_defineProperty(_assertThisInitialized(_this),"show",function(){if(_this.ref.current){updateFooterHeight(getAbsoluteHeight(_this.ref.current));}});return _this;}_createClass(Footer,[{key:"componentDidMount",value:/**
|
|
4
|
+
* Sets up the DOM Mutation Observer to take care that the footer inset always has the correct
|
|
5
|
+
* background color, which matches the background color of the last element within the footer.
|
|
6
|
+
*/function componentDidMount(){var _this2=this;this.performFooterUpdate();var observer=new MutationObserver(function(mutations){var update=mutations.filter(function(mutation){return mutation.target.getAttribute(DATA_IGNORED)!=='true';}).length>0;if(update){_this2.performFooterUpdate();}});observer.observe(this.ref.current,{attributes:true,childList:true,subtree:true});UIEvents.addListener(SHEET_EVENTS.OPEN,this.hide);UIEvents.addListener(SHEET_EVENTS.CLOSE,this.show);}/** @inheritDoc */},{key:"componentWillUnmount",value:function componentWillUnmount(){UIEvents.removeListener(SHEET_EVENTS.OPEN,this.hide);UIEvents.removeListener(SHEET_EVENTS.CLOSE,this.show);}},{key:"getInsetBackgroundColor",value:/**
|
|
7
|
+
* Retrieves the background color for the footer inset.
|
|
8
|
+
* @param {NodeList} elements The DOM elements to inspect.
|
|
9
|
+
* @returns {string|null}
|
|
10
|
+
*/function getInsetBackgroundColor(elements){var _this3=this;/**
|
|
11
|
+
* The background color of the bottom inset needs to identical to the last entry of the footer.
|
|
12
|
+
* So we loop backwards to the elements to find the first visible one.
|
|
13
|
+
*/var color=Array.from(elements).reverse().reduce(function(result,element){var ignore=element.getAttribute(DATA_IGNORED)==='true';if(result||ignore){// Nothing to do, since the color was already determined or the element can be ignored.
|
|
14
|
+
return result;}if(element.id===APP_FOOTER_ID){// Inspect core portal.
|
|
15
|
+
return _this3.getInsetBackgroundColor(element.children);}if('clientHeight'in element){// Take the background color of the last visible element from the end of the footer.
|
|
16
|
+
return getStyle(element,'backgroundColor');}// Nothing happened within this loop - proceed with the next one.
|
|
17
|
+
return result;},null);if(color==='rgba(0, 0, 0, 0)'||color==='transparent'){return null;}return color||null;}/** Perform hide action */},{key:"performFooterUpdate",value:/**
|
|
18
|
+
* Performs an update of the footer: background color, height.
|
|
19
|
+
*/function performFooterUpdate(){if(this.ref.current){updateFooterHeight(getAbsoluteHeight(this.ref.current));updateInsetBackgroundColor(this.getInsetBackgroundColor(this.ref.current.children));}}/**
|
|
20
|
+
* Checks if the footer has visible content.
|
|
21
|
+
* @returns {boolean}
|
|
22
|
+
*/},{key:"hasVisibleContent",value:function hasVisibleContent(){if(this.ref.current){var elements=this.ref.current.parentElement.querySelectorAll("div.".concat(footer.toString()," > *:not(#").concat(APP_FOOTER_ID,"), #").concat(APP_FOOTER_ID," > *"));return Array.from(elements).filter(function(element){return element.getAttribute(DATA_IGNORED)!=='true'&&element.clientHeight>0;}).length>0;}return false;}/**
|
|
23
|
+
* @returns {JSX}
|
|
24
|
+
*/},{key:"render",value:function render(){return/*#__PURE__*/React.createElement("div",{className:"".concat(footer," engage__footer"),ref:this.ref},/*#__PURE__*/React.createElement(Portal,{name:APP_FOOTER_CONTENT_BEFORE}),/*#__PURE__*/React.createElement("div",{id:APP_FOOTER_ID},this.props.children),/*#__PURE__*/React.createElement(Portal,{name:APP_FOOTER_CONTENT_AFTER}));}}]);return Footer;}(PureComponent);_defineProperty(Footer,"defaultProps",{children:null});export default Footer;
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import{css}from'glamor';var style=document.documentElement.style;/**
|
|
2
|
+
* Updates the background color of the bottom inset.
|
|
3
|
+
* @param {string} color The new background color
|
|
4
|
+
*/export var updateInsetBackgroundColor=function updateInsetBackgroundColor(color){if(style.getPropertyValue('--footer-inset-background-color')!==color){style.setProperty('--footer-inset-background-color',color);}};/**
|
|
5
|
+
* Update the footer height
|
|
6
|
+
* @param {number} height height
|
|
7
|
+
*/export var updateFooterHeight=function updateFooterHeight(height){var inset=Number(style.getPropertyValue('--safe-area-inset-bottom').replace(/\D/g,''));var footerHeight="".concat(inset+height,"px");if(style.getPropertyValue('--footer-height')!==footerHeight){style.setProperty('--footer-height',footerHeight);}};export var footer=css({bottom:0,flexShrink:1,position:'relative',zIndex:1,':after':{backgroundColor:'var(--footer-inset-background-color, var(--page-background-color))',height:'var(--safe-area-inset-bottom)',content:' ',display:'inherit',position:'relative',zIndex:15}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export var ELEMENT_TYPE_EMAIL='email';export var ELEMENT_TYPE_PASSWORD='password';export var ELEMENT_TYPE_TEXT='text';export var ELEMENT_TYPE_NUMBER='number';export var ELEMENT_TYPE_SELECT='select';export var
|
|
1
|
+
export var ELEMENT_TYPE_EMAIL='email';export var ELEMENT_TYPE_PASSWORD='password';export var ELEMENT_TYPE_TEXT='text';export var ELEMENT_TYPE_NUMBER='number';export var ELEMENT_TYPE_SELECT='select';export var ELEMENT_TYPE_COUNTRY='country';export var ELEMENT_TYPE_PROVINCE='province';export var ELEMENT_TYPE_CHECKBOX='checkbox';export var ELEMENT_TYPE_RADIO='radio';export var ELEMENT_TYPE_DATE='date';export var ELEMENT_TYPE_PHONE='phone';
|
|
@@ -1,65 +1,49 @@
|
|
|
1
|
-
|
|
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);}import _camelCase from"lodash/camelCase";var _defineProperty2;var _excluded=["validationErrors"];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 _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key];}}return target;}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key];}return target;}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 _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,{Component,Fragment}from'react';import PropTypes from'prop-types';import{logger}from'@shopgate/pwa-core/helpers';import Portal from'@shopgate/pwa-common/components/Portal';import{BEFORE,AFTER}from'@shopgate/pwa-common/constants/Portals';import{Form}from'..';import ActionListener from"./classes/ActionListener";import{ELEMENT_TYPE_EMAIL,ELEMENT_TYPE_PASSWORD,ELEMENT_TYPE_TEXT,ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_SELECT,ELEMENT_TYPE_COUNTRY,ELEMENT_TYPE_PROVINCE,ELEMENT_TYPE_CHECKBOX,ELEMENT_TYPE_RADIO,ELEMENT_TYPE_DATE,ELEMENT_TYPE_PHONE}from"./Builder.constants";import ElementText from"./ElementText";import ElementSelect from"./ElementSelect";import ElementRadio from"./ElementRadio";import ElementCheckbox from"./ElementCheckbox";import buildFormElements from"./helpers/buildFormElements";import buildFormDefaults from"./helpers/buildFormDefaults";import buildCountryList from"./helpers/buildCountryList";import buildProvinceList from"./helpers/buildProvinceList";import buildValidationErrorList from"./helpers/buildValidationErrorList";/**
|
|
2
|
+
* Takes a string and converts it to a part to be used in a portal name
|
|
3
|
+
* @package FormBuilder
|
|
4
|
+
* @param {string} s The string to be sanitized
|
|
5
|
+
* @return {string}
|
|
6
|
+
*/var sanitize=function sanitize(s){return s.replace(/[\\._]/,'-');};/**
|
|
2
7
|
* Optional select element
|
|
3
8
|
* @type {Object}
|
|
4
9
|
*/var emptySelectOption={'':''};/**
|
|
5
10
|
* Takes a form configuration and handles rendering and updates of the form fields.
|
|
6
11
|
* Note: Only one country and one province element is supported per FormBuilder instance.
|
|
7
|
-
*/var Builder=/*#__PURE__*/function(_Component){
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*/_defineProperty(_this2,"getFormElementComponent",function(type){return _this2.props.elements[type]||Builder.defaultElements[type]||null;});/**
|
|
13
|
-
* Sorts the elements by "sortOrder" property
|
|
14
|
-
*
|
|
15
|
-
* @typedef {Object} FormElement
|
|
16
|
-
* @property {number} sortOrder
|
|
17
|
-
*
|
|
18
|
-
* @param {FormElement} element1 First element
|
|
19
|
-
* @param {FormElement} element2 Second element
|
|
20
|
-
* @returns {number}
|
|
21
|
-
*/_defineProperty(_this2,"elementSortFunc",function(element1,element2){// Keep current sort order when no specific sort order was set for both
|
|
12
|
+
*/var Builder=/*#__PURE__*/function(_Component){_inherits(Builder,_Component);var _super=_createSuper(Builder);/**
|
|
13
|
+
* Initializes the component.
|
|
14
|
+
* @param {Object} props The components props.
|
|
15
|
+
*/function Builder(props){var _this;_classCallCheck(this,Builder);_this=_super.call(this,props);// Prepare internal state
|
|
16
|
+
_defineProperty(_assertThisInitialized(_this),"getFormElementComponent",function(type){return _this.props.elements[type]||Builder.defaultElements[type]||null;});_defineProperty(_assertThisInitialized(_this),"elementSortFunc",function(element1,element2){// Keep current sort order when no specific sort order was set for both
|
|
22
17
|
if(element1.sortOrder===undefined||element2.sortOrder===undefined){return 0;}// Sort in ascending order of sortOrder otherwise
|
|
23
|
-
return element1.sortOrder-element2.sortOrder;})
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
* @param {string} elementId Element to create the handler for
|
|
27
|
-
* @param {string} value Element value
|
|
28
|
-
*/_defineProperty(_this2,"elementChangeHandler",function(elementId,value){// "newState" is the state changes before any form actions have been applied
|
|
29
|
-
var newState=_extends({},_this2.state,{formData:_extends({},_this2.state.formData,_defineProperty({},elementId,value))});// Handle context sensitive functionality by via "action" listener and use the "new" state
|
|
30
|
-
var updatedNewState=_this2.actionListener.notify(elementId,_this2.state,newState);// Form actions can append validation errors by adding that field to the new state
|
|
18
|
+
return element1.sortOrder-element2.sortOrder;});_defineProperty(_assertThisInitialized(_this),"elementChangeHandler",function(elementId,value){// "newState" is the state changes before any form actions have been applied
|
|
19
|
+
var newState=_extends({},_this.state,{formData:_extends({},_this.state.formData,_defineProperty({},elementId,value))});// Handle context sensitive functionality by via "action" listener and use the "new" state
|
|
20
|
+
var updatedNewState=_this.actionListener.notify(elementId,_this.state,newState);// Form actions can append validation errors by adding that field to the new state
|
|
31
21
|
// Split out validation errors from final state and
|
|
32
22
|
var _updatedNewState$vali=updatedNewState.validationErrors,validationErrors=_updatedNewState$vali===void 0?{}:_updatedNewState$vali,finalState=_objectWithoutProperties(updatedNewState,_excluded);// "hasErrors" is true, when a visible + required field is empty or validation errors appeared!
|
|
33
23
|
var hasErrors=Object.keys(validationErrors).length>0;// Check "required" fields for all visible elements and enable rendering on changes
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var updateData={};
|
|
37
|
-
|
|
38
|
-
hasErrors?Object.keys(validationErrors).map(function(k){return{path:k,message:validationErrors[k]};}):[]);})
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
* @returns {JSX.Element}
|
|
45
|
-
*/_defineProperty(_this2,"renderElement",function(formName,element,elementErrorText){var formData=_this2.state.formData;var elementName="".concat(_this2.props.name,"_").concat(element.id);var elementValue=formData[element.id];var elementVisible=_this2.state.elementVisibility[element.id]||false;// Take a dynamic REACT element based on its type
|
|
46
|
-
var Element=_this2.getFormElementComponent(element.type);if(!Element){logger.error("Unknown form element type: ".concat(element.type));return null;}// Country and province elements have their data injected, if not already present
|
|
47
|
-
var elementData=element;switch(element.type){case ELEMENT_TYPE_COUNTRY:{elementData.options=element.options||_this2.countryList;break;}case ELEMENT_TYPE_PROVINCE:{// Province selection only makes sense with a country being selected, or from custom options
|
|
48
|
-
var countryElement=_this2.formElements.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});elementData.options=countryElement&&formData[countryElement.id]?buildProvinceList(formData[countryElement.id],// Auto-select with "empty" when not required
|
|
49
|
-
element.required?null:emptySelectOption):{};break;}default:break;}return React.createElement(Element,{name:elementName,element:elementData,errorText:elementErrorText,value:elementValue,visible:elementVisible,formName:formName});});_this2.state={elementVisibility:{},formData:{}};// Reorganize form elements into a structure that can be easily rendered
|
|
50
|
-
var formElements=buildFormElements(props.config,_this2.elementChangeHandler);// Compute defaults
|
|
24
|
+
_this.formElements.forEach(function(formElement){if(!finalState.elementVisibility[formElement.id]||!formElement.required){return;}var tmpVal=finalState.formData[formElement.id];var tmpResult=tmpVal===null||tmpVal===undefined||tmpVal===''||tmpVal===false;hasErrors=hasErrors||tmpResult;});// Handle state internally and send an "onChange" event to parent if this finished
|
|
25
|
+
_this.setState(finalState);// Transform to external structure (unavailable ones will be set undefined)
|
|
26
|
+
var updateData={};_this.formElements.forEach(function(el){if(el.custom){if(updateData.customAttributes===undefined){updateData.customAttributes={};}updateData.customAttributes[el.id]=finalState.formData[el.id];}else{updateData[el.id]=finalState.formData[el.id];}});// Trigger the given update action of the parent and provide all new validation errors to it
|
|
27
|
+
_this.props.handleUpdate(updateData,hasErrors,// Output validation errors in the same structure (array) as the component takes them
|
|
28
|
+
hasErrors?Object.keys(validationErrors).map(function(k){return{path:k,message:validationErrors[k]};}):[]);});_defineProperty(_assertThisInitialized(_this),"renderElement",function(element,elementErrorText){var elementName="".concat(_this.props.name,"_").concat(element.id);var elementValue=_this.state.formData[element.id];var elementVisible=_this.state.elementVisibility[element.id]||false;// Take a dynamic REACT element based on its type
|
|
29
|
+
var Element=_this.getFormElementComponent(element.type);if(!Element){logger.error("Unknown form element type: ".concat(element.type));return null;}// Country and province elements have their data injected, if not already present
|
|
30
|
+
var elementData=element;switch(element.type){case ELEMENT_TYPE_COUNTRY:{elementData.options=element.options||_this.countryList;break;}case ELEMENT_TYPE_PROVINCE:{// Province selection only makes sense with a country being selected, or from custom options
|
|
31
|
+
var countryElement=_this.formElements.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});elementData.options=element.options||(countryElement&&_this.state.formData[countryElement.id]?buildProvinceList(_this.state.formData[countryElement.id],// Auto-select with "empty" when not required
|
|
32
|
+
element.required?null:emptySelectOption):{});break;}default:break;}return/*#__PURE__*/React.createElement(Element,{name:elementName,element:elementData,errorText:elementErrorText,value:elementValue,visible:elementVisible});});_this.state={elementVisibility:{},formData:{}};// Reorganize form elements into a structure that can be easily rendered
|
|
33
|
+
var formElements=buildFormElements(props.config,_this.elementChangeHandler);// Compute defaults
|
|
51
34
|
var formDefaults=buildFormDefaults(formElements,props.defaults);// Assign defaults to state
|
|
52
|
-
|
|
35
|
+
_this.state.formData=formDefaults;// Handle fixed visibilities
|
|
53
36
|
formElements.forEach(function(element){// Assume as visible except it's explicitly set to "false"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var _countryElement=
|
|
57
|
-
var _Object$
|
|
58
|
-
var _newState=
|
|
37
|
+
_this.state.elementVisibility[element.id]=element.visible!==false;});_this.actionListener=new ActionListener(buildProvinceList,formDefaults);_this.actionListener.attachAll(formElements);// Sort the elements after attaching action listeners to keep action hierarchy same as creation
|
|
38
|
+
_this.formElements=formElements.sort(_this.elementSortFunc);// Assemble combined country/province list based on the config element
|
|
39
|
+
var _countryElement=_this.formElements.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});if(_countryElement){_this.countryList=buildCountryList(_countryElement,emptySelectOption);var provinceElement=_this.formElements.find(function(el){return el.type===ELEMENT_TYPE_PROVINCE;});if(provinceElement&&provinceElement.required&&!!formDefaults[_countryElement.id]&&!formDefaults[provinceElement.id]){// Set default for province field for given country
|
|
40
|
+
var _Object$values=Object.values(buildProvinceList(formDefaults[_countryElement.id])),_Object$values2=_slicedToArray(_Object$values,1),first=_Object$values2[0];if(first){_this.state.formData[provinceElement.id]=first;}}}// Final form initialization, by triggering actionListeners and enable rendering for elements
|
|
41
|
+
var _newState=_this.state;_this.formElements.forEach(function(element){_newState=_this.actionListener.notify(element.id,_this.state,_newState);});_this.state=_newState;return _this;}/**
|
|
42
|
+
* Retrieves a form element REACT component by the given type or null if the type is unknown.
|
|
43
|
+
* @param {string} type The type value of the element to return.
|
|
44
|
+
* @returns {*|ElementText|ElementSelect|ElementCheckbox|ElementRadio|null}
|
|
45
|
+
*/_createClass(Builder,[{key:"render",value:/**
|
|
59
46
|
* Renders the component based on the given config
|
|
60
|
-
* @return {JSX
|
|
61
|
-
*/function render(){var
|
|
62
|
-
var validationErrors=buildValidationErrorList(this.props.validationErrors);
|
|
63
|
-
* Initializes the component.
|
|
64
|
-
* @param {Object} props The components props.
|
|
65
|
-
*/});export default Builder;
|
|
47
|
+
* @return {JSX}
|
|
48
|
+
*/function render(){var _this2=this;// Convert validation errors for easier handling
|
|
49
|
+
var validationErrors=buildValidationErrorList(this.props.validationErrors);return/*#__PURE__*/React.createElement(Form,{className:_camelCase(this.props.name),onSubmit:this.props.onSubmit},/*#__PURE__*/React.createElement("div",{className:this.props.className},this.formElements.map(function(element){return/*#__PURE__*/React.createElement(Fragment,{key:"".concat(_this2.props.name,"_").concat(element.id)},/*#__PURE__*/React.createElement(Portal,{name:"".concat(sanitize(_this2.props.name),".").concat(sanitize(element.id),".").concat(BEFORE)}),/*#__PURE__*/React.createElement(Portal,{name:"".concat(sanitize(_this2.props.name),".").concat(sanitize(element.id))},_this2.renderElement(element,validationErrors[element.id]||'')),/*#__PURE__*/React.createElement(Portal,{name:"".concat(sanitize(_this2.props.name),".").concat(sanitize(element.id),".").concat(AFTER)}));})));}}]);return Builder;}(Component);_defineProperty(Builder,"defaultElements",(_defineProperty2={},_defineProperty(_defineProperty2,ELEMENT_TYPE_EMAIL,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_PASSWORD,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_TEXT,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_NUMBER,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_SELECT,ElementSelect),_defineProperty(_defineProperty2,ELEMENT_TYPE_COUNTRY,ElementSelect),_defineProperty(_defineProperty2,ELEMENT_TYPE_PROVINCE,ElementSelect),_defineProperty(_defineProperty2,ELEMENT_TYPE_CHECKBOX,ElementCheckbox),_defineProperty(_defineProperty2,ELEMENT_TYPE_RADIO,ElementRadio),_defineProperty(_defineProperty2,ELEMENT_TYPE_DATE,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_PHONE,ElementText),_defineProperty2));_defineProperty(Builder,"defaultProps",{className:null,defaults:{},elements:Builder.defaultElements,onSubmit:function onSubmit(){},validationErrors:[]});export default Builder;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import
|
|
1
|
+
import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import Checkbox from'@shopgate/pwa-ui-shared/Form/Checkbox';/**
|
|
2
2
|
* Takes an element and renders it, if the type matches
|
|
3
3
|
* @param {Object} props Component props.
|
|
4
4
|
* @param {Object} props.element The data of the element to be rendered
|
|
5
5
|
* @returns {JSX}
|
|
6
|
-
*/var ElementCheckbox=function ElementCheckbox(props){var element=props.element,errorText=props.errorText,value=props.value,name=props.name,visible=props.visible
|
|
6
|
+
*/var ElementCheckbox=function ElementCheckbox(props){var element=props.element,errorText=props.errorText,value=props.value,name=props.name,visible=props.visible;if(!visible){return null;}return/*#__PURE__*/React.createElement("div",{className:"".concat(_camelCase(name)," engage__form-checkbox")},/*#__PURE__*/React.createElement(Checkbox,{name:name,errorText:errorText,checked:!!value,label:element.label,onChange:element.handleChange,translateErrorText:false}));};ElementCheckbox.defaultProps={value:false,visible:true};export default/*#__PURE__*/memo(ElementCheckbox);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import
|
|
1
|
+
import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import RadioGroup from'@shopgate/pwa-ui-shared/Form/RadioGroup';import RadioItem from'@shopgate/pwa-ui-shared/Form/RadioGroup/components/Item';/**
|
|
2
2
|
* Takes an element and renders it, if the type matches
|
|
3
3
|
* @param {Object} props Component props.
|
|
4
4
|
* @param {Object} props.element The data of the element to be rendered
|
|
5
5
|
* @returns {JSX}
|
|
6
|
-
*/var ElementRadio=function ElementRadio(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible
|
|
6
|
+
*/var ElementRadio=function ElementRadio(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible;if(!visible){return null;}return/*#__PURE__*/React.createElement("div",{className:"".concat(_camelCase(name)," engage__form-radio")},/*#__PURE__*/React.createElement(RadioGroup,{name:name,label:element.label,value:value,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false},Object.keys(element.options).map(function(itemName){return/*#__PURE__*/React.createElement(RadioItem,{key:"".concat(name,"_").concat(itemName),id:"".concat(name,"_").concat(_camelCase(itemName)),name:itemName,label:element.options[itemName]});})));};ElementRadio.defaultProps={value:'',visible:true};export default/*#__PURE__*/memo(ElementRadio);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import
|
|
1
|
+
import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import Select from'@shopgate/pwa-ui-shared/Form/Select';/**
|
|
2
2
|
* Takes an element and renders it, if the type matches
|
|
3
3
|
* @param {Object} props Component props.
|
|
4
4
|
* @param {Object} props.element The data of the element to be rendered
|
|
5
|
-
* @returns {JSX
|
|
6
|
-
*/var ElementSelect=function ElementSelect(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible
|
|
5
|
+
* @returns {JSX}
|
|
6
|
+
*/var ElementSelect=function ElementSelect(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible;if(!visible){return null;}return/*#__PURE__*/React.createElement("div",{className:"".concat(_camelCase(name)," engage__form-select")},/*#__PURE__*/React.createElement(Select,{name:name,label:element.label,placeholder:element.placeholder,value:value,options:element.options,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false}));};ElementSelect.defaultProps={value:'',visible:true};export default/*#__PURE__*/memo(ElementSelect);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import _camelCase from"lodash/camelCase";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,{memo}from'react';import PropTypes from'prop-types';import
|
|
2
|
-
var mapping=
|
|
1
|
+
import _camelCase from"lodash/camelCase";var _mapping;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,{memo}from'react';import PropTypes from'prop-types';import TextField from'@shopgate/pwa-ui-shared/TextField';import{ELEMENT_TYPE_TEXT,ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_EMAIL,ELEMENT_TYPE_PASSWORD,ELEMENT_TYPE_DATE,ELEMENT_TYPE_PHONE}from"./Builder.constants";// Map element type to input type
|
|
2
|
+
var mapping=(_mapping={},_defineProperty(_mapping,ELEMENT_TYPE_TEXT,'text'),_defineProperty(_mapping,ELEMENT_TYPE_NUMBER,'number'),_defineProperty(_mapping,ELEMENT_TYPE_EMAIL,'email'),_defineProperty(_mapping,ELEMENT_TYPE_PASSWORD,'password'),_defineProperty(_mapping,ELEMENT_TYPE_DATE,'date'),_defineProperty(_mapping,ELEMENT_TYPE_PHONE,'tel'),_mapping);/**
|
|
3
3
|
* Takes an element and renders it, if the type matches
|
|
4
4
|
* @param {Object} props Component props.
|
|
5
5
|
* @param {Object} props.element The data of the element to be rendered
|
|
6
|
-
* @returns {JSX
|
|
7
|
-
*/var ElementText=function ElementText(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible
|
|
6
|
+
* @returns {JSX}
|
|
7
|
+
*/var ElementText=function ElementText(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible;if(!visible){return null;}var type=mapping[element.type];return/*#__PURE__*/React.createElement("div",{className:"".concat(_camelCase(name)," engage__form-text")},/*#__PURE__*/React.createElement(TextField,{type:type,name:name,label:element.label,value:value,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false}));};ElementText.defaultProps={value:'',visible:true};export default/*#__PURE__*/memo(ElementText);
|
|
@@ -1,2 +1,2 @@
|
|
|
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;}export var ACTION_TYPE_UPDATE_PROVINCE_ELEMENT='updateProvinceElement';export var ACTION_TYPE_SET_VISIBILITY='setVisibility';export var ACTION_TYPE_SET_VALUE='setValue';export var ACTION_TYPE_TRANSFORM='transform';export var ACTION_SET_VALUE_FIXED='fixed';export var ACTION_SET_VALUE_COPY_FROM='copyFrom';export var ACTION_SET_VALUE_LENGTH_OF='lengthOf';export var ACTION_RULE_TYPE_NOT_IN='notIn';export var ACTION_RULE_TYPE_ONE_OF='oneOf';export var ACTION_RULE_TYPE_BOOLEAN='boolean';export var ACTION_RULE_TYPE_REGEX='regex';// Rule data is formatted as array
|
|
2
|
-
export var ACTION_RULE_DATA_TYPES=
|
|
1
|
+
var _ACTION_RULE_DATA_TYP;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;}export var ACTION_TYPE_UPDATE_PROVINCE_ELEMENT='updateProvinceElement';export var ACTION_TYPE_SET_VISIBILITY='setVisibility';export var ACTION_TYPE_SET_VALUE='setValue';export var ACTION_TYPE_TRANSFORM='transform';export var ACTION_SET_VALUE_FIXED='fixed';export var ACTION_SET_VALUE_COPY_FROM='copyFrom';export var ACTION_SET_VALUE_LENGTH_OF='lengthOf';export var ACTION_RULE_TYPE_NOT_IN='notIn';export var ACTION_RULE_TYPE_ONE_OF='oneOf';export var ACTION_RULE_TYPE_BOOLEAN='boolean';export var ACTION_RULE_TYPE_REGEX='regex';// Rule data is formatted as array
|
|
2
|
+
export var ACTION_RULE_DATA_TYPES=(_ACTION_RULE_DATA_TYP={},_defineProperty(_ACTION_RULE_DATA_TYP,ACTION_RULE_TYPE_NOT_IN,'array'),_defineProperty(_ACTION_RULE_DATA_TYP,ACTION_RULE_TYPE_ONE_OF,'array'),_defineProperty(_ACTION_RULE_DATA_TYP,ACTION_RULE_TYPE_BOOLEAN,'boolean'),_defineProperty(_ACTION_RULE_DATA_TYP,ACTION_RULE_TYPE_REGEX,'string'),_ACTION_RULE_DATA_TYP);export var ACTION_RULES_CONCAT_METHOD_ALL='all';export var ACTION_RULES_CONCAT_METHOD_ANY='any';export var ACTION_RULES_CONCAT_METHOD_NONE='none';
|
|
@@ -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
|
|
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;}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 _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 _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 _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}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{logger}from'@shopgate/pwa-core/helpers';import{ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_COUNTRY,ELEMENT_TYPE_PROVINCE,ELEMENT_TYPE_CHECKBOX}from"../Builder.constants";import{ACTION_TYPE_UPDATE_PROVINCE_ELEMENT,ACTION_TYPE_SET_VISIBILITY,ACTION_TYPE_SET_VALUE,ACTION_TYPE_TRANSFORM,ACTION_SET_VALUE_FIXED,ACTION_SET_VALUE_COPY_FROM,ACTION_SET_VALUE_LENGTH_OF,ACTION_RULE_TYPE_NOT_IN,ACTION_RULE_TYPE_ONE_OF,ACTION_RULE_TYPE_BOOLEAN,ACTION_RULE_TYPE_REGEX,ACTION_RULE_DATA_TYPES,ACTION_RULES_CONCAT_METHOD_ALL,ACTION_RULES_CONCAT_METHOD_ANY,ACTION_RULES_CONCAT_METHOD_NONE}from"./ActionListener.constants";/**
|
|
2
2
|
* ActionListener and handler for the FormBuilder component
|
|
3
3
|
*/var ActionListener=/*#__PURE__*/_createClass(/**
|
|
4
4
|
* Constructor
|
|
5
5
|
* @param {function(string)} getProvincesList Takes a country code and returns a list of provinces
|
|
6
6
|
* @param {Object} defaults Form defaults
|
|
7
|
-
*/function ActionListener(getProvincesList,defaults){var _this=this;_classCallCheck(this,ActionListener)
|
|
8
|
-
* Takes the elements to be rendered by the FormBuilder and attaches available action listeners
|
|
9
|
-
* to the component.
|
|
10
|
-
* @param {FormElement[]} elementList List of all elements
|
|
11
|
-
*/_defineProperty(this,"attachAll",function(elementList){// Attach action listeners for element (context) actions
|
|
7
|
+
*/function ActionListener(getProvincesList,defaults){var _this=this;_classCallCheck(this,ActionListener);_defineProperty(this,"attachAll",function(elementList){// Attach action listeners for element (context) actions
|
|
12
8
|
elementList.forEach(function(element){var elementActions=element.actions;if(element.type===ELEMENT_TYPE_PROVINCE){elementActions=elementActions||[];// Requires a country element to create a "update provinces" action
|
|
13
9
|
var countryElement=elementList.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});if(countryElement){// Attach new action, which is always triggered, when the (only) country element changes
|
|
14
10
|
elementActions.push({type:ACTION_TYPE_UPDATE_PROVINCE_ELEMENT,rules:[{context:countryElement.id}]});}}if(elementActions===undefined){return;}// Create listeners for all supported actions
|
|
@@ -16,82 +12,29 @@ elementActions.forEach(function(action){var actionRules=action.rules||[];// Alwa
|
|
|
16
12
|
if(actionRules.length===0){// Define a basic rule if no rules given
|
|
17
13
|
actionRules.push({context:element.id});}// Actions do have a fixed structure which needs to be fulfilled
|
|
18
14
|
var normalizedAction=_extends({},action,{rules:actionRules});// Assign the action listeners to all contexts of the current element
|
|
19
|
-
actionRules.forEach(function(rule){_this.attach(element,normalizedAction,rule);});});});})
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* @param {FormFieldAction} action The action and it's params
|
|
23
|
-
* @param {FormFieldActionRule} rule The rule to check in case the action listener is triggered
|
|
24
|
-
*/_defineProperty(this,"attach",function(element,action,rule){var actionListener;switch(action.type){case ACTION_TYPE_UPDATE_PROVINCE_ELEMENT:{actionListener=_this.createUpdateProvinceElementHandler(element,action);break;}case ACTION_TYPE_SET_VISIBILITY:{// Visibility is special and uses the result of the evaluation itself
|
|
25
|
-
actionListener=_this.createSetVisibilityHandler(element,action);break;}case ACTION_TYPE_SET_VALUE:{actionListener=_this.createEvaluatedHandler(element,action,_this.createSetValueHandler(element,action));break;}case ACTION_TYPE_TRANSFORM:{actionListener=_this.createEvaluatedHandler(element,action,_this.createTransformHandler(element,action));break;}default:return;}_this.register(rule.context,actionListener);});/**
|
|
26
|
-
* Action listener creator to check all related rules before calling any further action listeners
|
|
27
|
-
* @param {FormElement} element The element for which the listener should be created for
|
|
28
|
-
* @param {FormFieldAction} action The action to be create a listener for
|
|
29
|
-
* @param {Function} actionListener The action listener to call if the rule applies
|
|
30
|
-
* @returns {Function} Returns a function to modify and return the modified state.
|
|
31
|
-
*/_defineProperty(this,"createEvaluatedHandler",function(element,action,actionListener){return function(prevState,nextState){// Apply rules before accepting any changes
|
|
32
|
-
if(!_this.evaluateRules(element,action,nextState)){return nextState;}return actionListener(prevState,nextState);};});/**
|
|
33
|
-
* Action listener creator to handle "updateCountryChange" action
|
|
34
|
-
* @param {FormElement} provinceEl The element for which the listener should be created for
|
|
35
|
-
* @param {FormFieldAction} action The action to be create a listener for
|
|
36
|
-
* @returns {Function} Returns a function to modify and return the modified state.
|
|
37
|
-
*/_defineProperty(this,"createUpdateProvinceElementHandler",function(provinceEl,action){return function(prevState,nextState){var countryElementId=action.rules[0].context;var countryValue=nextState.formData[countryElementId];var countryDefault=_this.defaults[countryElementId];var newState=_extends({},nextState);// Overwrite province with the form's default, if country matches the default as well
|
|
15
|
+
actionRules.forEach(function(rule){_this.attach(element,normalizedAction,rule);});});});});_defineProperty(this,"attach",function(element,action,rule){var actionListener;switch(action.type){case ACTION_TYPE_UPDATE_PROVINCE_ELEMENT:{actionListener=_this.createUpdateProvinceElementHandler(element,action);break;}case ACTION_TYPE_SET_VISIBILITY:{// Visibility is special and uses the result of the evaluation itself
|
|
16
|
+
actionListener=_this.createSetVisibilityHandler(element,action);break;}case ACTION_TYPE_SET_VALUE:{actionListener=_this.createEvaluatedHandler(element,action,_this.createSetValueHandler(element,action));break;}case ACTION_TYPE_TRANSFORM:{actionListener=_this.createEvaluatedHandler(element,action,_this.createTransformHandler(element,action));break;}default:return;}_this.register(rule.context,actionListener);});_defineProperty(this,"createEvaluatedHandler",function(element,action,actionListener){return function(prevState,nextState){// Apply rules before accepting any changes
|
|
17
|
+
if(!_this.evaluateRules(element,action,nextState)){return nextState;}return actionListener(prevState,nextState);};});_defineProperty(this,"createUpdateProvinceElementHandler",function(provinceEl,action){return function(prevState,nextState){var countryElementId=action.rules[0].context;var countryValue=nextState.formData[countryElementId];var countryDefault=_this.defaults[countryElementId];var newState=_extends({},nextState);// Overwrite province with the form's default, if country matches the default as well
|
|
38
18
|
if(countryValue===countryDefault){newState.formData[provinceEl.id]=_this.defaults[provinceEl.id];}else{// Update province to first or no selection, based on "required" attribute
|
|
39
|
-
newState.formData[provinceEl.id]=!provinceEl.required?'':Object.keys(_this.getProvincesList(countryValue))[0];}return newState;};})
|
|
40
|
-
* Action listener creator to handle "setVisibility" actions
|
|
41
|
-
* @param {FormElement} element The element for which the listener should be created for
|
|
42
|
-
* @param {FormFieldAction} action The action to be create a listener for
|
|
43
|
-
* @returns {Function} Returns a function to modify and return the modified state.
|
|
44
|
-
*/_defineProperty(this,"createSetVisibilityHandler",function(element,action){return function(prevState,nextState){var newState=_extends({},nextState,{elementVisibility:_extends({},nextState.elementVisibility,_defineProperty({},element.id,_this.evaluateRules(element,action,nextState))),// Copy form data to be able to check changes and all follow up actions
|
|
19
|
+
newState.formData[provinceEl.id]=!provinceEl.required?'':Object.keys(_this.getProvincesList(countryValue))[0];}return newState;};});_defineProperty(this,"createSetVisibilityHandler",function(element,action){return function(prevState,nextState){var newState=_extends({},nextState,{elementVisibility:_extends({},nextState.elementVisibility,_defineProperty({},element.id,_this.evaluateRules(element,action,nextState))),// Copy form data to be able to check changes and all follow up actions
|
|
45
20
|
formData:_extends({},nextState.formData)});if(newState.formData[element.id]===undefined&&newState.elementVisibility[element.id]){newState.formData[element.id]=_this.defaults[element.id];}else if(!newState.elementVisibility[element.id]&&newState.formData[element.id]!==undefined){delete newState.formData[element.id];}// Notify follow up listeners about the current change
|
|
46
|
-
if(nextState.formData[element.id]!==newState.formData[element.id]){newState=_this.notify(element.id,prevState,newState);}return newState;};})
|
|
47
|
-
* Action listener creator to handle "setValue" actions
|
|
48
|
-
* @param {FormElement} element The element for which the listener should be created for
|
|
49
|
-
* @param {FormFieldAction} action The action to be create a listener for
|
|
50
|
-
* @returns {Function} Returns the modified state.
|
|
51
|
-
*/_defineProperty(this,"createSetValueHandler",function(element,action){return function(prevState,nextState){if(_typeof(action.params)!=='object'||Array.isArray(action.params)){logger.error("Error: Invalid or missing form action in element '".concat(element.id,"'. ")+'Params must be in the format: { "type": string, "value": string }');return nextState;}var value=action.params.value;// Check correctness of value data type
|
|
21
|
+
if(nextState.formData[element.id]!==newState.formData[element.id]){newState=_this.notify(element.id,prevState,newState);}return newState;};});_defineProperty(this,"createSetValueHandler",function(element,action){return function(prevState,nextState){if(_typeof(action.params)!=='object'||Array.isArray(action.params)){logger.error("Error: Invalid or missing form action in element '".concat(element.id,"'. ")+'Params must be in the format: { "type": string, "value": string }');return nextState;}var value=action.params.value;// Check correctness of value data type
|
|
52
22
|
switch(_typeof(value)){case'boolean':if(element.type!==ELEMENT_TYPE_CHECKBOX){logger.error("Error: Invalid form action param in element '".concat(element.id,"'. ")+"Allowed '".concat(ELEMENT_TYPE_CHECKBOX,"' data type for 'params.value' is: 'boolean'"));return nextState;}break;case'number':if(element.type!==ELEMENT_TYPE_NUMBER){logger.error("Error: Invalid form action param in element '".concat(element.id,"'. ")+"Allowed '".concat(ELEMENT_TYPE_NUMBER,"' data types for 'params.value' are: ")+"'number' and 'string'");return nextState;}break;case'string':if(element.type===ELEMENT_TYPE_CHECKBOX){logger.error("Error: Invalid form action param in element '".concat(element.id,"'. ")+"Allowed '".concat(ELEMENT_TYPE_CHECKBOX,"' data type for 'params.value' is: 'boolean'"));return nextState;}break;default:logger.error("Error: Invalid form action param in element '".concat(element.id,"'. ")+"Can not use '".concat(_typeof(value),"' data for elements of type '").concat(element.type,"'"));return nextState;}// Perform action based on "setValue" type, defined in params
|
|
53
23
|
switch(action.params.type){case ACTION_SET_VALUE_LENGTH_OF:value="".concat(nextState.formData[action.params.value].length);break;case ACTION_SET_VALUE_COPY_FROM:value=nextState.formData[action.params.value];break;case undefined:case ACTION_SET_VALUE_FIXED:break;default:logger.error("Error: Invalid form action param 'type' in element '".concat(element.id,"'. ")+"Allowed param types are: '".concat(ACTION_SET_VALUE_LENGTH_OF,"', ")+"'".concat(ACTION_SET_VALUE_COPY_FROM,"', '").concat(ACTION_SET_VALUE_FIXED,"'"));return nextState;}var newState=_extends({},nextState,{formData:_extends({},nextState.formData,_defineProperty({},element.id,value))});// Notify follow up listeners about the current change, if there are any changes
|
|
54
|
-
if(nextState.formData[element.id]!==value){newState=_this.notify(element.id,prevState,newState);}return newState;};})
|
|
55
|
-
* Action listener creator to handle "transform" actions
|
|
56
|
-
* @param {FormElement} element The element for which the listener should be created for
|
|
57
|
-
* @param {FormFieldAction} action The action to be create a listener for
|
|
58
|
-
* @returns {Function} Returns a function to modify and return the modified state.
|
|
59
|
-
*/_defineProperty(this,"createTransformHandler",function(element,action){return function(prevState,nextState){/**
|
|
24
|
+
if(nextState.formData[element.id]!==value){newState=_this.notify(element.id,prevState,newState);}return newState;};});_defineProperty(this,"createTransformHandler",function(element,action){return function(prevState,nextState){/**
|
|
60
25
|
* Takes a string and applies a case function on it
|
|
61
26
|
* @param {string|boolean|number} subject The subject to be transformed
|
|
62
27
|
* @returns {string|boolean|number}
|
|
63
28
|
*/var transform=function transform(subject){// Get optional params to be applied in the transformation process
|
|
64
29
|
var args=action.params.value||[];if(Array.isArray(action.params.value)){args=action.params.value;}switch(_typeof(subject)){case'string':{if(typeof String.prototype[action.params.type]!=='function'&&typeof String[action.params.type]!=='function'){logger.error("Error: Invalid transform function passed to actions 'params.type' "+"attribute in element '".concat(element.id,"'. Must be withing 'String.prototype'!"));return subject;}if(typeof String.prototype[action.params.type]==='function'){return String.prototype[action.params.type].apply(subject,args);}return String[action.params.type](subject);}case'boolean':{if(typeof Boolean.prototype[action.params.type]!=='function'&&typeof Boolean[action.params.type]!=='function'){logger.error("Error: Invalid transform function passed to actions 'params.type' "+"attribute in element '".concat(element.id,"'. Must be withing 'String.prototype'!"));return subject;}if(typeof Boolean.prototype[action.params.type]==='function'){return Boolean.prototype[action.params.type].apply(subject,args);}return Boolean[action.params.type](subject);}case'number':{if(typeof Number.prototype[action.params.type]!=='function'&&typeof Number[action.params.type]!=='function'){logger.error("Error: Invalid transform function passed to actions 'params.type' "+"attribute in element '".concat(element.id,"'. Must be withing 'String.prototype'!"));return subject;}if(typeof Number.prototype[action.params.type]==='function'){return Number.prototype[action.params.type].apply(subject,args);}return Number[action.params.type](subject);}default:logger.error("Error: The given data can not be transformed. Must be of type 'string', "+"'boolean' or 'number'");return subject;}};var newState=_extends({},nextState,{formData:_extends({},nextState.formData,_defineProperty({},element.id,transform(nextState.formData[element.id])))});// Notify follow up listeners about the current change
|
|
65
|
-
if(nextState.formData[element.id]!==newState.formData[element.id]){newState=_this.notify(element.id,prevState,newState);}return newState;};})
|
|
66
|
-
* Evaluates all action rules of a given element action
|
|
67
|
-
*
|
|
68
|
-
* @param {FormElement} element The element of which the action rules should be evaluated
|
|
69
|
-
* @param {FormFieldAction} action The current action to be evaluate rules for
|
|
70
|
-
* @param {Object} nextState The state at the time before the "action" event finished
|
|
71
|
-
* @returns {boolean}
|
|
72
|
-
*/_defineProperty(this,"evaluateRules",function(element,action,nextState){var concatRules=_this.createConcatMethod(action.ruleConcatMethod);var resultInitValue=action.ruleConcatMethod!==ACTION_RULES_CONCAT_METHOD_ANY;var result=resultInitValue;action.rules.forEach(function(rule){var tmpResult=resultInitValue;var ruleType=rule.type;var ruleData=rule.data;// Default to rule type "boolean" and data true when type not given
|
|
30
|
+
if(nextState.formData[element.id]!==newState.formData[element.id]){newState=_this.notify(element.id,prevState,newState);}return newState;};});_defineProperty(this,"evaluateRules",function(element,action,nextState){var concatRules=_this.createConcatMethod(action.ruleConcatMethod);var resultInitValue=action.ruleConcatMethod!==ACTION_RULES_CONCAT_METHOD_ANY;var result=resultInitValue;action.rules.forEach(function(rule){var tmpResult=resultInitValue;var ruleType=rule.type;var ruleData=rule.data;// Default to rule type "boolean" and data true when type not given
|
|
73
31
|
if(ruleType===undefined){ruleType=ACTION_RULE_TYPE_BOOLEAN;ruleData=true;}// Check rule validity
|
|
74
32
|
if(!ACTION_RULE_DATA_TYPES[ruleType]){logger.error("Error: Unknown action rule type '".concat(ruleType,"'in element '").concat(element.id,"'"));return;}// Check type of ruleData
|
|
75
33
|
var ruleDataType=ACTION_RULE_DATA_TYPES[ruleType];if(ruleDataType==='array'&&!Array.isArray(ruleData)){logger.error("Error: Invalid FormBuilder action rule in element '".concat(element.id,"': ")+"data must be an 'array' for rule type '".concat(ruleType,"'"));return;}// eslint-disable-next-line valid-typeof
|
|
76
34
|
if(ruleDataType!=='array'&&_typeof(ruleData)!==ruleDataType){logger.error("Error: Invalid FormBuilder action rule in element '".concat(element.id,"': ")+"data must be '".concat(ruleDataType,"' for rule type '").concat(ruleType,"'"));return;}switch(ruleType){case ACTION_RULE_TYPE_ONE_OF:{tmpResult=ruleData.includes(nextState.formData[rule.context]);break;}case ACTION_RULE_TYPE_NOT_IN:{tmpResult=!ruleData.includes(nextState.formData[rule.context]);break;}case ACTION_RULE_TYPE_BOOLEAN:{tmpResult=ruleData;break;}case ACTION_RULE_TYPE_REGEX:{var regexParts=ruleData.split('/');var regexPattern='';var regexParam='';if(regexParts.length===1){var _regexParts=_slicedToArray(regexParts,1);regexPattern=_regexParts[0];}else if(regexParts.length===3){regexParts.shift();var _regexParts2=_slicedToArray(regexParts,2);regexPattern=_regexParts2[0];var _regexParts2$=_regexParts2[1];regexParam=_regexParts2$===void 0?'':_regexParts2$;}else{logger.error("Error: Invalid regex string in action rule in element ".concat(element.id));break;}var regex=new RegExp(regexPattern,regexParam);tmpResult=regex.test(nextState.formData[rule.context]);break;}default:break;}// Concat rules based on the rule concat method of the action
|
|
77
|
-
result=concatRules(result,tmpResult);});return result;})
|
|
78
|
-
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* @
|
|
82
|
-
*/
|
|
83
|
-
* Adds a "action" listener to a given context element
|
|
84
|
-
*
|
|
85
|
-
* @param {string} elementId the element to listen for
|
|
86
|
-
* @param {Function} handler The listener to call when something has changed
|
|
87
|
-
*/_defineProperty(this,"register",function(elementId,handler){if(!_this.actionListeners[elementId]){_this.actionListeners[elementId]=[];}_this.actionListeners[elementId].push(handler);});/**
|
|
88
|
-
* Takes an element id, the state to work with and optional data and notifies all "action"
|
|
89
|
-
* listeners about the change. Every listener can manipulate the state.
|
|
90
|
-
* Returns the new state.
|
|
91
|
-
*
|
|
92
|
-
* @param {string} elementId The id of the element that was changed
|
|
93
|
-
* @param {Object} prevState The state before any changes took place
|
|
94
|
-
* @param {Object} nextState The state containing all updates before the listeners are executed
|
|
95
|
-
* @returns {Object} The new state after all handlers have been executed.
|
|
96
|
-
*/_defineProperty(this,"notify",function(elementId,prevState,nextState){var newState=nextState;if(_this.actionListeners[elementId]){_this.actionListeners[elementId].forEach(function(notifyListener){// Note: The order of state changes is applied in the same order of listener registration
|
|
97
|
-
newState=notifyListener(prevState,newState);});}return newState;});this.defaults=defaults;this.getProvincesList=getProvincesList;this.actionListeners={};});export default ActionListener;
|
|
35
|
+
result=concatRules(result,tmpResult);});return result;});_defineProperty(this,"createConcatMethod",function(method){return function(prev,next){switch(method){case ACTION_RULES_CONCAT_METHOD_NONE:return prev&&!next;case ACTION_RULES_CONCAT_METHOD_ANY:return prev||next;case ACTION_RULES_CONCAT_METHOD_ALL:default:return prev&&next;}};});_defineProperty(this,"register",function(elementId,handler){if(!_this.actionListeners[elementId]){_this.actionListeners[elementId]=[];}_this.actionListeners[elementId].push(handler);});_defineProperty(this,"notify",function(elementId,prevState,nextState){var newState=nextState;if(_this.actionListeners[elementId]){_this.actionListeners[elementId].forEach(function(notifyListener){// Note: The order of state changes is applied in the same order of listener registration
|
|
36
|
+
newState=notifyListener(prevState,newState);});}return newState;});this.defaults=defaults;this.getProvincesList=getProvincesList;this.actionListeners={};}/**
|
|
37
|
+
* Takes the elements to be rendered by the FormBuilder and attaches available action listeners
|
|
38
|
+
* to the component.
|
|
39
|
+
* @param {FormElement[]} elementList List of all elements
|
|
40
|
+
*/);export default ActionListener;
|
|
@@ -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);}import{logger}from'@shopgate/pwa-core/helpers';import iso3166 from"./iso-3166-2"
|
|
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 _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{logger}from'@shopgate/pwa-core/helpers';import iso3166 from"./iso-3166-2";/**
|
|
2
2
|
* Get country list for
|
|
3
3
|
* @param {Object} countryElement Configuration of which form fields to render
|
|
4
4
|
* @param {?Object} optional object to prepend optional choice
|
|
@@ -6,5 +6,5 @@ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<argum
|
|
|
6
6
|
*/export default(function(countryElement){var optional=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;// Check validity of the country element options list "countries"
|
|
7
7
|
if(countryElement.countries!==null&&countryElement.countries!==undefined&&!Array.isArray(countryElement.countries)){logger.error("Error: Invalid property type 'countries' in element "+"'".concat(countryElement.id,"'. Must be 'array', 'null' or 'undefined'"));return{};}// Build country display list for the country element (whitelist)
|
|
8
8
|
// For 'null', 'undefined' and '[]' it shows all countries
|
|
9
|
-
var countryKeys;if(countryElement.countries
|
|
10
|
-
if(countryElement.required){return countryList;}return _extends({},optional,
|
|
9
|
+
var countryKeys;if(countryElement.countries.length>0){countryKeys=countryElement.countries;}else{countryKeys=Object.keys(iso3166);}var countryList=countryKeys.reduce(function(reducer,countryCode){if(!iso3166[countryCode]){logger.error("Error: unknown country code [".concat(countryCode,"]"));return reducer;}return _extends({},reducer,_defineProperty({},countryCode,iso3166[countryCode].name));},{});// Add a "no selection" element
|
|
10
|
+
if(countryElement.required){return countryList;}return _extends({},optional,countryList);});
|
|
@@ -1,4 +1,4 @@
|
|
|
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{ELEMENT_TYPE_CHECKBOX,ELEMENT_TYPE_SELECT}from"../Builder.constants";/**
|
|
2
2
|
* Prepare state of formData for form builder
|
|
3
3
|
* @param {Object} formElements form elements
|
|
4
4
|
* @param {Object} defaults form defaults
|
|
@@ -4,4 +4,4 @@ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<argum
|
|
|
4
4
|
* @param {string} countryCode Country code of the country to fetch provinces from
|
|
5
5
|
* @param {?Object} optional object to prepend optional choice
|
|
6
6
|
* @return {Object}
|
|
7
|
-
*/export default(function(countryCode){var optional=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(!iso3166){return{};}/** @property {iso3166} divisions */var provinceList=iso3166[countryCode]?iso3166[countryCode].divisions:{};if(!optional){return provinceList;}return _extends({},optional,
|
|
7
|
+
*/export default(function(countryCode){var optional=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(!iso3166){return{};}/** @property {iso3166} divisions */var provinceList=iso3166[countryCode]?iso3166[countryCode].divisions:{};if(!optional){return provinceList;}return _extends({},optional,provinceList);});
|
package/components/Form/Form.js
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
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 classNames from'classnames';/**
|
|
2
2
|
* Form component that handles keyboard submit, next buttons, ...
|
|
3
|
-
*/var Form=/*#__PURE__*/function(_PureComponent){
|
|
3
|
+
*/var Form=/*#__PURE__*/function(_PureComponent){_inherits(Form,_PureComponent);var _super=_createSuper(Form);/**
|
|
4
|
+
* Initializes the form component.
|
|
5
|
+
* @param {Object} props The components props.
|
|
6
|
+
*/function Form(props){var _this;_classCallCheck(this,Form);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"handleSubmit",function(event){event.preventDefault();var inputFocused=[].concat(_this.formElement.current.querySelectorAll('input')).some(function(input){return document.activeElement===input;});if(inputFocused){document.activeElement.blur();}_this.props.onSubmit();});_defineProperty(_assertThisInitialized(_this),"handleKeyPress",function(event){// Enter key and on iOS also the "Done" button.
|
|
7
|
+
if(event.which===13){_this.handleSubmit(event);}});_this.formElement=/*#__PURE__*/React.createRef();return _this;}/**
|
|
4
8
|
* Handles the form submit.
|
|
5
9
|
* @param {Object} event The event that caused the submit.
|
|
6
|
-
*/
|
|
7
|
-
* Handles form submits by key.
|
|
8
|
-
* @param {Object} event The event that caused the keypress.
|
|
9
|
-
*/_defineProperty(_this2,"handleKeyPress",function(event){// Enter key and on iOS also the "Done" button.
|
|
10
|
-
if(event.which===13){_this2.handleSubmit(event);}});_this2.formElement=React.createRef();return _this2;}_inherits(Form,_PureComponent);return _createClass(Form,[{key:"render",value:/**
|
|
10
|
+
*/_createClass(Form,[{key:"render",value:/**
|
|
11
11
|
* Renders the component.
|
|
12
12
|
* @returns {JSX}
|
|
13
|
-
*/function render(){/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */return
|
|
14
|
-
* Initializes the form component.
|
|
15
|
-
* @param {Object} props The components props.
|
|
16
|
-
*/});export default Form;
|
|
13
|
+
*/function render(){/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */return/*#__PURE__*/React.createElement("form",{action:"#",className:classNames(this.props.className,'form','engage__form'),onSubmit:this.handleSubmit,onKeyPress:this.handleKeyPress,ref:this.formElement},this.props.children);/* eslint-enable jsx-a11y/no-noninteractive-element-interactions */}}]);return Form;}(PureComponent);_defineProperty(Form,"defaultProps",{className:null,onSubmit:function onSubmit(){}});export default Form;
|
package/components/Form/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{Builder as FormBuilder}from"./Builder";export{default as Form}from"./Form";
|
|
1
|
+
export{Builder as FormBuilder}from"./Builder";export{default as Form}from"./Form";
|