@commercelayer/react-components 4.1.2 → 4.2.0

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 (239) hide show
  1. package/lib/cjs/components/MetadataInput.d.ts +0 -1
  2. package/lib/cjs/components/addresses/Address.d.ts +0 -1
  3. package/lib/cjs/components/addresses/AddressCountrySelector.d.ts +0 -1
  4. package/lib/cjs/components/addresses/AddressInput.d.ts +0 -1
  5. package/lib/cjs/components/addresses/AddressStateSelector.d.ts +0 -1
  6. package/lib/cjs/components/addresses/AddressesEmpty.d.ts +0 -1
  7. package/lib/cjs/components/addresses/ShippingAddressContainer.d.ts +0 -1
  8. package/lib/cjs/components/auth/CommerceLayer.d.ts +0 -1
  9. package/lib/cjs/components/customers/CustomerField.d.ts +0 -1
  10. package/lib/cjs/components/customers/CustomerInput.d.ts +0 -1
  11. package/lib/cjs/components/errors/Errors.d.ts +0 -1
  12. package/lib/cjs/components/gift_cards/GiftCard.d.ts +0 -1
  13. package/lib/cjs/components/gift_cards/GiftCardCurrencySelector.d.ts +0 -1
  14. package/lib/cjs/components/gift_cards/GiftCardInput.d.ts +0 -1
  15. package/lib/cjs/components/gift_cards/GiftCardOrCouponCode.d.ts +0 -1
  16. package/lib/cjs/components/gift_cards/GiftCardOrCouponInput.d.ts +0 -1
  17. package/lib/cjs/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +2 -2
  18. package/lib/cjs/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -1
  19. package/lib/cjs/components/line_items/LineItem.d.ts +0 -1
  20. package/lib/cjs/components/line_items/LineItemAmount.d.ts +0 -1
  21. package/lib/cjs/components/line_items/LineItemCode.d.ts +0 -1
  22. package/lib/cjs/components/line_items/LineItemField.d.ts +0 -1
  23. package/lib/cjs/components/line_items/LineItemImage.d.ts +0 -1
  24. package/lib/cjs/components/line_items/LineItemName.d.ts +0 -1
  25. package/lib/cjs/components/line_items/LineItemsCount.d.ts +0 -1
  26. package/lib/cjs/components/line_items/LineItemsEmpty.d.ts +0 -1
  27. package/lib/cjs/components/orders/AdjustmentAmount.d.ts +0 -1
  28. package/lib/cjs/components/orders/CheckoutLink.d.ts +0 -1
  29. package/lib/cjs/components/orders/DiscountAmount.d.ts +0 -1
  30. package/lib/cjs/components/orders/GiftCardAmount.d.ts +0 -1
  31. package/lib/cjs/components/orders/OrderContainer.d.ts +0 -1
  32. package/lib/cjs/components/orders/OrderList.d.ts +0 -1
  33. package/lib/cjs/components/orders/OrderListEmpty.d.ts +0 -1
  34. package/lib/cjs/components/orders/OrderListPaginationButtons.d.ts +0 -1
  35. package/lib/cjs/components/orders/OrderListPaginationInfo.d.ts +0 -1
  36. package/lib/cjs/components/orders/OrderListRow.d.ts +0 -1
  37. package/lib/cjs/components/orders/OrderNumber.d.ts +0 -1
  38. package/lib/cjs/components/orders/PaymentMethodAmount.d.ts +0 -1
  39. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -1
  40. package/lib/cjs/components/orders/ShippingAmount.d.ts +0 -1
  41. package/lib/cjs/components/orders/SubTotalAmount.d.ts +0 -1
  42. package/lib/cjs/components/orders/TaxesAmount.d.ts +0 -1
  43. package/lib/cjs/components/orders/TotalAmount.d.ts +0 -1
  44. package/lib/cjs/components/parcels/ParcelField.d.ts +0 -1
  45. package/lib/cjs/components/parcels/ParcelLineItem.d.ts +0 -1
  46. package/lib/cjs/components/parcels/ParcelLineItemField.d.ts +0 -1
  47. package/lib/cjs/components/parcels/ParcelLineItemsCount.d.ts +0 -1
  48. package/lib/cjs/components/parcels/Parcels.d.ts +0 -1
  49. package/lib/cjs/components/parcels/ParcelsCount.d.ts +0 -1
  50. package/lib/cjs/components/payment_gateways/AdyenGateway.d.ts +0 -1
  51. package/lib/cjs/components/payment_gateways/AdyenGateway.js +1 -1
  52. package/lib/cjs/components/payment_gateways/BraintreeGateway.d.ts +0 -1
  53. package/lib/cjs/components/payment_gateways/BraintreeGateway.js +1 -1
  54. package/lib/cjs/components/payment_gateways/CheckoutComGateway.d.ts +0 -1
  55. package/lib/cjs/components/payment_gateways/ExternalGateway.d.ts +4 -0
  56. package/lib/cjs/components/payment_gateways/ExternalGateway.js +1 -1
  57. package/lib/cjs/components/payment_gateways/KlarnaGateway.d.ts +0 -1
  58. package/lib/cjs/components/payment_gateways/PaymentGateway.d.ts +0 -1
  59. package/lib/cjs/components/payment_gateways/PaymentGateway.js +1 -1
  60. package/lib/cjs/components/payment_gateways/PaypalGateway.d.ts +0 -1
  61. package/lib/cjs/components/payment_gateways/PaypalGateway.js +1 -1
  62. package/lib/cjs/components/payment_gateways/StripeGateway.d.ts +0 -1
  63. package/lib/cjs/components/payment_gateways/WireTransferGateway.d.ts +0 -1
  64. package/lib/cjs/components/payment_methods/PaymentMethod.d.ts +2 -2
  65. package/lib/cjs/components/payment_methods/PaymentMethod.js +1 -1
  66. package/lib/cjs/components/payment_methods/PaymentMethodName.d.ts +0 -1
  67. package/lib/cjs/components/payment_methods/PaymentMethodName.js +1 -1
  68. package/lib/cjs/components/payment_methods/PaymentMethodPrice.d.ts +0 -1
  69. package/lib/cjs/components/payment_source/BraintreePayment.d.ts +5 -6
  70. package/lib/cjs/components/payment_source/BraintreePayment.js +1 -1
  71. package/lib/cjs/components/payment_source/CheckoutComPayment.d.ts +0 -1
  72. package/lib/cjs/components/payment_source/ExternalPayment.d.ts +23 -0
  73. package/lib/cjs/components/payment_source/ExternalPayment.js +1 -0
  74. package/lib/cjs/components/payment_source/KlarnaPayment.d.ts +0 -1
  75. package/lib/cjs/components/payment_source/PaymentSource.d.ts +0 -1
  76. package/lib/cjs/components/payment_source/PaymentSourceBrandIcon.d.ts +0 -1
  77. package/lib/cjs/components/payment_source/PaymentSourceBrandName.d.ts +0 -1
  78. package/lib/cjs/components/payment_source/PaymentSourceDetail.d.ts +0 -1
  79. package/lib/cjs/components/payment_source/StripePayment.d.ts +2 -3
  80. package/lib/cjs/components/payment_source/StripePayment.js +1 -1
  81. package/lib/cjs/components/payment_source/WireTransferPayment.d.ts +3 -4
  82. package/lib/cjs/components/payment_source/WireTransferPayment.js +1 -1
  83. package/lib/cjs/components/prices/Price.d.ts +0 -1
  84. package/lib/cjs/components/prices/PricesContainer.d.ts +0 -1
  85. package/lib/cjs/components/shipments/ShipmentField.d.ts +0 -1
  86. package/lib/cjs/components/shipments/ShipmentsCount.d.ts +0 -1
  87. package/lib/cjs/components/shipping_methods/ShippingMethodName.d.ts +0 -1
  88. package/lib/cjs/components/shipping_methods/ShippingMethodPrice.d.ts +0 -1
  89. package/lib/cjs/components/shipping_methods/ShippingMethodRadioButton.d.ts +0 -1
  90. package/lib/cjs/components/skus/AvailabilityTemplate.d.ts +0 -1
  91. package/lib/cjs/components/skus/DeliveryLeadTime.d.ts +0 -1
  92. package/lib/cjs/components/skus/SkuField.d.ts +0 -1
  93. package/lib/cjs/components/stock_transfers/StockTransfer.d.ts +0 -1
  94. package/lib/cjs/components/stock_transfers/StockTransferField.d.ts +0 -1
  95. package/lib/cjs/components/utils/AddressCardsTemplate.d.ts +0 -1
  96. package/lib/cjs/components/utils/BaseOrderPrice.d.ts +0 -1
  97. package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +0 -1
  98. package/lib/cjs/components/utils/PriceTemplate.d.ts +0 -1
  99. package/lib/cjs/components/utils/getAllErrors.d.ts +0 -1
  100. package/lib/cjs/reducers/OrderReducer.js +1 -1
  101. package/lib/cjs/reducers/PaymentMethodReducer.d.ts +8 -5
  102. package/lib/cjs/reducers/PaymentMethodReducer.js +1 -1
  103. package/lib/cjs/utils/filterChildren.d.ts +0 -1
  104. package/lib/cjs/utils/getLoaderComponent.d.ts +0 -1
  105. package/lib/cjs/utils/getPaymentAttributes.d.ts +15 -0
  106. package/lib/cjs/utils/getPaymentAttributes.js +1 -0
  107. package/lib/cjs/utils/getPrices.d.ts +0 -1
  108. package/lib/cjs/utils/icons.d.ts +0 -1
  109. package/lib/cjs/utils/pick.d.ts +1 -0
  110. package/lib/cjs/utils/pick.js +1 -0
  111. package/lib/cjs/utils/replace.d.ts +2 -0
  112. package/lib/cjs/utils/replace.js +1 -0
  113. package/lib/cjs/utils/snakeToCamelCase.d.ts +5 -0
  114. package/lib/cjs/utils/snakeToCamelCase.js +1 -0
  115. package/lib/esm/components/MetadataInput.d.ts +0 -1
  116. package/lib/esm/components/addresses/Address.d.ts +0 -1
  117. package/lib/esm/components/addresses/AddressCountrySelector.d.ts +0 -1
  118. package/lib/esm/components/addresses/AddressInput.d.ts +0 -1
  119. package/lib/esm/components/addresses/AddressStateSelector.d.ts +0 -1
  120. package/lib/esm/components/addresses/AddressesEmpty.d.ts +0 -1
  121. package/lib/esm/components/addresses/ShippingAddressContainer.d.ts +0 -1
  122. package/lib/esm/components/auth/CommerceLayer.d.ts +0 -1
  123. package/lib/esm/components/customers/CustomerField.d.ts +0 -1
  124. package/lib/esm/components/customers/CustomerInput.d.ts +0 -1
  125. package/lib/esm/components/errors/Errors.d.ts +0 -1
  126. package/lib/esm/components/gift_cards/GiftCard.d.ts +0 -1
  127. package/lib/esm/components/gift_cards/GiftCardCurrencySelector.d.ts +0 -1
  128. package/lib/esm/components/gift_cards/GiftCardInput.d.ts +0 -1
  129. package/lib/esm/components/gift_cards/GiftCardOrCouponCode.d.ts +0 -1
  130. package/lib/esm/components/gift_cards/GiftCardOrCouponInput.d.ts +0 -1
  131. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +2 -2
  132. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -1
  133. package/lib/esm/components/line_items/LineItem.d.ts +0 -1
  134. package/lib/esm/components/line_items/LineItemAmount.d.ts +0 -1
  135. package/lib/esm/components/line_items/LineItemCode.d.ts +0 -1
  136. package/lib/esm/components/line_items/LineItemField.d.ts +0 -1
  137. package/lib/esm/components/line_items/LineItemImage.d.ts +0 -1
  138. package/lib/esm/components/line_items/LineItemName.d.ts +0 -1
  139. package/lib/esm/components/line_items/LineItemsCount.d.ts +0 -1
  140. package/lib/esm/components/line_items/LineItemsEmpty.d.ts +0 -1
  141. package/lib/esm/components/orders/AdjustmentAmount.d.ts +0 -1
  142. package/lib/esm/components/orders/CheckoutLink.d.ts +0 -1
  143. package/lib/esm/components/orders/DiscountAmount.d.ts +0 -1
  144. package/lib/esm/components/orders/GiftCardAmount.d.ts +0 -1
  145. package/lib/esm/components/orders/OrderContainer.d.ts +0 -1
  146. package/lib/esm/components/orders/OrderList.d.ts +0 -1
  147. package/lib/esm/components/orders/OrderListEmpty.d.ts +0 -1
  148. package/lib/esm/components/orders/OrderListPaginationButtons.d.ts +0 -1
  149. package/lib/esm/components/orders/OrderListPaginationInfo.d.ts +0 -1
  150. package/lib/esm/components/orders/OrderListRow.d.ts +0 -1
  151. package/lib/esm/components/orders/OrderNumber.d.ts +0 -1
  152. package/lib/esm/components/orders/PaymentMethodAmount.d.ts +0 -1
  153. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -1
  154. package/lib/esm/components/orders/ShippingAmount.d.ts +0 -1
  155. package/lib/esm/components/orders/SubTotalAmount.d.ts +0 -1
  156. package/lib/esm/components/orders/TaxesAmount.d.ts +0 -1
  157. package/lib/esm/components/orders/TotalAmount.d.ts +0 -1
  158. package/lib/esm/components/parcels/ParcelField.d.ts +0 -1
  159. package/lib/esm/components/parcels/ParcelLineItem.d.ts +0 -1
  160. package/lib/esm/components/parcels/ParcelLineItemField.d.ts +0 -1
  161. package/lib/esm/components/parcels/ParcelLineItemsCount.d.ts +0 -1
  162. package/lib/esm/components/parcels/Parcels.d.ts +0 -1
  163. package/lib/esm/components/parcels/ParcelsCount.d.ts +0 -1
  164. package/lib/esm/components/payment_gateways/AdyenGateway.d.ts +0 -1
  165. package/lib/esm/components/payment_gateways/AdyenGateway.js +1 -1
  166. package/lib/esm/components/payment_gateways/BraintreeGateway.d.ts +0 -1
  167. package/lib/esm/components/payment_gateways/BraintreeGateway.js +1 -1
  168. package/lib/esm/components/payment_gateways/CheckoutComGateway.d.ts +0 -1
  169. package/lib/esm/components/payment_gateways/ExternalGateway.d.ts +4 -0
  170. package/lib/esm/components/payment_gateways/ExternalGateway.js +1 -1
  171. package/lib/esm/components/payment_gateways/KlarnaGateway.d.ts +0 -1
  172. package/lib/esm/components/payment_gateways/PaymentGateway.d.ts +0 -1
  173. package/lib/esm/components/payment_gateways/PaymentGateway.js +1 -1
  174. package/lib/esm/components/payment_gateways/PaypalGateway.d.ts +0 -1
  175. package/lib/esm/components/payment_gateways/PaypalGateway.js +1 -1
  176. package/lib/esm/components/payment_gateways/StripeGateway.d.ts +0 -1
  177. package/lib/esm/components/payment_gateways/WireTransferGateway.d.ts +0 -1
  178. package/lib/esm/components/payment_methods/PaymentMethod.d.ts +2 -2
  179. package/lib/esm/components/payment_methods/PaymentMethod.js +1 -1
  180. package/lib/esm/components/payment_methods/PaymentMethodName.d.ts +0 -1
  181. package/lib/esm/components/payment_methods/PaymentMethodName.js +1 -1
  182. package/lib/esm/components/payment_methods/PaymentMethodPrice.d.ts +0 -1
  183. package/lib/esm/components/payment_source/BraintreePayment.d.ts +5 -6
  184. package/lib/esm/components/payment_source/BraintreePayment.js +1 -1
  185. package/lib/esm/components/payment_source/CheckoutComPayment.d.ts +0 -1
  186. package/lib/esm/components/payment_source/ExternalPayment.d.ts +23 -0
  187. package/lib/esm/components/payment_source/ExternalPayment.js +1 -0
  188. package/lib/esm/components/payment_source/KlarnaPayment.d.ts +0 -1
  189. package/lib/esm/components/payment_source/PaymentSource.d.ts +0 -1
  190. package/lib/esm/components/payment_source/PaymentSourceBrandIcon.d.ts +0 -1
  191. package/lib/esm/components/payment_source/PaymentSourceBrandName.d.ts +0 -1
  192. package/lib/esm/components/payment_source/PaymentSourceDetail.d.ts +0 -1
  193. package/lib/esm/components/payment_source/StripePayment.d.ts +2 -3
  194. package/lib/esm/components/payment_source/StripePayment.js +1 -1
  195. package/lib/esm/components/payment_source/WireTransferPayment.d.ts +3 -4
  196. package/lib/esm/components/payment_source/WireTransferPayment.js +1 -1
  197. package/lib/esm/components/prices/Price.d.ts +0 -1
  198. package/lib/esm/components/prices/PricesContainer.d.ts +0 -1
  199. package/lib/esm/components/shipments/ShipmentField.d.ts +0 -1
  200. package/lib/esm/components/shipments/ShipmentsCount.d.ts +0 -1
  201. package/lib/esm/components/shipping_methods/ShippingMethodName.d.ts +0 -1
  202. package/lib/esm/components/shipping_methods/ShippingMethodPrice.d.ts +0 -1
  203. package/lib/esm/components/shipping_methods/ShippingMethodRadioButton.d.ts +0 -1
  204. package/lib/esm/components/skus/AvailabilityTemplate.d.ts +0 -1
  205. package/lib/esm/components/skus/DeliveryLeadTime.d.ts +0 -1
  206. package/lib/esm/components/skus/SkuField.d.ts +0 -1
  207. package/lib/esm/components/stock_transfers/StockTransfer.d.ts +0 -1
  208. package/lib/esm/components/stock_transfers/StockTransferField.d.ts +0 -1
  209. package/lib/esm/components/utils/AddressCardsTemplate.d.ts +0 -1
  210. package/lib/esm/components/utils/BaseOrderPrice.d.ts +0 -1
  211. package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +0 -1
  212. package/lib/esm/components/utils/PriceTemplate.d.ts +0 -1
  213. package/lib/esm/components/utils/getAllErrors.d.ts +0 -1
  214. package/lib/esm/reducers/OrderReducer.js +1 -1
  215. package/lib/esm/reducers/PaymentMethodReducer.d.ts +8 -5
  216. package/lib/esm/reducers/PaymentMethodReducer.js +1 -1
  217. package/lib/esm/utils/filterChildren.d.ts +0 -1
  218. package/lib/esm/utils/getLoaderComponent.d.ts +0 -1
  219. package/lib/esm/utils/getPaymentAttributes.d.ts +15 -0
  220. package/lib/esm/utils/getPaymentAttributes.js +1 -0
  221. package/lib/esm/utils/getPrices.d.ts +0 -1
  222. package/lib/esm/utils/icons.d.ts +0 -1
  223. package/lib/esm/utils/pick.d.ts +1 -0
  224. package/lib/esm/utils/pick.js +1 -0
  225. package/lib/esm/utils/replace.d.ts +2 -0
  226. package/lib/esm/utils/replace.js +1 -0
  227. package/lib/esm/utils/snakeToCamelCase.d.ts +5 -0
  228. package/lib/esm/utils/snakeToCamelCase.js +1 -0
  229. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  230. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  231. package/package.json +23 -24
  232. package/lib/cjs/components/gift_cards/GiftCardRecipient.d.ts +0 -0
  233. package/lib/cjs/components/gift_cards/GiftCardRecipient.js +0 -1
  234. package/lib/cjs/utils/paypalPayment.d.ts +0 -3
  235. package/lib/cjs/utils/paypalPayment.js +0 -1
  236. package/lib/esm/components/gift_cards/GiftCardRecipient.d.ts +0 -0
  237. package/lib/esm/components/gift_cards/GiftCardRecipient.js +0 -1
  238. package/lib/esm/utils/paypalPayment.d.ts +0 -3
  239. package/lib/esm/utils/paypalPayment.js +0 -1
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
3
2
  import { PaymentSourceProps } from './PaymentSource';
