@commercelayer/react-components 2.49.6 → 2.49.7
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/lib/cjs/components/AdyenPayment.js +1 -1
- package/lib/cjs/components/OrderContainer.js +1 -1
- package/lib/cjs/components/Price.d.ts +2 -0
- package/lib/cjs/components/Price.js +1 -1
- package/lib/esm/components/AdyenPayment.js +1 -1
- package/lib/esm/components/OrderContainer.js +1 -1
- package/lib/esm/components/Price.d.ts +2 -0
- package/lib/esm/components/Price.js +1 -1
- package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
- package/lib/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -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 PaymentMethodContext_1=(0,tslib_1.__importDefault)(require("../context/PaymentMethodContext"));const isEmpty_1=(0,tslib_1.__importDefault)(require("lodash/isEmpty"));const localStorage_1=require("../utils/localStorage");const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const browserInfo_1=(0,tslib_1.__importDefault)(require("../utils/browserInfo"));const PlaceOrderContext_1=(0,tslib_1.__importDefault)(require("../context/PlaceOrderContext"));const threeDSConfiguration={challengeWindowSize:"05"};const defaultConfig={};const AdyenPayment=({clientKey:e,config:t,templateCustomerSaveToWallet:n,environment:o="test",locale:a="en_US"})=>{const{cardContainerClassName:r,threeDSecureContainerClassName:s,placeOrderCallback:i,styles:c}=Object.assign(Object.assign({},defaultConfig),t);const[l
|
|
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 PaymentMethodContext_1=(0,tslib_1.__importDefault)(require("../context/PaymentMethodContext"));const isEmpty_1=(0,tslib_1.__importDefault)(require("lodash/isEmpty"));const localStorage_1=require("../utils/localStorage");const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const browserInfo_1=(0,tslib_1.__importDefault)(require("../utils/browserInfo"));const PlaceOrderContext_1=(0,tslib_1.__importDefault)(require("../context/PlaceOrderContext"));const threeDSConfiguration={challengeWindowSize:"05"};const defaultConfig={};const AdyenPayment=({clientKey:e,config:t,templateCustomerSaveToWallet:n,environment:o="test",locale:a="en_US"})=>{const{cardContainerClassName:r,threeDSecureContainerClassName:s,placeOrderCallback:i,styles:c}=Object.assign(Object.assign({},defaultConfig),t);const[d,l]=(0,react_1.useState)(false);const[u,m]=(0,react_1.useState)({});const{setPaymentSource:_,paymentSource:y,setPaymentMethodErrors:p,currentPaymentMethodType:f,setPaymentRef:v}=(0,react_1.useContext)(PaymentMethodContext_1.default);const{setPlaceOrder:h}=(0,react_1.useContext)(PlaceOrderContext_1.default);const b=(0,react_1.useRef)(null);const g=async(e,t)=>{var n,o,a,r,s,i,c;const d=(o=(n=e===null||e===void 0?void 0:e.elements)===null||n===void 0?void 0:n["save_payment_source_to_customer_wallet"])===null||o===void 0?void 0:o.checked;if(d)(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",d);const l={_authorize:1};try{const e=y&&await _({paymentSourceId:y.id,paymentResource:"adyen_payments",attributes:l});const n=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.action;const o=(r=e===null||e===void 0?void 0:e.payment_response)===null||r===void 0?void 0:r.resultCode;if(n&&["IdentifyShopper","RedirectShopper"].includes(o)){t.createFromAction(n,threeDSConfiguration).mount("#adyen-action")}else if(["Authorised","Pending","Received"].includes(o)){const t=(i=(s=e===null||e===void 0?void 0:e.payment_request_data)===null||s===void 0?void 0:s.payment_method)===null||i===void 0?void 0:i.brand;if(t){const n={metadata:{card:{brand:t}}};await _({paymentSourceId:e===null||e===void 0?void 0:e.id,paymentResource:"adyen_payments",attributes:n})}return true}const d=(c=e===null||e===void 0?void 0:e.payment_response)===null||c===void 0?void 0:c.refusalReason;p([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:d}]);return false}catch(e){p([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:e.message}]);return false}};const C=async(e,t,n,o)=>{if(e.isValid){if(b.current){const e=require("@adyen/adyen-web");const t=await e(n);b.current.onsubmit=()=>g(b.current,t);v({ref:b})}let t=(0,browserInfo_1.default)();const a={payment_request_data:{payment_method:e.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,browser_info:Object.assign({acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"},t)}};o&&await _({paymentSourceId:o.id,paymentResource:"adyen_payments",attributes:a})}};const w=async(e,t,n)=>{var o,a;const r={payment_request_details:e.data,_details:1};try{const e=y&&await _({paymentSourceId:y.id,paymentResource:"adyen_payments",attributes:r});const t=(o=e===null||e===void 0?void 0:e.payment_response)===null||o===void 0?void 0:o.action;const s=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.resultCode;const c=require("@adyen/adyen-web");if(t){const e=await c(n);e.createFromAction(t,threeDSConfiguration).mount("#adyen-action")}if(["Authorised","Pending","Received"].includes(s)){const{placed:t}=h&&await h({paymentSource:e})||{placed:false};t&&i&&i({placed:t})}}catch(e){console.error("Adyen additional details error:",e)}};(0,react_1.useEffect)((()=>{const t=!(0,isEmpty_1.default)(y===null||y===void 0?void 0:y.payment_methods)?y===null||y===void 0?void 0:y.payment_methods:{};if((0,isEmpty_1.default)(t))console.error("Payment methods are not available. Please, check your Adyen configuration.");const n={locale:a,environment:o,clientKey:e,paymentMethodsResponse:t};n.onChange=(e,t)=>C(e,t,n,y);n.onAdditionalDetails=(e,t)=>w(e,t,n);if(!b&&e)(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet","false");if(e&&!d&&!(0,isEmpty_1.default)(window)){const e=require("@adyen/adyen-web");e(n).then((e=>{const t=e.create("card",{styles:c}).mount("#adyen-card");if(t){m(e);l(true)}}))}return()=>{v({ref:{current:null}});l(false)}}),[e,b]);return!e&&!d&&!u?null:(0,jsx_runtime_1.jsxs)("form",Object.assign({ref:b,onSubmit:e=>g(e,u)},{children:[(0,jsx_runtime_1.jsx)("div",{className:r,id:"adyen-card"},void 0),n&&(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},{name:"save_payment_source_to_customer_wallet"},{children:n}),void 0),(0,jsx_runtime_1.jsx)("div",{className:s,id:"adyen-action"},void 0)]}),void 0)};exports.default=AdyenPayment;
|
|
@@ -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 OrderReducer_1=(0,tslib_1.__importStar)(require("../reducers/OrderReducer"));const CommerceLayerContext_1=(0,tslib_1.__importDefault)(require("../context/CommerceLayerContext"));const OrderContext_1=(0,tslib_1.__importStar)(require("../context/OrderContext"));const OrderReducer_2=require("../reducers/OrderReducer");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const OrderStorageContext_1=(0,tslib_1.__importDefault)(require("../context/OrderStorageContext"));const propTypes=components_1.default.OrderContainer.propTypes;const defaultProps=components_1.default.OrderContainer.defaultProps;const displayName=components_1.default.OrderContainer.displayName;const OrderContainer=e=>{const{orderId:r,children:t,metadata:d,attributes:o}=e;const[s,a]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState);const n=(0,react_1.useContext)(CommerceLayerContext_1.default);const{persistKey:c,clearWhenPlaced:i,getLocalOrder:u,setLocalOrder:l,deleteLocalOrder:O}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)((()=>{var e;const t=Object.keys((s===null||s===void 0?void 0:s.includeLoaded)||{}).filter((e=>{var r;return((r=s===null||s===void 0?void 0:s.includeLoaded)===null||r===void 0?void 0:r[e])===true}));if(n.accessToken){const d=c?u(c):r;if(d){a({type:"setOrderId",payload:{orderId:d}});if(!s.order&&t.length===((e=s.include)===null||e===void 0?void 0:e.length)){(0,OrderReducer_1.getApiOrder)({id:d,dispatch:a,config:n,persistKey:c,clearWhenPlaced:
|
|
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 OrderReducer_1=(0,tslib_1.__importStar)(require("../reducers/OrderReducer"));const CommerceLayerContext_1=(0,tslib_1.__importDefault)(require("../context/CommerceLayerContext"));const OrderContext_1=(0,tslib_1.__importStar)(require("../context/OrderContext"));const OrderReducer_2=require("../reducers/OrderReducer");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const OrderStorageContext_1=(0,tslib_1.__importDefault)(require("../context/OrderStorageContext"));const propTypes=components_1.default.OrderContainer.propTypes;const defaultProps=components_1.default.OrderContainer.defaultProps;const displayName=components_1.default.OrderContainer.displayName;const OrderContainer=e=>{const{orderId:r,children:t,metadata:d,attributes:o}=e;const[s,a]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState);const n=(0,react_1.useContext)(CommerceLayerContext_1.default);const{persistKey:c,clearWhenPlaced:i,getLocalOrder:u,setLocalOrder:l,deleteLocalOrder:O}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)((()=>{var e;const t=Object.keys((s===null||s===void 0?void 0:s.includeLoaded)||{}).filter((e=>{var r;return((r=s===null||s===void 0?void 0:s.includeLoaded)===null||r===void 0?void 0:r[e])===true}));if(n.accessToken){const d=c?u(c):r;if(d){a({type:"setOrderId",payload:{orderId:d}});if(!s.order&&t.length===((e=s.include)===null||e===void 0?void 0:e.length)){const e=!!(c&&i);(0,OrderReducer_1.getApiOrder)({id:d,dispatch:a,config:n,persistKey:c,clearWhenPlaced:e,deleteLocalOrder:O,state:s})}}}return()=>(0,OrderReducer_2.unsetOrderState)(a)}),[n.accessToken,r,s.includeLoaded]);const p=(0,react_1.useMemo)((()=>Object.assign(Object.assign({},s),{setOrder:e=>(0,OrderReducer_1.setOrder)(e,a),getOrder:e=>(0,OrderReducer_1.getApiOrder)({id:e,dispatch:a,config:n,state:s}),setOrderErrors:e=>(0,OrderReducer_1.setOrderErrors)({dispatch:a,errors:e}),createOrder:async()=>await(0,OrderReducer_1.createOrder)({persistKey:c,dispatch:a,config:n,state:s,orderMetadata:d,orderAttributes:o}),addToCart:e=>OrderContext_1.defaultOrderContext["addToCart"](Object.assign(Object.assign({},e),{persistKey:c,dispatch:a,state:s,config:n,errors:s.errors,orderMetadata:d||{},orderAttributes:o,setLocalOrder:l})),saveAddressToCustomerAddressBook:e=>OrderContext_1.defaultOrderContext["saveAddressToCustomerAddressBook"](Object.assign(Object.assign({},e),{dispatch:a})),setGiftCardOrCouponCode:({code:e})=>OrderContext_1.defaultOrderContext["setGiftCardOrCouponCode"]({code:e,dispatch:a,order:s.order,config:n}),removeGiftCardOrCouponCode:({codeType:e})=>OrderContext_1.defaultOrderContext["removeGiftCardOrCouponCode"]({codeType:e,dispatch:a,order:s.order,config:n}),addResourceToInclude:e=>OrderContext_1.defaultOrderContext["addResourceToInclude"](Object.assign(Object.assign({},e),{dispatch:a,resourcesIncluded:s.include,resourceIncludedLoaded:s.includeLoaded})),updateOrder:async e=>await OrderContext_1.defaultOrderContext["updateOrder"](Object.assign(Object.assign({},e),{dispatch:a,config:n,include:s.include}))})),[s]);return(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,Object.assign({value:p},{children:t}),void 0)};OrderContainer.propTypes=propTypes;OrderContainer.defaultProps=defaultProps;OrderContainer.displayName=displayName;exports.default=OrderContainer;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
|
+
import { Price as PriceType } from '@commercelayer/sdk';
|
|
2
3
|
import { FunctionChildren, LoaderType } from '../typings/index';
|
|
3
4
|
declare type PriceChildrenProps = FunctionChildren<{
|
|
4
5
|
loading: boolean;
|
|
5
6
|
loader: LoaderType;
|
|
7
|
+
prices: PriceType[];
|
|
6
8
|
} & Omit<PriceProps, 'children'>>;
|
|
7
9
|
export interface PriceProps extends Partial<JSX.IntrinsicElements['span']> {
|
|
8
10
|
children?: PriceChildrenProps;
|
|
@@ -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 lodash_1=require("lodash");const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const PricesContext_1=(0,tslib_1.__importDefault)(require("../context/PricesContext"));const getPrices_1=require("../utils/getPrices");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.Price.propTypes;const defaultProps=components_1.default.Price.defaultProps;const displayName=components_1.default.Price.displayName;const Price=e=>{const{children:t,skuCode:s=""}=e;const{prices:r,skuCode:o,loading:i,skuCodes:c,setSkuCodes:n,loader:a}=(0,react_1.useContext)(PricesContext_1.default);const[l,u]=(0,react_1.useState)([]);const _=o||s;(0,react_1.useEffect)((()=>{if(!(0,lodash_1.isEmpty)(r)&&(0,lodash_1.has)(r,`${_}`)){u(r[_])}else{if(_&&(0,lodash_1.indexOf)(c,_)===-1){c.push(_);n&&n(c)}}return()=>{u([])}}),[r,_]);const
|
|
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 lodash_1=require("lodash");const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const PricesContext_1=(0,tslib_1.__importDefault)(require("../context/PricesContext"));const getPrices_1=require("../utils/getPrices");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.Price.propTypes;const defaultProps=components_1.default.Price.defaultProps;const displayName=components_1.default.Price.displayName;const Price=e=>{const{children:t,skuCode:s=""}=e;const{prices:r,skuCode:o,loading:i,skuCodes:c,setSkuCodes:n,loader:a}=(0,react_1.useContext)(PricesContext_1.default);const[l,u]=(0,react_1.useState)([]);const _=o||s;(0,react_1.useEffect)((()=>{if(!(0,lodash_1.isEmpty)(r)&&(0,lodash_1.has)(r,`${_}`)){u(r[_])}else{if(_&&(0,lodash_1.indexOf)(c,_)===-1){c.push(_);n&&n(c)}}return()=>{u([])}}),[r,_]);const p=Object.assign({loading:i,loader:a,prices:l},e);const d=(0,lodash_1.isEmpty)(r)||(0,lodash_1.isEmpty)(l)?null:(0,getPrices_1.getPricesComponent)(l,e);return t?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},p,{children:t}),void 0):(0,jsx_runtime_1.jsx)(react_1.Fragment,{children:i||(0,lodash_1.isEmpty)(d)?a:d},void 0)};Price.propTypes=propTypes;Price.defaultProps=defaultProps;Price.displayName=displayName;exports.default=Price;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../context/PaymentMethodContext";import isEmpty from"lodash/isEmpty";import{setCustomerOrderParam}from"../utils/localStorage";import Parent from"./utils/Parent";import getBrowserInfo from"../utils/browserInfo";import PlaceOrderContext from"../context/PlaceOrderContext";const threeDSConfiguration={challengeWindowSize:"05"};const defaultConfig={};const AdyenPayment=({clientKey:e,config:t,templateCustomerSaveToWallet:n,environment:o="test",locale:a="en_US"})=>{const{cardContainerClassName:
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../context/PaymentMethodContext";import isEmpty from"lodash/isEmpty";import{setCustomerOrderParam}from"../utils/localStorage";import Parent from"./utils/Parent";import getBrowserInfo from"../utils/browserInfo";import PlaceOrderContext from"../context/PlaceOrderContext";const threeDSConfiguration={challengeWindowSize:"05"};const defaultConfig={};const AdyenPayment=({clientKey:e,config:t,templateCustomerSaveToWallet:n,environment:o="test",locale:a="en_US"})=>{const{cardContainerClassName:r,threeDSecureContainerClassName:s,placeOrderCallback:i,styles:d}=Object.assign(Object.assign({},defaultConfig),t);const[c,l]=useState(false);const[m,u]=useState({});const{setPaymentSource:y,paymentSource:p,setPaymentMethodErrors:_,currentPaymentMethodType:f,setPaymentRef:v}=useContext(PaymentMethodContext);const{setPlaceOrder:h}=useContext(PlaceOrderContext);const g=useRef(null);const C=async(e,t)=>{var n,o,a,r,s,i,d;const c=(o=(n=e===null||e===void 0?void 0:e.elements)===null||n===void 0?void 0:n["save_payment_source_to_customer_wallet"])===null||o===void 0?void 0:o.checked;if(c)setCustomerOrderParam("_save_payment_source_to_customer_wallet",c);const l={_authorize:1};try{const e=p&&await y({paymentSourceId:p.id,paymentResource:"adyen_payments",attributes:l});const n=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.action;const o=(r=e===null||e===void 0?void 0:e.payment_response)===null||r===void 0?void 0:r.resultCode;if(n&&["IdentifyShopper","RedirectShopper"].includes(o)){t.createFromAction(n,threeDSConfiguration).mount("#adyen-action")}else if(["Authorised","Pending","Received"].includes(o)){const t=(i=(s=e===null||e===void 0?void 0:e.payment_request_data)===null||s===void 0?void 0:s.payment_method)===null||i===void 0?void 0:i.brand;if(t){const n={metadata:{card:{brand:t}}};await y({paymentSourceId:e===null||e===void 0?void 0:e.id,paymentResource:"adyen_payments",attributes:n})}return true}const c=(d=e===null||e===void 0?void 0:e.payment_response)===null||d===void 0?void 0:d.refusalReason;_([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:c}]);return false}catch(e){_([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:e.message}]);return false}};const w=async(e,t,n,o)=>{if(e.isValid){if(g.current){const e=require("@adyen/adyen-web");const t=await e(n);g.current.onsubmit=()=>C(g.current,t);v({ref:g})}let t=getBrowserInfo();const a={payment_request_data:{payment_method:e.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,browser_info:Object.assign({acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"},t)}};o&&await y({paymentSourceId:o.id,paymentResource:"adyen_payments",attributes:a})}};const P=async(e,t,n)=>{var o,a;const r={payment_request_details:e.data,_details:1};try{const e=p&&await y({paymentSourceId:p.id,paymentResource:"adyen_payments",attributes:r});const t=(o=e===null||e===void 0?void 0:e.payment_response)===null||o===void 0?void 0:o.action;const s=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.resultCode;const d=require("@adyen/adyen-web");if(t){const e=await d(n);e.createFromAction(t,threeDSConfiguration).mount("#adyen-action")}if(["Authorised","Pending","Received"].includes(s)){const{placed:t}=h&&await h({paymentSource:e})||{placed:false};t&&i&&i({placed:t})}}catch(e){console.error("Adyen additional details error:",e)}};useEffect((()=>{const t=!isEmpty(p===null||p===void 0?void 0:p.payment_methods)?p===null||p===void 0?void 0:p.payment_methods:{};if(isEmpty(t))console.error("Payment methods are not available. Please, check your Adyen configuration.");const n={locale:a,environment:o,clientKey:e,paymentMethodsResponse:t};n.onChange=(e,t)=>w(e,t,n,p);n.onAdditionalDetails=(e,t)=>P(e,t,n);if(!g&&e)setCustomerOrderParam("_save_payment_source_to_customer_wallet","false");if(e&&!c&&!isEmpty(window)){const e=require("@adyen/adyen-web");e(n).then((e=>{const t=e.create("card",{styles:d}).mount("#adyen-card");if(t){u(e);l(true)}}))}return()=>{v({ref:{current:null}});l(false)}}),[e,g]);return!e&&!c&&!m?null:_jsxs("form",Object.assign({ref:g,onSubmit:e=>C(e,m)},{children:[_jsx("div",{className:r,id:"adyen-card"},void 0),n&&_jsx(Parent,Object.assign({},{name:"save_payment_source_to_customer_wallet"},{children:n}),void 0),_jsx("div",{className:s,id:"adyen-action"},void 0)]}),void 0)};export default AdyenPayment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext,useMemo}from"react";import orderReducer,{createOrder,getApiOrder,setOrderErrors,setOrder,orderInitialState}from"../reducers/OrderReducer";import CommerceLayerContext from"../context/CommerceLayerContext";import OrderContext,{defaultOrderContext}from"../context/OrderContext";import{unsetOrderState}from"../reducers/OrderReducer";import components from"../config/components";import OrderStorageContext from"../context/OrderStorageContext";const propTypes=components.OrderContainer.propTypes;const defaultProps=components.OrderContainer.defaultProps;const displayName=components.OrderContainer.displayName;const OrderContainer=e=>{const{orderId:r,children:t,metadata:d,attributes:o}=e;const[s,a]=useReducer(orderReducer,orderInitialState);const n=useContext(CommerceLayerContext);const{persistKey:c,clearWhenPlaced:i,getLocalOrder:u,setLocalOrder:O,deleteLocalOrder:p}=useContext(OrderStorageContext);useEffect((()=>{var e;const t=Object.keys((s===null||s===void 0?void 0:s.includeLoaded)||{}).filter((e=>{var r;return((r=s===null||s===void 0?void 0:s.includeLoaded)===null||r===void 0?void 0:r[e])===true}));if(n.accessToken){const d=c?u(c):r;if(d){a({type:"setOrderId",payload:{orderId:d}});if(!s.order&&t.length===((e=s.include)===null||e===void 0?void 0:e.length)){getApiOrder({id:d,dispatch:a,config:n,persistKey:c,clearWhenPlaced:
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext,useMemo}from"react";import orderReducer,{createOrder,getApiOrder,setOrderErrors,setOrder,orderInitialState}from"../reducers/OrderReducer";import CommerceLayerContext from"../context/CommerceLayerContext";import OrderContext,{defaultOrderContext}from"../context/OrderContext";import{unsetOrderState}from"../reducers/OrderReducer";import components from"../config/components";import OrderStorageContext from"../context/OrderStorageContext";const propTypes=components.OrderContainer.propTypes;const defaultProps=components.OrderContainer.defaultProps;const displayName=components.OrderContainer.displayName;const OrderContainer=e=>{const{orderId:r,children:t,metadata:d,attributes:o}=e;const[s,a]=useReducer(orderReducer,orderInitialState);const n=useContext(CommerceLayerContext);const{persistKey:c,clearWhenPlaced:i,getLocalOrder:u,setLocalOrder:O,deleteLocalOrder:p}=useContext(OrderStorageContext);useEffect((()=>{var e;const t=Object.keys((s===null||s===void 0?void 0:s.includeLoaded)||{}).filter((e=>{var r;return((r=s===null||s===void 0?void 0:s.includeLoaded)===null||r===void 0?void 0:r[e])===true}));if(n.accessToken){const d=c?u(c):r;if(d){a({type:"setOrderId",payload:{orderId:d}});if(!s.order&&t.length===((e=s.include)===null||e===void 0?void 0:e.length)){const e=!!(c&&i);getApiOrder({id:d,dispatch:a,config:n,persistKey:c,clearWhenPlaced:e,deleteLocalOrder:p,state:s})}}}return()=>unsetOrderState(a)}),[n.accessToken,r,s.includeLoaded]);const l=useMemo((()=>Object.assign(Object.assign({},s),{setOrder:e=>setOrder(e,a),getOrder:e=>getApiOrder({id:e,dispatch:a,config:n,state:s}),setOrderErrors:e=>setOrderErrors({dispatch:a,errors:e}),createOrder:async()=>await createOrder({persistKey:c,dispatch:a,config:n,state:s,orderMetadata:d,orderAttributes:o}),addToCart:e=>defaultOrderContext["addToCart"](Object.assign(Object.assign({},e),{persistKey:c,dispatch:a,state:s,config:n,errors:s.errors,orderMetadata:d||{},orderAttributes:o,setLocalOrder:O})),saveAddressToCustomerAddressBook:e=>defaultOrderContext["saveAddressToCustomerAddressBook"](Object.assign(Object.assign({},e),{dispatch:a})),setGiftCardOrCouponCode:({code:e})=>defaultOrderContext["setGiftCardOrCouponCode"]({code:e,dispatch:a,order:s.order,config:n}),removeGiftCardOrCouponCode:({codeType:e})=>defaultOrderContext["removeGiftCardOrCouponCode"]({codeType:e,dispatch:a,order:s.order,config:n}),addResourceToInclude:e=>defaultOrderContext["addResourceToInclude"](Object.assign(Object.assign({},e),{dispatch:a,resourcesIncluded:s.include,resourceIncludedLoaded:s.includeLoaded})),updateOrder:async e=>await defaultOrderContext["updateOrder"](Object.assign(Object.assign({},e),{dispatch:a,config:n,include:s.include}))})),[s]);return _jsx(OrderContext.Provider,Object.assign({value:l},{children:t}),void 0)};OrderContainer.propTypes=propTypes;OrderContainer.defaultProps=defaultProps;OrderContainer.displayName=displayName;export default OrderContainer;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
|
+
import { Price as PriceType } from '@commercelayer/sdk';
|
|
2
3
|
import { FunctionChildren, LoaderType } from '../typings/index';
|
|
3
4
|
declare type PriceChildrenProps = FunctionChildren<{
|
|
4
5
|
loading: boolean;
|
|
5
6
|
loader: LoaderType;
|
|
7
|
+
prices: PriceType[];
|
|
6
8
|
} & Omit<PriceProps, 'children'>>;
|
|
7
9
|
export interface PriceProps extends Partial<JSX.IntrinsicElements['span']> {
|
|
8
10
|
children?: PriceChildrenProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{Fragment,useState,useEffect,useContext}from"react";import{isEmpty,has,indexOf}from"lodash";import Parent from"./utils/Parent";import PricesContext from"../context/PricesContext";import{getPricesComponent}from"../utils/getPrices";import components from"../config/components";const propTypes=components.Price.propTypes;const defaultProps=components.Price.defaultProps;const displayName=components.Price.displayName;const Price=e=>{const{children:t,skuCode:s=""}=e;const{prices:o,skuCode:r,loading:
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{Fragment,useState,useEffect,useContext}from"react";import{isEmpty,has,indexOf}from"lodash";import Parent from"./utils/Parent";import PricesContext from"../context/PricesContext";import{getPricesComponent}from"../utils/getPrices";import components from"../config/components";const propTypes=components.Price.propTypes;const defaultProps=components.Price.defaultProps;const displayName=components.Price.displayName;const Price=e=>{const{children:t,skuCode:s=""}=e;const{prices:o,skuCode:r,loading:i,skuCodes:n,setSkuCodes:p,loader:c}=useContext(PricesContext);const[m,a]=useState([]);const d=r||s;useEffect((()=>{if(!isEmpty(o)&&has(o,`${d}`)){a(o[d])}else{if(d&&indexOf(n,d)===-1){n.push(d);p&&p(n)}}return()=>{a([])}}),[o,d]);const l=Object.assign({loading:i,loader:c,prices:m},e);const u=isEmpty(o)||isEmpty(m)?null:getPricesComponent(m,e);return t?_jsx(Parent,Object.assign({},l,{children:t}),void 0):_jsx(Fragment,{children:i||isEmpty(u)?c:u},void 0)};Price.propTypes=propTypes;Price.defaultProps=defaultProps;Price.displayName=displayName;export default Price;
|