@commercelayer/react-components 2.48.1 → 2.49.1

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const OrderContext_1=(0,tslib_1.__importDefault)(require("../context/OrderContext"));const lodash_1=require("lodash");const ItemContext_1=(0,tslib_1.__importDefault)(require("../context/ItemContext"));const getCurrentItemKey_1=(0,tslib_1.__importDefault)(require("../utils/getCurrentItemKey"));const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const SkuListsContext_1=(0,tslib_1.__importDefault)(require("../context/SkuListsContext"));const ExternalFunctionContext_1=(0,tslib_1.__importDefault)(require("../context/ExternalFunctionContext"));const isFunction_1=(0,tslib_1.__importDefault)(require("lodash/isFunction"));const propTypes=components_1.default.AddToCartButton.propTypes;const defaultProps=components_1.default.AddToCartButton.defaultProps;const displayName=components_1.default.AddToCartButton.displayName;const AddToCartButton=t=>{var e;const{label:o="Add to cart",children:n,skuCode:s,bundleCode:r,disabled:i,skuListId:u,lineItem:d}=t,a=(0,tslib_1.__rest)(t,["label","children","skuCode","bundleCode","disabled","skuListId","lineItem"]);const{addToCart:l,orderId:c,getOrder:_,setOrderErrors:p}=(0,react_1.useContext)(OrderContext_1.default);const{url:m,callExternalFunction:C}=(0,react_1.useContext)(ExternalFunctionContext_1.default);const{item:x,items:f,quantity:b,option:y,prices:h,lineItems:I,lineItem:q,skuCode:k}=(0,react_1.useContext)(ItemContext_1.default);const{skuLists:T}=(0,react_1.useContext)(SkuListsContext_1.default);const v=!(0,lodash_1.isEmpty)(f)&&s?(e=f[s])===null||e===void 0?void 0:e.code:s||(0,getCurrentItemKey_1.default)(x)||k;const j=()=>{var t,e;const o=b[v];const n=y[v];const s=!(0,lodash_1.isEmpty)(d||q)?d||q:I[v];if(!(0,lodash_1.isEmpty)(T)&&u&&m){const t=b[u]||1;if((0,lodash_1.has)(T,u)){const e=T&&T[u].map((e=>({skuCode:e,quantity:t,_update_quantity:1})));return C({url:m,data:{resourceType:"orders",inputs:[{id:c,lineItems:e}]}}).then((t=>{_&&c&&_(c);return t})).catch((({response:t})=>{p&&p(t["data"]);return t}))}}return!m?l&&l({bundleCode:r,skuCode:v,skuId:(t=x[v])===null||t===void 0?void 0:t.id,quantity:o,option:n,lineItem:s}):C({url:m,data:{bundleCode:r,skuCode:v,skuId:(e=x[v])===null||e===void 0?void 0:e.id,quantity:o,option:n,lineItem:s}}).then((t=>{_&&c&&_(c);return t})).catch((({response:t})=>{p&&p(t["data"]);return t}))};const A=!(0,lodash_1.isEmpty)(T)||u?false:i||!h[v]||!v;const E=Object.assign({handleClick:j,disabled:i||A,label:o},t);return n?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},E,{children:n}),void 0):(0,jsx_runtime_1.jsx)("button",Object.assign({},a,{disabled:A,onClick:j},{children:(0,isFunction_1.default)(o)?o():o}),void 0)};AddToCartButton.propTypes=propTypes;AddToCartButton.defaultProps=defaultProps;AddToCartButton.displayName=displayName;exports.default=AddToCartButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const OrderContext_1=(0,tslib_1.__importDefault)(require("../context/OrderContext"));const lodash_1=require("lodash");const ItemContext_1=(0,tslib_1.__importDefault)(require("../context/ItemContext"));const getCurrentItemKey_1=(0,tslib_1.__importDefault)(require("../utils/getCurrentItemKey"));const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const SkuListsContext_1=(0,tslib_1.__importDefault)(require("../context/SkuListsContext"));const ExternalFunctionContext_1=(0,tslib_1.__importDefault)(require("../context/ExternalFunctionContext"));const isFunction_1=(0,tslib_1.__importDefault)(require("lodash/isFunction"));const propTypes=components_1.default.AddToCartButton.propTypes;const defaultProps=components_1.default.AddToCartButton.defaultProps;const displayName=components_1.default.AddToCartButton.displayName;const AddToCartButton=t=>{var e,o,n;const{label:s="Add to cart",children:r,skuCode:i,bundleCode:u,disabled:d,skuListId:a,lineItem:l}=t,c=(0,tslib_1.__rest)(t,["label","children","skuCode","bundleCode","disabled","skuListId","lineItem"]);const{addToCart:_,orderId:p,getOrder:m,setOrderErrors:C}=(0,react_1.useContext)(OrderContext_1.default);const{url:x,callExternalFunction:f}=(0,react_1.useContext)(ExternalFunctionContext_1.default);const{item:b,items:y,quantity:h,option:q,prices:I,lineItems:k,lineItem:v,skuCode:T}=(0,react_1.useContext)(ItemContext_1.default);const{skuLists:j}=(0,react_1.useContext)(SkuListsContext_1.default);const A=!(0,lodash_1.isEmpty)(y)&&i?(e=y[i])===null||e===void 0?void 0:e.code:i||(0,getCurrentItemKey_1.default)(b)||T;const E=((n=(o=b[A])===null||o===void 0?void 0:o.inventory)===null||n===void 0?void 0:n.quantity)||0;const O=()=>{var t,e;const o=h[A];const n=q[A];const s=!(0,lodash_1.isEmpty)(l||v)?l||v:k[A];if(!(0,lodash_1.isEmpty)(j)&&a&&x){const t=h[a]||1;if((0,lodash_1.has)(j,a)){const e=j&&j[a].map((e=>({skuCode:e,quantity:t,_update_quantity:1})));return f({url:x,data:{resourceType:"orders",inputs:[{id:p,lineItems:e}]}}).then((t=>{m&&p&&m(p);return t})).catch((({response:t})=>{C&&C(t["data"]);return t}))}}return!x?_&&_({bundleCode:u,skuCode:A,skuId:(t=b[A])===null||t===void 0?void 0:t.id,quantity:o,option:n,lineItem:s}):f({url:x,data:{bundleCode:u,skuCode:A,skuId:(e=b[A])===null||e===void 0?void 0:e.id,quantity:o,option:n,lineItem:s}}).then((t=>{m&&p&&m(p);return t})).catch((({response:t})=>{C&&C(t["data"]);return t}))};const g=!(0,lodash_1.isEmpty)(j)||a?false:d||!I[A]||!A||E===0;const B=Object.assign({handleClick:O,disabled:d||g,label:s},t);return r?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},B,{children:r}),void 0):(0,jsx_runtime_1.jsx)("button",Object.assign({},c,{disabled:g,onClick:O},{children:(0,isFunction_1.default)(s)?s():s}),void 0)};AddToCartButton.propTypes=propTypes;AddToCartButton.defaultProps=defaultProps;AddToCartButton.displayName=displayName;exports.default=AddToCartButton;
@@ -3,11 +3,13 @@ import { TimeFormat, FunctionChildren } from '../typings/index';
3
3
  import { DeliveryLeadTime } from '../reducers/AvailabilityReducer';
