@commercelayer/react-components 4.1.2 → 4.2.1-beta.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 (277) hide show
  1. package/lib/cjs/components/MetadataInput.d.ts +0 -1
  2. package/lib/cjs/components/addresses/Address.d.ts +2 -2
  3. package/lib/cjs/components/addresses/AddressCountrySelector.d.ts +5 -5
  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 +2 -2
  8. package/lib/cjs/components/auth/CommerceLayer.d.ts +2 -2
  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 +28 -3
  12. package/lib/cjs/components/gift_cards/GiftCard.d.ts +2 -2
  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 +2 -3
  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 +3 -3
  24. package/lib/cjs/components/line_items/LineItemName.d.ts +0 -1
  25. package/lib/cjs/components/line_items/LineItemsContainer.d.ts +3 -3
  26. package/lib/cjs/components/line_items/LineItemsContainer.js +1 -1
  27. package/lib/cjs/components/line_items/LineItemsCount.d.ts +0 -1
  28. package/lib/cjs/components/line_items/LineItemsEmpty.d.ts +0 -1
  29. package/lib/cjs/components/orders/AdjustmentAmount.d.ts +0 -1
  30. package/lib/cjs/components/orders/CheckoutLink.d.ts +0 -1
  31. package/lib/cjs/components/orders/DiscountAmount.d.ts +0 -1
  32. package/lib/cjs/components/orders/GiftCardAmount.d.ts +0 -1
  33. package/lib/cjs/components/orders/OrderContainer.d.ts +2 -2
  34. package/lib/cjs/components/orders/OrderList.d.ts +2 -2
  35. package/lib/cjs/components/orders/OrderListEmpty.d.ts +0 -1
  36. package/lib/cjs/components/orders/OrderListPaginationButtons.d.ts +0 -1
  37. package/lib/cjs/components/orders/OrderListPaginationInfo.d.ts +0 -1
  38. package/lib/cjs/components/orders/OrderListRow.d.ts +0 -1
  39. package/lib/cjs/components/orders/OrderNumber.d.ts +0 -1
  40. package/lib/cjs/components/orders/PaymentMethodAmount.d.ts +0 -1
  41. package/lib/cjs/components/orders/PlaceOrderButton.js +1 -1
  42. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -1
  43. package/lib/cjs/components/orders/ShippingAmount.d.ts +0 -1
  44. package/lib/cjs/components/orders/SubTotalAmount.d.ts +0 -1
  45. package/lib/cjs/components/orders/TaxesAmount.d.ts +0 -1
  46. package/lib/cjs/components/orders/TotalAmount.d.ts +0 -1
  47. package/lib/cjs/components/parcels/ParcelField.d.ts +0 -1
  48. package/lib/cjs/components/parcels/ParcelLineItem.d.ts +2 -2
  49. package/lib/cjs/components/parcels/ParcelLineItemField.d.ts +0 -1
  50. package/lib/cjs/components/parcels/ParcelLineItemsCount.d.ts +0 -1
  51. package/lib/cjs/components/parcels/Parcels.d.ts +0 -1
  52. package/lib/cjs/components/parcels/ParcelsCount.d.ts +0 -1
  53. package/lib/cjs/components/payment_gateways/AdyenGateway.d.ts +0 -1
  54. package/lib/cjs/components/payment_gateways/AdyenGateway.js +1 -1
  55. package/lib/cjs/components/payment_gateways/BraintreeGateway.d.ts +0 -1
  56. package/lib/cjs/components/payment_gateways/BraintreeGateway.js +1 -1
  57. package/lib/cjs/components/payment_gateways/CheckoutComGateway.d.ts +0 -1
  58. package/lib/cjs/components/payment_gateways/ExternalGateway.d.ts +4 -0
  59. package/lib/cjs/components/payment_gateways/ExternalGateway.js +1 -1
  60. package/lib/cjs/components/payment_gateways/KlarnaGateway.d.ts +0 -1
  61. package/lib/cjs/components/payment_gateways/PaymentGateway.d.ts +0 -1
  62. package/lib/cjs/components/payment_gateways/PaymentGateway.js +1 -1
  63. package/lib/cjs/components/payment_gateways/PaypalGateway.d.ts +0 -1
  64. package/lib/cjs/components/payment_gateways/PaypalGateway.js +1 -1
  65. package/lib/cjs/components/payment_gateways/StripeGateway.d.ts +0 -1
  66. package/lib/cjs/components/payment_gateways/WireTransferGateway.d.ts +0 -1
  67. package/lib/cjs/components/payment_methods/PaymentMethod.d.ts +7 -6
  68. package/lib/cjs/components/payment_methods/PaymentMethod.js +1 -1
  69. package/lib/cjs/components/payment_methods/PaymentMethodName.d.ts +0 -1
  70. package/lib/cjs/components/payment_methods/PaymentMethodName.js +1 -1
  71. package/lib/cjs/components/payment_methods/PaymentMethodPrice.d.ts +0 -1
  72. package/lib/cjs/components/payment_source/BraintreePayment.d.ts +5 -6
  73. package/lib/cjs/components/payment_source/BraintreePayment.js +1 -1
  74. package/lib/cjs/components/payment_source/CheckoutComPayment.d.ts +0 -1
  75. package/lib/cjs/components/payment_source/ExternalPayment.d.ts +23 -0
  76. package/lib/cjs/components/payment_source/ExternalPayment.js +1 -0
  77. package/lib/cjs/components/payment_source/KlarnaPayment.d.ts +0 -1
  78. package/lib/cjs/components/payment_source/PaymentSource.d.ts +0 -1
  79. package/lib/cjs/components/payment_source/PaymentSourceBrandIcon.d.ts +0 -1
  80. package/lib/cjs/components/payment_source/PaymentSourceBrandName.d.ts +0 -1
  81. package/lib/cjs/components/payment_source/PaymentSourceDetail.d.ts +0 -1
  82. package/lib/cjs/components/payment_source/StripePayment.d.ts +2 -3
  83. package/lib/cjs/components/payment_source/StripePayment.js +1 -1
  84. package/lib/cjs/components/payment_source/WireTransferPayment.d.ts +3 -4
  85. package/lib/cjs/components/payment_source/WireTransferPayment.js +1 -1
  86. package/lib/cjs/components/prices/Price.d.ts +0 -1
  87. package/lib/cjs/components/prices/PricesContainer.d.ts +0 -1
  88. package/lib/cjs/components/shipments/Shipment.js +1 -1
  89. package/lib/cjs/components/shipments/ShipmentField.d.ts +0 -1
  90. package/lib/cjs/components/shipments/ShipmentsCount.d.ts +0 -1
  91. package/lib/cjs/components/shipping_methods/ShippingMethodName.d.ts +0 -1
  92. package/lib/cjs/components/shipping_methods/ShippingMethodPrice.d.ts +0 -1
  93. package/lib/cjs/components/shipping_methods/ShippingMethodRadioButton.d.ts +0 -1
  94. package/lib/cjs/components/skus/AvailabilityTemplate.d.ts +0 -1
  95. package/lib/cjs/components/skus/DeliveryLeadTime.d.ts +0 -1
  96. package/lib/cjs/components/skus/SkuField.d.ts +0 -1
  97. package/lib/cjs/components/stock_transfers/StockTransfer.d.ts +2 -2
  98. package/lib/cjs/components/stock_transfers/StockTransferField.d.ts +0 -1
  99. package/lib/cjs/components/utils/AddressCardsTemplate.d.ts +0 -1
  100. package/lib/cjs/components/utils/BaseInput.d.ts +1 -1
  101. package/lib/cjs/components/utils/BaseOrderPrice.d.ts +0 -1
  102. package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +0 -1
  103. package/lib/cjs/components/utils/PriceTemplate.d.ts +0 -1
  104. package/lib/cjs/components/utils/getAllErrors.d.ts +3 -3
  105. package/lib/cjs/index.d.ts +1 -2
  106. package/lib/cjs/index.js +1 -1
  107. package/lib/cjs/reducers/AddressReducer.d.ts +4 -3
  108. package/lib/cjs/reducers/OrderReducer.js +1 -1
  109. package/lib/cjs/reducers/PaymentMethodReducer.d.ts +8 -5
  110. package/lib/cjs/reducers/PaymentMethodReducer.js +1 -1
  111. package/lib/cjs/typings/errors.d.ts +2 -42
  112. package/lib/cjs/typings/errors.js +1 -1
  113. package/lib/cjs/typings/globals.d.ts +1 -0
  114. package/lib/cjs/typings/globals.js +1 -0
  115. package/lib/cjs/typings/index.d.ts +5 -14
  116. package/lib/cjs/typings/index.js +1 -1
  117. package/lib/cjs/utils/filterChildren.d.ts +3 -3
  118. package/lib/cjs/utils/filterChildren.js +1 -1
  119. package/lib/cjs/utils/getErrors.d.ts +3 -2
  120. package/lib/cjs/utils/getLineItemsCount.d.ts +2 -2
  121. package/lib/cjs/utils/getLoaderComponent.d.ts +1 -2
  122. package/lib/cjs/utils/getLoaderComponent.js +1 -1
  123. package/lib/cjs/utils/getPaymentAttributes.d.ts +15 -0
  124. package/lib/cjs/utils/getPaymentAttributes.js +1 -0
  125. package/lib/cjs/utils/getPrices.d.ts +0 -1
  126. package/lib/cjs/utils/icons.d.ts +0 -1
  127. package/lib/cjs/utils/pick.d.ts +1 -0
  128. package/lib/cjs/utils/pick.js +1 -0
  129. package/lib/cjs/utils/replace.d.ts +2 -0
  130. package/lib/cjs/utils/replace.js +1 -0
  131. package/lib/cjs/utils/snakeToCamelCase.d.ts +5 -0
  132. package/lib/cjs/utils/snakeToCamelCase.js +1 -0
  133. package/lib/cjs/utils/validateFormFields.d.ts +4 -3
  134. package/lib/esm/components/MetadataInput.d.ts +0 -1
  135. package/lib/esm/components/addresses/Address.d.ts +2 -2
  136. package/lib/esm/components/addresses/AddressCountrySelector.d.ts +5 -5
  137. package/lib/esm/components/addresses/AddressInput.d.ts +0 -1
  138. package/lib/esm/components/addresses/AddressStateSelector.d.ts +0 -1
  139. package/lib/esm/components/addresses/AddressesEmpty.d.ts +0 -1
  140. package/lib/esm/components/addresses/ShippingAddressContainer.d.ts +2 -2
  141. package/lib/esm/components/auth/CommerceLayer.d.ts +2 -2
  142. package/lib/esm/components/customers/CustomerField.d.ts +0 -1
  143. package/lib/esm/components/customers/CustomerInput.d.ts +0 -1
  144. package/lib/esm/components/errors/Errors.d.ts +28 -3
  145. package/lib/esm/components/gift_cards/GiftCard.d.ts +2 -2
  146. package/lib/esm/components/gift_cards/GiftCardCurrencySelector.d.ts +0 -1
  147. package/lib/esm/components/gift_cards/GiftCardInput.d.ts +0 -1
  148. package/lib/esm/components/gift_cards/GiftCardOrCouponCode.d.ts +0 -1
  149. package/lib/esm/components/gift_cards/GiftCardOrCouponInput.d.ts +0 -1
  150. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +2 -2
  151. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -1
  152. package/lib/esm/components/line_items/LineItem.d.ts +2 -3
  153. package/lib/esm/components/line_items/LineItemAmount.d.ts +0 -1
  154. package/lib/esm/components/line_items/LineItemCode.d.ts +0 -1
  155. package/lib/esm/components/line_items/LineItemField.d.ts +0 -1
  156. package/lib/esm/components/line_items/LineItemImage.d.ts +3 -3
  157. package/lib/esm/components/line_items/LineItemName.d.ts +0 -1
  158. package/lib/esm/components/line_items/LineItemsContainer.d.ts +3 -3
  159. package/lib/esm/components/line_items/LineItemsContainer.js +1 -1
  160. package/lib/esm/components/line_items/LineItemsCount.d.ts +0 -1
  161. package/lib/esm/components/line_items/LineItemsEmpty.d.ts +0 -1
  162. package/lib/esm/components/orders/AdjustmentAmount.d.ts +0 -1
  163. package/lib/esm/components/orders/CheckoutLink.d.ts +0 -1
  164. package/lib/esm/components/orders/DiscountAmount.d.ts +0 -1
  165. package/lib/esm/components/orders/GiftCardAmount.d.ts +0 -1
  166. package/lib/esm/components/orders/OrderContainer.d.ts +2 -2
  167. package/lib/esm/components/orders/OrderList.d.ts +2 -2
  168. package/lib/esm/components/orders/OrderListEmpty.d.ts +0 -1
  169. package/lib/esm/components/orders/OrderListPaginationButtons.d.ts +0 -1
  170. package/lib/esm/components/orders/OrderListPaginationInfo.d.ts +0 -1
  171. package/lib/esm/components/orders/OrderListRow.d.ts +0 -1
  172. package/lib/esm/components/orders/OrderNumber.d.ts +0 -1
  173. package/lib/esm/components/orders/PaymentMethodAmount.d.ts +0 -1
  174. package/lib/esm/components/orders/PlaceOrderButton.js +1 -1
  175. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -1
  176. package/lib/esm/components/orders/ShippingAmount.d.ts +0 -1
  177. package/lib/esm/components/orders/SubTotalAmount.d.ts +0 -1
  178. package/lib/esm/components/orders/TaxesAmount.d.ts +0 -1
  179. package/lib/esm/components/orders/TotalAmount.d.ts +0 -1
  180. package/lib/esm/components/parcels/ParcelField.d.ts +0 -1
  181. package/lib/esm/components/parcels/ParcelLineItem.d.ts +2 -2
  182. package/lib/esm/components/parcels/ParcelLineItemField.d.ts +0 -1
  183. package/lib/esm/components/parcels/ParcelLineItemsCount.d.ts +0 -1
  184. package/lib/esm/components/parcels/Parcels.d.ts +0 -1
  185. package/lib/esm/components/parcels/ParcelsCount.d.ts +0 -1
  186. package/lib/esm/components/payment_gateways/AdyenGateway.d.ts +0 -1
  187. package/lib/esm/components/payment_gateways/AdyenGateway.js +1 -1
  188. package/lib/esm/components/payment_gateways/BraintreeGateway.d.ts +0 -1
  189. package/lib/esm/components/payment_gateways/BraintreeGateway.js +1 -1
  190. package/lib/esm/components/payment_gateways/CheckoutComGateway.d.ts +0 -1
  191. package/lib/esm/components/payment_gateways/ExternalGateway.d.ts +4 -0
  192. package/lib/esm/components/payment_gateways/ExternalGateway.js +1 -1
  193. package/lib/esm/components/payment_gateways/KlarnaGateway.d.ts +0 -1
  194. package/lib/esm/components/payment_gateways/PaymentGateway.d.ts +0 -1
  195. package/lib/esm/components/payment_gateways/PaymentGateway.js +1 -1
  196. package/lib/esm/components/payment_gateways/PaypalGateway.d.ts +0 -1
  197. package/lib/esm/components/payment_gateways/PaypalGateway.js +1 -1
  198. package/lib/esm/components/payment_gateways/StripeGateway.d.ts +0 -1
  199. package/lib/esm/components/payment_gateways/WireTransferGateway.d.ts +0 -1
  200. package/lib/esm/components/payment_methods/PaymentMethod.d.ts +7 -6
  201. package/lib/esm/components/payment_methods/PaymentMethod.js +1 -1
  202. package/lib/esm/components/payment_methods/PaymentMethodName.d.ts +0 -1
  203. package/lib/esm/components/payment_methods/PaymentMethodName.js +1 -1
  204. package/lib/esm/components/payment_methods/PaymentMethodPrice.d.ts +0 -1
  205. package/lib/esm/components/payment_source/BraintreePayment.d.ts +5 -6
  206. package/lib/esm/components/payment_source/BraintreePayment.js +1 -1
  207. package/lib/esm/components/payment_source/CheckoutComPayment.d.ts +0 -1
  208. package/lib/esm/components/payment_source/ExternalPayment.d.ts +23 -0
  209. package/lib/esm/components/payment_source/ExternalPayment.js +1 -0
  210. package/lib/esm/components/payment_source/KlarnaPayment.d.ts +0 -1
  211. package/lib/esm/components/payment_source/PaymentSource.d.ts +0 -1
  212. package/lib/esm/components/payment_source/PaymentSourceBrandIcon.d.ts +0 -1
  213. package/lib/esm/components/payment_source/PaymentSourceBrandName.d.ts +0 -1
  214. package/lib/esm/components/payment_source/PaymentSourceDetail.d.ts +0 -1
  215. package/lib/esm/components/payment_source/StripePayment.d.ts +2 -3
  216. package/lib/esm/components/payment_source/StripePayment.js +1 -1
  217. package/lib/esm/components/payment_source/WireTransferPayment.d.ts +3 -4
  218. package/lib/esm/components/payment_source/WireTransferPayment.js +1 -1
  219. package/lib/esm/components/prices/Price.d.ts +0 -1
  220. package/lib/esm/components/prices/PricesContainer.d.ts +0 -1
  221. package/lib/esm/components/shipments/Shipment.js +1 -1
  222. package/lib/esm/components/shipments/ShipmentField.d.ts +0 -1
  223. package/lib/esm/components/shipments/ShipmentsCount.d.ts +0 -1
  224. package/lib/esm/components/shipping_methods/ShippingMethodName.d.ts +0 -1
  225. package/lib/esm/components/shipping_methods/ShippingMethodPrice.d.ts +0 -1
  226. package/lib/esm/components/shipping_methods/ShippingMethodRadioButton.d.ts +0 -1
  227. package/lib/esm/components/skus/AvailabilityTemplate.d.ts +0 -1
  228. package/lib/esm/components/skus/DeliveryLeadTime.d.ts +0 -1
  229. package/lib/esm/components/skus/SkuField.d.ts +0 -1
  230. package/lib/esm/components/stock_transfers/StockTransfer.d.ts +2 -2
  231. package/lib/esm/components/stock_transfers/StockTransferField.d.ts +0 -1
  232. package/lib/esm/components/utils/AddressCardsTemplate.d.ts +0 -1
  233. package/lib/esm/components/utils/BaseInput.d.ts +1 -1
  234. package/lib/esm/components/utils/BaseOrderPrice.d.ts +0 -1
  235. package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +0 -1
  236. package/lib/esm/components/utils/PriceTemplate.d.ts +0 -1
  237. package/lib/esm/components/utils/getAllErrors.d.ts +3 -3
  238. package/lib/esm/index.d.ts +1 -2
  239. package/lib/esm/index.js +1 -1
  240. package/lib/esm/reducers/AddressReducer.d.ts +4 -3
  241. package/lib/esm/reducers/OrderReducer.js +1 -1
  242. package/lib/esm/reducers/PaymentMethodReducer.d.ts +8 -5
  243. package/lib/esm/reducers/PaymentMethodReducer.js +1 -1
  244. package/lib/esm/typings/errors.d.ts +2 -42
  245. package/lib/esm/typings/errors.js +1 -1
  246. package/lib/esm/typings/globals.d.ts +1 -0
  247. package/lib/esm/typings/globals.js +1 -0
  248. package/lib/esm/typings/index.d.ts +5 -14
  249. package/lib/esm/typings/index.js +1 -1
  250. package/lib/esm/utils/filterChildren.d.ts +3 -3
  251. package/lib/esm/utils/filterChildren.js +1 -1
  252. package/lib/esm/utils/getErrors.d.ts +3 -2
  253. package/lib/esm/utils/getLineItemsCount.d.ts +2 -2
  254. package/lib/esm/utils/getLoaderComponent.d.ts +1 -2
  255. package/lib/esm/utils/getLoaderComponent.js +1 -1
  256. package/lib/esm/utils/getPaymentAttributes.d.ts +15 -0
  257. package/lib/esm/utils/getPaymentAttributes.js +1 -0
  258. package/lib/esm/utils/getPrices.d.ts +0 -1
  259. package/lib/esm/utils/icons.d.ts +0 -1
  260. package/lib/esm/utils/pick.d.ts +1 -0
  261. package/lib/esm/utils/pick.js +1 -0
  262. package/lib/esm/utils/replace.d.ts +2 -0
  263. package/lib/esm/utils/replace.js +1 -0
  264. package/lib/esm/utils/snakeToCamelCase.d.ts +5 -0
  265. package/lib/esm/utils/snakeToCamelCase.js +1 -0
  266. package/lib/esm/utils/validateFormFields.d.ts +4 -3
  267. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  268. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  269. package/package.json +23 -24
  270. package/lib/cjs/components/gift_cards/GiftCardRecipient.d.ts +0 -0
  271. package/lib/cjs/components/gift_cards/GiftCardRecipient.js +0 -1
  272. package/lib/cjs/utils/paypalPayment.d.ts +0 -3
  273. package/lib/cjs/utils/paypalPayment.js +0 -1
  274. package/lib/esm/components/gift_cards/GiftCardRecipient.d.ts +0 -0
  275. package/lib/esm/components/gift_cards/GiftCardRecipient.js +0 -1
  276. package/lib/esm/utils/paypalPayment.d.ts +0 -3
  277. package/lib/esm/utils/paypalPayment.js +0 -1