4
3
  import { FramesStyle } from 'frames-react';
@@ -0,0 +1,23 @@
1
+ import { ChildrenFunction } from '../../typings/index';
2
+ import type { StripeElementLocale } from '@stripe/stripe-js';
3
+ import { PaymentSourceProps } from './PaymentSource';
4
+ export interface ExternalPaymentConfig {
5
+ /**
6
+ * Show the component. Default is false
7
+ */
8
+ show?: boolean;
9
+ /**
10
+ * Use to display information about the external payment or whatever else.
11
+ */
12
+ customComponent?: ChildrenFunction<Omit<Props, 'customComponent'>>;
13
+ /**
14
+ * The payment source token, as generated by the external gateway SDK. Credit Card numbers are rejected.
15
+ */
16
+ payment_source_token: string;
17
+ }
18
+ interface Props extends Omit<ExternalPaymentConfig, 'payment_source_token'>, Pick<PaymentSourceProps, 'templateCustomerSaveToWallet'> {
19
+ paymentSourceToken: string;
20
+ locale?: StripeElementLocale;
21
+ }
22
+ export declare function ExternalPayment(props: Props): JSX.Element | null;
23
+ export default ExternalPayment;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExternalPayment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),react_1=require("react");function ExternalPayment(props){const{setPaymentRef}=(0,react_1.useContext)(PaymentMethodContext_1.default),ref=(0,react_1.useRef)(null);return(0,react_1.useEffect)(()=>{ref!==null&&(ref.current.onsubmit=async()=>!0,setPaymentRef({ref}))},[ref]),props?.customComponent!=null&&props.show?(0,jsx_runtime_1.jsxs)("form",{ref,children:[(0,jsx_runtime_1.jsx)(Parent_1.default,{children:props.customComponent}),props?.templateCustomerSaveToWallet!=null&&(0,jsx_runtime_1.jsx)(Parent_1.default,{name:"save_payment_source_to_customer_wallet",children:props.templateCustomerSaveToWallet})]}):null}exports.ExternalPayment=ExternalPayment,exports.default=ExternalPayment;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
3
2
  import { PaymentSourceProps } from './PaymentSource';
