@commercelayer/react-components 4.0.0-alpha.11 → 4.0.0-alpha.12

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.
Files changed (121) hide show
  1. package/lib/cjs/components/orders/AdjustmentAmount.d.ts +2 -2
  2. package/lib/cjs/components/orders/AdjustmentAmount.js +1 -1
  3. package/lib/cjs/components/orders/DiscountAmount.d.ts +0 -14
  4. package/lib/cjs/components/orders/DiscountAmount.js +1 -1
  5. package/lib/cjs/components/orders/GiftCardAmount.d.ts +0 -11
  6. package/lib/cjs/components/orders/GiftCardAmount.js +1 -1
  7. package/lib/cjs/components/orders/OrderContainer.d.ts +0 -1
  8. package/lib/cjs/components/orders/OrderContainer.js +1 -1
  9. package/lib/cjs/components/orders/PaymentMethodAmount.d.ts +4 -0
  10. package/lib/cjs/components/orders/PaymentMethodAmount.js +1 -0
  11. package/lib/cjs/components/orders/PlaceOrderButton.js +1 -1
  12. package/lib/cjs/components/orders/PlaceOrderContainer.d.ts +2 -8
  13. package/lib/cjs/components/orders/PlaceOrderContainer.js +1 -1
  14. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -6
  15. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.js +1 -1
  16. package/lib/cjs/components/orders/ShippingAmount.d.ts +0 -11
  17. package/lib/cjs/components/orders/ShippingAmount.js +1 -1
  18. package/lib/cjs/components/orders/SubTotalAmount.d.ts +0 -14
  19. package/lib/cjs/components/orders/SubTotalAmount.js +1 -1
  20. package/lib/cjs/components/orders/TaxesAmount.d.ts +0 -14
  21. package/lib/cjs/components/orders/TaxesAmount.js +1 -1
  22. package/lib/cjs/components/orders/TotalAmount.d.ts +0 -14
  23. package/lib/cjs/components/orders/TotalAmount.js +1 -1
  24. package/lib/cjs/components/parcels/ParcelLineItemsCount.js +1 -1
  25. package/lib/cjs/components/parcels/ParcelsCount.js +1 -1
  26. package/lib/cjs/components/payment_methods/PaymentMethod.d.ts +1 -7
  27. package/lib/cjs/components/payment_methods/PaymentMethod.js +1 -1
  28. package/lib/cjs/components/payment_methods/PaymentMethodName.d.ts +6 -11
  29. package/lib/cjs/components/payment_methods/PaymentMethodName.js +1 -1
  30. package/lib/cjs/components/payment_methods/PaymentMethodPrice.d.ts +2 -14
  31. package/lib/cjs/components/payment_methods/PaymentMethodPrice.js +1 -1
  32. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.d.ts +4 -9
  33. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.js +1 -1
  34. package/lib/cjs/components/payment_methods/PaymentMethodsContainer.js +1 -1
  35. package/lib/cjs/components/payment_source/AdyenPayment.d.ts +5 -5
  36. package/lib/cjs/components/payment_source/AdyenPayment.js +1 -1
  37. package/lib/cjs/components/shipments/ShipmentsCount.js +1 -1
  38. package/lib/cjs/components/skus/VariantSelector.js +1 -1
  39. package/lib/cjs/components/skus/VariantsContainer.d.ts +4 -16
  40. package/lib/cjs/components/skus/VariantsContainer.js +1 -1
  41. package/lib/cjs/components/utils/BaseOrderPrice.d.ts +3 -3
  42. package/lib/cjs/components/utils/BaseOrderPrice.js +1 -1
  43. package/lib/cjs/components/utils/VariantTemplate.js +1 -1
  44. package/lib/cjs/context/PaymentMethodContext.d.ts +2 -11
  45. package/lib/cjs/context/PaymentMethodContext.js +1 -1
  46. package/lib/cjs/index.d.ts +1 -1
  47. package/lib/cjs/index.js +1 -1
  48. package/lib/cjs/reducers/OrderReducer.js +1 -1
  49. package/lib/cjs/reducers/PaymentMethodReducer.d.ts +9 -11
  50. package/lib/cjs/reducers/PaymentMethodReducer.js +1 -1
  51. package/lib/cjs/reducers/VariantReducer.d.ts +7 -15
  52. package/lib/cjs/reducers/VariantReducer.js +1 -1
  53. package/lib/cjs/typings/index.d.ts +3 -3
  54. package/lib/cjs/utils/browserInfo.d.ts +5 -2
  55. package/lib/cjs/utils/browserInfo.js +1 -1
  56. package/lib/cjs/utils/hooks/useCustomContext.d.ts +21 -0
  57. package/lib/cjs/utils/hooks/useCustomContext.js +1 -0
  58. package/lib/esm/components/orders/AdjustmentAmount.d.ts +2 -2
  59. package/lib/esm/components/orders/AdjustmentAmount.js +1 -1
  60. package/lib/esm/components/orders/DiscountAmount.d.ts +0 -14
  61. package/lib/esm/components/orders/DiscountAmount.js +1 -1
  62. package/lib/esm/components/orders/GiftCardAmount.d.ts +0 -11
  63. package/lib/esm/components/orders/GiftCardAmount.js +1 -1
  64. package/lib/esm/components/orders/OrderContainer.d.ts +0 -1
  65. package/lib/esm/components/orders/OrderContainer.js +1 -1
  66. package/lib/esm/components/orders/PaymentMethodAmount.d.ts +4 -0
  67. package/lib/esm/components/orders/PaymentMethodAmount.js +1 -0
  68. package/lib/esm/components/orders/PlaceOrderButton.js +1 -1
  69. package/lib/esm/components/orders/PlaceOrderContainer.d.ts +2 -8
  70. package/lib/esm/components/orders/PlaceOrderContainer.js +1 -1
  71. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -6
  72. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.js +1 -1
  73. package/lib/esm/components/orders/ShippingAmount.d.ts +0 -11
  74. package/lib/esm/components/orders/ShippingAmount.js +1 -1
  75. package/lib/esm/components/orders/SubTotalAmount.d.ts +0 -14
  76. package/lib/esm/components/orders/SubTotalAmount.js +1 -1
  77. package/lib/esm/components/orders/TaxesAmount.d.ts +0 -14
  78. package/lib/esm/components/orders/TaxesAmount.js +1 -1
  79. package/lib/esm/components/orders/TotalAmount.d.ts +0 -14
  80. package/lib/esm/components/orders/TotalAmount.js +1 -1
  81. package/lib/esm/components/parcels/ParcelLineItemsCount.js +1 -1
  82. package/lib/esm/components/parcels/ParcelsCount.js +1 -1
  83. package/lib/esm/components/payment_methods/PaymentMethod.d.ts +1 -7
  84. package/lib/esm/components/payment_methods/PaymentMethod.js +1 -1
  85. package/lib/esm/components/payment_methods/PaymentMethodName.d.ts +6 -11
  86. package/lib/esm/components/payment_methods/PaymentMethodName.js +1 -1
  87. package/lib/esm/components/payment_methods/PaymentMethodPrice.d.ts +2 -14
  88. package/lib/esm/components/payment_methods/PaymentMethodPrice.js +1 -1
  89. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.d.ts +4 -9
  90. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.js +1 -1
  91. package/lib/esm/components/payment_methods/PaymentMethodsContainer.js +1 -1
  92. package/lib/esm/components/payment_source/AdyenPayment.d.ts +5 -5
  93. package/lib/esm/components/payment_source/AdyenPayment.js +1 -1
  94. package/lib/esm/components/shipments/ShipmentsCount.js +1 -1
  95. package/lib/esm/components/skus/VariantSelector.js +1 -1
  96. package/lib/esm/components/skus/VariantsContainer.d.ts +4 -16
  97. package/lib/esm/components/skus/VariantsContainer.js +1 -1
  98. package/lib/esm/components/utils/BaseOrderPrice.d.ts +3 -3
  99. package/lib/esm/components/utils/BaseOrderPrice.js +1 -1
  100. package/lib/esm/components/utils/VariantTemplate.js +1 -1
  101. package/lib/esm/context/PaymentMethodContext.d.ts +2 -11
  102. package/lib/esm/context/PaymentMethodContext.js +1 -1
  103. package/lib/esm/index.d.ts +1 -1
  104. package/lib/esm/index.js +1 -1
  105. package/lib/esm/reducers/OrderReducer.js +1 -1
  106. package/lib/esm/reducers/PaymentMethodReducer.d.ts +9 -11
  107. package/lib/esm/reducers/PaymentMethodReducer.js +1 -1
  108. package/lib/esm/reducers/VariantReducer.d.ts +7 -15
  109. package/lib/esm/reducers/VariantReducer.js +1 -1
  110. package/lib/esm/typings/index.d.ts +3 -3
  111. package/lib/esm/utils/browserInfo.d.ts +5 -2
  112. package/lib/esm/utils/browserInfo.js +1 -1
  113. package/lib/esm/utils/hooks/useCustomContext.d.ts +21 -0
  114. package/lib/esm/utils/hooks/useCustomContext.js +1 -0
  115. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  116. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  117. package/package.json +1 -1
  118. package/lib/cjs/components/payment_methods/PaymentMethodAmount.d.ts +0 -18
  119. package/lib/cjs/components/payment_methods/PaymentMethodAmount.js +0 -1
  120. package/lib/esm/components/payment_methods/PaymentMethodAmount.d.ts +0 -18
  121. package/lib/esm/components/payment_methods/PaymentMethodAmount.js +0 -1