@@ -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'> {
@@ -1,8 +1,8 @@
1
- import { ReactNode } from 'react';
1
+ import type { DefaultChildrenType } from '../../typings/globals';
2
2
  interface Props {
3
- children: ReactNode;
3
+ children: DefaultChildrenType;
4
4
  filters?: Record<string, any>;
5
- loader?: ReactNode;
5
+ loader?: JSX.Element;
6
6
  }
7
7
  export declare function LineItemsContainer(props: Props): JSX.Element;
8
8
  export default LineItemsContainer;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext}from"react";import lineItemReducer,{lineItemInitialState,updateLineItem,deleteLineItem}from"../../reducers/LineItemReducer";import OrderContext from"../../context/OrderContext";import LineItemContext from"../../context/LineItemContext";import CommerceLayerContext from"../../context/CommerceLayerContext";export function LineItemsContainer(props){const{children,loader="Loading..."}=props,{order,addResourceToInclude,include,orderId,getOrder,includeLoaded}=useContext(OrderContext),config=useContext(CommerceLayerContext),[state,dispatch]=useReducer(lineItemReducer,lineItemInitialState);useEffect(()=>{include?.includes("line_items.line_item_options.sku_option")?includeLoaded?.["line_items.line_item_options.sku_option"]||addResourceToInclude({newResourceLoaded:{"line_items.line_item_options.sku_option":!0}}):addResourceToInclude({newResource:["line_items.line_item_options.sku_option"]}),include?.includes("line_items.item")?includeLoaded?.["line_items.item"]||addResourceToInclude({newResourceLoaded:{"line_items.item":!0}}):addResourceToInclude({newResource:["line_items.item"]})},[include,includeLoaded]),useEffect(()=>{order?.line_items&&dispatch({type:"setLineItems",payload:{lineItems:order.line_items}})},[order?.line_items]);const lineItemValue={...state,loader,updateLineItem:(lineItemId,quantity=1)=>updateLineItem({lineItemId,quantity,dispatch,config,getOrder,orderId,errors:state.errors}),deleteLineItem:lineItemId=>deleteLineItem({lineItemId,dispatch,config,getOrder,orderId,errors:state.errors})};return _jsx(LineItemContext.Provider,{value:lineItemValue,children:state.loading?loader:children})}export default LineItemsContainer;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext}from"react";import lineItemReducer,{lineItemInitialState,updateLineItem,deleteLineItem}from"../../reducers/LineItemReducer";import OrderContext from"../../context/OrderContext";import LineItemContext from"../../context/LineItemContext";import CommerceLayerContext from"../../context/CommerceLayerContext";export function LineItemsContainer(props){const{children,loader="Loading..."}=props,{order,addResourceToInclude,include,orderId,getOrder,includeLoaded}=useContext(OrderContext),config=useContext(CommerceLayerContext),[state,dispatch]=useReducer(lineItemReducer,lineItemInitialState);useEffect(()=>{include?.includes("line_items.line_item_options.sku_option")?includeLoaded?.["line_items.line_item_options.sku_option"]||addResourceToInclude({newResourceLoaded:{"line_items.line_item_options.sku_option":!0}}):addResourceToInclude({newResource:["line_items.line_item_options.sku_option"]}),include?.includes("line_items.item")?includeLoaded?.["line_items.item"]||addResourceToInclude({newResourceLoaded:{"line_items.item":!0}}):addResourceToInclude({newResource:["line_items.item"]})},[include,includeLoaded]),useEffect(()=>{order?.line_items&&dispatch({type:"setLineItems",payload:{lineItems:order.line_items}})},[order?.line_items]);const lineItemValue={...state,loader,updateLineItem:async(lineItemId,quantity=1)=>await updateLineItem({lineItemId,quantity,dispatch,config,getOrder,orderId,errors:state.errors}),deleteLineItem:async lineItemId=>await deleteLineItem({lineItemId,dispatch,config,getOrder,orderId,errors:state.errors})};return _jsx(LineItemContext.Provider,{value:lineItemValue,children:state.loading?loader:children})}export default LineItemsContainer;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { type TypeAccepted } from '../../utils/getLineItemsCount';
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 { ChildrenFunction } from '../../typings/index';
3
2
  interface ChildrenProps extends Omit<Props, 'children'> {
4
3
  quantity: number;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  export declare function AdjustmentAmount(props: BaseAmountComponent): JSX.Element;
4
3
  export default AdjustmentAmount;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  interface ChildrenProps extends Omit<Props, 'children'> {
4
3
  checkoutUrl: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  export declare function DiscountAmount(props: BaseAmountComponent): JSX.Element;
4
3
  export default DiscountAmount;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  export declare function GiftCardAmount(props: BaseAmountComponent): JSX.Element;
4
3
  export default GiftCardAmount;
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
1
  import { BaseMetadataObject } from '../../typings/index';
3
2
  import type { OrderCreate, Order } from '@commercelayer/sdk';
3
+ import type { DefaultChildrenType } from '../../typings/globals';
4
4
  interface Props {
5
- children: JSX.Element[] | JSX.Element;
5
+ children: DefaultChildrenType;
6
6
  /**
7
7
  * Metadata to add when creates a new order
8
8
  */
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { InitialOrderListContext } from '../../context/OrderListChildrenContext';
3
2
  import { Column } from 'react-table';
4
3
  import type { Order } from '@commercelayer/sdk';
4
+ import type { DefaultChildrenType } from '../../typings/globals';
5
5
  export type OrderListColumn = Column & {
6
6
  Header: string;
7
7
  accessor: keyof Order;
@@ -31,7 +31,7 @@ type PaginationProps = {
31
31
  pageSize?: never;
32
32
  };
33
33
  type Props = {
34
- children: JSX.Element[] | JSX.Element;
34
+ children: DefaultChildrenType;
35
35
  /**
36
36
  * Columns to show
37
37
  */
@@ -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
  import { type OrderListPaginationContext as TOrderListPaginationContext } from '../../context/OrderListPaginationContext';
3
2
  import { ChildrenFunction } from '../../typings/index';
4
3
  interface PaginationButton extends Omit<JSX.IntrinsicElements['button'], 'children' | 'disabled'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  type TAsComponent = keyof Pick<JSX.IntrinsicElements, 'p' | 'span' | 'div'>;
4
3
  type ChildrenProps<A extends TAsComponent> = Omit<Props<A>, 'children'> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { Cell, Row } from 'react-table';
3
2
  import type { Order } from '@commercelayer/sdk';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseFieldProps } from '../utils/BaseField';
3
2
  type Props = Omit<BaseFieldProps, 'attribute'>;
4
3
  export declare function OrderNumber(props: Props): JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  export declare function PaymentMethodAmount(props: BaseAmountComponent): JSX.Element;
4
3
  export default PaymentMethodAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import Parent from"../utils/Parent";import PlaceOrderContext from"../../context/PlaceOrderContext";import isFunction from"lodash/isFunction";import PaymentMethodContext from"../../context/PaymentMethodContext";import OrderContext from"../../context/OrderContext";import getCardDetails from"../../utils/getCardDetails";export function PlaceOrderButton(props){const ref=useRef(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=useContext(PlaceOrderContext),[notPermitted,setNotPermitted]=useState(!0),[forceDisable,setForceDisable]=useState(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource,setPaymentMethodErrors}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),isFree=order?.total_amount_with_taxes_cents===0;useEffect(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=getCardDetails({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]),useEffect(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),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]),useEffect(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),useEffect(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&getCardDetails({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?_jsx(Parent,{...parentProps,children}):_jsx("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:isFunction(label)?label():label})}export default PlaceOrderButton;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import Parent from"../utils/Parent";import PlaceOrderContext from"../../context/PlaceOrderContext";import isFunction from"lodash/isFunction";import PaymentMethodContext from"../../context/PaymentMethodContext";import OrderContext from"../../context/OrderContext";import getCardDetails from"../../utils/getCardDetails";export function PlaceOrderButton(props){const ref=useRef(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=useContext(PlaceOrderContext),[notPermitted,setNotPermitted]=useState(!0),[forceDisable,setForceDisable]=useState(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource,setPaymentMethodErrors}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),isFree=order?.total_amount_with_taxes_cents===0;useEffect(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=getCardDetails({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]),useEffect(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),useEffect(()=>{if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&order?.status&&["draft","pending"].includes(order?.status)&&paymentSource!=null){const attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult}},_details:1};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]),useEffect(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),useEffect(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const checkPaymentSource=await setPaymentSource({paymentResource:paymentType,paymentSourceId:paymentSource?.id}),card=paymentType&&getCardDetails({paymentType,customerPayment:{payment_source:checkPaymentSource}});currentPaymentMethodRef?.current?.onsubmit&&[!options?.paypalPayerId,!options?.adyen?.MD,!options?.checkoutCom?.session_id].every(Boolean)?(isValid=await currentPaymentMethodRef.current?.onsubmit(checkPaymentSource),!isValid&&checkPaymentSource.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0);const placed=isValid&&setPlaceOrder&&(checkPaymentSource||isFree)&&await setPlaceOrder({paymentSource:checkPaymentSource});setForceDisable(!1),onClick&&placed&&onClick(placed)},disabledButton=disabled!==void 0?disabled:notPermitted,parentProps={...p,label,disabled:disabledButton,handleClick,ref};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:isFunction(label)?label():label})}export default PlaceOrderButton;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputProps } from '../utils/BaseInput';
3
2
  export declare function PrivacyAndTermsCheckbox(props: Partial<BaseInputProps>): JSX.Element;
4
3
  export default PrivacyAndTermsCheckbox;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  export declare function ShippingAmount(props: BaseAmountComponent): JSX.Element;
4
3
  export default ShippingAmount;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  export declare function SubTotalAmount(props: BaseAmountComponent): JSX.Element;
4
3
  export default SubTotalAmount;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  export declare function TaxesAmount(props: BaseAmountComponent): JSX.Element;
4
3
  export default TaxesAmount;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  export declare function TotalAmount(props: BaseAmountComponent): JSX.Element;
4
3
  export default TotalAmount;
@@ -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 ParcelFieldChildrenProps = TGenericChildrenProps<TResources['Parcel']>;
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
1
+ import type { DefaultChildrenType } from '../../typings/globals';
2
2
  interface Props {
3
- children: JSX.Element[] | JSX.Element;
3
+ children: DefaultChildrenType;
4
4
  }
5
5
  export declare function ParcelLineItem({ children }: Props): JSX.Element;
6
6
  export default ParcelLineItem;
@@ -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 ParcelLineItemFieldChildrenProps = TGenericChildrenProps<TResources['ParcelLineItem']>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  import type { Parcel } from '@commercelayer/sdk';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface Props {
3
2
  children: JSX.Element | JSX.Element[];
4
3
  filterBy?: string[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  import type { Parcel } from '@commercelayer/sdk';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GatewayBaseType } from '../payment_gateways/PaymentGateway';
3
2
  type Props = GatewayBaseType;
4
3
  export declare function AdyenGateway(props: Props): JSX.Element | null;
@@ -1 +1 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import CommerceLayerContext from"../../context/CommerceLayerContext";import CustomerContext from"../../context/CustomerContext";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import{getPaymentConfig}from"../../reducers/PaymentMethodReducer";import isEmpty from"lodash/isEmpty";import{useContext}from"react";import AdyenPayment from"../payment_source/AdyenPayment";import PaymentCardsTemplate from"../utils/PaymentCardsTemplate";import jwt from"../../utils/jwt";import getCardDetails from"../../utils/getCardDetails";export function AdyenGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=useContext(OrderContext),{accessToken}=useContext(CommerceLayerContext),{payment}=useContext(PaymentMethodChildrenContext),{payments,isGuest}=useContext(CustomerContext),{currentPaymentMethodId,config,paymentSource}=useContext(PaymentMethodContext),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&&jwt(accessToken).test?"test":"live",adyenConfig=config?getPaymentConfig(paymentResource,config):{},customerPayments=!isEmpty(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type==="adyen_payments"):[];if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}return!isGuest&&templateCustomerCards?clientKey&&!loading&&paymentMethods?_jsxs(_Fragment,{children:[isEmpty(customerPayments)?null:_jsx("div",{className:p.className,children:_jsx(PaymentCardsTemplate,{paymentResource,customerPayments,children:templateCustomerCards})}),_jsx(AdyenPayment,{templateCustomerSaveToWallet,clientKey,locale,environment,config:adyenConfig})]}):loaderComponent:clientKey&&!loading&&paymentMethods?_jsx(AdyenPayment,{clientKey,locale,config:adyenConfig,environment}):loaderComponent}export default AdyenGateway;
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import CommerceLayerContext from"../../context/CommerceLayerContext";import CustomerContext from"../../context/CustomerContext";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import isEmpty from"lodash/isEmpty";import{useContext}from"react";import AdyenPayment from"../payment_source/AdyenPayment";import PaymentCardsTemplate from"../utils/PaymentCardsTemplate";import jwt from"../../utils/jwt";import getCardDetails from"../../utils/getCardDetails";import{getPaymentAttributes}from"../../utils/getPaymentAttributes";export function AdyenGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=useContext(OrderContext),{accessToken}=useContext(CommerceLayerContext),{payment}=useContext(PaymentMethodChildrenContext),{payments,isGuest}=useContext(CustomerContext),{currentPaymentMethodId,config,paymentSource}=useContext(PaymentMethodContext),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&&jwt(accessToken).test?"test":"live",paymentConfig=getPaymentAttributes({resource:paymentResource,config:config??{},keys:["adyen_payments"]})?.adyenPayment,customerPayments=!isEmpty(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type==="adyen_payments"):[];if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}return!isGuest&&templateCustomerCards?clientKey&&!loading&&paymentMethods?_jsxs(_Fragment,{children:[isEmpty(customerPayments)?null:_jsx("div",{className:p.className,children:_jsx(PaymentCardsTemplate,{paymentResource,customerPayments,children:templateCustomerCards})}),_jsx(AdyenPayment,{templateCustomerSaveToWallet,clientKey,locale,environment,config:paymentConfig})]}):loaderComponent:clientKey&&!loading&&paymentMethods?_jsx(AdyenPayment,{clientKey,locale,config:paymentConfig,environment}):loaderComponent}export default AdyenGateway;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GatewayBaseType } from '../payment_gateways/PaymentGateway';
3
2
  type Props = GatewayBaseType;
4
3
  export declare function BraintreeGateway(props: Props): JSX.Element | null;
@@ -1 +1 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import BraintreePayment from"../payment_source/BraintreePayment";import CustomerContext from"../../context/CustomerContext";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import{getPaymentConfig}from"../../reducers/PaymentMethodReducer";import getCardDetails from"../../utils/getCardDetails";import isEmpty from"lodash/isEmpty";import{useContext}from"react";import PaymentCardsTemplate from"../utils/PaymentCardsTemplate";export function BraintreeGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=useContext(OrderContext),{payment}=useContext(PaymentMethodChildrenContext),{payments,isGuest}=useContext(CustomerContext),{currentPaymentMethodId,config,paymentSource}=useContext(PaymentMethodContext),paymentResource="braintree_payments",locale=order?.language_code;if(!readonly&&payment?.id!==currentPaymentMethodId)return null;const authorization=paymentSource?.client_token,braintreeConfig=config?getPaymentConfig(paymentResource,config):{},customerPayments=!isEmpty(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type==="braintree_payments"):[];if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}return!isGuest&&templateCustomerCards?authorization&&!loading?_jsxs(_Fragment,{children:[isEmpty(customerPayments)?null:_jsx("div",{className:p.className,children:_jsx(PaymentCardsTemplate,{paymentResource,customerPayments,children:templateCustomerCards})}),_jsx(BraintreePayment,{templateCustomerSaveToWallet,authorization,locale,config:braintreeConfig})]}):loaderComponent:authorization&&!loading?_jsx(BraintreePayment,{locale,authorization,config:braintreeConfig}):loaderComponent}export default BraintreeGateway;
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import BraintreePayment from"../payment_source/BraintreePayment";import CustomerContext from"../../context/CustomerContext";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import getCardDetails from"../../utils/getCardDetails";import isEmpty from"lodash/isEmpty";import{useContext}from"react";import PaymentCardsTemplate from"../utils/PaymentCardsTemplate";import{getPaymentAttributes}from"../../utils/getPaymentAttributes";export function BraintreeGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=useContext(OrderContext),{payment}=useContext(PaymentMethodChildrenContext),{payments,isGuest}=useContext(CustomerContext),{currentPaymentMethodId,config,paymentSource}=useContext(PaymentMethodContext),paymentResource="braintree_payments",locale=order?.language_code;if(!readonly&&payment?.id!==currentPaymentMethodId)return null;const authorization=paymentSource?.client_token,paymentConfig=getPaymentAttributes({resource:paymentResource,config:config??{},keys:["braintree_payments"]})?.braintreePayment,customerPayments=!isEmpty(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type==="braintree_payments"):[];if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}return!isGuest&&templateCustomerCards?authorization&&!loading?_jsxs(_Fragment,{children:[isEmpty(customerPayments)?null:_jsx("div",{className:p.className,children:_jsx(PaymentCardsTemplate,{paymentResource,customerPayments,children:templateCustomerCards})}),_jsx(BraintreePayment,{templateCustomerSaveToWallet,authorization,locale,config:paymentConfig})]}):loaderComponent:authorization&&!loading?_jsx(BraintreePayment,{locale,authorization,config:paymentConfig}):loaderComponent}export default BraintreeGateway;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GatewayBaseType } from '../payment_gateways/PaymentGateway';
3
2
  type Props = GatewayBaseType;