4
3
  type KlarnaPaymentProps = PaymentMethodConfig['klarnaPayment'] & JSX.IntrinsicElements['div'] & Partial<PaymentSourceProps['templateCustomerSaveToWallet']> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LoaderType } from '../../typings/index';
3
2
  import { CustomerCardsTemplateChildren } from '../utils/PaymentCardsTemplate';
4
3
  export interface CustomerCardsProps {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IconBrand } from '../../context/PaymentSourceContext';
3
2
  import { ChildrenFunction } from '../../typings/index';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IconBrand } from '../../context/PaymentSourceContext';
3
2
  import { ChildrenFunction } from '../../typings/index';
4
3
  interface CustomComponent extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  export type PaymentSourceDetailType = 'last4' | 'exp_year' | 'exp_month';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,14 +1,13 @@
1
- /// <reference types="react" />
2
1
  import { StripeCardElementOptions, StripeElementLocale } from '@stripe/stripe-js';
3
2
  import { PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
4
3
  import { PaymentSourceProps } from './PaymentSource';
5
- export type StripeConfig = {
4
+ export interface StripeConfig {
6
5
  containerClassName?: string;
7
6
  hintLabel?: string;
8
7
  name?: string;
9
8
  options?: StripeCardElementOptions;
10
9
  [key: string]: any;
11
- };
10
+ }
12
11
  type Props = PaymentMethodConfig['stripePayment'] & JSX.IntrinsicElements['div'] & Partial<PaymentSourceProps['templateCustomerSaveToWallet']> & {
13
12
  show?: boolean;
14
13
  publishableKey: string;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.StripePayment=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")),react_stripe_js_1=require("@stripe/react-stripe-js"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),localStorage_1=require("../../utils/localStorage"),defaultOptions={style:{base:{fontSize:"16px",color:"#424770","::placeholder":{color:"#aab7c4"}},invalid:{color:"#9e2146"}},hidePostalCode:!0};function StripePaymentForm({options=defaultOptions,templateCustomerSaveToWallet}){const ref=(0,react_1.useRef)(null),{setPaymentSource,currentPaymentMethodType,setPaymentMethodErrors,setPaymentRef,paymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),stripe=(0,react_stripe_js_1.useStripe)(),elements=(0,react_stripe_js_1.useElements)();(0,react_1.useEffect)(()=>(ref.current&&stripe&&elements&&paymentSource&&(ref.current.onsubmit=paymentSource2=>onSubmit({event:ref.current,stripe,elements,paymentSource:paymentSource2}),setPaymentRef({ref})),()=>{setPaymentRef({ref:{current:null}})}),[ref,stripe,elements,paymentSource]);const onSubmit=async({event,stripe:stripe2,elements:elements2,paymentSource:ps})=>{if(!stripe2)return!1;const savePaymentSourceToCustomerWallet=event?.elements?.save_payment_source_to_customer_wallet?.checked;savePaymentSourceToCustomerWallet&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet);const cardElement=elements2&&elements2.getElement(react_stripe_js_1.CardElement);if(cardElement){const billingInfo=order?.billing_address,email=order?.customer_email,billing_details={name:billingInfo?.full_name,email,phone:billingInfo?.phone,address:{city:billingInfo?.city,country:billingInfo?.country_code,line1:billingInfo?.line_1,postal_code:billingInfo?.zip_code,state:billingInfo?.state_code}},{paymentMethod}=await stripe2.createPaymentMethod({type:"card",card:cardElement,billing_details}),clientSecret=ps?.client_secret,paymentSourceId=ps?.id;if(clientSecret){const{error,paymentIntent}=await stripe2.confirmCardPayment(clientSecret,{payment_method:{card:cardElement,billing_details}});if(error)return console.error(error),setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1;if(paymentIntent&&paymentMethod&&paymentSourceId&&currentPaymentMethodType)try{return await setPaymentSource({paymentSourceId,paymentResource:currentPaymentMethodType,attributes:{options:{...paymentMethod,setup_future_usage:"off_session"}}}),!0}catch{return!1}}}return!1};return(0,jsx_runtime_1.jsxs)("form",{ref,children:[(0,jsx_runtime_1.jsx)(react_stripe_js_1.CardElement,{options:{...defaultOptions,...options}}),templateCustomerSaveToWallet&&(0,jsx_runtime_1.jsx)(Parent_1.default,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet})]})}function StripePayment({publishableKey,show,options,locale="auto",...p}){const[isLoaded,setIsLoaded]=(0,react_1.useState)(!1),[stripe,setStripe]=(0,react_1.useState)(null),{containerClassName,templateCustomerSaveToWallet,fonts=[],...divProps}=p;return(0,react_1.useEffect)(()=>{if(show&&publishableKey){const{loadStripe}=require("@stripe/stripe-js");(async()=>{const res=await loadStripe(publishableKey,{locale});setStripe(res),setIsLoaded(!0)})()}return()=>{setIsLoaded(!1)}},[show,publishableKey]),isLoaded&&stripe?(0,jsx_runtime_1.jsx)("div",{className:containerClassName,...divProps,children:(0,jsx_runtime_1.jsx)(react_stripe_js_1.Elements,{stripe,options:{fonts},children:(0,jsx_runtime_1.jsx)(StripePaymentForm,{options,templateCustomerSaveToWallet})})}):null}exports.StripePayment=StripePayment,exports.default=StripePayment;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.StripePayment=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")),react_stripe_js_1=require("@stripe/react-stripe-js"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),localStorage_1=require("../../utils/localStorage"),defaultOptions={style:{base:{fontSize:"16px",color:"#424770","::placeholder":{color:"#aab7c4"}},invalid:{color:"#9e2146"}},hidePostalCode:!0};function StripePaymentForm({options=defaultOptions,templateCustomerSaveToWallet}){const ref=(0,react_1.useRef)(null),{setPaymentSource,currentPaymentMethodType,setPaymentMethodErrors,setPaymentRef,paymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),stripe=(0,react_stripe_js_1.useStripe)(),elements=(0,react_stripe_js_1.useElements)();(0,react_1.useEffect)(()=>(ref.current&&stripe&&elements&&paymentSource&&(ref.current.onsubmit=async paymentSource2=>await onSubmit({event:ref.current,stripe,elements,paymentSource:paymentSource2}),setPaymentRef({ref})),()=>{setPaymentRef({ref:{current:null}})}),[ref,stripe,elements,paymentSource]);const onSubmit=async({event,stripe:stripe2,elements:elements2,paymentSource:ps})=>{if(!stripe2)return!1;const savePaymentSourceToCustomerWallet=event?.elements?.save_payment_source_to_customer_wallet?.checked;savePaymentSourceToCustomerWallet&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet);const cardElement=elements2?.getElement(react_stripe_js_1.CardElement);if(cardElement){const billingInfo=order?.billing_address,email=order?.customer_email,billingDetails={name:billingInfo?.full_name,email,phone:billingInfo?.phone,address:{city:billingInfo?.city,country:billingInfo?.country_code,line1:billingInfo?.line_1,postal_code:billingInfo?.zip_code,state:billingInfo?.state_code}},{paymentMethod}=await stripe2.createPaymentMethod({type:"card",card:cardElement,billing_details:billingDetails}),clientSecret=ps?.client_secret,paymentSourceId=ps?.id;if(clientSecret){const{error,paymentIntent}=await stripe2.confirmCardPayment(clientSecret,{payment_method:{card:cardElement,billing_details:billingDetails}});if(error)return console.error(error),setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1;if(paymentIntent&&paymentMethod&&paymentSourceId&&currentPaymentMethodType)try{return await setPaymentSource({paymentSourceId,paymentResource:currentPaymentMethodType,attributes:{options:{...paymentMethod,setup_future_usage:"off_session"}}}),!0}catch{return!1}}}return!1};return(0,jsx_runtime_1.jsxs)("form",{ref,children:[(0,jsx_runtime_1.jsx)(react_stripe_js_1.CardElement,{options:{...defaultOptions,...options}}),templateCustomerSaveToWallet&&(0,jsx_runtime_1.jsx)(Parent_1.default,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet})]})}function StripePayment({publishableKey,show,options,locale="auto",...p}){const[isLoaded,setIsLoaded]=(0,react_1.useState)(!1),[stripe,setStripe]=(0,react_1.useState)(null),{containerClassName,templateCustomerSaveToWallet,fonts=[],...divProps}=p;return(0,react_1.useEffect)(()=>(show&&publishableKey&&Promise.resolve().then(()=>tslib_1.__importStar(require("@stripe/stripe-js"))).then(({loadStripe})=>{(async()=>{const res=await loadStripe(publishableKey,{locale});res!=null&&(setStripe(res),setIsLoaded(!0))})()}),()=>{setIsLoaded(!1)}),[show,publishableKey]),isLoaded&&stripe?(0,jsx_runtime_1.jsx)("div",{className:containerClassName,...divProps,children:(0,jsx_runtime_1.jsx)(react_stripe_js_1.Elements,{stripe,options:{fonts},children:(0,jsx_runtime_1.jsx)(StripePaymentForm,{options,templateCustomerSaveToWallet})})}):null}exports.StripePayment=StripePayment,exports.default=StripePayment;
@@ -1,10 +1,9 @@
1
- import { ReactNode } from 'react';
2
- export type WireTransferConfig = {
1
+ export interface WireTransferConfig {
3
2
  infoMessage?: {
4
- text?: string | ReactNode;
3
+ text?: string | JSX.Element[];
5
4
  className?: string;
6
5
  };
7
- };
6
+ }
8
7
  type Props = WireTransferConfig & JSX.IntrinsicElements['div'] & {
9
8
  'data-test-id'?: string;
10
9
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.WireTransferPayment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),isFunction_1=tslib_1.__importDefault(require("lodash/isFunction")),react_1=require("react"),defaultMessage="after placing the order, you will need to manually complete the payment with your bank";function WireTransferPayment({infoMessage,...p}){const{className,"data-test-id":dataTestId}=p,ref=(0,react_1.useRef)(null),{setPaymentSource,paymentSource,currentPaymentMethodType,setPaymentRef}=(0,react_1.useContext)(PaymentMethodContext_1.default);(0,react_1.useEffect)(()=>(ref.current&&paymentSource&&currentPaymentMethodType&&(ref.current.onsubmit=()=>handleClick(),setPaymentRef({ref})),()=>{setPaymentRef({ref:{current:null}})}),[ref,paymentSource,currentPaymentMethodType]);const handleClick=async()=>{if(paymentSource&&currentPaymentMethodType)try{return await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:currentPaymentMethodType,attributes:{metadata:{card:{id:paymentSource.id,brand:"wire-transfer",last4:""}}}}),!0}catch{return!1}return!1};return(0,jsx_runtime_1.jsx)("form",{ref,children:(0,jsx_runtime_1.jsx)("div",{className,"data-test-id":dataTestId,children:(0,jsx_runtime_1.jsx)("span",{className:infoMessage?.className,children:(0,isFunction_1.default)(infoMessage?.text)?infoMessage?.text():infoMessage?.text||defaultMessage})})})}exports.WireTransferPayment=WireTransferPayment,exports.default=WireTransferPayment;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.WireTransferPayment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),react_1=require("react"),defaultMessage="after placing the order, you will need to manually complete the payment with your bank";function WireTransferPayment({infoMessage,...p}){const{className,"data-test-id":dataTestId}=p,ref=(0,react_1.useRef)(null),{setPaymentSource,paymentSource,currentPaymentMethodType,setPaymentRef}=(0,react_1.useContext)(PaymentMethodContext_1.default);(0,react_1.useEffect)(()=>(ref.current&&paymentSource&&currentPaymentMethodType&&(ref.current.onsubmit=async()=>await handleClick(),setPaymentRef({ref})),()=>{setPaymentRef({ref:{current:null}})}),[ref,paymentSource,currentPaymentMethodType]);const handleClick=async()=>{if(paymentSource&&currentPaymentMethodType)try{return await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:currentPaymentMethodType,attributes:{metadata:{card:{id:paymentSource.id,brand:"wire-transfer",last4:""}}}}),!0}catch{return!1}return!1};return(0,jsx_runtime_1.jsx)("form",{ref,children:(0,jsx_runtime_1.jsx)("div",{className,"data-test-id":dataTestId,children:(0,jsx_runtime_1.jsx)("span",{className:infoMessage?.className,children:infoMessage?.text||defaultMessage})})})}exports.WireTransferPayment=WireTransferPayment,exports.default=WireTransferPayment;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Price as PriceType } from '@commercelayer/sdk';
3
2
  import { ChildrenFunction, LoaderType } from '../../typings/index';