@@ -1,4 +1,4 @@
1
- import { FunctionComponent } from 'react';
1
+ /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
- declare const AdjustmentAmount: FunctionComponent<BaseAmountComponent>;
3
+ export declare function AdjustmentAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default AdjustmentAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),AdjustmentAmount=props=>(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"adjustment",...props});exports.default=AdjustmentAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AdjustmentAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function AdjustmentAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"adjustment",...props})}exports.AdjustmentAmount=AdjustmentAmount,exports.default=AdjustmentAmount;
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function DiscountAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace DiscountAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var defaultProps: {
14
- format: import("../../typings/index").BaseFormatPrice;
15
- };
16
- var displayName: string;
17
- }
18
4
  export default DiscountAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DiscountAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.DiscountAmount.propTypes,defaultProps=components_1.default.DiscountAmount.defaultProps,displayName=components_1.default.DiscountAmount.displayName;function DiscountAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"discount",...props})}exports.DiscountAmount=DiscountAmount,DiscountAmount.propTypes=propTypes,DiscountAmount.defaultProps=defaultProps,DiscountAmount.displayName=displayName,exports.default=DiscountAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DiscountAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function DiscountAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"discount",...props})}exports.DiscountAmount=DiscountAmount,exports.default=DiscountAmount;
@@ -1,15 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function GiftCardAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace GiftCardAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var displayName: string;
14
- }
15
4
  export default GiftCardAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.GiftCardAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.GiftCardAmount.propTypes,displayName=components_1.default.GiftCardAmount.displayName;function GiftCardAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"gift_card",...props})}exports.GiftCardAmount=GiftCardAmount,GiftCardAmount.propTypes=propTypes,GiftCardAmount.displayName=displayName,exports.default=GiftCardAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.GiftCardAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function GiftCardAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"gift_card",...props})}exports.GiftCardAmount=GiftCardAmount,exports.default=GiftCardAmount;
@@ -7,7 +7,6 @@ interface Props {
7
7
  attributes?: OrderCreate;
8
8
  orderId?: string;
9
9
  fetchOrder?: (order: Order) => void;
10
- loader?: string | JSX.Element;
11
10
  }
12
11
  export declare function OrderContainer(props: Props): JSX.Element;
13
12
  export default OrderContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderReducer_1=tslib_1.__importStar(require("../../reducers/OrderReducer")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),OrderContext_1=tslib_1.__importStar(require("../../context/OrderContext")),OrderStorageContext_1=tslib_1.__importDefault(require("../../context/OrderStorageContext")),compareObjAttribute_1=tslib_1.__importDefault(require("../../utils/compareObjAttribute"));function OrderContainer(props){const{orderId,children,metadata,attributes,fetchOrder,loader}=props,[state,dispatch]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState),[lock,setLock]=(0,react_1.useState)(!1),[lockOrder,setLockOrder]=(0,react_1.useState)(!0),config=(0,react_1.useContext)(CommerceLayerContext_1.default);if(config.accessToken==null)throw new Error("Cannot use `OrderContainer` outside of `CommerceLayer`");const{persistKey,clearWhenPlaced,getLocalOrder,setLocalOrder,deleteLocalOrder}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)(()=>{state.withoutIncludes||dispatch({type:"setLoading",payload:{loading:!0}})},[state.withoutIncludes]),(0,react_1.useEffect)(()=>{if(attributes&&state?.order&&!lock){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});Object.keys(updateAttributes).length>0&&((0,OrderReducer_1.updateOrder)({id:state.order.id,attributes:updateAttributes,dispatch,config,include:state.include,state}),setLock(!0))}return()=>{if(attributes&&state?.order){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});state.order&&Object.keys(updateAttributes).length===0&&setLock(!1)}}},[attributes,state?.order,lock]),(0,react_1.useEffect)(()=>{const localOrder=persistKey?getLocalOrder(persistKey):orderId,startRequest=Object.keys(state?.includeLoaded||{}).filter(key=>state?.includeLoaded?.[key]===!0),getOrder=async()=>{const removeOrderPlaced=!!(persistKey&&clearWhenPlaced);localOrder&&await(0,OrderReducer_1.getApiOrder)({id:localOrder,dispatch,config,persistKey,clearWhenPlaced:removeOrderPlaced,deleteLocalOrder,state})};return config.accessToken&&!state.loading?localOrder&&!state.order&&state.include?.length===startRequest.length&&!state.withoutIncludes&&!lockOrder?getOrder():state?.order&&fetchOrder?fetchOrder(state.order):state.withoutIncludes&&!state.include?.length&&startRequest.length===0&&getOrder():[config.accessToken,!state.order,state.loading,state.withoutIncludes].every(Boolean)?dispatch({type:"setLoading",payload:{loading:!1}}):[config.accessToken,!state.order,state.loading,!state.withoutIncludes].every(Boolean)&&dispatch({type:"setLoading",payload:{loading:!1}}),()=>{!state.order&&state.loading&&!state.withoutIncludes&&(state.include?.length===0&&startRequest.length>0?dispatch({type:"setLoading",payload:{loading:!1}}):state.include&&state.include?.length>0&&(dispatch({type:"setIncludesResource",payload:{include:[]}}),setLockOrder(!1)))}},[config.accessToken,state.includeLoaded,state.include,orderId,state.order,state.loading,state.withoutIncludes,lockOrder]);const orderValue=(0,react_1.useMemo)(()=>({...state,setOrder:order=>(0,OrderReducer_1.setOrder)(order,dispatch),getOrder:async id=>await(0,OrderReducer_1.getApiOrder)({id,dispatch,config,state}),setOrderErrors:errors=>(0,OrderReducer_1.setOrderErrors)({dispatch,errors}),createOrder:async()=>await(0,OrderReducer_1.createOrder)({persistKey,dispatch,config,state,orderMetadata:metadata,orderAttributes:attributes,setLocalOrder}),addToCart:async values=>await(0,OrderReducer_1.addToCart)({...values,persistKey,dispatch,state,config,errors:state.errors,orderMetadata:metadata||{},orderAttributes:attributes,setLocalOrder}),saveAddressToCustomerAddressBook:args=>OrderContext_1.defaultOrderContext.saveAddressToCustomerAddressBook({...args,dispatch}),setGiftCardOrCouponCode:async({code,codeType})=>await OrderContext_1.defaultOrderContext.setGiftCardOrCouponCode({code,codeType,dispatch,order:state.order,config,include:state.include,state}),removeGiftCardOrCouponCode:async({codeType})=>await OrderContext_1.defaultOrderContext.removeGiftCardOrCouponCode({codeType,dispatch,order:state.order,config,include:state.include,state}),addResourceToInclude:args=>OrderContext_1.defaultOrderContext.addResourceToInclude({...args,dispatch,resourcesIncluded:state.include,resourceIncludedLoaded:state.includeLoaded}),updateOrder:async args=>await OrderContext_1.defaultOrderContext.updateOrder({...args,dispatch,config,include:state.include,state})}),[state,config.accessToken]);return state.loading&&loader!=null?(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:loader}):(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,{value:orderValue,children})}exports.OrderContainer=OrderContainer,exports.default=OrderContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderReducer_1=tslib_1.__importStar(require("../../reducers/OrderReducer")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),OrderContext_1=tslib_1.__importStar(require("../../context/OrderContext")),OrderStorageContext_1=tslib_1.__importDefault(require("../../context/OrderStorageContext")),compareObjAttribute_1=tslib_1.__importDefault(require("../../utils/compareObjAttribute")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function OrderContainer(props){const{orderId,children,metadata,attributes,fetchOrder}=props,[state,dispatch]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState),[lock,setLock]=(0,react_1.useState)(!1),[lockOrder,setLockOrder]=(0,react_1.useState)(!0),config=(0,useCustomContext_1.default)({context:CommerceLayerContext_1.default,contextComponentName:"CommerceLayer",currentComponentName:"OrderContainer"});if(config.accessToken==null)throw new Error("Cannot use `OrderContainer` outside of `CommerceLayer`");const{persistKey,clearWhenPlaced,getLocalOrder,setLocalOrder,deleteLocalOrder}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)(()=>{state.withoutIncludes||dispatch({type:"setLoading",payload:{loading:!0}})},[state.withoutIncludes]),(0,react_1.useEffect)(()=>{if(attributes&&state?.order&&!lock){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});Object.keys(updateAttributes).length>0&&((0,OrderReducer_1.updateOrder)({id:state.order.id,attributes:updateAttributes,dispatch,config,include:state.include,state}),setLock(!0))}return()=>{if(attributes&&state?.order){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});state.order&&Object.keys(updateAttributes).length===0&&setLock(!1)}}},[attributes,state?.order,lock]),(0,react_1.useEffect)(()=>{const localOrder=persistKey?getLocalOrder(persistKey):orderId,startRequest=Object.keys(state?.includeLoaded||{}).filter(key=>state?.includeLoaded?.[key]===!0),getOrder=async()=>{const removeOrderPlaced=!!(persistKey&&clearWhenPlaced);localOrder&&await(0,OrderReducer_1.getApiOrder)({id:localOrder,dispatch,config,persistKey,clearWhenPlaced:removeOrderPlaced,deleteLocalOrder,state})};return config.accessToken&&!state.loading?localOrder&&!state.order&&state.include?.length===startRequest.length&&!state.withoutIncludes&&!lockOrder?getOrder():state?.order&&fetchOrder?fetchOrder(state.order):state.withoutIncludes&&!state.include?.length&&startRequest.length===0&&getOrder():[config.accessToken,!state.order,state.loading,state.withoutIncludes].every(Boolean)?dispatch({type:"setLoading",payload:{loading:!1}}):[config.accessToken,!state.order,state.loading,!state.withoutIncludes].every(Boolean)&&dispatch({type:"setLoading",payload:{loading:!1}}),()=>{!state.order&&state.loading&&!state.withoutIncludes&&(state.include?.length===0&&startRequest.length>0?dispatch({type:"setLoading",payload:{loading:!1}}):state.include&&state.include?.length>0&&(dispatch({type:"setIncludesResource",payload:{include:[]}}),setLockOrder(!1)))}},[config.accessToken,state.includeLoaded,state.include,orderId,state.order,state.loading,state.withoutIncludes,lockOrder]);const orderValue=(0,react_1.useMemo)(()=>({...state,setOrder:order=>(0,OrderReducer_1.setOrder)(order,dispatch),getOrder:async id=>await(0,OrderReducer_1.getApiOrder)({id,dispatch,config,state}),setOrderErrors:errors=>(0,OrderReducer_1.setOrderErrors)({dispatch,errors}),createOrder:async()=>await(0,OrderReducer_1.createOrder)({persistKey,dispatch,config,state,orderMetadata:metadata,orderAttributes:attributes,setLocalOrder}),addToCart:async values=>await(0,OrderReducer_1.addToCart)({...values,persistKey,dispatch,state,config,errors:state.errors,orderMetadata:metadata||{},orderAttributes:attributes,setLocalOrder}),saveAddressToCustomerAddressBook:args=>OrderContext_1.defaultOrderContext.saveAddressToCustomerAddressBook({...args,dispatch}),setGiftCardOrCouponCode:async({code,codeType})=>await OrderContext_1.defaultOrderContext.setGiftCardOrCouponCode({code,codeType,dispatch,order:state.order,config,include:state.include,state}),removeGiftCardOrCouponCode:async({codeType})=>await OrderContext_1.defaultOrderContext.removeGiftCardOrCouponCode({codeType,dispatch,order:state.order,config,include:state.include,state}),addResourceToInclude:args=>OrderContext_1.defaultOrderContext.addResourceToInclude({...args,dispatch,resourcesIncluded:state.include,resourceIncludedLoaded:state.includeLoaded}),updateOrder:async args=>await OrderContext_1.defaultOrderContext.updateOrder({...args,dispatch,config,include:state.include,state})}),[state,config.accessToken]);return(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,{value:orderValue,children})}exports.OrderContainer=OrderContainer,exports.default=OrderContainer;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { BaseAmountComponent } from '../../typings/index';