4
3
  export declare function CheckoutComGateway(props: Props): JSX.Element | null;
@@ -0,0 +1,4 @@
1
+ import { GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
+ type Props = GatewayBaseType;
3
+ export declare function ExternalGateway(props: Props): JSX.Element | null;
4
+ export default ExternalGateway;
@@ -1 +1 @@
1
- "use strict";
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import ExternalPayment from"../payment_source/ExternalPayment";import CustomerContext from"../../context/CustomerContext";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import{getPaymentConfig}from"../../reducers/PaymentMethodReducer";import getCardDetails from"../../utils/getCardDetails";import isEmpty from"lodash/isEmpty";import React from"react";import PaymentCardsTemplate from"../utils/PaymentCardsTemplate";export function ExternalGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,show,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=React.useContext(OrderContext),{payment}=React.useContext(PaymentMethodChildrenContext),{payments,isGuest}=React.useContext(CustomerContext),{currentPaymentMethodId,config,paymentSource}=React.useContext(PaymentMethodContext),paymentResource="external_payments",locale=order?.language_code;if(!readonly&&payment?.id!==currentPaymentMethodId)return null;const paymentSourceToken=paymentSource?.payment_source_token,paymentSourceId=order?.payment_source?.id||paymentSource?.id,paymentConfig=(config?getPaymentConfig(paymentResource,config):{})?.externalPayment,customerPayments=!isEmpty(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type===paymentResource):[];if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}return!isGuest&&templateCustomerCards?_jsxs(_Fragment,{children:[isEmpty(customerPayments)?null:_jsx("div",{className:p.className,children:_jsx(PaymentCardsTemplate,{paymentResource,customerPayments,children:templateCustomerCards})}),_jsx(ExternalPayment,{show,templateCustomerSaveToWallet,paymentSourceToken,locale,...paymentConfig})]}):paymentSourceToken&&!loading&&paymentSourceId?_jsx(ExternalPayment,{show,paymentSourceToken,locale,...paymentConfig}):loaderComponent}export default ExternalGateway;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GatewayBaseType } from '../payment_gateways/PaymentGateway';
3
2
  type Props = GatewayBaseType;