4
3
  interface PriceChildrenProps extends Omit<PriceProps, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LoaderType } from '../../typings/index';
3
2
  interface Props {
4
3
  children: JSX.Element | JSX.Element[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Shipment } from '@commercelayer/sdk';
3
2
  type ShipmentFieldChildrenProps = Omit<Props, 'children'> & {
4
3
  shipment: Shipment;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  import type { Shipment } from '@commercelayer/sdk';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ShippingMethod } from '@commercelayer/sdk';
3
2
  type ChildrenProps = Omit<Props, 'children'> & {
4
3
  label: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  type Props = BaseAmountComponent & {
4
3
  labelFreeOver?: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { ShippingMethod } from '@commercelayer/sdk';
3
2
  export type ShippingMethodRadioButtonType = Omit<Props, 'children'> & {
4
3
  shippingMethod: ShippingMethod;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TimeFormat, ChildrenFunction } from '../../typings/index';
3
2
  import { DeliveryLeadTime } from '../../reducers/AvailabilityReducer';
4
3
  interface AvailabilityTemplateChildrenProps extends Omit<Props, 'children'>, DeliveryLeadTime {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export type DeliveryLeadTimeField = 'min_hours' | 'max_hours' | 'min_days' | 'max_days';
3
2
  export type DeliveryLeadTimeComponentChildren = Omit<Props, 'children'>;
4
3
  type Props = Partial<JSX.IntrinsicElements['span']> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ConditionalElement } from '../../typings/index';
3
2
  import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
3
  type SkuFieldChildrenProps = TGenericChildrenProps<TResources['Sku']>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface Props {
3
2
  children: JSX.Element[] | JSX.Element;
4
3
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ConditionalElement } from '../../typings/index';
3
2
  import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
3
  type StockTransferFieldChildrenProps = TGenericChildrenProps<TResources['StockTransfer']>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { Address } from '@commercelayer/sdk';
3
2
  import AddressChildrenContext from '../../context/AddressChildrenContext';
4
3
  import { ChildrenFunction } from '../../typings/index';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PropsType } from '../../utils/PropsType';
3
2
  import { baseOrderPricePropTypes } from '../../typings/index';
4
3
  export type BaseOrderPriceProps = PropsType<typeof baseOrderPricePropTypes> & Omit<JSX.IntrinsicElements['span'], 'children'>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PaymentResource, PaymentSourceType } from '../../reducers/PaymentMethodReducer';
3
2
  import PaymentSourceContext, { IconBrand } from '../../context/PaymentSourceContext';
4
3
  import { ChildrenFunction } from '../../typings/index';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PriceProps } from '../prices/Price';