3
+ export declare function PaymentMethodAmount(props: BaseAmountComponent): JSX.Element;
4
+ export default PaymentMethodAmount;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function PaymentMethodAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"payment_method",...props})}exports.PaymentMethodAmount=PaymentMethodAmount,exports.default=PaymentMethodAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),isFunction_1=tslib_1.__importDefault(require("lodash/isFunction")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails"));function PlaceOrderButton(props){const ref=(0,react_1.useRef)(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),[notPermitted,setNotPermitted]=(0,react_1.useState)(!0),[forceDisable,setForceDisable]=(0,react_1.useState)(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),isFree=order?.total_amount_with_taxes_cents===0;(0,react_1.useEffect)(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=(0,getCardDetails_1.default)({customerPayment:{payment_source:paymentSource},paymentType});(isFree&&isPermitted||currentPaymentMethodRef?.current?.onsubmit||card.brand)&&isPermitted&&setNotPermitted(!1)}else setNotPermitted(!(isFree&&isPermitted));return()=>{setNotPermitted(!0)}},[isPermitted,paymentType,currentPaymentMethodRef?.current?.onsubmit,loading,currentPaymentMethodType,order,paymentSource]),(0,react_1.useEffect)(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),(0,react_1.useEffect)(()=>{if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&order?.status&&["draft","pending"].includes(order?.status)){const attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult},paymentData:paymentSource.payment_response.paymentData},_details:1};setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}).then(res=>{const resultCode=res?.payment_response?.resultCode;["Authorised","Pending","Received"].includes(resultCode)&&handleClick()})}paymentType==="adyen_payments"&&options?.adyen?.MD&&options?.adyen?.PaRes&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.adyen,paymentType]),(0,react_1.useEffect)(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),(0,react_1.useEffect)(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&(0,getCardDetails_1.default)({paymentType,customerPayment:{payment_source:paymentSource}});currentPaymentMethodRef?.current?.onsubmit&&[!options?.paypalPayerId,!options?.adyen?.MD,!options?.checkoutCom?.session_id].every(Boolean)?(isValid=await currentPaymentMethodRef.current?.onsubmit(paymentSource),!isValid&&paymentSource.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0);const placed=isValid&&setPlaceOrder&&(paymentSource||isFree)&&await setPlaceOrder({paymentSource});setForceDisable(!1),onClick&&placed&&onClick(placed)},disabledButton=disabled!==void 0?disabled:notPermitted,parentProps={...p,label,disabled:disabledButton,handleClick,ref};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:(0,isFunction_1.default)(label)?label():label})}exports.PlaceOrderButton=PlaceOrderButton,exports.default=PlaceOrderButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),isFunction_1=tslib_1.__importDefault(require("lodash/isFunction")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails"));function PlaceOrderButton(props){const ref=(0,react_1.useRef)(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),[notPermitted,setNotPermitted]=(0,react_1.useState)(!0),[forceDisable,setForceDisable]=(0,react_1.useState)(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource,setPaymentMethodErrors}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),isFree=order?.total_amount_with_taxes_cents===0;(0,react_1.useEffect)(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=(0,getCardDetails_1.default)({customerPayment:{payment_source:paymentSource},paymentType});(isFree&&isPermitted||currentPaymentMethodRef?.current?.onsubmit||card.brand)&&isPermitted&&setNotPermitted(!1)}else setNotPermitted(!(isFree&&isPermitted));return()=>{setNotPermitted(!0)}},[isPermitted,paymentType,currentPaymentMethodRef?.current?.onsubmit,loading,currentPaymentMethodType,order,paymentSource]),(0,react_1.useEffect)(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),(0,react_1.useEffect)(()=>{if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&order?.status&&["draft","pending"].includes(order?.status)&&paymentSource!=null){const paymentData=paymentSource?.payment_response?.paymentData,attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult},paymentData},_details:1};paymentData!=null&&setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}).then(res=>{const resultCode=res?.payment_response?.resultCode,errorCode=res?.payment_response?.errorCode,message=res?.payment_response?.message;["Authorised","Pending","Received"].includes(resultCode)?handleClick():errorCode!=null&&setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])})}paymentType==="adyen_payments"&&options?.adyen?.MD&&options?.adyen?.PaRes&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.adyen,paymentType]),(0,react_1.useEffect)(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),(0,react_1.useEffect)(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&(0,getCardDetails_1.default)({paymentType,customerPayment:{payment_source:paymentSource}});currentPaymentMethodRef?.current?.onsubmit&&[!options?.paypalPayerId,!options?.adyen?.MD,!options?.checkoutCom?.session_id].every(Boolean)?(isValid=await currentPaymentMethodRef.current?.onsubmit(paymentSource),!isValid&&paymentSource.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0);const placed=isValid&&setPlaceOrder&&(paymentSource||isFree)&&await setPlaceOrder({paymentSource});setForceDisable(!1),onClick&&placed&&onClick(placed)},disabledButton=disabled!==void 0?disabled:notPermitted,parentProps={...p,label,disabled:disabledButton,handleClick,ref};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:(0,isFunction_1.default)(label)?label():label})}exports.PlaceOrderButton=PlaceOrderButton,exports.default=PlaceOrderButton;
@@ -1,14 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { PlaceOrderOptions } from '../../reducers/PlaceOrderReducer';
3
- declare type Props = {
3
+ interface Props {
4
4
  children: ReactNode;
5
5
  options?: PlaceOrderOptions;
6
- };
7
- export declare function PlaceOrderContainer(props: Props): JSX.Element;
8
- export declare namespace PlaceOrderContainer {
9
- var propTypes: {
10
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
11
- };
12
- var displayName: string;
13
6
  }
7
+ export declare function PlaceOrderContainer(props: Props): JSX.Element;
14
8
  export default PlaceOrderContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),react_1=require("react"),PlaceOrderReducer_1=tslib_1.__importStar(require("../../reducers/PlaceOrderReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),components_1=tslib_1.__importDefault(require("../../config/components")),PlaceOrderReducer_2=require("../../reducers/PlaceOrderReducer"),propTypes=components_1.default.PlaceOrderContainer.propTypes,displayName=components_1.default.PlaceOrderContainer.displayName;function PlaceOrderContainer(props){const{children,options}=props,[state,dispatch]=(0,react_1.useReducer)(PlaceOrderReducer_1.default,PlaceOrderReducer_1.placeOrderInitialState),{order,setOrder,setOrderErrors,include,addResourceToInclude,includeLoaded}=(0,react_1.useContext)(OrderContext_1.default),config=(0,react_1.useContext)(CommerceLayerContext_1.default);(0,react_1.useEffect)(()=>{include?.includes("shipments.available_shipping_methods")?includeLoaded?.["shipments.available_shipping_methods"]||addResourceToInclude({newResourceLoaded:{"shipments.available_shipping_methods":!0,"shipments.shipment_line_items.line_item":!0,"shipments.shipping_method":!0,"shipments.stock_transfers.line_item":!0,"shipments.stock_location":!0}}):addResourceToInclude({newResource:["shipments.available_shipping_methods","shipments.shipment_line_items.line_item","shipments.shipping_method","shipments.stock_transfers.line_item","shipments.stock_location"]}),include?.includes("billing_address")?includeLoaded?.billing_address||addResourceToInclude({newResourceLoaded:{billing_address:!0}}):addResourceToInclude({newResource:"billing_address"}),include?.includes("shipping_address")?includeLoaded?.shipping_address||addResourceToInclude({newResourceLoaded:{shipping_address:!0}}):addResourceToInclude({newResource:"shipping_address",resourcesIncluded:include}),order&&(0,PlaceOrderReducer_1.placeOrderPermitted)({config,dispatch,order,options:{...options}})},[order,include,includeLoaded]);const contextValue={...state,setPlaceOrder:({paymentSource})=>(0,PlaceOrderReducer_2.setPlaceOrder)({config,order,state,setOrderErrors,paymentSource,include,setOrder}),placeOrderPermitted:()=>(0,PlaceOrderReducer_1.placeOrderPermitted)({config,dispatch,order,options:{...options}}),setButtonRef:ref=>(0,PlaceOrderReducer_1.setButtonRef)(ref,dispatch)};return(0,jsx_runtime_1.jsx)(PlaceOrderContext_1.default.Provider,{value:contextValue,children})}exports.PlaceOrderContainer=PlaceOrderContainer,PlaceOrderContainer.propTypes=propTypes,PlaceOrderContainer.displayName=displayName,exports.default=PlaceOrderContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),react_1=require("react"),PlaceOrderReducer_1=tslib_1.__importStar(require("../../reducers/PlaceOrderReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),PlaceOrderReducer_2=require("../../reducers/PlaceOrderReducer"),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function PlaceOrderContainer(props){const{children,options}=props,[state,dispatch]=(0,react_1.useReducer)(PlaceOrderReducer_1.default,PlaceOrderReducer_1.placeOrderInitialState),{order,setOrder,setOrderErrors,include,addResourceToInclude,includeLoaded}=(0,useCustomContext_1.default)({context:OrderContext_1.default,contextComponentName:"OrderContainer",currentComponentName:"PlaceOrderContainer",key:"order"}),config=(0,react_1.useContext)(CommerceLayerContext_1.default);(0,react_1.useEffect)(()=>{include?.includes("shipments.available_shipping_methods")?includeLoaded?.["shipments.available_shipping_methods"]||addResourceToInclude({newResourceLoaded:{"shipments.available_shipping_methods":!0,"shipments.shipment_line_items.line_item":!0,"shipments.shipping_method":!0,"shipments.stock_transfers.line_item":!0,"shipments.stock_location":!0}}):addResourceToInclude({newResource:["shipments.available_shipping_methods","shipments.shipment_line_items.line_item","shipments.shipping_method","shipments.stock_transfers.line_item","shipments.stock_location"]}),include?.includes("billing_address")?includeLoaded?.billing_address||addResourceToInclude({newResourceLoaded:{billing_address:!0}}):addResourceToInclude({newResource:"billing_address"}),include?.includes("shipping_address")?includeLoaded?.shipping_address||addResourceToInclude({newResourceLoaded:{shipping_address:!0}}):addResourceToInclude({newResource:"shipping_address",resourcesIncluded:include}),order&&(0,PlaceOrderReducer_1.placeOrderPermitted)({config,dispatch,order,options:{...options}})},[order,include,includeLoaded]);const contextValue={...state,setPlaceOrder:async({paymentSource})=>await(0,PlaceOrderReducer_2.setPlaceOrder)({config,order,state,setOrderErrors,paymentSource,include,setOrder}),placeOrderPermitted:()=>(0,PlaceOrderReducer_1.placeOrderPermitted)({config,dispatch,order,options:{...options}}),setButtonRef:ref=>(0,PlaceOrderReducer_1.setButtonRef)(ref,dispatch)};return(0,jsx_runtime_1.jsx)(PlaceOrderContext_1.default.Provider,{value:contextValue,children})}exports.PlaceOrderContainer=PlaceOrderContainer,exports.default=PlaceOrderContainer;
@@ -1,10 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseInputProps } from '../utils/BaseInput';
3
3
  export declare function PrivacyAndTermsCheckbox(props: Partial<BaseInputProps>): JSX.Element;