4
3
  export declare function KlarnaGateway(props: Props): JSX.Element | null;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LoaderType } from '../../typings/index';
3
2
  import { PaymentSourceProps } from '../payment_source/PaymentSource';
4
3
  export type GatewayBaseType = Props & {
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import getPaypalConfig from"../../utils/paypalPayment";import{useContext,useEffect,useState}from"react";import getLoaderComponent from"../../utils/getLoaderComponent";import AdyenGateway from"./AdyenGateway";import StripeGateway from"./StripeGateway";import BraintreeGateway from"./BraintreeGateway";import PaypalGateway from"./PaypalGateway";import WireTransferGateway from"./WireTransferGateway";import CustomerContext from"../../context/CustomerContext";import CheckoutComGateway from"./CheckoutComGateway";import KlarnaGateway from"./KlarnaGateway";export function PaymentGateway({readonly,showCard,handleEditClick,children,templateCustomerCards,templateCustomerSaveToWallet,onClickCustomerCards,show,loader="Loading...",...p}){const loaderComponent=getLoaderComponent(loader),[loading,setLoading]=useState(!0),{payment}=useContext(PaymentMethodChildrenContext),{order}=useContext(OrderContext),{getCustomerPaymentSources}=useContext(CustomerContext),{currentPaymentMethodId,config,currentPaymentMethodType,setPaymentSource,paymentSource}=useContext(PaymentMethodContext),paymentResource=readonly?currentPaymentMethodType:payment?.payment_source_type;useEffect(()=>{if(payment?.id===currentPaymentMethodId&&paymentResource&&order?.payment_method?.payment_source_type===paymentResource){const attributes=config&&paymentResource==="paypal_payments"?getPaypalConfig(paymentResource,config):{},setPaymentSources=async()=>{await setPaymentSource({paymentResource,order,attributes}),getCustomerPaymentSources&&getCustomerPaymentSources()};(!paymentSource&&order?.payment_method.id&&show||!paymentSource||paymentSource.type!==paymentResource)&&setPaymentSources(),paymentSource?.mismatched_amounts&&show&&setPaymentSources(),setLoading(!1)}return()=>{setLoading(!0)}},[order?.payment_method?.id,show,paymentSource]);const gatewayConfig={readonly,showCard,handleEditClick,children,templateCustomerCards,show,loading,onClickCustomerCards,loaderComponent,templateCustomerSaveToWallet,...p};switch(paymentResource){case"stripe_payments":return _jsx(StripeGateway,{...gatewayConfig,children});case"klarna_payments":return _jsx(KlarnaGateway,{...gatewayConfig,children});case"adyen_payments":return _jsx(AdyenGateway,{...gatewayConfig,children});case"braintree_payments":return _jsx(BraintreeGateway,{...gatewayConfig,children});case"wire_transfers":return _jsx(WireTransferGateway,{...gatewayConfig,children});case"paypal_payments":return _jsx(PaypalGateway,{...gatewayConfig,children});case"checkout_com_payments":return _jsx(CheckoutComGateway,{...gatewayConfig,children});default:return null}}export default PaymentGateway;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import{useContext,useEffect,useState}from"react";import getLoaderComponent from"../../utils/getLoaderComponent";import AdyenGateway from"./AdyenGateway";import StripeGateway from"./StripeGateway";import BraintreeGateway from"./BraintreeGateway";import PaypalGateway from"./PaypalGateway";import WireTransferGateway from"./WireTransferGateway";import CustomerContext from"../../context/CustomerContext";import CheckoutComGateway from"./CheckoutComGateway";import KlarnaGateway from"./KlarnaGateway";import{getExternalPaymentAttributes,getPaypalAttributes}from"../../utils/getPaymentAttributes";import ExternalGateway from"./ExternalGateway";export function PaymentGateway({readonly,showCard,handleEditClick,children,templateCustomerCards,templateCustomerSaveToWallet,onClickCustomerCards,show,loader="Loading...",...p}){const loaderComponent=getLoaderComponent(loader),[loading,setLoading]=useState(!0),{payment}=useContext(PaymentMethodChildrenContext),{order}=useContext(OrderContext),{getCustomerPaymentSources}=useContext(CustomerContext),{currentPaymentMethodId,config,currentPaymentMethodType,setPaymentSource,paymentSource}=useContext(PaymentMethodContext),paymentResource=readonly?currentPaymentMethodType:payment?.payment_source_type;useEffect(()=>{if(payment?.id===currentPaymentMethodId&&paymentResource&&order?.payment_method?.payment_source_type===paymentResource){let attributes={};config!=null&&paymentResource==="paypal_payments"&&(attributes=getPaypalAttributes(paymentResource,config)),config!=null&&paymentResource==="external_payments"&&(attributes=getExternalPaymentAttributes(paymentResource,config));const setPaymentSources=async()=>{await setPaymentSource({paymentResource,order,attributes}),getCustomerPaymentSources&&getCustomerPaymentSources()};(!paymentSource&&order?.payment_method.id&&show||(!paymentSource||paymentSource.type!==paymentResource)&&show)&&setPaymentSources(),paymentSource?.mismatched_amounts&&show&&setPaymentSources(),setLoading(!1)}return()=>{setLoading(!0)}},[order?.payment_method?.id,show,paymentSource]);const gatewayConfig={readonly,showCard,handleEditClick,children,templateCustomerCards,show,loading,onClickCustomerCards,loaderComponent,templateCustomerSaveToWallet,...p};switch(paymentResource){case"adyen_payments":return _jsx(AdyenGateway,{...gatewayConfig,children});case"braintree_payments":return _jsx(BraintreeGateway,{...gatewayConfig,children});case"checkout_com_payments":return _jsx(CheckoutComGateway,{...gatewayConfig,children});case"external_payments":return _jsx(ExternalGateway,{...gatewayConfig,children});case"klarna_payments":return _jsx(KlarnaGateway,{...gatewayConfig,children});case"stripe_payments":return _jsx(StripeGateway,{...gatewayConfig,children});case"wire_transfers":return _jsx(WireTransferGateway,{...gatewayConfig,children});case"paypal_payments":return _jsx(PaypalGateway,{...gatewayConfig,children});default:return null}}export default PaymentGateway;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GatewayBaseType } from '../payment_gateways/PaymentGateway';
3
2
  type Props = Partial<GatewayBaseType>;