3
2
  export type PTemplateProps = {
4
3
  formattedAmount?: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LineItem } from '@commercelayer/sdk';
3
2
  import { BaseError, ResourceErrorType } from '../../typings/errors';
4
3
  export type AllErrorsParams = {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.orderInitialState=exports.removeGiftCardOrCouponCode=exports.setGiftCardOrCouponCode=exports.saveAddressToCustomerAddressBook=exports.setOrderErrors=exports.unsetOrderState=exports.addToCart=exports.addResourceToInclude=exports.setOrder=exports.updateOrder=exports.getApiOrder=exports.createOrder=void 0;const tslib_1=require("tslib"),localStorage_1=require("../utils/localStorage"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk")),getErrors_1=tslib_1.__importStar(require("../utils/getErrors")),organization_1=tslib_1.__importDefault(require("../utils/organization")),actionType=["setLoading","setOrderId","setOrder","setSingleQuantity","setCurrentSkuCodes","setCurrentSkuPrices","setErrors","setCurrentItem","setSaveAddressToCustomerAddressBook","setIncludesResource"],createOrder=async params=>{if(params){const{persistKey,state,dispatch,config,orderMetadata:metadata,orderAttributes={},setLocalOrder}=params;if(state?.orderId)return state.orderId;const sdk=(0,getSdk_1.default)(config);try{const o=await sdk?.orders.create({metadata,...orderAttributes});return dispatch&&dispatch({type:"setOrderId",payload:{orderId:o?.id}}),persistKey&&setLocalOrder&&setLocalOrder(persistKey,o.id),o.id}catch(error){const errors=(0,getErrors_1.default)(error,"orders");console.error("Create order",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors,dispatch})}}return""};exports.createOrder=createOrder;const getApiOrder=async params=>{const{id,dispatch,config,clearWhenPlaced,persistKey,deleteLocalOrder,state}=params,sdk=(0,getSdk_1.default)(config);try{const options={};state?.include&&state.include.length>0&&(options.include=state.include),console.log("includes",options);const order=await sdk.orders.retrieve(id,options);return console.log("order",order),clearWhenPlaced&&order.editable===!1?(persistKey&&deleteLocalOrder&&deleteLocalOrder(persistKey),dispatch&&dispatch({type:"setOrder",payload:{order:void 0,orderId:""}})):dispatch&&dispatch({type:"setOrder",payload:{order,orderId:order.id}}),order}catch(error){const errors=(0,getErrors_1.default)(error,"orders");console.error("Retrieve order",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors,dispatch});return}};exports.getApiOrder=getApiOrder;async function updateOrder({id,attributes,dispatch,config,include,state}){const sdk=(0,getSdk_1.default)(config);try{const resource={...attributes,id};await sdk.orders.update(resource,{include});const order=await(0,exports.getApiOrder)({id,config,dispatch,state});return dispatch&&order&&dispatch({type:"setOrder",payload:{order}}),{success:!0}}catch(error){const errors=(0,getErrors_1.default)(error,"orders");return dispatch&&(setOrderErrors({errors,dispatch}),dispatch({type:"setErrors",payload:{errors}})),{success:!1,error}}}exports.updateOrder=updateOrder;const setOrder=(order,dispatch)=>{dispatch&&dispatch({type:"setOrder",payload:{order}})};exports.setOrder=setOrder;function addResourceToInclude({resourcesIncluded=[],dispatch,newResource,newResourceLoaded,resourceIncludedLoaded}){const payload={include:void 0,includeLoaded:void 0};if(newResource){const resources=typeof newResource=="string"?[newResource]:newResource;payload.include=[...new Set([...resourcesIncluded,...resources])],resources.forEach(resource=>{const includeLoaded={...payload.includeLoaded,[resource]:!0};payload.includeLoaded=includeLoaded})}else delete payload.include;const payloadIncludeLoaded={...resourceIncludedLoaded,...newResourceLoaded,...payload.includeLoaded&&payload.includeLoaded};payload.includeLoaded=payloadIncludeLoaded,console.log(payload);debugger;dispatch&&dispatch({type:"setIncludesResource",payload:{...payload,withoutIncludes:!1}})}exports.addResourceToInclude=addResourceToInclude;async function addToCart(params){const{skuCode,bundleCode,quantity,config,dispatch,lineItem,state,errors=[],buyNowMode,checkoutUrl,lineItemOption}=params;try{if(config){const sdk=(0,getSdk_1.default)(config),id=await(0,exports.createOrder)(params);if(id){const order=sdk.orders.relationship(id),name=lineItem?.name,imageUrl=lineItem?.imageUrl;if(buyNowMode)if(state?.order?.line_items)await Promise.all(state?.order?.line_items.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}));else{const{line_items:lineItems}=await sdk.orders.retrieve(id,{fields:["line_items"],include:["line_items"]});lineItems&&lineItems?.length>0&&await Promise.all(lineItems.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}))}const attrs={order,sku_code:skuCode,name,image_url:imageUrl,quantity:quantity??1,_update_quantity:!0,bundle_code:bundleCode},newLineItem=await sdk.line_items.create(attrs);if(lineItemOption!=null){const{skuOptionId,options,quantity:quantity2}=lineItemOption,skuOption=sdk.sku_options.relationship(skuOptionId),lineItemRel=sdk.line_items.relationship(newLineItem.id),lineItemOptionsAttributes={quantity:quantity2??1,options,sku_option:skuOption,line_item:lineItemRel};await sdk.line_item_options.create(lineItemOptionsAttributes),await(0,exports.getApiOrder)({id,...params})}else await(0,exports.getApiOrder)({id,...params,state});if(!(0,isEmpty_1.default)(errors)&&dispatch&&dispatch({type:"setErrors",payload:{errors:[]}}),buyNowMode){const{organization}=(0,organization_1.default)(config.endpoint??""),params2=`${id}?accessToken=${config.accessToken??""}`,redirectUrl=checkoutUrl?`${checkoutUrl}/${params2}`:`https://${organization}.checkout.commercelayer.app/${params2}`;location.href=redirectUrl}return{success:!0,orderId:id}}}return{success:!1}}catch(error){const errors2=(0,getErrors_1.default)(error,"orders");return console.error("Add to cart",errors2),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors2,dispatch}),{success:!1}}}exports.addToCart=addToCart;const unsetOrderState=dispatch=>{dispatch({type:"setOrderId",payload:{orderId:""}}),dispatch({type:"setOrder",payload:{order:void 0}})};exports.unsetOrderState=unsetOrderState;function setOrderErrors({dispatch,errors=[]}){return dispatch&&dispatch({type:"setErrors",payload:{errors}}),{success:!1}}exports.setOrderErrors=setOrderErrors;const saveAddressToCustomerAddressBook=({type,value,dispatch})=>{const k=`_save_${type}_to_customer_address_book`,v=`${value.toString()}`;(0,localStorage_1.setCustomerOrderParam)(k,v),dispatch&&dispatch({type:"setSaveAddressToCustomerAddressBook",payload:{[k]:v}})};exports.saveAddressToCustomerAddressBook=saveAddressToCustomerAddressBook;const setGiftCardOrCouponCode=async({code,codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&code&&dispatch){const attributes={[codeType]:code},{success,error}=await updateOrder({id:order.id,attributes,config,include,dispatch,state});if(!success)throw error;return dispatch({type:"setErrors",payload:{errors:[]}}),{success}}return{success:!1}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",codeType);return dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}};exports.setGiftCardOrCouponCode=setGiftCardOrCouponCode;const removeGiftCardOrCouponCode=async({codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&dispatch){const attributes={[codeType]:""};return await updateOrder({id:order.id,attributes,config,include,dispatch,state}),dispatch({type:"setErrors",payload:{errors:[]}}),{success:!0}}return{success:!1}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",codeType);return console.error("Remove gift card o coupon code",errors),dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}};exports.removeGiftCardOrCouponCode=removeGiftCardOrCouponCode,exports.orderInitialState={loading:!0,orderId:"",order:void 0,errors:[],include:void 0,withoutIncludes:!0};const orderReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,actionType);exports.default=orderReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.orderInitialState=exports.removeGiftCardOrCouponCode=exports.setGiftCardOrCouponCode=exports.saveAddressToCustomerAddressBook=exports.setOrderErrors=exports.unsetOrderState=exports.addToCart=exports.addResourceToInclude=exports.setOrder=exports.updateOrder=exports.getApiOrder=exports.createOrder=void 0;const tslib_1=require("tslib"),localStorage_1=require("../utils/localStorage"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk")),getErrors_1=tslib_1.__importStar(require("../utils/getErrors")),organization_1=tslib_1.__importDefault(require("../utils/organization")),actionType=["setLoading","setOrderId","setOrder","setSingleQuantity","setCurrentSkuCodes","setCurrentSkuPrices","setErrors","setCurrentItem","setSaveAddressToCustomerAddressBook","setIncludesResource"],createOrder=async params=>{if(params){const{persistKey,state,dispatch,config,orderMetadata:metadata,orderAttributes={},setLocalOrder}=params;if(state?.orderId)return state.orderId;const sdk=(0,getSdk_1.default)(config);try{const o=await sdk?.orders.create({metadata,...orderAttributes});return dispatch&&dispatch({type:"setOrderId",payload:{orderId:o?.id}}),persistKey&&setLocalOrder&&setLocalOrder(persistKey,o.id),o.id}catch(error){const errors=(0,getErrors_1.default)(error,"orders");console.error("Create order",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors,dispatch})}}return""};exports.createOrder=createOrder;const getApiOrder=async params=>{const{id,dispatch,config,clearWhenPlaced,persistKey,deleteLocalOrder,state}=params,sdk=(0,getSdk_1.default)(config);try{const options={};state?.include&&state.include.length>0&&(options.include=state.include),console.log("includes",options);const order=await sdk.orders.retrieve(id,options);return console.log("order",order),clearWhenPlaced&&order.editable===!1?(persistKey&&deleteLocalOrder&&deleteLocalOrder(persistKey),dispatch&&dispatch({type:"setOrder",payload:{order:void 0,orderId:""}})):dispatch&&dispatch({type:"setOrder",payload:{order,orderId:order.id}}),order}catch(error){const errors=(0,getErrors_1.default)(error,"orders");console.error("Retrieve order",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors,dispatch});return}};exports.getApiOrder=getApiOrder;async function updateOrder({id,attributes,dispatch,config,include,state}){const sdk=(0,getSdk_1.default)(config);try{const resource={...attributes,id};await sdk.orders.update(resource,{include});const order=await(0,exports.getApiOrder)({id,config,dispatch,state});return dispatch&&order&&dispatch({type:"setOrder",payload:{order}}),{success:!0}}catch(error){const errors=(0,getErrors_1.default)(error,"orders");return dispatch&&(setOrderErrors({errors,dispatch}),dispatch({type:"setErrors",payload:{errors}})),{success:!1,error}}}exports.updateOrder=updateOrder;const setOrder=(order,dispatch)=>{dispatch&&dispatch({type:"setOrder",payload:{order}})};exports.setOrder=setOrder;function addResourceToInclude({resourcesIncluded=[],dispatch,newResource,newResourceLoaded,resourceIncludedLoaded}){const payload={include:void 0,includeLoaded:void 0};if(newResource){const resources=typeof newResource=="string"?[newResource]:newResource;payload.include=[...new Set([...resourcesIncluded,...resources])],resources.forEach(resource=>{const includeLoaded={...payload.includeLoaded,[resource]:!0};payload.includeLoaded=includeLoaded})}else delete payload.include;const payloadIncludeLoaded={...resourceIncludedLoaded,...newResourceLoaded,...payload.includeLoaded&&payload.includeLoaded};payload.includeLoaded=payloadIncludeLoaded,dispatch&&dispatch({type:"setIncludesResource",payload:{...payload,withoutIncludes:!1}})}exports.addResourceToInclude=addResourceToInclude;async function addToCart(params){const{skuCode,bundleCode,quantity,config,dispatch,lineItem,state,errors=[],buyNowMode,checkoutUrl,lineItemOption}=params;try{if(config){const sdk=(0,getSdk_1.default)(config),id=await(0,exports.createOrder)(params);if(id){const order=sdk.orders.relationship(id),name=lineItem?.name,imageUrl=lineItem?.imageUrl;if(buyNowMode)if(state?.order?.line_items)await Promise.all(state?.order?.line_items.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}));else{const{line_items:lineItems}=await sdk.orders.retrieve(id,{fields:["line_items"],include:["line_items"]});lineItems&&lineItems?.length>0&&await Promise.all(lineItems.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}))}const attrs={order,sku_code:skuCode,name,image_url:imageUrl,quantity:quantity??1,_update_quantity:!0,bundle_code:bundleCode},newLineItem=await sdk.line_items.create(attrs);if(lineItemOption!=null){const{skuOptionId,options,quantity:quantity2}=lineItemOption,skuOption=sdk.sku_options.relationship(skuOptionId),lineItemRel=sdk.line_items.relationship(newLineItem.id),lineItemOptionsAttributes={quantity:quantity2??1,options,sku_option:skuOption,line_item:lineItemRel};await sdk.line_item_options.create(lineItemOptionsAttributes),await(0,exports.getApiOrder)({id,...params})}else await(0,exports.getApiOrder)({id,...params,state});if(!(0,isEmpty_1.default)(errors)&&dispatch&&dispatch({type:"setErrors",payload:{errors:[]}}),buyNowMode){const{organization}=(0,organization_1.default)(config.endpoint??""),params2=`${id}?accessToken=${config.accessToken??""}`,redirectUrl=checkoutUrl?`${checkoutUrl}/${params2}`:`https://${organization}.checkout.commercelayer.app/${params2}`;location.href=redirectUrl}return{success:!0,orderId:id}}}return{success:!1}}catch(error){const errors2=(0,getErrors_1.default)(error,"orders");return console.error("Add to cart",errors2),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors2,dispatch}),{success:!1}}}exports.addToCart=addToCart;const unsetOrderState=dispatch=>{dispatch({type:"setOrderId",payload:{orderId:""}}),dispatch({type:"setOrder",payload:{order:void 0}})};exports.unsetOrderState=unsetOrderState;function setOrderErrors({dispatch,errors=[]}){return dispatch&&dispatch({type:"setErrors",payload:{errors}}),{success:!1}}exports.setOrderErrors=setOrderErrors;const saveAddressToCustomerAddressBook=({type,value,dispatch})=>{const k=`_save_${type}_to_customer_address_book`,v=`${value.toString()}`;(0,localStorage_1.setCustomerOrderParam)(k,v),dispatch&&dispatch({type:"setSaveAddressToCustomerAddressBook",payload:{[k]:v}})};exports.saveAddressToCustomerAddressBook=saveAddressToCustomerAddressBook;const setGiftCardOrCouponCode=async({code,codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&code&&dispatch){const attributes={[codeType]:code},{success,error}=await updateOrder({id:order.id,attributes,config,include,dispatch,state});if(!success)throw error;return dispatch({type:"setErrors",payload:{errors:[]}}),{success}}return{success:!1}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",codeType);return dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}};exports.setGiftCardOrCouponCode=setGiftCardOrCouponCode;const removeGiftCardOrCouponCode=async({codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&dispatch){const attributes={[codeType]:""};return await updateOrder({id:order.id,attributes,config,include,dispatch,state}),dispatch({type:"setErrors",payload:{errors:[]}}),{success:!0}}return{success:!1}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",codeType);return console.error("Remove gift card o coupon code",errors),dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}};exports.removeGiftCardOrCouponCode=removeGiftCardOrCouponCode,exports.orderInitialState={loading:!0,orderId:"",order:void 0,errors:[],include:void 0,withoutIncludes:!0};const orderReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,actionType);exports.default=orderReducer;