4
- export declare namespace PrivacyAndTermsCheckbox {
5
- var propTypes: {
6
- children: import("prop-types").Requireable<(...args: any[]) => any>;
7
- };
8
- var displayName: string;
9
- }
10
4
  export default PrivacyAndTermsCheckbox;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PrivacyAndTermsCheckbox=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),components_1=tslib_1.__importDefault(require("../../config/components")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),react_1=require("react"),BaseInput_1=tslib_1.__importDefault(require("../utils/BaseInput")),propTypes=components_1.default.PrivacyAndTermsCheckbox.propTypes,displayName=components_1.default.PrivacyAndTermsCheckbox.displayName;function PrivacyAndTermsCheckbox(props){const{order}=(0,react_1.useContext)(OrderContext_1.default),{placeOrderPermitted}=(0,react_1.useContext)(PlaceOrderContext_1.default),[forceDisabled,setForceDisabled]=(0,react_1.useState)(!0),[checked,setChecked]=(0,react_1.useState)(!1),fieldName="privacy-terms",handleChange=e=>{const v=e.target?.checked;setChecked(v),localStorage.setItem(fieldName,`${v}`),placeOrderPermitted&&placeOrderPermitted()};return(0,react_1.useEffect)(()=>(order?.privacy_url&&order?.terms_url&&setForceDisabled(!1),checked||localStorage.setItem(fieldName,`${checked}`),()=>{setForceDisabled(!0),localStorage.removeItem(fieldName)}),[order?.privacy_url,order?.terms_url]),(0,jsx_runtime_1.jsx)(BaseInput_1.default,{type:"checkbox",name:fieldName,disabled:forceDisabled,onChange:handleChange,checked,...props})}exports.PrivacyAndTermsCheckbox=PrivacyAndTermsCheckbox,PrivacyAndTermsCheckbox.propTypes=propTypes,PrivacyAndTermsCheckbox.displayName=displayName,exports.default=PrivacyAndTermsCheckbox;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PrivacyAndTermsCheckbox=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),react_1=require("react"),BaseInput_1=tslib_1.__importDefault(require("../utils/BaseInput"));function PrivacyAndTermsCheckbox(props){const{order}=(0,react_1.useContext)(OrderContext_1.default),{placeOrderPermitted}=(0,react_1.useContext)(PlaceOrderContext_1.default),[forceDisabled,setForceDisabled]=(0,react_1.useState)(!0),[checked,setChecked]=(0,react_1.useState)(!1),fieldName="privacy-terms",handleChange=e=>{const v=e.target?.checked;setChecked(v),localStorage.setItem(fieldName,v.toString()),placeOrderPermitted&&placeOrderPermitted()};return(0,react_1.useEffect)(()=>(order?.privacy_url&&order?.terms_url&&setForceDisabled(!1),checked||localStorage.setItem(fieldName,checked.toString()),()=>{setForceDisabled(!0),localStorage.removeItem(fieldName)}),[order?.privacy_url,order?.terms_url]),(0,jsx_runtime_1.jsx)(BaseInput_1.default,{type:"checkbox",name:fieldName,disabled:forceDisabled,onChange:handleChange,checked,...props})}exports.PrivacyAndTermsCheckbox=PrivacyAndTermsCheckbox,exports.default=PrivacyAndTermsCheckbox;