4
3
  export declare function PaypalGateway(props: Props): JSX.Element | null;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import PaypalPayment from"../payment_source/PaypalPayment";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import{getPaymentConfig}from"../../reducers/PaymentMethodReducer";import getCardDetails from"../../utils/getCardDetails";import isEmpty from"lodash/isEmpty";import{useContext}from"react";export function PaypalGateway(props){const{readonly,showCard,handleEditClick,children,...p}=props,{order}=useContext(OrderContext),{payment}=useContext(PaymentMethodChildrenContext),{currentPaymentMethodId,config,paymentSource}=useContext(PaymentMethodContext),paymentResource="paypal_payments";if(!readonly&&payment?.id!==currentPaymentMethodId)return null;if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:order?.payment_source||paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}const paypalConfig=config&&getPaymentConfig(paymentResource,config);return delete p.show,delete p.templateCustomerCards,delete p.templateCustomerSaveToWallet,delete p.loading,delete p.loaderComponent,delete p.onClickCustomerCards,_jsx(PaypalPayment,{...p,infoMessage:paypalConfig?.infoMessage})}export default PaypalGateway;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import PaypalPayment from"../payment_source/PaypalPayment";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import getCardDetails from"../../utils/getCardDetails";import{getPaymentAttributes}from"../../utils/getPaymentAttributes";import isEmpty from"lodash/isEmpty";import{useContext}from"react";export function PaypalGateway(props){const{readonly,showCard,handleEditClick,children,...p}=props,{order}=useContext(OrderContext),{payment}=useContext(PaymentMethodChildrenContext),{currentPaymentMethodId,config,paymentSource}=useContext(PaymentMethodContext),paymentResource="paypal_payments";if(!readonly&&payment?.id!==currentPaymentMethodId)return null;if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:order?.payment_source||paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}const infoMessage=getPaymentAttributes({resource:paymentResource,config:config??{},keys:["paypal_payments"]})?.paypalPayment?.infoMessage;return delete p.show,delete p.templateCustomerCards,delete p.templateCustomerSaveToWallet,delete p.loading,delete p.loaderComponent,delete p.onClickCustomerCards,_jsx(PaypalPayment,{...p,infoMessage})}export default PaypalGateway;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GatewayBaseType } from '../payment_gateways/PaymentGateway';