@@ -9,6 +9,8 @@ import { BaseError } from '../typings/errors';
9
9
  import { Order, PaymentMethod, StripePayment, WireTransfer, AdyenPayment, BraintreePayment, CheckoutComPayment, ExternalPayment, PaypalPayment, KlarnaPayment } from '@commercelayer/sdk';
10
10
  import { Dispatch, MutableRefObject } from 'react';
11
11
  import { CheckoutComConfig } from '../components/payment_source/CheckoutComPayment';
12
+ import { ExternalPaymentConfig } from '../components/payment_source/ExternalPayment';
13
+ import { ResourceKeys } from '../utils/getPaymentAttributes';
12
14
  export type PaymentSourceType = AdyenPayment | BraintreePayment | CheckoutComPayment | ExternalPayment | PaypalPayment | StripePayment | WireTransfer;
13
15
  interface Card {
14
16
  type: string;
@@ -135,16 +137,17 @@ export type DestroyPaymentSource = (args: {
135
137
  }) => Promise<void>;
136
138
  export declare const destroyPaymentSource: DestroyPaymentSource;
137
139
  export interface PaymentMethodConfig {
138
- stripePayment?: StripeConfig;
139
- braintreePayment?: BraintreeConfig;
140
- wireTransfer?: Partial<WireTransferConfig>;
141
- paypalPayment?: PaypalConfig;
142
140
  adyenPayment?: AdyenPaymentConfig;
141
+ braintreePayment?: BraintreeConfig;
143
142
  checkoutComPayment?: CheckoutComConfig;
143
+ externalPayment?: ExternalPaymentConfig;
144
144
  klarnaPayment?: Pick<AdyenPaymentConfig, 'placeOrderCallback'> & Pick<StripeConfig, 'containerClassName'>;
145
+ paypalPayment?: PaypalConfig;
146
+ stripePayment?: StripeConfig;
147
+ wireTransfer?: Partial<WireTransferConfig>;
145
148
  }
146
149
  type SetPaymentMethodConfig = (config: PaymentMethodConfig, dispatch: Dispatch<PaymentMethodAction>) => void;
147
150
  export declare const setPaymentMethodConfig: SetPaymentMethodConfig;
148
- export declare function getPaymentConfig<K extends PaymentResourceKey>(paymentResource: PaymentResource, config: PaymentMethodConfig): PaymentMethodConfig[K];
151
+ export declare function getPaymentConfig<R extends PaymentResource = PaymentResource, K extends PaymentMethodConfig = PaymentMethodConfig>(paymentResource: R, config: K): Pick<K, ResourceKeys<R>>;
149
152
  declare const paymentMethodReducer: (state: PaymentMethodState, reducer: PaymentMethodAction) => PaymentMethodState;
150
153
  export default paymentMethodReducer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPaymentConfig=exports.setPaymentMethodConfig=exports.destroyPaymentSource=exports.updatePaymentSource=exports.setPaymentSource=exports.setPaymentMethod=exports.getPaymentMethods=exports.setPaymentMethodErrors=exports.paymentMethodInitialState=exports.setPaymentRef=exports.setLoading=void 0;const tslib_1=require("tslib"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),getErrors_1=tslib_1.__importStar(require("../utils/getErrors")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk")),camelCase_1=tslib_1.__importDefault(require("lodash/camelCase")),has_1=tslib_1.__importDefault(require("lodash/has")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty"));function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}exports.setLoading=setLoading;const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})};exports.setPaymentRef=setPaymentRef,exports.paymentMethodInitialState={errors:[],paymentMethods:void 0};const setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})};exports.setPaymentMethodErrors=setPaymentMethodErrors;const getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})};exports.getPaymentMethods=getPaymentMethods;const setPaymentMethod=async({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource})=>{try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:(0,getSdk_1.default)(config).payment_methods.relationship(paymentMethodId)};updateOrder&&await updateOrder({id:order.id,attributes}),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",paymentResource);console.error("Set payment method",errors)}};exports.setPaymentMethod=setPaymentMethod;const setPaymentSource=async({config,dispatch,getOrder,attributes,order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors})=>{try{if(config&&order){let paymentSource;const sdk=(0,getSdk_1.default)(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=attributes!=null?await sdk[paymentResource].update(attrs):sdk[paymentResource].retrieve(paymentSourceId)}else{const attrs={...attributes,order:sdk.orders.relationship(order.id)};paymentSource=await sdk[paymentResource].create(attrs)}return getOrder&&await getOrder(order.id),dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource,errors:[]}}),paymentSource}}}catch(error){const errors=(0,getErrors_1.default)(error,"payment_methods",paymentResource);console.error("Set payment source:",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors,newErrors:errors,dispatch})}};exports.setPaymentSource=setPaymentSource;const updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await(0,getSdk_1.default)(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}};exports.updatePaymentSource=updatePaymentSource;const destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})};exports.destroyPaymentSource=destroyPaymentSource;const setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};exports.setPaymentMethodConfig=setPaymentMethodConfig;function getPaymentConfig(paymentResource,config){const resource=(0,camelCase_1.default)(paymentResource).replace("Payments","Payment").replace("Transfers","Transfer");return!(0,isEmpty_1.default)(config)&&(0,has_1.default)(config,resource)?config[resource]:void 0}exports.getPaymentConfig=getPaymentConfig;const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,type);exports.default=paymentMethodReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPaymentConfig=exports.setPaymentMethodConfig=exports.destroyPaymentSource=exports.updatePaymentSource=exports.setPaymentSource=exports.setPaymentMethod=exports.getPaymentMethods=exports.setPaymentMethodErrors=exports.paymentMethodInitialState=exports.setPaymentRef=exports.setLoading=void 0;const tslib_1=require("tslib"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),getErrors_1=tslib_1.__importStar(require("../utils/getErrors")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk")),snakeToCamelCase_1=require("../utils/snakeToCamelCase"),replace_1=require("../utils/replace"),pick_1=require("../utils/pick");function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}exports.setLoading=setLoading;const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})};exports.setPaymentRef=setPaymentRef,exports.paymentMethodInitialState={errors:[],paymentMethods:void 0};const setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})};exports.setPaymentMethodErrors=setPaymentMethodErrors;const getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})};exports.getPaymentMethods=getPaymentMethods;const setPaymentMethod=async({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource})=>{try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:(0,getSdk_1.default)(config).payment_methods.relationship(paymentMethodId)};updateOrder&&await updateOrder({id:order.id,attributes}),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",paymentResource);console.error("Set payment method",errors)}};exports.setPaymentMethod=setPaymentMethod;const setPaymentSource=async({config,dispatch,getOrder,attributes,order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors})=>{try{if(config&&order){let paymentSource;const sdk=(0,getSdk_1.default)(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=attributes!=null?await sdk[paymentResource].update(attrs):sdk[paymentResource].retrieve(paymentSourceId)}else{const attrs={...attributes,order:sdk.orders.relationship(order.id)};paymentSource=await sdk[paymentResource].create(attrs)}return getOrder&&await getOrder(order.id),dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource,errors:[]}}),paymentSource}}}catch(error){const errors=(0,getErrors_1.default)(error,"payment_methods",paymentResource);console.error("Set payment source:",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors,newErrors:errors,dispatch})}};exports.setPaymentSource=setPaymentSource;const updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await(0,getSdk_1.default)(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}};exports.updatePaymentSource=updatePaymentSource;const destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})};exports.destroyPaymentSource=destroyPaymentSource;const setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};exports.setPaymentMethodConfig=setPaymentMethodConfig;function getPaymentConfig(paymentResource,config){const resourceKeys=(0,replace_1.replace)((0,replace_1.replace)(paymentResource,"payments","payment"),"transfers","transfer"),resource=(0,snakeToCamelCase_1.snakeToCamelCase)(resourceKeys);return(0,pick_1.pick)(config,[resource])}exports.getPaymentConfig=getPaymentConfig;const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,type);exports.default=paymentMethodReducer;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface Props<T> {
