@shopgate/engage 7.30.0-alpha.3 → 7.30.0-alpha.5
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/account/components/Account/Account.js +2 -2
- package/cart/components/CartItem/CartItem.js +2 -2
- package/cart/components/CartItems/CartItemGroup.js +2 -2
- package/cart/components/CartItems/CartItems.js +2 -2
- package/cart/components/CartItems/CartItemsHeaderWide.js +2 -2
- package/cart/components/CartSummaryWide/CartSummaryWide.js +2 -2
- package/cart/components/PaymentBar/PaymentBar.js +2 -2
- package/checkout/components/Checkout/CheckoutAddress.js +2 -2
- package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +2 -2
- package/checkout/components/ShippingMethods/ShippingMethods.js +2 -2
- package/components/MessageBar/MessageBar.js +2 -2
- package/components/Radio/Radio.js +2 -2
- package/components/RadioCard/RadioCard.js +2 -2
- package/components/RadioGroup/RadioGroup.js +2 -2
- package/components/SideNavigation/SideNavigation.js +2 -2
- package/locations/components/Cart/CartContextMenuChangeFulfillment.js +2 -2
- package/locations/components/FulfillmentSelector/FulfillmentSelector.js +2 -2
- package/locations/components/ReserveForm/ReserveForm.js +2 -2
- package/locations/components/StoreFinder/StoreFinder.js +2 -2
- package/locations/components/StoreList/StoreList.js +2 -2
- package/login/components/ForgotPassword/ForgotPassword.js +2 -2
- package/orders/components/OrderDetails/OrderDetails.js +2 -2
- package/orders/components/OrderHistory/OrderHistory.js +2 -2
- package/orders/components/OrderHistory/OrderHistoryLoader.js +2 -2
- package/package.json +7 -7
- package/page/components/WidgetRichText/WidgetRichText.js +1 -1
- package/page/widgets/HTML/HTML.js +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import PropTypes from'prop-types';import
|
|
1
|
+
import React from'react';import PropTypes from'prop-types';import I18n from'@shopgate/pwa-common/components/I18n';import appConfig from'@shopgate/pwa-common/helpers/config';import{i18n,useRoute}from'@shopgate/engage/core';import OrderHistory from"../../../orders/components/OrderHistory";import OrderHistoryProvider from"../../../orders/providers/OrderHistoryProvider";import{Tabs,Tab,TabPanel}from"../../../components/Tabs";import{tabs,title,tabPanel}from"./Account.style";import{ResponsiveContainer}from"../../../components";import Lists from"../../../favorites/components/Lists";import connect from"./Account.connector";import{TabContext}from"../../../components/Tabs/TabContext";import Profile from"../Profile";/**
|
|
2
2
|
* The Tabs components
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var Account=function Account(_ref){var historyReplace=_ref.historyReplace;var _useRoute=useRoute(),_useRoute$params$tab=_useRoute.params.tab,tab=_useRoute$params$tab===void 0?'profile':_useRoute$params$tab;return React.createElement(React.Fragment,null,React.createElement(TabContext,{value:tab},React.createElement("div",{className:tabs},React.createElement(ResponsiveContainer,{webOnly:true,breakpoint:">xs"},React.createElement("div",{className:title},React.createElement(I18n.Text,{string:"titles.your_account"}))),React.createElement(Tabs,{indicatorColor:"primary",textColor:"primary",onChange:function onChange(event,newValue){return historyReplace({pathname:"/account/".concat(newValue)});},"aria-label":"disabled tabs example"},React.createElement(Tab,{value:"profile",label:i18n.text('titles.profile')}),React.createElement(Tab,{value:"orders",label:i18n.text('titles.order_history')}),appConfig.hasFavorites?React.createElement(Tab,{value:"wish-list",label:i18n.text('titles.favorites')}):null)),React.createElement(TabPanel,{className:tabPanel,value:"profile"},React.createElement(Profile,null)),React.createElement(TabPanel,{className:tabPanel,value:"orders"},React.createElement(OrderHistoryProvider,null,React.createElement(OrderHistory,null))),appConfig.hasFavorites?React.createElement(TabPanel,{className:tabPanel,value:"wish-list"},React.createElement(Lists,null)):null));};export default
|
|
4
|
+
*/var Account=function Account(_ref){var historyReplace=_ref.historyReplace;var _useRoute=useRoute(),_useRoute$params$tab=_useRoute.params.tab,tab=_useRoute$params$tab===void 0?'profile':_useRoute$params$tab;return React.createElement(React.Fragment,null,React.createElement(TabContext,{value:tab},React.createElement("div",{className:tabs},React.createElement(ResponsiveContainer,{webOnly:true,breakpoint:">xs"},React.createElement("div",{className:title},React.createElement(I18n.Text,{string:"titles.your_account"}))),React.createElement(Tabs,{indicatorColor:"primary",textColor:"primary",onChange:function onChange(event,newValue){return historyReplace({pathname:"/account/".concat(newValue)});},"aria-label":"disabled tabs example"},React.createElement(Tab,{value:"profile",label:i18n.text('titles.profile')}),React.createElement(Tab,{value:"orders",label:i18n.text('titles.order_history')}),appConfig.hasFavorites?React.createElement(Tab,{value:"wish-list",label:i18n.text('titles.favorites')}):null)),React.createElement(TabPanel,{className:tabPanel,value:"profile"},React.createElement(Profile,null)),React.createElement(TabPanel,{className:tabPanel,value:"orders"},React.createElement(OrderHistoryProvider,null,React.createElement(OrderHistory,null))),appConfig.hasFavorites?React.createElement(TabPanel,{className:tabPanel,value:"wish-list"},React.createElement(Lists,null)):null));};export default connect(Account);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import*as React from'react';import{SurroundPortals}from'@shopgate/engage/components';import{CART_ITEM_TYPE_PRODUCT,CART_ITEM_TYPE_COUPON,CART_ITEM}from'@shopgate/pwa-common-commerce/cart';import{ProductListEntryProvider}from'@shopgate/engage/product';import CartItemProduct from"./CartItemProduct";import CartItemCoupon from"./CartItemCoupon";import CartItemProductProvider from"./CartItemProductProvider";/**
|
|
2
2
|
* The cart item component.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
4
|
* @property {Object} props.item The cart item.
|
|
5
5
|
* @property {Function} props.onFocus A function to indicate when the item has been focussed.
|
|
6
6
|
* @return {JSX.Element}
|
|
7
|
-
*/function CartItem(_ref){var item=_ref.item,onFocus=_ref.onFocus,editable=_ref.editable,currencyOverride=_ref.currencyOverride;if(item.type!==CART_ITEM_TYPE_PRODUCT&&item.type!==CART_ITEM_TYPE_COUPON){return null;}var props={item:item};var isProduct=item.type===CART_ITEM_TYPE_PRODUCT;if(isProduct){var _item$product;return React.createElement(ProductListEntryProvider,{productId:item===null||item===void 0?void 0:(_item$product=item.product)===null||_item$product===void 0?void 0:_item$product.id},React.createElement(SurroundPortals,{portalName:CART_ITEM,portalProps:props},React.createElement(CartItemProductProvider,{cartItem:item,onFocus:onFocus,isEditable:editable,currencyOverride:currencyOverride},React.createElement(CartItemProduct,null))));}return React.createElement(SurroundPortals,{portalName:CART_ITEM,portalProps:props},React.createElement(CartItemCoupon,{id:item.id,key:item.id,coupon:item.coupon,messages:item.messages,editable:editable}));}CartItem.defaultProps={editable:true,currencyOverride:null};export default
|
|
7
|
+
*/function CartItem(_ref){var item=_ref.item,onFocus=_ref.onFocus,editable=_ref.editable,currencyOverride=_ref.currencyOverride;if(item.type!==CART_ITEM_TYPE_PRODUCT&&item.type!==CART_ITEM_TYPE_COUPON){return null;}var props={item:item};var isProduct=item.type===CART_ITEM_TYPE_PRODUCT;if(isProduct){var _item$product;return React.createElement(ProductListEntryProvider,{productId:item===null||item===void 0?void 0:(_item$product=item.product)===null||_item$product===void 0?void 0:_item$product.id},React.createElement(SurroundPortals,{portalName:CART_ITEM,portalProps:props},React.createElement(CartItemProductProvider,{cartItem:item,onFocus:onFocus,isEditable:editable,currencyOverride:currencyOverride},React.createElement(CartItemProduct,null))));}return React.createElement(SurroundPortals,{portalName:CART_ITEM,portalProps:props},React.createElement(CartItemCoupon,{id:item.id,key:item.id,coupon:item.coupon,messages:item.messages,editable:editable}));}CartItem.defaultProps={editable:true,currencyOverride:null};export default React.memo(CartItem);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import*as React from'react';import CartItemGroupReservation from"./CartItemGroupReservation";/**
|
|
2
2
|
* Renders the product group.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
4
|
* @returns {JSX.Element}
|
|
5
|
-
*/function CartItemGroup(props){var multiLineReservation=props.multiLineReservation,fulfillmentLocationId=props.fulfillmentLocationId,children=props.children,fulfillmentMethod=props.fulfillmentMethod;if(!multiLineReservation){return children;}return React.createElement(React.Fragment,null,!!fulfillmentLocationId&&React.createElement(CartItemGroupReservation,{locationId:fulfillmentLocationId,fulfillmentMethod:fulfillmentMethod}),children);}CartItemGroup.defaultProps={fulfillmentLocationId:null,multiLineReservation:false,fulfillmentMethod:null};export default
|
|
5
|
+
*/function CartItemGroup(props){var multiLineReservation=props.multiLineReservation,fulfillmentLocationId=props.fulfillmentLocationId,children=props.children,fulfillmentMethod=props.fulfillmentMethod;if(!multiLineReservation){return children;}return React.createElement(React.Fragment,null,!!fulfillmentLocationId&&React.createElement(CartItemGroupReservation,{locationId:fulfillmentLocationId,fulfillmentMethod:fulfillmentMethod}),children);}CartItemGroup.defaultProps={fulfillmentLocationId:null,multiLineReservation:false,fulfillmentMethod:null};export default CartItemGroup;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import*as React from'react';import{CardList,ResponsiveContainer}from'@shopgate/engage/components';import{FulfillmentSlotSwitcher}from'@shopgate/engage/locations';import CartItemsHeaderWide from"./CartItemsHeaderWide";import{CartItemProvider,CartItem}from"../CartItem";import{CartItemCard}from"./CartItemCard";import{items,card}from"./CartItems.style";import CartItemsSubstitution from"./CartItemsSubstitution";/**
|
|
2
2
|
* Renders the cart items.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
4
|
* @returns {JSX.Element}
|
|
5
|
-
*/function CartItems(_ref){var cartItems=_ref.cartItems,onFocus=_ref.onFocus,multiLineReservation=_ref.multiLineReservation,editable=_ref.editable,isOrderDetails=_ref.isOrderDetails,isCheckoutConfirmation=_ref.isCheckoutConfirmation,currencyOverride=_ref.currencyOverride,isDirectShipOnly=_ref.isDirectShipOnly;if(!cartItems||cartItems.length===0){return null;}return React.createElement(React.Fragment,null,React.createElement(ResponsiveContainer,{breakpoint:">xs",webOnly:true},React.createElement(CartItemsHeaderWide,{editable:editable,isOrderDetails:isOrderDetails,isDirectShipOnly:isDirectShipOnly,isCheckoutConfirmation:isCheckoutConfirmation})),React.createElement(CardList,{className:items},!isOrderDetails?React.createElement(ResponsiveContainer,{appAlways:true,breakpoint:"<=xs"},React.createElement(FulfillmentSlotSwitcher,{renderBar:true,card:true,editable:editable})):null,editable&&!isDirectShipOnly&&React.createElement(ResponsiveContainer,{breakpoint:"<=xs",appAlways:true},React.createElement(CartItemsSubstitution,{cartItems:cartItems,wrapCard:true,className:card})),cartItems.map(function(item){return React.createElement(CardList.Item,{className:card,key:item.id},React.createElement(CartItemProvider,{cartItem:item,isEditable:editable,isOrderDetails:isOrderDetails,cartIsDirectShipOnly:isDirectShipOnly,isCheckoutConfirmation:isCheckoutConfirmation,locationId:item.fulfillmentLocationId},React.createElement("ul",null,React.createElement(CartItemCard,{multiLineReservation:multiLineReservation,fulfillmentLocationId:item.fulfillmentLocationId,fulfillmentMethod:item.fulfillmentMethod,hasMessages:Array.isArray(item.messages)&&item.messages.length>0},React.createElement(CartItem,{item:item,onFocus:onFocus,editable:editable,currencyOverride:currencyOverride})))));})));}CartItems.defaultProps={cartItems:null,multiLineReservation:null,editable:true,isOrderDetails:false,isDirectShipOnly:false,isCheckoutConfirmation:false,currencyOverride:null};export default
|
|
5
|
+
*/function CartItems(_ref){var cartItems=_ref.cartItems,onFocus=_ref.onFocus,multiLineReservation=_ref.multiLineReservation,editable=_ref.editable,isOrderDetails=_ref.isOrderDetails,isCheckoutConfirmation=_ref.isCheckoutConfirmation,currencyOverride=_ref.currencyOverride,isDirectShipOnly=_ref.isDirectShipOnly;if(!cartItems||cartItems.length===0){return null;}return React.createElement(React.Fragment,null,React.createElement(ResponsiveContainer,{breakpoint:">xs",webOnly:true},React.createElement(CartItemsHeaderWide,{editable:editable,isOrderDetails:isOrderDetails,isDirectShipOnly:isDirectShipOnly,isCheckoutConfirmation:isCheckoutConfirmation})),React.createElement(CardList,{className:items},!isOrderDetails?React.createElement(ResponsiveContainer,{appAlways:true,breakpoint:"<=xs"},React.createElement(FulfillmentSlotSwitcher,{renderBar:true,card:true,editable:editable})):null,editable&&!isDirectShipOnly&&React.createElement(ResponsiveContainer,{breakpoint:"<=xs",appAlways:true},React.createElement(CartItemsSubstitution,{cartItems:cartItems,wrapCard:true,className:card})),cartItems.map(function(item){return React.createElement(CardList.Item,{className:card,key:item.id},React.createElement(CartItemProvider,{cartItem:item,isEditable:editable,isOrderDetails:isOrderDetails,cartIsDirectShipOnly:isDirectShipOnly,isCheckoutConfirmation:isCheckoutConfirmation,locationId:item.fulfillmentLocationId},React.createElement("ul",null,React.createElement(CartItemCard,{multiLineReservation:multiLineReservation,fulfillmentLocationId:item.fulfillmentLocationId,fulfillmentMethod:item.fulfillmentMethod,hasMessages:Array.isArray(item.messages)&&item.messages.length>0},React.createElement(CartItem,{item:item,onFocus:onFocus,editable:editable,currencyOverride:currencyOverride})))));})));}CartItems.defaultProps={cartItems:null,multiLineReservation:null,editable:true,isOrderDetails:false,isDirectShipOnly:false,isCheckoutConfirmation:false,currencyOverride:null};export default CartItems;
|
|
@@ -1,3 +1,3 @@
|
|
|
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;}import React,{Fragment}from'react';import classNames from'classnames';import{
|
|
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;}import React,{Fragment}from'react';import classNames from'classnames';import{I18n}from'@shopgate/engage/components';import{header,column,priceColumnWide,imageColumn,detailsColumn,locationColumn,contextMenuColumn,quantityPickerColumn,quantityPickerColumnNotEditable}from"./CartItemsHeaderWide.style";import connect from"./CartItemsHeaderWide.connector";/**
|
|
2
2
|
* @returns {JSX}
|
|
3
|
-
*/var CartItemsHeaderWide=function CartItemsHeaderWide(_ref){var editable=_ref.editable,isOrderDetails=_ref.isOrderDetails,enabledFulfillmentMethodsCount=_ref.enabledFulfillmentMethodsCount,hasLineItemPromotions=_ref.hasLineItemPromotions,isDirectShipOnly=_ref.isDirectShipOnly;return React.createElement("div",{className:header},React.createElement("div",{className:imageColumn},React.createElement(I18n.Text,{string:"cart.items"})),React.createElement("div",{className:detailsColumn}),React.createElement("div",{className:classNames(column.toString(),_defineProperty({},priceColumnWide,hasLineItemPromotions))},React.createElement(I18n.Text,{string:"cart.price"})),isOrderDetails&&React.createElement(Fragment,null,!isDirectShipOnly?React.createElement("div",{className:locationColumn},React.createElement(I18n.Text,{string:"cart.location"})):null,React.createElement("div",{className:column},React.createElement(I18n.Text,{string:"cart.status"})),React.createElement("div",{className:column},React.createElement(I18n.Text,{string:"cart.fulfilled_quantity"}))),React.createElement("div",{className:editable?quantityPickerColumn:quantityPickerColumnNotEditable},React.createElement(I18n.Text,{string:isOrderDetails?'cart.ordered_quantity':'cart.quantity'})),React.createElement("div",{className:column},React.createElement(I18n.Text,{string:"cart.subtotal"})),editable&&enabledFulfillmentMethodsCount>1&&React.createElement("div",{className:contextMenuColumn}));};CartItemsHeaderWide.defaultProps={editable:true,isOrderDetails:false,isDirectShipOnly:false,hasLineItemPromotions:false};export default
|
|
3
|
+
*/var CartItemsHeaderWide=function CartItemsHeaderWide(_ref){var editable=_ref.editable,isOrderDetails=_ref.isOrderDetails,enabledFulfillmentMethodsCount=_ref.enabledFulfillmentMethodsCount,hasLineItemPromotions=_ref.hasLineItemPromotions,isDirectShipOnly=_ref.isDirectShipOnly;return React.createElement("div",{className:header},React.createElement("div",{className:imageColumn},React.createElement(I18n.Text,{string:"cart.items"})),React.createElement("div",{className:detailsColumn}),React.createElement("div",{className:classNames(column.toString(),_defineProperty({},priceColumnWide,hasLineItemPromotions))},React.createElement(I18n.Text,{string:"cart.price"})),isOrderDetails&&React.createElement(Fragment,null,!isDirectShipOnly?React.createElement("div",{className:locationColumn},React.createElement(I18n.Text,{string:"cart.location"})):null,React.createElement("div",{className:column},React.createElement(I18n.Text,{string:"cart.status"})),React.createElement("div",{className:column},React.createElement(I18n.Text,{string:"cart.fulfilled_quantity"}))),React.createElement("div",{className:editable?quantityPickerColumn:quantityPickerColumnNotEditable},React.createElement(I18n.Text,{string:isOrderDetails?'cart.ordered_quantity':'cart.quantity'})),React.createElement("div",{className:column},React.createElement(I18n.Text,{string:"cart.subtotal"})),editable&&enabledFulfillmentMethodsCount>1&&React.createElement("div",{className:contextMenuColumn}));};CartItemsHeaderWide.defaultProps={editable:true,isOrderDetails:false,isDirectShipOnly:false,hasLineItemPromotions:false};export default connect(CartItemsHeaderWide);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import{
|
|
1
|
+
import React from'react';import{i18n}from'@shopgate/engage/core';import{container,headline,summary,total,grandTotal}from"./CartSummaryWide.style";import PaymentBarSubTotal from"../PaymentBar/PaymentBarSubTotal";import PaymentBarGrandTotal from"../PaymentBar/PaymentBarGrandTotal";import PaymentBarShippingCost from"../PaymentBar/PaymentBarShippingCost";import PaymentBarDiscounts from"../PaymentBar/PaymentBarDiscounts";import PaymentBarTax from"../PaymentBar/PaymentBarTax";import PaymentBarAppliedPromotions from"../PaymentBar/PaymentBarAppliedPromotions";import PaymentBarPromotionCoupons from"../PaymentBar/PaymentBarPromotionCoupons";import CartSummaryWideCheckoutButton from"./CartSummaryWideCheckoutButton";import CartSummaryWideFooter from"./CartSummaryWideFooter";/**
|
|
2
2
|
* @param {Object} The component props
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var CartSummaryWide=function CartSummaryWide(){return React.createElement("div",{className:container},React.createElement("h2",{className:headline},i18n.text('checkout.summary.headline')),React.createElement("div",{className:summary},React.createElement(PaymentBarSubTotal,{showSeparator:false,label:"cart.subtotal",className:total}),React.createElement(PaymentBarAppliedPromotions,{showSeparator:false,className:total}),React.createElement(PaymentBarPromotionCoupons,{showSeparator:false,className:total}),React.createElement(PaymentBarDiscounts,{showSeparator:false,className:total}),React.createElement(PaymentBarShippingCost,{showSeparator:false,className:total}),React.createElement(PaymentBarTax,{showSeparator:false,className:total}),React.createElement(PaymentBarGrandTotal,{showSeparator:false,label:"cart.grand_total",className:grandTotal})),React.createElement(CartSummaryWideCheckoutButton,null),React.createElement(CartSummaryWideFooter,null));};export default
|
|
4
|
+
*/var CartSummaryWide=function CartSummaryWide(){return React.createElement("div",{className:container},React.createElement("h2",{className:headline},i18n.text('checkout.summary.headline')),React.createElement("div",{className:summary},React.createElement(PaymentBarSubTotal,{showSeparator:false,label:"cart.subtotal",className:total}),React.createElement(PaymentBarAppliedPromotions,{showSeparator:false,className:total}),React.createElement(PaymentBarPromotionCoupons,{showSeparator:false,className:total}),React.createElement(PaymentBarDiscounts,{showSeparator:false,className:total}),React.createElement(PaymentBarShippingCost,{showSeparator:false,className:total}),React.createElement(PaymentBarTax,{showSeparator:false,className:total}),React.createElement(PaymentBarGrandTotal,{showSeparator:false,label:"cart.grand_total",className:grandTotal})),React.createElement(CartSummaryWideCheckoutButton,null),React.createElement(CartSummaryWideFooter,null));};export default CartSummaryWide;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import*as React from'react';import PropTypes from'prop-types';import{
|
|
1
|
+
import*as React from'react';import PropTypes from'prop-types';import{createPortal}from'react-dom';import PaymentBarContent from"./PaymentBarContent";/**
|
|
2
2
|
* The cart payment bar component.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
4
|
* @returns {JSX}
|
|
5
|
-
*/function PaymentBar(_ref){var visible=_ref.visible,showSeparator=_ref.showSeparator;var domElement=document.getElementById('AppFooter');if(!visible||!domElement){return null;}return createPortal(React.createElement(PaymentBarContent,{showSeparator:showSeparator}),domElement);}PaymentBar.defaultProps={visible:true,showSeparator:false};export default
|
|
5
|
+
*/function PaymentBar(_ref){var visible=_ref.visible,showSeparator=_ref.showSeparator;var domElement=document.getElementById('AppFooter');if(!visible||!domElement){return null;}return createPortal(React.createElement(PaymentBarContent,{showSeparator:showSeparator}),domElement);}PaymentBar.defaultProps={visible:true,showSeparator:false};export default PaymentBar;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React,{Fragment,useMemo}from'react';import PropTypes from'prop-types';import{css}from'glamor';import{i18n}from'@shopgate/engage/core';import{themeConfig}from'@shopgate/engage';import{Link}from'@shopgate/engage/components';import{useProfileContext}from"../../../account/components/Profile/Profile.provider";import Section from"./CheckoutSection";import{useCheckoutContext}from"../../hooks/common";import{GUEST_CHECKOUT_PATTERN,CHECKOUT_ADDRESS_BOOK_PATH,CHECKOUT_ADDRESS_BOOK_CONTACT_PATTERN}from"../../constants/routes";import{ADDRESS_TYPE_BILLING,ADDRESS_TYPE_SHIPPING}from"../../constants";import iso3166 from"../../../components/Form/Builder/helpers/iso-3166-2";var variables=themeConfig.variables;export var styles={root:css({padding:"0 ".concat(variables.gap.big,"px ").concat(variables.gap.big,"px"),display:'flex',flexDirection:'column',flex:'0 0 auto'}).toString(),card:css({display:'flex',flexDirection:'column',fontSize:15,margin:'8px 0'}).toString(),link:css({fontSize:'0.875rem',color:'var(--color-primary)',textTransform:'uppercase',textAlign:'center'}).toString()};/**
|
|
2
2
|
* CheckoutAddress
|
|
3
3
|
* @param {Object} props The component props
|
|
4
4
|
* @returns {JSX}
|
|
5
5
|
*/var CheckoutAddress=function CheckoutAddress(_ref){var _address$middleName,_address$address,_address$address2,_address$address3,_iso3166$address$coun,_iso3166$address$coun2;var type=_ref.type;var _useCheckoutContext=useCheckoutContext(),billingAddress=_useCheckoutContext.billingAddress,shippingAddress=_useCheckoutContext.shippingAddress,orderReserveOnly=_useCheckoutContext.orderReserveOnly,isShippingAddressSelectionEnabled=_useCheckoutContext.isShippingAddressSelectionEnabled,isGuestCheckout=_useCheckoutContext.isGuestCheckout;var _ref2=useProfileContext()||{},_ref2$contacts=_ref2.contacts,contacts=_ref2$contacts===void 0?[]:_ref2$contacts;var address=useMemo(function(){return type===ADDRESS_TYPE_BILLING?billingAddress:shippingAddress;},[billingAddress,shippingAddress,type]);var headline=useMemo(function(){if(type===ADDRESS_TYPE_BILLING&&isGuestCheckout&&orderReserveOnly){return'checkout.billing.headline_reserve';}return"checkout.".concat(type,".headline");},[isGuestCheckout,orderReserveOnly,type]);var editLink=useMemo(function(){if(!address){return null;}if(isGuestCheckout){return"".concat(GUEST_CHECKOUT_PATTERN,"?edit=").concat(type);}return"".concat(CHECKOUT_ADDRESS_BOOK_PATH,"/").concat(type);},[address,isGuestCheckout,type]);var editLabel=useMemo(function(){if(isGuestCheckout){return undefined;}return"checkout.".concat(type,".change");},[isGuestCheckout,type]);var selectAddressLink=useMemo(function(){if(!address&&(!Array.isArray(contacts)||contacts.length===0)){return"".concat(CHECKOUT_ADDRESS_BOOK_CONTACT_PATTERN).replace(':type',type);}return"".concat(CHECKOUT_ADDRESS_BOOK_PATH,"/").concat(type);},[address,contacts,type]);if(isGuestCheckout&&!address){return null;}// Do not try to render the shipping address when it's not a directShip order
|
|
6
|
-
if(type===ADDRESS_TYPE_SHIPPING&&!isShippingAddressSelectionEnabled){return null;}return React.createElement("div",{className:styles.root},React.createElement(Section,{className:styles.card,title:headline,editLink:editLink,editLabel:editLabel},address?React.createElement(Fragment,null,React.createElement("span",null,((_address$middleName=address.middleName)===null||_address$middleName===void 0?void 0:_address$middleName.length)?"".concat(address.firstName," ").concat(address.middleName," ").concat(address.lastName):"".concat(address.firstName," ").concat(address.lastName)),type===ADDRESS_TYPE_BILLING&&isGuestCheckout&&orderReserveOnly&&React.createElement(Fragment,null,React.createElement("span",null,address.emailAddress),React.createElement("span",null,address.mobile)),React.createElement("span",null,address.address1),((_address$address=address.address2)===null||_address$address===void 0?void 0:_address$address.length)?React.createElement("span",null,address.address2):null,((_address$address2=address.address3)===null||_address$address2===void 0?void 0:_address$address2.length)?React.createElement("span",null,address.address3):null,((_address$address3=address.address4)===null||_address$address3===void 0?void 0:_address$address3.length)?React.createElement("span",null,address.address4):null,address.postalCode||address.region||address.city||address.country?React.createElement("span",null,i18n.text("checkout.".concat(type,".address"),{postalCode:address.postalCode||'',region:(iso3166===null||iso3166===void 0?void 0:(_iso3166$address$coun=iso3166[address.country])===null||_iso3166$address$coun===void 0?void 0:(_iso3166$address$coun2=_iso3166$address$coun.divisions)===null||_iso3166$address$coun2===void 0?void 0:_iso3166$address$coun2[address.region])||address.region||'',city:address.city||'',country:address.country||''})):null):React.createElement(Link,{href:selectAddressLink,className:styles.link},i18n.text("checkout.".concat(type,".select_address")))));};CheckoutAddress.defaultProps={type:ADDRESS_TYPE_BILLING};export default
|
|
6
|
+
if(type===ADDRESS_TYPE_SHIPPING&&!isShippingAddressSelectionEnabled){return null;}return React.createElement("div",{className:styles.root},React.createElement(Section,{className:styles.card,title:headline,editLink:editLink,editLabel:editLabel},address?React.createElement(Fragment,null,React.createElement("span",null,((_address$middleName=address.middleName)===null||_address$middleName===void 0?void 0:_address$middleName.length)?"".concat(address.firstName," ").concat(address.middleName," ").concat(address.lastName):"".concat(address.firstName," ").concat(address.lastName)),type===ADDRESS_TYPE_BILLING&&isGuestCheckout&&orderReserveOnly&&React.createElement(Fragment,null,React.createElement("span",null,address.emailAddress),React.createElement("span",null,address.mobile)),React.createElement("span",null,address.address1),((_address$address=address.address2)===null||_address$address===void 0?void 0:_address$address.length)?React.createElement("span",null,address.address2):null,((_address$address2=address.address3)===null||_address$address2===void 0?void 0:_address$address2.length)?React.createElement("span",null,address.address3):null,((_address$address3=address.address4)===null||_address$address3===void 0?void 0:_address$address3.length)?React.createElement("span",null,address.address4):null,address.postalCode||address.region||address.city||address.country?React.createElement("span",null,i18n.text("checkout.".concat(type,".address"),{postalCode:address.postalCode||'',region:(iso3166===null||iso3166===void 0?void 0:(_iso3166$address$coun=iso3166[address.country])===null||_iso3166$address$coun===void 0?void 0:(_iso3166$address$coun2=_iso3166$address$coun.divisions)===null||_iso3166$address$coun2===void 0?void 0:_iso3166$address$coun2[address.region])||address.region||'',city:address.city||'',country:address.country||''})):null):React.createElement(Link,{href:selectAddressLink,className:styles.link},i18n.text("checkout.".concat(type,".select_address")))));};CheckoutAddress.defaultProps={type:ADDRESS_TYPE_BILLING};export default CheckoutAddress;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_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 _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,{useMemo,useEffect,useState}from'react';import
|
|
1
|
+
import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_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 _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,{useMemo,useEffect,useState}from'react';import PropTypes from'prop-types';import{css}from'glamor';import{ResponsiveContainer,RippleButton}from'@shopgate/engage/components';import{responsiveMediaQuery}from'@shopgate/engage/styles';import{CartItems}from'@shopgate/engage/cart';import{themeConfig}from'@shopgate/pwa-common/helpers/config';import{useRoute}from'@shopgate/engage/core';import{i18n}from"../../../core/helpers/i18n";import{convertLineItemsToCartItems,isReserveOnlyOrder,isDirectShipOnlyOrder}from"../../helpers";import{ResponsiveBackButton}from"../ResponsiveBackButton";import CheckoutConfirmationPickUpContact from"./CheckoutConfirmationPickUpContact";import CheckoutConfirmationOrderContact from"./CheckoutConfirmationOrderContact";import CheckoutConfirmationPickupNotes from"./CheckoutConfirmationPickupNotes";import CheckoutConfirmationBilledTo from"./CheckoutConfirmationBilledTo";import CheckoutConfirmationShippedTo from"./CheckoutConfirmationShippedTo";import CheckoutConfirmationOrderSummary from"./CheckoutConfirmationOrderSummary";import{SupplementalContent}from"../SupplementalContent";import connect from"./CheckoutConfirmation.connector";var variables=themeConfig.variables;var style={root:css({display:'flex',flexDirection:'row'}),main:css(_defineProperty({flex:1},responsiveMediaQuery('>=md',{webOnly:true}),{paddingRight:16})),side:css(_defineProperty({},responsiveMediaQuery('>=md',{webOnly:true}),{marginTop:134,marginLeft:variables.gap.big*-1,flex:0.45})),cartItems:css({marginBottom:32}),container:css(_defineProperty({padding:"".concat(variables.gap.big,"px ").concat(variables.gap.small*1.5,"px 0 ").concat(variables.gap.xbig,"px")},responsiveMediaQuery('<sm'),{paddingLeft:variables.gap.big})),backButtonContainer:css(_defineProperty({paddingLeft:variables.gap.big,display:'none'},responsiveMediaQuery('>=sm',{webOnly:true}),{display:'block'})),heading:css({fontSize:'2.125rem',fontWeight:'normal',margin:0,lineHeight:'2.25rem',paddingBottom:variables.gap.xbig}),yourItemsHeading:css({fontSize:'1.25rem',fontWeight:'bold',margin:"".concat(variables.gap.bigger,"px 0 0")}),instructions:css({marginBottom:variables.gap.xbig}),body:css({border:0,fontSize:'0.875rem',lineHeight:'1.25rem'}),orderNum:css({padding:0,fontSize:'1.25rem',fontWeight:500,lineHeight:'1.5rem',margin:"0 0 ".concat(variables.gap.big,"px"),border:0}),button:css(_defineProperty({flex:'0 0 auto !important',borderRadius:'2px !important',minWidth:'50% !important'},responsiveMediaQuery('<md'),{width:'100%'})),buttonWrapper:css({padding:variables.gap.big}),supplementalWrapper:css({padding:"".concat(variables.gap.xbig,"px ").concat(variables.gap.big,"px")}).toString()};/**
|
|
2
2
|
* CheckoutConfirmation component
|
|
3
3
|
* @returns {JSX}
|
|
4
4
|
*/var CheckoutConfirmation=function CheckoutConfirmation(_ref){var onContinueShopping=_ref.onContinueShopping,isUserLoggedIn=_ref.isUserLoggedIn,fetchCheckoutOrder=_ref.fetchCheckoutOrder;var _useRoute=useRoute(),order=_useRoute.state.order,query=_useRoute.query;var _useState=useState(null),_useState2=_slicedToArray(_useState,2),orderData=_useState2[0],setOrderData=_useState2[1];// Finding the source of order data.
|
|
5
5
|
// Either from the route state or from a pipeline request.
|
|
6
6
|
useEffect(function(){/** */var handleFetch=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(){var data;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return fetchCheckoutOrder();case 2:data=_context.sent;setOrderData(data);case 4:case"end":return _context.stop();}},_callee);}));return function handleFetch(){return _ref2.apply(this,arguments);};}();if(!order){handleFetch();return;}setOrderData(order);},[fetchCheckoutOrder,order,query]);// Map order data to more UI friendly format.
|
|
7
|
-
var _useMemo=useMemo(function(){if(!orderData){return{};}return{orderNumber:orderData.orderNumber,date:orderData.date,cartItems:convertLineItemsToCartItems(orderData.lineItems),isReserveOnly:isReserveOnlyOrder(orderData),isDirectShipOnly:isDirectShipOnlyOrder(orderData),currencyOverride:orderData.currencyCode};},[orderData]),orderNumber=_useMemo.orderNumber,date=_useMemo.date,cartItems=_useMemo.cartItems,isReserveOnly=_useMemo.isReserveOnly,isDirectShipOnly=_useMemo.isDirectShipOnly,currencyOverride=_useMemo.currencyOverride;if(!orderData||!cartItems){return null;}return React.createElement("div",{className:style.root},React.createElement("div",{className:style.main},React.createElement("div",{className:style.backButtonContainer},React.createElement(ResponsiveBackButton,{label:"checkout.success.continue",onClick:onContinueShopping})),React.createElement("div",{className:style.container},React.createElement("h2",{className:style.heading},i18n.text('checkout.success.title')),React.createElement("p",{className:style.orderNum},i18n.text('checkout.success.order_date',{date:i18n.date(new Date(date).getTime(),'short')}),' | ',i18n.text('checkout.success.order_number',{orderNumber:orderNumber})),React.createElement("div",{className:style.instructions},React.createElement("p",{className:style.body},i18n.text('checkout.success.instructions_1')),React.createElement("p",{className:style.body},i18n.text('checkout.success.instructions_2')))),React.createElement("div",{className:style.cartItems},React.createElement(CartItems,{cartItems:cartItems,onFocus:function onFocus(){},multiLineReservation:true,editable:false,isCheckoutConfirmation:true,isDirectShipOnly:isDirectShipOnly,currencyOverride:currencyOverride})),React.createElement(ResponsiveContainer,{breakpoint:"<md",appAlways:true},React.createElement(CheckoutConfirmationPickUpContact,{order:orderData}),React.createElement(CheckoutConfirmationPickupNotes,{order:orderData}),React.createElement(CheckoutConfirmationShippedTo,{order:orderData}),!isUserLoggedIn&&isReserveOnly?React.createElement(CheckoutConfirmationOrderContact,{order:orderData}):React.createElement(CheckoutConfirmationBilledTo,{order:orderData}),React.createElement(CheckoutConfirmationOrderSummary,{order:orderData}),React.createElement(SupplementalContent,{className:style.supplementalWrapper})),React.createElement("div",{className:style.buttonWrapper},React.createElement(RippleButton,{type:"secondary",disabled:false,className:style.button.toString(),onClick:onContinueShopping},i18n.text('checkout.success.continue')))),React.createElement("div",{className:style.side},React.createElement(ResponsiveContainer,{breakpoint:">=md",webOnly:true},React.createElement(CheckoutConfirmationPickUpContact,{order:orderData}),React.createElement(CheckoutConfirmationPickupNotes,{order:orderData}),React.createElement(CheckoutConfirmationShippedTo,{order:orderData}),!isUserLoggedIn&&isReserveOnly?React.createElement(CheckoutConfirmationOrderContact,{order:orderData}):React.createElement(CheckoutConfirmationBilledTo,{order:orderData}),React.createElement(CheckoutConfirmationOrderSummary,{order:orderData}),React.createElement(SupplementalContent,{className:style.supplementalWrapper}))));};export default
|
|
7
|
+
var _useMemo=useMemo(function(){if(!orderData){return{};}return{orderNumber:orderData.orderNumber,date:orderData.date,cartItems:convertLineItemsToCartItems(orderData.lineItems),isReserveOnly:isReserveOnlyOrder(orderData),isDirectShipOnly:isDirectShipOnlyOrder(orderData),currencyOverride:orderData.currencyCode};},[orderData]),orderNumber=_useMemo.orderNumber,date=_useMemo.date,cartItems=_useMemo.cartItems,isReserveOnly=_useMemo.isReserveOnly,isDirectShipOnly=_useMemo.isDirectShipOnly,currencyOverride=_useMemo.currencyOverride;if(!orderData||!cartItems){return null;}return React.createElement("div",{className:style.root},React.createElement("div",{className:style.main},React.createElement("div",{className:style.backButtonContainer},React.createElement(ResponsiveBackButton,{label:"checkout.success.continue",onClick:onContinueShopping})),React.createElement("div",{className:style.container},React.createElement("h2",{className:style.heading},i18n.text('checkout.success.title')),React.createElement("p",{className:style.orderNum},i18n.text('checkout.success.order_date',{date:i18n.date(new Date(date).getTime(),'short')}),' | ',i18n.text('checkout.success.order_number',{orderNumber:orderNumber})),React.createElement("div",{className:style.instructions},React.createElement("p",{className:style.body},i18n.text('checkout.success.instructions_1')),React.createElement("p",{className:style.body},i18n.text('checkout.success.instructions_2')))),React.createElement("div",{className:style.cartItems},React.createElement(CartItems,{cartItems:cartItems,onFocus:function onFocus(){},multiLineReservation:true,editable:false,isCheckoutConfirmation:true,isDirectShipOnly:isDirectShipOnly,currencyOverride:currencyOverride})),React.createElement(ResponsiveContainer,{breakpoint:"<md",appAlways:true},React.createElement(CheckoutConfirmationPickUpContact,{order:orderData}),React.createElement(CheckoutConfirmationPickupNotes,{order:orderData}),React.createElement(CheckoutConfirmationShippedTo,{order:orderData}),!isUserLoggedIn&&isReserveOnly?React.createElement(CheckoutConfirmationOrderContact,{order:orderData}):React.createElement(CheckoutConfirmationBilledTo,{order:orderData}),React.createElement(CheckoutConfirmationOrderSummary,{order:orderData}),React.createElement(SupplementalContent,{className:style.supplementalWrapper})),React.createElement("div",{className:style.buttonWrapper},React.createElement(RippleButton,{type:"secondary",disabled:false,className:style.button.toString(),onClick:onContinueShopping},i18n.text('checkout.success.continue')))),React.createElement("div",{className:style.side},React.createElement(ResponsiveContainer,{breakpoint:">=md",webOnly:true},React.createElement(CheckoutConfirmationPickUpContact,{order:orderData}),React.createElement(CheckoutConfirmationPickupNotes,{order:orderData}),React.createElement(CheckoutConfirmationShippedTo,{order:orderData}),!isUserLoggedIn&&isReserveOnly?React.createElement(CheckoutConfirmationOrderContact,{order:orderData}):React.createElement(CheckoutConfirmationBilledTo,{order:orderData}),React.createElement(CheckoutConfirmationOrderSummary,{order:orderData}),React.createElement(SupplementalContent,{className:style.supplementalWrapper}))));};export default connect(CheckoutConfirmation);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _regeneratorRuntime from"@babel/runtime/regenerator";var _excluded=["serviceLevels"];function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}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 _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 _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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_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
|
|
1
|
+
import _regeneratorRuntime from"@babel/runtime/regenerator";var _excluded=["serviceLevels"];function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}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 _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 _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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useCallback,useEffect,useMemo,useState}from'react';import PropTypes from'prop-types';import{css}from'glamor';import classNames from'classnames';import CryptoJs from'crypto-js';import sortBy from'lodash/sortBy';import uniqBy from'lodash/uniqBy';import{themeConfig}from'@shopgate/pwa-common/helpers/config';import{i18n}from'@shopgate/engage/core';import{RadioGroupV2 as RadioGroup,RadioCard,MessageBar}from'@shopgate/engage/components';import{useCheckoutContext}from'@shopgate/engage/checkout/hooks/common';import ShippingMethod from"./ShippingMethod";import connect from"./connector";var variables=themeConfig.variables;var styles={root:css({padding:"0 ".concat(variables.gap.big,"px ").concat(variables.gap.xbig,"px")}).toString(),headline:css({fontSize:'1.25rem',fontWeight:'normal',padding:"0 ".concat(variables.gap.small,"px 0 0"),margin:"0 0 ".concat(variables.gap.small,"px 0"),color:'var(--color-text-high-emphasis)',textTransform:'none'}).toString(),container:css({border:'1px solid #eaeaea',' li:nth-child(2n)':{background:'var(--color-background-accent)'}}).toString(),containerSingle:css({padding:variables.gap.small}).toString(),card:css({display:'flex',alignItems:'center'}).toString(),errorMessage:css({margin:0}).toString(),iOSCard:css({width:'100%',overflow:'hidden',marginBottom:variables.gap.big}).toString()};/**
|
|
2
2
|
* Hashes a shipping method
|
|
3
3
|
* @param {Object} method A shipping method
|
|
4
4
|
* @returns {string}
|
|
@@ -20,4 +20,4 @@ var dedupedLevels=uniqBy(unsortedLevels,function(_ref4){var _serviceLevel$carrie
|
|
|
20
20
|
return sortBy(dedupedLevels,['serviceLevel.cost','serviceLevel.name']);},[availableShippingMethods]);var onChange=useCallback(/*#__PURE__*/function(){var _ref5=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(event,value){var _shippingMethod$servi,_shippingMethod$servi2,_shippingMethod$servi3;var shippingMethod;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:// Determine the selected shipping method by its hash
|
|
21
21
|
shippingMethod=shippingMethods.find(function(_ref6){var hash=_ref6.hash;return value===hash;});if(shippingMethod){_context.next=3;break;}return _context.abrupt("return");case 3:// Update the local state
|
|
22
22
|
setSelectedHash(shippingMethod===null||shippingMethod===void 0?void 0:shippingMethod.hash);// Perform the update request
|
|
23
|
-
_context.next=6;return updateShippingMethod({code:shippingMethod===null||shippingMethod===void 0?void 0:shippingMethod.code,serviceLevel:{code:shippingMethod===null||shippingMethod===void 0?void 0:(_shippingMethod$servi=shippingMethod.serviceLevel)===null||_shippingMethod$servi===void 0?void 0:_shippingMethod$servi.code,carrier:{code:shippingMethod===null||shippingMethod===void 0?void 0:(_shippingMethod$servi2=shippingMethod.serviceLevel)===null||_shippingMethod$servi2===void 0?void 0:(_shippingMethod$servi3=_shippingMethod$servi2.carrier)===null||_shippingMethod$servi3===void 0?void 0:_shippingMethod$servi3.code}}});case 6:case"end":return _context.stop();}},_callee);}));return function(_x,_x2){return _ref5.apply(this,arguments);};}(),[shippingMethods,updateShippingMethod]);if((order===null||order===void 0?void 0:order.status)!=='new'||!orderHasDirectShipItems){return null;}if(shippingMethods.length===0){return React.createElement("div",{className:styles.root},React.createElement("h3",{className:styles.headline},i18n.text('checkout.shippingMethod.title')),React.createElement(MessageBar,{messages:[{type:'error',message:i18n.text("checkout.shippingMethod.errors.".concat(!shippingAddress?'noShippingAddress':'invalidShippingAddress'))}],classNames:{container:styles.errorMessage},showIcons:true}));}return React.createElement("div",{className:styles.root},React.createElement("h3",{className:styles.headline},i18n.text('checkout.shippingMethod.title')),shippingMethods.length===1?React.createElement("div",{className:classNames(styles.container,styles.containerSingle)},React.createElement(ShippingMethod,{shippingMethod:shippingMethods[0]})):React.createElement(RadioGroup,{name:"shipping-methods",value:selectedHash,onChange:onChange,component:"ul",classes:{root:styles.container},disabled:isLoading},shippingMethods.map(function(shippingMethod){return React.createElement(RadioCard,{renderCard:CardComponent,value:shippingMethod.hash,key:shippingMethod.hash},React.createElement(ShippingMethod,{shippingMethod:shippingMethod}));})));};ShippingMethods.defaultProps={orderHasDirectShipItems:false};export default
|
|
23
|
+
_context.next=6;return updateShippingMethod({code:shippingMethod===null||shippingMethod===void 0?void 0:shippingMethod.code,serviceLevel:{code:shippingMethod===null||shippingMethod===void 0?void 0:(_shippingMethod$servi=shippingMethod.serviceLevel)===null||_shippingMethod$servi===void 0?void 0:_shippingMethod$servi.code,carrier:{code:shippingMethod===null||shippingMethod===void 0?void 0:(_shippingMethod$servi2=shippingMethod.serviceLevel)===null||_shippingMethod$servi2===void 0?void 0:(_shippingMethod$servi3=_shippingMethod$servi2.carrier)===null||_shippingMethod$servi3===void 0?void 0:_shippingMethod$servi3.code}}});case 6:case"end":return _context.stop();}},_callee);}));return function(_x,_x2){return _ref5.apply(this,arguments);};}(),[shippingMethods,updateShippingMethod]);if((order===null||order===void 0?void 0:order.status)!=='new'||!orderHasDirectShipItems){return null;}if(shippingMethods.length===0){return React.createElement("div",{className:styles.root},React.createElement("h3",{className:styles.headline},i18n.text('checkout.shippingMethod.title')),React.createElement(MessageBar,{messages:[{type:'error',message:i18n.text("checkout.shippingMethod.errors.".concat(!shippingAddress?'noShippingAddress':'invalidShippingAddress'))}],classNames:{container:styles.errorMessage},showIcons:true}));}return React.createElement("div",{className:styles.root},React.createElement("h3",{className:styles.headline},i18n.text('checkout.shippingMethod.title')),shippingMethods.length===1?React.createElement("div",{className:classNames(styles.container,styles.containerSingle)},React.createElement(ShippingMethod,{shippingMethod:shippingMethods[0]})):React.createElement(RadioGroup,{name:"shipping-methods",value:selectedHash,onChange:onChange,component:"ul",classes:{root:styles.container},disabled:isLoading},shippingMethods.map(function(shippingMethod){return React.createElement(RadioCard,{renderCard:CardComponent,value:shippingMethod.hash,key:shippingMethod.hash},React.createElement(ShippingMethod,{shippingMethod:shippingMethod}));})));};ShippingMethods.defaultProps={orderHasDirectShipItems:false};export default connect(ShippingMethods);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import*as React from'react';import PropTypes from'prop-types';import classnames from'classnames';import{i18n,errorBehavior}from'@shopgate/engage/core/helpers';import StopIcon from'@shopgate/pwa-ui-shared/icons/StopIcon';import InfoIcon from'@shopgate/pwa-ui-shared/icons/InfoIcon';import WarningIcon from'@shopgate/pwa-ui-shared/icons/WarningIcon';import*as styles from"./MessageBar.style";var iconMapping={info:InfoIcon,warning:WarningIcon,error:StopIcon};/**
|
|
2
2
|
* The MessageBar component.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
4
|
* @property {Array} props.messages The message content.
|
|
@@ -6,4 +6,4 @@ import{hot}from'react-hot-loader/root';import*as React from'react';import PropTy
|
|
|
6
6
|
* @property {boolean} props.raised whether to use specific styling.
|
|
7
7
|
* @property {boolean} props.showIcons whether to show icons.
|
|
8
8
|
* @return {JSX.Element}
|
|
9
|
-
*/var MessageBar=function MessageBar(_ref){var messages=_ref.messages,classNames=_ref.classNames,raised=_ref.raised,showIcons=_ref.showIcons;var containerClass=React.useMemo(function(){if(raised){return classnames(styles.containerRaised,classNames.containerRaised);}return classnames(styles.container,classNames.container);},[classNames.container,classNames.containerRaised,raised]);return React.createElement("div",{className:containerClass,role:messages.length>0?'alert':null},messages.map(function(item){var _item$type=item.type,type=_item$type===void 0?'info':_item$type,message=item.message,_item$messageParams=item.messageParams,messageParams=_item$messageParams===void 0?null:_item$messageParams,_item$additionalParam=item.additionalParams,additionalParams=_item$additionalParam===void 0?null:_item$additionalParam,_item$translated=item.translated,translated=_item$translated===void 0?false:_item$translated;var _item$icon=item.icon,Icon=_item$icon===void 0?null:_item$icon;if(Icon===null&&showIcons){Icon=iconMapping[type];}var messageOutput=!translated?errorBehavior.getErrorMessage(message,messageParams||additionalParams):message;return React.createElement("div",{key:"".concat(type,"-").concat(message),className:classnames(styles[type]?styles[type]():null,classNames.message,Icon?styles.withIcon:null),"aria-live":"assertive","aria-atomic":"true"},Icon&&React.createElement(Icon,{className:classnames(classNames.icon,styles.icon)}),React.createElement("span",{className:"sr-only"},"".concat(i18n.text("cart.message_type_".concat(type)),": ").concat(messageOutput)),React.createElement("span",{"aria-hidden":true,className:Icon?styles.messageToIcon:null},messageOutput));}));};MessageBar.defaultProps={classNames:{container:null,containerRaised:null,message:null,icon:null},raised:false,showIcons:false};export default
|
|
9
|
+
*/var MessageBar=function MessageBar(_ref){var messages=_ref.messages,classNames=_ref.classNames,raised=_ref.raised,showIcons=_ref.showIcons;var containerClass=React.useMemo(function(){if(raised){return classnames(styles.containerRaised,classNames.containerRaised);}return classnames(styles.container,classNames.container);},[classNames.container,classNames.containerRaised,raised]);return React.createElement("div",{className:containerClass,role:messages.length>0?'alert':null},messages.map(function(item){var _item$type=item.type,type=_item$type===void 0?'info':_item$type,message=item.message,_item$messageParams=item.messageParams,messageParams=_item$messageParams===void 0?null:_item$messageParams,_item$additionalParam=item.additionalParams,additionalParams=_item$additionalParam===void 0?null:_item$additionalParam,_item$translated=item.translated,translated=_item$translated===void 0?false:_item$translated;var _item$icon=item.icon,Icon=_item$icon===void 0?null:_item$icon;if(Icon===null&&showIcons){Icon=iconMapping[type];}var messageOutput=!translated?errorBehavior.getErrorMessage(message,messageParams||additionalParams):message;return React.createElement("div",{key:"".concat(type,"-").concat(message),className:classnames(styles[type]?styles[type]():null,classNames.message,Icon?styles.withIcon:null),"aria-live":"assertive","aria-atomic":"true"},Icon&&React.createElement(Icon,{className:classnames(classNames.icon,styles.icon)}),React.createElement("span",{className:"sr-only"},"".concat(i18n.text("cart.message_type_".concat(type)),": ").concat(messageOutput)),React.createElement("span",{"aria-hidden":true,className:Icon?styles.messageToIcon:null},messageOutput));}));};MessageBar.defaultProps={classNames:{container:null,containerRaised:null,message:null,icon:null},raised:false,showIcons:false};export default React.memo(MessageBar);
|
|
@@ -1,5 +1,5 @@
|
|
|
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
|
|
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 React from'react';import PropTypes from'prop-types';import classNames from'classnames';import{css}from'glamor';import CheckedIcon from'@shopgate/pwa-ui-shared/icons/RadioCheckedIcon';import UncheckedIcon from'@shopgate/pwa-ui-shared/icons/RadioUncheckedIcon';import{Ripple}from'@shopgate/engage/components';import{useRadioGroup}from"../RadioGroup";var styles={root:css({display:'inline-flex',alignItems:'inherit',justifyContent:'inherit',position:'relative',borderRadius:'50%'}).toString(),input:css({top:0,left:0,margin:0,opacity:0,padding:0,position:'absolute',zIndex:1,width:'100%',height:'100%'}).toString(),radioContainer:css({display:'flex',position:'relative',width:24,height:24}).toString(),radio:css({height:'100%',width:'100%'}).toString(),radioChecked:css({color:'var(--color-primary)'}).toString(),radioDisabled:css({opacity:0.5,pointerEvents:'none'}).toString(),ripple:css({padding:12}).toString()};/**
|
|
2
2
|
* The Radio component
|
|
3
3
|
* @param {Object} props The component props
|
|
4
4
|
* @returns {JSX}
|
|
5
|
-
*/var Radio=function Radio(_ref){var classes=_ref.classes,nameProp=_ref.name,onChangeProp=_ref.onChange,checkedProp=_ref.checked,disabledProp=_ref.disabled,valueProp=_ref.value,attributes=_ref.attributes;var radioGroup=useRadioGroup();var name=nameProp;var checked=checkedProp;var onChange=onChangeProp;if(radioGroup){if(checked===null){checked=radioGroup.value===valueProp;}if(typeof radioGroup.name!=='undefined'){name=radioGroup.name;}if(typeof radioGroup.onChange!=='undefined'){onChange=radioGroup.onChange;}}return React.createElement("span",{className:classNames(styles.root,classes.root)},React.createElement(Ripple,{className:styles.ripple,color:"var(--color-primary)"},React.createElement("input",_extends({className:styles.input,type:"radio",name:name,value:valueProp,checked:checked,onChange:onChange,disabled:disabledProp,id:"".concat(name,"_").concat(valueProp)},attributes)),React.createElement("div",{className:classNames(styles.radioContainer,_defineProperty(_defineProperty({},styles.radioDisabled,disabledProp),classes.disabled,disabledProp))},checked&&React.createElement(CheckedIcon,{className:classNames(styles.radio,styles.radioChecked,classes.radioChecked,'checkedIcon')}),!checked&&React.createElement(UncheckedIcon,{className:classNames(styles.radio,classes.radioUnchecked,'uncheckedIcon')}))));};Radio.defaultProps={classes:{},checked:null,disabled:false,onChange:null,name:null,value:null,attributes:null};export default
|
|
5
|
+
*/var Radio=function Radio(_ref){var classes=_ref.classes,nameProp=_ref.name,onChangeProp=_ref.onChange,checkedProp=_ref.checked,disabledProp=_ref.disabled,valueProp=_ref.value,attributes=_ref.attributes;var radioGroup=useRadioGroup();var name=nameProp;var checked=checkedProp;var onChange=onChangeProp;if(radioGroup){if(checked===null){checked=radioGroup.value===valueProp;}if(typeof radioGroup.name!=='undefined'){name=radioGroup.name;}if(typeof radioGroup.onChange!=='undefined'){onChange=radioGroup.onChange;}}return React.createElement("span",{className:classNames(styles.root,classes.root)},React.createElement(Ripple,{className:styles.ripple,color:"var(--color-primary)"},React.createElement("input",_extends({className:styles.input,type:"radio",name:name,value:valueProp,checked:checked,onChange:onChange,disabled:disabledProp,id:"".concat(name,"_").concat(valueProp)},attributes)),React.createElement("div",{className:classNames(styles.radioContainer,_defineProperty(_defineProperty({},styles.radioDisabled,disabledProp),classes.disabled,disabledProp))},checked&&React.createElement(CheckedIcon,{className:classNames(styles.radio,styles.radioChecked,classes.radioChecked,'checkedIcon')}),!checked&&React.createElement(UncheckedIcon,{className:classNames(styles.radio,classes.radioUnchecked,'uncheckedIcon')}))));};Radio.defaultProps={classes:{},checked:null,disabled:false,onChange:null,name:null,value:null,attributes:null};export default Radio;
|
|
@@ -1,4 +1,4 @@
|
|
|
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;}import
|
|
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;}import React from'react';import PropTypes from'prop-types';import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';import classNames from'classnames';import Card from'@shopgate/pwa-ui-shared/Card';import{useRadioGroup}from"../RadioGroup";import Radio from"../Radio";var variables=themeConfig.variables;var styles={card:css({borderRadius:4,padding:'8px 8px 8px 4px',display:'flex',alignItems:'center'}).toString(),content:css({padding:"".concat(variables.gap.small,"px ").concat(variables.gap.small,"px ").concat(variables.gap.small,"px 0"),width:'100%'}).toString(),contentDisabled:css({opacity:0.5,pointerEvents:'none'}).toString(),radio:css({alignItems:'center'}).toString()};/**
|
|
2
2
|
* The default card component
|
|
3
3
|
* @param {Object} props The component props
|
|
4
4
|
* @returns {JSX}
|
|
@@ -6,4 +6,4 @@ function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj
|
|
|
6
6
|
* The RadioCard component
|
|
7
7
|
* @param {Object} props The component props
|
|
8
8
|
* @returns {JSX}
|
|
9
|
-
*/var RadioCard=function RadioCard(_ref2){var children=_ref2.children,nameProp=_ref2.name,onChange=_ref2.onChange,checked=_ref2.checked,disabledProp=_ref2.disabled,value=_ref2.value,attributes=_ref2.attributes,classes=_ref2.classes,RenderCard=_ref2.renderCard;var radioGroup=useRadioGroup();var name=nameProp;var disabled=disabledProp;if(radioGroup){if(typeof radioGroup.name!=='undefined'){name=radioGroup.name;}if(typeof radioGroup.disabled!=='undefined'){disabled=radioGroup.disabled;}}return React.createElement(RenderCard,{className:classes.root},React.createElement(Radio,{name:name,value:value,onChange:onChange,disabled:disabled,checked:checked,attributes:attributes,classes:{root:styles.radio}}),React.createElement("label",{htmlFor:"".concat(name,"_").concat(value),className:classNames(styles.content,_defineProperty(_defineProperty({},styles.contentDisabled,disabled),classes.disabled,disabled))},children));};RadioCard.defaultProps={children:null,checked:null,classes:{},disabled:false,onChange:null,name:null,value:null,attributes:null,renderCard:CardComponent};export default
|
|
9
|
+
*/var RadioCard=function RadioCard(_ref2){var children=_ref2.children,nameProp=_ref2.name,onChange=_ref2.onChange,checked=_ref2.checked,disabledProp=_ref2.disabled,value=_ref2.value,attributes=_ref2.attributes,classes=_ref2.classes,RenderCard=_ref2.renderCard;var radioGroup=useRadioGroup();var name=nameProp;var disabled=disabledProp;if(radioGroup){if(typeof radioGroup.name!=='undefined'){name=radioGroup.name;}if(typeof radioGroup.disabled!=='undefined'){disabled=radioGroup.disabled;}}return React.createElement(RenderCard,{className:classes.root},React.createElement(Radio,{name:name,value:value,onChange:onChange,disabled:disabled,checked:checked,attributes:attributes,classes:{root:styles.radio}}),React.createElement("label",{htmlFor:"".concat(name,"_").concat(value),className:classNames(styles.content,_defineProperty(_defineProperty({},styles.contentDisabled,disabled),classes.disabled,disabled))},children));};RadioCard.defaultProps={children:null,checked:null,classes:{},disabled:false,onChange:null,name:null,value:null,attributes:null,renderCard:CardComponent};export default RadioCard;
|
|
@@ -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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_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
|
|
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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useCallback,useEffect}from'react';import PropTypes from'prop-types';import{css}from'glamor';import classNames from'classnames';import RadioGroupContext from"./RadioGroup.context";var styles={root:css({display:'flex',flexDirection:'column'}).toString()};/**
|
|
2
2
|
* @param {Object} props The component props
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var RadioGroup=function RadioGroup(_ref){var classes=_ref.classes,children=_ref.children,name=_ref.name,disabled=_ref.disabled,valueProp=_ref.value,defaultValue=_ref.defaultValue,onChange=_ref.onChange,Component=_ref.component;var _useState=useState(valueProp||defaultValue),_useState2=_slicedToArray(_useState,2),value=_useState2[0],setValue=_useState2[1];useEffect(function(){setValue(valueProp||defaultValue);},[defaultValue,valueProp]);var handleChange=useCallback(function(event){setValue(event.target.value);if(onChange){onChange(event,event.target.value);}},[onChange]);return React.createElement(RadioGroupContext.Provider,{value:{name:name,onChange:handleChange,value:value,disabled:disabled}},React.createElement(Component,{role:"radiogroup",className:classNames(styles.root,classes.root)},children));};RadioGroup.defaultProps={classes:{},children:null,defaultValue:null,disabled:false,value:null,onChange:null,component:'div'};export default
|
|
4
|
+
*/var RadioGroup=function RadioGroup(_ref){var classes=_ref.classes,children=_ref.children,name=_ref.name,disabled=_ref.disabled,valueProp=_ref.value,defaultValue=_ref.defaultValue,onChange=_ref.onChange,Component=_ref.component;var _useState=useState(valueProp||defaultValue),_useState2=_slicedToArray(_useState,2),value=_useState2[0],setValue=_useState2[1];useEffect(function(){setValue(valueProp||defaultValue);},[defaultValue,valueProp]);var handleChange=useCallback(function(event){setValue(event.target.value);if(onChange){onChange(event,event.target.value);}},[onChange]);return React.createElement(RadioGroupContext.Provider,{value:{name:name,onChange:handleChange,value:value,disabled:disabled}},React.createElement(Component,{role:"radiogroup",className:classNames(styles.root,classes.root)},children));};RadioGroup.defaultProps={classes:{},children:null,defaultValue:null,disabled:false,value:null,onChange:null,component:'div'};export default RadioGroup;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import
|
|
1
|
+
import React from'react';import SideNavigationProvider from"./SideNavigationProvider";import SideNavigationContent from"./SideNavigationContent";/**
|
|
2
2
|
* The SideNavigation component
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var SideNavigation=function SideNavigation(_ref){var maxCategoryNesting=_ref.maxCategoryNesting,routePatternBlacklist=_ref.routePatternBlacklist,classNames=_ref.classNames;return React.createElement(SideNavigationProvider,{maxCategoryNesting:maxCategoryNesting,routePatternBlacklist:routePatternBlacklist},React.createElement(SideNavigationContent,{classNames:classNames}));};SideNavigation.defaultProps={maxCategoryNesting:3,routePatternBlacklist:[],classNames:null};export default
|
|
4
|
+
*/var SideNavigation=function SideNavigation(_ref){var maxCategoryNesting=_ref.maxCategoryNesting,routePatternBlacklist=_ref.routePatternBlacklist,classNames=_ref.classNames;return React.createElement(SideNavigationProvider,{maxCategoryNesting:maxCategoryNesting,routePatternBlacklist:routePatternBlacklist},React.createElement(SideNavigationContent,{classNames:classNames}));};SideNavigation.defaultProps={maxCategoryNesting:3,routePatternBlacklist:[],classNames:null};export default SideNavigation;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React,{useMemo}from'react';import{
|
|
1
|
+
import React,{useMemo}from'react';import{FulfillmentProvider}from"../../providers";import{FulfillmentSheetContent}from"../FulfillmentSheet/FulfillmentSheetContent";import CartContextMenuChangeFulfillmentContent from"./CartContextMenuChangeFulfillmentContent";/**
|
|
2
2
|
* The CartContextMenuChangeFulfillmentContent component renders a context menu which enables
|
|
3
3
|
* switching the active fulfillment method for a cart item.
|
|
4
4
|
* @param {Object} props The component props.
|
|
5
5
|
* @returns {JSX}
|
|
6
|
-
*/var CartContextMenuChangeFulfillment=function CartContextMenuChangeFulfillment(_ref){var cartItem=_ref.cartItem;var contextProps=useMemo(function(){return{productId:cartItem.product.id,meta:{cartItem:cartItem},updatePreferredLocation:true};},[cartItem]);return React.createElement(FulfillmentProvider,contextProps,React.createElement(CartContextMenuChangeFulfillmentContent,null),React.createElement(FulfillmentSheetContent,null));};export default
|
|
6
|
+
*/var CartContextMenuChangeFulfillment=function CartContextMenuChangeFulfillment(_ref){var cartItem=_ref.cartItem;var contextProps=useMemo(function(){return{productId:cartItem.product.id,meta:{cartItem:cartItem},updatePreferredLocation:true};},[cartItem]);return React.createElement(FulfillmentProvider,contextProps,React.createElement(CartContextMenuChangeFulfillmentContent,null),React.createElement(FulfillmentSheetContent,null));};export default CartContextMenuChangeFulfillment;
|
|
@@ -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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_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
|
|
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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useEffect,useCallback,useMemo}from'react';import{SurroundPortals}from"../../../components";import{DIRECT_SHIP,ROPIS,BOPIS,STAGE_SELECT_STORE,PRODUCT_FULFILLMENT_SELECTOR}from"../../constants";import{FulfillmentSheet}from"../FulfillmentSheet";import{FulfillmentSelectorContext}from"./FulfillmentSelector.context";import{FulfillmentSelectorHeader}from"./FulfillmentSelectorHeader";import{FulfillmentSelectorItem}from"./FulfillmentSelectorItem";import{FulfillmentSelectorDirectShip}from"./FulfillmentSelectorDirectShip";import{FulfillmentSelectorBOPIS}from"./FulfillmentSelectorBOPIS";import{FulfillmentSelectorROPIS}from"./FulfillmentSelectorROPIS";import{FulfillmentSelectorAddToCart}from"./FulfillmentSelectorAddToCart";import{FulfillmentSelectorLocation}from"./FulfillmentSelectorLocation";import{container}from"./FulfillmentSelector.style";import connect from"./FulfillmentSelector.connector";/**
|
|
2
2
|
* Renders the fulfillment selector radio button group.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
4
|
* @returns {JSX}
|
|
@@ -17,4 +17,4 @@ setSelection(fulfillmentMethodFallback);return;}if(newLocationData){// Update th
|
|
|
17
17
|
setSelectedLocation(newLocationData.location);}},[fulfillmentMethodFallback,usedLocation]);/**
|
|
18
18
|
* Whenever the pick-up selection is made, open the
|
|
19
19
|
* store selector sheet and use the new location.
|
|
20
|
-
*/var handleChange=useCallback(function(method){var changeOnly=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;conditioner.without('fulfillment-inventory').check().then(function(passed){if(!passed){return;}setSelection(method);storeFulfillmentMethod(method);var isValidRopeSelection=[ROPIS,BOPIS].includes(method)&&!!preferredLocation&&!!preferredLocation.code;if(!changeOnly&&(isOpen||isValidRopeSelection)){return;}if(method===DIRECT_SHIP){setSelectedLocation(null);return;}setIsOpen(true);FulfillmentSheet.open({stage:STAGE_SELECT_STORE,callback:handleClose,changeOnly:changeOnly});});},[conditioner,handleClose,isOpen,preferredLocation,storeFulfillmentMethod]);var shopHasRopeMethods=useMemo(function(){if(!Array.isArray(shopFulfillmentMethods)){return false;}return shopFulfillmentMethods.filter(function(method){return method!==DIRECT_SHIP;}).length>0;},[shopFulfillmentMethods]);if(!shopHasRopeMethods){return null;}var context={selection:selection,selectedLocation:selectedLocation,inventory:inventory,preferredLocation:preferredLocation,isDirectShipEnabled:isDirectShipEnabled,isBOPISEnabled:isBOPISEnabled,isROPISEnabled:isROPISEnabled,isReady:isReady,productId:productId,handleChange:handleChange,conditioner:conditioner,merchantSettings:merchantSettings,fulfillmentPaths:fulfillmentPaths,userFulfillmentMethod:userFulfillmentMethod,isOrderable:isOrderable,shopFulfillmentMethods:shopFulfillmentMethods,productFulfillmentMethods:productFulfillmentMethods,locationFulfillmentMethods:locationFulfillmentMethods,useLocationFulfillmentMethods:useLocationFulfillmentMethods};return React.createElement(FulfillmentSelectorContext.Provider,{value:context},React.createElement(SurroundPortals,{portalName:PRODUCT_FULFILLMENT_SELECTOR},React.createElement("div",{className:container,role:"radiogroup",tabIndex:"0"},React.createElement(FulfillmentSelectorHeader,null),shopFulfillmentMethods.includes(DIRECT_SHIP)&&React.createElement(FulfillmentSelectorItem,{name:DIRECT_SHIP,onChange:handleChange,disabled:!isReady||!isDirectShipEnabled},React.createElement(FulfillmentSelectorDirectShip,null)),shopFulfillmentMethods.includes(BOPIS)&&React.createElement(FulfillmentSelectorItem,{name:BOPIS,onChange:handleChange,disabled:!isReady||!isBOPISEnabled},React.createElement(FulfillmentSelectorBOPIS,null)),shopFulfillmentMethods.includes(ROPIS)&&React.createElement(FulfillmentSelectorItem,{name:ROPIS,onChange:handleChange,disabled:!isReady||!isROPISEnabled},React.createElement(FulfillmentSelectorROPIS,null)))),React.createElement(FulfillmentSelectorLocation,null),React.createElement(FulfillmentSelectorAddToCart,null));}export default
|
|
20
|
+
*/var handleChange=useCallback(function(method){var changeOnly=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;conditioner.without('fulfillment-inventory').check().then(function(passed){if(!passed){return;}setSelection(method);storeFulfillmentMethod(method);var isValidRopeSelection=[ROPIS,BOPIS].includes(method)&&!!preferredLocation&&!!preferredLocation.code;if(!changeOnly&&(isOpen||isValidRopeSelection)){return;}if(method===DIRECT_SHIP){setSelectedLocation(null);return;}setIsOpen(true);FulfillmentSheet.open({stage:STAGE_SELECT_STORE,callback:handleClose,changeOnly:changeOnly});});},[conditioner,handleClose,isOpen,preferredLocation,storeFulfillmentMethod]);var shopHasRopeMethods=useMemo(function(){if(!Array.isArray(shopFulfillmentMethods)){return false;}return shopFulfillmentMethods.filter(function(method){return method!==DIRECT_SHIP;}).length>0;},[shopFulfillmentMethods]);if(!shopHasRopeMethods){return null;}var context={selection:selection,selectedLocation:selectedLocation,inventory:inventory,preferredLocation:preferredLocation,isDirectShipEnabled:isDirectShipEnabled,isBOPISEnabled:isBOPISEnabled,isROPISEnabled:isROPISEnabled,isReady:isReady,productId:productId,handleChange:handleChange,conditioner:conditioner,merchantSettings:merchantSettings,fulfillmentPaths:fulfillmentPaths,userFulfillmentMethod:userFulfillmentMethod,isOrderable:isOrderable,shopFulfillmentMethods:shopFulfillmentMethods,productFulfillmentMethods:productFulfillmentMethods,locationFulfillmentMethods:locationFulfillmentMethods,useLocationFulfillmentMethods:useLocationFulfillmentMethods};return React.createElement(FulfillmentSelectorContext.Provider,{value:context},React.createElement(SurroundPortals,{portalName:PRODUCT_FULFILLMENT_SELECTOR},React.createElement("div",{className:container,role:"radiogroup",tabIndex:"0"},React.createElement(FulfillmentSelectorHeader,null),shopFulfillmentMethods.includes(DIRECT_SHIP)&&React.createElement(FulfillmentSelectorItem,{name:DIRECT_SHIP,onChange:handleChange,disabled:!isReady||!isDirectShipEnabled},React.createElement(FulfillmentSelectorDirectShip,null)),shopFulfillmentMethods.includes(BOPIS)&&React.createElement(FulfillmentSelectorItem,{name:BOPIS,onChange:handleChange,disabled:!isReady||!isBOPISEnabled},React.createElement(FulfillmentSelectorBOPIS,null)),shopFulfillmentMethods.includes(ROPIS)&&React.createElement(FulfillmentSelectorItem,{name:ROPIS,onChange:handleChange,disabled:!isReady||!isROPISEnabled},React.createElement(FulfillmentSelectorROPIS,null)))),React.createElement(FulfillmentSelectorLocation,null),React.createElement(FulfillmentSelectorAddToCart,null));}export default connect(React.memo(FulfillmentSelector));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}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 _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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_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
|
|
1
|
+
import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}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 _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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import'react-phone-number-input/style.css';import React,{useState,useContext,useMemo,useRef,useLayoutEffect,useCallback,Fragment}from'react';import{TextField,RippleButton,RadioGroup,RadioGroupItem,ProgressBar}from'@shopgate/engage/components';import{useFormState}from"../../../core/hooks/useFormState";import{i18n}from"../../../core/helpers/i18n";import{FulfillmentContext}from"../../locations.context";import{ReserveFormPhone}from"./ReserveFormPhone";import{constraints}from"./ReserveForm.constraints";import{form,fieldset,formField,formHeading,pickerSwitch,pickerItem,button,progressBar}from"./ReserveForm.style";var PICKUP_PERSON_ME='me';var PICKUP_PERSON_OTHER='someoneelse';/**
|
|
2
2
|
* Determines the pick up person.
|
|
3
3
|
* @param {Object} userInput The current user input
|
|
4
4
|
* @return {string}
|
|
@@ -7,4 +7,4 @@ import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGenera
|
|
|
7
7
|
* @returns {JSX}
|
|
8
8
|
*/function ReserveFormUnwrapped(){var _useContext=useContext(FulfillmentContext),sendReservation=_useContext.sendReservation,userInput=_useContext.userInput;var _useState=useState(determinePickupPerson(userInput)),_useState2=_slicedToArray(_useState,2),picker=_useState2[0],setPicker=_useState2[1];var defaultState={firstName:'',lastName:'',cellPhone:'',email:'',firstName2:'',lastName2:'',cellPhone2:'',email2:''};var validationConstraints=useMemo(function(){return _extends({},constraints,{},picker===PICKUP_PERSON_OTHER&&{firstName2:constraints.firstName,lastName2:constraints.lastName,cellPhone2:constraints.cellPhone,email2:constraints.email});},[picker]);var initialState=userInput?_extends({},defaultState,{},userInput):defaultState;/**
|
|
9
9
|
* @param {Object} values The form values.
|
|
10
|
-
*/var complete=useCallback(/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values){var response;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:response=values;if(picker===PICKUP_PERSON_ME){response.firstName2=response.firstName;response.lastName2=response.lastName;response.cellPhone2=response.cellPhone;response.email2=response.email;}else{response.firstName2=response.firstName2||response.firstName;response.lastName2=response.lastName2||response.lastName;response.cellPhone2=response.cellPhone2||response.cellPhone;response.email2=response.email2||response.email;}_context.next=4;return sendReservation(response);case 4:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),[picker,sendReservation]);var _useFormState=useFormState(initialState,complete,validationConstraints),values=_useFormState.values,handleChange=_useFormState.handleChange,handleSubmit=_useFormState.handleSubmit,changed=_useFormState.changed,valid=_useFormState.valid,_useFormState$validat=_useFormState.validationErrors,validationErrors=_useFormState$validat===void 0?{}:_useFormState$validat,isSubmitting=_useFormState.isSubmitting;var someoneElseRef=useRef(null);useLayoutEffect(function(){if(someoneElseRef.current&&picker===PICKUP_PERSON_OTHER){someoneElseRef.current.scrollIntoView({behavior:'smooth'});}},[picker,someoneElseRef]);return React.createElement(Fragment,null,React.createElement("div",{className:progressBar},React.createElement(ProgressBar,{isVisible:isSubmitting})),React.createElement("form",{onSubmit:handleSubmit,className:form},React.createElement("fieldset",{className:fieldset},React.createElement(TextField,{name:"firstName",value:values.firstName,onChange:handleChange,label:i18n.text('locations.firstName'),className:formField,errorText:i18n.text(validationErrors.firstName)}),React.createElement(TextField,{name:"lastName",value:values.lastName,onChange:handleChange,label:i18n.text('locations.lastName'),className:formField,errorText:i18n.text(validationErrors.lastName)}),React.createElement(ReserveFormPhone,{name:"cellPhone",value:values.cellPhone,onChange:handleChange,label:i18n.text('locations.cellPhone'),errorText:i18n.text(validationErrors.cellPhone)}),React.createElement(TextField,{name:"email",value:values.email,onChange:handleChange,label:i18n.text('locations.emailAddress'),className:formField,errorText:i18n.text(validationErrors.email)})),React.createElement("p",{className:formHeading},i18n.text('locations.who_will_pickup')),React.createElement("div",{className:pickerSwitch},React.createElement(RadioGroup,{name:"picker",direction:"row",value:picker,onChange:setPicker},React.createElement(RadioGroupItem,{label:i18n.text('locations.me'),name:PICKUP_PERSON_ME,className:pickerItem}),React.createElement(RadioGroupItem,{label:i18n.text('locations.someone_else'),name:PICKUP_PERSON_OTHER,className:pickerItem}))),picker===PICKUP_PERSON_OTHER&&React.createElement("fieldset",{className:fieldset,ref:someoneElseRef},React.createElement(TextField,{name:"firstName2",value:values.firstName2,onChange:handleChange,label:i18n.text('locations.firstName'),className:formField,errorText:i18n.text(validationErrors.firstName2)}),React.createElement(TextField,{name:"lastName2",value:values.lastName2,onChange:handleChange,label:i18n.text('locations.lastName'),className:formField,errorText:i18n.text(validationErrors.lastName2)}),React.createElement(ReserveFormPhone,{name:"cellPhone2",value:values.cellPhone2,onChange:handleChange,label:i18n.text('locations.cellPhone'),errorText:i18n.text(validationErrors.cellPhone2)}),React.createElement(TextField,{name:"email2",value:values.email2,onChange:handleChange,label:i18n.text('locations.emailAddress'),className:formField,errorText:i18n.text(validationErrors.email2)})),React.createElement(RippleButton,{type:"secondary",disabled:changed||valid===false||isSubmitting,className:button},i18n.text('locations.place_reservation'))));}export var ReserveForm=
|
|
10
|
+
*/var complete=useCallback(/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values){var response;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:response=values;if(picker===PICKUP_PERSON_ME){response.firstName2=response.firstName;response.lastName2=response.lastName;response.cellPhone2=response.cellPhone;response.email2=response.email;}else{response.firstName2=response.firstName2||response.firstName;response.lastName2=response.lastName2||response.lastName;response.cellPhone2=response.cellPhone2||response.cellPhone;response.email2=response.email2||response.email;}_context.next=4;return sendReservation(response);case 4:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),[picker,sendReservation]);var _useFormState=useFormState(initialState,complete,validationConstraints),values=_useFormState.values,handleChange=_useFormState.handleChange,handleSubmit=_useFormState.handleSubmit,changed=_useFormState.changed,valid=_useFormState.valid,_useFormState$validat=_useFormState.validationErrors,validationErrors=_useFormState$validat===void 0?{}:_useFormState$validat,isSubmitting=_useFormState.isSubmitting;var someoneElseRef=useRef(null);useLayoutEffect(function(){if(someoneElseRef.current&&picker===PICKUP_PERSON_OTHER){someoneElseRef.current.scrollIntoView({behavior:'smooth'});}},[picker,someoneElseRef]);return React.createElement(Fragment,null,React.createElement("div",{className:progressBar},React.createElement(ProgressBar,{isVisible:isSubmitting})),React.createElement("form",{onSubmit:handleSubmit,className:form},React.createElement("fieldset",{className:fieldset},React.createElement(TextField,{name:"firstName",value:values.firstName,onChange:handleChange,label:i18n.text('locations.firstName'),className:formField,errorText:i18n.text(validationErrors.firstName)}),React.createElement(TextField,{name:"lastName",value:values.lastName,onChange:handleChange,label:i18n.text('locations.lastName'),className:formField,errorText:i18n.text(validationErrors.lastName)}),React.createElement(ReserveFormPhone,{name:"cellPhone",value:values.cellPhone,onChange:handleChange,label:i18n.text('locations.cellPhone'),errorText:i18n.text(validationErrors.cellPhone)}),React.createElement(TextField,{name:"email",value:values.email,onChange:handleChange,label:i18n.text('locations.emailAddress'),className:formField,errorText:i18n.text(validationErrors.email)})),React.createElement("p",{className:formHeading},i18n.text('locations.who_will_pickup')),React.createElement("div",{className:pickerSwitch},React.createElement(RadioGroup,{name:"picker",direction:"row",value:picker,onChange:setPicker},React.createElement(RadioGroupItem,{label:i18n.text('locations.me'),name:PICKUP_PERSON_ME,className:pickerItem}),React.createElement(RadioGroupItem,{label:i18n.text('locations.someone_else'),name:PICKUP_PERSON_OTHER,className:pickerItem}))),picker===PICKUP_PERSON_OTHER&&React.createElement("fieldset",{className:fieldset,ref:someoneElseRef},React.createElement(TextField,{name:"firstName2",value:values.firstName2,onChange:handleChange,label:i18n.text('locations.firstName'),className:formField,errorText:i18n.text(validationErrors.firstName2)}),React.createElement(TextField,{name:"lastName2",value:values.lastName2,onChange:handleChange,label:i18n.text('locations.lastName'),className:formField,errorText:i18n.text(validationErrors.lastName2)}),React.createElement(ReserveFormPhone,{name:"cellPhone2",value:values.cellPhone2,onChange:handleChange,label:i18n.text('locations.cellPhone'),errorText:i18n.text(validationErrors.cellPhone2)}),React.createElement(TextField,{name:"email2",value:values.email2,onChange:handleChange,label:i18n.text('locations.emailAddress'),className:formField,errorText:i18n.text(validationErrors.email2)})),React.createElement(RippleButton,{type:"secondary",disabled:changed||valid===false||isSubmitting,className:button},i18n.text('locations.place_reservation'))));}export var ReserveForm=ReserveFormUnwrapped;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React,{useRef}from'react';import{
|
|
1
|
+
import React,{useRef}from'react';import{StoreFinderProvider}from"../../providers";import StoreFinderSearch from"./StoreFinderSearch";import StoreFinderLocations from"./StoreFinderLocations";import{container,storeSearch,storeList}from"./StoreFinder.style";/**
|
|
2
2
|
* @returns {JSX.Element}
|
|
3
|
-
*/var StoreFinder=function StoreFinder(){var storeListRef=useRef(null);return React.createElement(StoreFinderProvider,{storeListRef:storeListRef},React.createElement("div",{className:container},React.createElement("div",{className:storeSearch},React.createElement(StoreFinderSearch,null)),React.createElement("div",{className:storeList},React.createElement(StoreFinderLocations,{ref:storeListRef}))));};export default
|
|
3
|
+
*/var StoreFinder=function StoreFinder(){var storeListRef=useRef(null);return React.createElement(StoreFinderProvider,{storeListRef:storeListRef},React.createElement("div",{className:container},React.createElement("div",{className:storeSearch},React.createElement(StoreFinderSearch,null)),React.createElement("div",{className:storeList},React.createElement(StoreFinderLocations,{ref:storeListRef}))));};export default StoreFinder;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import*as React from'react';import StoreListProduct from"./StoreListProduct";import StoreListSearch from"./StoreListSearch";import StoreListLocations from"./StoreListLocations";/**
|
|
2
2
|
* Renders the store list.
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var StoreList=function StoreList(){return React.createElement(React.Fragment,null,React.createElement(StoreListProduct,null),React.createElement(StoreListSearch,null),React.createElement(StoreListLocations,null));};export default
|
|
4
|
+
*/var StoreList=function StoreList(){return React.createElement(React.Fragment,null,React.createElement(StoreListProduct,null),React.createElement(StoreListSearch,null),React.createElement(StoreListLocations,null));};export default StoreList;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_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
|
|
1
|
+
import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}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=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{Fragment,useCallback,useState}from'react';import PropTypes from'prop-types';import{RippleButton,I18n,ArrowIcon}from'@shopgate/engage/components';import TextField from'@shopgate/pwa-ui-shared/TextField';import{i18n,EUSERNOTFOUND}from'@shopgate/engage/core';import{container,headline,subline,form,input,button,buttonContainer,resetInstructions,resetInstructionsEmail,goBackButtonContainer,goBackButton,goBackButtonIcon}from"./ForgotPassword.style";import connect from"./ForgotPassword.connector";/**
|
|
2
2
|
* The ForgotPassword component.
|
|
3
3
|
* @param {Object} props The component props.
|
|
4
4
|
* @returns {JSX}
|
|
5
|
-
*/var ForgotPassword=function ForgotPassword(_ref){var resetPassword=_ref.resetPassword,goBack=_ref.goBack;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),showSuccess=_useState2[0],setShowSuccess=_useState2[1];var _useState3=useState(''),_useState4=_slicedToArray(_useState3,2),email=_useState4[0],setEmail=_useState4[1];var _useState5=useState(''),_useState6=_slicedToArray(_useState5,2),validationError=_useState6[0],setValidationError=_useState6[1];var _useState7=useState(false),_useState8=_slicedToArray(_useState7,2),loading=_useState8[0],setLoading=_useState8[1];var handleSubmit=useCallback(/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(event){var code;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:event.preventDefault();setValidationError('');if(!email){_context.next=17;break;}setLoading(true);_context.prev=4;_context.next=7;return resetPassword(email);case 7:setShowSuccess(true);_context.next=14;break;case 10:_context.prev=10;_context.t0=_context["catch"](4);code=_context.t0.code;if(code===EUSERNOTFOUND){setValidationError('login.reset_password.customer_not_found');}case 14:setLoading(false);_context.next=18;break;case 17:setValidationError('validation.email');case 18:case"end":return _context.stop();}},_callee,null,[[4,10]]);}));return function(_x){return _ref2.apply(this,arguments);};}(),[email,resetPassword]);var handleBackToLogin=useCallback(function(){goBack();},[goBack]);return React.createElement("div",{className:container},React.createElement("div",{className:headline},React.createElement(I18n.Text,{string:"login.forgot_password"})),!showSuccess?React.createElement(Fragment,null,React.createElement("div",{className:subline},React.createElement(I18n.Text,{string:"login.reset_password.subline"})),React.createElement("form",{onSubmit:handleSubmit,className:form},React.createElement(TextField,{type:"email",name:"email",className:input,label:"login.email",value:email,onChange:function onChange(value){return setEmail(value);},errorText:validationError}),React.createElement("div",{className:buttonContainer},React.createElement(RippleButton,{className:button,type:"secondary",disabled:loading},React.createElement(I18n.Text,{string:"common.submit"}))))):React.createElement(Fragment,null,React.createElement("div",{className:resetInstructions},React.createElement("span",{/* eslint-disable react/no-danger */dangerouslySetInnerHTML:{__html:i18n.text('login.reset_password.reset_instructions',{email:"<span class=\"".concat(resetInstructionsEmail,"\">").concat(email,"</span>")})}/* eslint-enable react/no-danger */})),React.createElement("div",{className:goBackButtonContainer},React.createElement(RippleButton,{flat:true,className:goBackButton,type:"secondary",onClick:handleBackToLogin},React.createElement(ArrowIcon,{className:goBackButtonIcon}),React.createElement(I18n.Text,{string:"login.reset_password.back_to_login"})))));};export default
|
|
5
|
+
*/var ForgotPassword=function ForgotPassword(_ref){var resetPassword=_ref.resetPassword,goBack=_ref.goBack;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),showSuccess=_useState2[0],setShowSuccess=_useState2[1];var _useState3=useState(''),_useState4=_slicedToArray(_useState3,2),email=_useState4[0],setEmail=_useState4[1];var _useState5=useState(''),_useState6=_slicedToArray(_useState5,2),validationError=_useState6[0],setValidationError=_useState6[1];var _useState7=useState(false),_useState8=_slicedToArray(_useState7,2),loading=_useState8[0],setLoading=_useState8[1];var handleSubmit=useCallback(/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(event){var code;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:event.preventDefault();setValidationError('');if(!email){_context.next=17;break;}setLoading(true);_context.prev=4;_context.next=7;return resetPassword(email);case 7:setShowSuccess(true);_context.next=14;break;case 10:_context.prev=10;_context.t0=_context["catch"](4);code=_context.t0.code;if(code===EUSERNOTFOUND){setValidationError('login.reset_password.customer_not_found');}case 14:setLoading(false);_context.next=18;break;case 17:setValidationError('validation.email');case 18:case"end":return _context.stop();}},_callee,null,[[4,10]]);}));return function(_x){return _ref2.apply(this,arguments);};}(),[email,resetPassword]);var handleBackToLogin=useCallback(function(){goBack();},[goBack]);return React.createElement("div",{className:container},React.createElement("div",{className:headline},React.createElement(I18n.Text,{string:"login.forgot_password"})),!showSuccess?React.createElement(Fragment,null,React.createElement("div",{className:subline},React.createElement(I18n.Text,{string:"login.reset_password.subline"})),React.createElement("form",{onSubmit:handleSubmit,className:form},React.createElement(TextField,{type:"email",name:"email",className:input,label:"login.email",value:email,onChange:function onChange(value){return setEmail(value);},errorText:validationError}),React.createElement("div",{className:buttonContainer},React.createElement(RippleButton,{className:button,type:"secondary",disabled:loading},React.createElement(I18n.Text,{string:"common.submit"}))))):React.createElement(Fragment,null,React.createElement("div",{className:resetInstructions},React.createElement("span",{/* eslint-disable react/no-danger */dangerouslySetInnerHTML:{__html:i18n.text('login.reset_password.reset_instructions',{email:"<span class=\"".concat(resetInstructionsEmail,"\">").concat(email,"</span>")})}/* eslint-enable react/no-danger */})),React.createElement("div",{className:goBackButtonContainer},React.createElement(RippleButton,{flat:true,className:goBackButton,type:"secondary",onClick:handleBackToLogin},React.createElement(ArrowIcon,{className:goBackButtonIcon}),React.createElement(I18n.Text,{string:"login.reset_password.back_to_login"})))));};export default connect(ForgotPassword);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import{
|
|
1
|
+
import React from'react';import{useRoute}from'@shopgate/engage/core';import OrderDetailsContent from"./OrderDetailsContent";import OrderDetailsProvider from"../../providers/OrderDetailsProvider";import OrderDetailsOrder from"./OrderDetailsOrder";import OrderDetailsPrivateProvider from"../../providers/OrderDetailsPrivateProvider";/**
|
|
2
2
|
* The OrderDetails components
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var OrderDetails=function OrderDetails(){var _useRoute=useRoute(),_useRoute$params=_useRoute.params,orderId=_useRoute$params.orderId,orderNumber=_useRoute$params.orderNumber;if(orderNumber){return React.createElement(OrderDetailsPrivateProvider,{orderNumber:orderNumber},React.createElement(OrderDetailsOrder,null));}return React.createElement(OrderDetailsProvider,{orderId:orderId},React.createElement(OrderDetailsContent,null));};export default
|
|
4
|
+
*/var OrderDetails=function OrderDetails(){var _useRoute=useRoute(),_useRoute$params=_useRoute.params,orderId=_useRoute$params.orderId,orderNumber=_useRoute$params.orderNumber;if(orderNumber){return React.createElement(OrderDetailsPrivateProvider,{orderNumber:orderNumber},React.createElement(OrderDetailsOrder,null));}return React.createElement(OrderDetailsProvider,{orderId:orderId},React.createElement(OrderDetailsContent,null));};export default OrderDetails;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import{
|
|
1
|
+
import React from'react';import{Table,TableRow}from"./OrderHistoryTable";import{List,Row}from"./OrderHistoryList";import{ResponsiveContainer,NoResults}from"../../../components";import OrderHistoryLoader from"./OrderHistoryLoader";import{useOrderHistory}from"../../hooks";import{root,noResult}from"./OrderHistory.style";/**
|
|
2
2
|
* The OrderDetails components
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var OrderHistory=function OrderHistory(){var _useOrderHistory=useOrderHistory(),totalOrderCount=_useOrderHistory.totalOrderCount;if(totalOrderCount===0){return React.createElement("div",{className:noResult},React.createElement(NoResults,{headlineText:"orders.no_result.body",bodyText:""}));}return React.createElement("div",{className:root},React.createElement(ResponsiveContainer,{appAlways:true,breakpoint:"<=xs"},React.createElement(OrderHistoryLoader,{wrapper:List,iterator:Row})),React.createElement(ResponsiveContainer,{webOnly:true,breakpoint:">xs"},React.createElement(OrderHistoryLoader,{wrapper:Table,iterator:TableRow})));};export default
|
|
4
|
+
*/var OrderHistory=function OrderHistory(){var _useOrderHistory=useOrderHistory(),totalOrderCount=_useOrderHistory.totalOrderCount;if(totalOrderCount===0){return React.createElement("div",{className:noResult},React.createElement(NoResults,{headlineText:"orders.no_result.body",bodyText:""}));}return React.createElement("div",{className:root},React.createElement(ResponsiveContainer,{appAlways:true,breakpoint:"<=xs"},React.createElement(OrderHistoryLoader,{wrapper:List,iterator:Row})),React.createElement(ResponsiveContainer,{webOnly:true,breakpoint:">xs"},React.createElement(OrderHistoryLoader,{wrapper:Table,iterator:TableRow})));};export default OrderHistory;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import PropTypes from'prop-types';import{
|
|
1
|
+
import React from'react';import PropTypes from'prop-types';import{ITEMS_PER_LOAD}from'@shopgate/pwa-common/constants/DisplayOptions';import InfiniteContainer from'@shopgate/pwa-common/components/InfiniteContainer';import LoadingIndicator from'@shopgate/pwa-ui-shared/LoadingIndicator';import{ViewContext}from'@shopgate/engage/components/View';import{useOrderHistory}from"../../hooks";/**
|
|
2
2
|
* The OrderDetails components
|
|
3
3
|
* @returns {JSX}
|
|
4
|
-
*/var OrderHistoryLoader=function OrderHistoryLoader(_ref){var wrapper=_ref.wrapper,iterator=_ref.iterator;var _useOrderHistory=useOrderHistory(),orders=_useOrderHistory.orders,totalOrderCount=_useOrderHistory.totalOrderCount,fetchOrderHistory=_useOrderHistory.fetchOrderHistory;return React.createElement(ViewContext.Consumer,null,function(_ref2){var getContentRef=_ref2.getContentRef;return React.createElement(InfiniteContainer,{containerRef:getContentRef(),wrapper:wrapper,iterator:iterator,loader:function loader(offset){return fetchOrderHistory({limit:ITEMS_PER_LOAD,offset:offset});},items:orders,loadingIndicator:React.createElement(LoadingIndicator,null),totalItems:totalOrderCount,initialLimit:ITEMS_PER_LOAD,limit:ITEMS_PER_LOAD});});};export default
|
|
4
|
+
*/var OrderHistoryLoader=function OrderHistoryLoader(_ref){var wrapper=_ref.wrapper,iterator=_ref.iterator;var _useOrderHistory=useOrderHistory(),orders=_useOrderHistory.orders,totalOrderCount=_useOrderHistory.totalOrderCount,fetchOrderHistory=_useOrderHistory.fetchOrderHistory;return React.createElement(ViewContext.Consumer,null,function(_ref2){var getContentRef=_ref2.getContentRef;return React.createElement(InfiniteContainer,{containerRef:getContentRef(),wrapper:wrapper,iterator:iterator,loader:function loader(offset){return fetchOrderHistory({limit:ITEMS_PER_LOAD,offset:offset});},items:orders,loadingIndicator:React.createElement(LoadingIndicator,null),totalItems:totalOrderCount,initialLimit:ITEMS_PER_LOAD,limit:ITEMS_PER_LOAD});});};export default OrderHistoryLoader;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shopgate/engage",
|
|
3
|
-
"version": "7.30.0-alpha.
|
|
3
|
+
"version": "7.30.0-alpha.5",
|
|
4
4
|
"description": "Shopgate's ENGAGE library.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Shopgate <support@shopgate.com>",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@emotion/react": "^11.14.0",
|
|
19
19
|
"@shopgate/native-modules": "1.0.0-beta.25",
|
|
20
|
-
"@shopgate/pwa-common": "7.30.0-alpha.
|
|
21
|
-
"@shopgate/pwa-common-commerce": "7.30.0-alpha.
|
|
22
|
-
"@shopgate/pwa-core": "7.30.0-alpha.
|
|
23
|
-
"@shopgate/pwa-ui-ios": "7.30.0-alpha.
|
|
24
|
-
"@shopgate/pwa-ui-material": "7.30.0-alpha.
|
|
25
|
-
"@shopgate/pwa-ui-shared": "7.30.0-alpha.
|
|
20
|
+
"@shopgate/pwa-common": "7.30.0-alpha.5",
|
|
21
|
+
"@shopgate/pwa-common-commerce": "7.30.0-alpha.5",
|
|
22
|
+
"@shopgate/pwa-core": "7.30.0-alpha.5",
|
|
23
|
+
"@shopgate/pwa-ui-ios": "7.30.0-alpha.5",
|
|
24
|
+
"@shopgate/pwa-ui-material": "7.30.0-alpha.5",
|
|
25
|
+
"@shopgate/pwa-ui-shared": "7.30.0-alpha.5",
|
|
26
26
|
"@stripe/react-stripe-js": "^1.16.5",
|
|
27
27
|
"@stripe/stripe-js": "^1.3.1",
|
|
28
28
|
"@virtuous/conductor": "~2.5.0",
|
|
@@ -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 React from'react';import PropTypes from'prop-types';import{HtmlSanitizer}from'@shopgate/engage/components';import{makeStyles}from'@shopgate/engage/styles';var useStyles=makeStyles()(function(theme){return{root:{width:'100%','& > :first-child':{marginTop:0},'& > :last-child':{marginBottom:0},'& p':{margin:'0px 0px 1rem 0px',':empty':{minHeight:'1rem'}},'ul, ol':{paddingLeft:'40px'},'ul li':{listStyleType:'disc'},'ol li':{listStyleType:'decimal'},h1:_extends({},theme.typography.h1,{margin:'0px 0px 1rem 0px'}),h2:_extends({},theme.typography.h2,{margin:'0px 0px 1rem 0px'}),h3:_extends({},theme.typography.h3,{margin:'0px 0px 1rem 0px'}),h4:_extends({},theme.typography.h4,{margin:'0px 0px 1rem 0px'}),h5:_extends({},theme.typography.h5,{margin:'0px 0px 1rem 0px'}),h6:_extends({},theme.typography.h6,{margin:'0px 0px 1rem 0px'}),a:{color:'var(--color-primary)'}}};});/**
|
|
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 React from'react';import PropTypes from'prop-types';import{HtmlSanitizer}from'@shopgate/engage/components';import{makeStyles}from'@shopgate/engage/styles';var useStyles=makeStyles()(function(theme){return{root:{width:'100%','& > :first-child/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */':{marginTop:0},'& > :last-child/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */':{marginBottom:0},'& p':{margin:'0px 0px 1rem 0px',':empty':{minHeight:'1rem'}},'ul, ol':{paddingLeft:'40px'},'ul li':{listStyleType:'disc'},'ol li':{listStyleType:'decimal'},h1:_extends({},theme.typography.h1,{margin:'0px 0px 1rem 0px'}),h2:_extends({},theme.typography.h2,{margin:'0px 0px 1rem 0px'}),h3:_extends({},theme.typography.h3,{margin:'0px 0px 1rem 0px'}),h4:_extends({},theme.typography.h4,{margin:'0px 0px 1rem 0px'}),h5:_extends({},theme.typography.h5,{margin:'0px 0px 1rem 0px'}),h6:_extends({},theme.typography.h6,{margin:'0px 0px 1rem 0px'}),a:{color:'var(--color-primary)'}}};});/**
|
|
2
2
|
* @param {Object} props The component props.
|
|
3
3
|
* @param {string} props.content The rich text content.
|
|
4
4
|
* @param {string} [props.className] An optional class name.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import{HtmlSanitizer}from'@shopgate/engage/components';import{makeStyles}from'@shopgate/engage/styles';import{themeConfig}from'@shopgate/engage';import{useHtmlWidget}from"./hooks";var colors=themeConfig.colors;var useStyles=makeStyles()({root:{' h1, h2, h3, h4, h5, h6, p, ul, ol':{margin:'1rem 0'},' h1, h2, h3, h4, h5, h6':{fontWeight:600},' h1':{fontSize:'1.5rem'},' h2':{fontSize:'1.25rem'},' h3':{fontSize:'1.1rem'},' h4, h5, h6':{fontSize:'1rem'},' ol, ul':{paddingLeft:'1rem'},' ol > li':{listStyle:'decimal'},' ul > li':{listStyle:'disc'},' img':{display:'initial'},' img[style*="float: left"], img[style*="float:left"], img.pull-left':{marginRight:'1rem'},' img[style*="float: right"], img[style*="float:right"], img.pull-right':{marginLeft:'1rem'},' code, pre':{whiteSpace:'pre-wrap'},' blockquote, q':{paddingLeft:'1rem',margin:'2rem 0',borderLeft:".25rem solid ".concat(colors.shade6),fontStyle:'italic'},' > :first-child':{marginTop:0},// Clearfix for floated widget content
|
|
1
|
+
import React from'react';import{HtmlSanitizer}from'@shopgate/engage/components';import{makeStyles}from'@shopgate/engage/styles';import{themeConfig}from'@shopgate/engage';import{useHtmlWidget}from"./hooks";var colors=themeConfig.colors;var useStyles=makeStyles()({root:{' h1, h2, h3, h4, h5, h6, p, ul, ol':{margin:'1rem 0'},' h1, h2, h3, h4, h5, h6':{fontWeight:600},' h1':{fontSize:'1.5rem'},' h2':{fontSize:'1.25rem'},' h3':{fontSize:'1.1rem'},' h4, h5, h6':{fontSize:'1rem'},' ol, ul':{paddingLeft:'1rem'},' ol > li':{listStyle:'decimal'},' ul > li':{listStyle:'disc'},' img':{display:'initial'},' img[style*="float: left"], img[style*="float:left"], img.pull-left':{marginRight:'1rem'},' img[style*="float: right"], img[style*="float:right"], img.pull-right':{marginLeft:'1rem'},' code, pre':{whiteSpace:'pre-wrap'},' blockquote, q':{paddingLeft:'1rem',margin:'2rem 0',borderLeft:".25rem solid ".concat(colors.shade6),fontStyle:'italic'},' > :first-child/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */':{marginTop:0},// Clearfix for floated widget content
|
|
2
2
|
':after':{clear:'both',content:'"."',display:'block',visibility:'hidden',height:0},a:{color:'var(--color-primary)'}}});/**
|
|
3
3
|
* The HtmlWidget component is used to display html code.
|
|
4
4
|
* @returns {JSX.Element}
|