@@ -1,15 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function ShippingAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace ShippingAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var displayName: string;
14
- }
15
4
  export default ShippingAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShippingAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.ShippingAmount.propTypes,displayName=components_1.default.ShippingAmount.displayName;function ShippingAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"shipping",...props})}exports.ShippingAmount=ShippingAmount,ShippingAmount.propTypes=propTypes,ShippingAmount.displayName=displayName,exports.default=ShippingAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShippingAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function ShippingAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"shipping",...props})}exports.ShippingAmount=ShippingAmount,exports.default=ShippingAmount;
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function SubTotalAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace SubTotalAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var defaultProps: {
14
- format: import("../../typings/index").BaseFormatPrice;
15
- };
16
- var displayName: string;
17
- }
18
4
  export default SubTotalAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SubTotalAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.SubTotalAmount.propTypes,defaultProps=components_1.default.SubTotalAmount.defaultProps,displayName=components_1.default.SubTotalAmount.displayName;function SubTotalAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"subtotal",...props})}exports.SubTotalAmount=SubTotalAmount,SubTotalAmount.propTypes=propTypes,SubTotalAmount.defaultProps=defaultProps,SubTotalAmount.displayName=displayName,exports.default=SubTotalAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SubTotalAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function SubTotalAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"subtotal",...props})}exports.SubTotalAmount=SubTotalAmount,exports.default=SubTotalAmount;
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function TaxesAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace TaxesAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var defaultProps: {
14
- format: import("../../typings/index").BaseFormatPrice;
15
- };
16
- var displayName: string;
17
- }
18
4
  export default TaxesAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TaxesAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.TaxesAmount.propTypes,defaultProps=components_1.default.TaxesAmount.defaultProps,displayName=components_1.default.TaxesAmount.displayName;function TaxesAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"total_tax",...props})}exports.TaxesAmount=TaxesAmount,TaxesAmount.propTypes=propTypes,TaxesAmount.defaultProps=defaultProps,TaxesAmount.displayName=displayName,exports.default=TaxesAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TaxesAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function TaxesAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"total_tax",...props})}exports.TaxesAmount=TaxesAmount,exports.default=TaxesAmount;
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function TotalAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace TotalAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var defaultProps: {
14
- format: import("../../typings/index").BaseFormatPrice;
15
- };
16
- var displayName: string;
17
- }
18
4
  export default TotalAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TotalAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.TotalAmount.propTypes,defaultProps=components_1.default.TotalAmount.defaultProps,displayName=components_1.default.TotalAmount.displayName;function TotalAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"total_amount",type:"with_taxes",...props})}exports.TotalAmount=TotalAmount,TotalAmount.propTypes=propTypes,TotalAmount.defaultProps=defaultProps,TotalAmount.displayName=displayName,exports.default=TotalAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TotalAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function TotalAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"total_amount",type:"with_taxes",...props})}exports.TotalAmount=TotalAmount,exports.default=TotalAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParcelLineItemsCount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),ParcelChildrenContext_1=tslib_1.__importDefault(require("../../context/ParcelChildrenContext")),react_1=require("react");function ParcelLineItemsCount({children,...p}){const{parcel}=(0,react_1.useContext)(ParcelChildrenContext_1.default);if(parcel===void 0)throw new Error("Cannot use `ParcelLineItemsCount` outside of `Parcels`");const quantity=parcel.parcel_line_items?.length??0,childrenProps={...p,quantity,parcel};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...childrenProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:quantity})}exports.ParcelLineItemsCount=ParcelLineItemsCount,exports.default=ParcelLineItemsCount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParcelLineItemsCount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),ParcelChildrenContext_1=tslib_1.__importDefault(require("../../context/ParcelChildrenContext")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function ParcelLineItemsCount({children,...p}){const{parcel}=(0,useCustomContext_1.default)({context:ParcelChildrenContext_1.default,contextComponentName:"Parcels",currentComponentName:"ParcelLineItemsCount",key:"parcel"}),quantity=parcel?.parcel_line_items?.length??0,childrenProps={...p,quantity,parcel};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...childrenProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:quantity})}exports.ParcelLineItemsCount=ParcelLineItemsCount,exports.default=ParcelLineItemsCount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParcelsCount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),react_1=require("react");function ParcelsCount({children,...p}){const{parcels}=(0,react_1.useContext)(ShipmentChildrenContext_1.default);if(parcels===void 0)throw new Error("Cannot use `ParcelsCount` outside of `ShipmentsContainer`");const quantity=parcels.length,childrenProps={...p,quantity,parcels};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...childrenProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:quantity})}exports.ParcelsCount=ParcelsCount,exports.default=ParcelsCount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParcelsCount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function ParcelsCount({children,...p}){const{parcels}=(0,useCustomContext_1.default)({context:ShipmentChildrenContext_1.default,contextComponentName:"ShipmentsContainer",currentComponentName:"ParcelsCount",key:"parcels"}),quantity=parcels?.length??0,childrenProps={...p,quantity,parcels};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...childrenProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:quantity})}exports.ParcelsCount=ParcelsCount,exports.default=ParcelsCount;
@@ -6,7 +6,7 @@ declare type Props = {
6
6
  /**
7
7
  * Hide payment methods by an array of strings
8
8
  */
9
- hide?: Array<PaymentResource>;
9
+ hide?: PaymentResource[];
10
10
  children: ReactNode;
11
11
  activeClass?: string;
12
12
  loader?: LoaderType;
@@ -18,10 +18,4 @@ declare type Props = {
18
18
  onClick?: never;
19
19
  });
20
20
  export declare function PaymentMethod({ children, className, activeClass, loader, clickableContainer, hide, onClick, ...p }: Props): JSX.Element;
21
- export declare namespace PaymentMethod {
22
- var propTypes: {
23
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
24
- };
25
- var displayName: string;
26
- }
27
21
  export default PaymentMethod;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethod=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),components_1=tslib_1.__importDefault(require("../../config/components")),getLoaderComponent_1=tslib_1.__importDefault(require("../../utils/getLoaderComponent")),propTypes=components_1.default.PaymentMethod.propTypes,displayName=components_1.default.PaymentMethod.displayName;function PaymentMethod({children,className,activeClass,loader="Loading...",clickableContainer,hide,onClick,...p}){const[loading,setLoading]=(0,react_1.useState)(!0),[paymentSelected,setPaymentSelected]=(0,react_1.useState)(""),{paymentMethods,currentPaymentMethodId,setPaymentMethod,setLoading:setLoadingPlaceOrder}=(0,react_1.useContext)(PaymentMethodContext_1.default);(0,react_1.useEffect)(()=>(paymentMethods&&setLoading(!1),currentPaymentMethodId&&setPaymentSelected(currentPaymentMethodId),()=>{setLoading(!0)}),[paymentMethods,currentPaymentMethodId]);const components=paymentMethods&&paymentMethods.filter(payment=>{if(hide){const source=payment?.payment_source_type;return hide?.includes(source)===!1}return!0}).map((payment,k)=>{const isActive=currentPaymentMethodId===payment?.id,paymentMethodProps={payment,clickableContainer,paymentSelected,setPaymentSelected},paymentResource=payment?.payment_source_type,onClickable=clickableContainer?async e=>{e.stopPropagation(),setLoadingPlaceOrder({loading:!0}),setPaymentSelected(payment.id);const paymentMethodId=payment?.id;await setPaymentMethod({paymentResource,paymentMethodId}),onClick&&onClick(payment),setLoadingPlaceOrder({loading:!1})}:void 0;return(0,jsx_runtime_1.jsx)("div",{"data-test-id":paymentResource,className:`${className} ${isActive?activeClass:""}`,onClick:onClickable,...p,children:(0,jsx_runtime_1.jsx)(PaymentMethodChildrenContext_1.default.Provider,{value:paymentMethodProps,children})},k)});return loading?(0,getLoaderComponent_1.default)(loader):(0,jsx_runtime_1.jsx)(react_1.Fragment,{children:components})}exports.PaymentMethod=PaymentMethod,PaymentMethod.propTypes=propTypes,PaymentMethod.displayName=displayName,exports.default=PaymentMethod;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethod=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),getLoaderComponent_1=tslib_1.__importDefault(require("../../utils/getLoaderComponent")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function PaymentMethod({children,className,activeClass,loader="Loading...",clickableContainer,hide,onClick,...p}){const[loading,setLoading]=(0,react_1.useState)(!0),[paymentSelected,setPaymentSelected]=(0,react_1.useState)(""),{paymentMethods,currentPaymentMethodId,setPaymentMethod,setLoading:setLoadingPlaceOrder}=(0,useCustomContext_1.default)({context:PaymentMethodContext_1.default,contextComponentName:"PaymentMethodsContainer",currentComponentName:"PaymentMethod",key:"paymentMethods"});(0,react_1.useEffect)(()=>(paymentMethods&&setLoading(!1),currentPaymentMethodId&&setPaymentSelected(currentPaymentMethodId),()=>{setLoading(!0)}),[paymentMethods,currentPaymentMethodId]);const components=paymentMethods?.filter(payment=>{if(hide){const source=payment?.payment_source_type;return!hide?.includes(source)}return!0}).map((payment,k)=>{const isActive=currentPaymentMethodId===payment?.id,paymentMethodProps={payment,clickableContainer,paymentSelected,setPaymentSelected},paymentResource=payment?.payment_source_type,onClickable=clickableContainer?async e=>{e.stopPropagation(),setLoadingPlaceOrder({loading:!0}),setPaymentSelected(payment.id);const paymentMethodId=payment?.id;await setPaymentMethod({paymentResource,paymentMethodId}),onClick&&onClick(payment),setLoadingPlaceOrder({loading:!1})}:void 0;return(0,jsx_runtime_1.jsx)("div",{"data-test-id":paymentResource,className:`${className??""} ${isActive&&activeClass!=null?activeClass:""}`,onClick:onClickable,...p,children:(0,jsx_runtime_1.jsx)(PaymentMethodChildrenContext_1.default.Provider,{value:paymentMethodProps,children})},k)});return loading?(0,getLoaderComponent_1.default)(loader):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:components})}exports.PaymentMethod=PaymentMethod,exports.default=PaymentMethod;
@@ -1,15 +1,10 @@
1
1
  /// <reference types="react" />