3
2
  children: JSX.Element | JSX.Element[];
4
3
  filterBy: T[];
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { LoaderType } from '../typings/index';
3
2
  export default function getLoaderComponent(Loader: LoaderType): JSX.Element;
@@ -0,0 +1,15 @@
1
+ import type { PaypalConfig } from '../components/payment_source/PaypalPayment';
2
+ import { type PaymentMethodConfig, type PaymentResource } from '../reducers/PaymentMethodReducer';
3
+ import { ExternalPayment } from '@commercelayer/sdk';
4
+ import { StringReplace } from './replace';
5
+ import { SnakeToCamelCase } from './snakeToCamelCase';
6
+ interface Params<R extends PaymentResource, C extends PaymentMethodConfig> {
7
+ resource: R;
8
+ config: C;
9
+ keys: R[];
10
+ }
11
+ export type ResourceKeys<K extends PaymentResource> = SnakeToCamelCase<StringReplace<StringReplace<K, 'payments', 'payment'>, 'transfers', 'transfer'>>;
12
+ export declare function getPaymentAttributes<R extends PaymentResource = PaymentResource, C extends PaymentMethodConfig = PaymentMethodConfig>(params: Params<R, C>): Pick<C, ResourceKeys<R>> | undefined;
13
+ export declare function getPaypalAttributes(paymentResource: PaymentResource, config: PaymentMethodConfig): Pick<PaypalConfig, 'return_url' | 'cancel_url'> | undefined;
14
+ export declare function getExternalPaymentAttributes(paymentResource: PaymentResource, config: PaymentMethodConfig): Pick<ExternalPayment, 'payment_source_token'> | undefined;
15
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getExternalPaymentAttributes=exports.getPaypalAttributes=exports.getPaymentAttributes=void 0;const PaymentMethodReducer_1=require("../reducers/PaymentMethodReducer"),pick_1=require("./pick"),replace_1=require("./replace"),snakeToCamelCase_1=require("./snakeToCamelCase");function getPaymentAttributes(params){const{resource,config,keys}=params,attributes=(0,PaymentMethodReducer_1.getPaymentConfig)(resource,config),keysCamelCase=keys.map(key=>{const k=(0,replace_1.replace)((0,replace_1.replace)(key,"payments","payment"),"transfers","transfer");return(0,snakeToCamelCase_1.snakeToCamelCase)(k)}),currentResource=(0,snakeToCamelCase_1.snakeToCamelCase)((0,replace_1.replace)((0,replace_1.replace)(resource,"payments","payment"),"transfers","transfer"));return attributes!=null&&currentResource in attributes?(0,pick_1.pick)(attributes,keysCamelCase):void 0}exports.getPaymentAttributes=getPaymentAttributes;function getPaypalAttributes(paymentResource,config){const attributes=getPaymentAttributes({resource:paymentResource,config,keys:["paypal_payments"]});return attributes?.paypalPayment!=null&&"paypalPayment"in attributes?(0,pick_1.pick)(attributes?.paypalPayment,["return_url","cancel_url"]):void 0}exports.getPaypalAttributes=getPaypalAttributes;function getExternalPaymentAttributes(paymentResource,config){const attributes=getPaymentAttributes({resource:paymentResource,config,keys:["external_payments"]});return attributes?.externalPayment!=null&&"externalPayment"in attributes?(0,pick_1.pick)(attributes?.externalPayment,["payment_source_token"]):void 0}exports.getExternalPaymentAttributes=getExternalPaymentAttributes;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Price } from '@commercelayer/sdk';
3
2
  import { PTemplateProps } from '../components/utils/PriceTemplate';
