@commercelayer/react-components 4.0.0-alpha.10 → 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 (143) hide show
  1. package/lib/cjs/components/auth/CommerceLayer.d.ts +2 -2
  2. package/lib/cjs/components/orders/AddToCartButton.d.ts +6 -4
  3. package/lib/cjs/components/orders/AddToCartButton.js +1 -1
  4. package/lib/cjs/components/orders/AdjustmentAmount.d.ts +2 -2
  5. package/lib/cjs/components/orders/AdjustmentAmount.js +1 -1
  6. package/lib/cjs/components/orders/CartLink.js +1 -1
  7. package/lib/cjs/components/orders/CheckoutLink.js +1 -1
  8. package/lib/cjs/components/orders/DiscountAmount.d.ts +0 -14
  9. package/lib/cjs/components/orders/DiscountAmount.js +1 -1
  10. package/lib/cjs/components/orders/GiftCardAmount.d.ts +0 -11
  11. package/lib/cjs/components/orders/GiftCardAmount.js +1 -1
  12. package/lib/cjs/components/orders/OrderContainer.js +1 -1
  13. package/lib/cjs/components/orders/PaymentMethodAmount.d.ts +4 -0
  14. package/lib/cjs/components/orders/PaymentMethodAmount.js +1 -0
  15. package/lib/cjs/components/orders/PlaceOrderButton.js +1 -1
  16. package/lib/cjs/components/orders/PlaceOrderContainer.d.ts +2 -8
  17. package/lib/cjs/components/orders/PlaceOrderContainer.js +1 -1
  18. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -6
  19. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.js +1 -1
  20. package/lib/cjs/components/orders/ShippingAmount.d.ts +0 -11
  21. package/lib/cjs/components/orders/ShippingAmount.js +1 -1
  22. package/lib/cjs/components/orders/SubTotalAmount.d.ts +0 -14
  23. package/lib/cjs/components/orders/SubTotalAmount.js +1 -1
  24. package/lib/cjs/components/orders/TaxesAmount.d.ts +0 -14
  25. package/lib/cjs/components/orders/TaxesAmount.js +1 -1
  26. package/lib/cjs/components/orders/TotalAmount.d.ts +0 -14
  27. package/lib/cjs/components/orders/TotalAmount.js +1 -1
  28. package/lib/cjs/components/parcels/ParcelLineItemsCount.js +1 -1
  29. package/lib/cjs/components/parcels/ParcelsCount.js +1 -1
  30. package/lib/cjs/components/payment_gateways/AdyenGateway.js +1 -1
  31. package/lib/cjs/components/payment_methods/PaymentMethod.d.ts +1 -7
  32. package/lib/cjs/components/payment_methods/PaymentMethod.js +1 -1
  33. package/lib/cjs/components/payment_methods/PaymentMethodName.d.ts +6 -11
  34. package/lib/cjs/components/payment_methods/PaymentMethodName.js +1 -1
  35. package/lib/cjs/components/payment_methods/PaymentMethodPrice.d.ts +2 -14
  36. package/lib/cjs/components/payment_methods/PaymentMethodPrice.js +1 -1
  37. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.d.ts +4 -9
  38. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.js +1 -1
  39. package/lib/cjs/components/payment_methods/PaymentMethodsContainer.js +1 -1
  40. package/lib/cjs/components/payment_source/AdyenPayment.d.ts +5 -5
  41. package/lib/cjs/components/payment_source/AdyenPayment.js +1 -1
  42. package/lib/cjs/components/shipments/ShipmentsCount.js +1 -1
  43. package/lib/cjs/components/skus/VariantSelector.js +1 -1
  44. package/lib/cjs/components/skus/VariantsContainer.d.ts +4 -16
  45. package/lib/cjs/components/skus/VariantsContainer.js +1 -1
  46. package/lib/cjs/components/utils/BaseOrderPrice.d.ts +3 -3
  47. package/lib/cjs/components/utils/BaseOrderPrice.js +1 -1
  48. package/lib/cjs/components/utils/VariantTemplate.js +1 -1
  49. package/lib/cjs/context/CommerceLayerContext.d.ts +2 -2
  50. package/lib/cjs/context/CommerceLayerContext.js +1 -1
  51. package/lib/cjs/context/OrderContext.d.ts +1 -2
  52. package/lib/cjs/context/OrderContext.js +1 -1
  53. package/lib/cjs/context/PaymentMethodContext.d.ts +2 -11
  54. package/lib/cjs/context/PaymentMethodContext.js +1 -1
  55. package/lib/cjs/index.d.ts +1 -1
  56. package/lib/cjs/index.js +1 -1
  57. package/lib/cjs/reducers/AvailabilityReducer.d.ts +12 -12
  58. package/lib/cjs/reducers/OrderReducer.js +1 -1
  59. package/lib/cjs/reducers/PaymentMethodReducer.d.ts +9 -11
  60. package/lib/cjs/reducers/PaymentMethodReducer.js +1 -1
  61. package/lib/cjs/reducers/VariantReducer.d.ts +7 -15
  62. package/lib/cjs/reducers/VariantReducer.js +1 -1
  63. package/lib/cjs/typings/index.d.ts +3 -3
  64. package/lib/cjs/utils/browserInfo.d.ts +5 -2
  65. package/lib/cjs/utils/browserInfo.js +1 -1
  66. package/lib/cjs/utils/getSdk.js +1 -1
  67. package/lib/cjs/utils/hooks/useCustomContext.d.ts +21 -0
  68. package/lib/cjs/utils/hooks/useCustomContext.js +1 -0
  69. package/lib/esm/components/auth/CommerceLayer.d.ts +2 -2
  70. package/lib/esm/components/orders/AddToCartButton.d.ts +6 -4
  71. package/lib/esm/components/orders/AddToCartButton.js +1 -1
  72. package/lib/esm/components/orders/AdjustmentAmount.d.ts +2 -2
  73. package/lib/esm/components/orders/AdjustmentAmount.js +1 -1
  74. package/lib/esm/components/orders/CartLink.js +1 -1
  75. package/lib/esm/components/orders/CheckoutLink.js +1 -1
  76. package/lib/esm/components/orders/DiscountAmount.d.ts +0 -14
  77. package/lib/esm/components/orders/DiscountAmount.js +1 -1
  78. package/lib/esm/components/orders/GiftCardAmount.d.ts +0 -11
  79. package/lib/esm/components/orders/GiftCardAmount.js +1 -1
  80. package/lib/esm/components/orders/OrderContainer.js +1 -1
  81. package/lib/esm/components/orders/PaymentMethodAmount.d.ts +4 -0
  82. package/lib/esm/components/orders/PaymentMethodAmount.js +1 -0
  83. package/lib/esm/components/orders/PlaceOrderButton.js +1 -1
  84. package/lib/esm/components/orders/PlaceOrderContainer.d.ts +2 -8
  85. package/lib/esm/components/orders/PlaceOrderContainer.js +1 -1
  86. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -6
  87. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.js +1 -1
  88. package/lib/esm/components/orders/ShippingAmount.d.ts +0 -11
  89. package/lib/esm/components/orders/ShippingAmount.js +1 -1
  90. package/lib/esm/components/orders/SubTotalAmount.d.ts +0 -14
  91. package/lib/esm/components/orders/SubTotalAmount.js +1 -1
  92. package/lib/esm/components/orders/TaxesAmount.d.ts +0 -14
  93. package/lib/esm/components/orders/TaxesAmount.js +1 -1
  94. package/lib/esm/components/orders/TotalAmount.d.ts +0 -14
  95. package/lib/esm/components/orders/TotalAmount.js +1 -1
  96. package/lib/esm/components/parcels/ParcelLineItemsCount.js +1 -1
  97. package/lib/esm/components/parcels/ParcelsCount.js +1 -1
  98. package/lib/esm/components/payment_gateways/AdyenGateway.js +1 -1
  99. package/lib/esm/components/payment_methods/PaymentMethod.d.ts +1 -7
  100. package/lib/esm/components/payment_methods/PaymentMethod.js +1 -1
  101. package/lib/esm/components/payment_methods/PaymentMethodName.d.ts +6 -11
  102. package/lib/esm/components/payment_methods/PaymentMethodName.js +1 -1
  103. package/lib/esm/components/payment_methods/PaymentMethodPrice.d.ts +2 -14
  104. package/lib/esm/components/payment_methods/PaymentMethodPrice.js +1 -1
  105. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.d.ts +4 -9
  106. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.js +1 -1
  107. package/lib/esm/components/payment_methods/PaymentMethodsContainer.js +1 -1
  108. package/lib/esm/components/payment_source/AdyenPayment.d.ts +5 -5
  109. package/lib/esm/components/payment_source/AdyenPayment.js +1 -1
  110. package/lib/esm/components/shipments/ShipmentsCount.js +1 -1
  111. package/lib/esm/components/skus/VariantSelector.js +1 -1
  112. package/lib/esm/components/skus/VariantsContainer.d.ts +4 -16
  113. package/lib/esm/components/skus/VariantsContainer.js +1 -1
  114. package/lib/esm/components/utils/BaseOrderPrice.d.ts +3 -3
  115. package/lib/esm/components/utils/BaseOrderPrice.js +1 -1
  116. package/lib/esm/components/utils/VariantTemplate.js +1 -1
  117. package/lib/esm/context/CommerceLayerContext.d.ts +2 -2
  118. package/lib/esm/context/CommerceLayerContext.js +1 -1
  119. package/lib/esm/context/OrderContext.d.ts +1 -2
  120. package/lib/esm/context/OrderContext.js +1 -1
  121. package/lib/esm/context/PaymentMethodContext.d.ts +2 -11
  122. package/lib/esm/context/PaymentMethodContext.js +1 -1
  123. package/lib/esm/index.d.ts +1 -1
  124. package/lib/esm/index.js +1 -1
  125. package/lib/esm/reducers/AvailabilityReducer.d.ts +12 -12
  126. package/lib/esm/reducers/OrderReducer.js +1 -1
  127. package/lib/esm/reducers/PaymentMethodReducer.d.ts +9 -11
  128. package/lib/esm/reducers/PaymentMethodReducer.js +1 -1
  129. package/lib/esm/reducers/VariantReducer.d.ts +7 -15
  130. package/lib/esm/reducers/VariantReducer.js +1 -1
  131. package/lib/esm/typings/index.d.ts +3 -3
  132. package/lib/esm/utils/browserInfo.d.ts +5 -2
  133. package/lib/esm/utils/browserInfo.js +1 -1
  134. package/lib/esm/utils/getSdk.js +1 -1
  135. package/lib/esm/utils/hooks/useCustomContext.d.ts +21 -0
  136. package/lib/esm/utils/hooks/useCustomContext.js +1 -0
  137. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  138. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  139. package/package.json +8 -7
  140. package/lib/cjs/components/payment_methods/PaymentMethodAmount.d.ts +0 -18
  141. package/lib/cjs/components/payment_methods/PaymentMethodAmount.js +0 -1
  142. package/lib/esm/components/payment_methods/PaymentMethodAmount.d.ts +0 -18
  143. package/lib/esm/components/payment_methods/PaymentMethodAmount.js +0 -1
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- declare type Props = {
2
+ interface Props {
3
3
  children: JSX.Element[] | JSX.Element;
4
4
  accessToken: string;
5
5
  endpoint: string;
6
- };
6
+ }
7
7
  export declare function CommerceLayer(props: Props): JSX.Element;