3
2
  type Props = GatewayBaseType;
4
3
  export declare function StripeGateway(props: Props): JSX.Element | null;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GatewayBaseType } from '../payment_gateways/PaymentGateway';
3
2
  type Props = GatewayBaseType;
4
3
  export declare function WireTransferGateway(props: Props): JSX.Element | null;
@@ -1,21 +1,22 @@
1
- import { ReactNode } from 'react';
2
1
  import { LoaderType } from '../../typings/index';
3
2
  import { PaymentMethod as PaymentMethodType } from '@commercelayer/sdk';
4
3
  import { PaymentResource } from '../../reducers/PaymentMethodReducer';
4
+ import type { DefaultChildrenType } from '../../typings/globals';
5
5
  type Props = {
6
6
  /**
7
- * Hide payment methods by an array of strings
7
+ * Hide payment methods by an array of strings or a function that returns a boolean
8
8
  */
9
- hide?: PaymentResource[];
10
- children: ReactNode;
9
+ hide?: PaymentResource[] | ((payment: PaymentMethodType) => boolean);
10
+ children: DefaultChildrenType;
11
11
  activeClass?: string;
12
12
  loader?: LoaderType;
13
- } & Omit<JSX.IntrinsicElements['div'], 'onClick'> & ({
13
+ autoSelectSinglePaymentMethod?: boolean | (() => void);
14
+ } & Omit<JSX.IntrinsicElements['div'], 'onClick' | 'children'> & ({
14
15
  clickableContainer: true;
15
16
  onClick?: (payment?: PaymentMethodType | Record<string, any>) => void;
16
17
  } | {
17
18
  clickableContainer?: never;
18
19
  onClick?: never;
19
20
  });
20
- export declare function PaymentMethod({ children, className, activeClass, loader, clickableContainer, hide, onClick, ...p }: Props): JSX.Element;
21
+ export declare function PaymentMethod({ children, className, activeClass, loader, clickableContainer, autoSelectSinglePaymentMethod, hide, onClick, ...p }: Props): JSX.Element;
21
22
  export default PaymentMethod;
@@ -1 +1 @@
1
- import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useState,useEffect}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import getLoaderComponent from"../../utils/getLoaderComponent";import useCustomContext from"../../utils/hooks/useCustomContext";export function PaymentMethod({children,className,activeClass,loader="Loading...",clickableContainer,hide,onClick,...p}){const[loading,setLoading]=useState(!0),[paymentSelected,setPaymentSelected]=useState(""),{paymentMethods,currentPaymentMethodId,setPaymentMethod,setLoading:setLoadingPlaceOrder}=useCustomContext({context:PaymentMethodContext,contextComponentName:"PaymentMethodsContainer",currentComponentName:"PaymentMethod",key:"paymentMethods"});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 _jsx("div",{"data-test-id":paymentResource,className:`${className??""} ${isActive&&activeClass!=null?activeClass:""}`,onClick:onClickable,...p,children:_jsx(PaymentMethodChildrenContext.Provider,{value:paymentMethodProps,children})},k)});return loading?getLoaderComponent(loader):_jsx(_Fragment,{children:components})}export default PaymentMethod;
1
+ import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useState,useEffect,useContext}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import getLoaderComponent from"../../utils/getLoaderComponent";import useCustomContext from"../../utils/hooks/useCustomContext";import OrderContext from"../../context/OrderContext";import CustomerContext from"../../context/CustomerContext";import{getExternalPaymentAttributes,getPaypalAttributes}from"../../utils/getPaymentAttributes";export function PaymentMethod({children,className,activeClass,loader="Loading...",clickableContainer,autoSelectSinglePaymentMethod,hide,onClick,...p}){const[loading,setLoading]=useState(!0),[paymentSelected,setPaymentSelected]=useState(""),{paymentMethods,currentPaymentMethodId,setPaymentMethod,setLoading:setLoadingPlaceOrder,paymentSource,setPaymentSource,config}=useCustomContext({context:PaymentMethodContext,contextComponentName:"PaymentMethodsContainer",currentComponentName:"PaymentMethod",key:"paymentMethods"}),{order}=useContext(OrderContext),{getCustomerPaymentSources}=useContext(CustomerContext);useEffect(()=>{paymentMethods!=null&&autoSelectSinglePaymentMethod!=null&&(async()=>{if(paymentMethods.length===1){const[paymentMethod]=paymentMethods??[];if(paymentMethod&&!paymentSource){setLoadingPlaceOrder({loading:!0}),setPaymentSelected(paymentMethod.id);const paymentMethodId=paymentMethod?.id,paymentResource=paymentMethod?.payment_source_type;await setPaymentMethod({paymentResource,paymentMethodId});let attributes={};config!=null&&paymentResource==="paypal_payments"&&(attributes=getPaypalAttributes(paymentResource,config)),config!=null&&paymentResource==="external_payments"&&(attributes=getExternalPaymentAttributes(paymentResource,config));const ps=await setPaymentSource({paymentResource,order,attributes});ps&&paymentMethod&&onClick!=null&&(onClick({payment:paymentMethod,paymentSource:ps}),setTimeout(()=>{setLoading(!1)},200)),getCustomerPaymentSources&&await getCustomerPaymentSources(),setLoadingPlaceOrder({loading:!1})}typeof autoSelectSinglePaymentMethod=="function"&&autoSelectSinglePaymentMethod()}else setTimeout(()=>{setLoading(!1)},200)})()},[paymentMethods]),useEffect(()=>(paymentMethods&&(paymentMethods.length===1&&autoSelectSinglePaymentMethod?paymentSource&&setTimeout(()=>{setLoading(!1)},200):setLoading(!1)),currentPaymentMethodId&&setPaymentSelected(currentPaymentMethodId),()=>{setLoading(!0)}),[paymentMethods,currentPaymentMethodId]);const components=paymentMethods?.filter(payment=>{if(Array.isArray(hide)){const source=payment?.payment_source_type;return!hide?.includes(source)}else if(typeof hide=="function")return hide(payment);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 _jsx("div",{"data-test-id":paymentResource,className:`${className??""} ${isActive&&activeClass!=null?activeClass:""}`,onClick:onClickable,...p,children:_jsx(PaymentMethodChildrenContext.Provider,{value:paymentMethodProps,children})},k)});return loading?getLoaderComponent(loader):_jsx(_Fragment,{children:components})}export default PaymentMethod;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  interface ChildrenProps extends Omit<Props, 'children'> {
4
3
  labelName: string;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import Parent from"../utils/Parent";import useCustomContext from"../../utils/hooks/useCustomContext";export function PaymentMethodName(props){const{payment}=useCustomContext({context:PaymentMethodChildrenContext,contextComponentName:"PaymentMethod",currentComponentName:"PaymentMethodName",key:"payment"}),labelName=payment?.name,htmlFor=payment?.payment_source_type,parentProps={htmlFor,labelName,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("label",{htmlFor,...props,children:labelName})}export default PaymentMethodName;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import Parent from"../utils/Parent";import useCustomContext from"../../utils/hooks/useCustomContext";export function PaymentMethodName(props){const{payment}=useCustomContext({context:PaymentMethodChildrenContext,contextComponentName:"PaymentMethod",currentComponentName:"PaymentMethodName",key:"payment"}),labelName=payment?.name,htmlFor=payment?.payment_source_type,paymentGateway=payment?.payment_gateway,parentProps={htmlFor,labelName,paymentGateway,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("label",{htmlFor,...props,children:labelName})}export default PaymentMethodName;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  interface Props extends BaseAmountComponent {
4
3
  type?: 'amount';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { HostedFieldFieldOptions } from 'braintree-web/modules/hosted-fields';
3
2
  import { PaymentSourceProps } from './PaymentSource';
4
3
  type BraintreeHostedFields<Type> = {
@@ -6,7 +5,7 @@ type BraintreeHostedFields<Type> = {
6
5
  label?: string;
7
6
  } & Type[Property];
8
7
  };
9
- export type BraintreeConfig = {
8
+ export interface BraintreeConfig {
10
9
  containerClassName?: string;
11
10
  cardContainerClassName?: string;
12
11
  expDateContainerClassName?: string;
@@ -19,12 +18,12 @@ export type BraintreeConfig = {
19
18
  styles?: {
20
19
  [key: string]: Record<string, string>;
21
20
  };
22
- };
23
- type Props = {
21
+ }
22
+ interface Props {
24
23
  authorization: string;
25
24
  config?: BraintreeConfig;
26
25
  templateCustomerSaveToWallet?: PaymentSourceProps['templateCustomerSaveToWallet'];
27
26
  locale?: string;
28
- };
29
- export declare function BraintreePayment({ authorization, config, templateCustomerSaveToWallet, }: Props): JSX.Element | null;
27
+ }
28
+ export declare function BraintreePayment({ authorization, config, templateCustomerSaveToWallet }: Props): JSX.Element | null;
30
29
  export default BraintreePayment;
@@ -1 +1 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import isEmpty from"lodash/isEmpty";import OrderContext from"../../context/OrderContext";import Parent from"../utils/Parent";import{setCustomerOrderParam}from"../../utils/localStorage";import promisify from"../../utils/promisify";const defaultConfig={styles:{input:{"font-size":"16px",color:"#3A3A3A"},".number":{"font-family":"monospace"},":focus":{color:"blue"},".valid":{color:"green"},".invalid":{color:"red"},"@media screen and (max-width: 700px)":{input:{"font-size":"14px"}}},fields:{number:{label:"Card Number",selector:"#card-number",placeholder:"4111 1111 1111 1111"},cvv:{label:"CVV",selector:"#cvv",placeholder:"123"},expirationDate:{label:"Expiration Date",selector:"#expiration-date",placeholder:"10/2022"}},submitLabel:"Set payment method"};export function BraintreePayment({authorization,config,templateCustomerSaveToWallet}){const{fields,styles,containerClassName,cardContainerClassName,fieldsContainerClassName,expDateContainerClassName,fieldLabelClassName,cvvContainerClassName,inputWrapperClassName,cardDetailsContainerClassName}={...defaultConfig,...config},[loadBraintree,setLoadBraintree]=useState(!1),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),ref=useRef(null),handleSubmitForm=async({event,hostedFieldsInstance,threeDSInstance})=>{const savePaymentSourceToCustomerWallet=event?.elements?.save_payment_source_to_customer_wallet?.checked;if(savePaymentSourceToCustomerWallet&&setCustomerOrderParam("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),hostedFieldsInstance)try{const payload=await promisify(hostedFieldsInstance).then(payload2=>payload2),billingAddress=order?.billing_address,verifyCardOptions={nonce:payload.nonce,bin:payload.details.bin,amount:order?.total_amount_with_taxes_float,email:order?.customer_email,billingAddress:{givenName:billingAddress?.first_name,surname:billingAddress?.last_name,phoneNumber:billingAddress?.phone,streetAddress:billingAddress?.line_1,countryCodeAlpha2:billingAddress?.country_code,postalCode:billingAddress?.zip_code,region:billingAddress?.state_code,locality:billingAddress?.city},onLookupComplete:(_data,next)=>{next()}},response=await threeDSInstance.verifyCard(verifyCardOptions);return response.rawCardinalSDKVerificationData.Validated&&paymentSource?(paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"braintree_payments",attributes:{payment_method_nonce:response.nonce,options:{id:response.nonce,card:{last4:response.details.lastFour,exp_year:response.details.expirationYear,exp_month:response.details.expirationMonth,brand:response.details.cardType.toLowerCase()}}}}),!0):!1}catch(error){return console.error(error),setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1}return!1};return useEffect(()=>{if(!ref&&authorization&&setCustomerOrderParam("_save_payment_source_to_customer_wallet","false"),authorization&&!loadBraintree&&!isEmpty(window)){const braintreeClient=require("braintree-web/client"),hostedFields=require("braintree-web/hosted-fields"),threeDSecure=require("braintree-web/three-d-secure");braintreeClient.create({authorization},(clientErr,clientInstance)=>{if(clientErr){console.error(clientErr);return}hostedFields.create({client:clientInstance,fields,styles},(hostedFieldsErr,hostedFieldsInstance)=>{if(hostedFieldsErr){console.error(hostedFieldsErr);return}setLoadBraintree(!0),threeDSecure.create({authorization,version:2},(threeDSecureErr,threeDSInstance)=>{threeDSecureErr&&(console.error("3DSecure error",threeDSecureErr),setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:threeDSecureErr.message}])),ref.current&&(ref.current.onsubmit=paymentSource2=>handleSubmitForm({event:ref.current,hostedFieldsInstance,threeDSInstance,paymentSource:paymentSource2}),setPaymentRef({ref}))})})})}return()=>{setPaymentRef({ref:{current:null}}),setLoadBraintree(!1)}},[authorization,ref]),!authorization&&!loadBraintree?null:_jsx("div",{className:containerClassName,children:_jsxs("form",{ref,id:"braintree-form",onSubmit:handleSubmitForm,className:containerClassName,children:[_jsxs("div",{className:fieldsContainerClassName,children:[_jsxs("div",{className:cardContainerClassName,children:[_jsx("label",{className:fieldLabelClassName,htmlFor:"card-number",children:fields?.number?.label}),_jsx("div",{className:inputWrapperClassName,id:"card-number"})]}),_jsxs("div",{className:cardDetailsContainerClassName,children:[_jsxs("div",{className:expDateContainerClassName,children:[_jsx("label",{className:fieldLabelClassName,htmlFor:"expiration-date",children:fields?.expirationDate?.label}),_jsx("div",{className:inputWrapperClassName,id:"expiration-date"})]}),_jsxs("div",{className:cvvContainerClassName,children:[_jsx("label",{className:fieldLabelClassName,htmlFor:"cvv",children:fields?.cvv?.label}),_jsx("div",{className:inputWrapperClassName,id:"cvv"})]})]})]}),_jsx("div",{className:fieldsContainerClassName,children:templateCustomerSaveToWallet&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet})})]})})}export default BraintreePayment;
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import isEmpty from"lodash/isEmpty";import OrderContext from"../../context/OrderContext";import Parent from"../utils/Parent";import{setCustomerOrderParam}from"../../utils/localStorage";import promisify from"../../utils/promisify";const defaultConfig={styles:{input:{"font-size":"16px",color:"#3A3A3A"},".number":{"font-family":"monospace"},":focus":{color:"blue"},".valid":{color:"green"},".invalid":{color:"red"},"@media screen and (max-width: 700px)":{input:{"font-size":"14px"}}},fields:{number:{label:"Card Number",selector:"#card-number",placeholder:"4111 1111 1111 1111"},cvv:{label:"CVV",selector:"#cvv",placeholder:"123"},expirationDate:{label:"Expiration Date",selector:"#expiration-date",placeholder:"10/2022"}},submitLabel:"Set payment method"};export function BraintreePayment({authorization,config,templateCustomerSaveToWallet}){const{fields,styles,containerClassName,cardContainerClassName,fieldsContainerClassName,expDateContainerClassName,fieldLabelClassName,cvvContainerClassName,inputWrapperClassName,cardDetailsContainerClassName}={...defaultConfig,...config},[loadBraintree,setLoadBraintree]=useState(!1),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),ref=useRef(null),handleSubmitForm=async({event,hostedFieldsInstance,threeDSInstance})=>{const savePaymentSourceToCustomerWallet=event?.elements?.save_payment_source_to_customer_wallet?.checked;if(savePaymentSourceToCustomerWallet&&setCustomerOrderParam("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),hostedFieldsInstance)try{const payload=await promisify(hostedFieldsInstance).then(payload2=>payload2),billingAddress=order?.billing_address,verifyCardOptions={nonce:payload.nonce,bin:payload.details.bin,amount:order?.total_amount_with_taxes_float,email:order?.customer_email,billingAddress:{givenName:billingAddress?.first_name,surname:billingAddress?.last_name,phoneNumber:billingAddress?.phone,streetAddress:billingAddress?.line_1,countryCodeAlpha2:billingAddress?.country_code,postalCode:billingAddress?.zip_code,region:billingAddress?.state_code,locality:billingAddress?.city},onLookupComplete:(_data,next)=>{next()}},response=await threeDSInstance.verifyCard(verifyCardOptions);return response.rawCardinalSDKVerificationData.Validated&&paymentSource?(paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"braintree_payments",attributes:{payment_method_nonce:response.nonce,options:{id:response.nonce,card:{last4:response.details.lastFour,exp_year:response.details.expirationYear,exp_month:response.details.expirationMonth,brand:response.details.cardType.toLowerCase()}}}}),!0):!1}catch(error){return console.error(error),setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1}return!1};return useEffect(()=>{if(!ref&&authorization&&setCustomerOrderParam("_save_payment_source_to_customer_wallet","false"),authorization&&!loadBraintree&&!isEmpty(window)){const braintreeClient=require("braintree-web/client"),hostedFields=require("braintree-web/hosted-fields"),threeDSecure=require("braintree-web/three-d-secure");braintreeClient.create({authorization},(clientErr,clientInstance)=>{if(clientErr){console.error(clientErr);return}hostedFields.create({client:clientInstance,fields,styles},(hostedFieldsErr,hostedFieldsInstance)=>{if(hostedFieldsErr){console.error(hostedFieldsErr);return}setLoadBraintree(!0),threeDSecure.create({authorization,version:2},(threeDSecureErr,threeDSInstance)=>{threeDSecureErr&&(console.error("3DSecure error",threeDSecureErr),setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:threeDSecureErr.message}])),ref.current&&(ref.current.onsubmit=async paymentSource2=>await handleSubmitForm({event:ref.current,hostedFieldsInstance,threeDSInstance,paymentSource:paymentSource2}),setPaymentRef({ref}))})})})}return()=>{setPaymentRef({ref:{current:null}}),setLoadBraintree(!1)}},[authorization,ref]),!authorization&&!loadBraintree?null:_jsx("div",{className:containerClassName,children:_jsxs("form",{ref,id:"braintree-form",onSubmit:handleSubmitForm,className:containerClassName,children:[_jsxs("div",{className:fieldsContainerClassName,children:[_jsxs("div",{className:cardContainerClassName,children:[_jsx("label",{className:fieldLabelClassName,htmlFor:"card-number",children:fields?.number?.label}),_jsx("div",{className:inputWrapperClassName,id:"card-number"})]}),_jsxs("div",{className:cardDetailsContainerClassName,children:[_jsxs("div",{className:expDateContainerClassName,children:[_jsx("label",{className:fieldLabelClassName,htmlFor:"expiration-date",children:fields?.expirationDate?.label}),_jsx("div",{className:inputWrapperClassName,id:"expiration-date"})]}),_jsxs("div",{className:cvvContainerClassName,children:[_jsx("label",{className:fieldLabelClassName,htmlFor:"cvv",children:fields?.cvv?.label}),_jsx("div",{className:inputWrapperClassName,id:"cvv"})]})]})]}),_jsx("div",{className:fieldsContainerClassName,children:templateCustomerSaveToWallet&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet})})]})})}export default BraintreePayment;
@@ -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
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import Parent from"../utils/Parent";import PaymentMethodContext from"../../context/PaymentMethodContext";import{useContext,useEffect,useRef}from"react";export function ExternalPayment(props){const{setPaymentRef}=useContext(PaymentMethodContext),ref=useRef(null);return useEffect(()=>{ref!==null&&(ref.current.onsubmit=async()=>!0,setPaymentRef({ref}))},[ref]),props?.customComponent!=null&&props.show?_jsxs("form",{ref,children:[_jsx(Parent,{children:props.customComponent}),props?.templateCustomerSaveToWallet!=null&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:props.templateCustomerSaveToWallet})]}):null}export 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;