4
3
  export declare function getPriceByCode(skuPrices: Price[], code?: string): Price | undefined;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  export declare const sortDescIcon: JSX.Element;
3
2
  export declare const sortAscIcon: JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function pick<T, K extends keyof T>(object: T, keys: K[]): Pick<T, K>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pick=void 0;function pick(object,keys){const result={};for(const key of keys)result[key]=object[key];return result}exports.pick=pick;
@@ -0,0 +1,2 @@
1
+ export type StringReplace<TString extends string, TToReplace extends string, TReplacement extends string> = TString extends `${infer TPrefix}${TToReplace}${infer TSuffix}` ? `${TPrefix}${TReplacement}${StringReplace<TSuffix, TToReplace, TReplacement>}` : TString;
2
+ export declare function replace<V extends string, R extends string, P extends string>(value: V, replace: R, replacement: P): StringReplace<V, R, P>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.replace=void 0;function replace(value,replace2,replacement){return value.replace(replace2,replacement)}exports.replace=replace;
@@ -0,0 +1,5 @@
1
+ export type SnakeToCamelCase<S extends string> = S extends `${infer T}_${infer U}` ? `${Lowercase<T>}${Capitalize<SnakeToCamelCase<U>>}` : S;
2
+ export type SnakeToCamelCaseNested<T> = T extends object ? {
3
+ [K in keyof T as SnakeToCamelCase<K & string>]: SnakeToCamelCaseNested<T[K]>;
4
+ } : T;
5
+ export declare function snakeToCamelCase<S extends string>(value: S): SnakeToCamelCase<S>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.snakeToCamelCase=void 0;function snakeToCamelCase(value){const words=value.toLowerCase().split("_"),first=words[0]??"",firstLetter=words[1]?.[0]?.toUpperCase()??"",second=words[1]?.substring(1)??"";return`${first}${firstLetter}${second}`}exports.snakeToCamelCase=snakeToCamelCase;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps } from '../typings/index';
3
2
  type Props = BaseInputComponentProps & JSX.IntrinsicElements['input'] & JSX.IntrinsicElements['textarea'];
4
3
  export declare function MetadataInput(props: Props): JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { Address as AddressType } from '@commercelayer/sdk';
3
2
  import { AddressCardsTemplateChildren } from '../utils/AddressCardsTemplate';
4
3
  interface Props extends Omit<JSX.IntrinsicElements['div'], 'children' | 'onSelect'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { AddressCountrySelectName, BaseSelectComponentProps } from '../../typings/index';
3
2
  import { AddressValuesKeys } from '../../context/BillingAddressFormContext';
4
3
  type Props = Omit<BaseSelectComponentProps, 'options' | 'name'> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps, AddressInputName } from '../../typings/index';
3
2
  import { AddressValuesKeys } from '../../context/BillingAddressFormContext';
4
3
  type Props = {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { AddressStateSelectName, BaseSelectComponentProps } from '../../typings/index';
3
2
  type Props = Omit<BaseSelectComponentProps, 'options' | 'name'> & {
4
3
  name: AddressStateSelectName;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  interface Props extends Omit<JSX.IntrinsicElements['span'], 'children'> {
4
3
  /**
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface Props {
3
2
  children: JSX.Element[] | JSX.Element;
4
3
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface Props {
3
2
  children: JSX.Element[] | JSX.Element;
4
3
  accessToken: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ConditionalElement } from '../../typings/index';
3
2
  import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
3
  type StockTransferFieldChildrenProps = TGenericChildrenProps<TResources['Customer']>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps } from '../../typings/index';
3
2
  type Props = {
4
3
  name?: 'customer_email' | string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { ErrorComponentProps } from '../../typings/errors';
3
2
  type Props = ErrorComponentProps & Omit<JSX.IntrinsicElements['span'], 'children'>;
4
3
  export declare function Errors(props: Props): JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseState } from '../../typings/index';
3
2
  interface Props extends Omit<JSX.IntrinsicElements['form'], 'children'> {
4
3
  children: JSX.Element[] | JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseSelectComponentProps } from '../../typings/index';
3
2
  type Props = Omit<BaseSelectComponentProps, 'options' | 'name'> & {
4
3
  required?: boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps, GiftCardInputName } from '../../typings/index';
3
2
  type Props = {
4
3
  name: GiftCardInputName;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  import type { CodeType } from '../../reducers/OrderReducer';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps } from '../../typings/index';
3
2
  import { OrderCodeType } from '../../reducers/OrderReducer';
4
3
  type Props = {
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ChildrenFunction } from '../../typings/index';
3
3
  import { CodeType, OrderCodeType } from '../../reducers/OrderReducer';
4
- interface ChildrenProps extends Omit<Props, 'children'> {
4
+ interface ChildrenProps extends Omit<Props, 'children' | 'onClick'> {
5
5
  codeType?: OrderCodeType;
6
6
  hide?: boolean;
7
7
  handleClick?: () => void;
@@ -13,6 +13,6 @@ type Props = {
13
13
  onClick?: (response: {
14
14
  success: boolean;
15
15
  }) => void;
16
- } & Omit<JSX.IntrinsicElements['button'], 'type'>;
16
+ } & Omit<JSX.IntrinsicElements['button'], 'type' | 'onClick'>;
17
17
  export declare function GiftCardOrCouponRemoveButton(props: Props): JSX.Element | null;
18
18
  export default GiftCardOrCouponRemoveButton;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";import{has,isEmpty}from"lodash";export function GiftCardOrCouponRemoveButton(props){const{children,label="Remove",onClick,type,...p}=props,{order,removeGiftCardOrCouponCode}=useContext(OrderContext);let codeType=type?`${type}_code`:void 0;!type&&order&&has(order,"coupon_code")&&!isEmpty(order.coupon_code)?codeType="coupon_code":type||(codeType="gift_card_code");const code=order&&codeType?order[codeType]:"",hide=!(order&&code),handleClick=async()=>{const response=removeGiftCardOrCouponCode&&codeType&&await removeGiftCardOrCouponCode({codeType});onClick&&response&&onClick(response)},parentProps={...p,label,handleClick,codeType};return children?_jsx(Parent,{...parentProps,children}):hide?null:_jsx("button",{type:"button",onClick:()=>{handleClick()},...p,children:label})}export default GiftCardOrCouponRemoveButton;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";export function GiftCardOrCouponRemoveButton(props){const{children,label="Remove",onClick,type,...p}=props,{order,removeGiftCardOrCouponCode}=useContext(OrderContext);let codeType=type?`${type}_code`:void 0;!type&&order&&"coupon_code"in order&&order.coupon_code!=null?codeType="coupon_code":type||(codeType="gift_card_code");const code=order&&codeType?order[codeType]:"",hide=!(order&&code),handleClick=async()=>{const response=removeGiftCardOrCouponCode&&codeType&&await removeGiftCardOrCouponCode({codeType});onClick&&response&&onClick(response)},parentProps={...p,label,handleClick,codeType};return children?_jsx(Parent,{...parentProps,children}):hide?null:_jsx("button",{type:"button",onClick:()=>{handleClick()},...p,children:label})}export default GiftCardOrCouponRemoveButton;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LineItemType } from '../../typings/index';
3
2
  interface Props {
4
3
  children: JSX.Element | JSX.Element[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent, BasePriceType } from '../../typings/index';
3
2
  type Props = BaseAmountComponent & {
4
3
  type?: BasePriceType;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LineItem } from '@commercelayer/sdk';
3
2
  import { ChildrenFunction } from '../../typings/index';
4
3
  export interface TLineItemCode extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ConditionalElement } from '../../typings/index';
3
2
  import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
3
  type LineItemFieldChildrenProps = TGenericChildrenProps<TResources['LineItem']>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LineItem } from '@commercelayer/sdk';
3
2
  import { ChildrenFunction, LineItemType } from '../../typings/index';
4
3
  export interface TLineItemImage extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { LineItem } from '@commercelayer/sdk';
3
2
  import { ChildrenFunction } from '../../typings/index';
4
3
  export interface TLineItemName extends Omit<Props, 'children'> {