4
4
  declare type AvailabilityTemplateChildrenProps = FunctionChildren<Omit<AvailabilityTemplateProps, 'children'> & DeliveryLeadTime & {
5
5
  text: string;
6
+ quantity: number;
6
7
  }>;
7
8
  declare type AvailabilityTemplateProps = {
8
9
  children?: AvailabilityTemplateChildrenProps;
9
10
  timeFormat?: TimeFormat;
10
11
  showShippingMethodName?: boolean;
12
+ showShippingMethodPrice?: boolean;
11
13
  } & JSX.IntrinsicElements['p'];
12
14
  declare const AvailabilityTemplate: FunctionComponent<AvailabilityTemplateProps>;
13
15
  export default AvailabilityTemplate;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const AvailabilityContext_1=(0,tslib_1.__importDefault)(require("../context/AvailabilityContext"));const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const lodash_1=require("lodash");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.AvailabilityTemplate.propTypes;const defaultProps=components_1.default.AvailabilityTemplate.defaultProps;const displayName=components_1.default.AvailabilityTemplate.displayName;const AvailabilityTemplate=t=>{const{timeFormat:e,showShippingMethodName:i,children:a}=t,s=(0,tslib_1.__rest)(t,["timeFormat","showShippingMethodName","children"]);const{min:l,max:o,shipping_method:n,quantity:p}=(0,react_1.useContext)(AvailabilityContext_1.default);const r=!(0,lodash_1.isEmpty)(l)&&e?l===null||l===void 0?void 0:l[e]:"";const c=!(0,lodash_1.isEmpty)(o)&&e?o===null||o===void 0?void 0:o[e]:"";const m=[];const u=i&&n?`with ${n.name}`:"";if(p&&p>0){m.push("Available");if(r&&c){m.push(`in ${r} - ${c} ${e} ${u}`)}}else if(p===0){m.push("Out of stock")}const _=Object.assign({min:l,max:o,shipping_method:n,quantity:p,text:m.join(" ")},t);return a?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},_,{children:a}),void 0):(0,jsx_runtime_1.jsx)("p",Object.assign({},s,{children:m.join(" ")}),void 0)};AvailabilityTemplate.propTypes=propTypes;AvailabilityTemplate.defaultProps=defaultProps;AvailabilityTemplate.displayName=displayName;exports.default=AvailabilityTemplate;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const AvailabilityContext_1=(0,tslib_1.__importDefault)(require("../context/AvailabilityContext"));const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const lodash_1=require("lodash");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.AvailabilityTemplate.propTypes;const defaultProps=components_1.default.AvailabilityTemplate.defaultProps;const displayName=components_1.default.AvailabilityTemplate.displayName;const AvailabilityTemplate=t=>{const{timeFormat:e,showShippingMethodName:i,showShippingMethodPrice:o,children:a}=t,s=(0,tslib_1.__rest)(t,["timeFormat","showShippingMethodName","showShippingMethodPrice","children"]);const{min:l,max:n,shipping_method:p,quantity:r}=(0,react_1.useContext)(AvailabilityContext_1.default);const c=!(0,lodash_1.isEmpty)(l)&&e?l===null||l===void 0?void 0:l[e]:"";const m=!(0,lodash_1.isEmpty)(n)&&e?n===null||n===void 0?void 0:n[e]:"";const u=[];const d=o&&(p===null||p===void 0?void 0:p.formatted_price_amount)?`(${p===null||p===void 0?void 0:p.formatted_price_amount})`:"";const _=i&&p?`with ${p.name}`:"";if(r&&r>0){u.push("Available");if(c&&m){u.push(`in ${c} - ${m} ${e} ${_} ${d}`)}}else if(r===0){u.push("Out of stock")}const h=Object.assign({min:l,max:n,shipping_method:p,quantity:r,text:u.join(" ")},t);return a?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},h,{children:a}),void 0):(0,jsx_runtime_1.jsx)("p",Object.assign({},s,{children:u.join(" ")}),void 0)};AvailabilityTemplate.propTypes=propTypes;AvailabilityTemplate.defaultProps=defaultProps;AvailabilityTemplate.displayName=displayName;exports.default=AvailabilityTemplate;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const LineItemReducer_1=(0,tslib_1.__importStar)(require("../reducers/LineItemReducer"));const OrderContext_1=(0,tslib_1.__importDefault)(require("../context/OrderContext"));const LineItemContext_1=(0,tslib_1.__importDefault)(require("../context/LineItemContext"));const CommerceLayerContext_1=(0,tslib_1.__importDefault)(require("../context/CommerceLayerContext"));const lodash_1=require("lodash");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.LineItemsContainer.propTypes;const defaultProps=components_1.default.LineItemsContainer.defaultProps;const displayName=components_1.default.LineItemsContainer.displayName;const LineItemsContainer=e=>{const{children:t,loader:n="Loading..."}=e;const{order:r,addResourceToInclude:i,include:o,orderId:s,getOrder:d}=(0,react_1.useContext)(OrderContext_1.default);const a=(0,react_1.useContext)(CommerceLayerContext_1.default);const[c,l]=(0,react_1.useReducer)(LineItemReducer_1.default,LineItemReducer_1.lineItemInitialState);(0,react_1.useEffect)((()=>{if(!(o===null||o===void 0?void 0:o.includes("line_items.line_item_options.sku_option"))){i({newResource:"line_items.line_item_options.sku_option"})}if(!(0,lodash_1.isEmpty)(r)&&(r===null||r===void 0?void 0:r.line_items)){l({type:"setLineItems",payload:{lineItems:r.line_items}})}return()=>{if((0,lodash_1.isEmpty)(r)){l({type:"setLineItems",payload:{lineItems:[]}})}}}),[r]);const m=Object.assign(Object.assign({},c),{loader:n,updateLineItem:(e,t=1)=>(0,LineItemReducer_1.updateLineItem)({lineItemId:e,quantity:t,dispatch:l,config:a,getOrder:d,orderId:s,errors:c.errors}),deleteLineItem:e=>(0,LineItemReducer_1.deleteLineItem)({lineItemId:e,dispatch:l,config:a,getOrder:d,orderId:s,errors:c.errors})});return(0,jsx_runtime_1.jsx)(LineItemContext_1.default.Provider,Object.assign({value:m},{children:c.loading?n:t}),void 0)};LineItemsContainer.propTypes=propTypes;LineItemsContainer.defaultProps=defaultProps;LineItemsContainer.displayName=displayName;exports.default=LineItemsContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const LineItemReducer_1=(0,tslib_1.__importStar)(require("../reducers/LineItemReducer"));const OrderContext_1=(0,tslib_1.__importDefault)(require("../context/OrderContext"));const LineItemContext_1=(0,tslib_1.__importDefault)(require("../context/LineItemContext"));const CommerceLayerContext_1=(0,tslib_1.__importDefault)(require("../context/CommerceLayerContext"));const lodash_1=require("lodash");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.LineItemsContainer.propTypes;const defaultProps=components_1.default.LineItemsContainer.defaultProps;const displayName=components_1.default.LineItemsContainer.displayName;const LineItemsContainer=e=>{const{children:t,loader:n="Loading..."}=e;const{order:r,addResourceToInclude:i,include:o,orderId:s,getOrder:d}=(0,react_1.useContext)(OrderContext_1.default);const a=(0,react_1.useContext)(CommerceLayerContext_1.default);const[l,c]=(0,react_1.useReducer)(LineItemReducer_1.default,LineItemReducer_1.lineItemInitialState);(0,react_1.useEffect)((()=>{if(!(o===null||o===void 0?void 0:o.includes("line_items.line_item_options.sku_option"))){i({newResource:"line_items.line_item_options.sku_option"})}else if(!(0,lodash_1.isEmpty)(r)&&(r===null||r===void 0?void 0:r.line_items)){c({type:"setLineItems",payload:{lineItems:r.line_items}})}return()=>{if((0,lodash_1.isEmpty)(r)){c({type:"setLineItems",payload:{lineItems:[]}})}}}),[r,o]);const m=Object.assign(Object.assign({},l),{loader:n,updateLineItem:(e,t=1)=>(0,LineItemReducer_1.updateLineItem)({lineItemId:e,quantity:t,dispatch:c,config:a,getOrder:d,orderId:s,errors:l.errors}),deleteLineItem:e=>(0,LineItemReducer_1.deleteLineItem)({lineItemId:e,dispatch:c,config:a,getOrder:d,orderId:s,errors:l.errors})});return(0,jsx_runtime_1.jsx)(LineItemContext_1.default.Provider,Object.assign({value:m},{children:l.loading?n:t}),void 0)};LineItemsContainer.propTypes=propTypes;LineItemsContainer.defaultProps=defaultProps;LineItemsContainer.displayName=displayName;exports.default=LineItemsContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getAvailability=exports.availabilityInitialState=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));exports.availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]};const getAvailability=async({skuCode:t,dispatch:i,config:e})=>{var s;const a=(0,getSdk_1.default)(e);try{const[e]=await a.skus.list({fields:{skus:["id"]},filters:{code_in:t}});const l=await a.skus.retrieve(e.id,{fields:{skus:["inventory"]}});const[o]=(s=l.inventory)===null||s===void 0?void 0:s.levels;const[r]=o===null||o===void 0?void 0:o.delivery_lead_times;i({type:"setAvailability",payload:Object.assign(Object.assign({},r),{quantity:o===null||o===void 0?void 0:o.quantity})})}catch(t){console.error("Get SKU availability",t)}};exports.getAvailability=getAvailability;const typeAction=["setAvailability","setErrors"];const availabilityReducer=(t,i)=>(0,baseReducer_1.default)(t,i,typeAction);exports.default=availabilityReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getAvailability=exports.availabilityInitialState=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));exports.availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]};const getAvailability=async({skuCode:t,dispatch:i,config:e})=>{var s;const a=(0,getSdk_1.default)(e);try{const[e]=await a.skus.list({fields:{skus:["id"]},filters:{code_in:t}});const l=await a.skus.retrieve(e.id,{fields:{skus:["inventory"]}});const[r]=((s=l.inventory)===null||s===void 0?void 0:s.levels)||[];const[o]=(r===null||r===void 0?void 0:r.delivery_lead_times)||[];i({type:"setAvailability",payload:Object.assign(Object.assign({},o),{quantity:l.inventory.quantity})})}catch(t){console.error("Get SKU availability",t)}};exports.getAvailability=getAvailability;const typeAction=["setAvailability","setErrors"];const availabilityReducer=(t,i)=>(0,baseReducer_1.default)(t,i,typeAction);exports.default=availabilityReducer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.setPlaceOrder=exports.placeOrderPermitted=exports.setPlaceOrderErrors=exports.placeOrderInitialState=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const isEmpty_1=(0,tslib_1.__importDefault)(require("lodash/isEmpty"));const shipments_1=require("../utils/shipments");const customerOrderOptions_1=require("../utils/customerOrderOptions");const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));const getErrors_1=(0,tslib_1.__importDefault)(require("../utils/getErrors"));exports.placeOrderInitialState={errors:[],isPermitted:false};const setPlaceOrderErrors=(e,t)=>{t&&t({type:"setErrors",payload:{errors:e}})};exports.setPlaceOrderErrors=setPlaceOrderErrors;const placeOrderPermitted=async({config:e,order:t,dispatch:r,options:s})=>{var a;if(t&&e){let e=true;if(t.privacy_url&&t.terms_url){e=localStorage.getItem("privacy-terms")==="true"}const i=t.billing_address;if((0,isEmpty_1.default)(i))e=false;const o=t.shipping_address;if((0,isEmpty_1.default)(o))e=false;const d=t.shipments;const l=d&&(0,shipments_1.shipmentsFilled)(d);if(!(0,isEmpty_1.default)(d)&&!l)e=false;const p=t.payment_method;const c=t.payment_source;if(t.total_amount_with_taxes_cents!==0&&(0,isEmpty_1.default)(p===null||p===void 0?void 0:p.id))e=false;console.log(c);r({type:"setPlaceOrderPermitted",payload:{isPermitted:e,paymentType:p===null||p===void 0?void 0:p.payment_source_type,paymentSecret:c===null||c===void 0?void 0:c.client_secret,paymentId:(a=c===null||c===void 0?void 0:c.options)===null||a===void 0?void 0:a.id,paymentSource:c,options:s}})}};exports.placeOrderPermitted=placeOrderPermitted;const setPlaceOrder=async({state:e,order:t,config:r,setOrderErrors:s,paymentSource:a})=>{const i={placed:false};try{debugger;if(e&&t&&r&&a){const o=(0,getSdk_1.default)(r);const{options:d,paymentType:l}=e;if(l==="paypal_payments"){if(!(d===null||d===void 0?void 0:d.paypalPayerId)&&(a===null||a===void 0?void 0:a.approval_url)){window.location.href=a===null||a===void 0?void 0:a.approval_url;return i}await o.paypal_payments.update({id:a.id,paypal_payer_id:d===null||d===void 0?void 0:d.paypalPayerId})}const p={id:t.id,_place:true};if((0,customerOrderOptions_1.saveBillingAddress)()){await o.orders.update({id:t.id,_save_billing_address_to_customer_address_book:true})}if((0,customerOrderOptions_1.saveShippingAddress)()){await o.orders.update({id:t.id,_save_shipping_address_to_customer_address_book:true})}switch(l){case"braintree_payments":if((0,customerOrderOptions_1.saveToWallet)()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(p);s&&s([]);return{placed:true};default:if((0,customerOrderOptions_1.saveToWallet)()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(p);s&&s([]);return{placed:true}}}return i}catch(e){const t=(0,getErrors_1.default)(e,"orders");s&&s(t);return Object.assign(Object.assign({},i),{errors:t})}};exports.setPlaceOrder=setPlaceOrder;const type=["setErrors","setPlaceOrderPermitted"];const placeOrderReducer=(e,t)=>(0,baseReducer_1.default)(e,t,type);exports.default=placeOrderReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.setPlaceOrder=exports.placeOrderPermitted=exports.setPlaceOrderErrors=exports.placeOrderInitialState=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const isEmpty_1=(0,tslib_1.__importDefault)(require("lodash/isEmpty"));const shipments_1=require("../utils/shipments");const customerOrderOptions_1=require("../utils/customerOrderOptions");const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));const getErrors_1=(0,tslib_1.__importDefault)(require("../utils/getErrors"));exports.placeOrderInitialState={errors:[],isPermitted:false};const setPlaceOrderErrors=(e,t)=>{t&&t({type:"setErrors",payload:{errors:e}})};exports.setPlaceOrderErrors=setPlaceOrderErrors;const placeOrderPermitted=async({config:e,order:t,dispatch:r,options:s})=>{var a;if(t&&e){let e=true;if(t.privacy_url&&t.terms_url){e=localStorage.getItem("privacy-terms")==="true"}const i=t.billing_address;if((0,isEmpty_1.default)(i))e=false;const o=t.shipping_address;if((0,isEmpty_1.default)(o))e=false;const d=t.shipments;const l=d&&(0,shipments_1.shipmentsFilled)(d);if(!(0,isEmpty_1.default)(d)&&!l)e=false;const p=t.payment_method;const c=t.payment_source;if(t.total_amount_with_taxes_cents!==0&&(0,isEmpty_1.default)(p===null||p===void 0?void 0:p.id))e=false;r({type:"setPlaceOrderPermitted",payload:{isPermitted:e,paymentType:p===null||p===void 0?void 0:p.payment_source_type,paymentSecret:c===null||c===void 0?void 0:c.client_secret,paymentId:(a=c===null||c===void 0?void 0:c.options)===null||a===void 0?void 0:a.id,paymentSource:c,options:s}})}};exports.placeOrderPermitted=placeOrderPermitted;const setPlaceOrder=async({state:e,order:t,config:r,setOrderErrors:s,paymentSource:a})=>{const i={placed:false};try{debugger;if(e&&t&&r&&a){const o=(0,getSdk_1.default)(r);const{options:d,paymentType:l}=e;if(l==="paypal_payments"){if(!(d===null||d===void 0?void 0:d.paypalPayerId)&&(a===null||a===void 0?void 0:a.approval_url)){window.location.href=a===null||a===void 0?void 0:a.approval_url;return i}await o.paypal_payments.update({id:a.id,paypal_payer_id:d===null||d===void 0?void 0:d.paypalPayerId})}const p={id:t.id,_place:true};if((0,customerOrderOptions_1.saveBillingAddress)()){await o.orders.update({id:t.id,_save_billing_address_to_customer_address_book:true})}if((0,customerOrderOptions_1.saveShippingAddress)()){await o.orders.update({id:t.id,_save_shipping_address_to_customer_address_book:true})}switch(l){case"braintree_payments":if((0,customerOrderOptions_1.saveToWallet)()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(p);s&&s([]);return{placed:true};default:if((0,customerOrderOptions_1.saveToWallet)()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(p);s&&s([]);return{placed:true}}}return i}catch(e){const t=(0,getErrors_1.default)(e,"orders");s&&s(t);return Object.assign(Object.assign({},i),{errors:t})}};exports.setPlaceOrder=setPlaceOrder;const type=["setErrors","setPlaceOrderPermitted"];const placeOrderReducer=(e,t)=>(0,baseReducer_1.default)(e,t,type);exports.default=placeOrderReducer;
@@ -1 +1 @@
1
- import{__rest}from"tslib";import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"./utils/Parent";import OrderContext from"../context/OrderContext";import{isEmpty,has}from"lodash";import ItemContext from"../context/ItemContext";import getCurrentItemKey from"../utils/getCurrentItemKey";import components from"../config/components";import SkuListsContext from"../context/SkuListsContext";import ExternalFunctionContext from"../context/ExternalFunctionContext";import isFunction from"lodash/isFunction";const propTypes=components.AddToCartButton.propTypes;const defaultProps=components.AddToCartButton.defaultProps;const displayName=components.AddToCartButton.displayName;const AddToCartButton=t=>{var e;const{label:o="Add to cart",children:n,skuCode:s,bundleCode:r,disabled:d,skuListId:i,lineItem:u}=t,a=__rest(t,["label","children","skuCode","bundleCode","disabled","skuListId","lineItem"]);const{addToCart:l,orderId:c,getOrder:m,setOrderErrors:p}=useContext(OrderContext);const{url:C,callExternalFunction:x}=useContext(ExternalFunctionContext);const{item:y,items:f,quantity:I,option:b,prices:k,lineItems:T,lineItem:h,skuCode:v}=useContext(ItemContext);const{skuLists:E}=useContext(SkuListsContext);const A=!isEmpty(f)&&s?(e=f[s])===null||e===void 0?void 0:e.code:s||getCurrentItemKey(y)||v;const _=()=>{var t,e;const o=I[A];const n=b[A];const s=!isEmpty(u||h)?u||h:T[A];if(!isEmpty(E)&&i&&C){const t=I[i]||1;if(has(E,i)){const e=E&&E[i].map((e=>({skuCode:e,quantity:t,_update_quantity:1})));return x({url:C,data:{resourceType:"orders",inputs:[{id:c,lineItems:e}]}}).then((t=>{m&&c&&m(c);return t})).catch((({response:t})=>{p&&p(t["data"]);return t}))}}return!C?l&&l({bundleCode:r,skuCode:A,skuId:(t=y[A])===null||t===void 0?void 0:t.id,quantity:o,option:n,lineItem:s}):x({url:C,data:{bundleCode:r,skuCode:A,skuId:(e=y[A])===null||e===void 0?void 0:e.id,quantity:o,option:n,lineItem:s}}).then((t=>{m&&c&&m(c);return t})).catch((({response:t})=>{p&&p(t["data"]);return t}))};const g=!isEmpty(E)||i?false:d||!k[A]||!A;const j=Object.assign({handleClick:_,disabled:d||g,label:o},t);return n?_jsx(Parent,Object.assign({},j,{children:n}),void 0):_jsx("button",Object.assign({},a,{disabled:g,onClick:_},{children:isFunction(o)?o():o}),void 0)};AddToCartButton.propTypes=propTypes;AddToCartButton.defaultProps=defaultProps;AddToCartButton.displayName=displayName;export default AddToCartButton;
1
+ import{__rest}from"tslib";import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"./utils/Parent";import OrderContext from"../context/OrderContext";import{isEmpty,has}from"lodash";import ItemContext from"../context/ItemContext";import getCurrentItemKey from"../utils/getCurrentItemKey";import components from"../config/components";import SkuListsContext from"../context/SkuListsContext";import ExternalFunctionContext from"../context/ExternalFunctionContext";import isFunction from"lodash/isFunction";const propTypes=components.AddToCartButton.propTypes;const defaultProps=components.AddToCartButton.defaultProps;const displayName=components.AddToCartButton.displayName;const AddToCartButton=t=>{var o,e,n;const{label:s="Add to cart",children:r,skuCode:i,bundleCode:d,disabled:u,skuListId:a,lineItem:l}=t,c=__rest(t,["label","children","skuCode","bundleCode","disabled","skuListId","lineItem"]);const{addToCart:m,orderId:p,getOrder:C,setOrderErrors:x}=useContext(OrderContext);const{url:y,callExternalFunction:f}=useContext(ExternalFunctionContext);const{item:I,items:b,quantity:k,option:v,prices:T,lineItems:h,lineItem:E,skuCode:A}=useContext(ItemContext);const{skuLists:_}=useContext(SkuListsContext);const g=!isEmpty(b)&&i?(o=b[i])===null||o===void 0?void 0:o.code:i||getCurrentItemKey(I)||A;const j=((n=(e=I[g])===null||e===void 0?void 0:e.inventory)===null||n===void 0?void 0:n.quantity)||0;const B=()=>{var t,o;const e=k[g];const n=v[g];const s=!isEmpty(l||E)?l||E:h[g];if(!isEmpty(_)&&a&&y){const t=k[a]||1;if(has(_,a)){const o=_&&_[a].map((o=>({skuCode:o,quantity:t,_update_quantity:1})));return f({url:y,data:{resourceType:"orders",inputs:[{id:p,lineItems:o}]}}).then((t=>{C&&p&&C(p);return t})).catch((({response:t})=>{x&&x(t["data"]);return t}))}}return!y?m&&m({bundleCode:d,skuCode:g,skuId:(t=I[g])===null||t===void 0?void 0:t.id,quantity:e,option:n,lineItem:s}):f({url:y,data:{bundleCode:d,skuCode:g,skuId:(o=I[g])===null||o===void 0?void 0:o.id,quantity:e,option:n,lineItem:s}}).then((t=>{C&&p&&C(p);return t})).catch((({response:t})=>{x&&x(t["data"]);return t}))};const O=!isEmpty(_)||a?false:u||!T[g]||!g||j===0;const F=Object.assign({handleClick:B,disabled:u||O,label:s},t);return r?_jsx(Parent,Object.assign({},F,{children:r}),void 0):_jsx("button",Object.assign({},c,{disabled:O,onClick:B},{children:isFunction(s)?s():s}),void 0)};AddToCartButton.propTypes=propTypes;AddToCartButton.defaultProps=defaultProps;AddToCartButton.displayName=displayName;export default AddToCartButton;
@@ -3,11 +3,13 @@ import { TimeFormat, FunctionChildren } from '../typings/index';
3
3
  import { DeliveryLeadTime } from '../reducers/AvailabilityReducer';
4
4
  declare type AvailabilityTemplateChildrenProps = FunctionChildren<Omit<AvailabilityTemplateProps, 'children'> & DeliveryLeadTime & {
5
5
  text: string;
6
+ quantity: number;
6
7
  }>;
7
8
  declare type AvailabilityTemplateProps = {
8
9
  children?: AvailabilityTemplateChildrenProps;
9
10
  timeFormat?: TimeFormat;
10
11
  showShippingMethodName?: boolean;
12
+ showShippingMethodPrice?: boolean;
11
13
  } & JSX.IntrinsicElements['p'];
12
14
  declare const AvailabilityTemplate: FunctionComponent<AvailabilityTemplateProps>;
13
15
  export default AvailabilityTemplate;
@@ -1 +1 @@
1
- import{__rest}from"tslib";import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import AvailabilityContext from"../context/AvailabilityContext";import Parent from"./utils/Parent";import{isEmpty}from"lodash";import components from"../config/components";const propTypes=components.AvailabilityTemplate.propTypes;const defaultProps=components.AvailabilityTemplate.defaultProps;const displayName=components.AvailabilityTemplate.displayName;const AvailabilityTemplate=t=>{const{timeFormat:i,showShippingMethodName:e,children:o}=t,a=__rest(t,["timeFormat","showShippingMethodName","children"]);const{min:s,max:p,shipping_method:n,quantity:l}=useContext(AvailabilityContext);const m=!isEmpty(s)&&i?s===null||s===void 0?void 0:s[i]:"";const r=!isEmpty(p)&&i?p===null||p===void 0?void 0:p[i]:"";const c=[];const d=e&&n?`with ${n.name}`:"";if(l&&l>0){c.push("Available");if(m&&r){c.push(`in ${m} - ${r} ${i} ${d}`)}}else if(l===0){c.push("Out of stock")}const y=Object.assign({min:s,max:p,shipping_method:n,quantity:l,text:c.join(" ")},t);return o?_jsx(Parent,Object.assign({},y,{children:o}),void 0):_jsx("p",Object.assign({},a,{children:c.join(" ")}),void 0)};AvailabilityTemplate.propTypes=propTypes;AvailabilityTemplate.defaultProps=defaultProps;AvailabilityTemplate.displayName=displayName;export default AvailabilityTemplate;
1
+ import{__rest}from"tslib";import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import AvailabilityContext from"../context/AvailabilityContext";import Parent from"./utils/Parent";import{isEmpty}from"lodash";import components from"../config/components";const propTypes=components.AvailabilityTemplate.propTypes;const defaultProps=components.AvailabilityTemplate.defaultProps;const displayName=components.AvailabilityTemplate.displayName;const AvailabilityTemplate=t=>{const{timeFormat:i,showShippingMethodName:o,showShippingMethodPrice:e,children:a}=t,p=__rest(t,["timeFormat","showShippingMethodName","showShippingMethodPrice","children"]);const{min:s,max:n,shipping_method:l,quantity:m}=useContext(AvailabilityContext);const r=!isEmpty(s)&&i?s===null||s===void 0?void 0:s[i]:"";const c=!isEmpty(n)&&i?n===null||n===void 0?void 0:n[i]:"";const d=[];const h=e&&(l===null||l===void 0?void 0:l.formatted_price_amount)?`(${l===null||l===void 0?void 0:l.formatted_price_amount})`:"";const y=o&&l?`with ${l.name}`:"";if(m&&m>0){d.push("Available");if(r&&c){d.push(`in ${r} - ${c} ${i} ${y} ${h}`)}}else if(m===0){d.push("Out of stock")}const u=Object.assign({min:s,max:n,shipping_method:l,quantity:m,text:d.join(" ")},t);return a?_jsx(Parent,Object.assign({},u,{children:a}),void 0):_jsx("p",Object.assign({},p,{children:d.join(" ")}),void 0)};AvailabilityTemplate.propTypes=propTypes;AvailabilityTemplate.defaultProps=defaultProps;AvailabilityTemplate.displayName=displayName;export default AvailabilityTemplate;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext}from"react";import lineItemReducer,{lineItemInitialState,updateLineItem,deleteLineItem}from"../reducers/LineItemReducer";import OrderContext from"../context/OrderContext";import LineItemContext from"../context/LineItemContext";import CommerceLayerContext from"../context/CommerceLayerContext";import{isEmpty}from"lodash";import components from"../config/components";const propTypes=components.LineItemsContainer.propTypes;const defaultProps=components.LineItemsContainer.defaultProps;const displayName=components.LineItemsContainer.displayName;const LineItemsContainer=e=>{const{children:t,loader:n="Loading..."}=e;const{order:o,addResourceToInclude:i,include:r,orderId:s,getOrder:m}=useContext(OrderContext);const d=useContext(CommerceLayerContext);const[a,p]=useReducer(lineItemReducer,lineItemInitialState);useEffect((()=>{if(!(r===null||r===void 0?void 0:r.includes("line_items.line_item_options.sku_option"))){i({newResource:"line_items.line_item_options.sku_option"})}if(!isEmpty(o)&&(o===null||o===void 0?void 0:o.line_items)){p({type:"setLineItems",payload:{lineItems:o.line_items}})}return()=>{if(isEmpty(o)){p({type:"setLineItems",payload:{lineItems:[]}})}}}),[o]);const c=Object.assign(Object.assign({},a),{loader:n,updateLineItem:(e,t=1)=>updateLineItem({lineItemId:e,quantity:t,dispatch:p,config:d,getOrder:m,orderId:s,errors:a.errors}),deleteLineItem:e=>deleteLineItem({lineItemId:e,dispatch:p,config:d,getOrder:m,orderId:s,errors:a.errors})});return _jsx(LineItemContext.Provider,Object.assign({value:c},{children:a.loading?n:t}),void 0)};LineItemsContainer.propTypes=propTypes;LineItemsContainer.defaultProps=defaultProps;LineItemsContainer.displayName=displayName;export default LineItemsContainer;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext}from"react";import lineItemReducer,{lineItemInitialState,updateLineItem,deleteLineItem}from"../reducers/LineItemReducer";import OrderContext from"../context/OrderContext";import LineItemContext from"../context/LineItemContext";import CommerceLayerContext from"../context/CommerceLayerContext";import{isEmpty}from"lodash";import components from"../config/components";const propTypes=components.LineItemsContainer.propTypes;const defaultProps=components.LineItemsContainer.defaultProps;const displayName=components.LineItemsContainer.displayName;const LineItemsContainer=e=>{const{children:t,loader:n="Loading..."}=e;const{order:o,addResourceToInclude:i,include:r,orderId:s,getOrder:m}=useContext(OrderContext);const d=useContext(CommerceLayerContext);const[a,p]=useReducer(lineItemReducer,lineItemInitialState);useEffect((()=>{if(!(r===null||r===void 0?void 0:r.includes("line_items.line_item_options.sku_option"))){i({newResource:"line_items.line_item_options.sku_option"})}else if(!isEmpty(o)&&(o===null||o===void 0?void 0:o.line_items)){p({type:"setLineItems",payload:{lineItems:o.line_items}})}return()=>{if(isEmpty(o)){p({type:"setLineItems",payload:{lineItems:[]}})}}}),[o,r]);const c=Object.assign(Object.assign({},a),{loader:n,updateLineItem:(e,t=1)=>updateLineItem({lineItemId:e,quantity:t,dispatch:p,config:d,getOrder:m,orderId:s,errors:a.errors}),deleteLineItem:e=>deleteLineItem({lineItemId:e,dispatch:p,config:d,getOrder:m,orderId:s,errors:a.errors})});return _jsx(LineItemContext.Provider,Object.assign({value:c},{children:a.loading?n:t}),void 0)};LineItemsContainer.propTypes=propTypes;LineItemsContainer.defaultProps=defaultProps;LineItemsContainer.displayName=displayName;export default LineItemsContainer;
@@ -1 +1 @@
1
- import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";export const availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]};export const getAvailability=async({skuCode:t,dispatch:i,config:e})=>{var s;const a=getSdk(e);try{const[e]=await a.skus.list({fields:{skus:["id"]},filters:{code_in:t}});const o=await a.skus.retrieve(e.id,{fields:{skus:["inventory"]}});const[l]=(s=o.inventory)===null||s===void 0?void 0:s.levels;const[r]=l===null||l===void 0?void 0:l.delivery_lead_times;i({type:"setAvailability",payload:Object.assign(Object.assign({},r),{quantity:l===null||l===void 0?void 0:l.quantity})})}catch(t){console.error("Get SKU availability",t)}};const typeAction=["setAvailability","setErrors"];const availabilityReducer=(t,i)=>baseReducer(t,i,typeAction);export default availabilityReducer;
1
+ import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";export const availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]};export const getAvailability=async({skuCode:t,dispatch:i,config:e})=>{var s;const a=getSdk(e);try{const[e]=await a.skus.list({fields:{skus:["id"]},filters:{code_in:t}});const o=await a.skus.retrieve(e.id,{fields:{skus:["inventory"]}});const[l]=((s=o.inventory)===null||s===void 0?void 0:s.levels)||[];const[r]=(l===null||l===void 0?void 0:l.delivery_lead_times)||[];i({type:"setAvailability",payload:Object.assign(Object.assign({},r),{quantity:o.inventory.quantity})})}catch(t){console.error("Get SKU availability",t)}};const typeAction=["setAvailability","setErrors"];const availabilityReducer=(t,i)=>baseReducer(t,i,typeAction);export default availabilityReducer;
@@ -1 +1 @@
1
- import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import{shipmentsFilled}from"../utils/shipments";import{saveBillingAddress,saveShippingAddress,saveToWallet}from"../utils/customerOrderOptions";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";export const placeOrderInitialState={errors:[],isPermitted:false};export const setPlaceOrderErrors=(e,t)=>{t&&t({type:"setErrors",payload:{errors:e}})};export const placeOrderPermitted=async({config:e,order:t,dispatch:r,options:s})=>{var a;if(t&&e){let e=true;if(t.privacy_url&&t.terms_url){e=localStorage.getItem("privacy-terms")==="true"}const o=t.billing_address;if(isEmpty(o))e=false;const i=t.shipping_address;if(isEmpty(i))e=false;const d=t.shipments;const p=d&&shipmentsFilled(d);if(!isEmpty(d)&&!p)e=false;const l=t.payment_method;const n=t.payment_source;if(t.total_amount_with_taxes_cents!==0&&isEmpty(l===null||l===void 0?void 0:l.id))e=false;console.log(n);r({type:"setPlaceOrderPermitted",payload:{isPermitted:e,paymentType:l===null||l===void 0?void 0:l.payment_source_type,paymentSecret:n===null||n===void 0?void 0:n.client_secret,paymentId:(a=n===null||n===void 0?void 0:n.options)===null||a===void 0?void 0:a.id,paymentSource:n,options:s}})}};export const setPlaceOrder=async({state:e,order:t,config:r,setOrderErrors:s,paymentSource:a})=>{const o={placed:false};try{debugger;if(e&&t&&r&&a){const i=getSdk(r);const{options:d,paymentType:p}=e;if(p==="paypal_payments"){if(!(d===null||d===void 0?void 0:d.paypalPayerId)&&(a===null||a===void 0?void 0:a.approval_url)){window.location.href=a===null||a===void 0?void 0:a.approval_url;return o}await i.paypal_payments.update({id:a.id,paypal_payer_id:d===null||d===void 0?void 0:d.paypalPayerId})}const l={id:t.id,_place:true};if(saveBillingAddress()){await i.orders.update({id:t.id,_save_billing_address_to_customer_address_book:true})}if(saveShippingAddress()){await i.orders.update({id:t.id,_save_shipping_address_to_customer_address_book:true})}switch(p){case"braintree_payments":if(saveToWallet()){await i.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await i.orders.update(l);s&&s([]);return{placed:true};default:if(saveToWallet()){await i.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await i.orders.update(l);s&&s([]);return{placed:true}}}return o}catch(e){const t=getErrors(e,"orders");s&&s(t);return Object.assign(Object.assign({},o),{errors:t})}};const type=["setErrors","setPlaceOrderPermitted"];const placeOrderReducer=(e,t)=>baseReducer(e,t,type);export default placeOrderReducer;
1
+ import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import{shipmentsFilled}from"../utils/shipments";import{saveBillingAddress,saveShippingAddress,saveToWallet}from"../utils/customerOrderOptions";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";export const placeOrderInitialState={errors:[],isPermitted:false};export const setPlaceOrderErrors=(e,t)=>{t&&t({type:"setErrors",payload:{errors:e}})};export const placeOrderPermitted=async({config:e,order:t,dispatch:r,options:s})=>{var a;if(t&&e){let e=true;if(t.privacy_url&&t.terms_url){e=localStorage.getItem("privacy-terms")==="true"}const i=t.billing_address;if(isEmpty(i))e=false;const o=t.shipping_address;if(isEmpty(o))e=false;const d=t.shipments;const p=d&&shipmentsFilled(d);if(!isEmpty(d)&&!p)e=false;const l=t.payment_method;const n=t.payment_source;if(t.total_amount_with_taxes_cents!==0&&isEmpty(l===null||l===void 0?void 0:l.id))e=false;r({type:"setPlaceOrderPermitted",payload:{isPermitted:e,paymentType:l===null||l===void 0?void 0:l.payment_source_type,paymentSecret:n===null||n===void 0?void 0:n.client_secret,paymentId:(a=n===null||n===void 0?void 0:n.options)===null||a===void 0?void 0:a.id,paymentSource:n,options:s}})}};export const setPlaceOrder=async({state:e,order:t,config:r,setOrderErrors:s,paymentSource:a})=>{const i={placed:false};try{debugger;if(e&&t&&r&&a){const o=getSdk(r);const{options:d,paymentType:p}=e;if(p==="paypal_payments"){if(!(d===null||d===void 0?void 0:d.paypalPayerId)&&(a===null||a===void 0?void 0:a.approval_url)){window.location.href=a===null||a===void 0?void 0:a.approval_url;return i}await o.paypal_payments.update({id:a.id,paypal_payer_id:d===null||d===void 0?void 0:d.paypalPayerId})}const l={id:t.id,_place:true};if(saveBillingAddress()){await o.orders.update({id:t.id,_save_billing_address_to_customer_address_book:true})}if(saveShippingAddress()){await o.orders.update({id:t.id,_save_shipping_address_to_customer_address_book:true})}switch(p){case"braintree_payments":if(saveToWallet()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(l);s&&s([]);return{placed:true};default:if(saveToWallet()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(l);s&&s([]);return{placed:true}}}return i}catch(e){const t=getErrors(e,"orders");s&&s(t);return Object.assign(Object.assign({},i),{errors:t})}};const type=["setErrors","setPlaceOrderPermitted"];const placeOrderReducer=(e,t)=>baseReducer(e,t,type);export default placeOrderReducer;