2
- declare type PaymentMethodNameChildrenProps = Omit<Props, 'children'> & {
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ interface ChildrenProps extends Omit<Props, 'children'> {
3
4
  labelName: string;
4
- };
5
- declare type Props = {
6
- children?: (props: PaymentMethodNameChildrenProps) => JSX.Element;
7
- } & JSX.IntrinsicElements['label'];
8
- export declare function PaymentMethodName(props: Props): JSX.Element;
9
- export declare namespace PaymentMethodName {
10
- var propTypes: {
11
- children: import("prop-types").Requireable<(...args: any[]) => any>;
12
- };
13
- var displayName: string;
14
5
  }
6
+ interface Props extends Omit<JSX.IntrinsicElements['label'], 'children'> {
7
+ children?: ChildrenFunction<ChildrenProps>;
8
+ }
9
+ export declare function PaymentMethodName(props: Props): JSX.Element;
15
10
  export default PaymentMethodName;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodName=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.PaymentMethodName.propTypes,displayName=components_1.default.PaymentMethodName.displayName;function PaymentMethodName(props){const{payment}=(0,react_1.useContext)(PaymentMethodChildrenContext_1.default),labelName=payment?.name,htmlFor=payment?.payment_source_type,parentProps={htmlFor,labelName,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("label",{htmlFor,...props,children:labelName})}exports.PaymentMethodName=PaymentMethodName,PaymentMethodName.propTypes=propTypes,PaymentMethodName.displayName=displayName,exports.default=PaymentMethodName;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodName=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function PaymentMethodName(props){const{payment}=(0,useCustomContext_1.default)({context:PaymentMethodChildrenContext_1.default,contextComponentName:"PaymentMethod",currentComponentName:"PaymentMethodName",key:"payment"}),labelName=payment?.name,htmlFor=payment?.payment_source_type,parentProps={htmlFor,labelName,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("label",{htmlFor,...props,children:labelName})}exports.PaymentMethodName=PaymentMethodName,exports.default=PaymentMethodName;
@@ -1,20 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
- declare type Props = {
3
+ interface Props extends BaseAmountComponent {
4
4
  type?: 'amount';
5
5
  labelFree?: string;
6
- } & BaseAmountComponent;
7
- export declare function PaymentMethodPrice(props: Props): JSX.Element;
8
- export declare namespace PaymentMethodPrice {
9
- var propTypes: {
10
- type: import("prop-types").Requireable<"amount">;
11
- id: import("prop-types").Requireable<string>;
12
- className: import("prop-types").Requireable<string>;
13
- style: import("prop-types").Requireable<object>;
14
- name: import("prop-types").Requireable<string>;
15
- children: import("prop-types").Requireable<(...args: any[]) => any>;
16
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
17
- };
18
- var displayName: string;
19
6
  }
7
+ export declare function PaymentMethodPrice(props: Props): JSX.Element;
20
8
  export default PaymentMethodPrice;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodPrice=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),getAmount_1=tslib_1.__importDefault(require("../../utils/getAmount")),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.PaymentMethodPrice.propTypes,displayName=components_1.default.PaymentMethodPrice.displayName;function PaymentMethodPrice(props){const{format="formatted",type="amount",labelFree="Free",...p}=props,{payment}=(0,react_1.useContext)(PaymentMethodChildrenContext_1.default),[price,setPrice]=(0,react_1.useState)(""),[priceCents,setPriceCents]=(0,react_1.useState)(0);(0,react_1.useEffect)(()=>{if(payment){const p2=(0,getAmount_1.default)({base:"price",type,format,obj:payment});setPrice(p2);const c=(0,getAmount_1.default)({base:"price",type,format:"cents",obj:payment});setPriceCents(c)}return()=>{setPrice(""),setPriceCents(0)}},[payment]);const parentProps={labelFree,price,priceCents,...p};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("span",{...p,children:priceCents===0?labelFree:price})}exports.PaymentMethodPrice=PaymentMethodPrice,PaymentMethodPrice.propTypes=propTypes,PaymentMethodPrice.displayName=displayName,exports.default=PaymentMethodPrice;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodPrice=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),getAmount_1=tslib_1.__importDefault(require("../../utils/getAmount")),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function PaymentMethodPrice(props){const{format="formatted",type="amount",labelFree="Free",...p}=props,{payment}=(0,useCustomContext_1.default)({context:PaymentMethodChildrenContext_1.default,contextComponentName:"PaymentMethod",currentComponentName:"PaymentMethodPrice",key:"payment"}),[price,setPrice]=(0,react_1.useState)(""),[priceCents,setPriceCents]=(0,react_1.useState)(0);(0,react_1.useEffect)(()=>{if(payment){const p2=(0,getAmount_1.default)({base:"price",type,format,obj:payment});setPrice(p2);const c=(0,getAmount_1.default)({base:"price",type,format:"cents",obj:payment});setPriceCents(c)}return()=>{setPrice(""),setPriceCents(0)}},[payment]);const parentProps={labelFree,price,priceCents,...p};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("span",{...p,children:priceCents===0?labelFree:price})}exports.PaymentMethodPrice=PaymentMethodPrice,exports.default=PaymentMethodPrice;
@@ -1,18 +1,13 @@
1
1
  import { ChangeEvent } from 'react';
2
2
  import { PaymentMethod } from '@commercelayer/sdk';
3
- declare type ShippingMethodRadioButtonChildrenProps = Omit<Props, 'children'> & {
3
+ import { ChildrenFunction } from '../../typings/index';
4
+ interface ChildrenProps extends Omit<Props, 'children'> {
4
5
  checked: boolean;
5
6
  handleOnChange: (event: ChangeEvent<HTMLInputElement>) => Promise<void>;
6
- };
7
+ }
7
8
  declare type Props = {
8
- children?: (props: ShippingMethodRadioButtonChildrenProps) => JSX.Element;
9
+ children?: ChildrenFunction<ChildrenProps>;
9
10
  onChange?: (payment?: PaymentMethod | Record<string, any>) => void;
10
11
  } & JSX.IntrinsicElements['input'];
11
12
  export declare function PaymentMethodRadioButton(props: Props): JSX.Element;
12
- export declare namespace PaymentMethodRadioButton {
13
- var propTypes: {
14
- children: import("prop-types").Requireable<(...args: any[]) => any>;
15
- };
16
- var displayName: string;
17
- }
18
13
  export default PaymentMethodRadioButton;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodRadioButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),propTypes=components_1.default.PaymentMethodRadioButton.propTypes,displayName=components_1.default.PaymentMethodRadioButton.displayName;function PaymentMethodRadioButton(props){const{onChange,...p}=props,{payment,paymentSelected,setPaymentSelected,clickableContainer}=(0,react_1.useContext)(PaymentMethodChildrenContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),{setPaymentMethod,setLoading}=(0,react_1.useContext)(PaymentMethodContext_1.default),orderId=order?.id||"",paymentResource=payment?.payment_source_type,paymentMethodId=payment?.id,name=`payment-${orderId}`,checked=paymentSelected===payment?.id,handleOnChange=async e=>{e.stopPropagation(),setPaymentSelected&&setPaymentSelected(paymentMethodId),setLoading({loading:!0}),!clickableContainer&&await setPaymentMethod({paymentResource,paymentMethodId}),onChange&&onChange(payment),setLoading({loading:!1})},id=payment?.payment_source_type,parentProps={handleOnChange,checked,id,name,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("input",{title:name,type:"radio",id,onChange:handleOnChange,checked,...p})}exports.PaymentMethodRadioButton=PaymentMethodRadioButton,PaymentMethodRadioButton.propTypes=propTypes,PaymentMethodRadioButton.displayName=displayName,exports.default=PaymentMethodRadioButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodRadioButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function PaymentMethodRadioButton(props){const{onChange,...p}=props,{payment,paymentSelected,setPaymentSelected,clickableContainer}=(0,useCustomContext_1.default)({context:PaymentMethodChildrenContext_1.default,contextComponentName:"PaymentMethod",currentComponentName:"PaymentMethodRadioButton",key:"payment"}),{order}=(0,react_1.useContext)(OrderContext_1.default),{setPaymentMethod,setLoading}=(0,react_1.useContext)(PaymentMethodContext_1.default),orderId=order?.id||"",paymentResource=payment?.payment_source_type,paymentMethodId=payment?.id,name=`payment-${orderId}`,checked=paymentSelected===payment?.id,handleOnChange=async e=>{e.stopPropagation(),setPaymentSelected&&setPaymentSelected(paymentMethodId),setLoading({loading:!0}),!clickableContainer&&await setPaymentMethod({paymentResource,paymentMethodId}),onChange&&onChange(payment),setLoading({loading:!1})},id=payment?.payment_source_type,parentProps={handleOnChange,checked,id,name,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("input",{title:name,type:"radio",id,onChange:e=>{handleOnChange(e)},checked,...p})}exports.PaymentMethodRadioButton=PaymentMethodRadioButton,exports.default=PaymentMethodRadioButton;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodsContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentMethodContext_1=tslib_1.__importStar(require("../../context/PaymentMethodContext")),react_1=require("react"),PaymentMethodReducer_1=tslib_1.__importStar(require("../../reducers/PaymentMethodReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),lodash_1=require("lodash");function PaymentMethodsContainer(props){const{children,config}=props,[state,dispatch]=(0,react_1.useReducer)(PaymentMethodReducer_1.default,PaymentMethodReducer_1.paymentMethodInitialState),{order,getOrder,setOrderErrors,include,addResourceToInclude,updateOrder,includeLoaded}=(0,react_1.useContext)(OrderContext_1.default),credentials=(0,react_1.useContext)(CommerceLayerContext_1.default);async function getPayMethods(){order&&await(0,PaymentMethodReducer_1.getPaymentMethods)({order,dispatch})}(0,react_1.useEffect)(()=>{include?.includes("available_payment_methods")?includeLoaded?.available_payment_methods||addResourceToInclude({newResourceLoaded:{available_payment_methods:!0,payment_source:!0,payment_method:!0,"line_items.line_item_options.sku_option":!0,"line_items.item":!0}}):addResourceToInclude({newResource:["available_payment_methods","payment_source","payment_method","line_items.line_item_options.sku_option","line_items.item"]}),config&&(0,lodash_1.isEmpty)(state.config)&&(0,PaymentMethodReducer_1.setPaymentMethodConfig)(config,dispatch),credentials&&order&&!state.paymentMethods&&getPayMethods(),order?.payment_source&&dispatch({type:"setPaymentSource",payload:{paymentSource:order?.payment_source}}),order?.payment_source===null&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},[order,credentials,include,includeLoaded]);const contextValue=(0,react_1.useMemo)(()=>({...state,setLoading:({loading})=>PaymentMethodContext_1.defaultPaymentMethodContext.setLoading({loading,dispatch}),setPaymentRef:({ref})=>(0,PaymentMethodReducer_1.setPaymentRef)({ref,dispatch}),setPaymentMethodErrors:errors=>PaymentMethodContext_1.defaultPaymentMethodContext.setPaymentMethodErrors(errors,dispatch),setPaymentMethod:async args=>await PaymentMethodContext_1.defaultPaymentMethodContext.setPaymentMethod({...args,config:credentials,updateOrder,order,dispatch,setOrderErrors}),setPaymentSource:async args=>await PaymentMethodContext_1.defaultPaymentMethodContext.setPaymentSource({...state,...args,config:credentials,dispatch,getOrder,updateOrder,order}),updatePaymentSource:async args=>await PaymentMethodContext_1.defaultPaymentMethodContext.updatePaymentSource({...args,config:credentials,dispatch}),destroyPaymentSource:async args=>await PaymentMethodContext_1.defaultPaymentMethodContext.destroyPaymentSource({...args,dispatch,config:credentials,updateOrder,orderId:order?.id})}),[state]);return(0,jsx_runtime_1.jsx)(PaymentMethodContext_1.default.Provider,{value:contextValue,children})}exports.PaymentMethodsContainer=PaymentMethodsContainer,exports.default=PaymentMethodsContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodsContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentMethodContext_1=tslib_1.__importStar(require("../../context/PaymentMethodContext")),react_1=require("react"),PaymentMethodReducer_1=tslib_1.__importStar(require("../../reducers/PaymentMethodReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),lodash_1=require("lodash"),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function PaymentMethodsContainer(props){const{children,config}=props,[state,dispatch]=(0,react_1.useReducer)(PaymentMethodReducer_1.default,PaymentMethodReducer_1.paymentMethodInitialState),{order,getOrder,setOrderErrors,include,addResourceToInclude,updateOrder,includeLoaded}=(0,useCustomContext_1.default)({context:OrderContext_1.default,contextComponentName:"OrderContainer",currentComponentName:"PaymentMethodsContainer",key:"order"}),credentials=(0,react_1.useContext)(CommerceLayerContext_1.default);async function getPayMethods(){order&&await(0,PaymentMethodReducer_1.getPaymentMethods)({order,dispatch})}(0,react_1.useEffect)(()=>{include?.includes("available_payment_methods")?includeLoaded?.available_payment_methods||addResourceToInclude({newResourceLoaded:{available_payment_methods:!0,payment_source:!0,payment_method:!0,"line_items.line_item_options.sku_option":!0,"line_items.item":!0}}):addResourceToInclude({newResource:["available_payment_methods","payment_source","payment_method","line_items.line_item_options.sku_option","line_items.item"]}),config&&(0,lodash_1.isEmpty)(state.config)&&(0,PaymentMethodReducer_1.setPaymentMethodConfig)(config,dispatch),credentials&&order&&!state.paymentMethods&&getPayMethods(),order?.payment_source&&dispatch({type:"setPaymentSource",payload:{paymentSource:order?.payment_source}}),order?.payment_source===null&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},[order,credentials,include,includeLoaded]);const contextValue=(0,react_1.useMemo)(()=>({...state,setLoading:({loading})=>PaymentMethodContext_1.defaultPaymentMethodContext.setLoading({loading,dispatch}),setPaymentRef:({ref})=>(0,PaymentMethodReducer_1.setPaymentRef)({ref,dispatch}),setPaymentMethodErrors:errors=>PaymentMethodContext_1.defaultPaymentMethodContext.setPaymentMethodErrors(errors,dispatch),setPaymentMethod:async args=>await PaymentMethodContext_1.defaultPaymentMethodContext.setPaymentMethod({...args,config:credentials,updateOrder,order,dispatch,setOrderErrors}),setPaymentSource:async args=>await PaymentMethodContext_1.defaultPaymentMethodContext.setPaymentSource({...state,...args,config:credentials,dispatch,getOrder,updateOrder,order}),updatePaymentSource:async args=>await PaymentMethodContext_1.defaultPaymentMethodContext.updatePaymentSource({...args,config:credentials,dispatch}),destroyPaymentSource:async args=>await PaymentMethodContext_1.defaultPaymentMethodContext.destroyPaymentSource({...args,dispatch,config:credentials,updateOrder,orderId:order?.id})}),[state]);return(0,jsx_runtime_1.jsx)(PaymentMethodContext_1.default.Provider,{value:contextValue,children})}exports.PaymentMethodsContainer=PaymentMethodsContainer,exports.default=PaymentMethodsContainer;
@@ -36,20 +36,20 @@ interface PaymentMethodsStyle {
36
36
  card?: Styles;
37
37
  paypal?: PaypalStyle;
38
38
  }
39
- export declare type AdyenPaymentConfig = {
39
+ export interface AdyenPaymentConfig {
40
40
  cardContainerClassName?: string;
41
41
  threeDSecureContainerClassName?: string;
42
42
  placeOrderCallback?: (response: {
43
43
  placed: boolean;
44
44
  }) => void;
45
45
  styles?: PaymentMethodsStyle;
46
- };
47
- declare type Props = {
46
+ }
47
+ interface Props {
48
48
  clientKey?: string;
49
49
  config?: AdyenPaymentConfig;
50
50
  templateCustomerSaveToWallet?: PaymentSourceProps['templateCustomerSaveToWallet'];
51
51
  locale?: string;
52
52
  environment?: string;
53
- };
54
- export declare function AdyenPayment({ clientKey, config, templateCustomerSaveToWallet, environment, locale, }: Props): JSX.Element | null;
53
+ }
54
+ export declare function AdyenPayment({ clientKey, config, templateCustomerSaveToWallet, environment, locale }: Props): JSX.Element | null;
55
55
  export default AdyenPayment;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AdyenPayment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),localStorage_1=require("../../utils/localStorage"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),browserInfo_1=tslib_1.__importDefault(require("../../utils/browserInfo")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),threeDSConfiguration={challengeWindowSize:"05"},defaultConfig={};function AdyenPayment({clientKey,config,templateCustomerSaveToWallet,environment="test",locale="en_US"}){const{cardContainerClassName,threeDSecureContainerClassName,styles}={...defaultConfig,...config},[loadAdyen,setLoadAdyen]=(0,react_1.useState)(!1),[checkout,setCheckout]=(0,react_1.useState)(null),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),{placeOrderButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),ref=(0,react_1.useRef)(null),handleSubmit=async(e,component)=>{const savePaymentSourceToCustomerWallet=e?.elements?.save_payment_source_to_customer_wallet?.checked;return savePaymentSourceToCustomerWallet&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),component&&component.submit&&component.submit(),!1},handleChange=async(state,checkout2)=>{if(state.isValid){ref.current&&(ref.current.onsubmit=()=>handleSubmit(ref.current,checkout2),setPaymentRef({ref}));const browserInfo=(0,browserInfo_1.default)(),attributes={payment_request_data:{payment_method:state.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}};paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes})}},handleOnAdditionalDetails=async(state,component)=>{const attributes={payment_request_details:state.data,_details:1};try{const pSource=paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes}),adyenAction=pSource?.payment_response?.action,resultCode=pSource?.payment_response?.resultCode;if(adyenAction&&component)return component.handleAction(adyenAction),!1;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef!==null&&placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled===!0&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=pSource?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return console.error("Adyen additional details error:",error),!1}},onSubmit=async(state,component)=>{const browserInfo=(0,browserInfo_1.default)();let control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments"});if(control?.payment_response?.resultCode==="Authorised")return!0;Object.keys(control?.payment_request_data).length>0===!1&&(control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes:{payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:window.location.href,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}}}));const attributes={payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:window.location.href,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}},_authorize:1};delete attributes.payment_request_data.paymentMethod;try{const res=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}),action=res?.payment_response?.action;if(component&&action)return component.handleAction(action),!1;const resultCode=res?.payment_response?.resultCode;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef!==null&&placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled===!0&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=res?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}if(res?.payment_response?.errorType)if(res?.payment_response?.errorCode==="14_006")onSubmit(state,component);else{const message=res?.payment_response?.message;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1}};return(0,react_1.useEffect)(()=>{const paymentMethodsResponse=paymentSource?.payment_methods?.paymentMethods?paymentSource?.payment_methods.paymentMethods:[],[firstPaymentMethod]=paymentMethodsResponse,isOnlyCard=paymentMethodsResponse?.length===1&&firstPaymentMethod.type==="scheme";paymentMethodsResponse.length===0&&console.error("Payment methods are not available. Please, check your Adyen configuration.");const options={locale,environment,clientKey,amount:{currency:order?.currency_code||"",value:order?.total_amount_with_taxes_cents||0},countryCode:order?.country_code||"",paymentMethodsResponse:{paymentMethods:paymentMethodsResponse},showPayButton:!1,paymentMethodsConfiguration:{threeDS2:threeDSConfiguration,paypal:{showPayButton:!0,style:styles?.paypal},card:{styles:styles?.card,holderNameRequired:!1}},onAdditionalDetails:handleOnAdditionalDetails,onChange:handleChange,onSubmit};return!ref&&clientKey&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet","false"),clientKey&&!loadAdyen&&window&&!checkout&&Promise.resolve().then(()=>tslib_1.__importStar(require("@adyen/adyen-web"))).then(({default:AdyenCheckout})=>{const type=isOnlyCard?"card":"dropin";AdyenCheckout(options).then(adyenCheckout=>{const component=adyenCheckout.create(type,{onSelect:component2=>{const id=component2._id;id.search("scheme")===-1&&ref.current&&(id.search("paypal")===-1?ref.current.onsubmit=()=>handleSubmit(ref.current,component2):ref.current.onsubmit=null,setPaymentRef({ref}))}}).mount("#adyen-dropin");component&&(setCheckout(component),setLoadAdyen(!0))})}),()=>{setPaymentRef({ref:{current:null}}),setLoadAdyen(!1)}},[clientKey,ref]),!clientKey&&!loadAdyen&&!checkout?null:(0,jsx_runtime_1.jsxs)("form",{ref,onSubmit:e=>handleSubmit(e,checkout),children:[(0,jsx_runtime_1.jsx)("div",{className:cardContainerClassName,id:"adyen-dropin"}),templateCustomerSaveToWallet&&(0,jsx_runtime_1.jsx)(Parent_1.default,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet}),(0,jsx_runtime_1.jsx)("div",{className:threeDSecureContainerClassName,id:"adyen-action"})]})}exports.AdyenPayment=AdyenPayment,exports.default=AdyenPayment;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AdyenPayment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),localStorage_1=require("../../utils/localStorage"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),browserInfo_1=tslib_1.__importStar(require("../../utils/browserInfo")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),threeDSConfiguration={challengeWindowSize:"05"},defaultConfig={};function AdyenPayment({clientKey,config,templateCustomerSaveToWallet,environment="test",locale="en_US"}){const{cardContainerClassName,threeDSecureContainerClassName,styles}={...defaultConfig,...config},[loadAdyen,setLoadAdyen]=(0,react_1.useState)(!1),[checkout,setCheckout]=(0,react_1.useState)(null),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),{placeOrderButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),ref=(0,react_1.useRef)(null),handleSubmit=async(e,component)=>{const savePaymentSourceToCustomerWallet=e?.elements?.save_payment_source_to_customer_wallet?.checked;return savePaymentSourceToCustomerWallet&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),component?.submit&&component.submit(),!1},handleChange=async(state,checkout2)=>{if(state.isValid){ref.current&&(ref.current.onsubmit=async()=>await handleSubmit(ref.current,checkout2),setPaymentRef({ref}));const browserInfo=(0,browserInfo_1.default)(),attributes={payment_request_data:{payment_method:state.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}};paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes})}},handleOnAdditionalDetails=async(state,component)=>{const attributes={payment_request_details:state.data,_details:1};try{const pSource=paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes}),adyenAction=pSource?.payment_response?.action,resultCode=pSource?.payment_response?.resultCode;if(adyenAction&&component)return component.handleAction(adyenAction),!1;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled","Refused"].includes(resultCode)){const message=pSource?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}]),component&&component.mount("#adyen-dropin")}return!1}catch(error){return console.error("Adyen additional details error:",error),!1}},onSubmit=async(state,component)=>{const browserInfo=(0,browserInfo_1.default)(),url=(0,browserInfo_1.cleanUrlBy)();let control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments"});if(control?.payment_response?.resultCode==="Authorised")return!0;const paymentDataAvailable=Object.keys(control?.payment_request_data).length>0,paymentMethodSelected=control?.payment_request_data?.payment_method?.type;(!paymentDataAvailable||paymentMethodSelected!==state.data.paymentMethod.type)&&(control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes:{payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:url,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}}}));const attributes={payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:url,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}},_authorize:1};delete attributes.payment_request_data.paymentMethod;try{const res=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}),action=res?.payment_response?.action;if(component&&action)return component.handleAction(action),!1;const resultCode=res?.payment_response?.resultCode;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=res?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}if(res?.payment_response?.errorType)if(res?.payment_response?.errorCode==="14_006")onSubmit(state,component);else{const message=res?.payment_response?.message;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1}};return(0,react_1.useEffect)(()=>{const paymentMethodsResponse=paymentSource?.payment_methods?.paymentMethods?paymentSource?.payment_methods.paymentMethods:[],[firstPaymentMethod]=paymentMethodsResponse,isOnlyCard=paymentMethodsResponse?.length===1&&firstPaymentMethod.type==="scheme";paymentMethodsResponse.length===0&&console.error("Payment methods are not available. Please, check your Adyen configuration.");const options={locale,environment,clientKey,amount:{currency:order?.currency_code||"",value:order?.total_amount_with_taxes_cents||0},countryCode:order?.country_code||"",paymentMethodsResponse:{paymentMethods:paymentMethodsResponse},showPayButton:!1,paymentMethodsConfiguration:{threeDS2:threeDSConfiguration,paypal:{showPayButton:!0,style:styles?.paypal},card:{styles:styles?.card,holderNameRequired:!1}},onAdditionalDetails:handleOnAdditionalDetails,onChange:handleChange,onSubmit};return!ref&&clientKey&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet","false"),clientKey&&!loadAdyen&&window&&!checkout&&Promise.resolve().then(()=>tslib_1.__importStar(require("@adyen/adyen-web"))).then(({default:AdyenCheckout})=>{const type=isOnlyCard?"card":"dropin";AdyenCheckout(options).then(adyenCheckout=>{const component=adyenCheckout.create(type,{onSelect:component2=>{const id=component2._id;id.search("scheme")===-1&&ref.current&&(id.search("paypal")===-1?ref.current.onsubmit=async()=>await handleSubmit(ref.current,component2):ref.current.onsubmit=null,setPaymentRef({ref}))}}).mount("#adyen-dropin");component&&(setCheckout(component),setLoadAdyen(!0))})}),()=>{setPaymentRef({ref:{current:null}}),setLoadAdyen(!1)}},[clientKey,ref]),!clientKey&&!loadAdyen&&!checkout?null:(0,jsx_runtime_1.jsxs)("form",{ref,onSubmit:e=>{handleSubmit(e,checkout)},children:[(0,jsx_runtime_1.jsx)("div",{className:cardContainerClassName,id:"adyen-dropin"}),templateCustomerSaveToWallet&&(0,jsx_runtime_1.jsx)(Parent_1.default,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet}),(0,jsx_runtime_1.jsx)("div",{className:threeDSecureContainerClassName,id:"adyen-action"})]})}exports.AdyenPayment=AdyenPayment,exports.default=AdyenPayment;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShipmentsCount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),ShipmentContext_1=tslib_1.__importDefault(require("../../context/ShipmentContext")),react_1=require("react");function ShipmentsCount({children,...p}){const{shipments}=(0,react_1.useContext)(ShipmentContext_1.default);if(shipments===void 0)throw new Error("Cannot use `ShipmentsCount` outside of `ShipmentsContainer`");const quantity=shipments.length,childrenProps={...p,quantity,shipments};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...childrenProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:quantity})}exports.ShipmentsCount=ShipmentsCount,exports.default=ShipmentsCount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShipmentsCount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),ShipmentContext_1=tslib_1.__importDefault(require("../../context/ShipmentContext")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function ShipmentsCount({children,...p}){const{shipments}=(0,useCustomContext_1.default)({context:ShipmentContext_1.default,contextComponentName:"ShipmentsContainer",currentComponentName:"ShipmentsCount",key:"shipments"}),quantity=shipments?.length??0,childrenProps={...p,quantity,shipments};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...childrenProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:quantity})}exports.ShipmentsCount=ShipmentsCount,exports.default=ShipmentsCount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VariantSelector=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),VariantTemplate_1=tslib_1.__importDefault(require("../utils/VariantTemplate")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),VariantsContext_1=tslib_1.__importDefault(require("../../context/VariantsContext"));function VariantSelector(props){const{children,type="select",placeholder,skuCode,name,options,...prs}=props,{setSkuCode,skuCode:variantSkuCode,loading,variants,setSkuCodes}=(0,react_1.useContext)(VariantsContext_1.default);(0,react_1.useEffect)(()=>(setSkuCodes&&setSkuCodes(options),()=>{setSkuCodes&&setSkuCodes([])}),[options]);const sCode=variantSkuCode||skuCode||"",DefaultTemplate=()=>loading?(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:props.loader||"Loading..."}):(0,jsx_runtime_1.jsx)(VariantTemplate_1.default,{variants,type,placeholder,skuCode:sCode,options,handleChange:setSkuCode,name,...prs}),parentProps={variants,loading:!!loading,handleSelect:setSkuCode,skuCode:sCode,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)(DefaultTemplate,{})}exports.VariantSelector=VariantSelector,exports.default=VariantSelector;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VariantSelector=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),VariantTemplate_1=tslib_1.__importDefault(require("../utils/VariantTemplate")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),VariantsContext_1=tslib_1.__importDefault(require("../../context/VariantsContext"));function VariantSelector(props){const{children,type="select",placeholder,skuCode,name,options,...prs}=props,{setSkuCode,skuCode:variantSkuCode,loading,variants,setSkuCodes}=(0,react_1.useContext)(VariantsContext_1.default);(0,react_1.useEffect)(()=>(setSkuCodes&&setSkuCodes(options),()=>{setSkuCodes&&setSkuCodes([])}),[options.length]);const sCode=variantSkuCode||skuCode||"",DefaultTemplate=()=>loading?(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:props.loader||"Loading..."}):(0,jsx_runtime_1.jsx)(VariantTemplate_1.default,{variants,type,placeholder,skuCode:sCode,options,handleChange:setSkuCode,name,...prs});console.log("variants",variants,options);const parentProps={variants,loading:!!loading,handleSelect:setSkuCode,skuCode:sCode,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)(DefaultTemplate,{})}exports.VariantSelector=VariantSelector,exports.default=VariantSelector;
@@ -1,20 +1,8 @@
1
- import { ReactNode } from 'react';
2
- declare type Props = {
3
- children: ReactNode;
1
+ /// <reference types="react" />
2
+ interface Props {
3
+ children: JSX.Element | JSX.Element[];
4
4
  filters?: Record<string, any>;
5
5
  skuCode?: string;
6
- };
7
- export declare function VariantsContainer(props: Props): JSX.Element;
8
- export declare namespace VariantsContainer {
9
- var propTypes: {
10
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
11
- skuCode: import("prop-types").Requireable<string>;
12
- filters: import("prop-types").Requireable<object>;
13
- };
14
- var defaultProps: {
15
- skuCode: string;
16
- filters: {};
17
- };
18
- var displayName: string;
19
6
  }
7
+ export declare function VariantsContainer(props: Props): JSX.Element;
20
8
  export default VariantsContainer;