8
8
  export default CommerceLayer;
@@ -20,14 +20,16 @@ declare type THostedCart = {
20
20
  redirectToHostedCart?: false;
21
21
  hostedCartUrl?: never;
22
22
  };
23
+ declare type TButton = PropsWithoutRef<Omit<JSX.IntrinsicElements['button'], 'children'>>;
23
24
  declare type Props = {
25
+ bundleCode?: string;
24
26
  children?: ChildrenFunction<ChildrenProps>;
27
+ disabled?: boolean;
25
28
  label?: string | JSX.Element;
29
+ lineItem?: VariantOption['lineItem'];
30
+ quantity?: string;
26
31
  skuCode?: string;
27
- bundleCode?: string;
28
- disabled?: boolean;
29
32
  skuListId?: string;
30
- lineItem?: VariantOption['lineItem'];
31
- } & BuyNowMode & THostedCart & PropsWithoutRef<JSX.IntrinsicElements['button']>;
33
+ } & TButton & BuyNowMode & THostedCart;
32
34
  export declare function AddToCartButton(props: Props): JSX.Element;
33
35
  export default AddToCartButton;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AddToCartButton=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")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),has_1=tslib_1.__importDefault(require("lodash/has")),ItemContext_1=tslib_1.__importDefault(require("../../context/ItemContext")),getCurrentItemKey_1=tslib_1.__importDefault(require("../../utils/getCurrentItemKey")),SkuListsContext_1=tslib_1.__importDefault(require("../../context/SkuListsContext")),ExternalFunctionContext_1=tslib_1.__importDefault(require("../../context/ExternalFunctionContext")),SkuChildrenContext_1=tslib_1.__importDefault(require("../../context/SkuChildrenContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,disabled,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,...p}=props,{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),{addToCart,orderId,getOrder,setOrderErrors}=(0,react_1.useContext)(OrderContext_1.default),{url,callExternalFunction}=(0,react_1.useContext)(ExternalFunctionContext_1.default),{item,items,quantity,option,prices,lineItems,lineItem:lineItemContext,skuCode:itemSkuCode}=(0,react_1.useContext)(ItemContext_1.default),{skuLists}=(0,react_1.useContext)(SkuListsContext_1.default),{sku}=(0,react_1.useContext)(SkuChildrenContext_1.default),[slug]=endpoint?endpoint.split(".commercelayer"):[""],sCode=!(0,isEmpty_1.default)(items)&&skuCode?items[skuCode]?.code:sku?.code||skuCode||(0,getCurrentItemKey_1.default)(item)||itemSkuCode,availabilityQuantity=item[sCode]?.inventory?.quantity,handleClick=async()=>{const qty=quantity[sCode],opt=option[sCode],customLineItem=(0,isEmpty_1.default)(lineItem||lineItemContext)?lineItems[sCode]:lineItem||lineItemContext;if(!(0,isEmpty_1.default)(skuLists)&&skuListId&&url){const slQty=quantity[skuListId]||1;if((0,has_1.default)(skuLists,skuListId)){const lineItems2=skuLists?.[skuListId]?.map(skuCode2=>({skuCode:skuCode2,quantity:slQty,_update_quantity:1}));return await callExternalFunction({url,data:{resourceType:"orders",inputs:[{id:orderId,lineItems:lineItems2}]}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}}if(!url&&addToCart){const res=await addToCart({bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl});if(redirectToHostedCart){const orderId2=res.orderId;hostedCartUrl&&orderId2?location.href=`https://${hostedCartUrl}/${orderId2}?accessToken=${accessToken}`:orderId2&&slug&&(location.href=(0,getCartLink_1.default)({orderId:orderId2,slug,accessToken}))}return res}else if(url)return await callExternalFunction({url,data:{bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))},autoDisabled=!(0,isEmpty_1.default)(skuLists)||skuListId?!1:disabled||!prices[sCode]||!sCode||availabilityQuantity===0,parentProps={handleClick,disabled:disabled||autoDisabled,label,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{...p,disabled:autoDisabled,onClick:()=>{handleClick()},children:label})}exports.AddToCartButton=AddToCartButton,exports.default=AddToCartButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AddToCartButton=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")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),has_1=tslib_1.__importDefault(require("lodash/has")),ItemContext_1=tslib_1.__importDefault(require("../../context/ItemContext")),getCurrentItemKey_1=tslib_1.__importDefault(require("../../utils/getCurrentItemKey")),SkuListsContext_1=tslib_1.__importDefault(require("../../context/SkuListsContext")),ExternalFunctionContext_1=tslib_1.__importDefault(require("../../context/ExternalFunctionContext")),SkuChildrenContext_1=tslib_1.__importDefault(require("../../context/SkuChildrenContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,disabled,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,quantity,...p}=props,{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),{addToCart,orderId,getOrder,setOrderErrors}=(0,react_1.useContext)(OrderContext_1.default),{url,callExternalFunction}=(0,react_1.useContext)(ExternalFunctionContext_1.default),{item,items,quantity:quantityCtx,option,prices,lineItems,lineItem:lineItemContext,skuCode:itemSkuCode}=(0,react_1.useContext)(ItemContext_1.default);if(accessToken===void 0)throw new Error("Cannot use `AddToCartButton` outside of `CommerceLayer`");if(addToCart===void 0)throw new Error("Cannot use `AddToCartButton` outside of `OrderContainer`");const{skuLists}=(0,react_1.useContext)(SkuListsContext_1.default),{sku}=(0,react_1.useContext)(SkuChildrenContext_1.default),[slug]=endpoint?endpoint.split(".commercelayer"):[""],sCode=!(0,isEmpty_1.default)(items)&&skuCode?items[skuCode]?.code:sku?.code||skuCode||(0,getCurrentItemKey_1.default)(item)||itemSkuCode,availabilityQuantity=item[sCode]?.inventory?.quantity,handleClick=async()=>{const qty=quantity!=null?parseInt(quantity):quantityCtx[sCode]??1,opt=option[sCode],customLineItem=(0,isEmpty_1.default)(lineItem||lineItemContext)?lineItems[sCode]:lineItem||lineItemContext;if(!(0,isEmpty_1.default)(skuLists)&&skuListId&&url){const slQty=quantity??quantityCtx[skuListId]??1;if((0,has_1.default)(skuLists,skuListId)){const lineItems2=skuLists?.[skuListId]?.map(skuCode2=>({skuCode:skuCode2,quantity:slQty,_update_quantity:1}));return await callExternalFunction({url,data:{resourceType:"orders",inputs:[{id:orderId,lineItems:lineItems2}]}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}}if(url){if(url)return await callExternalFunction({url,data:{bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}else{const res=await addToCart({bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl});if(redirectToHostedCart){const orderId2=res.orderId;hostedCartUrl&&orderId2?location.href=`https://${hostedCartUrl}/${orderId2}?accessToken=${accessToken}`:orderId2&&slug&&(location.href=(0,getCartLink_1.default)({orderId:orderId2,slug,accessToken}))}return res}},disableByCtx=!(0,isEmpty_1.default)(prices)&&!prices[sCode]||availabilityQuantity===0,autoDisabled=!(0,isEmpty_1.default)(skuLists)||skuListId?!1:(disabled||disableByCtx)??(!quantity||!sCode),parentProps={handleClick,disabled:disabled||autoDisabled,label,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{...p,disabled:autoDisabled,onClick:()=>{handleClick()},children:label})}exports.AddToCartButton=AddToCartButton,exports.default=AddToCartButton;
@@ -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 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CartLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink"));function CartLink(props){const{label,children,...p}=props,{order,createOrder}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint.split(".commercelayer"),href=slug&&order?.id?(0,getCartLink_1.default)({slug,orderId:order?.id,accessToken}):"",handleClick=async event=>{if(event.preventDefault(),order?.id)location.href=href;else{const orderId=await createOrder();slug&&(location.href=(0,getCartLink_1.default)({slug,orderId,accessToken}))}},parentProps={handleClick,label,href,...p};return accessToken?children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,onClick:e=>{handleClick(e)},children:label}):null}exports.CartLink=CartLink,exports.default=CartLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CartLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink"));function CartLink(props){const{label,children,...p}=props,{order,createOrder}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint?.split(".commercelayer")??"";if(accessToken==null)throw new Error("Cannot use `CartLink` outside of `CommerceLayer`");const href=slug&&order?.id?(0,getCartLink_1.default)({slug,orderId:order?.id,accessToken}):"",handleClick=async event=>{if(event.preventDefault(),order?.id)location.href=href;else{const orderId=await createOrder();slug&&(location.href=(0,getCartLink_1.default)({slug,orderId,accessToken}))}},parentProps={handleClick,label,href,...p};return accessToken?children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,onClick:e=>{handleClick(e)},children:label}):null}exports.CartLink=CartLink,exports.default=CartLink;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CheckoutLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function CheckoutLink(props){const{label,hostedCheckout=!0,children,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint.split(".commercelayer"),href=hostedCheckout&&slug&&order?.id?`${slug}.checkout.commercelayer.app/${order.id}?accessToken=${accessToken}`:order?.checkout_url,parentProps={checkoutUrl:order?.checkout_url,hostedCheckout,label,href,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,children:label})}exports.CheckoutLink=CheckoutLink,exports.default=CheckoutLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CheckoutLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function CheckoutLink(props){const{label,hostedCheckout=!0,children,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default);if(accessToken==null||endpoint==null)throw new Error("Cannot use `CheckoutLink` outside of `CommerceLayer`");const[slug]=endpoint.split(".commercelayer"),href=hostedCheckout&&slug&&order?.id?`${slug}.checkout.commercelayer.app/${order.id}?accessToken=${accessToken}`:order?.checkout_url,parentProps={checkoutUrl:order?.checkout_url,hostedCheckout,label,href,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,children:label})}exports.CheckoutLink=CheckoutLink,exports.default=CheckoutLink;
@@ -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;
@@ -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}=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),{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 OrderContext_1.defaultOrderContext.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;
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;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AdyenGateway=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),CustomerContext_1=tslib_1.__importDefault(require("../../context/CustomerContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),PaymentMethodReducer_1=require("../../reducers/PaymentMethodReducer"),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),react_1=require("react"),AdyenPayment_1=tslib_1.__importDefault(require("../payment_source/AdyenPayment")),PaymentCardsTemplate_1=tslib_1.__importDefault(require("../utils/PaymentCardsTemplate")),jwt_1=tslib_1.__importDefault(require("../../utils/jwt")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails"));function AdyenGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{accessToken}=(0,react_1.useContext)(CommerceLayerContext_1.default),{payment}=(0,react_1.useContext)(PaymentMethodChildrenContext_1.default),{payments,isGuest}=(0,react_1.useContext)(CustomerContext_1.default),{currentPaymentMethodId,config,paymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),paymentResource="adyen_payments",locale=order?.language_code,paymentMethods=paymentSource?.payment_methods;if(!readonly&&payment?.id!==currentPaymentMethodId)return null;const clientKey=paymentSource?.public_key,environment=(0,jwt_1.default)(accessToken).test?"test":"live",adyenConfig=config?(0,PaymentMethodReducer_1.getPaymentConfig)(paymentResource,config):{},customerPayments=!(0,isEmpty_1.default)(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type==="adyen_payments"):[];if(readonly||showCard){const card=(0,getCardDetails_1.default)({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return(0,isEmpty_1.default)(card)?null:(0,jsx_runtime_1.jsx)(PaymentSourceContext_1.default.Provider,{value,children})}return!isGuest&&templateCustomerCards?clientKey&&!loading&&paymentMethods?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,isEmpty_1.default)(customerPayments)?null:(0,jsx_runtime_1.jsx)("div",{className:p.className,children:(0,jsx_runtime_1.jsx)(PaymentCardsTemplate_1.default,{paymentResource,customerPayments,children:templateCustomerCards})}),(0,jsx_runtime_1.jsx)(AdyenPayment_1.default,{templateCustomerSaveToWallet,clientKey,locale,environment,config:adyenConfig})]}):loaderComponent:clientKey&&!loading&&paymentMethods?(0,jsx_runtime_1.jsx)(AdyenPayment_1.default,{clientKey,locale,config:adyenConfig,environment}):loaderComponent}exports.AdyenGateway=AdyenGateway,exports.default=AdyenGateway;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AdyenGateway=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),CustomerContext_1=tslib_1.__importDefault(require("../../context/CustomerContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),PaymentMethodReducer_1=require("../../reducers/PaymentMethodReducer"),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),react_1=require("react"),AdyenPayment_1=tslib_1.__importDefault(require("../payment_source/AdyenPayment")),PaymentCardsTemplate_1=tslib_1.__importDefault(require("../utils/PaymentCardsTemplate")),jwt_1=tslib_1.__importDefault(require("../../utils/jwt")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails"));function AdyenGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{accessToken}=(0,react_1.useContext)(CommerceLayerContext_1.default),{payment}=(0,react_1.useContext)(PaymentMethodChildrenContext_1.default),{payments,isGuest}=(0,react_1.useContext)(CustomerContext_1.default),{currentPaymentMethodId,config,paymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),paymentResource="adyen_payments",locale=order?.language_code,paymentMethods=paymentSource?.payment_methods;if(!readonly&&payment?.id!==currentPaymentMethodId)return null;const clientKey=paymentSource?.public_key,environment=accessToken&&(0,jwt_1.default)(accessToken).test?"test":"live",adyenConfig=config?(0,PaymentMethodReducer_1.getPaymentConfig)(paymentResource,config):{},customerPayments=!(0,isEmpty_1.default)(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type==="adyen_payments"):[];if(readonly||showCard){const card=(0,getCardDetails_1.default)({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return(0,isEmpty_1.default)(card)?null:(0,jsx_runtime_1.jsx)(PaymentSourceContext_1.default.Provider,{value,children})}return!isGuest&&templateCustomerCards?clientKey&&!loading&&paymentMethods?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,isEmpty_1.default)(customerPayments)?null:(0,jsx_runtime_1.jsx)("div",{className:p.className,children:(0,jsx_runtime_1.jsx)(PaymentCardsTemplate_1.default,{paymentResource,customerPayments,children:templateCustomerCards})}),(0,jsx_runtime_1.jsx)(AdyenPayment_1.default,{templateCustomerSaveToWallet,clientKey,locale,environment,config:adyenConfig})]}):loaderComponent:clientKey&&!loading&&paymentMethods?(0,jsx_runtime_1.jsx)(AdyenPayment_1.default,{clientKey,locale,config:adyenConfig,environment}):loaderComponent}exports.AdyenGateway=AdyenGateway,exports.default=AdyenGateway;
@@ -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;